godown 2.7.7 → 3.0.0-canary.1

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 (736) hide show
  1. package/README.md +44 -80
  2. package/alert.d.ts +2 -3
  3. package/alert.d.ts.map +1 -1
  4. package/alert.js +5 -4
  5. package/alert.js.map +1 -1
  6. package/avatar.d.ts +2 -3
  7. package/avatar.d.ts.map +1 -1
  8. package/avatar.js +5 -4
  9. package/avatar.js.map +1 -1
  10. package/breath.d.ts +9 -0
  11. package/breath.d.ts.map +1 -0
  12. package/breath.js +6 -0
  13. package/breath.js.map +1 -0
  14. package/button.d.ts +2 -3
  15. package/button.d.ts.map +1 -1
  16. package/button.js +5 -4
  17. package/button.js.map +1 -1
  18. package/card.d.ts +2 -3
  19. package/card.d.ts.map +1 -1
  20. package/card.js +5 -4
  21. package/card.js.map +1 -1
  22. package/carousel.d.ts +2 -3
  23. package/carousel.d.ts.map +1 -1
  24. package/carousel.js +5 -4
  25. package/carousel.js.map +1 -1
  26. package/components/alert.d.ts +50 -0
  27. package/components/alert.d.ts.map +1 -0
  28. package/components/alert.js +167 -0
  29. package/components/alert.js.map +1 -0
  30. package/components/avatar.d.ts +26 -0
  31. package/components/avatar.d.ts.map +1 -0
  32. package/components/avatar.js +62 -0
  33. package/components/avatar.js.map +1 -0
  34. package/components/breath.d.ts +34 -0
  35. package/components/breath.d.ts.map +1 -0
  36. package/components/breath.js +80 -0
  37. package/components/breath.js.map +1 -0
  38. package/{web-components/button → components}/button.d.ts +6 -5
  39. package/components/button.d.ts.map +1 -0
  40. package/components/button.js +167 -0
  41. package/components/button.js.map +1 -0
  42. package/components/card.d.ts +20 -0
  43. package/components/card.d.ts.map +1 -0
  44. package/components/card.js +55 -0
  45. package/components/card.js.map +1 -0
  46. package/components/carousel.d.ts +40 -0
  47. package/components/carousel.d.ts.map +1 -0
  48. package/components/carousel.js +113 -0
  49. package/components/carousel.js.map +1 -0
  50. package/{web-components/details → components}/details.d.ts +5 -3
  51. package/components/details.d.ts.map +1 -0
  52. package/components/details.js +50 -0
  53. package/components/details.js.map +1 -0
  54. package/components/dialog.d.ts +33 -0
  55. package/components/dialog.d.ts.map +1 -0
  56. package/components/dialog.js +92 -0
  57. package/components/dialog.js.map +1 -0
  58. package/components/divider.d.ts +17 -0
  59. package/components/divider.d.ts.map +1 -0
  60. package/components/divider.js +37 -0
  61. package/components/divider.js.map +1 -0
  62. package/{web-components/wrapper → components}/dragbox.d.ts +15 -5
  63. package/components/dragbox.d.ts.map +1 -0
  64. package/components/dragbox.js +110 -0
  65. package/components/dragbox.js.map +1 -0
  66. package/components/flex.d.ts +31 -0
  67. package/components/flex.d.ts.map +1 -0
  68. package/components/flex.js +55 -0
  69. package/components/flex.js.map +1 -0
  70. package/{web-components/form → components}/form.d.ts +4 -2
  71. package/components/form.d.ts.map +1 -0
  72. package/components/form.js +78 -0
  73. package/components/form.js.map +1 -0
  74. package/components/grid.d.ts +31 -0
  75. package/components/grid.d.ts.map +1 -0
  76. package/components/grid.js +56 -0
  77. package/components/grid.js.map +1 -0
  78. package/components/input.d.ts +20 -0
  79. package/components/input.d.ts.map +1 -0
  80. package/components/input.js +54 -0
  81. package/components/input.js.map +1 -0
  82. package/components/layout.d.ts +29 -0
  83. package/components/layout.d.ts.map +1 -0
  84. package/components/layout.js +48 -0
  85. package/components/layout.js.map +1 -0
  86. package/components/link.d.ts +20 -0
  87. package/components/link.d.ts.map +1 -0
  88. package/components/link.js +43 -0
  89. package/components/link.js.map +1 -0
  90. package/{web-components/progress → components}/progress.d.ts +5 -3
  91. package/components/progress.d.ts.map +1 -0
  92. package/components/progress.js +68 -0
  93. package/components/progress.js.map +1 -0
  94. package/components/range.d.ts +60 -0
  95. package/components/range.d.ts.map +1 -0
  96. package/components/range.js +193 -0
  97. package/components/range.js.map +1 -0
  98. package/{web-components/wrapper → components}/rotate.d.ts +4 -8
  99. package/components/rotate.d.ts.map +1 -0
  100. package/components/rotate.js +57 -0
  101. package/components/rotate.js.map +1 -0
  102. package/components/router.d.ts +121 -0
  103. package/components/router.d.ts.map +1 -0
  104. package/components/router.js +251 -0
  105. package/components/router.js.map +1 -0
  106. package/components/select.d.ts +50 -0
  107. package/components/select.d.ts.map +1 -0
  108. package/components/select.js +211 -0
  109. package/components/select.js.map +1 -0
  110. package/{web-components/skeleton → components}/skeleton.d.ts +6 -6
  111. package/components/skeleton.d.ts.map +1 -0
  112. package/components/skeleton.js +56 -0
  113. package/components/skeleton.js.map +1 -0
  114. package/components/split.d.ts +32 -0
  115. package/components/split.d.ts.map +1 -0
  116. package/components/split.js +121 -0
  117. package/components/split.js.map +1 -0
  118. package/{web-components/input/switch-input.d.ts → components/switch.d.ts} +9 -10
  119. package/components/switch.d.ts.map +1 -0
  120. package/components/switch.js +93 -0
  121. package/components/switch.js.map +1 -0
  122. package/{web-components/text → components}/text.d.ts +5 -3
  123. package/components/text.d.ts.map +1 -0
  124. package/components/text.js +44 -0
  125. package/components/text.js.map +1 -0
  126. package/{web-components/text → components}/time.d.ts +5 -3
  127. package/components/time.d.ts.map +1 -0
  128. package/components/time.js +139 -0
  129. package/components/time.js.map +1 -0
  130. package/components/tooltip.d.ts +38 -0
  131. package/components/tooltip.d.ts.map +1 -0
  132. package/components/tooltip.js +67 -0
  133. package/components/tooltip.js.map +1 -0
  134. package/{web-components/text → components}/typewriter.d.ts +5 -3
  135. package/components/typewriter.d.ts.map +1 -0
  136. package/components/typewriter.js +130 -0
  137. package/components/typewriter.js.map +1 -0
  138. package/core/global-style.d.ts +21 -0
  139. package/core/global-style.d.ts.map +1 -0
  140. package/core/global-style.js +46 -0
  141. package/core/global-style.js.map +1 -0
  142. package/core/super-anchor.d.ts +15 -0
  143. package/core/super-anchor.d.ts.map +1 -0
  144. package/core/super-anchor.js +39 -0
  145. package/core/super-anchor.js.map +1 -0
  146. package/core/super-input.d.ts +39 -0
  147. package/core/super-input.d.ts.map +1 -0
  148. package/core/super-input.js +115 -0
  149. package/core/super-input.js.map +1 -0
  150. package/{proto → core}/super-openable.d.ts +4 -8
  151. package/core/super-openable.d.ts.map +1 -0
  152. package/core/super-openable.js +38 -0
  153. package/core/super-openable.js.map +1 -0
  154. package/custom-elements.json +1 -0
  155. package/details.d.ts +2 -3
  156. package/details.d.ts.map +1 -1
  157. package/details.js +5 -4
  158. package/details.js.map +1 -1
  159. package/dev/alert.d.ts +8 -0
  160. package/dev/alert.d.ts.map +1 -0
  161. package/dev/alert.js +4 -0
  162. package/dev/alert.js.map +1 -0
  163. package/dev/avatar.d.ts +8 -0
  164. package/dev/avatar.d.ts.map +1 -0
  165. package/dev/avatar.js +4 -0
  166. package/dev/avatar.js.map +1 -0
  167. package/dev/breath.d.ts +9 -0
  168. package/dev/breath.d.ts.map +1 -0
  169. package/dev/breath.js +5 -0
  170. package/dev/breath.js.map +1 -0
  171. package/dev/button.d.ts +8 -0
  172. package/dev/button.d.ts.map +1 -0
  173. package/dev/button.js +4 -0
  174. package/dev/button.js.map +1 -0
  175. package/dev/card.d.ts +8 -0
  176. package/dev/card.d.ts.map +1 -0
  177. package/dev/card.js +4 -0
  178. package/dev/card.js.map +1 -0
  179. package/dev/carousel.d.ts +8 -0
  180. package/dev/carousel.d.ts.map +1 -0
  181. package/dev/carousel.js +4 -0
  182. package/dev/carousel.js.map +1 -0
  183. package/dev/components/alert.d.ts +50 -0
  184. package/dev/components/alert.d.ts.map +1 -0
  185. package/dev/components/alert.js +234 -0
  186. package/dev/components/alert.js.map +1 -0
  187. package/dev/components/avatar.d.ts +26 -0
  188. package/dev/components/avatar.d.ts.map +1 -0
  189. package/dev/components/avatar.js +91 -0
  190. package/dev/components/avatar.js.map +1 -0
  191. package/dev/components/breath.d.ts +34 -0
  192. package/dev/components/breath.d.ts.map +1 -0
  193. package/dev/components/breath.js +133 -0
  194. package/dev/components/breath.js.map +1 -0
  195. package/dev/components/button.d.ts +45 -0
  196. package/dev/components/button.d.ts.map +1 -0
  197. package/{web-components/button → dev/components}/button.js +76 -76
  198. package/dev/components/button.js.map +1 -0
  199. package/dev/components/card.d.ts +20 -0
  200. package/dev/components/card.d.ts.map +1 -0
  201. package/dev/components/card.js +89 -0
  202. package/dev/components/card.js.map +1 -0
  203. package/dev/components/carousel.d.ts +40 -0
  204. package/dev/components/carousel.d.ts.map +1 -0
  205. package/dev/components/carousel.js +155 -0
  206. package/dev/components/carousel.js.map +1 -0
  207. package/dev/components/details.d.ts +20 -0
  208. package/dev/components/details.d.ts.map +1 -0
  209. package/dev/components/details.js +115 -0
  210. package/dev/components/details.js.map +1 -0
  211. package/dev/components/dialog.d.ts +33 -0
  212. package/dev/components/dialog.d.ts.map +1 -0
  213. package/dev/components/dialog.js +154 -0
  214. package/dev/components/dialog.js.map +1 -0
  215. package/dev/components/divider.d.ts +17 -0
  216. package/dev/components/divider.d.ts.map +1 -0
  217. package/dev/components/divider.js +46 -0
  218. package/dev/components/divider.js.map +1 -0
  219. package/dev/components/dragbox.d.ts +40 -0
  220. package/dev/components/dragbox.d.ts.map +1 -0
  221. package/{web-components/wrapper → dev/components}/dragbox.js +27 -15
  222. package/dev/components/dragbox.js.map +1 -0
  223. package/dev/components/flex.d.ts +31 -0
  224. package/dev/components/flex.d.ts.map +1 -0
  225. package/dev/components/flex.js +52 -0
  226. package/dev/components/flex.js.map +1 -0
  227. package/dev/components/form.d.ts +24 -0
  228. package/dev/components/form.d.ts.map +1 -0
  229. package/{web-components/form → dev/components}/form.js +11 -11
  230. package/dev/components/form.js.map +1 -0
  231. package/dev/components/grid.d.ts +31 -0
  232. package/dev/components/grid.d.ts.map +1 -0
  233. package/dev/components/grid.js +53 -0
  234. package/dev/components/grid.js.map +1 -0
  235. package/dev/components/input.d.ts +20 -0
  236. package/dev/components/input.d.ts.map +1 -0
  237. package/dev/components/input.js +89 -0
  238. package/dev/components/input.js.map +1 -0
  239. package/dev/components/layout.d.ts +29 -0
  240. package/dev/components/layout.d.ts.map +1 -0
  241. package/dev/components/layout.js +69 -0
  242. package/dev/components/layout.js.map +1 -0
  243. package/dev/components/link.d.ts +20 -0
  244. package/dev/components/link.d.ts.map +1 -0
  245. package/dev/components/link.js +40 -0
  246. package/dev/components/link.js.map +1 -0
  247. package/dev/components/progress.d.ts +30 -0
  248. package/dev/components/progress.d.ts.map +1 -0
  249. package/{web-components/progress → dev/components}/progress.js +12 -11
  250. package/dev/components/progress.js.map +1 -0
  251. package/dev/components/range.d.ts +60 -0
  252. package/dev/components/range.d.ts.map +1 -0
  253. package/{web-components/input/range-input.js → dev/components/range.js} +82 -92
  254. package/dev/components/range.js.map +1 -0
  255. package/dev/components/rotate.d.ts +26 -0
  256. package/dev/components/rotate.d.ts.map +1 -0
  257. package/{web-components/wrapper → dev/components}/rotate.js +14 -20
  258. package/dev/components/rotate.js.map +1 -0
  259. package/dev/components/router.d.ts +121 -0
  260. package/dev/components/router.d.ts.map +1 -0
  261. package/dev/components/router.js +248 -0
  262. package/dev/components/router.js.map +1 -0
  263. package/dev/components/select.d.ts +50 -0
  264. package/dev/components/select.d.ts.map +1 -0
  265. package/dev/components/select.js +243 -0
  266. package/dev/components/select.js.map +1 -0
  267. package/dev/components/skeleton.d.ts +26 -0
  268. package/dev/components/skeleton.d.ts.map +1 -0
  269. package/dev/components/skeleton.js +119 -0
  270. package/dev/components/skeleton.js.map +1 -0
  271. package/dev/components/split.d.ts +32 -0
  272. package/dev/components/split.d.ts.map +1 -0
  273. package/dev/components/split.js +173 -0
  274. package/dev/components/split.js.map +1 -0
  275. package/dev/components/switch.d.ts +39 -0
  276. package/dev/components/switch.d.ts.map +1 -0
  277. package/{web-components/input/switch-input.js → dev/components/switch.js} +53 -59
  278. package/dev/components/switch.js.map +1 -0
  279. package/dev/components/text.d.ts +19 -0
  280. package/dev/components/text.d.ts.map +1 -0
  281. package/{web-components/text → dev/components}/text.js +22 -23
  282. package/dev/components/text.js.map +1 -0
  283. package/dev/components/time.d.ts +53 -0
  284. package/dev/components/time.d.ts.map +1 -0
  285. package/{web-components/text → dev/components}/time.js +12 -18
  286. package/dev/components/time.js.map +1 -0
  287. package/dev/components/tooltip.d.ts +38 -0
  288. package/dev/components/tooltip.d.ts.map +1 -0
  289. package/dev/components/tooltip.js +114 -0
  290. package/dev/components/tooltip.js.map +1 -0
  291. package/dev/components/typewriter.d.ts +55 -0
  292. package/dev/components/typewriter.d.ts.map +1 -0
  293. package/{web-components/text → dev/components}/typewriter.js +21 -19
  294. package/dev/components/typewriter.js.map +1 -0
  295. package/dev/core/global-style.d.ts +21 -0
  296. package/dev/core/global-style.d.ts.map +1 -0
  297. package/dev/core/global-style.js +77 -0
  298. package/dev/core/global-style.js.map +1 -0
  299. package/dev/core/super-anchor.d.ts +15 -0
  300. package/dev/core/super-anchor.d.ts.map +1 -0
  301. package/dev/core/super-anchor.js +58 -0
  302. package/dev/core/super-anchor.js.map +1 -0
  303. package/dev/core/super-input.d.ts +39 -0
  304. package/dev/core/super-input.d.ts.map +1 -0
  305. package/dev/core/super-input.js +181 -0
  306. package/dev/core/super-input.js.map +1 -0
  307. package/dev/core/super-openable.d.ts +19 -0
  308. package/dev/core/super-openable.d.ts.map +1 -0
  309. package/{proto → dev/core}/super-openable.js +6 -13
  310. package/dev/core/super-openable.js.map +1 -0
  311. package/dev/details.d.ts +8 -0
  312. package/dev/details.d.ts.map +1 -0
  313. package/dev/details.js +4 -0
  314. package/dev/details.js.map +1 -0
  315. package/dev/dialog.d.ts +8 -0
  316. package/dev/dialog.d.ts.map +1 -0
  317. package/dev/dialog.js +4 -0
  318. package/dev/dialog.js.map +1 -0
  319. package/dev/divider.d.ts +8 -0
  320. package/dev/divider.d.ts.map +1 -0
  321. package/dev/divider.js +4 -0
  322. package/dev/divider.js.map +1 -0
  323. package/dev/dragbox.d.ts +8 -0
  324. package/dev/dragbox.d.ts.map +1 -0
  325. package/dev/dragbox.js +4 -0
  326. package/dev/dragbox.js.map +1 -0
  327. package/dev/flex.d.ts +8 -0
  328. package/dev/flex.d.ts.map +1 -0
  329. package/dev/flex.js +4 -0
  330. package/dev/flex.js.map +1 -0
  331. package/dev/form.d.ts +8 -0
  332. package/dev/form.d.ts.map +1 -0
  333. package/dev/form.js +4 -0
  334. package/dev/form.js.map +1 -0
  335. package/dev/grid.d.ts +8 -0
  336. package/dev/grid.d.ts.map +1 -0
  337. package/dev/grid.js +4 -0
  338. package/dev/grid.js.map +1 -0
  339. package/dev/index.d.ts +29 -0
  340. package/dev/index.d.ts.map +1 -0
  341. package/dev/index.js +29 -0
  342. package/dev/index.js.map +1 -0
  343. package/dev/input.d.ts +9 -0
  344. package/dev/input.d.ts.map +1 -0
  345. package/dev/input.js +5 -0
  346. package/dev/input.js.map +1 -0
  347. package/dev/layout.d.ts +9 -0
  348. package/dev/layout.d.ts.map +1 -0
  349. package/dev/layout.js +5 -0
  350. package/dev/layout.js.map +1 -0
  351. package/dev/link.d.ts +9 -0
  352. package/dev/link.d.ts.map +1 -0
  353. package/dev/link.js +5 -0
  354. package/dev/link.js.map +1 -0
  355. package/dev/progress.d.ts +9 -0
  356. package/dev/progress.d.ts.map +1 -0
  357. package/dev/progress.js +5 -0
  358. package/dev/progress.js.map +1 -0
  359. package/dev/range.d.ts +9 -0
  360. package/dev/range.d.ts.map +1 -0
  361. package/dev/range.js +5 -0
  362. package/dev/range.js.map +1 -0
  363. package/dev/rotate.d.ts +9 -0
  364. package/dev/rotate.d.ts.map +1 -0
  365. package/dev/rotate.js +5 -0
  366. package/dev/rotate.js.map +1 -0
  367. package/dev/router.d.ts +9 -0
  368. package/dev/router.d.ts.map +1 -0
  369. package/dev/router.js +5 -0
  370. package/dev/router.js.map +1 -0
  371. package/dev/select.d.ts +9 -0
  372. package/dev/select.d.ts.map +1 -0
  373. package/dev/select.js +5 -0
  374. package/dev/select.js.map +1 -0
  375. package/dev/skeleton.d.ts +9 -0
  376. package/dev/skeleton.d.ts.map +1 -0
  377. package/dev/skeleton.js +5 -0
  378. package/dev/skeleton.js.map +1 -0
  379. package/dev/split.d.ts +9 -0
  380. package/dev/split.d.ts.map +1 -0
  381. package/dev/split.js +5 -0
  382. package/dev/split.js.map +1 -0
  383. package/dev/switch.d.ts +9 -0
  384. package/dev/switch.d.ts.map +1 -0
  385. package/dev/switch.js +5 -0
  386. package/dev/switch.js.map +1 -0
  387. package/dev/text.d.ts +9 -0
  388. package/dev/text.d.ts.map +1 -0
  389. package/dev/text.js +5 -0
  390. package/dev/text.js.map +1 -0
  391. package/dev/time.d.ts +9 -0
  392. package/dev/time.d.ts.map +1 -0
  393. package/dev/time.js +5 -0
  394. package/dev/time.js.map +1 -0
  395. package/dev/tooltip.d.ts +9 -0
  396. package/dev/tooltip.d.ts.map +1 -0
  397. package/dev/tooltip.js +5 -0
  398. package/dev/tooltip.js.map +1 -0
  399. package/dev/typewriter.d.ts +8 -0
  400. package/dev/typewriter.d.ts.map +1 -0
  401. package/dev/typewriter.js +4 -0
  402. package/dev/typewriter.js.map +1 -0
  403. package/dialog.d.ts +2 -3
  404. package/dialog.d.ts.map +1 -1
  405. package/dialog.js +5 -4
  406. package/dialog.js.map +1 -1
  407. package/divider.d.ts +2 -3
  408. package/divider.d.ts.map +1 -1
  409. package/divider.js +5 -4
  410. package/divider.js.map +1 -1
  411. package/dragbox.d.ts +2 -3
  412. package/dragbox.d.ts.map +1 -1
  413. package/dragbox.js +5 -4
  414. package/dragbox.js.map +1 -1
  415. package/flex.d.ts +8 -0
  416. package/flex.d.ts.map +1 -0
  417. package/flex.js +6 -0
  418. package/flex.js.map +1 -0
  419. package/form.d.ts +2 -3
  420. package/form.d.ts.map +1 -1
  421. package/form.js +5 -4
  422. package/form.js.map +1 -1
  423. package/grid.d.ts +8 -0
  424. package/grid.d.ts.map +1 -0
  425. package/grid.js +6 -0
  426. package/grid.js.map +1 -0
  427. package/index.d.ts +28 -32
  428. package/index.d.ts.map +1 -1
  429. package/index.js +57 -33
  430. package/index.js.map +1 -1
  431. package/input.d.ts +3 -3
  432. package/input.d.ts.map +1 -1
  433. package/input.js +5 -4
  434. package/input.js.map +1 -1
  435. package/layout.d.ts +3 -3
  436. package/layout.d.ts.map +1 -1
  437. package/layout.js +5 -4
  438. package/layout.js.map +1 -1
  439. package/link.d.ts +3 -3
  440. package/link.d.ts.map +1 -1
  441. package/link.js +5 -4
  442. package/link.js.map +1 -1
  443. package/package.json +42 -81
  444. package/progress.d.ts +3 -3
  445. package/progress.d.ts.map +1 -1
  446. package/progress.js +5 -4
  447. package/progress.js.map +1 -1
  448. package/range.d.ts +9 -0
  449. package/range.d.ts.map +1 -0
  450. package/range.js +6 -0
  451. package/range.js.map +1 -0
  452. package/rotate.d.ts +3 -3
  453. package/rotate.d.ts.map +1 -1
  454. package/rotate.js +5 -4
  455. package/rotate.js.map +1 -1
  456. package/router.d.ts +3 -3
  457. package/router.d.ts.map +1 -1
  458. package/router.js +5 -4
  459. package/router.js.map +1 -1
  460. package/select.d.ts +9 -0
  461. package/select.d.ts.map +1 -0
  462. package/select.js +6 -0
  463. package/select.js.map +1 -0
  464. package/skeleton.d.ts +3 -3
  465. package/skeleton.d.ts.map +1 -1
  466. package/skeleton.js +5 -4
  467. package/skeleton.js.map +1 -1
  468. package/split.d.ts +9 -0
  469. package/split.d.ts.map +1 -0
  470. package/split.js +6 -0
  471. package/split.js.map +1 -0
  472. package/switch.d.ts +9 -0
  473. package/switch.d.ts.map +1 -0
  474. package/switch.js +6 -0
  475. package/switch.js.map +1 -0
  476. package/text.d.ts +3 -3
  477. package/text.d.ts.map +1 -1
  478. package/text.js +5 -4
  479. package/text.js.map +1 -1
  480. package/time.d.ts +3 -3
  481. package/time.d.ts.map +1 -1
  482. package/time.js +5 -4
  483. package/time.js.map +1 -1
  484. package/tooltip.d.ts +3 -3
  485. package/tooltip.d.ts.map +1 -1
  486. package/tooltip.js +5 -4
  487. package/tooltip.js.map +1 -1
  488. package/typewriter.d.ts +2 -3
  489. package/typewriter.d.ts.map +1 -1
  490. package/typewriter.js +5 -4
  491. package/typewriter.js.map +1 -1
  492. package/vscode.css-custom-data.json +1 -0
  493. package/vscode.html-custom-data.json +1 -0
  494. package/web-types.json +1 -0
  495. package/_deps.d.ts +0 -4
  496. package/_deps.d.ts.map +0 -1
  497. package/_deps.js +0 -4
  498. package/_deps.js.map +0 -1
  499. package/avatar-group.d.ts +0 -9
  500. package/avatar-group.d.ts.map +0 -1
  501. package/avatar-group.js +0 -5
  502. package/avatar-group.js.map +0 -1
  503. package/components.json +0 -194
  504. package/conf.d.ts +0 -12
  505. package/conf.d.ts.map +0 -1
  506. package/conf.js +0 -24
  507. package/conf.js.map +0 -1
  508. package/decorators/godown.d.ts +0 -4
  509. package/decorators/godown.d.ts.map +0 -1
  510. package/decorators/godown.js +0 -9
  511. package/decorators/godown.js.map +0 -1
  512. package/decorators/part.d.ts +0 -7
  513. package/decorators/part.d.ts.map +0 -1
  514. package/decorators/part.js +0 -8
  515. package/decorators/part.js.map +0 -1
  516. package/decorators/styles.d.ts +0 -3
  517. package/decorators/styles.d.ts.map +0 -1
  518. package/decorators/styles.js +0 -8
  519. package/decorators/styles.js.map +0 -1
  520. package/flex-flow.d.ts +0 -9
  521. package/flex-flow.d.ts.map +0 -1
  522. package/flex-flow.js +0 -5
  523. package/flex-flow.js.map +0 -1
  524. package/grid-flow.d.ts +0 -9
  525. package/grid-flow.d.ts.map +0 -1
  526. package/grid-flow.js +0 -5
  527. package/grid-flow.js.map +0 -1
  528. package/label-input.d.ts +0 -9
  529. package/label-input.d.ts.map +0 -1
  530. package/label-input.js +0 -5
  531. package/label-input.js.map +0 -1
  532. package/lib/css.d.ts +0 -13
  533. package/lib/css.d.ts.map +0 -1
  534. package/lib/css.js +0 -29
  535. package/lib/css.js.map +0 -1
  536. package/lib/directives.d.ts +0 -25
  537. package/lib/directives.d.ts.map +0 -1
  538. package/lib/directives.js +0 -40
  539. package/lib/directives.js.map +0 -1
  540. package/lib/event-coll.d.ts +0 -13
  541. package/lib/event-coll.d.ts.map +0 -1
  542. package/lib/event-coll.js +0 -45
  543. package/lib/event-coll.js.map +0 -1
  544. package/lib/icons.d.ts +0 -25
  545. package/lib/icons.d.ts.map +0 -1
  546. package/lib/icons.js +0 -73
  547. package/lib/icons.js.map +0 -1
  548. package/lib/jsx.d.ts +0 -4
  549. package/lib/jsx.d.ts.map +0 -1
  550. package/lib/jsx.js +0 -52
  551. package/lib/jsx.js.map +0 -1
  552. package/lib/route-tree.d.ts +0 -28
  553. package/lib/route-tree.d.ts.map +0 -1
  554. package/lib/route-tree.js +0 -141
  555. package/lib/route-tree.js.map +0 -1
  556. package/lib/utils.d.ts +0 -10
  557. package/lib/utils.d.ts.map +0 -1
  558. package/lib/utils.js +0 -71
  559. package/lib/utils.js.map +0 -1
  560. package/overbreath.d.ts +0 -9
  561. package/overbreath.d.ts.map +0 -1
  562. package/overbreath.js +0 -5
  563. package/overbreath.js.map +0 -1
  564. package/proto/godown-config.d.ts +0 -41
  565. package/proto/godown-config.d.ts.map +0 -1
  566. package/proto/godown-config.js +0 -27
  567. package/proto/godown-config.js.map +0 -1
  568. package/proto/godown-element.d.ts +0 -125
  569. package/proto/godown-element.d.ts.map +0 -1
  570. package/proto/godown-element.js +0 -204
  571. package/proto/godown-element.js.map +0 -1
  572. package/proto/super-a.d.ts +0 -30
  573. package/proto/super-a.d.ts.map +0 -1
  574. package/proto/super-a.js +0 -141
  575. package/proto/super-a.js.map +0 -1
  576. package/proto/super-input.d.ts +0 -44
  577. package/proto/super-input.d.ts.map +0 -1
  578. package/proto/super-input.js +0 -119
  579. package/proto/super-input.js.map +0 -1
  580. package/proto/super-openable.d.ts.map +0 -1
  581. package/proto/super-openable.js.map +0 -1
  582. package/range-input.d.ts +0 -9
  583. package/range-input.d.ts.map +0 -1
  584. package/range-input.js +0 -5
  585. package/range-input.js.map +0 -1
  586. package/react/create.d.ts +0 -5
  587. package/react/create.d.ts.map +0 -1
  588. package/react/create.js +0 -16
  589. package/react/create.js.map +0 -1
  590. package/react/index.d.ts +0 -65
  591. package/react/index.d.ts.map +0 -1
  592. package/react/index.js +0 -132
  593. package/react/index.js.map +0 -1
  594. package/router-link.d.ts +0 -9
  595. package/router-link.d.ts.map +0 -1
  596. package/router-link.js +0 -5
  597. package/router-link.js.map +0 -1
  598. package/search-input.d.ts +0 -9
  599. package/search-input.d.ts.map +0 -1
  600. package/search-input.js +0 -5
  601. package/search-input.js.map +0 -1
  602. package/select-input.d.ts +0 -9
  603. package/select-input.d.ts.map +0 -1
  604. package/select-input.js +0 -5
  605. package/select-input.js.map +0 -1
  606. package/split-input.d.ts +0 -9
  607. package/split-input.d.ts.map +0 -1
  608. package/split-input.js +0 -5
  609. package/split-input.js.map +0 -1
  610. package/styles/colors/presets.d.ts +0 -13
  611. package/styles/colors/presets.d.ts.map +0 -1
  612. package/styles/colors/presets.js +0 -6
  613. package/styles/colors/presets.js.map +0 -1
  614. package/styles/colors/presetsRGB.d.ts +0 -16
  615. package/styles/colors/presetsRGB.d.ts.map +0 -1
  616. package/styles/colors/presetsRGB.js +0 -134
  617. package/styles/colors/presetsRGB.js.map +0 -1
  618. package/styles/global.d.ts +0 -18
  619. package/styles/global.d.ts.map +0 -1
  620. package/styles/global.js +0 -78
  621. package/styles/global.js.map +0 -1
  622. package/styles/inputStyle.d.ts +0 -3
  623. package/styles/inputStyle.d.ts.map +0 -1
  624. package/styles/inputStyle.js +0 -59
  625. package/styles/inputStyle.js.map +0 -1
  626. package/switch-input.d.ts +0 -9
  627. package/switch-input.d.ts.map +0 -1
  628. package/switch-input.js +0 -5
  629. package/switch-input.js.map +0 -1
  630. package/web-components/alert/alert.d.ts +0 -36
  631. package/web-components/alert/alert.d.ts.map +0 -1
  632. package/web-components/alert/alert.js +0 -161
  633. package/web-components/alert/alert.js.map +0 -1
  634. package/web-components/avatar/avatar-group.d.ts +0 -21
  635. package/web-components/avatar/avatar-group.d.ts.map +0 -1
  636. package/web-components/avatar/avatar-group.js +0 -86
  637. package/web-components/avatar/avatar-group.js.map +0 -1
  638. package/web-components/avatar/avatar.d.ts +0 -28
  639. package/web-components/avatar/avatar.d.ts.map +0 -1
  640. package/web-components/avatar/avatar.js +0 -120
  641. package/web-components/avatar/avatar.js.map +0 -1
  642. package/web-components/button/button.d.ts.map +0 -1
  643. package/web-components/button/button.js.map +0 -1
  644. package/web-components/card/card.d.ts +0 -9
  645. package/web-components/card/card.d.ts.map +0 -1
  646. package/web-components/card/card.js +0 -75
  647. package/web-components/card/card.js.map +0 -1
  648. package/web-components/carousel/carousel.d.ts +0 -29
  649. package/web-components/carousel/carousel.d.ts.map +0 -1
  650. package/web-components/carousel/carousel.js +0 -185
  651. package/web-components/carousel/carousel.js.map +0 -1
  652. package/web-components/details/details.d.ts.map +0 -1
  653. package/web-components/details/details.js +0 -124
  654. package/web-components/details/details.js.map +0 -1
  655. package/web-components/dialog/dialog.d.ts +0 -31
  656. package/web-components/dialog/dialog.d.ts.map +0 -1
  657. package/web-components/dialog/dialog.js +0 -143
  658. package/web-components/dialog/dialog.js.map +0 -1
  659. package/web-components/divider/divider.d.ts +0 -13
  660. package/web-components/divider/divider.d.ts.map +0 -1
  661. package/web-components/divider/divider.js +0 -95
  662. package/web-components/divider/divider.js.map +0 -1
  663. package/web-components/form/form.d.ts.map +0 -1
  664. package/web-components/form/form.js.map +0 -1
  665. package/web-components/input/input.d.ts +0 -37
  666. package/web-components/input/input.d.ts.map +0 -1
  667. package/web-components/input/input.js +0 -152
  668. package/web-components/input/input.js.map +0 -1
  669. package/web-components/input/label-input.d.ts +0 -15
  670. package/web-components/input/label-input.d.ts.map +0 -1
  671. package/web-components/input/label-input.js +0 -96
  672. package/web-components/input/label-input.js.map +0 -1
  673. package/web-components/input/range-input.d.ts +0 -53
  674. package/web-components/input/range-input.d.ts.map +0 -1
  675. package/web-components/input/range-input.js.map +0 -1
  676. package/web-components/input/search-input.d.ts +0 -42
  677. package/web-components/input/search-input.d.ts.map +0 -1
  678. package/web-components/input/search-input.js +0 -214
  679. package/web-components/input/search-input.js.map +0 -1
  680. package/web-components/input/select-input.d.ts +0 -36
  681. package/web-components/input/select-input.d.ts.map +0 -1
  682. package/web-components/input/select-input.js +0 -210
  683. package/web-components/input/select-input.js.map +0 -1
  684. package/web-components/input/split-input.d.ts +0 -29
  685. package/web-components/input/split-input.d.ts.map +0 -1
  686. package/web-components/input/split-input.js +0 -184
  687. package/web-components/input/split-input.js.map +0 -1
  688. package/web-components/input/switch-input.d.ts.map +0 -1
  689. package/web-components/input/switch-input.js.map +0 -1
  690. package/web-components/layout/flex-flow.d.ts +0 -17
  691. package/web-components/layout/flex-flow.d.ts.map +0 -1
  692. package/web-components/layout/flex-flow.js +0 -73
  693. package/web-components/layout/flex-flow.js.map +0 -1
  694. package/web-components/layout/grid-flow.d.ts +0 -14
  695. package/web-components/layout/grid-flow.d.ts.map +0 -1
  696. package/web-components/layout/grid-flow.js +0 -56
  697. package/web-components/layout/grid-flow.js.map +0 -1
  698. package/web-components/layout/layout.d.ts +0 -18
  699. package/web-components/layout/layout.d.ts.map +0 -1
  700. package/web-components/layout/layout.js +0 -76
  701. package/web-components/layout/layout.js.map +0 -1
  702. package/web-components/link/link.d.ts +0 -10
  703. package/web-components/link/link.d.ts.map +0 -1
  704. package/web-components/link/link.js +0 -17
  705. package/web-components/link/link.js.map +0 -1
  706. package/web-components/link/router-link.d.ts +0 -19
  707. package/web-components/link/router-link.d.ts.map +0 -1
  708. package/web-components/link/router-link.js +0 -60
  709. package/web-components/link/router-link.js.map +0 -1
  710. package/web-components/progress/progress.d.ts.map +0 -1
  711. package/web-components/progress/progress.js.map +0 -1
  712. package/web-components/router/router.d.ts +0 -86
  713. package/web-components/router/router.d.ts.map +0 -1
  714. package/web-components/router/router.js +0 -246
  715. package/web-components/router/router.js.map +0 -1
  716. package/web-components/skeleton/skeleton.d.ts.map +0 -1
  717. package/web-components/skeleton/skeleton.js +0 -130
  718. package/web-components/skeleton/skeleton.js.map +0 -1
  719. package/web-components/text/overbreath.d.ts +0 -22
  720. package/web-components/text/overbreath.d.ts.map +0 -1
  721. package/web-components/text/overbreath.js +0 -132
  722. package/web-components/text/overbreath.js.map +0 -1
  723. package/web-components/text/text.d.ts.map +0 -1
  724. package/web-components/text/text.js.map +0 -1
  725. package/web-components/text/time.d.ts.map +0 -1
  726. package/web-components/text/time.js.map +0 -1
  727. package/web-components/text/typewriter.d.ts.map +0 -1
  728. package/web-components/text/typewriter.js.map +0 -1
  729. package/web-components/tooltip/tooltip.d.ts +0 -30
  730. package/web-components/tooltip/tooltip.d.ts.map +0 -1
  731. package/web-components/tooltip/tooltip.js +0 -123
  732. package/web-components/tooltip/tooltip.js.map +0 -1
  733. package/web-components/wrapper/dragbox.d.ts.map +0 -1
  734. package/web-components/wrapper/dragbox.js.map +0 -1
  735. package/web-components/wrapper/rotate.d.ts.map +0 -1
  736. package/web-components/wrapper/rotate.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ import { __decorate } from 'tslib';
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 { classList } from '@godown/element/directives/class-list.js';
6
+ import { conditionIf } from '@godown/element/directives/condition-if.js';
7
+ import { htmlSlot } from '@godown/element/directives/html-slot.js';
8
+ import { joinProperties } from '@godown/element/tools/css.js';
9
+ import { isNil } from '@godown/element/tools/lib.js';
10
+ import { css, html } from 'lit';
11
+ import { property, state } from 'lit/decorators.js';
12
+ import { scopePrefix, cssGlobalVars } from '../core/global-style.js';
13
+ import SuperInput from '../core/super-input.js';
14
+
15
+ const protoName = "range";
16
+ const cssScope = scopePrefix(protoName);
17
+ /**
18
+ * {@linkcode Range} is similar to <input type="range">.
19
+ *
20
+ * Value accepts a number, or an array of two numbers.
21
+ *
22
+ * Number have one handle, array have two.
23
+ *
24
+ * @category input
25
+ */
26
+ let Range = class Range extends SuperInput {
27
+ constructor() {
28
+ super(...arguments);
29
+ /**
30
+ * Minimum value.
31
+ */
32
+ this.min = 0;
33
+ /**
34
+ * Maximum value.
35
+ */
36
+ this.max = 100;
37
+ /**
38
+ * Sliding step length.
39
+ */
40
+ this.step = 1;
41
+ }
42
+ /**
43
+ * Returns true when the second number is greater than the first number
44
+ */
45
+ get reverse() {
46
+ return this.range ? this.value[0] > this.value[1] : false;
47
+ }
48
+ /**
49
+ * Enable range sliding.
50
+ */
51
+ get range() {
52
+ return Array.isArray(this.value);
53
+ }
54
+ get rangeValue() {
55
+ return (this.range ? this.value : [0, this.value]);
56
+ }
57
+ render() {
58
+ const [from, to] = this.rangeValue;
59
+ const gap = this.max - this.min;
60
+ return html `<div part="root" class="${classList({
61
+ vertical: this.vertical,
62
+ range: this.range,
63
+ reverse: this.reverse,
64
+ })}" @mousedown="${this.disabled ? null : this._handleMousedownRoot}" style="${joinProperties({ "--start": `${((from - this.min) / gap) * 100}%`, "--end": `${((to - this.min) / gap) * 100}%` })}"><div part="track"></div>${conditionIf(this.range, html `<i part="handle" class="${classList({ "last-focus": this.lastFocus === 1 }, "start")}" @mousedown="${this.disabled ? null : this._handleMousedownStart}">${htmlSlot("start")}</i>`)} <i part="handle" class="${classList({ "last-focus": this.lastFocus === 2 }, "end")}" @mousedown="${this.disabled ? null : this._handleMousedownEnd}">${htmlSlot("end")}</i></div>`;
65
+ }
66
+ _handleMousedownStart(e) {
67
+ this.lastFocus = 1;
68
+ this.createMousedownListener(this.setStart)(e);
69
+ }
70
+ _handleMousedownEnd(e) {
71
+ this.lastFocus = 2;
72
+ this.createMousedownListener(this.setEnd)(e);
73
+ }
74
+ setStart(value) {
75
+ const i = this.value[1];
76
+ this.value = this.range ? [value, i] : value;
77
+ }
78
+ setEnd(value) {
79
+ const i = this.value[0];
80
+ this.value = this.range ? [i, value] : value;
81
+ }
82
+ _computeValue(e) {
83
+ const rect = this._root.getBoundingClientRect();
84
+ const div = this.vertical ? (e.clientY - rect.top) / rect.height : (e.clientX - rect.left) / rect.width;
85
+ let value = Math.round((div * (this.max - this.min)) / this.step) * this.step;
86
+ if (value > this.max) {
87
+ value -= this.step;
88
+ }
89
+ else if (value < this.min) {
90
+ value += this.step;
91
+ }
92
+ return value;
93
+ }
94
+ _handleMousedownRoot(e) {
95
+ const value = this._computeValue(e);
96
+ if (!this.range || Math.abs(value - this.value[0]) > Math.abs(value - this.value[1])) {
97
+ this.setEnd(value);
98
+ this._handleMousedownEnd(e);
99
+ }
100
+ else {
101
+ this.setStart(value);
102
+ this._handleMousedownStart(e);
103
+ }
104
+ }
105
+ createMousedownListener(mouseMoveCallback) {
106
+ return (e) => {
107
+ e.preventDefault();
108
+ e.stopPropagation();
109
+ const move = this.createMousemoveListener(mouseMoveCallback);
110
+ document.addEventListener("mousemove", move);
111
+ const stop = () => {
112
+ document.removeEventListener("mousemove", move);
113
+ document.removeEventListener("mouseup", stop);
114
+ };
115
+ document.addEventListener("mouseup", stop);
116
+ };
117
+ }
118
+ createMousemoveListener(callback) {
119
+ return (e) => {
120
+ const value = this._computeValue(e);
121
+ if (value > this.max || value < this.min) {
122
+ return;
123
+ }
124
+ callback?.call(this, value);
125
+ };
126
+ }
127
+ _connectedInit() {
128
+ const gap = this.max - this.min;
129
+ this.step ||= gap / 100;
130
+ if (!isNil(this.default) && isNil(this.value)) {
131
+ this.value = this.default;
132
+ }
133
+ else if (isNil(this.default) && !isNil(this.value)) {
134
+ this.default = this.value;
135
+ }
136
+ else {
137
+ const mid = Math.round(gap / 2 / this.step) * this.step;
138
+ this.default = this.range ? [0, mid] : mid;
139
+ this.value = this.default;
140
+ }
141
+ }
142
+ reset() {
143
+ this.value = this.default;
144
+ }
145
+ swap() {
146
+ if (this.range) {
147
+ const [a, b] = this.value;
148
+ this.value = [b, a];
149
+ }
150
+ }
151
+ sort() {
152
+ this.value = this.toSorted();
153
+ }
154
+ toSorted() {
155
+ if (this.range) {
156
+ const [a, b] = this.value;
157
+ return a > b ? [b, a] : [a, b];
158
+ }
159
+ return this.value;
160
+ }
161
+ };
162
+ __decorate([
163
+ property({ type: Number })
164
+ ], Range.prototype, "min", void 0);
165
+ __decorate([
166
+ property({ type: Number })
167
+ ], Range.prototype, "max", void 0);
168
+ __decorate([
169
+ property({ type: Number })
170
+ ], Range.prototype, "step", void 0);
171
+ __decorate([
172
+ property({ type: Boolean, reflect: true })
173
+ ], Range.prototype, "vertical", void 0);
174
+ __decorate([
175
+ property({ type: Array })
176
+ ], Range.prototype, "value", void 0);
177
+ __decorate([
178
+ property({ type: Array })
179
+ ], Range.prototype, "default", void 0);
180
+ __decorate([
181
+ part("root")
182
+ ], Range.prototype, "_root", void 0);
183
+ __decorate([
184
+ state()
185
+ ], Range.prototype, "lastFocus", void 0);
186
+ Range = __decorate([
187
+ godown(protoName),
188
+ styles(css `:host{${cssScope}-handle-active:var(${cssGlobalVars._colors.blue[7]});${cssScope}-track-width:.5em;background:var(${cssGlobalVars.input}-background);width:var(${cssGlobalVars.input}-width);display:inline-block;margin:.25em 0}:host([vertical]){height:var(${cssGlobalVars.input}-width);width:-moz-fit-content;width:fit-content}:host(:not([disabled])) i:active{${cssScope}-handle-scale:1.05;background:var(${cssScope}-handle-active)}.last-focus{z-index:1}[part=root]{min-height:inherit;position:relative;border-radius:inherit;width:100%;--start:0%;--end:50%;height:var(${cssScope}-track-width)}[part=track]{height:100%;min-height:inherit;display:flex;position:absolute;pointer-events:none;border-radius:inherit;justify-content:space-between;left:min(var(--start),var(--end));background:var(${cssGlobalVars.active});width:max(calc(var(--end) - var(--start)),calc(var(--start) - var(--end)))}[part=handle]{width:1em;height:1em;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;position:absolute;border:.1em solid;border-radius:50%;transform-origin:0 25%;transform:scale(var(${cssScope}-handle-scale,1)) translate(-50%,-25%);background:var(${cssGlobalVars.active});border-color:var(${cssGlobalVars.input}-control)}`, css `.vertical{height:100%;width:var(${cssScope}-track-width)}.vertical i{transform:translate(-25%,-50%)}.vertical [part=track]{width:100%;height:max(calc(var(--end) - var(--start)),calc(var(--start) - var(--end)));top:min(var(--start),var(--end));left:0}`, css `.start{left:var(--start);top:0}.end{left:var(--end);top:0}.vertical .start{top:var(--start);left:0}.vertical .end{top:var(--end);left:0}`)
189
+ ], Range);
190
+ var Range$1 = Range;
191
+
192
+ export { Range$1 as default };
193
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.js","sources":["../src/components/range.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
- import { GodownElement } from "../../proto/godown-element.js";
1
+ import { GlobalStyle } from "../core/global-style.js";
2
2
  /**
3
3
  * {@linkcode Rotate} Make child elements rotate.
4
+ *
5
+ * @category wrapper
4
6
  */
