godown 3.0.0-canary.15 → 3.0.0-canary.17

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 (386) hide show
  1. package/alert.js +1 -1
  2. package/alert.js.map +1 -1
  3. package/avatar.js +1 -1
  4. package/avatar.js.map +1 -1
  5. package/badge.d.ts +9 -0
  6. package/badge.d.ts.map +1 -0
  7. package/badge.js +2 -0
  8. package/badge.js.map +1 -0
  9. package/breath.js +1 -1
  10. package/breath.js.map +1 -1
  11. package/button.js +1 -1
  12. package/button.js.map +1 -1
  13. package/card.js +1 -1
  14. package/card.js.map +1 -1
  15. package/carousel.js +1 -1
  16. package/carousel.js.map +1 -1
  17. package/components/alert.d.ts +2 -0
  18. package/components/alert.d.ts.map +1 -1
  19. package/components/alert.js +1 -1
  20. package/components/alert.js.map +1 -1
  21. package/components/avatar.d.ts +1 -0
  22. package/components/avatar.d.ts.map +1 -1
  23. package/components/avatar.js +1 -1
  24. package/components/avatar.js.map +1 -1
  25. package/components/badge.d.ts +19 -0
  26. package/components/badge.d.ts.map +1 -0
  27. package/components/badge.js +2 -0
  28. package/components/badge.js.map +1 -0
  29. package/components/breath.d.ts +1 -0
  30. package/components/breath.d.ts.map +1 -1
  31. package/components/breath.js +1 -1
  32. package/components/breath.js.map +1 -1
  33. package/components/button.d.ts +1 -0
  34. package/components/button.d.ts.map +1 -1
  35. package/components/button.js +1 -1
  36. package/components/button.js.map +1 -1
  37. package/components/card.d.ts +1 -0
  38. package/components/card.d.ts.map +1 -1
  39. package/components/card.js +1 -1
  40. package/components/card.js.map +1 -1
  41. package/components/carousel.d.ts +2 -0
  42. package/components/carousel.d.ts.map +1 -1
  43. package/components/carousel.js +1 -1
  44. package/components/carousel.js.map +1 -1
  45. package/components/details.d.ts +2 -1
  46. package/components/details.d.ts.map +1 -1
  47. package/components/details.js +1 -1
  48. package/components/details.js.map +1 -1
  49. package/components/dialog.d.ts +3 -1
  50. package/components/dialog.d.ts.map +1 -1
  51. package/components/dialog.js +1 -1
  52. package/components/dialog.js.map +1 -1
  53. package/components/divider.d.ts +1 -0
  54. package/components/divider.d.ts.map +1 -1
  55. package/components/divider.js +1 -1
  56. package/components/divider.js.map +1 -1
  57. package/components/dragbox.d.ts +2 -1
  58. package/components/dragbox.d.ts.map +1 -1
  59. package/components/dragbox.js +1 -1
  60. package/components/dragbox.js.map +1 -1
  61. package/components/flex.d.ts +1 -0
  62. package/components/flex.d.ts.map +1 -1
  63. package/components/flex.js +1 -1
  64. package/components/flex.js.map +1 -1
  65. package/components/form.d.ts +1 -0
  66. package/components/form.d.ts.map +1 -1
  67. package/components/form.js +1 -1
  68. package/components/form.js.map +1 -1
  69. package/components/grid.d.ts +1 -0
  70. package/components/grid.d.ts.map +1 -1
  71. package/components/grid.js +1 -1
  72. package/components/grid.js.map +1 -1
  73. package/components/heading.d.ts +19 -0
  74. package/components/heading.d.ts.map +1 -0
  75. package/components/heading.js +2 -0
  76. package/components/heading.js.map +1 -0
  77. package/components/input.d.ts +3 -0
  78. package/components/input.d.ts.map +1 -1
  79. package/components/input.js +1 -1
  80. package/components/input.js.map +1 -1
  81. package/components/layout.d.ts +4 -3
  82. package/components/layout.d.ts.map +1 -1
  83. package/components/layout.js +1 -1
  84. package/components/layout.js.map +1 -1
  85. package/components/link.d.ts +1 -0
  86. package/components/link.d.ts.map +1 -1
  87. package/components/link.js +1 -1
  88. package/components/link.js.map +1 -1
  89. package/components/progress.d.ts +1 -0
  90. package/components/progress.d.ts.map +1 -1
  91. package/components/progress.js +1 -1
  92. package/components/progress.js.map +1 -1
  93. package/components/range.d.ts +6 -2
  94. package/components/range.d.ts.map +1 -1
  95. package/components/range.js +1 -1
  96. package/components/range.js.map +1 -1
  97. package/components/rotate.d.ts +1 -0
  98. package/components/rotate.d.ts.map +1 -1
  99. package/components/rotate.js +1 -1
  100. package/components/rotate.js.map +1 -1
  101. package/components/router.d.ts +1 -0
  102. package/components/router.d.ts.map +1 -1
  103. package/components/router.js +1 -1
  104. package/components/router.js.map +1 -1
  105. package/components/select.d.ts +5 -1
  106. package/components/select.d.ts.map +1 -1
  107. package/components/select.js +1 -1
  108. package/components/select.js.map +1 -1
  109. package/components/skeleton.d.ts +1 -0
  110. package/components/skeleton.d.ts.map +1 -1
  111. package/components/skeleton.js +1 -1
  112. package/components/skeleton.js.map +1 -1
  113. package/components/split.d.ts +6 -1
  114. package/components/split.d.ts.map +1 -1
  115. package/components/split.js +1 -1
  116. package/components/split.js.map +1 -1
  117. package/components/switch.d.ts +2 -0
  118. package/components/switch.d.ts.map +1 -1
  119. package/components/switch.js +1 -1
  120. package/components/switch.js.map +1 -1
  121. package/components/text.d.ts +1 -0
  122. package/components/text.d.ts.map +1 -1
  123. package/components/text.js +1 -1
  124. package/components/text.js.map +1 -1
  125. package/components/time.d.ts +2 -0
  126. package/components/time.d.ts.map +1 -1
  127. package/components/time.js +1 -1
  128. package/components/time.js.map +1 -1
  129. package/components/tooltip.d.ts +1 -0
  130. package/components/tooltip.d.ts.map +1 -1
  131. package/components/tooltip.js +1 -1
  132. package/components/tooltip.js.map +1 -1
  133. package/components/typewriter.d.ts +1 -0
  134. package/components/typewriter.d.ts.map +1 -1
  135. package/components/typewriter.js +1 -1
  136. package/components/typewriter.js.map +1 -1
  137. package/core/global-style.d.ts +1 -1
  138. package/core/global-style.d.ts.map +1 -1
  139. package/core/global-style.js +1 -1
  140. package/core/global-style.js.map +1 -1
  141. package/core/super-anchor.d.ts.map +1 -1
  142. package/core/super-anchor.js +1 -1
  143. package/core/super-anchor.js.map +1 -1
  144. package/core/super-input.d.ts +1 -1
  145. package/core/super-input.d.ts.map +1 -1
  146. package/core/super-input.js +1 -1
  147. package/core/super-input.js.map +1 -1
  148. package/core/super-openable.js +1 -1
  149. package/core/super-openable.js.map +1 -1
  150. package/custom-elements.json +1 -1
  151. package/details.js +1 -1
  152. package/details.js.map +1 -1
  153. package/dev/badge.d.ts +9 -0
  154. package/dev/badge.d.ts.map +1 -0
  155. package/dev/badge.js +5 -0
  156. package/dev/badge.js.map +1 -0
  157. package/dev/components/alert.d.ts +2 -0
  158. package/dev/components/alert.d.ts.map +1 -1
  159. package/dev/components/alert.js +3 -6
  160. package/dev/components/alert.js.map +1 -1
  161. package/dev/components/avatar.d.ts +1 -0
  162. package/dev/components/avatar.d.ts.map +1 -1
  163. package/dev/components/avatar.js +2 -5
  164. package/dev/components/avatar.js.map +1 -1
  165. package/dev/components/badge.d.ts +19 -0
  166. package/dev/components/badge.d.ts.map +1 -0
  167. package/dev/components/badge.js +106 -0
  168. package/dev/components/badge.js.map +1 -0
  169. package/dev/components/breath.d.ts +1 -0
  170. package/dev/components/breath.d.ts.map +1 -1
  171. package/dev/components/breath.js +2 -4
  172. package/dev/components/breath.js.map +1 -1
  173. package/dev/components/button.d.ts +1 -0
  174. package/dev/components/button.d.ts.map +1 -1
  175. package/dev/components/button.js +5 -12
  176. package/dev/components/button.js.map +1 -1
  177. package/dev/components/card.d.ts +1 -0
  178. package/dev/components/card.d.ts.map +1 -1
  179. package/dev/components/card.js +2 -4
  180. package/dev/components/card.js.map +1 -1
  181. package/dev/components/carousel.d.ts +2 -0
  182. package/dev/components/carousel.d.ts.map +1 -1
  183. package/dev/components/carousel.js +4 -6
  184. package/dev/components/carousel.js.map +1 -1
  185. package/dev/components/details.d.ts +2 -1
  186. package/dev/components/details.d.ts.map +1 -1
  187. package/dev/components/details.js +3 -5
  188. package/dev/components/details.js.map +1 -1
  189. package/dev/components/dialog.d.ts +3 -1
  190. package/dev/components/dialog.d.ts.map +1 -1
  191. package/dev/components/dialog.js +3 -4
  192. package/dev/components/dialog.js.map +1 -1
  193. package/dev/components/divider.d.ts +1 -0
  194. package/dev/components/divider.d.ts.map +1 -1
  195. package/dev/components/divider.js +2 -2
  196. package/dev/components/divider.js.map +1 -1
  197. package/dev/components/dragbox.d.ts +2 -1
  198. package/dev/components/dragbox.d.ts.map +1 -1
  199. package/dev/components/dragbox.js +2 -4
  200. package/dev/components/dragbox.js.map +1 -1
  201. package/dev/components/flex.d.ts +1 -0
  202. package/dev/components/flex.d.ts.map +1 -1
  203. package/dev/components/flex.js +2 -6
  204. package/dev/components/flex.js.map +1 -1
  205. package/dev/components/form.d.ts +1 -0
  206. package/dev/components/form.d.ts.map +1 -1
  207. package/dev/components/form.js +2 -3
  208. package/dev/components/form.js.map +1 -1
  209. package/dev/components/grid.d.ts +1 -0
  210. package/dev/components/grid.d.ts.map +1 -1
  211. package/dev/components/grid.js +2 -7
  212. package/dev/components/grid.js.map +1 -1
  213. package/dev/components/heading.d.ts +19 -0
  214. package/dev/components/heading.d.ts.map +1 -0
  215. package/dev/components/heading.js +86 -0
  216. package/dev/components/heading.js.map +1 -0
  217. package/dev/components/input.d.ts +3 -0
  218. package/dev/components/input.d.ts.map +1 -1
  219. package/dev/components/input.js +4 -5
  220. package/dev/components/input.js.map +1 -1
  221. package/dev/components/layout.d.ts +4 -3
  222. package/dev/components/layout.d.ts.map +1 -1
  223. package/dev/components/layout.js +10 -12
  224. package/dev/components/layout.js.map +1 -1
  225. package/dev/components/link.d.ts +1 -0
  226. package/dev/components/link.d.ts.map +1 -1
  227. package/dev/components/link.js +2 -1
  228. package/dev/components/link.js.map +1 -1
  229. package/dev/components/progress.d.ts +1 -0
  230. package/dev/components/progress.d.ts.map +1 -1
  231. package/dev/components/progress.js +2 -4
  232. package/dev/components/progress.js.map +1 -1
  233. package/dev/components/range.d.ts +6 -2
  234. package/dev/components/range.d.ts.map +1 -1
  235. package/dev/components/range.js +10 -15
  236. package/dev/components/range.js.map +1 -1
  237. package/dev/components/rotate.d.ts +1 -0
  238. package/dev/components/rotate.d.ts.map +1 -1
  239. package/dev/components/rotate.js +2 -4
  240. package/dev/components/rotate.js.map +1 -1
  241. package/dev/components/router.d.ts +1 -0
  242. package/dev/components/router.d.ts.map +1 -1
  243. package/dev/components/router.js +2 -4
  244. package/dev/components/router.js.map +1 -1
  245. package/dev/components/select.d.ts +5 -1
  246. package/dev/components/select.d.ts.map +1 -1
  247. package/dev/components/select.js +9 -9
  248. package/dev/components/select.js.map +1 -1
  249. package/dev/components/skeleton.d.ts +1 -0
  250. package/dev/components/skeleton.d.ts.map +1 -1
  251. package/dev/components/skeleton.js +2 -4
  252. package/dev/components/skeleton.js.map +1 -1
  253. package/dev/components/split.d.ts +6 -1
  254. package/dev/components/split.d.ts.map +1 -1
  255. package/dev/components/split.js +9 -6
  256. package/dev/components/split.js.map +1 -1
  257. package/dev/components/switch.d.ts +2 -0
  258. package/dev/components/switch.d.ts.map +1 -1
  259. package/dev/components/switch.js +3 -4
  260. package/dev/components/switch.js.map +1 -1
  261. package/dev/components/text.d.ts +1 -0
  262. package/dev/components/text.d.ts.map +1 -1
  263. package/dev/components/text.js +2 -5
  264. package/dev/components/text.js.map +1 -1
  265. package/dev/components/time.d.ts +2 -0
  266. package/dev/components/time.d.ts.map +1 -1
  267. package/dev/components/time.js +5 -4
  268. package/dev/components/time.js.map +1 -1
  269. package/dev/components/tooltip.d.ts +1 -0
  270. package/dev/components/tooltip.d.ts.map +1 -1
  271. package/dev/components/tooltip.js +2 -4
  272. package/dev/components/tooltip.js.map +1 -1
  273. package/dev/components/typewriter.d.ts +1 -0
  274. package/dev/components/typewriter.d.ts.map +1 -1
  275. package/dev/components/typewriter.js +2 -6
  276. package/dev/components/typewriter.js.map +1 -1
  277. package/dev/core/global-style.d.ts +1 -1
  278. package/dev/core/global-style.d.ts.map +1 -1
  279. package/dev/core/global-style.js +2 -6
  280. package/dev/core/global-style.js.map +1 -1
  281. package/dev/core/super-anchor.d.ts.map +1 -1
  282. package/dev/core/super-anchor.js +3 -6
  283. package/dev/core/super-anchor.js.map +1 -1
  284. package/dev/core/super-input.d.ts +1 -1
  285. package/dev/core/super-input.d.ts.map +1 -1
  286. package/dev/core/super-input.js +2 -3
  287. package/dev/core/super-input.js.map +1 -1
  288. package/dev/core/super-openable.js +1 -1
  289. package/dev/core/super-openable.js.map +1 -1
  290. package/dev/heading.d.ts +9 -0
  291. package/dev/heading.d.ts.map +1 -0
  292. package/dev/heading.js +5 -0
  293. package/dev/heading.js.map +1 -0
  294. package/dev/index.d.ts +2 -0
  295. package/dev/index.d.ts.map +1 -1
  296. package/dev/index.js +2 -0
  297. package/dev/index.js.map +1 -1
  298. package/dialog.js +1 -1
  299. package/dialog.js.map +1 -1
  300. package/divider.js +1 -1
  301. package/divider.js.map +1 -1
  302. package/dragbox.js +1 -1
  303. package/dragbox.js.map +1 -1
  304. package/flex.js +1 -1
  305. package/flex.js.map +1 -1
  306. package/form.js +1 -1
  307. package/form.js.map +1 -1
  308. package/grid.js +1 -1
  309. package/grid.js.map +1 -1
  310. package/heading.d.ts +9 -0
  311. package/heading.d.ts.map +1 -0
  312. package/heading.js +2 -0
  313. package/heading.js.map +1 -0
  314. package/index.d.ts +2 -0
  315. package/index.d.ts.map +1 -1
  316. package/index.js +1 -1
  317. package/input.js +1 -1
  318. package/input.js.map +1 -1
  319. package/layout.js +1 -1
  320. package/layout.js.map +1 -1
  321. package/link.js +1 -1
  322. package/link.js.map +1 -1
  323. package/package.json +2 -2
  324. package/progress.js +1 -1
  325. package/progress.js.map +1 -1
  326. package/range.js +1 -1
  327. package/range.js.map +1 -1
  328. package/rotate.js +1 -1
  329. package/rotate.js.map +1 -1
  330. package/router.js +1 -1
  331. package/router.js.map +1 -1
  332. package/select.js +1 -1
  333. package/select.js.map +1 -1
  334. package/skeleton.js +1 -1
  335. package/skeleton.js.map +1 -1
  336. package/split.js +1 -1
  337. package/split.js.map +1 -1
  338. package/src/badge.ts +13 -0
  339. package/src/components/alert.ts +3 -6
  340. package/src/components/avatar.ts +2 -5
  341. package/src/components/badge.ts +104 -0
  342. package/src/components/breath.ts +2 -4
  343. package/src/components/button.ts +5 -12
  344. package/src/components/card.ts +2 -4
  345. package/src/components/carousel.ts +4 -6
  346. package/src/components/details.ts +3 -5
  347. package/src/components/dialog.ts +3 -5
  348. package/src/components/divider.ts +2 -2
  349. package/src/components/dragbox.ts +2 -5
  350. package/src/components/flex.ts +2 -6
  351. package/src/components/form.ts +2 -3
  352. package/src/components/grid.ts +2 -7
  353. package/src/components/heading.ts +89 -0
  354. package/src/components/input.ts +4 -5
  355. package/src/components/layout.ts +5 -7
  356. package/src/components/link.ts +2 -1
  357. package/src/components/progress.ts +2 -4
  358. package/src/components/range.ts +10 -17
  359. package/src/components/rotate.ts +2 -4
  360. package/src/components/router.ts +2 -4
  361. package/src/components/select.ts +9 -10
  362. package/src/components/skeleton.ts +2 -4
  363. package/src/components/split.ts +9 -7
  364. package/src/components/switch.ts +3 -4
  365. package/src/components/text.ts +2 -5
  366. package/src/components/time.ts +5 -4
  367. package/src/components/tooltip.ts +2 -4
  368. package/src/components/typewriter.ts +2 -6
  369. package/src/core/global-style.ts +2 -7
  370. package/src/core/super-anchor.ts +3 -6
  371. package/src/core/super-input.ts +2 -4
  372. package/src/core/super-openable.ts +1 -1
  373. package/src/heading.ts +13 -0
  374. package/src/index.ts +2 -0
  375. package/switch.js +1 -1
  376. package/switch.js.map +1 -1
  377. package/text.js +1 -1
  378. package/text.js.map +1 -1
  379. package/time.js +1 -1
  380. package/time.js.map +1 -1
  381. package/tooltip.js +1 -1
  382. package/tooltip.js.map +1 -1
  383. package/typewriter.js +1 -1
  384. package/typewriter.js.map +1 -1
  385. package/vscode.html-custom-data.json +1 -1
  386. package/web-types.json +1 -1
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { isNil } from "@godown/element/tools/lib.js";
1
+ import { attr, godown, isNil, styles } from "@godown/element";
5
2
  import { css, html, type TemplateResult } from "lit";
