godown 2.5.1 → 2.6.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 (497) hide show
  1. package/README.md +1 -1
  2. package/alert-item.d.ts +2 -0
  3. package/alert-item.d.ts.map +1 -0
  4. package/alert-item.js +2 -0
  5. package/alert-item.js.map +1 -0
  6. package/avatar-a.d.ts +2 -0
  7. package/avatar-a.d.ts.map +1 -0
  8. package/avatar-a.js +2 -0
  9. package/avatar-a.js.map +1 -0
  10. package/avatar-group.d.ts +2 -0
  11. package/avatar-group.d.ts.map +1 -0
  12. package/avatar-group.js +2 -0
  13. package/avatar-group.js.map +1 -0
  14. package/base-button.d.ts +2 -0
  15. package/base-button.d.ts.map +1 -0
  16. package/base-button.js +2 -0
  17. package/base-button.js.map +1 -0
  18. package/base-form.d.ts +2 -0
  19. package/base-form.d.ts.map +1 -0
  20. package/base-form.js +2 -0
  21. package/base-form.js.map +1 -0
  22. package/base-input.d.ts +2 -0
  23. package/base-input.d.ts.map +1 -0
  24. package/base-input.js +2 -0
  25. package/base-input.js.map +1 -0
  26. package/card-item.d.ts +2 -0
  27. package/card-item.d.ts.map +1 -0
  28. package/card-item.js +2 -0
  29. package/card-item.js.map +1 -0
  30. package/carousel-slider.d.ts +2 -0
  31. package/carousel-slider.d.ts.map +1 -0
  32. package/carousel-slider.js +2 -0
  33. package/carousel-slider.js.map +1 -0
  34. package/clip-text.d.ts +2 -0
  35. package/clip-text.d.ts.map +1 -0
  36. package/clip-text.js +2 -0
  37. package/clip-text.js.map +1 -0
  38. package/conf.d.ts.map +1 -1
  39. package/conf.js.map +1 -1
  40. package/deps.d.ts +4 -3
  41. package/deps.d.ts.map +1 -1
  42. package/deps.js +4 -3
  43. package/deps.js.map +1 -1
  44. package/details-group.d.ts +2 -0
  45. package/details-group.d.ts.map +1 -0
  46. package/details-group.js +2 -0
  47. package/details-group.js.map +1 -0
  48. package/divider-line.d.ts +2 -0
  49. package/divider-line.d.ts.map +1 -0
  50. package/divider-line.js +2 -0
  51. package/divider-line.js.map +1 -0
  52. package/drag-box.d.ts +2 -0
  53. package/drag-box.d.ts.map +1 -0
  54. package/drag-box.js +2 -0
  55. package/drag-box.js.map +1 -0
  56. package/flex-flow.d.ts +2 -0
  57. package/flex-flow.d.ts.map +1 -0
  58. package/flex-flow.js +2 -0
  59. package/flex-flow.js.map +1 -0
  60. package/godown-element.d.ts +2 -2
  61. package/godown-element.d.ts.map +1 -1
  62. package/godown-element.js +1 -1
  63. package/godown-element.js.map +1 -1
  64. package/index.d.ts +2 -6
  65. package/index.d.ts.map +1 -1
  66. package/index.js +2 -6
  67. package/index.js.map +1 -1
  68. package/label-input.d.ts +2 -0
  69. package/label-input.d.ts.map +1 -0
  70. package/label-input.js +2 -0
  71. package/label-input.js.map +1 -0
  72. package/lib/directives.d.ts.map +1 -1
  73. package/lib/directives.js.map +1 -1
  74. package/lib/event-collection.d.ts +1 -1
  75. package/lib/event-collection.d.ts.map +1 -1
  76. package/lib/event-collection.js.map +1 -1
  77. package/lib/route-tree.d.ts.map +1 -1
  78. package/lib/route-tree.js.map +1 -1
  79. package/lib/templates.d.ts.map +1 -1
  80. package/lib/templates.js.map +1 -1
  81. package/lib/utils.d.ts.map +1 -1
  82. package/lib/utils.js.map +1 -1
  83. package/link-a.d.ts +2 -0
  84. package/link-a.d.ts.map +1 -0
  85. package/link-a.js +2 -0
  86. package/link-a.js.map +1 -0
  87. package/loading-progress.d.ts +2 -0
  88. package/loading-progress.d.ts.map +1 -0
  89. package/loading-progress.js +2 -0
  90. package/loading-progress.js.map +1 -0
  91. package/nav-aside.d.ts +2 -0
  92. package/nav-aside.d.ts.map +1 -0
  93. package/nav-aside.js +2 -0
  94. package/nav-aside.js.map +1 -0
  95. package/nav-layout.d.ts +2 -0
  96. package/nav-layout.d.ts.map +1 -0
  97. package/nav-layout.js +2 -0
  98. package/nav-layout.js.map +1 -0
  99. package/open-details.d.ts +2 -0
  100. package/open-details.d.ts.map +1 -0
  101. package/open-details.js +2 -0
  102. package/open-details.js.map +1 -0
  103. package/open-dialog.d.ts +2 -0
  104. package/open-dialog.d.ts.map +1 -0
  105. package/open-dialog.js +2 -0
  106. package/open-dialog.js.map +1 -0
  107. package/open-list.d.ts +2 -0
  108. package/open-list.d.ts.map +1 -0
  109. package/open-list.js +2 -0
  110. package/open-list.js.map +1 -0
  111. package/open-offset.d.ts +2 -0
  112. package/open-offset.d.ts.map +1 -0
  113. package/open-offset.js +2 -0
  114. package/open-offset.js.map +1 -0
  115. package/open-tooltip.d.ts +2 -0
  116. package/open-tooltip.d.ts.map +1 -0
  117. package/open-tooltip.js +2 -0
  118. package/open-tooltip.js.map +1 -0
  119. package/overbreath-text.d.ts +2 -0
  120. package/overbreath-text.d.ts.map +1 -0
  121. package/overbreath-text.js +2 -0
  122. package/overbreath-text.js.map +1 -0
  123. package/package.json +57 -10
  124. package/react/create.d.ts.map +1 -1
  125. package/react/create.js.map +1 -1
  126. package/react/index.d.ts +37 -7
  127. package/react/index.d.ts.map +1 -1
  128. package/react/index.js +114 -7
  129. package/react/index.js.map +1 -1
  130. package/root.d.ts.map +1 -1
  131. package/root.js +3 -2
  132. package/root.js.map +1 -1
  133. package/route-view.d.ts +2 -0
  134. package/route-view.d.ts.map +1 -0
  135. package/route-view.js +2 -0
  136. package/route-view.js.map +1 -0
  137. package/scroll-x.d.ts +2 -0
  138. package/scroll-x.d.ts.map +1 -0
  139. package/scroll-x.js +2 -0
  140. package/scroll-x.js.map +1 -0
  141. package/search-input.d.ts +2 -0
  142. package/search-input.d.ts.map +1 -0
  143. package/search-input.js +2 -0
  144. package/search-input.js.map +1 -0
  145. package/select-input.d.ts +2 -0
  146. package/select-input.d.ts.map +1 -0
  147. package/select-input.js +2 -0
  148. package/select-input.js.map +1 -0
  149. package/sign-form.d.ts +2 -0
  150. package/sign-form.d.ts.map +1 -0
  151. package/sign-form.js +2 -0
  152. package/sign-form.js.map +1 -0
  153. package/skeleton-screen.d.ts +2 -0
  154. package/skeleton-screen.d.ts.map +1 -0
  155. package/skeleton-screen.js +2 -0
  156. package/skeleton-screen.js.map +1 -0
  157. package/split-input.d.ts +2 -0
  158. package/split-input.d.ts.map +1 -0
  159. package/split-input.js +2 -0
  160. package/split-input.js.map +1 -0
  161. package/super-a.d.ts +2 -0
  162. package/super-a.d.ts.map +1 -0
  163. package/super-a.js +2 -0
  164. package/super-a.js.map +1 -0
  165. package/switch-input.d.ts +2 -0
  166. package/switch-input.d.ts.map +1 -0
  167. package/switch-input.js +2 -0
  168. package/switch-input.js.map +1 -0
  169. package/tab-group.d.ts +2 -0
  170. package/tab-group.d.ts.map +1 -0
  171. package/tab-group.js +2 -0
  172. package/tab-group.js.map +1 -0
  173. package/time-bar.d.ts +2 -0
  174. package/time-bar.d.ts.map +1 -0
  175. package/time-bar.js +2 -0
  176. package/time-bar.js.map +1 -0
  177. package/typewriter-text.d.ts +2 -0
  178. package/typewriter-text.d.ts.map +1 -0
  179. package/typewriter-text.js +2 -0
  180. package/typewriter-text.js.map +1 -0
  181. package/{items → web-components/a}/avatar-a.d.ts +7 -7
  182. package/web-components/a/avatar-a.d.ts.map +1 -0
  183. package/{items → web-components/a}/avatar-a.js +57 -62
  184. package/web-components/a/avatar-a.js.map +1 -0
  185. package/{items → web-components/a}/link-a.d.ts +6 -6
  186. package/web-components/a/link-a.d.ts.map +1 -0
  187. package/{items → web-components/a}/link-a.js +16 -21
  188. package/web-components/a/link-a.js.map +1 -0
  189. package/{items → web-components/a}/super-a.d.ts +5 -5
  190. package/web-components/a/super-a.d.ts.map +1 -0
  191. package/{items → web-components/a}/super-a.js +34 -40
  192. package/web-components/a/super-a.js.map +1 -0
  193. package/{items → web-components/button}/base-button.d.ts +3 -3
  194. package/web-components/button/base-button.d.ts.map +1 -0
  195. package/{items → web-components/button}/base-button.js +99 -105
  196. package/web-components/button/base-button.js.map +1 -0
  197. package/{view/rotation-pool.d.ts → web-components/carousel/carousel-slider.d.ts} +7 -7
  198. package/web-components/carousel/carousel-slider.d.ts.map +1 -0
  199. package/{view/rotation-pool.js → web-components/carousel/carousel-slider.js} +87 -92
  200. package/web-components/carousel/carousel-slider.js.map +1 -0
  201. package/{input-form/sign-form.d.ts → web-components/form/base-form.d.ts} +9 -18
  202. package/web-components/form/base-form.d.ts.map +1 -0
  203. package/{input-form/sign-form.js → web-components/form/base-form.js} +32 -40
  204. package/web-components/form/base-form.js.map +1 -0
  205. package/web-components/form/sign-form.d.ts +19 -0
  206. package/web-components/form/sign-form.d.ts.map +1 -0
  207. package/web-components/form/sign-form.js +16 -0
  208. package/web-components/form/sign-form.js.map +1 -0
  209. package/{group → web-components/group}/avatar-group.d.ts +6 -6
  210. package/web-components/group/avatar-group.d.ts.map +1 -0
  211. package/{group → web-components/group}/avatar-group.js +24 -30
  212. package/web-components/group/avatar-group.js.map +1 -0
  213. package/{group → web-components/group}/details-group.d.ts +3 -3
  214. package/web-components/group/details-group.d.ts.map +1 -0
  215. package/{group → web-components/group}/details-group.js +12 -18
  216. package/web-components/group/details-group.js.map +1 -0
  217. package/{group → web-components/group}/tab-group.d.ts +4 -4
  218. package/web-components/group/tab-group.d.ts.map +1 -0
  219. package/{group → web-components/group}/tab-group.js +50 -56
  220. package/web-components/group/tab-group.js.map +1 -0
  221. package/web-components/index.d.ts +38 -0
  222. package/web-components/index.d.ts.map +1 -0
  223. package/web-components/index.js +39 -0
  224. package/web-components/index.js.map +1 -0
  225. package/{input-form → web-components/input}/base-input.d.ts +4 -4
  226. package/web-components/input/base-input.d.ts.map +1 -0
  227. package/{input-form → web-components/input}/base-input.js +79 -84
  228. package/web-components/input/base-input.js.map +1 -0
  229. package/{input-form/std.d.ts → web-components/input/input.d.ts} +4 -16
  230. package/web-components/input/input.d.ts.map +1 -0
  231. package/{input-form/std.js → web-components/input/input.js} +27 -54
  232. package/web-components/input/input.js.map +1 -0
  233. package/{input-form → web-components/input}/label-input.d.ts +4 -4
  234. package/web-components/input/label-input.d.ts.map +1 -0
  235. package/{input-form → web-components/input}/label-input.js +55 -60
  236. package/web-components/input/label-input.js.map +1 -0
  237. package/{input-form → web-components/input}/search-input.d.ts +4 -4
  238. package/web-components/input/search-input.d.ts.map +1 -0
  239. package/{input-form → web-components/input}/search-input.js +59 -64
  240. package/web-components/input/search-input.js.map +1 -0
  241. package/{input-form → web-components/input}/select-input.d.ts +4 -4
  242. package/web-components/input/select-input.d.ts.map +1 -0
  243. package/{input-form → web-components/input}/select-input.js +95 -100
  244. package/web-components/input/select-input.js.map +1 -0
  245. package/{input-form → web-components/input}/split-input.d.ts +4 -4
  246. package/web-components/input/split-input.d.ts.map +1 -0
  247. package/{input-form → web-components/input}/split-input.js +56 -61
  248. package/web-components/input/split-input.js.map +1 -0
  249. package/{input-form → web-components/input}/switch-input.d.ts +4 -4
  250. package/web-components/input/switch-input.d.ts.map +1 -0
  251. package/{input-form → web-components/input}/switch-input.js +42 -47
  252. package/web-components/input/switch-input.js.map +1 -0
  253. package/{items → web-components/items}/alert-item.d.ts +3 -3
  254. package/web-components/items/alert-item.d.ts.map +1 -0
  255. package/{items → web-components/items}/alert-item.js +38 -43
  256. package/web-components/items/alert-item.js.map +1 -0
  257. package/{items → web-components/items}/card-item.d.ts +4 -4
  258. package/web-components/items/card-item.d.ts.map +1 -0
  259. package/{items → web-components/items}/card-item.js +57 -63
  260. package/web-components/items/card-item.js.map +1 -0
  261. package/{layout → web-components/items}/drag-box.d.ts +3 -3
  262. package/web-components/items/drag-box.d.ts.map +1 -0
  263. package/{layout → web-components/items}/drag-box.js +13 -19
  264. package/web-components/items/drag-box.js.map +1 -0
  265. package/web-components/items/index.d.ts +5 -0
  266. package/web-components/items/index.d.ts.map +1 -0
  267. package/web-components/items/index.js +6 -0
  268. package/web-components/items/index.js.map +1 -0
  269. package/{items → web-components/items}/time-bar.d.ts +3 -3
  270. package/web-components/items/time-bar.d.ts.map +1 -0
  271. package/{items → web-components/items}/time-bar.js +12 -17
  272. package/web-components/items/time-bar.js.map +1 -0
  273. package/web-components/layout/divider-line.d.ts +20 -0
  274. package/web-components/layout/divider-line.d.ts.map +1 -0
  275. package/{layout/div-line.js → web-components/layout/divider-line.js} +24 -30
  276. package/web-components/layout/divider-line.js.map +1 -0
  277. package/{layout → web-components/layout}/flex-flow.d.ts +3 -3
  278. package/web-components/layout/flex-flow.d.ts.map +1 -0
  279. package/{layout → web-components/layout}/flex-flow.js +12 -18
  280. package/web-components/layout/flex-flow.js.map +1 -0
  281. package/web-components/layout/index.d.ts +5 -0
  282. package/web-components/layout/index.d.ts.map +1 -0
  283. package/web-components/layout/index.js +6 -0
  284. package/web-components/layout/index.js.map +1 -0
  285. package/{layout → web-components/layout}/nav-aside.d.ts +4 -4
  286. package/web-components/layout/nav-aside.d.ts.map +1 -0
  287. package/{layout → web-components/layout}/nav-aside.js +19 -25
  288. package/web-components/layout/nav-aside.js.map +1 -0
  289. package/{layout → web-components/layout}/nav-layout.d.ts +4 -4
  290. package/web-components/layout/nav-layout.d.ts.map +1 -0
  291. package/{layout → web-components/layout}/nav-layout.js +31 -37
  292. package/web-components/layout/nav-layout.js.map +1 -0
  293. package/{items/load-progress.d.ts → web-components/loading/loading-progress.d.ts} +7 -7
  294. package/web-components/loading/loading-progress.d.ts.map +1 -0
  295. package/{items/load-progress.js → web-components/loading/loading-progress.js} +41 -47
  296. package/web-components/loading/loading-progress.js.map +1 -0
  297. package/{layout → web-components/loading}/skeleton-screen.d.ts +4 -4
  298. package/web-components/loading/skeleton-screen.d.ts.map +1 -0
  299. package/{layout → web-components/loading}/skeleton-screen.js +24 -30
  300. package/web-components/loading/skeleton-screen.js.map +1 -0
  301. package/{view/details-expand.d.ts → web-components/open/open-details.d.ts} +8 -8
  302. package/web-components/open/open-details.d.ts.map +1 -0
  303. package/{view/details-expand.js → web-components/open/open-details.js} +35 -40
  304. package/web-components/open/open-details.js.map +1 -0
  305. package/{items/dialog-item.d.ts → web-components/open/open-dialog.d.ts} +8 -8
  306. package/web-components/open/open-dialog.d.ts.map +1 -0
  307. package/{items/dialog-item.js → web-components/open/open-dialog.js} +83 -89
  308. package/web-components/open/open-dialog.js.map +1 -0
  309. package/web-components/open/open-list.d.ts +20 -0
  310. package/web-components/open/open-list.d.ts.map +1 -0
  311. package/web-components/open/open-list.js +71 -0
  312. package/web-components/open/open-list.js.map +1 -0
  313. package/{view/offset-expand.d.ts → web-components/open/open-offset.d.ts} +8 -8
  314. package/web-components/open/open-offset.d.ts.map +1 -0
  315. package/{view/offset-expand.js → web-components/open/open-offset.js} +66 -71
  316. package/web-components/open/open-offset.js.map +1 -0
  317. package/web-components/open/open-tooltip.d.ts +24 -0
  318. package/web-components/open/open-tooltip.d.ts.map +1 -0
  319. package/{view/tool-tip.js → web-components/open/open-tooltip.js} +28 -33
  320. package/web-components/open/open-tooltip.js.map +1 -0
  321. package/{view/std.d.ts → web-components/open/open.d.ts} +6 -6
  322. package/web-components/open/open.d.ts.map +1 -0
  323. package/{view/std.js → web-components/open/open.js} +35 -40
  324. package/web-components/open/open.js.map +1 -0
  325. package/{effect → web-components/text}/clip-text.d.ts +4 -4
  326. package/web-components/text/clip-text.d.ts.map +1 -0
  327. package/web-components/text/clip-text.js +44 -0
  328. package/web-components/text/clip-text.js.map +1 -0
  329. package/{effect → web-components/text}/overbreath-text.d.ts +4 -4
  330. package/web-components/text/overbreath-text.d.ts.map +1 -0
  331. package/{effect → web-components/text}/overbreath-text.js +21 -27
  332. package/web-components/text/overbreath-text.js.map +1 -0
  333. package/{effect → web-components/text}/typewriter-text.d.ts +4 -4
  334. package/web-components/text/typewriter-text.d.ts.map +1 -0
  335. package/{effect → web-components/text}/typewriter-text.js +38 -44
  336. package/web-components/text/typewriter-text.js.map +1 -0
  337. package/{view → web-components/view}/route-view.d.ts +4 -4
  338. package/web-components/view/route-view.d.ts.map +1 -0
  339. package/{view → web-components/view}/route-view.js +15 -20
  340. package/web-components/view/route-view.js.map +1 -0
  341. package/{view → web-components/view}/scroll-x.d.ts +2 -2
  342. package/web-components/view/scroll-x.d.ts.map +1 -0
  343. package/{view → web-components/view}/scroll-x.js +35 -40
  344. package/web-components/view/scroll-x.js.map +1 -0
  345. package/{view/with-wrap.d.ts → web-components/view/wrap-view.d.ts} +7 -7
  346. package/web-components/view/wrap-view.d.ts.map +1 -0
  347. package/{view/with-wrap.js → web-components/view/wrap-view.js} +29 -34
  348. package/web-components/view/wrap-view.js.map +1 -0
  349. package/wrap-view.d.ts +2 -0
  350. package/wrap-view.d.ts.map +1 -0
  351. package/wrap-view.js +2 -0
  352. package/wrap-view.js.map +1 -0
  353. package/effect/clip-text.d.ts.map +0 -1
  354. package/effect/clip-text.js +0 -50
  355. package/effect/clip-text.js.map +0 -1
  356. package/effect/index.d.ts +0 -4
  357. package/effect/index.d.ts.map +0 -1
  358. package/effect/index.js +0 -4
  359. package/effect/index.js.map +0 -1
  360. package/effect/overbreath-text.d.ts.map +0 -1
  361. package/effect/overbreath-text.js.map +0 -1
  362. package/effect/std.d.ts +0 -4
  363. package/effect/std.d.ts.map +0 -1
  364. package/effect/std.js +0 -4
  365. package/effect/std.js.map +0 -1
  366. package/effect/typewriter-text.d.ts.map +0 -1
  367. package/effect/typewriter-text.js.map +0 -1
  368. package/group/avatar-group.d.ts.map +0 -1
  369. package/group/avatar-group.js.map +0 -1
  370. package/group/details-group.d.ts.map +0 -1
  371. package/group/details-group.js.map +0 -1
  372. package/group/index.d.ts +0 -4
  373. package/group/index.d.ts.map +0 -1
  374. package/group/index.js +0 -4
  375. package/group/index.js.map +0 -1
  376. package/group/std.d.ts +0 -4
  377. package/group/std.d.ts.map +0 -1
  378. package/group/std.js +0 -4
  379. package/group/std.js.map +0 -1
  380. package/group/tab-group.d.ts.map +0 -1
  381. package/group/tab-group.js.map +0 -1
  382. package/input-form/base-input.d.ts.map +0 -1
  383. package/input-form/base-input.js.map +0 -1
  384. package/input-form/index.d.ts +0 -8
  385. package/input-form/index.d.ts.map +0 -1
  386. package/input-form/index.js +0 -8
  387. package/input-form/index.js.map +0 -1
  388. package/input-form/label-input.d.ts.map +0 -1
  389. package/input-form/label-input.js.map +0 -1
  390. package/input-form/search-input.d.ts.map +0 -1
  391. package/input-form/search-input.js.map +0 -1
  392. package/input-form/select-input.d.ts.map +0 -1
  393. package/input-form/select-input.js.map +0 -1
  394. package/input-form/sign-form.d.ts.map +0 -1
  395. package/input-form/sign-form.js.map +0 -1
  396. package/input-form/split-input.d.ts.map +0 -1
  397. package/input-form/split-input.js.map +0 -1
  398. package/input-form/std.d.ts.map +0 -1
  399. package/input-form/std.js.map +0 -1
  400. package/input-form/switch-input.d.ts.map +0 -1
  401. package/input-form/switch-input.js.map +0 -1
  402. package/items/alert-item.d.ts.map +0 -1
  403. package/items/alert-item.js.map +0 -1
  404. package/items/avatar-a.d.ts.map +0 -1
  405. package/items/avatar-a.js.map +0 -1
  406. package/items/base-button.d.ts.map +0 -1
  407. package/items/base-button.js.map +0 -1
  408. package/items/card-item.d.ts.map +0 -1
  409. package/items/card-item.js.map +0 -1
  410. package/items/dialog-item.d.ts.map +0 -1
  411. package/items/dialog-item.js.map +0 -1
  412. package/items/index.d.ts +0 -10
  413. package/items/index.d.ts.map +0 -1
  414. package/items/index.js +0 -10
  415. package/items/index.js.map +0 -1
  416. package/items/link-a.d.ts.map +0 -1
  417. package/items/link-a.js.map +0 -1
  418. package/items/load-progress.d.ts.map +0 -1
  419. package/items/load-progress.js.map +0 -1
  420. package/items/std.d.ts +0 -4
  421. package/items/std.d.ts.map +0 -1
  422. package/items/std.js +0 -4
  423. package/items/std.js.map +0 -1
  424. package/items/super-a.d.ts.map +0 -1
  425. package/items/super-a.js.map +0 -1
  426. package/items/time-bar.d.ts.map +0 -1
  427. package/items/time-bar.js.map +0 -1
  428. package/layout/div-line.d.ts +0 -20
  429. package/layout/div-line.d.ts.map +0 -1
  430. package/layout/div-line.js.map +0 -1
  431. package/layout/drag-box.d.ts.map +0 -1
  432. package/layout/drag-box.js.map +0 -1
  433. package/layout/flex-flow.d.ts.map +0 -1
  434. package/layout/flex-flow.js.map +0 -1
  435. package/layout/index.d.ts +0 -7
  436. package/layout/index.d.ts.map +0 -1
  437. package/layout/index.js +0 -7
  438. package/layout/index.js.map +0 -1
  439. package/layout/nav-aside.d.ts.map +0 -1
  440. package/layout/nav-aside.js.map +0 -1
  441. package/layout/nav-layout.d.ts.map +0 -1
  442. package/layout/nav-layout.js.map +0 -1
  443. package/layout/skeleton-screen.d.ts.map +0 -1
  444. package/layout/skeleton-screen.js.map +0 -1
  445. package/layout/std.d.ts +0 -4
  446. package/layout/std.d.ts.map +0 -1
  447. package/layout/std.js +0 -4
  448. package/layout/std.js.map +0 -1
  449. package/react/effect.d.ts +0 -5
  450. package/react/effect.d.ts.map +0 -1
  451. package/react/effect.js +0 -13
  452. package/react/effect.js.map +0 -1
  453. package/react/group.d.ts +0 -5
  454. package/react/group.d.ts.map +0 -1
  455. package/react/group.js +0 -13
  456. package/react/group.js.map +0 -1
  457. package/react/input-form.d.ts +0 -28
  458. package/react/input-form.d.ts.map +0 -1
  459. package/react/input-form.js +0 -38
  460. package/react/input-form.js.map +0 -1
  461. package/react/items.d.ts +0 -11
  462. package/react/items.d.ts.map +0 -1
  463. package/react/items.js +0 -31
  464. package/react/items.js.map +0 -1
  465. package/react/layout.d.ts +0 -8
  466. package/react/layout.d.ts.map +0 -1
  467. package/react/layout.js +0 -22
  468. package/react/layout.js.map +0 -1
  469. package/react/view.d.ts +0 -10
  470. package/react/view.d.ts.map +0 -1
  471. package/react/view.js +0 -28
  472. package/react/view.js.map +0 -1
  473. package/view/details-expand.d.ts.map +0 -1
  474. package/view/details-expand.js.map +0 -1
  475. package/view/index.d.ts +0 -9
  476. package/view/index.d.ts.map +0 -1
  477. package/view/index.js +0 -9
  478. package/view/index.js.map +0 -1
  479. package/view/menu-list.d.ts +0 -20
  480. package/view/menu-list.d.ts.map +0 -1
  481. package/view/menu-list.js +0 -76
  482. package/view/menu-list.js.map +0 -1
  483. package/view/offset-expand.d.ts.map +0 -1
  484. package/view/offset-expand.js.map +0 -1
  485. package/view/rotation-pool.d.ts.map +0 -1
  486. package/view/rotation-pool.js.map +0 -1
  487. package/view/route-view.d.ts.map +0 -1
  488. package/view/route-view.js.map +0 -1
  489. package/view/scroll-x.d.ts.map +0 -1
  490. package/view/scroll-x.js.map +0 -1
  491. package/view/std.d.ts.map +0 -1
  492. package/view/std.js.map +0 -1
  493. package/view/tool-tip.d.ts +0 -24
  494. package/view/tool-tip.d.ts.map +0 -1
  495. package/view/tool-tip.js.map +0 -1
  496. package/view/with-wrap.d.ts.map +0 -1
  497. package/view/with-wrap.js.map +0 -1