5
- export declare class Rotate extends GodownElement {
7
+ declare class Rotate extends GlobalStyle {
6
8
  _root: HTMLElement;
7
9
  protected render(): import("lit").TemplateResult<1>;
8
- /**
9
- * Cancel the offset.
10
- */
11
10
  reset(): void;
12
- /**
13
- * Apply offset.
14
- */
15
11
  protected _handleRotate(e: MouseEvent): void;
16
12
  /**
17
13
  * Compute offset.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.d.ts","sourceRoot":"","sources":["../src/components/rotate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAKnE;;;;GAIG;AACH,cAIM,MAAO,SAAQ,WAAW;IAE9B,KAAK,EAAE,WAAW,CAAC;IAEnB,SAAS,CAAC,MAAM;IAIhB,KAAK;IAKL,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU;IAMrC;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,EAAE,UAAU;;;;CAU7B;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { __decorate } from 'tslib';
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';
6
+ import { css, html } from 'lit';
7
+ import { scopePrefix, GlobalStyle } from '../core/global-style.js';
8
+
9
+ const protoName = "rotate";
10
+ const cssScope = scopePrefix(protoName);
11
+ /**
12
+ * {@linkcode Rotate} Make child elements rotate.
13
+ *
14
+ * @category wrapper
15
+ */
16
+ let Rotate = class Rotate extends GlobalStyle {
17
+ render() {
18
+ return html `<div part="root"><div part="slot" @mousemove="${this._handleRotate}">${htmlSlot()}</div><i @mouseleave="${this.reset}"></i></div>`;
19
+ }
20
+ reset() {
21
+ this._root.style.removeProperty("transform");
22
+ this._root.style.removeProperty("transition");
23
+ }
24
+ _handleRotate(e) {
25
+ const { rotateX, rotateY } = this._computeOffset(e);
26
+ this._root.style.setProperty("transform", `rotateX(${rotateX}rad) rotateY(${rotateY}rad)`);
27
+ this._root.style.setProperty("transition", "0s");
28
+ }
29
+ /**
30
+ * Compute offset.
31
+ * ```
32
+ * `rotateX(${rotateX}rad) rotateY(${rotateY}rad)`
33
+ * ```
34
+ * @param e Mouse move event.
35
+ * @returns rotateX, rotateY
36
+ */
37
+ _computeOffset(e) {
38
+ const { left, top, width, height } = this._root.getBoundingClientRect();
39
+ const { clientX, clientY } = e;
40
+ const offsetX = clientX - left;
41
+ const offsetY = clientY - top;
42
+ const rotateX = -(offsetY - height / 2) / height / 2;
43
+ const rotateY = (offsetX - width / 2) / width / 2;
44
+ return { rotateX, rotateY };
45
+ }
46
+ };
47
+ __decorate([
48
+ part("root")
49
+ ], Rotate.prototype, "_root", void 0);
50
+ Rotate = __decorate([
51
+ godown(protoName),
52
+ styles(css `:host{display:block;width:-moz-fit-content;width:fit-content;transition:all .5s ease-in-out;${cssScope}--padding:.75em;${cssScope}--offset:.5em}div{position:relative;transition:inherit;transition-property:transform}i{width:100%;height:100%;position:absolute;top:0;box-sizing:content-box;padding:var(${cssScope}--offset);margin:calc(-1 * var(${cssScope}--offset))}[part=slot]{z-index:2}`)
53
+ ], Rotate);
54
+ var Rotate$1 = Rotate;
55
+
56
+ export { Rotate$1 as default };
57
+ //# sourceMappingURL=rotate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.js","sources":["../src/components/rotate.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;AAQA,MAAM,SAAS,GAAG,QAAQ,CAAC;AAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAExC;;;;AAIG;AAKH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,WAAW,CAAA;IAIpB,MAAM,GAAA;AACd,QAAA,OAAO,IAAI,CAAA,CACsB,8CAAA,EAAA,IAAI,CAAC,aAAa,CAAA,EAAA,EAAK,QAAQ,EAAE,CAC9C,sBAAA,EAAA,IAAI,CAAC,KAAK,cACvB,CAAC;KACT;IAED,KAAK,GAAA;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;KAC/C;AAES,IAAA,aAAa,CAAC,CAAa,EAAA;AACnC,QAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,OAAO,CAAA,aAAA,EAAgB,OAAO,CAAA,IAAA,CAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;KAClD;AAED;;;;;;;AAOG;AACH,IAAA,cAAc,CAAC,CAAa,EAAA;AAC1B,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;AACxE,QAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC/B,QAAA,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAC/B,QAAA,MAAM,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC;AAE9B,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AACrD,QAAA,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAClD,QAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC7B;CACF,CAAA;AAtCC,UAAA,CAAA;IADC,IAAI,CAAC,MAAM,CAAC;AACM,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAFf,MAAM,GAAA,UAAA,CAAA;IAJX,MAAM,CAAC,SAAS,CAAC;AACjB,IAAA,MAAM,CACL,GAAG,CAAA,CAAA,4FAAA,EAAgG,QAAQ,CAAA,gBAAA,EAAmB,QAAQ,CAAA,yKAAA,EAA4K,QAAQ,CAAA,+BAAA,EAAkC,QAAQ,CAAA,iCAAA,CAAqC,CAC1Y;AACK,CAAA,EAAA,MAAM,CAwCX,CAAA;AAED,eAAe,MAAM;;;;"}
@@ -0,0 +1,121 @@
1
+ import { type PropertyValueMap, type TemplateResult } from "lit";
2
+ import { GlobalStyle } from "../core/global-style.js";
3
+ /**
4
+ * {@linkcode Router} has basic routing control.
5
+ *
6
+ * To switch routes, use `router-link component`.
7
+ *
8
+ * It has two methods to collect routes.
9
+ *
10
+ * 1. From field `routes`, an array, each elements require "path" and "component".
11
+ * 2. From child elements, which have the slot attribute for matching routes.
12
+ *
13
+ * If only the method 1 is used, set `type` to `"field"`.
14
+ *
15
+ * If only the method 2 is used, set `type` to `"slotted"`.
16
+ *
17
+ * `type` defaults to `"united"`, which will try method 1, then method 2.
18
+ *
19
+ * If no routes are matched, the default value (no named slot) will be rendered.
20
+ *
21
+ * @category navigation
22
+ */
23
+ declare class Router<C = unknown> extends GlobalStyle {
24
+ static routerInstances: Set<Router<unknown>>;
25
+ private __fieldRouteTree;
26
+ private __slottedRouteTree;
27
+ private __cacheRecord;
28
+ private __routes;
29
+ /**
30
+ * Render result.
31
+ */
32
+ component: C | TemplateResult;
33
+ /**
34
+ * Dynamic parameters record.
35
+ */
36
+ params: Record<string, string>;
37
+ /**
38
+ * Value of matched path in routes.
39
+ */
40
+ path: string;
41
+ /**
42
+ * Current pathname (equals to location.pathname).
43
+ */
44
+ pathname: string;
45
+ /**
46
+ * Path prefix.
47
+ */
48
+ baseURL: string;
49
+ /**
50
+ * Rendered content when there is no match.
51
+ */
52
+ default: TemplateResult;
53
+ /**
54
+ * The type of routing sources.
55
+ *
56
+ * If field, it won't collect the slot attribute of the child elements.
57
+ *
58
+ * This property should not be changed after the rendering is complete.
59
+ */
60
+ type: "united" | "slotted" | "field";
61
+ /**
62
+ * Cache accessed records.
63
+ *
64
+ * Emptied at each re-collection.
65
+ */
66
+ cache: boolean;
67
+ set routes(value: (Record<string, any> & {
68
+ path: string;
69
+ component?: C;
70
+ })[]);
71
+ get routes(): (Record<string, any> & {
72
+ path: string;
73
+ component?: C;
74
+ })[];
75
+ clear(): void;
76
+ protected render(): C | TemplateResult;
77
+ connectedCallback(): void;
78
+ disconnectedCallback(): void;
79
+ useRouter(): {
80
+ pathname: string;
81
+ params: Record<string, string>;
82
+ path: string;
83
+ component: C | TemplateResult;
84
+ };
85
+ /**
86
+ * @param params value of useRouter()
87
+ * @param first whether this path is loaded for the first time.
88
+ */
89
+ routeChangeCallback: (params: {
90
+ pathname: string;
91
+ params: Record<string, string>;
92
+ path: string;
93
+ component: C | TemplateResult;
94
+ }, first: boolean) => void;
95
+ protected updated(changedProperties: PropertyValueMap<this>): void;
96
+ /**
97
+ * Find components from {@linkcode __fieldRouteTree} matching query.
98
+ * @param query Query string.
99
+ * @returns Components or null.
100
+ */
101
+ fieldComponent(query?: string): C;
102
+ /**
103
+ * Find components from {@linkcode __slottedRouteTree} matching query.
104
+ * @param query Query string.
105
+ * @returns Named slot element template result or null.
106
+ */
107
+ slottedComponent(usedRouteTemplate?: string): TemplateResult<1>;
108
+ /**
109
+ * Reset the route tree, clear cache, collect routes from child elements.
110
+ */
111
+ collectSlottedRoutes(): void;
112
+ /**
113
+ * Reset the route tree, clear cache, collect routes from value.
114
+ */
115
+ collectFieldRoutes(value: typeof this.routes): void;
116
+ useWhich(path: string): string;
117
+ parseParams(routeTemplate: string, path: string): Record<string, string>;
118
+ static updateAll(): void;
119
+ }
120
+ export default Router;
121
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/components/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAEM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC3C,MAAM,CAAC,eAAe,uBAAqB;IAE3C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,QAAQ,CAMZ;IAEJ;;OAEG;IAEH,SAAS,EAAE,CAAC,GAAG,cAAc,CAAQ;IACrC;;OAEG;IAEH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpC;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IAEH,QAAQ,SAAM;IACd;;OAEG;IAEH,OAAO,SAAM;IACb;;OAEG;IAEH,OAAO,EAAE,cAAc,CAAc;IACrC;;;;;;OAMG;IAEH,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAY;IAChD;;;;OAIG;IAEH,KAAK,UAAS;IAEd,IACI,MAAM,CAAC,KAAK;;;QAAA,EAGf;IACD,IAAI,MAAM;;;SAET;IAED,KAAK;IAIL,SAAS,CAAC,MAAM;IAsBhB,iBAAiB;IAgBjB,oBAAoB;IAKpB,SAAS;;;;;;IAST;;;OAGG;IACH,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,CAAC,GAAG,cAAc,CAAC;KAC/B,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAQ;IAElC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAa3D;;;;OAIG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM;IAgB7B;;;;OAIG;IACH,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM;IAiB3C;;OAEG;IACH,oBAAoB;IAQpB;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,MAAM;IAQ5C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI/C,MAAM,CAAC,SAAS;CAKjB;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,251 @@
1
+ import { __decorate } from 'tslib';
2
+ import { godown } from '@godown/element/decorators/godown.js';
3
+ import { styles } from '@godown/element/decorators/styles.js';
4
+ import { htmlSlot } from '@godown/element/directives/html-slot.js';
5
+ import { RouteTree } from '@godown/element/tools/route-tree.js';
6
+ import { css } from 'lit';
7
+ import { state, property } from 'lit/decorators.js';
8
+ import { GlobalStyle } from '../core/global-style.js';
9
+
10
+ var Router_1;
11
+ const protoName = "router";
12
+ /**
13
+ * {@linkcode Router} has basic routing control.
14
+ *
15
+ * To switch routes, use `router-link component`.
16
+ *
17
+ * It has two methods to collect routes.
18
+ *
19
+ * 1. From field `routes`, an array, each elements require "path" and "component".
20
+ * 2. From child elements, which have the slot attribute for matching routes.
21
+ *
22
+ * If only the method 1 is used, set `type` to `"field"`.
23
+ *
24
+ * If only the method 2 is used, set `type` to `"slotted"`.
25
+ *
26
+ * `type` defaults to `"united"`, which will try method 1, then method 2.
27
+ *
28
+ * If no routes are matched, the default value (no named slot) will be rendered.
29
+ *
30
+ * @category navigation
31
+ */
32
+ let Router = Router_1 = class Router extends GlobalStyle {
33
+ constructor() {
34
+ super(...arguments);
35
+ this.__fieldRouteTree = new RouteTree();
36
+ this.__slottedRouteTree = new RouteTree();
37
+ this.__cacheRecord = new Map();
38
+ /**
39
+ * Render result.
40
+ */
41
+ this.component = null;
42
+ /**
43
+ * Dynamic parameters record.
44
+ */
45
+ this.params = {};
46
+ /**
47
+ * Current pathname (equals to location.pathname).
48
+ */
49
+ this.pathname = "";
50
+ /**
51
+ * Path prefix.
52
+ */
53
+ this.baseURL = "";
54
+ /**
55
+ * Rendered content when there is no match.
56
+ */
57
+ this.default = htmlSlot();
58
+ /**
59
+ * The type of routing sources.
60
+ *
61
+ * If field, it won't collect the slot attribute of the child elements.
62
+ *
63
+ * This property should not be changed after the rendering is complete.
64
+ */
65
+ this.type = "united";
66
+ /**
67
+ * Cache accessed records.
68
+ *
69
+ * Emptied at each re-collection.
70
+ */
71
+ this.cache = false;
72
+ /**
73
+ * @param params value of useRouter()
74
+ * @param first whether this path is loaded for the first time.
75
+ */
76
+ this.routeChangeCallback = null;
77
+ }
78
+ set routes(value) {
79
+ this.__routes = value;
80
+ this.collectFieldRoutes(value);
81
+ }
82
+ get routes() {
83
+ return this.__routes;
84
+ }
85
+ clear() {
86
+ this.__cacheRecord.clear();
87
+ }
88
+ render() {
89
+ this.params = {};
90
+ if (this.cache) {
91
+ const cached = this.__cacheRecord.get(this.pathname);
92
+ if (cached) {
93
+ Object.assign(this, cached);
94
+ return this.component;
95
+ }
96
+ }
97
+ switch (this.type) {
98
+ case "field":
99
+ this.component = this.fieldComponent();
100
+ break;
101
+ case "slotted":
102
+ this.component = this.slottedComponent();
103
+ break;
104
+ default:
105
+ this.component = this.fieldComponent() ?? this.slottedComponent();
106
+ }
107
+ return this.component ?? this.default ?? null;
108
+ }
109
+ connectedCallback() {
110
+ super.connectedCallback();
111
+ Router_1.routerInstances.add(this);
112
+ this.pathname = window.location.pathname;
113
+ if (this.type !== "field") {
114
+ const mutationObserver = new MutationObserver(this.collectSlottedRoutes);
115
+ mutationObserver.observe(this, {
116
+ attributeFilter: ["slot"],
117
+ attributes: true,
118
+ subtree: true,
119
+ });
120
+ this.collectSlottedRoutes();
121
+ }
122
+ }
123
+ disconnectedCallback() {
124
+ super.disconnectedCallback();
125
+ Router_1.routerInstances.delete(this);
126
+ }
127
+ useRouter() {
128
+ return {
129
+ pathname: this.pathname,
130
+ params: this.params,
131
+ path: this.path,
132
+ component: this.component,
133
+ };
134
+ }
135
+ updated(changedProperties) {
136
+ const shouldDispatch = changedProperties.has("pathname") || changedProperties.has("path");
137
+ if (shouldDispatch) {
138
+ const ur = this.useRouter();
139
+ const noRecord = !this.__cacheRecord.has(this.pathname);
140
+ if (noRecord) {
141
+ this.__cacheRecord.set(this.pathname, ur);
142
+ }
143
+ this.routeChangeCallback?.(ur, noRecord);
144
+ this.dispatchEvent(new CustomEvent("change", { detail: ur }));
145
+ }
146
+ }
147
+ /**
148
+ * Find components from {@linkcode __fieldRouteTree} matching query.
149
+ * @param query Query string.
150
+ * @returns Components or null.
151
+ */
152
+ fieldComponent(query) {
153
+ query ||= this.useWhich(this.pathname);
154
+ this.path = query;
155
+ if (!query) {
156
+ return null;
157
+ }
158
+ this.params = this.parseParams(this.path, this.pathname);
159
+ const route = this.routes.find((r) => r.path === query);
160
+ if (!route) {
161
+ return null;
162
+ }
163
+ return route.component;
164
+ }
165
+ /**
166
+ * Find components from {@linkcode __slottedRouteTree} matching query.
167
+ * @param query Query string.
168
+ * @returns Named slot element template result or null.
169
+ */
170
+ slottedComponent(usedRouteTemplate) {
171
+ const slottedPaths = this._slottedNames;
172
+ usedRouteTemplate ||= this.__slottedRouteTree.useWhich(this.pathname);
173
+ this.path = usedRouteTemplate;
174
+ if (!usedRouteTemplate) {
175
+ return null;
176
+ }
177
+ this.path = slottedPaths.find((s) => s === usedRouteTemplate);
178
+ if (!this.path) {
179
+ return null;
180
+ }
181
+ this.params = this.parseParams(usedRouteTemplate, this.pathname);
182
+ return htmlSlot(this.path);
183
+ }
184
+ /**
185
+ * Reset the route tree, clear cache, collect routes from child elements.
186
+ */
187
+ collectSlottedRoutes() {
188
+ this.__slottedRouteTree = new RouteTree();
189
+ this.clear();
190
+ this._slottedNames.forEach(slotName => {
191
+ this.__slottedRouteTree.insert(slotName);
192
+ });
193
+ }
194
+ /**
195
+ * Reset the route tree, clear cache, collect routes from value.
196
+ */
197
+ collectFieldRoutes(value) {
198
+ this.__fieldRouteTree = new RouteTree();
199
+ this.clear();
200
+ value.forEach(({ path }) => {
201
+ this.__fieldRouteTree.insert(path);
202
+ });
203
+ }
204
+ useWhich(path) {
205
+ return this.__fieldRouteTree.useWhich(this.baseURL + path);
206
+ }
207
+ parseParams(routeTemplate, path) {
208
+ return this.__fieldRouteTree.parseParams(path, routeTemplate);
209
+ }
210
+ static updateAll() {
211
+ this.routerInstances.forEach((i) => {
212
+ i.pathname = window.location.pathname;
213
+ });
214
+ }
215
+ };
216
+ Router.routerInstances = new Set();
217
+ __decorate([
218
+ state()
219
+ ], Router.prototype, "component", void 0);
220
+ __decorate([
221
+ state()
222
+ ], Router.prototype, "params", void 0);
223
+ __decorate([
224
+ state()
225
+ ], Router.prototype, "path", void 0);
226
+ __decorate([
227
+ property()
228
+ ], Router.prototype, "pathname", void 0);
229
+ __decorate([
230
+ property()
231
+ ], Router.prototype, "baseURL", void 0);
232
+ __decorate([
233
+ state()
234
+ ], Router.prototype, "default", void 0);
235
+ __decorate([
236
+ property()
237
+ ], Router.prototype, "type", void 0);
238
+ __decorate([
239
+ property({ type: Boolean })
240
+ ], Router.prototype, "cache", void 0);
241
+ __decorate([
242
+ state()
243
+ ], Router.prototype, "routes", null);
244
+ Router = Router_1 = __decorate([
245
+ godown(protoName),
246
+ styles(css `:host{display:contents}`)
247
+ ], Router);
248
+ var Router$1 = Router;
249
+
250
+ export { Router$1 as default };
251
+ //# sourceMappingURL=router.js.map