6
3
  import { property } from "lit/decorators.js";
7
4
 
@@ -100,3 +97,4 @@ class Progress extends GlobalStyle {
100
97
  }
101
98
 
102
99
  export default Progress;
100
+ export { Progress };
@@ -1,10 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { part } from "@godown/element/decorators/part.js";
3
- import { styles } from "@godown/element/decorators/styles.js";
4
- import { attr } from "@godown/element/directives/attr.js";
5
- import { classList } from "@godown/element/directives/class-list.js";
6
- import { joinProperties } from "@godown/element/tools/css.js";
7
- import { isNil } from "@godown/element/tools/lib.js";
1
+ import { attr, classList, godown, isNil, joinProperties, part, styles } from "@godown/element";
8
2
  import { css, html, type TemplateResult } from "lit";
9
3
  import { property, queryAll, state } from "lit/decorators.js";
10
4
 
@@ -21,6 +15,11 @@ const cssScope = scopePrefix(protoName);
21
15
  *
22
16
  * Number has 1 handle, the array has the number of its elements and the minimum is 2.
23
17
  *
18
+ * @fires input - Fires when the input value changes.
19
+ * @fires change - Fires when the input value changes.
20
+ * @fires range - Fires when the value changes.
21
+ * @fires focus - Fires when the handle is focused.
22
+ * @fires blur - Fires when the handle is blurred.
24
23
  * @category input