@@ -1,13 +1,8 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { css, html, property, query } from "../deps.js";
8
- import { cssvarValues, define } from "../root.js";
9
- import { htmlSlot, htmlStyle, svgEye } from "../lib/templates.js";
10
- import { InputSTD } from "./std.js";
1
+ import { __decorate } from "tslib";
2
+ import { css, html, property, query } from "../../deps.js";
3
+ import { htmlSlot, htmlStyle, svgEye } from "../../lib/templates.js";
4
+ import { cssvarValues, define } from "../../root.js";
5
+ import { InputElement } from "./input.js";
11
6
  const PASSWORD = "password";
12
7
  const styleInMedia = css `
13
8
  label[for] {
@@ -39,7 +34,7 @@ const defineName = "label-input";
39
34
  *
40
35
  * Otherwise it behaves similarly to the `BaseInput`.
41
36
  */
42
- let LabelInput = class LabelInput extends InputSTD {
37
+ let LabelInput = class LabelInput extends InputElement {
43
38
  constructor() {
44
39
  super(...arguments);
45
40
  /**
@@ -47,54 +42,9 @@ let LabelInput = class LabelInput extends InputSTD {
47
42
  */
48
43
  this.mobile = "540px";
49
44
  }
50
- render() {
51
- const result = html `<fieldset>
52
- <i>${htmlSlot("pre")}</i>
53
- <input .value="${this.value}" ?autofocus="${this.autofocus}" id="${this.name}" type="${this.type}" placeholder="${this.pla}" class="${this.type}" @input="${this._handleInput}" @change="${this._handleChange}" />
54
- ${this.renderSuf()}
55
- </fieldset>`;
56
- if (this.label) {
57
- const style = this.mobile && `${styleWithLabel}@media (max-width: ${this.mobile}){${styleInMedia}}`;
58
- return [
59
- html `<label for="${this.name}">
60
- <span>${this.label}${htmlSlot()}</span>
61
- ${result}
62
- </label>`,
63
- htmlStyle(style),
64
- ];
65
- }
66
- return [result, htmlStyle(styleNoLabel.toString())];
67
- }
68
- renderSuf() {
69
- if (this.type === PASSWORD) {
70
- return html `<i
71
- @mousedown="${this._passwordSwitcher}"
72
- @mouseup="${() => {
73
- this._changeInputType(PASSWORD);
74
- }}"
75
- @mouseleave="${() => {
76
- this._changeInputType(PASSWORD);
77
- }}"
78
- >
79
- ${htmlSlot("suf", svgEye(), this)}
80
- </i>`;
81
- }
82
- else {
83
- return html `<i>${htmlSlot("suf")}</i>`;
84
- }
85
- }
86
- _passwordSwitcher() {
87
- if (this._input.type === PASSWORD) {
88
- this._changeInputType("text");
89
- }
90
- else {
91
- this._changeInputType(PASSWORD);
92
- }
93
- }
94
- };
95
- LabelInput.styles = [
96
- InputSTD.styles,
97
- css `
45
+ static { this.styles = [
46
+ InputElement.styles,
47
+ css `
98
48
  :host {
99
49
  margin: var(${cssvarValues.input}--outline-width);
100
50
  border-radius: var(${cssvarValues.input}--radius);
@@ -152,7 +102,52 @@ LabelInput.styles = [
152
102
  min-width: var(${cssvarValues.input}--width);
153
103
  }
154
104
  `,
155
- ];
105
+ ]; }
106
+ render() {
107
+ const result = html `<fieldset>
108
+ <i>${htmlSlot("pre")}</i>
109
+ <input .value="${this.value}" ?autofocus="${this.autofocus}" id="${this.name}" type="${this.type}" placeholder="${this.pla}" class="${this.type}" @input="${this._handleInput}" @change="${this._handleChange}" />
110
+ ${this.renderSuf()}
111
+ </fieldset>`;
112
+ if (this.label) {
113
+ const style = this.mobile && `${styleWithLabel}@media (max-width: ${this.mobile}){${styleInMedia}}`;
114
+ return [
115
+ html `<label for="${this.name}">
116
+ <span>${this.label}${htmlSlot()}</span>
117
+ ${result}
118
+ </label>`,
119
+ htmlStyle(style),
120
+ ];
121
+ }
122
+ return [result, htmlStyle(styleNoLabel.toString())];
123
+ }
124
+ renderSuf() {
125
+ if (this.type === PASSWORD) {
126
+ return html `<i
127
+ @mousedown="${this._passwordSwitcher}"
128
+ @mouseup="${() => {
129
+ this._changeInputType(PASSWORD);
130
+ }}"
131
+ @mouseleave="${() => {
132
+ this._changeInputType(PASSWORD);
133
+ }}"
134
+ >
135
+ ${htmlSlot("suf", svgEye(), this)}
136
+ </i>`;
137
+ }
138
+ else {
139
+ return html `<i>${htmlSlot("suf")}</i>`;
140
+ }
141
+ }
142
+ _passwordSwitcher() {
143
+ if (this._input.type === PASSWORD) {
144
+ this._changeInputType("text");
145
+ }
146
+ else {
147
+ this._changeInputType(PASSWORD);
148
+ }
149
+ }
150
+ };
156
151
  __decorate([
157
152
  property()
158
153
  ], LabelInput.prototype, "mobile", void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-input.js","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/label-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, type CSSResultGroup, html, property, query } from \"../../deps.js\";\nimport { htmlSlot, htmlStyle, type HTMLTemplate, svgEye } from \"../../lib/templates.js\";\nimport { cssvarValues, define } from \"../../root.js\";\nimport { InputElement } from \"./input.js\";\n\nconst PASSWORD = \"password\";\n\nconst styleInMedia = css`\n label[for] {\n justify-content: flex-start;\n flex-direction: column;\n align-items: inherit;\n width: fit-content;\n }\n :host {\n width: var(${cssvarValues.input}--width);\n margin: auto;\n }\n`;\n\nconst styleNoLabel = css`\n :host {\n width: var(${cssvarValues.input}--width);\n }\n`;\n\nconst styleWithLabel = css`\n :host {\n width: calc(var(${cssvarValues.input}--width) * 2);\n }\n`;\n\nconst defineName = \"label-input\";\n\n/**\n * LabelInput renders label and input.\n *\n * When there is a label, the layout will be adjusted according to the width of the screen.\n *\n * Otherwise it behaves similarly to the `BaseInput`.\n */\n@define(defineName)\nexport class LabelInput extends InputElement {\n /**\n * Conditions for adjust layout.\n */\n @property() mobile = \"540px\";\n\n @query(\"input\") _input: HTMLInputElement;\n\n static styles = [\n InputElement.styles,\n css`\n :host {\n margin: var(${cssvarValues.input}--outline-width);\n border-radius: var(${cssvarValues.input}--radius);\n }\n\n label {\n width: 100%;\n margin: auto;\n box-sizing: border-box;\n height: fit-content;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: inherit;\n }\n\n span {\n white-space: nowrap;\n }\n\n input {\n padding: 0 0.25em;\n background-color: transparent;\n border-radius: inherit;\n flex: 1;\n width: 100%;\n height: inherit;\n }\n\n fieldset:focus-within {\n outline: var(${cssvarValues.input}--outline);\n }\n\n i {\n margin: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n i > svg {\n height: 1em;\n width: 1em;\n margin: 0.25em;\n }\n\n fieldset {\n position: relative;\n background-color: var(${cssvarValues.input}--background);\n display: flex;\n align-items: center;\n border-radius: inherit;\n height: var(${cssvarValues.input}--height);\n width: var(${cssvarValues.input}--width);\n min-width: var(${cssvarValues.input}--width);\n }\n `,\n ] as CSSResultGroup;\n\n protected render(): HTMLTemplate[] {\n const result = html`<fieldset>\n <i>${htmlSlot(\"pre\")}</i>\n <input .value=\"${this.value}\" ?autofocus=\"${this.autofocus}\" id=\"${this.name}\" type=\"${this.type}\" placeholder=\"${this.pla}\" class=\"${this.type}\" @input=\"${this._handleInput}\" @change=\"${this._handleChange}\" />\n ${this.renderSuf()}\n </fieldset>`;\n if (this.label) {\n const style = this.mobile && `${styleWithLabel}@media (max-width: ${this.mobile}){${styleInMedia}}`;\n return [\n html`<label for=\"${this.name}\">\n <span>${this.label}${htmlSlot()}</span>\n ${result}\n </label>`,\n htmlStyle(style),\n ];\n }\n return [result, htmlStyle(styleNoLabel.toString())];\n }\n\n private renderSuf(): HTMLTemplate {\n if (this.type === PASSWORD) {\n return html`<i\n @mousedown=\"${this._passwordSwitcher}\"\n @mouseup=\"${() => {\n this._changeInputType(PASSWORD);\n }}\"\n @mouseleave=\"${() => {\n this._changeInputType(PASSWORD);\n }}\"\n >\n ${htmlSlot(\"suf\", svgEye(), this)}\n </i>`;\n } else {\n return html`<i>${htmlSlot(\"suf\")}</i>`;\n }\n }\n\n protected _passwordSwitcher() {\n if (this._input.type === PASSWORD) {\n this._changeInputType(\"text\");\n } else {\n this._changeInputType(PASSWORD);\n }\n }\n}\n\nexport default LabelInput;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"label-input\": LabelInput;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- import { type CSSResultGroup } from "../deps.js";