25
24
  */
26
25
  @godown(protoName)
@@ -260,11 +259,13 @@ class Range extends SuperInput {
260
259
  if (!this._keydownEvent) {
261
260
  this._keydownEvent = this.events.add(document, "keydown", this.createKeydownEvent(index));
262
261
  }
262
+ this.dispatchEvent(new CustomEvent("focus", { detail: index }));
263
263
  }
264
264
 
265
265
  blurHandle(): void {
266
266
  this.lastFocus = undefined;
267
267
  this._keydownEvent = this.events.remove(document, "keydown", this._keydownEvent);
268
+ this.dispatchEvent(new CustomEvent("blur"));
268
269
  }
269
270
 
270
271
  protected createKeydownEvent(index: number) {
@@ -289,12 +290,6 @@ class Range extends SuperInput {
289
290
  };
290
291
  }
291
292
 
292
- protected _handleMousedownEnd(e: MouseEvent): void {
293
- this.lastFocus = 0;
294
- this.createMousedownListener(this.setEnd)(e);
295
- this.focusHandle(0);
296
- }
297
-
298
293
  createSetValue(index: number) {
299
294
  return (numberOrModifier: number | ((value: number) => number)): void => {
300
295
  const number = typeof numberOrModifier === "number"
@@ -306,13 +301,10 @@ class Range extends SuperInput {
306
301
  newValue[index] = number;
307
302
  }
308
303
  this.value = newValue;
304
+ this.dispatchEvent(new CustomEvent("range", { detail: this.value }));
309
305
  };
310
306
  }
311
307
 
312
- setEnd(value: number): void {
313
- this.createSetValue((this.value as any)?.length - 1 || 0)(value);
314
- }
315
-
316
308
  /**
317
309
  * Compute value from event.
318
310
  */
@@ -402,3 +394,4 @@ class Range extends SuperInput {
402
394
  }
403
395
 
404
396
  export default Range;
397
+ export { Range };
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { part } from "@godown/element/decorators/part.js";
3
- import { styles } from "@godown/element/decorators/styles.js";
4
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { godown, htmlSlot, part, styles } from "@godown/element";
5
2
  import { css, html, type TemplateResult } from "lit";
6
3
 
7
4
  import { GlobalStyle, scopePrefix } from "../core/global-style.js";
@@ -93,3 +90,4 @@ class Rotate extends GlobalStyle {
93
90
  }
94
91
 
95
92
  export default Rotate;
93
+ export { Rotate };
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
4
- import { RouteTree } from "@godown/element/tools/route-tree.js";
1
+ import { godown, htmlSlot, RouteTree, styles } from "@godown/element";
5
2
  import { css, type PropertyValueMap, type TemplateResult } from "lit";
6
3
  import { property, state } from "lit/decorators.js";
7
4
 
@@ -275,3 +272,4 @@ class Router extends GlobalStyle {
275
272
  }
276
273
 
277
274
  export default Router;
275
+ export { Router };
@@ -1,13 +1,7 @@
1
- import type { HandlerEvent } from "@godown/element";
2
- import { godown } from "@godown/element/decorators/godown.js";
3
- import { part } from "@godown/element/decorators/part.js";
4
- import { styles } from "@godown/element/decorators/styles.js";
5
- import { attr } from "@godown/element/directives/attr.js";
6
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, godown, type HandlerEvent, htmlSlot, part, styles } from "@godown/element";
7
2
  import svgCaretDown from "@godown/f7-icon/icons/chevron-down.js";
8
3
  import { css, html, nothing, type TemplateResult } from "lit";
9
4
  import { property, state } from "lit/decorators.js";
10
- import { ifDefined } from "lit/directives/if-defined.js";
11
5
 
12
6
  import Input from "./input.js";
13
7
 
@@ -45,6 +39,9 @@ const protoName = "select";
45
39
  *
46
40
  * Input will filter the element.
47
41
  *
42
+ * @fires input - Fires when the input value changes.
43
+ * @fires change - Fires when the input value changes.
44
+ * @fires select - Fires when select an option.
48
45
  * @slot - Options.
49
46
  * @category input
50
47
  */
@@ -119,7 +116,7 @@ class Select extends Input {
119
116
  this._renderPrefix(),
120
117
  html`<input
121
118
  part="input"
122
- dir="${ifDefined(this.dir)}"
119
+ dir="${this.dir || nothing}"
123
120
  id="${this.makeId}"
124
121
  .value="${this.text}"
125
122
  type="${this.type}"
@@ -229,7 +226,7 @@ class Select extends Input {
229
226
  operation = 1;
230
227
  }
231
228
  }
232
- this.dispatchEvent(new CustomEvent("change", { detail: this.namevalue() }));
229
+ this.dispatchEvent(new CustomEvent("select", { detail: this.value, composed: true }));
233
230
  this.filter();
234
231
  return operation;
235
232
  }
@@ -259,7 +256,8 @@ class Select extends Input {
259
256
  }
260
257
  const s = this._input.value;
261
258
  this.filter(this.multiple ? betweenAt(this._input.selectionStart, s, ",") : s);
262
- this.dispatchEvent(new CustomEvent("input", { detail: this.namevalue() }));
259
+ this.dispatchEvent(new CustomEvent("input", { detail: this.value, composed: true, bubbles: true }));
260
+ this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
263
261
  }
264
262
 
265
263
  focus(options?: FocusOptions): void {
@@ -279,3 +277,4 @@ class Select extends Input {
279
277
  }
280
278
 
281
279
  export default Select;
280
+ export { Select };
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, godown, htmlSlot, styles } from "@godown/element";
5
2
  import iconPhoto from "@godown/f7-icon/icons/photo.js";
6
3
  import { css, html, type TemplateResult } from "lit";
7
4
  import { property, state } from "lit/decorators.js";
@@ -118,3 +115,4 @@ class Skeleton extends GlobalStyle {
118
115
  }
119
116
 
120
117
  export default Skeleton;
118
+ export { Skeleton };
@@ -1,8 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { classList } from "@godown/element/directives/class-list.js";
5
- import { type HandlerEvent } from "@godown/element/element.js";
1
+ import { attr, classList, godown, type HandlerEvent, styles } from "@godown/element";
6
2
  import { css, html, nothing, type TemplateResult } from "lit";
7
3
  import { property, state } from "lit/decorators.js";
8
4
 
@@ -27,6 +23,10 @@ const loop = <T>(len: number, fn: (index?: number) => T) => {
27
23
  *
28
24
  * Delete: will move the focus box forward until the first and no inputs for each.
29
25
  *
26
+ * @fires input - Fires when the input value changes.
27
+ * @fires change - Fires when the input value changes.
28
+ * @fires focus - Fires when the input is focused.
29
+ * @fires blur - Fires when the input is blurred.
30
30
  * @category input
31
31
  */
32
32
  @godown(protoName)
@@ -137,8 +137,7 @@ class Split extends SuperInput {
137
137
  this.fillInput(e.data);
138
138
  this.value = this.currentValue.join("");
139
139
 
140
- this.dispatchEvent(new CustomEvent("input", { detail: this.value, bubbles: true, composed: true }));
141
- this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
140
+ this.dispatchEvent(new CustomEvent("input", { detail: this.value, composed: true, bubbles: true }));
142
141
  }
143
142
 
144
143
  /**
@@ -208,12 +207,14 @@ class Split extends SuperInput {
208
207
  focusAt(i: number): void {
209
208
  this.current = i;
210
209
  this._input.focus();
210
+ this.dispatchEvent(new CustomEvent("focus", { detail: i, bubbles: true, composed: true }));
211
211
  }
212
212
 
213
213
  blur(): void {
214
214
  this._input.blur();
215
215
  this.current = -1;
216
216
  super.blur();
217
+ this.dispatchEvent(new CustomEvent("blur", { bubbles: true, composed: true }));
217
218
  }
218
219
 
219
220
  reset(): void {
@@ -227,3 +228,4 @@ class Split extends SuperInput {
227
228
  }
228
229
 
229
230
  export default Split;
231
+ export { Split };
@@ -1,6 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
1
+ import { attr, godown, styles } from "@godown/element";
4
2
  import { css, html, type TemplateResult } from "lit";
5
3
  import { property, query } from "lit/decorators.js";
6
4
 
@@ -16,6 +14,7 @@ const cssScope = scopePrefix(protoName);
16
14
  * The switch is rectangular by default,
17
15
  * set the round property to rounded switch.
18
16
  *
17
+ * @fires change - Fires when the switch is switched.
19
18
  * @category input
20
19
  */
21
20
  @godown(protoName)
@@ -166,7 +165,6 @@ class Switch extends SuperInput {
166
165
 
167
166
  protected _handleChange(): void {
168
167
  this.checked = this._input.checked;
169
- this.dispatchEvent(new CustomEvent("input", { detail: this.checked, bubbles: true, composed: true }));
170
168
  this.dispatchEvent(new CustomEvent("change", { detail: this.checked, composed: true }));
171
169
  }
172
170
 
@@ -176,3 +174,4 @@ class Switch extends SuperInput {
176
174
  }
177
175
 
178
176
  export default Switch;
177
+ export { Switch };
@@ -1,8 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { classList } from "@godown/element/directives/class-list.js";
5
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, classList, godown, htmlSlot, styles } from "@godown/element";
6
2
  import { css, html, type TemplateResult } from "lit";
7
3
  import { property } from "lit/decorators.js";
8
4
 
@@ -89,3 +85,4 @@ class Text extends GlobalStyle {
89
85
  }
90
86
 
91
87
  export default Text;
88
+ export { Text };
@@ -1,6 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
1
+ import { attr, godown, styles } from "@godown/element";
4
2
  import fmtime from "fmtime";
5
3
  import { css, html, type PropertyValues, type TemplateResult } from "lit";
6
4
  import { property } from "lit/decorators.js";
@@ -12,6 +10,7 @@ const protoName = "time";
12
10
  /**
13
11
  * {@linkcode Time} renders a formatting time.
14
12
  *
13
+ * @fires time - Fires when the time changes.
15
14
  * @category display
16
15
  */
17
16
  @godown(protoName)
@@ -50,7 +49,7 @@ class Time extends GlobalStyle {
50
49
  protected timeoutId: number;
51
50
 
52
51
  protected render(): TemplateResult<1> {
53
- return html`<span part="root" ${attr(this.observedRecord)}> ${fmtime(this.format, this.time, this.escape)} </span>`;
52
+ return html`<span part="root" ${attr(this.observedRecord)}>${fmtime(this.format, this.time, this.escape)}</span>`;
54
53
  }
55
54
 
56
55
  protected firstUpdated(): void {
@@ -74,9 +73,11 @@ class Time extends GlobalStyle {
74
73
 
75
74
  startTimeout(): number {
76
75
  return window.setInterval(() => {
76
+ this.dispatchEvent(new CustomEvent("time", { detail: this.time, composed: true }));
77
77
  this.time = new Date(this.time.getTime() + (this.gap || this.timeout));
78
78
  }, Math.abs(this.timeout));
79
79
  }
80
80
  }
81
81
 
82
82
  export default Time;
83
+ export { Time };
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, godown, htmlSlot, styles } from "@godown/element";
5
2
  import { css, html, type TemplateResult } from "lit";
6
3
  import { property } from "lit/decorators.js";
7
4
 
@@ -143,3 +140,4 @@ class Tooltip extends SuperOpenable {
143
140
  }
144
141
 
145
142
  export default Tooltip;
143
+ export { Tooltip };
@@ -1,9 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { attr } from "@godown/element/directives/attr.js";
4
- import { classList } from "@godown/element/directives/class-list.js";
5
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
6
- import { random } from "@godown/element/tools/lib.js";
1
+ import { attr, classList, godown, htmlSlot, random, styles } from "@godown/element";
7
2
  import { css, html, type PropertyValueMap, type TemplateResult } from "lit";
8
3
  import { property, query, state } from "lit/decorators.js";
9
4
 
@@ -159,3 +154,4 @@ class Typewriter extends GlobalStyle {
159
154
  }
160
155
 
161
156
  export default Typewriter;
157
+ export { Typewriter };
@@ -1,13 +1,8 @@
1
1
  import { type Gradients, presetsRGB } from "@godown/colors/presets-rgb.js";
2
2
  import { travel } from "@godown/colors/travel.js";
3
- import GodownElement from "@godown/element";
4
- import GodownConfig from "@godown/element/config.js";
5
- import { joinProperties } from "@godown/element/tools/css.js";
6
- import { trim } from "@godown/element/tools/lib.js";
3
+ import { GodownElement, joinProperties, trim } from "@godown/element";
7
4
  import { css, type CSSResult, unsafeCSS } from "lit";
8
5
 
9
- GodownElement.godownConfig ||= new GodownConfig();
10
-
11
6
  export class GlobalStyle extends GodownElement {
12
7
  }
13
8
 
@@ -101,5 +96,5 @@ GlobalStyle.styles = [
101
96
  all: inherit;
102
97
  display: revert;
103
98
  }
104
- `,
99
+ `,
105
100
  ];
@@ -1,9 +1,6 @@
1
- import { styles } from "@godown/element/decorators/index.js";
2
- import { attr } from "@godown/element/directives/attr.js";
3
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
4
- import { css, html, type TemplateResult } from "lit";
1
+ import { attr, htmlSlot, styles } from "@godown/element";
2
+ import { css, html, nothing, type TemplateResult } from "lit";
5
3
  import { property } from "lit/decorators.js";
6
- import { ifDefined } from "lit/directives/if-defined.js";
7
4
 
8
5
  import { GlobalStyle } from "./global-style.js";
9
6
 
@@ -44,7 +41,7 @@ class SuperAnchor extends GlobalStyle {
44
41
  return html`<a
45
42
  part="root"
46
43
  ${attr(this.observedRecord)}
47
- href="${ifDefined(this.href)}"
44
+ href="${this.href || nothing}"
48
45
  target="${this.target}"
49
46
  @click=${this._handleClick}
50
47
  >
@@ -1,7 +1,4 @@
1
- import { part } from "@godown/element/decorators/part.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { htmlSlot } from "@godown/element/directives/index.js";
4
- import type { HandlerEvent } from "@godown/element/element.js";
1
+ import { type HandlerEvent, htmlSlot, part, styles } from "@godown/element";
5
2
  import iconEyeSlashFill from "@godown/f7-icon/icons/eye-slash-fill.js";
6
3
  import { css, html, type TemplateResult } from "lit";
7
4
  import { property } from "lit/decorators.js";
@@ -148,6 +145,7 @@ class SuperInput extends GlobalStyle {
148
145
  composed: true,
149
146
  }),
150
147
  );
148
+ this.dispatchEvent(new CustomEvent("input", { detail: this.value, composed: true, bubbles: true }));
151
149
  this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
152
150
  }
153
151
 
@@ -25,7 +25,7 @@ class SuperOpenable extends GlobalStyle {
25
25
  protected updated(changedProperties: PropertyValueMap<this>): void {
26
26
  const open = changedProperties.get("open");
27
27
  if (open !== undefined) {
28
- this.dispatchEvent(new CustomEvent("change", { detail: this.open }));
28
+ this.dispatchEvent(new CustomEvent("change", { detail: this.open, composed: true }));
29
29
  }
30
30
  }
31
31
 
package/src/heading.ts ADDED
@@ -0,0 +1,13 @@
1
+ import Heading from "./components/heading.js";
2
+
3
+ Heading.define();
4
+
5
+ export default Heading;
6
+
7
+ export * from "./components/heading.js";
8
+
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ "godown-heading": Heading;
12
+ }
13
+ }
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { default as Alert } from "./alert.js";
2
2
  export { default as Avatar } from "./avatar.js";