2
- import { type HTMLTemplate } from "../lib/templates.js";
3
- import { InputSTD } from "./std.js";
1
+ import { type CSSResultGroup } from "../../deps.js";
2
+ import { type HTMLTemplate } from "../../lib/templates.js";
3
+ import { InputElement } from "./input.js";
4
4
  /**
5
5
  * SearchInput used for search behavior.
6
6
  */
7
- export declare class SearchInput extends InputSTD {
7
+ export declare class SearchInput extends InputElement {
8
8
  /**
9
9
  * Query selectors.
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input.d.ts","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/search-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAyB,MAAM,eAAe,CAAC;AAChF,OAAO,EAAY,KAAK,YAAY,EAAa,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C;;GAEG;AACH,qBACa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IACS,KAAK,SAAM;IACvB;;OAEG;IACS,MAAM,SAAM;IACxB;;OAEG;IAC0B,KAAK,UAAS;IAC3C;;OAEG;IACyC,KAAK,UAAS;IAC1D;;OAEG;IACS,MAAM,SAAM;IACxB;;OAEG;IACS,MAAM,EAAE,KAAK,GAAG,MAAM,CAAS;IAC3C;;OAEG;IACS,IAAI,SAAO;IAEP,MAAM,EAAG,gBAAgB,CAAC;IAE1C,MAAM,CAAC,MAAM,iBAsFO;IAEpB,SAAS,CAAC,MAAM,IAAI,YAAY;IAYhC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK;IAOhC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK;IAiB/B,cAAc,CAAC,CAAC,EAAE,MAAM;CAezB;AAED,eAAe,WAAW,CAAC;AAE3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
@@ -1,19 +1,14 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { createScope, cssvarValues, define } from "../root.js";
8
- import { css, html, property, query } from "../deps.js";
9
- import { htmlSlot, svgSearch } from "../lib/templates.js";
10
- import { InputSTD } from "./std.js";
1
+ import { __decorate } from "tslib";
2
+ import { css, html, property, query } from "../../deps.js";
3
+ import { htmlSlot, svgSearch } from "../../lib/templates.js";
4
+ import { createScope, cssvarValues, define } from "../../root.js";
5
+ import { InputElement } from "./input.js";
11
6
  const defineName = "search-input";
12
7
  const cssScope = createScope(defineName);
13
8
  /**
14
9
  * SearchInput used for search behavior.
15
10
  */
16
- let SearchInput = class SearchInput extends InputSTD {
11
+ let SearchInput = class SearchInput extends InputElement {
17
12
  constructor() {
18
13
  super(...arguments);
19
14
  /**
@@ -45,58 +40,9 @@ let SearchInput = class SearchInput extends InputSTD {
45
40
  */
46
41
  this.name = "q";
47
42
  }
48
- render() {
49
- return html `<form action="${this.action}" method="${this.method}">
50
- <div>
51
- <input .value="${this.value}" ?autofocus="${this.autofocus}" name="${this.name}" @focus="${this._handleInput}" @input="${this._handleInput}" title="" placeholder="${this.pla}" />
52
- <button @click="${this._handleSubmit}">${htmlSlot("search", svgSearch(), this)}</button>
53
- </div>
54
- <ul>
55
- ${htmlSlot()}
56
- </ul>
57
- </form>`;
58
- }
59
- _handleSubmit(e) {
60
- if (!this.action) {
61
- e.preventDefault();
62
- }
63
- this.dispatchEvent(new CustomEvent("submit", { detail: this.value }));
64
- }
65
- _handleInput(e) {
66
- e.stopPropagation();
67
- const value = this.targetValue(e);
68
- if (value === this.value) {
69
- return;
70
- }
71
- this.value = value;
72
- if (this.compositing) {
73
- return;
74
- }
75
- if (this.target && this.query) {
76
- this.searchElements(this.value);
77
- }
78
- this.dispatchEvent(new CustomEvent("input", { detail: this.value, bubbles: true, composed: true }));
79
- this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
80
- }
81
- searchElements(s) {
82
- const targetElement = document.body.querySelector(this.target);
83
- const queryElementsCollection = document.body.querySelectorAll(this.query);
84
- if (!targetElement) {
85
- return;
86
- }
87
- targetElement.replaceChildren();
88
- if (s && queryElementsCollection.length) {
89
- for (const e of queryElementsCollection) {
90
- if (e.textContent.includes(this.value)) {
91
- targetElement.appendChild(e.cloneNode(true));
92
- }
93
- }
94
- }
95
- }
96
- };
97
- SearchInput.styles = [
98
- InputSTD.styles,
99
- css `
43
+ static { this.styles = [
44
+ InputElement.styles,
45
+ css `
100
46
  :host {
101
47
  ${cssScope}--width:var(${cssvarValues.input}--width);
102
48
  ${cssScope}--input-padding: 0 0 0 .35em;
@@ -180,7 +126,56 @@ SearchInput.styles = [
180
126
  padding: 1px;
181
127
  }
182
128
  `,
183
- ];
129
+ ]; }
130
+ render() {
131
+ return html `<form action="${this.action}" method="${this.method}">
132
+ <div>
133
+ <input .value="${this.value}" ?autofocus="${this.autofocus}" name="${this.name}" @focus="${this._handleInput}" @input="${this._handleInput}" title="" placeholder="${this.pla}" />
134
+ <button @click="${this._handleSubmit}">${htmlSlot("search", svgSearch(), this)}</button>
135
+ </div>
136
+ <ul>
137
+ ${htmlSlot()}
138
+ </ul>
139
+ </form>`;
140
+ }
141
+ _handleSubmit(e) {
142
+ if (!this.action) {
143
+ e.preventDefault();
144
+ }
145
+ this.dispatchEvent(new CustomEvent("submit", { detail: this.value }));
146
+ }
147
+ _handleInput(e) {
148
+ e.stopPropagation();
149
+ const value = this.targetValue(e);
150
+ if (value === this.value) {
151
+ return;
152
+ }
153
+ this.value = value;
154
+ if (this.compositing) {
155
+ return;
156
+ }
157
+ if (this.target && this.query) {
158
+ this.searchElements(this.value);
159
+ }
160
+ this.dispatchEvent(new CustomEvent("input", { detail: this.value, bubbles: true, composed: true }));
161
+ this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
162
+ }
163
+ searchElements(s) {
164
+ const targetElement = document.body.querySelector(this.target);
165
+ const queryElementsCollection = document.body.querySelectorAll(this.query);
166
+ if (!targetElement) {
167
+ return;
168
+ }
169
+ targetElement.replaceChildren();
170
+ if (s && queryElementsCollection.length) {
171
+ for (const e of queryElementsCollection) {
172
+ if (e.textContent.includes(this.value)) {
173
+ targetElement.appendChild(e.cloneNode(true));
174
+ }
175
+ }
176
+ }
177
+ }
178
+ };
184
179
  __decorate([
185
180
  property()
186
181
  ], SearchInput.prototype, "query", void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input.js","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/search-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, type CSSResultGroup, html, property, query } from \"../../deps.js\";\nimport { htmlSlot, type HTMLTemplate, svgSearch } from \"../../lib/templates.js\";\nimport { createScope, cssvarValues, define } from \"../../root.js\";\nimport { InputElement } from \"./input.js\";\n\nconst defineName = \"search-input\";\n\nconst cssScope = createScope(defineName);\n\n/**\n * SearchInput used for search behavior.\n */\n@define(defineName)\nexport class SearchInput extends InputElement {\n /**\n * Query selectors.\n */\n @property() query = \"\";\n /**\n * Target selectors.\n */\n @property() target = \"\";\n /**\n * Enable infer.\n */\n @property({ type: Boolean }) infer = false;\n /**\n * Float result.\n */\n @property({ type: Boolean, reflect: true }) float = false;\n /**\n * Form action.\n */\n @property() action = \"\";\n /**\n * Form method.\n */\n @property() method: \"get\" | \"post\" = \"get\";\n /**\n * Form name.\n */\n @property() name = \"q\";\n\n @query(\"input\") _input!: HTMLInputElement;\n\n static styles = [\n InputElement.styles,\n css`\n :host {\n ${cssScope}--width:var(${cssvarValues.input}--width);\n ${cssScope}--input-padding: 0 0 0 .35em;\n width: var(${cssvarValues.input}--width);\n margin: var(${cssvarValues.input}-outline-width);\n border-radius: var(${cssvarValues.input}--radius);\n background: var(${cssvarValues.input}--background);\n }\n\n div {\n padding: var(${cssScope}--input-padding);\n height: var(${cssvarValues.input}--height);\n flex: 1;\n display: flex;\n z-index: 2;\n }\n\n form {\n min-height: 100%;\n outline: 0.145em solid transparent;\n display: flex;\n flex-direction: column;\n border-radius: inherit;\n padding: 0;\n width: 100%;\n margin: 0;\n position: relative;\n overflow: hidden;\n }\n\n :host([float]) form {\n overflow: visible;\n }\n\n :host(:focus) form {\n outline: var(${cssvarValues.input}--outline);\n }\n\n ul {\n list-style: none;\n width: 100%;\n pointer-events: none;\n border-radius: inherit;\n z-index: 2;\n }\n\n :host([float]) ul {\n background: var(${cssvarValues.input}--background);\n padding-top: 1.5em;\n position: absolute;\n z-index: 1;\n top: 0;\n }\n\n :host([float]:focus) form {\n outline: none;\n }\n\n :host([float]:focus) ul {\n outline: var(${cssvarValues.input}--outline);\n }\n\n button,\n input {\n background: none;\n }\n\n button {\n width: 1.8em;\n height: inherit;\n }\n\n input {\n flex: 1;\n min-width: 0;\n box-sizing: border-box;\n }\n\n svg {\n height: 100%;\n padding: 1px;\n }\n `,\n ] as CSSResultGroup;\n\n protected render(): HTMLTemplate {\n return html`<form action=\"${this.action}\" method=\"${this.method}\">\n <div>\n <input .value=\"${this.value}\" ?autofocus=\"${this.autofocus}\" name=\"${this.name}\" @focus=\"${this._handleInput}\" @input=\"${this._handleInput}\" title=\"\" placeholder=\"${this.pla}\" />\n <button @click=\"${this._handleSubmit}\">${htmlSlot(\"search\", svgSearch(), this)}</button>\n </div>\n <ul>\n ${htmlSlot()}\n </ul>\n </form>`;\n }\n\n protected _handleSubmit(e: Event) {\n if (!this.action) {\n e.preventDefault();\n }\n this.dispatchEvent(new CustomEvent(\"submit\", { detail: this.value }));\n }\n\n protected _handleInput(e: Event) {\n e.stopPropagation();\n const value: string = this.targetValue(e);\n if (value === this.value) {\n return;\n }\n this.value = value;\n if (this.compositing) {\n return;\n }\n if (this.target && this.query) {\n this.searchElements(this.value);\n }\n this.dispatchEvent(new CustomEvent(\"input\", { detail: this.value, bubbles: true, composed: true }));\n this.dispatchEvent(new CustomEvent(\"change\", { detail: this.value, composed: true }));\n }\n\n searchElements(s: string) {\n const targetElement = document.body.querySelector(this.target);\n const queryElementsCollection = document.body.querySelectorAll(this.query);\n if (!targetElement) {\n return;\n }\n targetElement.replaceChildren();\n if (s && queryElementsCollection.length) {\n for (const e of queryElementsCollection) {\n if (e.textContent.includes(this.value)) {\n targetElement.appendChild(e.cloneNode(true));\n }\n }\n }\n }\n}\n\nexport default SearchInput;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"search-input\": SearchInput;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- import { type CSSResultGroup } from "../deps.js";
2
- import { type HTMLTemplate } from "../lib/templates.js";
3
- import { InputSTD } from "./std.js";
1
+ import { type CSSResultGroup } from "../../deps.js";
2
+ import { type HTMLTemplate } from "../../lib/templates.js";
3
+ import { InputElement } from "./input.js";
4
4
  /**
5
5
  * SelectInput select matched elements.
6
6
  */
7
- export declare class SelectInput extends InputSTD {
7
+ export declare class SelectInput extends InputElement {
8
8
  /**
9
9
  * Open content.
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-input.d.ts","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/select-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAyB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAY,KAAK,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,qBACa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IACyC,IAAI,UAAS;IACzD;;OAEG;IACyC,IAAI,UAAS;IACzD;;OAEG;IACwB,KAAK,QAAM;IACtC;;OAEG;IACS,IAAI,SAAY;IAC5B;;OAEG;IACwB,IAAI,EAAE,MAAM,EAAE,CAAM;IAE/C,MAAM,CAAC,MAAM,iBAuFO;IAEpB,IAAI,QAAQ,QAEX;IAEe,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IAEzC,SAAS,CAAC,MAAM,IAAI,YAAY;IAiBhC,OAAO,CAAC,UAAU;IAqBlB,SAAS,CAAC,WAAW;IAOrB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAK5B,iBAAiB;IAIjB,cAAc,CAAC,MAAM,EAAE,OAAO;IAI9B,SAAS,CAAC,YAAY;IAgCtB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IA4CnC,SAAS,CAAC,YAAY;IAuCtB,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAI5C,KAAK;CAcN;AAED,eAAe,WAAW,CAAC;AAM3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
@@ -1,19 +1,14 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { css, html, property, query } from "../deps.js";
8
- import { cssvarValues, define, GodownElement } from "../root.js";
9
- import { htmlSlot, svgDelta, svgX } from "../lib/templates.js";
10
- import { ifValue } from "../lib/directives.js";
11
- import { InputSTD } from "./std.js";
1
+ import { __decorate } from "tslib";
2
+ import { css, html, property, query } from "../../deps.js";
3
+ import { ifValue } from "../../lib/directives.js";
4
+ import { htmlSlot, svgDelta, svgX } from "../../lib/templates.js";
5
+ import { cssvarValues, define, GodownElement } from "../../root.js";
6
+ import { InputElement } from "./input.js";
12
7
  const defineName = "select-input";
13
8
  /**
14
9
  * SelectInput select matched elements.
15
10
  */
16
- let SelectInput = class SelectInput extends InputSTD {
11
+ let SelectInput = class SelectInput extends InputElement {
17
12
  constructor() {
18
13
  super(...arguments);
19
14
  /**
@@ -37,6 +32,94 @@ let SelectInput = class SelectInput extends InputSTD {
37
32
  */
38
33
  this.text = [];
39
34
  }
35
+ static { this.styles = [
36
+ InputElement.styles,
37
+ css `
38
+ :host {
39
+ background: var(${cssvarValues.input}--background);
40
+ margin: var(${cssvarValues.input}--outline-width);
41
+ outline: var(${cssvarValues.input}--outline-width) solid transparent;
42
+ height: var(${cssvarValues.input}--height);
43
+ width: var(${cssvarValues.input}--width);
44
+ border-radius: var(${cssvarValues.input}--radius);
45
+ }
46
+
47
+ :host([open]) {
48
+ outline-color: var(${cssvarValues.input}--outline-color);
49
+ }
50
+
51
+ input {
52
+ padding: 0 0 0 0.25em;
53
+ background: none;
54
+ cursor: inherit;
55
+ height: 100%;
56
+ width: 100%;
57
+ box-sizing: border-box;
58
+ border: inherit;
59
+ outline: none;
60
+ border-radius: inherit;
61
+ flex: 1;
62
+ }
63
+
64
+ div {
65
+ display: inline-flex;
66
+ position: relative;
67
+ width: 100%;
68
+ border-radius: inherit;
69
+ z-index: inherit;
70
+ }
71
+
72
+ label svg {
73
+ height: 100%;
74
+ }
75
+
76
+ aside {
77
+ margin-top: 1px;
78
+ position: absolute;
79
+ top: 100%;
80
+ width: 100%;
81
+ visibility: hidden;
82
+ z-index: 1;
83
+ border-radius: inherit;
84
+ }
85
+
86
+ section {
87
+ max-width: calc(100% - 1.2em);
88
+ height: 100%;
89
+ overflow: hidden;
90
+ pointer-events: none;
91
+ border-radius: inherit;
92
+ z-index: inherit;
93
+ }
94
+
95
+ i.selected-item {
96
+ background: var(${cssvarValues.input}--true);
97
+ border-radius: inherit;
98
+ height: 100%;
99
+ float: left;
100
+ display: inline-flex;
101
+ font-style: normal;
102
+ align-items: center;
103
+ padding-left: 0.1em;
104
+ margin-left: 0.065em;
105
+ }
106
+
107
+ i:first-child {
108
+ margin-left: 0;
109
+ }
110
+
111
+ i.selected-item svg {
112
+ width: 1em;
113
+ padding: 0 0.12em;
114
+ height: 0.8em;
115
+ pointer-events: all;
116
+ }
117
+
118
+ aside[open] {
119
+ visibility: visible;
120
+ }
121
+ `,
122
+ ]; }
40
123
  get assigned() {
41
124
  return super.assigned;
42
125
  }
@@ -226,94 +309,6 @@ let SelectInput = class SelectInput extends InputSTD {
226
309
  }
227
310
  }
228
311
  };
229
- SelectInput.styles = [
230
- InputSTD.styles,
231
- css `
232
- :host {
233
- background: var(${cssvarValues.input}--background);
234
- margin: var(${cssvarValues.input}--outline-width);
235
- outline: var(${cssvarValues.input}--outline-width) solid transparent;
236
- height: var(${cssvarValues.input}--height);
237
- width: var(${cssvarValues.input}--width);
238
- border-radius: var(${cssvarValues.input}--radius);
239
- }
240
-
241
- :host([open]) {
242
- outline-color: var(${cssvarValues.input}--outline-color);
243
- }
244
-
245
- input {
246
- padding: 0 0 0 0.25em;
247
- background: none;
248
- cursor: inherit;
249
- height: 100%;
250
- width: 100%;
251
- box-sizing: border-box;
252
- border: inherit;
253
- outline: none;
254
- border-radius: inherit;
255
- flex: 1;
256
- }
257
-
258
- div {
259
- display: inline-flex;
260
- position: relative;
261
- width: 100%;
262
- border-radius: inherit;
263
- z-index: inherit;
264
- }
265
-
266
- label svg {
267
- height: 100%;
268
- }
269
-
270
- aside {
271
- margin-top: 1px;
272
- position: absolute;
273
- top: 100%;
274
- width: 100%;
275
- visibility: hidden;
276
- z-index: 1;
277
- border-radius: inherit;
278
- }
279
-
280
- section {
281
- max-width: calc(100% - 1.2em);
282
- height: 100%;
283
- overflow: hidden;
284
- pointer-events: none;
285
- border-radius: inherit;
286
- z-index: inherit;
287
- }
288
-
289
- i.selected-item {
290
- background: var(${cssvarValues.input}--true);
291
- border-radius: inherit;
292
- height: 100%;
293
- float: left;
294
- display: inline-flex;
295
- font-style: normal;
296
- align-items: center;
297
- padding-left: 0.1em;
298
- margin-left: 0.065em;
299
- }
300
-
301
- i:first-child {
302
- margin-left: 0;
303
- }
304
-
305
- i.selected-item svg {
306
- width: 1em;
307
- padding: 0 0.12em;
308
- height: 0.8em;
309
- pointer-events: all;
310
- }
311
-
312
- aside[open] {
313
- visibility: visible;
314
- }
315
- `,
316
- ];
317
312
  __decorate([
318
313
  property({ type: Boolean, reflect: true })
319
314
  ], SelectInput.prototype, "open", void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-input.js","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/select-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, type CSSResultGroup, html, property, query } from \"../../deps.js\";\nimport { ifValue } from \"../../lib/directives.js\";\nimport { htmlSlot, type HTMLTemplate, svgDelta, svgX } from \"../../lib/templates.js\";\nimport { cssvarValues, define, GodownElement } from \"../../root.js\";\nimport { InputElement } from \"./input.js\";\n\nconst defineName = \"select-input\";\n\n/**\n * SelectInput select matched elements.\n */\n@define(defineName)\nexport class SelectInput extends InputElement {\n /**\n * Open content.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n /**\n * Only a single option is allowed.\n */\n @property({ type: Boolean, reflect: true }) only = false;\n /**\n * Selected values.\n */\n @property({ type: Array }) value = [];\n /**\n * Input name.\n */\n @property() name = \"select\";\n /**\n * Selected texts.\n */\n @property({ type: Array }) text: string[] = [];\n\n static styles = [\n InputElement.styles,\n css`\n :host {\n background: var(${cssvarValues.input}--background);\n margin: var(${cssvarValues.input}--outline-width);\n outline: var(${cssvarValues.input}--outline-width) solid transparent;\n height: var(${cssvarValues.input}--height);\n width: var(${cssvarValues.input}--width);\n border-radius: var(${cssvarValues.input}--radius);\n }\n\n :host([open]) {\n outline-color: var(${cssvarValues.input}--outline-color);\n }\n\n input {\n padding: 0 0 0 0.25em;\n background: none;\n cursor: inherit;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n border: inherit;\n outline: none;\n border-radius: inherit;\n flex: 1;\n }\n\n div {\n display: inline-flex;\n position: relative;\n width: 100%;\n border-radius: inherit;\n z-index: inherit;\n }\n\n label svg {\n height: 100%;\n }\n\n aside {\n margin-top: 1px;\n position: absolute;\n top: 100%;\n width: 100%;\n visibility: hidden;\n z-index: 1;\n border-radius: inherit;\n }\n\n section {\n max-width: calc(100% - 1.2em);\n height: 100%;\n overflow: hidden;\n pointer-events: none;\n border-radius: inherit;\n z-index: inherit;\n }\n\n i.selected-item {\n background: var(${cssvarValues.input}--true);\n border-radius: inherit;\n height: 100%;\n float: left;\n display: inline-flex;\n font-style: normal;\n align-items: center;\n padding-left: 0.1em;\n margin-left: 0.065em;\n }\n\n i:first-child {\n margin-left: 0;\n }\n\n i.selected-item svg {\n width: 1em;\n padding: 0 0.12em;\n height: 0.8em;\n pointer-events: all;\n }\n\n aside[open] {\n visibility: visible;\n }\n `,\n ] as CSSResultGroup;\n\n get assigned() {\n return super.assigned as any;\n }\n\n @query(\"input\") _input: HTMLInputElement;\n @query(\"aside\") _aside: HTMLInputElement;\n\n protected render(): HTMLTemplate {\n return html` <div>\n <section>${this.renderList()}</section>\n <input\n ?autofocus=\"${this.autofocus}\"\n id=\"input\"\n @focus=\"${() => {\n this.open = true;\n }}\"\n @input=\"${this._handleInput}\"\n placeholder=\"${this.pla}\"\n />\n <label for=\"input\"> ${ifValue(this.children.length > 0, svgDelta())}</label>\n <aside ?open=\"${this.open}\">${htmlSlot()}</aside>\n </div>`;\n }\n\n private renderList(): HTMLTemplate[] {\n const itemTemplates = [];\n if (this.value.length) {\n for (const i in this.value) {\n itemTemplates.push(\n html`<i class=\"selected-item\">\n ${this.text[i] || this.value[i]}\n <div\n @click=\"${() => {\n this.select(this.value[i]);\n }}\"\n >\n ${svgX()}\n </div>\n </i>`,\n );\n }\n }\n return itemTemplates;\n }\n\n protected _focusCheck() {\n if (this.autofocus) {\n this._input?.focus();\n this.open = true;\n }\n }\n\n focus(options?: FocusOptions) {\n this._input?.focus(options);\n this.open = true;\n }\n\n connectedCallback() {\n GodownElement.prototype.connectedCallback.call(this);\n }\n\n getOptionValue(option: Element) {\n return (option as HTMLOptionElement).value || option.getAttribute(\"value\");\n }\n\n protected firstUpdated() {\n const defs = this.def.split(\";\");\n defs\n .filter((i) => i.trim())\n .forEach((i) => {\n this.select(i);\n });\n this._focusCheck();\n const CLICK = \"click\";\n (this.assigned as HTMLElement[]).forEach((option: HTMLElement) => {\n if (this.getOptionValue(option)) {\n this.addEvent(option, CLICK, () => {\n this.select(this.getOptionValue(option), option.textContent);\n });\n } else if (option.children) {\n [...option.children].forEach((option: HTMLElement) => {\n this.addEvent(option, CLICK, () => {\n this.select(this.getOptionValue(option), option.textContent);\n });\n });\n }\n });\n this.addEvent(this, \"change\", () => {\n this.open = !this.only;\n });\n this.addEvent(document, CLICK, (e) => {\n if (!this.contains(e.target as Node)) {\n this.open = false;\n }\n });\n }\n\n select(value: string, text?: string) {\n if (text === undefined || text === null) {\n this.assigned.some((option: HTMLElement) => {\n const optionValue = this.getOptionValue(option);\n if (optionValue) {\n if (optionValue === value) {\n text = option.textContent;\n return true;\n }\n } else if (option.children) {\n return [...option.children].some((subOption) => {\n const subOptionValue = this.getOptionValue(subOption);\n if (subOptionValue === value) {\n text = subOption.textContent;\n return true;\n }\n return false;\n });\n }\n return false;\n });\n }\n if (this.value.includes(value)) {\n if (!this.only) {\n this.value = this.value.filter((v) => v !== value);\n this.text = this.text.filter((v) => v !== text);\n } else {\n this.value = [];\n this.text = [];\n }\n } else {\n if (!this.only) {\n this.value.push(value);\n this.text.push(text);\n } else {\n this.value = [value];\n this.text = [text];\n }\n }\n this._input.value = \"\";\n this.dispatchEvent(new CustomEvent(\"change\", { detail: this.namevalue() }));\n this.requestUpdate();\n }\n\n protected _handleInput() {\n const BLOCK = \"block\";\n const NONE = \"none\";\n let value = this._input.value.trim();\n if (!this.only && value.includes(\";\")) {\n value = value.split(\";\").pop().trim();\n }\n this.assigned.forEach((option) => {\n if (this.getOptionValue(option)) {\n option.style.display = BLOCK;\n }\n if (option.children) {\n option.style.display = BLOCK;\n [...option.children].forEach((subOption) => {\n subOption.style.display = BLOCK;\n });\n }\n });\n if (value) {\n this.assigned.forEach((option) => {\n const optionValue = this.getOptionValue(option);\n if (optionValue) {\n const isMatch = includesIgnoreCase(optionValue, value) || includesIgnoreCase(option.innerText, value);\n option.style.display = isMatch ? BLOCK : NONE;\n } else if (option.children) {\n [...option.children].forEach((subOption) => {\n const subOptionValue = this.getOptionValue(subOption);\n const isSubMatch = includesIgnoreCase(subOptionValue, value) || includesIgnoreCase(subOption.innerText, value);\n subOption.style.display = isSubMatch ? BLOCK : NONE;\n });\n if ([...option.children].filter((option) => option.style.display === BLOCK).length === 0) {\n option.style.display = NONE;\n }\n }\n });\n }\n this.dispatchEvent(new CustomEvent(\"input\", { detail: this.namevalue() }));\n }\n\n namevalue(): [string, any[]] | [string, any] {\n return [this.name, this.only ? this.value[0] : this.value];\n }\n\n reset() {\n this.value = [];\n this.text = [];\n this._input.value = \"\";\n if (this.def) {\n const defs = this.def.split(\";\");\n const defToSelect = this.only ? [defs[0]] : defs;\n defToSelect\n .filter((def) => def.trim())\n .forEach((def) => {\n this.select(def.trim(), null);\n });\n }\n }\n}\n\nexport default SelectInput;\n\nfunction includesIgnoreCase(a: string, b: string): boolean {\n return a.toLowerCase().includes(b.toLowerCase());\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"select-input\": SelectInput;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- import { type CSSResultGroup } from "../deps.js";
2
- import { type HTMLTemplate } from "../lib/templates.js";
3
- import { InputSTD } from "./std.js";
1
+ import { type CSSResultGroup } from "../../deps.js";
2
+ import { type HTMLTemplate } from "../../lib/templates.js";
3
+ import { InputElement } from "./input.js";
4
4
  /**
5
5
  * SplitInput renders multiple inputs.
6
6
  */
7
- export declare class SplitInput extends InputSTD {
7
+ export declare class SplitInput extends InputElement {
8
8
  /**
9
9
  * The number of simulated input boxes.
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-input.d.ts","sourceRoot":"https://github.com/startracex/godown/tree/main/src/","sources":["web-components/input/split-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAmC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ1C;;GAEG;AACH,qBACa,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACyB,GAAG,SAAK;IACpC;;OAEG;IACyB,KAAK,SAAM;IAEvB,MAAM,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACtD,OAAO,SAAK;IACZ,YAAY,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAM;IAErC,MAAM,CAAC,MAAM,iBAkDO;IAEpB,SAAS,CAAC,MAAM,IAAI,YAAY;IAWhC,SAAS,CAAC,YAAY;IAiBtB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU;IA4BpC,KAAK;IAIL,OAAO,CAAC,CAAC,SAAe;IAQxB,IAAI,CAAC,CAAC,SAAe;IAKrB,KAAK;CASN;AAED,eAAe,UAAU,CAAC;AAE1B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}