3
+ export { default as Badge } from "./badge.js";
3
4
  export { default as Breath } from "./breath.js";
4
5
  export { default as Button } from "./button.js";
5
6
  export { default as Card } from "./card.js";
@@ -11,6 +12,7 @@ export { default as Dragbox } from "./dragbox.js";
11
12
  export { default as Flex } from "./flex.js";
12
13
  export { default as Form } from "./form.js";
13
14
  export { default as Grid } from "./grid.js";
15
+ export { default as Heading } from "./heading.js";
14
16
  export { default as Input } from "./input.js";
15
17
  export { default as Layout } from "./layout.js";
16
18
  export { default as Link } from "./link.js";
package/switch.js CHANGED
@@ -1,2 +1,2 @@
1
- import e from"./components/switch.js";e.define();export{e as default};
1
+ import o from"./components/switch.js";export{Switch}from"./components/switch.js";o.define();export{o as default};
2
2
  //# sourceMappingURL=switch.js.map
package/switch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sources":["src/switch.ts"],"sourcesContent":null,"names":["Switch","define"],"mappings":"sCAEAA,EAAOC"}
1
+ {"version":3,"file":"switch.js","sources":["src/switch.ts"],"sourcesContent":null,"names":["Switch","define"],"mappings":"iFAEAA,EAAOC"}
package/text.js CHANGED
@@ -1,2 +1,2 @@
1
- import e from"./components/text.js";e.define();export{e as default};
1
+ import t from"./components/text.js";export{Text}from"./components/text.js";t.define();export{t as default};
2
2
  //# sourceMappingURL=text.js.map
package/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sources":["src/text.ts"],"sourcesContent":null,"names":["Text","define"],"mappings":"oCAEAA,EAAKC"}
1
+ {"version":3,"file":"text.js","sources":["src/text.ts"],"sourcesContent":null,"names":["Text","define"],"mappings":"2EAEAA,EAAKC"}
package/time.js CHANGED
@@ -1,2 +1,2 @@
1
- import e from"./components/time.js";e.define();export{e as default};
1
+ import e from"./components/time.js";export{Time}from"./components/time.js";e.define();export{e as default};
2
2
  //# sourceMappingURL=time.js.map
package/time.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sources":["src/time.ts"],"sourcesContent":null,"names":["Time","define"],"mappings":"oCAEAA,EAAKC"}
1
+ {"version":3,"file":"time.js","sources":["src/time.ts"],"sourcesContent":null,"names":["Time","define"],"mappings":"2EAEAA,EAAKC"}
package/tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- import o from"./components/tooltip.js";o.define();export{o as default};
1
+ import o from"./components/tooltip.js";export{Tooltip}from"./components/tooltip.js";o.define();export{o as default};
2
2
  //# sourceMappingURL=tooltip.js.map
package/tooltip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["src/tooltip.ts"],"sourcesContent":null,"names":["Tooltip","define"],"mappings":"uCAEAA,EAAQC"}
1
+ {"version":3,"file":"tooltip.js","sources":["src/tooltip.ts"],"sourcesContent":null,"names":["Tooltip","define"],"mappings":"oFAEAA,EAAQC"}
package/typewriter.js CHANGED
@@ -1,2 +1,2 @@
1
- import e from"./components/typewriter.js";e.define();export{e as default};
1
+ import e from"./components/typewriter.js";export{Typewriter}from"./components/typewriter.js";e.define();export{e as default};
2
2
  //# sourceMappingURL=typewriter.js.map
package/typewriter.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"typewriter.js","sources":["src/typewriter.ts"],"sourcesContent":null,"names":["Typewriter","define"],"mappings":"0CAEAA,EAAWC"}
1
+ {"version":3,"file":"typewriter.js","sources":["src/typewriter.ts"],"sourcesContent":null,"names":["Typewriter","define"],"mappings":"6FAEAA,EAAWC"}
@@ -1 +1 @@
1
- {"version":1.1,"tags":[{"name":"godown-typewriter","description":"Typewriter renders a typewriter effect to text.\n---\n### **Events:**\n ","attributes":[{"name":"text","description":"Raw text.","values":[]},{"name":"stopped","description":"Start immediately after Typewriter.firstUpdated.","values":[]},{"name":"ended","description":"If true, hide the cursor","values":[]},{"name":"max","description":"Maximum random time.","values":[]},{"name":"min","description":"Minimum random time.","values":[]},{"name":"delay","description":"Fixed time.","values":[]},{"name":"index","description":"The index at the beginning.","values":[]}],"references":[]},{"name":"godown-tooltip","description":"Tooltip provide tooltip for slot elements.\nIf it has the tip property, ignore the slot tip.\n---\n### **Events:**\n - **change**\n### **Slots:**\n - **tip** - Tip element if no `tip` provided.\n- _default_ - Content.","attributes":[{"name":"tip","description":"Tip text, if there is a value, the slot will be ignored.","values":[]},{"name":"direction","description":"Direction of opening the tip.","values":[{"name":"Direction8"}]},{"name":"align","description":"Content alignment.","values":[{"name":"center"},{"name":"flex-start"},{"name":"flex-end"},{"name":"start"},{"name":"end"}]},{"name":"propagation","description":"If true, allow penetration of the tip.","values":[]},{"name":"type","description":"How can tips be triggered.\nIf `focus`, element will be focusable, open tip when focused.\nIf `hover`, element will open tip when hovered.","values":[{"name":"hover"},{"name":"focus"}]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-time","description":"Time renders a formatting time.\n---\n","attributes":[{"name":"escape","description":"Escape symbol.","values":[]},{"name":"format","description":"Format strings.","values":[]},{"name":"time","description":"Time.","values":[{"name":"Date"}]},{"name":"timeout","description":"If there is a value, update every gap or timeout.","values":[]},{"name":"gap","description":"The number of milliseconds that change with each update.","values":[]}],"references":[]},{"name":"godown-text","description":"Text renders nowrap text.\n---\n","attributes":[{"name":"underline","description":"Underline behavior.","values":[{"name":"none"},{"name":"hover"},{"name":"active"},{"name":"always"}]},{"name":"clip","description":"Set background-clip to text.","values":[]}],"references":[]},{"name":"godown-switch","description":"Switch renders a switch.\nThe switch is rectangular by default,\nset the round property to rounded switch.\n---\n### **Events:**\n - **input**\n- **change**","attributes":[{"name":"round","description":"Display rounded.","values":[]},{"name":"checked","description":"Whether this element is selected or not.","values":[]},{"name":"disabled","description":"Disable this element.","values":[]},{"name":"default","description":"Default checked state.","values":[]},{"name":"value","description":"Input value.","values":[]},{"name":"autocomplete","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]}],"references":[]},{"name":"godown-split","description":"Split renders multiple input boxes.\nInput: will move the focus box backward until the complete input from start to end.\nDelete: will move the focus box forward until the first and no inputs for each.\n---\n### **Events:**\n - **input**\n- **change**\n### **Methods:**\n ","attributes":[{"name":"len","description":"The number of input boxes.","values":[]},{"name":"index","description":"Focus index.","values":[]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-skeleton","description":"Skeleton renders a skeleton screen.\n---\n### **Slots:**\n - **loading** - The content if loading is true.\n- _default_ - The content if loading is false.","attributes":[{"name":"type","description":"If \"image\", render a image placeholder.","values":[{"name":"text"},{"name":"image"}]},{"name":"animation","description":"Animation type.\nopacity animation only effect on slotted element and image icon.","values":[{"name":"position"},{"name":"opacity"}]}],"references":[]},{"name":"godown-select","description":"Select is similar to `<select>`.\nElements with the value attribute/property can be used as options.\nThe checked attribute will be added to the selected element.\nMulti-selected state looks the same as single-selected.\nInput will filter the element.\n---\n### **Events:**\n - **change**\n- **input**\n### **Slots:**\n - _default_ - Options.","attributes":[{"name":"text","description":"Selected texts.","values":[]},{"name":"direction","values":[{"name":"top"},{"name":"bottom"}]},{"name":"multiple","values":[]},{"name":"visible","values":[]},{"name":"variant","description":"If outline, the outline is always present.","values":[{"name":"default"},{"name":"outline"}]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-router","description":"Router has basic routing control.\nTo switch routes, use `router-link component`.\nIt has two methods to collect routes.\n1. From field `routes`, an array, each elements require \"path\" and \"component\".\n2. From child elements, which have the slot attribute for matching routes.\nIf only the method 1 is used, set `type` to `\"field\"`.\nIf only the method 2 is used, set `type` to `\"slotted\"`.\n`type` defaults to `\"united\"`, which will try method 1, then method 2.\nIf no routes are matched, the default value (no named slot) will be rendered.\n---\n### **Events:**\n - **change**\n### **Methods:**\n - **fieldComponent(query: _string_): _unknown_** - Get component from routes by query.\n- **slottedComponent(query: _string_): _TemplateResult<1>_** - Get component from slotted elements by query.\n- **collectSlottedRoutes(): _void_** - Reset the route tree, clear cache, collect routes from child elements.\n- **collectFieldRoutes(value: _typeof this.routes_): _void_** - Reset the route tree, clear cache, collect routes from value.\n### **Slots:**\n - _default_ - Display slot when there is no match.\n- ***** - Matching slot will be displayed.","attributes":[{"name":"pathname","description":"Current pathname (equals to location.pathname).","values":[]},{"name":"type","description":"The type of routing sources.\nIf field, it won't collect the slot attribute of the child elements.\nThis property should not be changed after the rendering is complete.","values":[{"name":"united"},{"name":"slotted"},{"name":"field"}]},{"name":"cache","description":"Cache accessed records.\nEmptied at each re-collection.","values":[]}],"references":[]},{"name":"godown-rotate","description":"Rotate Make child elements rotate.\n---\n### **Methods:**\n - **_computeOffset(e: _MouseEvent_): __** - Compute offset.\n```\n`rotateX(${rotateX}rad) rotateY(${rotateY}rad)`\n```","attributes":[],"references":[]},{"name":"godown-range","description":"Range is similar to `<input type=\"range\">`.\nValue accepts number, or array.\nNumber has 1 handle, the array has the number of its elements and the minimum is 2.\n---\n### **Events:**\n - **input**\n- **change**\n### **Methods:**\n \n","attributes":[{"name":"min","description":"Minimum value.","values":[]},{"name":"max","description":"Maximum value.","values":[]},{"name":"step","description":"Sliding step length.","values":[]},{"name":"vertical","description":"Display vertically.","values":[]},{"name":"value","description":"Value, or each of values, will render a handle.\nAccepts number or array of numbers.","values":[]},{"name":"default","description":"The default of `this.value`.","values":[]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]}],"references":[]},{"name":"godown-progress","description":"Progress similar to `<progress>`.\n---\n### **Methods:**\n - **parsePercent(s: _string | number_): __** - Convert s to a percentage without a percent sign.","attributes":[{"name":"max","values":[]},{"name":"min","values":[]},{"name":"value","values":[]}],"references":[]},{"name":"godown-link","description":"Link is used for link jumping.\nSet `type` to `\"push\" `or `\"replace\"`,\nwill invoke the history api and trigger the Router.updateAll.\n---\n","attributes":[{"name":"type","description":"If \"push\", call `history.pushState`.\nIf \"replace\", call `history.replaceState`.\nIf \"normal\", behave like a normal anchor.","values":[{"name":"push"},{"name":"replace"},{"name":"normal"}]},{"name":"suppress","description":"Suppress the update of the Router.","values":[]},{"name":"href","description":"A element href.","values":[]},{"name":"target","description":"A element target.","values":[{"name":"_blank"},{"name":"_self"},{"name":"_parent"},{"name":"_top"}]}],"references":[]},{"name":"godown-input","description":"Input renders a text input.\n---\n### **Events:**\n - **input**\n- **change**","attributes":[{"name":"variant","description":"If outline, the outline is always present.","values":[{"name":"default"},{"name":"outline"}]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-grid","description":"Grid provides gird layout.\n---\n### **Slots:**\n - _default_ - Grid items.","attributes":[{"name":"gap","description":"CSS property `gap`.","values":[]},{"name":"columns","description":"CSS property `grid-template-columns`.\nIf columns is numerical, divide columns equally.","values":[]},{"name":"rows","description":"CSS property `grid-template-rows`.\nIf rows is numerical, divide rows equally.","values":[]},{"name":"content","description":"CSS property `place-content` (`align-content justify-content`).","values":[]},{"name":"items","description":"CSS property `place-items` (`align-items justify-items`).","values":[]}],"references":[]},{"name":"godown-form","description":"Form Gets child element key-value object,\nwhich will be nested if the child element is the same as this element.\n---\n","attributes":[{"name":"name","values":[]}],"references":[]},{"name":"godown-flex","description":"Flex provides flex layout.\n---\n### **Slots:**\n - _default_ - Flex items.","attributes":[{"name":"flex-flow","description":"CSS property `flex-flow` (`flex-direction flex-wrap`).","values":[]},{"name":"gap","description":"CSS property `gap`.","values":[]},{"name":"content","description":"CSS property `justify-content`.","values":[]},{"name":"items","description":"CSS property `align-items`.","values":[]},{"name":"vertical","description":"If true, set flex-direction to \"column\".","values":[]}],"references":[]},{"name":"godown-dragbox","description":"Dragbox does not extend beyond the range of Dragbox.offsetsWidth and Dragbox.offsetsHeight.\n---\n","attributes":[{"name":"x","description":"Position x.","values":[]},{"name":"y","description":"Position y.","values":[]}],"references":[]},{"name":"godown-divider","description":"Divider similar to `<hr>`.\n---\n","attributes":[{"name":"vertical","description":"Vertical display.","values":[]}],"references":[]},{"name":"godown-dialog","description":"Dialog similar to `<dialog>`.\nLike dialog, it listens for submit events and closes itself when the target method is \"dialog\".\nIt listens for the keydown event and also closes itself when the key contained in the key is pressed.\n---\n### **Events:**\n - **change**","attributes":[{"name":"direction","description":"Direction of the opening animation.","values":[{"name":"Direction9"}]},{"name":"modal","description":"Enable modal, blocking event penetration.","values":[]},{"name":"key","description":"Close key.","values":[]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-details","description":"Details similar to `<details>`.\n---\n### **Events:**\n - **change** - Fired when the details is toggled.\n### **Slots:**\n - **summary** - Details summary if no `summary` is provided.\n- _default_ - Details content.","attributes":[{"name":"fill","description":"If it is true, the summary event scope will fill the element.","values":[]},{"name":"summary","description":"Summary text.","values":[]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-carousel","description":"Carousel make the content display as a carousel.\nWhen this component is `firstUpdated`,\nclone the first and last element and make the matching element visible when switching index.\nChild elements should maintain the same size.\nIf no width, it will be the width of the first element.\n---\n### **Slots:**\n - _default_ - Carousel items, should maintain the same size.","attributes":[{"name":"index","description":"The index of the element is displayed for the first time.","values":[]},{"name":"autoChange","description":"If autoChange > 0, the rotation will be automated.","values":[]},{"name":"width","description":"Element width.","values":[]}],"references":[]},{"name":"godown-card","description":"Card renders a card.\nThis may be similar to Layout,\nbut it needs to be specified to enable header and footer.\n---\n### **Slots:**\n - _default_ - The main content of the card.\n- **header** - The header of the card.\n- **footer** - The footer of the card.","attributes":[{"name":"footer","values":[]},{"name":"header","values":[]}],"references":[]},{"name":"godown-button","description":"Button renders a button.\nCreate modal animation upon clicking.\nAvailable colors (background): none, black, gray, white, blue, green, red, orange, pink, purple, yellow, teal.\nDefault color is `black`.\nSet the color to `none` to prevent applying styles.\n---\n","attributes":[{"name":"disabled","description":"Whether to disable this element.","values":[]},{"name":"ghost","description":"Display ghost.","values":[]},{"name":"active","description":"Whether this element is active or not.","values":[]},{"name":"round","description":"Display rounded.","values":[]},{"name":"color","description":"The primary color.","values":[{"name":"none"},{"name":"keyof typeof colors"}]},{"name":"content","description":"Content text.","values":[]}],"references":[]},{"name":"godown-breath","description":"Breath render the text with a breathing effect.\nDynamically generate a breathing effect based on the length of the split text.\nIf there is not enough CSS variable, overrun elements will use the.\ngodown was a css library in its earliest days,\nand this is the component version of its first effect.\nInspired by Vercel home page (2023).\n---\n### **Slots:**\n - _default_ - Breathing parts.","attributes":[{"name":"text","description":"Strings or array of strings,\nif array, divided each element into chunks,\notherwise split strings by whitespace.","values":[{"name":"string[]"}]},{"name":"duration","description":"Effect duration, ending in s or ms.","values":[]}],"references":[]},{"name":"godown-avatar","description":"Avatar renders a avatar.\nRenders as an image if it has a src property,\notherwise falls back to name or nameless slot.\n---\n### **Slots:**\n - _default_ - Display content if no `src` or `name` provided.","attributes":[{"name":"src","description":"Image src.","values":[]},{"name":"name","description":"If the image is not available, display name (call Avatar.format).","values":[]},{"name":"round","description":"Display rounded.","values":[]}],"references":[]},{"name":"godown-alert","description":"Alert renders a alert.\nColor defaults to blue.\n---\n### **Events:**\n - **close**\n### **Slots:**\n - _default_ - Alert content.\n- **title** - Alert title.\n- **icon** - Alert icon.","attributes":[{"name":"call","description":"If it is a legal value, the icon and preset color will be rendered.","values":[{"name":"tip"},{"name":"success"},{"name":"info"},{"name":"warning"},{"name":"danger"},{"name":"error"},{"name":"help"},{"name":"deprecated"}]},{"name":"color","description":"The tone of the component.\nOverrides the color of the call.","values":[{"name":""},{"name":"white"},{"name":"black"},{"name":"gray"},{"name":"green"},{"name":"teal"},{"name":"blue"},{"name":"red"},{"name":"purple"},{"name":"orange"},{"name":"yellow"},{"name":"pink"},{"name":"none"}]},{"name":"autoclose","description":"Close delay, if 0, it will not be closed automatically.","values":[]},{"name":"title","description":"The title is bold and the icon height is the same as it.","values":[]},{"name":"content","description":"Content, if zero value, will be rendered as an unnamed slot.","values":[]},{"name":"hideClose","description":"Set true to hide the close button.\nThe behavior may change due to the variant property.","values":[]},{"name":"variant","description":"Alert variant, if set to `blockquote`, the alert will be rendered as a blockquote.\nIf variant is `\"blockquote\"`, hide the close button.","values":[{"name":"blockquote"},{"name":"dark"},{"name":"light"}]}],"references":[]}]}
1
+ {"version":1.1,"tags":[{"name":"godown-typewriter","description":"Typewriter renders a typewriter effect to text.\n---\n### **Events:**\n ","attributes":[{"name":"text","description":"Raw text.","values":[]},{"name":"stopped","description":"Start immediately after Typewriter.firstUpdated.","values":[]},{"name":"ended","description":"If true, hide the cursor","values":[]},{"name":"max","description":"Maximum random time.","values":[]},{"name":"min","description":"Minimum random time.","values":[]},{"name":"delay","description":"Fixed time.","values":[]},{"name":"index","description":"The index at the beginning.","values":[]}],"references":[]},{"name":"godown-tooltip","description":"Tooltip provide tooltip for slot elements.\nIf it has the tip property, ignore the slot tip.\n---\n### **Events:**\n - **change**\n### **Slots:**\n - **tip** - Tip element if no `tip` provided.\n- _default_ - Content.","attributes":[{"name":"tip","description":"Tip text, if there is a value, the slot will be ignored.","values":[]},{"name":"direction","description":"Direction of opening the tip.","values":[{"name":"Direction8"}]},{"name":"align","description":"Content alignment.","values":[{"name":"center"},{"name":"flex-start"},{"name":"flex-end"},{"name":"start"},{"name":"end"}]},{"name":"propagation","description":"If true, allow penetration of the tip.","values":[]},{"name":"type","description":"How can tips be triggered.\nIf `focus`, element will be focusable, open tip when focused.\nIf `hover`, element will open tip when hovered.","values":[{"name":"hover"},{"name":"focus"}]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-time","description":"Time renders a formatting time.\n---\n### **Events:**\n - **time** - Fires when the time changes.","attributes":[{"name":"escape","description":"Escape symbol.","values":[]},{"name":"format","description":"Format strings.","values":[]},{"name":"time","description":"Time.","values":[{"name":"Date"}]},{"name":"timeout","description":"If there is a value, update every gap or timeout.","values":[]},{"name":"gap","description":"The number of milliseconds that change with each update.","values":[]}],"references":[]},{"name":"godown-text","description":"Text renders nowrap text.\n---\n","attributes":[{"name":"underline","description":"Underline behavior.","values":[{"name":"none"},{"name":"hover"},{"name":"active"},{"name":"always"}]},{"name":"clip","description":"Set background-clip to text.","values":[]}],"references":[]},{"name":"godown-switch","description":"Switch renders a switch.\nThe switch is rectangular by default,\nset the round property to rounded switch.\n---\n### **Events:**\n - **change** - Fires when the switch is switched.\n- **input**","attributes":[{"name":"round","description":"Display rounded.","values":[]},{"name":"checked","description":"Whether this element is selected or not.","values":[]},{"name":"disabled","description":"Disable this element.","values":[]},{"name":"default","description":"Default checked state.","values":[]},{"name":"value","description":"Input value.","values":[]},{"name":"autocomplete","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]}],"references":[]},{"name":"godown-split","description":"Split renders multiple input boxes.\nInput: will move the focus box backward until the complete input from start to end.\nDelete: will move the focus box forward until the first and no inputs for each.\n---\n### **Events:**\n - **input** - Fires when the input value changes.\n- **focus** - Fires when the input is focused.\n- **blur** - Fires when the input is blurred.\n- **change** - Fires when the input value changes.\n### **Methods:**\n ","attributes":[{"name":"len","description":"The number of input boxes.","values":[]},{"name":"index","description":"Focus index.","values":[]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-skeleton","description":"Skeleton renders a skeleton screen.\n---\n### **Slots:**\n - **loading** - The content if loading is true.\n- _default_ - The content if loading is false.","attributes":[{"name":"type","description":"If \"image\", render a image placeholder.","values":[{"name":"text"},{"name":"image"}]},{"name":"animation","description":"Animation type.\nopacity animation only effect on slotted element and image icon.","values":[{"name":"position"},{"name":"opacity"}]}],"references":[]},{"name":"godown-select","description":"Select is similar to `<select>`.\nElements with the value attribute/property can be used as options.\nThe checked attribute will be added to the selected element.\nMulti-selected state looks the same as single-selected.\nInput will filter the element.\n---\n### **Events:**\n - **select** - Fires when select an option.\n- **input** - Fires when the input value changes.\n- **change** - Fires when the input value changes.\n### **Slots:**\n - _default_ - Options.","attributes":[{"name":"text","description":"Selected texts.","values":[]},{"name":"direction","values":[{"name":"top"},{"name":"bottom"}]},{"name":"multiple","values":[]},{"name":"visible","values":[]},{"name":"variant","description":"If outline, the outline is always present.","values":[{"name":"default"},{"name":"outline"}]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-router","description":"Router has basic routing control.\nTo switch routes, use `router-link component`.\nIt has two methods to collect routes.\n1. From field `routes`, an array, each elements require \"path\" and \"component\".\n2. From child elements, which have the slot attribute for matching routes.\nIf only the method 1 is used, set `type` to `\"field\"`.\nIf only the method 2 is used, set `type` to `\"slotted\"`.\n`type` defaults to `\"united\"`, which will try method 1, then method 2.\nIf no routes are matched, the default value (no named slot) will be rendered.\n---\n### **Events:**\n - **change**\n### **Methods:**\n - **fieldComponent(query: _string_): _unknown_** - Get component from routes by query.\n- **slottedComponent(query: _string_): _TemplateResult<1>_** - Get component from slotted elements by query.\n- **collectSlottedRoutes(): _void_** - Reset the route tree, clear cache, collect routes from child elements.\n- **collectFieldRoutes(value: _typeof this.routes_): _void_** - Reset the route tree, clear cache, collect routes from value.\n### **Slots:**\n - _default_ - Display slot when there is no match.\n- ***** - Matching slot will be displayed.","attributes":[{"name":"pathname","description":"Current pathname (equals to location.pathname).","values":[]},{"name":"type","description":"The type of routing sources.\nIf field, it won't collect the slot attribute of the child elements.\nThis property should not be changed after the rendering is complete.","values":[{"name":"united"},{"name":"slotted"},{"name":"field"}]},{"name":"cache","description":"Cache accessed records.\nEmptied at each re-collection.","values":[]}],"references":[]},{"name":"godown-rotate","description":"Rotate Make child elements rotate.\n---\n### **Methods:**\n - **_computeOffset(e: _MouseEvent_): __** - Compute offset.\n```\n`rotateX(${rotateX}rad) rotateY(${rotateY}rad)`\n```","attributes":[],"references":[]},{"name":"godown-range","description":"Range is similar to `<input type=\"range\">`.\nValue accepts number, or array.\nNumber has 1 handle, the array has the number of its elements and the minimum is 2.\n---\n### **Events:**\n - **focus** - Fires when the handle is focused.\n- **blur** - Fires when the handle is blurred.\n- **range** - Fires when the value changes.\n- **input** - Fires when the input value changes.\n- **change** - Fires when the input value changes.\n### **Methods:**\n \n","attributes":[{"name":"min","description":"Minimum value.","values":[]},{"name":"max","description":"Maximum value.","values":[]},{"name":"step","description":"Sliding step length.","values":[]},{"name":"vertical","description":"Display vertically.","values":[]},{"name":"value","description":"Value, or each of values, will render a handle.\nAccepts number or array of numbers.","values":[]},{"name":"default","description":"The default of `this.value`.","values":[]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]}],"references":[]},{"name":"godown-progress","description":"Progress similar to `<progress>`.\n---\n### **Methods:**\n - **parsePercent(s: _string | number_): __** - Convert s to a percentage without a percent sign.","attributes":[{"name":"max","values":[]},{"name":"min","values":[]},{"name":"value","values":[]}],"references":[]},{"name":"godown-link","description":"Link is used for link jumping.\nSet `type` to `\"push\" `or `\"replace\"`,\nwill invoke the history api and trigger the Router.updateAll.\n---\n","attributes":[{"name":"type","description":"If \"push\", call `history.pushState`.\nIf \"replace\", call `history.replaceState`.\nIf \"normal\", behave like a normal anchor.","values":[{"name":"push"},{"name":"replace"},{"name":"normal"}]},{"name":"suppress","description":"Suppress the update of the Router.","values":[]},{"name":"href","description":"A element href.","values":[]},{"name":"target","description":"A element target.","values":[{"name":"_blank"},{"name":"_self"},{"name":"_parent"},{"name":"_top"}]}],"references":[]},{"name":"godown-layout","description":"Layout renders slot and optional top header, bottom footer.\n---\n### **Slots:**\n - _default_ - The main content of the layout.\n- **header** - The header of the layout.\n- **footer** - The footer of the layout.","attributes":[{"name":"noHeader","description":"If true, remove the header slot.","values":[]},{"name":"noFooter","description":"If true, remove the footer slot.","values":[]},{"name":"sticky","description":"If true, header will sticky.","values":[]}],"references":[]},{"name":"godown-input","description":"Input renders a text input.\n---\n### **Events:**\n - **input** - Fires when the input value changes.\n- **change** - Fires when the input value changes.","attributes":[{"name":"variant","description":"If outline, the outline is always present.","values":[{"name":"default"},{"name":"outline"}]},{"name":"autocomplete","values":[]},{"name":"disabled","values":[]},{"name":"type","values":[{"name":"InputType"}]},{"name":"placeholder","values":[]},{"name":"name","values":[]},{"name":"value","values":[]},{"name":"default","description":"default property records the default or initial value and is used to reset the input.","values":[]}],"references":[]},{"name":"godown-heading","description":"Heading renders a heading.\nIf the id is provided, the anchor will be displayed.\n---\n### **Slots:**\n - _default_ - The content of the heading.","attributes":[{"name":"as","values":[{"name":"h1"},{"name":"h2"},{"name":"h3"},{"name":"h4"},{"name":"h5"},{"name":"h6"}]},{"name":"anchor","values":[]}],"references":[]},{"name":"godown-grid","description":"Grid provides gird layout.\n---\n### **Slots:**\n - _default_ - Grid items.","attributes":[{"name":"gap","description":"CSS property `gap`.","values":[]},{"name":"columns","description":"CSS property `grid-template-columns`.\nIf columns is numerical, divide columns equally.","values":[]},{"name":"rows","description":"CSS property `grid-template-rows`.\nIf rows is numerical, divide rows equally.","values":[]},{"name":"content","description":"CSS property `place-content` (`align-content justify-content`).","values":[]},{"name":"items","description":"CSS property `place-items` (`align-items justify-items`).","values":[]}],"references":[]},{"name":"godown-form","description":"Form Gets child element key-value object,\nwhich will be nested if the child element is the same as this element.\n---\n","attributes":[{"name":"name","values":[]}],"references":[]},{"name":"godown-flex","description":"Flex provides flex layout.\n---\n### **Slots:**\n - _default_ - Flex items.","attributes":[{"name":"flex-flow","description":"CSS property `flex-flow` (`flex-direction flex-wrap`).","values":[]},{"name":"gap","description":"CSS property `gap`.","values":[]},{"name":"content","description":"CSS property `justify-content`.","values":[]},{"name":"items","description":"CSS property `align-items`.","values":[]},{"name":"vertical","description":"If true, set flex-direction to \"column\".","values":[]}],"references":[]},{"name":"godown-dragbox","description":"Dragbox does not extend beyond the range of Dragbox.offsetsWidth and Dragbox.offsetsHeight.\n---\n","attributes":[{"name":"x","description":"Position x.","values":[]},{"name":"y","description":"Position y.","values":[]}],"references":[]},{"name":"godown-divider","description":"Divider similar to `<hr>`.\n---\n","attributes":[{"name":"vertical","description":"Vertical display.","values":[]}],"references":[]},{"name":"godown-dialog","description":"Dialog similar to `<dialog>`.\nLike dialog, it listens for submit events and closes itself when the target method is \"dialog\".\nIt listens for the keydown event and also closes itself when the key contained in the key is pressed.\n---\n### **Events:**\n - **change** - Fires when the open changes.","attributes":[{"name":"direction","description":"Direction of the opening animation.","values":[{"name":"Direction9"}]},{"name":"modal","description":"Enable modal, blocking event penetration.","values":[]},{"name":"key","description":"Close key.","values":[]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-details","description":"Details similar to `<details>`.\n---\n### **Events:**\n - **change** - Fired when the open changes.\n### **Slots:**\n - **summary** - Details summary if no `summary` is provided.\n- _default_ - Details content.","attributes":[{"name":"fill","description":"If it is true, the summary event scope will fill the element.","values":[]},{"name":"summary","description":"Summary text.","values":[]},{"name":"open","description":"Open the content.","values":[]}],"references":[]},{"name":"godown-carousel","description":"Carousel make the content display as a carousel.\nWhen this component is `firstUpdated`,\nclone the first and last element and make the matching element visible when switching index.\nChild elements should maintain the same size.\nIf no width, it will be the width of the first element.\n---\n### **Events:**\n - **change** - Fired when the index changes.\n### **Slots:**\n - _default_ - Carousel items, should maintain the same size.","attributes":[{"name":"index","description":"The index of the element is displayed for the first time.","values":[]},{"name":"autoChange","description":"If autoChange > 0, the rotation will be automated.","values":[]},{"name":"width","description":"Element width.","values":[]}],"references":[]},{"name":"godown-card","description":"Card renders a card.\nThis may be similar to Layout,\nbut it needs to be specified to enable header and footer.\n---\n### **Slots:**\n - _default_ - The main content of the card.\n- **header** - The header of the card.\n- **footer** - The footer of the card.","attributes":[{"name":"footer","values":[]},{"name":"header","values":[]}],"references":[]},{"name":"godown-button","description":"Button renders a button.\nCreate modal animation upon clicking.\nAvailable colors (background): none, black, gray, white, blue, green, red, orange, pink, purple, yellow, teal.\nDefault color is `black`.\nSet the color to `none` to prevent applying styles.\n---\n","attributes":[{"name":"disabled","description":"Whether to disable this element.","values":[]},{"name":"ghost","description":"Display ghost.","values":[]},{"name":"active","description":"Whether this element is active or not.","values":[]},{"name":"round","description":"Display rounded.","values":[]},{"name":"color","description":"The primary color.","values":[{"name":"none"},{"name":"keyof typeof colors"}]},{"name":"content","description":"Content text.","values":[]}],"references":[]},{"name":"godown-breath","description":"Breath render the text with a breathing effect.\nDynamically generate a breathing effect based on the length of the split text.\nIf there is not enough CSS variable, overrun elements will use the.\ngodown was a css library in its earliest days,\nand this is the component version of its first effect.\nInspired by Vercel home page (2023).\n---\n### **Slots:**\n - _default_ - Breathing parts.","attributes":[{"name":"text","description":"Strings or array of strings,\nif array, divided each element into chunks,\notherwise split strings by whitespace.","values":[{"name":"string[]"}]},{"name":"duration","description":"Effect duration, ending in s or ms.","values":[]}],"references":[]},{"name":"godown-badge","description":"Badge renders a badge.\n---\n","attributes":[{"name":"position","values":[{"name":"Position"}]},{"name":"value","values":[]},{"name":"dot","values":[]},{"name":"max","values":[]}],"references":[]},{"name":"godown-avatar","description":"Avatar renders a avatar.\nRenders as an image if it has a src property,\notherwise falls back to name or nameless slot.\n---\n### **Slots:**\n - _default_ - Display content if no `src` or `name` provided.","attributes":[{"name":"src","description":"Image src.","values":[]},{"name":"name","description":"If the image is not available, display name (call Avatar.format).","values":[]},{"name":"round","description":"Display rounded.","values":[]}],"references":[]},{"name":"godown-alert","description":"Alert renders a alert.\nColor defaults to blue.\n---\n### **Events:**\n - **close** - Fires when the alert is closed.\n### **Slots:**\n - _default_ - Alert content.\n- **title** - Alert title.\n- **icon** - Alert icon.","attributes":[{"name":"call","description":"If it is a legal value, the icon and preset color will be rendered.","values":[{"name":"tip"},{"name":"success"},{"name":"info"},{"name":"warning"},{"name":"danger"},{"name":"error"},{"name":"help"},{"name":"deprecated"}]},{"name":"color","description":"The tone of the component.\nOverrides the color of the call.","values":[{"name":""},{"name":"white"},{"name":"black"},{"name":"gray"},{"name":"green"},{"name":"teal"},{"name":"blue"},{"name":"red"},{"name":"purple"},{"name":"orange"},{"name":"yellow"},{"name":"pink"},{"name":"none"}]},{"name":"autoclose","description":"Close delay, if 0, it will not be closed automatically.","values":[]},{"name":"title","description":"The title is bold and the icon height is the same as it.","values":[]},{"name":"content","description":"Content, if zero value, will be rendered as an unnamed slot.","values":[]},{"name":"hideClose","description":"Set true to hide the close button.\nThe behavior may change due to the variant property.","values":[]},{"name":"variant","description":"Alert variant, if set to `blockquote`, the alert will be rendered as a blockquote.\nIf variant is `\"blockquote\"`, hide the close button.","values":[{"name":"blockquote"},{"name":"dark"},{"name":"light"}]}],"references":[]}]}