@elmethis/vue 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +55 -0
  2. package/lib/index.vue.cjs +2 -0
  3. package/lib/index.vue.mjs +4387 -0
  4. package/lib/style.css +2 -0
  5. package/lib-types/components/a2ui/catalog/basic-catalog.d.ts +3 -0
  6. package/lib-types/components/a2ui/catalog/basic-catalog.d.ts.map +1 -0
  7. package/lib-types/components/a2ui/catalog/block-catalog.d.ts +8 -0
  8. package/lib-types/components/a2ui/catalog/block-catalog.d.ts.map +1 -0
  9. package/lib-types/components/a2ui/catalog/catalog-utils.d.ts +19 -0
  10. package/lib-types/components/a2ui/catalog/catalog-utils.d.ts.map +1 -0
  11. package/lib-types/components/a2ui/catalog/catalog.d.ts +109 -0
  12. package/lib-types/components/a2ui/catalog/catalog.d.ts.map +1 -0
  13. package/lib-types/components/a2ui/component-host.d.ts +76 -0
  14. package/lib-types/components/a2ui/component-host.d.ts.map +1 -0
  15. package/lib-types/components/a2ui/elm-a2ui.d.ts +115 -0
  16. package/lib-types/components/a2ui/elm-a2ui.d.ts.map +1 -0
  17. package/lib-types/components/a2ui/stream-json-lines.d.ts +14 -0
  18. package/lib-types/components/a2ui/stream-json-lines.d.ts.map +1 -0
  19. package/lib-types/components/code/elm-code-block.d.ts +47 -0
  20. package/lib-types/components/code/elm-code-block.d.ts.map +1 -0
  21. package/lib-types/components/code/elm-katex.d.ts +37 -0
  22. package/lib-types/components/code/elm-katex.d.ts.map +1 -0
  23. package/lib-types/components/code/elm-shiki-highlighter.d.ts +33 -0
  24. package/lib-types/components/code/elm-shiki-highlighter.d.ts.map +1 -0
  25. package/lib-types/components/containments/elm-collapse.d.ts +38 -0
  26. package/lib-types/components/containments/elm-collapse.d.ts.map +1 -0
  27. package/lib-types/components/containments/elm-modal.d.ts +43 -0
  28. package/lib-types/components/containments/elm-modal.d.ts.map +1 -0
  29. package/lib-types/components/containments/elm-parallax.d.ts +16 -0
  30. package/lib-types/components/containments/elm-parallax.d.ts.map +1 -0
  31. package/lib-types/components/containments/elm-tabs.d.ts +79 -0
  32. package/lib-types/components/containments/elm-tabs.d.ts.map +1 -0
  33. package/lib-types/components/containments/elm-toggle.d.ts +57 -0
  34. package/lib-types/components/containments/elm-toggle.d.ts.map +1 -0
  35. package/lib-types/components/containments/elm-tooltip.d.ts +4 -0
  36. package/lib-types/components/containments/elm-tooltip.d.ts.map +1 -0
  37. package/lib-types/components/containments/tabs-context.d.ts +17 -0
  38. package/lib-types/components/containments/tabs-context.d.ts.map +1 -0
  39. package/lib-types/components/fallback/elm-block-fallback.d.ts +18 -0
  40. package/lib-types/components/fallback/elm-block-fallback.d.ts.map +1 -0
  41. package/lib-types/components/fallback/elm-rectangle-wave.d.ts +4 -0
  42. package/lib-types/components/fallback/elm-rectangle-wave.d.ts.map +1 -0
  43. package/lib-types/components/fallback/elm-unsupported-block.d.ts +18 -0
  44. package/lib-types/components/fallback/elm-unsupported-block.d.ts.map +1 -0
  45. package/lib-types/components/form/elm-button.d.ts +70 -0
  46. package/lib-types/components/form/elm-button.d.ts.map +1 -0
  47. package/lib-types/components/form/elm-checkbox.d.ts +75 -0
  48. package/lib-types/components/form/elm-checkbox.d.ts.map +1 -0
  49. package/lib-types/components/form/elm-select.d.ts +108 -0
  50. package/lib-types/components/form/elm-select.d.ts.map +1 -0
  51. package/lib-types/components/form/elm-switch.d.ts +62 -0
  52. package/lib-types/components/form/elm-switch.d.ts.map +1 -0
  53. package/lib-types/components/form/elm-text-area.d.ts +108 -0
  54. package/lib-types/components/form/elm-text-area.d.ts.map +1 -0
  55. package/lib-types/components/form/elm-text-field.d.ts +113 -0
  56. package/lib-types/components/form/elm-text-field.d.ts.map +1 -0
  57. package/lib-types/components/form/elm-validation.d.ts +36 -0
  58. package/lib-types/components/form/elm-validation.d.ts.map +1 -0
  59. package/lib-types/components/icon/elm-copy-icon.d.ts +19 -0
  60. package/lib-types/components/icon/elm-copy-icon.d.ts.map +1 -0
  61. package/lib-types/components/icon/elm-dot-loading-icon.d.ts +21 -0
  62. package/lib-types/components/icon/elm-dot-loading-icon.d.ts.map +1 -0
  63. package/lib-types/components/icon/elm-inline-icon.d.ts +63 -0
  64. package/lib-types/components/icon/elm-inline-icon.d.ts.map +1 -0
  65. package/lib-types/components/icon/elm-language-icon.d.ts +36 -0
  66. package/lib-types/components/icon/elm-language-icon.d.ts.map +1 -0
  67. package/lib-types/components/icon/elm-mdi-icon.d.ts +73 -0
  68. package/lib-types/components/icon/elm-mdi-icon.d.ts.map +1 -0
  69. package/lib-types/components/icon/elm-square-loading-icon.d.ts +28 -0
  70. package/lib-types/components/icon/elm-square-loading-icon.d.ts.map +1 -0
  71. package/lib-types/components/icon/elm-toggle-theme.d.ts +21 -0
  72. package/lib-types/components/icon/elm-toggle-theme.d.ts.map +1 -0
  73. package/lib-types/components/icon/languages/bash.d.ts +14 -0
  74. package/lib-types/components/icon/languages/bash.d.ts.map +1 -0
  75. package/lib-types/components/icon/languages/c-plus-plus.d.ts +14 -0
  76. package/lib-types/components/icon/languages/c-plus-plus.d.ts.map +1 -0
  77. package/lib-types/components/icon/languages/c-sharp.d.ts +14 -0
  78. package/lib-types/components/icon/languages/c-sharp.d.ts.map +1 -0
  79. package/lib-types/components/icon/languages/c.d.ts +14 -0
  80. package/lib-types/components/icon/languages/c.d.ts.map +1 -0
  81. package/lib-types/components/icon/languages/css.d.ts +14 -0
  82. package/lib-types/components/icon/languages/css.d.ts.map +1 -0
  83. package/lib-types/components/icon/languages/go.d.ts +14 -0
  84. package/lib-types/components/icon/languages/go.d.ts.map +1 -0
  85. package/lib-types/components/icon/languages/html.d.ts +14 -0
  86. package/lib-types/components/icon/languages/html.d.ts.map +1 -0
  87. package/lib-types/components/icon/languages/java.d.ts +14 -0
  88. package/lib-types/components/icon/languages/java.d.ts.map +1 -0
  89. package/lib-types/components/icon/languages/javascript.d.ts +14 -0
  90. package/lib-types/components/icon/languages/javascript.d.ts.map +1 -0
  91. package/lib-types/components/icon/languages/json.d.ts +14 -0
  92. package/lib-types/components/icon/languages/json.d.ts.map +1 -0
  93. package/lib-types/components/icon/languages/kotlin.d.ts +14 -0
  94. package/lib-types/components/icon/languages/kotlin.d.ts.map +1 -0
  95. package/lib-types/components/icon/languages/language-interface.d.ts +7 -0
  96. package/lib-types/components/icon/languages/language-interface.d.ts.map +1 -0
  97. package/lib-types/components/icon/languages/lua.d.ts +14 -0
  98. package/lib-types/components/icon/languages/lua.d.ts.map +1 -0
  99. package/lib-types/components/icon/languages/npm.d.ts +14 -0
  100. package/lib-types/components/icon/languages/npm.d.ts.map +1 -0
  101. package/lib-types/components/icon/languages/python.d.ts +14 -0
  102. package/lib-types/components/icon/languages/python.d.ts.map +1 -0
  103. package/lib-types/components/icon/languages/rust.d.ts +14 -0
  104. package/lib-types/components/icon/languages/rust.d.ts.map +1 -0
  105. package/lib-types/components/icon/languages/sql.d.ts +14 -0
  106. package/lib-types/components/icon/languages/sql.d.ts.map +1 -0
  107. package/lib-types/components/icon/languages/terraform.d.ts +14 -0
  108. package/lib-types/components/icon/languages/terraform.d.ts.map +1 -0
  109. package/lib-types/components/icon/languages/typescript.d.ts +14 -0
  110. package/lib-types/components/icon/languages/typescript.d.ts.map +1 -0
  111. package/lib-types/components/media/elm-block-image.d.ts +93 -0
  112. package/lib-types/components/media/elm-block-image.d.ts.map +1 -0
  113. package/lib-types/components/media/elm-file.d.ts +46 -0
  114. package/lib-types/components/media/elm-file.d.ts.map +1 -0
  115. package/lib-types/components/navigation/elm-bookmark.d.ts +74 -0
  116. package/lib-types/components/navigation/elm-bookmark.d.ts.map +1 -0
  117. package/lib-types/components/navigation/elm-breadcrumb.d.ts +26 -0
  118. package/lib-types/components/navigation/elm-breadcrumb.d.ts.map +1 -0
  119. package/lib-types/components/navigation/elm-page-top.d.ts +21 -0
  120. package/lib-types/components/navigation/elm-page-top.d.ts.map +1 -0
  121. package/lib-types/components/others/elm-color-primitive-sample.d.ts +4 -0
  122. package/lib-types/components/others/elm-color-primitive-sample.d.ts.map +1 -0
  123. package/lib-types/components/others/elm-color-semantic-sample.d.ts +4 -0
  124. package/lib-types/components/others/elm-color-semantic-sample.d.ts.map +1 -0
  125. package/lib-types/components/others/elm-markdown.d.ts +31 -0
  126. package/lib-types/components/others/elm-markdown.d.ts.map +1 -0
  127. package/lib-types/components/others/use-wordle.d.ts +26 -0
  128. package/lib-types/components/others/use-wordle.d.ts.map +1 -0
  129. package/lib-types/components/others/wordle/validGuesses.d.ts +2 -0
  130. package/lib-types/components/others/wordle/validGuesses.d.ts.map +1 -0
  131. package/lib-types/components/others/wordle/wordlist.d.ts +2 -0
  132. package/lib-types/components/others/wordle/wordlist.d.ts.map +1 -0
  133. package/lib-types/components/table/elm-table-body.d.ts +4 -0
  134. package/lib-types/components/table/elm-table-body.d.ts.map +1 -0
  135. package/lib-types/components/table/elm-table-cell.d.ts +58 -0
  136. package/lib-types/components/table/elm-table-cell.d.ts.map +1 -0
  137. package/lib-types/components/table/elm-table-header.d.ts +4 -0
  138. package/lib-types/components/table/elm-table-header.d.ts.map +1 -0
  139. package/lib-types/components/table/elm-table-row.d.ts +4 -0
  140. package/lib-types/components/table/elm-table-row.d.ts.map +1 -0
  141. package/lib-types/components/table/elm-table.d.ts +28 -0
  142. package/lib-types/components/table/elm-table.d.ts.map +1 -0
  143. package/lib-types/components/table/index.d.ts +7 -0
  144. package/lib-types/components/table/index.d.ts.map +1 -0
  145. package/lib-types/components/table/table-context.d.ts +22 -0
  146. package/lib-types/components/table/table-context.d.ts.map +1 -0
  147. package/lib-types/components/typography/elm-block-quote.d.ts +4 -0
  148. package/lib-types/components/typography/elm-block-quote.d.ts.map +1 -0
  149. package/lib-types/components/typography/elm-callout.d.ts +22 -0
  150. package/lib-types/components/typography/elm-callout.d.ts.map +1 -0
  151. package/lib-types/components/typography/elm-divider.d.ts +4 -0
  152. package/lib-types/components/typography/elm-divider.d.ts.map +1 -0
  153. package/lib-types/components/typography/elm-fragment-identifier.d.ts +19 -0
  154. package/lib-types/components/typography/elm-fragment-identifier.d.ts.map +1 -0
  155. package/lib-types/components/typography/elm-heading.d.ts +38 -0
  156. package/lib-types/components/typography/elm-heading.d.ts.map +1 -0
  157. package/lib-types/components/typography/elm-inline-text.d.ts +172 -0
  158. package/lib-types/components/typography/elm-inline-text.d.ts.map +1 -0
  159. package/lib-types/components/typography/elm-list.d.ts +19 -0
  160. package/lib-types/components/typography/elm-list.d.ts.map +1 -0
  161. package/lib-types/components/typography/elm-paragraph.d.ts +28 -0
  162. package/lib-types/components/typography/elm-paragraph.d.ts.map +1 -0
  163. package/lib-types/hooks/use-bindable-signal.d.ts +44 -0
  164. package/lib-types/hooks/use-bindable-signal.d.ts.map +1 -0
  165. package/lib-types/hooks/use-clipboard.d.ts +24 -0
  166. package/lib-types/hooks/use-clipboard.d.ts.map +1 -0
  167. package/lib-types/hooks/use-elmethis-theme.d.ts +47 -0
  168. package/lib-types/hooks/use-elmethis-theme.d.ts.map +1 -0
  169. package/lib-types/hooks/use-modal.d.ts +25 -0
  170. package/lib-types/hooks/use-modal.d.ts.map +1 -0
  171. package/lib-types/index.d.ts +53 -0
  172. package/lib-types/index.d.ts.map +1 -0
  173. package/package.json +85 -45
  174. package/dist/_virtual/_plugin-vue_export-helper.mjs +0 -8
  175. package/dist/components/ag-ui/message/ElmAgUiMessageUser.stories.d.ts +0 -6
  176. package/dist/components/ag-ui/message/ElmAgUiMessageUser.vue.d.ts +0 -8
  177. package/dist/components/code/ElmCodeBlock.mjs +0 -20
  178. package/dist/components/code/ElmCodeBlock.stories.d.ts +0 -9
  179. package/dist/components/code/ElmCodeBlock.vue.d.ts +0 -46
  180. package/dist/components/code/ElmCodeBlock.vue_vue_type_script_setup_true_lang.mjs +0 -79
  181. package/dist/components/code/ElmCodeBlock.vue_vue_type_style_index_0_lang.module.mjs +0 -26
  182. package/dist/components/code/ElmKatex.mjs +0 -6
  183. package/dist/components/code/ElmKatex.stories.d.ts +0 -8
  184. package/dist/components/code/ElmKatex.vue.d.ts +0 -20
  185. package/dist/components/code/ElmKatex.vue_vue_type_script_setup_true_lang.mjs +0 -61
  186. package/dist/components/code/ElmKatex.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  187. package/dist/components/code/ElmMermaid.mjs +0 -6
  188. package/dist/components/code/ElmMermaid.stories.d.ts +0 -7
  189. package/dist/components/code/ElmMermaid.vue.d.ts +0 -7
  190. package/dist/components/code/ElmMermaid.vue_vue_type_script_setup_true_lang.mjs +0 -84
  191. package/dist/components/code/ElmMermaid.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  192. package/dist/components/code/ElmShikiHighlighter.mjs +0 -20
  193. package/dist/components/code/ElmShikiHighlighter.stories.d.ts +0 -6
  194. package/dist/components/code/ElmShikiHighlighter.vue.d.ts +0 -22
  195. package/dist/components/code/ElmShikiHighlighter.vue_vue_type_script_setup_true_lang.mjs +0 -53
  196. package/dist/components/code/ElmShikiHighlighter.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  197. package/dist/components/code/shikiInstance.d.ts +0 -2
  198. package/dist/components/code/shikiInstance.mjs +0 -74
  199. package/dist/components/containments/ElmColumn.stories.d.ts +0 -6
  200. package/dist/components/containments/ElmColumn.vue.d.ts +0 -19
  201. package/dist/components/containments/ElmColumnList.vue.d.ts +0 -19
  202. package/dist/components/containments/ElmConfirmModal.mjs +0 -6
  203. package/dist/components/containments/ElmConfirmModal.stories.d.ts +0 -6
  204. package/dist/components/containments/ElmConfirmModal.vue.d.ts +0 -37
  205. package/dist/components/containments/ElmConfirmModal.vue_vue_type_script_setup_true_lang.mjs +0 -85
  206. package/dist/components/containments/ElmConfirmModal.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  207. package/dist/components/containments/ElmDesktopWindow.mjs +0 -6
  208. package/dist/components/containments/ElmDesktopWindow.stories.d.ts +0 -6
  209. package/dist/components/containments/ElmDesktopWindow.vue.d.ts +0 -27
  210. package/dist/components/containments/ElmDesktopWindow.vue_vue_type_script_setup_true_lang.mjs +0 -29
  211. package/dist/components/containments/ElmDesktopWindow.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  212. package/dist/components/containments/ElmModal.mjs +0 -6
  213. package/dist/components/containments/ElmModal.stories.d.ts +0 -6
  214. package/dist/components/containments/ElmModal.vue.d.ts +0 -34
  215. package/dist/components/containments/ElmModal.vue_vue_type_script_setup_true_lang.mjs +0 -56
  216. package/dist/components/containments/ElmModal.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  217. package/dist/components/containments/ElmParallax.mjs +0 -6
  218. package/dist/components/containments/ElmParallax.stories.d.ts +0 -6
  219. package/dist/components/containments/ElmParallax.vue.d.ts +0 -6
  220. package/dist/components/containments/ElmParallax.vue_vue_type_script_setup_true_lang.mjs +0 -32
  221. package/dist/components/containments/ElmParallax.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  222. package/dist/components/containments/ElmSimpleTooltip.mjs +0 -6
  223. package/dist/components/containments/ElmSimpleTooltip.stories.d.ts +0 -7
  224. package/dist/components/containments/ElmSimpleTooltip.vue.d.ts +0 -21
  225. package/dist/components/containments/ElmSimpleTooltip.vue_vue_type_script_setup_true_lang.mjs +0 -26
  226. package/dist/components/containments/ElmSimpleTooltip.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  227. package/dist/components/containments/ElmSnackbar.mjs +0 -6
  228. package/dist/components/containments/ElmSnackbar.stories.d.ts +0 -6
  229. package/dist/components/containments/ElmSnackbar.vue.d.ts +0 -11
  230. package/dist/components/containments/ElmSnackbar.vue_vue_type_script_setup_true_lang.mjs +0 -41
  231. package/dist/components/containments/ElmSnackbar.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  232. package/dist/components/containments/ElmSnackbarContainer.mjs +0 -20
  233. package/dist/components/containments/ElmSnackbarContainer.vue.d.ts +0 -10
  234. package/dist/components/containments/ElmSnackbarContainer.vue_vue_type_script_setup_true_lang.mjs +0 -19
  235. package/dist/components/containments/ElmSnackbarContainer.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  236. package/dist/components/containments/ElmTabs.mjs +0 -6
  237. package/dist/components/containments/ElmTabs.stories.d.ts +0 -6
  238. package/dist/components/containments/ElmTabs.vue.d.ts +0 -24
  239. package/dist/components/containments/ElmTabs.vue_vue_type_script_setup_true_lang.mjs +0 -29
  240. package/dist/components/containments/ElmTabs.vue_vue_type_style_index_0_lang.module.mjs +0 -23
  241. package/dist/components/containments/ElmToggle.mjs +0 -6
  242. package/dist/components/containments/ElmToggle.stories.d.ts +0 -7
  243. package/dist/components/containments/ElmToggle.vue.d.ts +0 -41
  244. package/dist/components/containments/ElmToggle.vue_vue_type_script_setup_true_lang.mjs +0 -93
  245. package/dist/components/containments/ElmToggle.vue_vue_type_style_index_0_lang.module.mjs +0 -32
  246. package/dist/components/containments/ElmTooltip.mjs +0 -6
  247. package/dist/components/containments/ElmTooltip.stories.d.ts +0 -6
  248. package/dist/components/containments/ElmTooltip.vue.d.ts +0 -40
  249. package/dist/components/containments/ElmTooltip.vue_vue_type_script_setup_true_lang.mjs +0 -54
  250. package/dist/components/containments/ElmTooltip.vue_vue_type_style_index_0_lang.module.mjs +0 -24
  251. package/dist/components/containments/useSnackbarState.d.ts +0 -28
  252. package/dist/components/data/ElmMultiProgress.mjs +0 -6
  253. package/dist/components/data/ElmMultiProgress.stories.d.ts +0 -6
  254. package/dist/components/data/ElmMultiProgress.vue.d.ts +0 -30
  255. package/dist/components/data/ElmMultiProgress.vue_vue_type_script_setup_true_lang.mjs +0 -49
  256. package/dist/components/data/ElmMultiProgress.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  257. package/dist/components/data/ElmProgress.mjs +0 -6
  258. package/dist/components/data/ElmProgress.stories.d.ts +0 -10
  259. package/dist/components/data/ElmProgress.vue.d.ts +0 -38
  260. package/dist/components/data/ElmProgress.vue_vue_type_script_setup_true_lang.mjs +0 -52
  261. package/dist/components/data/ElmProgress.vue_vue_type_style_index_0_lang.module.mjs +0 -22
  262. package/dist/components/data/ElmStatusMessage.mjs +0 -20
  263. package/dist/components/data/ElmStatusMessage.stories.d.ts +0 -9
  264. package/dist/components/data/ElmStatusMessage.vue.d.ts +0 -6
  265. package/dist/components/data/ElmStatusMessage.vue_vue_type_script_setup_true_lang.mjs +0 -62
  266. package/dist/components/data/ElmStatusMessage.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  267. package/dist/components/embed/ElmOEmbed.mjs +0 -5
  268. package/dist/components/embed/ElmOEmbed.stories.d.ts +0 -9
  269. package/dist/components/embed/ElmOEmbed.vue.d.ts +0 -40
  270. package/dist/components/embed/ElmOEmbed.vue_vue_type_script_setup_true_lang.mjs +0 -46
  271. package/dist/components/fallback/ElmBlockFallback.mjs +0 -6
  272. package/dist/components/fallback/ElmBlockFallback.stories.d.ts +0 -6
  273. package/dist/components/fallback/ElmBlockFallback.vue.d.ts +0 -4
  274. package/dist/components/fallback/ElmBlockFallback.vue_vue_type_script_setup_true_lang.mjs +0 -13
  275. package/dist/components/fallback/ElmBlockFallback.vue_vue_type_style_index_0_lang.module.mjs +0 -17
  276. package/dist/components/fallback/ElmRectangleWave.mjs +0 -6
  277. package/dist/components/fallback/ElmRectangleWave.stories.d.ts +0 -6
  278. package/dist/components/fallback/ElmRectangleWave.vue.d.ts +0 -4
  279. package/dist/components/fallback/ElmRectangleWave.vue_vue_type_script_setup_true_lang.mjs +0 -15
  280. package/dist/components/fallback/ElmRectangleWave.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  281. package/dist/components/fallback/ElmSpinner.mjs +0 -6
  282. package/dist/components/fallback/ElmSpinner.stories.d.ts +0 -6
  283. package/dist/components/fallback/ElmSpinner.vue.d.ts +0 -9
  284. package/dist/components/fallback/ElmSpinner.vue_vue_type_script_setup_true_lang.mjs +0 -33
  285. package/dist/components/fallback/ElmSpinner.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  286. package/dist/components/fallback/ElmUnsupportedBlock.mjs +0 -6
  287. package/dist/components/fallback/ElmUnsupportedBlock.stories.d.ts +0 -6
  288. package/dist/components/fallback/ElmUnsupportedBlock.vue.d.ts +0 -5
  289. package/dist/components/fallback/ElmUnsupportedBlock.vue_vue_type_script_setup_true_lang.mjs +0 -30
  290. package/dist/components/fallback/ElmUnsupportedBlock.vue_vue_type_style_index_0_lang.module.mjs +0 -21
  291. package/dist/components/form/ElmButton.mjs +0 -20
  292. package/dist/components/form/ElmButton.stories.d.ts +0 -11
  293. package/dist/components/form/ElmButton.vue.d.ts +0 -42
  294. package/dist/components/form/ElmButton.vue_vue_type_script_setup_true_lang.mjs +0 -77
  295. package/dist/components/form/ElmButton.vue_vue_type_style_index_0_lang.module.mjs +0 -26
  296. package/dist/components/form/ElmCheckbox.mjs +0 -6
  297. package/dist/components/form/ElmCheckbox.stories.d.ts +0 -6
  298. package/dist/components/form/ElmCheckbox.vue.d.ts +0 -26
  299. package/dist/components/form/ElmCheckbox.vue_vue_type_script_setup_true_lang.mjs +0 -159
  300. package/dist/components/form/ElmCheckbox.vue_vue_type_style_index_0_lang.module.mjs +0 -26
  301. package/dist/components/form/ElmSelect.mjs +0 -6
  302. package/dist/components/form/ElmSelect.stories.d.ts +0 -6
  303. package/dist/components/form/ElmSelect.vue.d.ts +0 -48
  304. package/dist/components/form/ElmSelect.vue_vue_type_script_setup_true_lang.mjs +0 -129
  305. package/dist/components/form/ElmSelect.vue_vue_type_style_index_0_lang.module.mjs +0 -34
  306. package/dist/components/form/ElmSwitch.mjs +0 -6
  307. package/dist/components/form/ElmSwitch.stories.d.ts +0 -6
  308. package/dist/components/form/ElmSwitch.vue.d.ts +0 -32
  309. package/dist/components/form/ElmSwitch.vue_vue_type_script_setup_true_lang.mjs +0 -49
  310. package/dist/components/form/ElmSwitch.vue_vue_type_style_index_0_lang.module.mjs +0 -24
  311. package/dist/components/form/ElmTextField.mjs +0 -6
  312. package/dist/components/form/ElmTextField.stories.d.ts +0 -7
  313. package/dist/components/form/ElmTextField.vue.d.ts +0 -33
  314. package/dist/components/form/ElmTextField.vue_vue_type_script_setup_true_lang.mjs +0 -143
  315. package/dist/components/form/ElmTextField.vue_vue_type_style_index_0_lang.module.mjs +0 -29
  316. package/dist/components/form/ElmValidation.mjs +0 -6
  317. package/dist/components/form/ElmValidation.stories.d.ts +0 -6
  318. package/dist/components/form/ElmValidation.vue.d.ts +0 -9
  319. package/dist/components/form/ElmValidation.vue_vue_type_script_setup_true_lang.mjs +0 -29
  320. package/dist/components/form/ElmValidation.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  321. package/dist/components/icon/ElmArrowIcon.mjs +0 -6
  322. package/dist/components/icon/ElmArrowIcon.stories.d.ts +0 -6
  323. package/dist/components/icon/ElmArrowIcon.vue.d.ts +0 -26
  324. package/dist/components/icon/ElmArrowIcon.vue_vue_type_script_setup_true_lang.mjs +0 -34
  325. package/dist/components/icon/ElmArrowIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -21
  326. package/dist/components/icon/ElmBookmarkIcon.mjs +0 -6
  327. package/dist/components/icon/ElmBookmarkIcon.stories.d.ts +0 -8
  328. package/dist/components/icon/ElmBookmarkIcon.vue.d.ts +0 -7
  329. package/dist/components/icon/ElmBookmarkIcon.vue_vue_type_script_setup_true_lang.mjs +0 -40
  330. package/dist/components/icon/ElmBookmarkIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  331. package/dist/components/icon/ElmCubeIcon.mjs +0 -6
  332. package/dist/components/icon/ElmCubeIcon.stories.d.ts +0 -6
  333. package/dist/components/icon/ElmCubeIcon.vue.d.ts +0 -10
  334. package/dist/components/icon/ElmCubeIcon.vue_vue_type_script_setup_true_lang.mjs +0 -53
  335. package/dist/components/icon/ElmCubeIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  336. package/dist/components/icon/ElmDotLoadingIcon.mjs +0 -6
  337. package/dist/components/icon/ElmDotLoadingIcon.stories.d.ts +0 -6
  338. package/dist/components/icon/ElmDotLoadingIcon.vue.d.ts +0 -18
  339. package/dist/components/icon/ElmDotLoadingIcon.vue_vue_type_script_setup_true_lang.mjs +0 -29
  340. package/dist/components/icon/ElmDotLoadingIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  341. package/dist/components/icon/ElmInlineIcon.mjs +0 -6
  342. package/dist/components/icon/ElmInlineIcon.stories.d.ts +0 -6
  343. package/dist/components/icon/ElmInlineIcon.vue.d.ts +0 -12
  344. package/dist/components/icon/ElmInlineIcon.vue_vue_type_script_setup_true_lang.mjs +0 -26
  345. package/dist/components/icon/ElmInlineIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  346. package/dist/components/icon/ElmLanguageIcon.mjs +0 -6
  347. package/dist/components/icon/ElmLanguageIcon.stories.d.ts +0 -6
  348. package/dist/components/icon/ElmLanguageIcon.vue.d.ts +0 -15
  349. package/dist/components/icon/ElmLanguageIcon.vue_vue_type_script_setup_true_lang.mjs +0 -130
  350. package/dist/components/icon/ElmLanguageIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  351. package/dist/components/icon/ElmLoginIcon.mjs +0 -6
  352. package/dist/components/icon/ElmLoginIcon.stories.d.ts +0 -6
  353. package/dist/components/icon/ElmLoginIcon.vue.d.ts +0 -18
  354. package/dist/components/icon/ElmLoginIcon.vue_vue_type_script_setup_true_lang.mjs +0 -35
  355. package/dist/components/icon/ElmLoginIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  356. package/dist/components/icon/ElmMdiIcon.mjs +0 -6
  357. package/dist/components/icon/ElmMdiIcon.stories.d.ts +0 -6
  358. package/dist/components/icon/ElmMdiIcon.vue.d.ts +0 -11
  359. package/dist/components/icon/ElmMdiIcon.vue_vue_type_script_setup_true_lang.mjs +0 -32
  360. package/dist/components/icon/ElmMdiIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  361. package/dist/components/icon/ElmSquareLoadingIcon.mjs +0 -6
  362. package/dist/components/icon/ElmSquareLoadingIcon.stories.d.ts +0 -6
  363. package/dist/components/icon/ElmSquareLoadingIcon.vue.d.ts +0 -10
  364. package/dist/components/icon/ElmSquareLoadingIcon.vue_vue_type_script_setup_true_lang.mjs +0 -32
  365. package/dist/components/icon/ElmSquareLoadingIcon.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  366. package/dist/components/icon/ElmToggleTheme.mjs +0 -6
  367. package/dist/components/icon/ElmToggleTheme.stories.d.ts +0 -6
  368. package/dist/components/icon/ElmToggleTheme.vue.d.ts +0 -11
  369. package/dist/components/icon/ElmToggleTheme.vue_vue_type_script_setup_true_lang.mjs +0 -33
  370. package/dist/components/icon/ElmToggleTheme.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  371. package/dist/components/icon/languages/Bash.mjs +0 -6
  372. package/dist/components/icon/languages/Bash.vue.d.ts +0 -7
  373. package/dist/components/icon/languages/Bash.vue_vue_type_script_setup_true_lang.mjs +0 -32
  374. package/dist/components/icon/languages/Bash.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  375. package/dist/components/icon/languages/C.mjs +0 -5
  376. package/dist/components/icon/languages/C.vue.d.ts +0 -7
  377. package/dist/components/icon/languages/C.vue_vue_type_script_setup_true_lang.mjs +0 -32
  378. package/dist/components/icon/languages/Cplusplus.mjs +0 -5
  379. package/dist/components/icon/languages/Cplusplus.vue.d.ts +0 -7
  380. package/dist/components/icon/languages/Cplusplus.vue_vue_type_script_setup_true_lang.mjs +0 -36
  381. package/dist/components/icon/languages/Csharp.mjs +0 -5
  382. package/dist/components/icon/languages/Csharp.vue.d.ts +0 -7
  383. package/dist/components/icon/languages/Csharp.vue_vue_type_script_setup_true_lang.mjs +0 -32
  384. package/dist/components/icon/languages/Css.mjs +0 -5
  385. package/dist/components/icon/languages/Css.vue.d.ts +0 -7
  386. package/dist/components/icon/languages/Css.vue_vue_type_script_setup_true_lang.mjs +0 -22
  387. package/dist/components/icon/languages/Go.mjs +0 -5
  388. package/dist/components/icon/languages/Go.vue.d.ts +0 -7
  389. package/dist/components/icon/languages/Go.vue_vue_type_script_setup_true_lang.mjs +0 -25
  390. package/dist/components/icon/languages/Html.mjs +0 -5
  391. package/dist/components/icon/languages/Html.vue.d.ts +0 -7
  392. package/dist/components/icon/languages/Html.vue_vue_type_script_setup_true_lang.mjs +0 -36
  393. package/dist/components/icon/languages/Java.mjs +0 -5
  394. package/dist/components/icon/languages/Java.vue.d.ts +0 -7
  395. package/dist/components/icon/languages/Java.vue_vue_type_script_setup_true_lang.mjs +0 -19
  396. package/dist/components/icon/languages/Javascript.mjs +0 -5
  397. package/dist/components/icon/languages/Javascript.vue.d.ts +0 -7
  398. package/dist/components/icon/languages/Javascript.vue_vue_type_script_setup_true_lang.mjs +0 -25
  399. package/dist/components/icon/languages/Json.mjs +0 -5
  400. package/dist/components/icon/languages/Json.vue.d.ts +0 -7
  401. package/dist/components/icon/languages/Json.vue_vue_type_script_setup_true_lang.mjs +0 -19
  402. package/dist/components/icon/languages/Kotlin.mjs +0 -5
  403. package/dist/components/icon/languages/Kotlin.vue.d.ts +0 -7
  404. package/dist/components/icon/languages/Kotlin.vue_vue_type_script_setup_true_lang.mjs +0 -19
  405. package/dist/components/icon/languages/Lua.mjs +0 -5
  406. package/dist/components/icon/languages/Lua.vue.d.ts +0 -7
  407. package/dist/components/icon/languages/Lua.vue_vue_type_script_setup_true_lang.mjs +0 -32
  408. package/dist/components/icon/languages/Npm.mjs +0 -5
  409. package/dist/components/icon/languages/Npm.vue.d.ts +0 -7
  410. package/dist/components/icon/languages/Npm.vue_vue_type_script_setup_true_lang.mjs +0 -25
  411. package/dist/components/icon/languages/Python.mjs +0 -5
  412. package/dist/components/icon/languages/Python.vue.d.ts +0 -7
  413. package/dist/components/icon/languages/Python.vue_vue_type_script_setup_true_lang.mjs +0 -19
  414. package/dist/components/icon/languages/Rust.mjs +0 -5
  415. package/dist/components/icon/languages/Rust.vue.d.ts +0 -7
  416. package/dist/components/icon/languages/Rust.vue_vue_type_script_setup_true_lang.mjs +0 -20
  417. package/dist/components/icon/languages/Sql.mjs +0 -5
  418. package/dist/components/icon/languages/Sql.vue.d.ts +0 -7
  419. package/dist/components/icon/languages/Sql.vue_vue_type_script_setup_true_lang.mjs +0 -22
  420. package/dist/components/icon/languages/Terraform.mjs +0 -5
  421. package/dist/components/icon/languages/Terraform.vue.d.ts +0 -7
  422. package/dist/components/icon/languages/Terraform.vue_vue_type_script_setup_true_lang.mjs +0 -32
  423. package/dist/components/icon/languages/Typescript.mjs +0 -5
  424. package/dist/components/icon/languages/Typescript.vue.d.ts +0 -7
  425. package/dist/components/icon/languages/Typescript.vue_vue_type_script_setup_true_lang.mjs +0 -25
  426. package/dist/components/media/ElmFile.mjs +0 -6
  427. package/dist/components/media/ElmFile.stories.d.ts +0 -6
  428. package/dist/components/media/ElmFile.vue.d.ts +0 -21
  429. package/dist/components/media/ElmFile.vue_vue_type_script_setup_true_lang.mjs +0 -58
  430. package/dist/components/media/ElmFile.vue_vue_type_style_index_0_lang.module.mjs +0 -21
  431. package/dist/components/media/ElmImage.mjs +0 -6
  432. package/dist/components/media/ElmImage.stories.d.ts +0 -12
  433. package/dist/components/media/ElmImage.vue.d.ts +0 -29
  434. package/dist/components/media/ElmImage.vue_vue_type_script_setup_true_lang.mjs +0 -194
  435. package/dist/components/media/ElmImage.vue_vue_type_style_index_0_lang.module.mjs +0 -26
  436. package/dist/components/navigation/ElmBookmark.mjs +0 -6
  437. package/dist/components/navigation/ElmBookmark.stories.d.ts +0 -12
  438. package/dist/components/navigation/ElmBookmark.vue.d.ts +0 -53
  439. package/dist/components/navigation/ElmBookmark.vue_vue_type_script_setup_true_lang.mjs +0 -95
  440. package/dist/components/navigation/ElmBookmark.vue_vue_type_style_index_0_lang.module.mjs +0 -25
  441. package/dist/components/navigation/ElmBreadcrumb.mjs +0 -6
  442. package/dist/components/navigation/ElmBreadcrumb.stories.d.ts +0 -7
  443. package/dist/components/navigation/ElmBreadcrumb.vue.d.ts +0 -19
  444. package/dist/components/navigation/ElmBreadcrumb.vue_vue_type_script_setup_true_lang.mjs +0 -61
  445. package/dist/components/navigation/ElmBreadcrumb.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  446. package/dist/components/navigation/ElmPagetop.mjs +0 -6
  447. package/dist/components/navigation/ElmPagetop.stories.d.ts +0 -6
  448. package/dist/components/navigation/ElmPagetop.vue.d.ts +0 -10
  449. package/dist/components/navigation/ElmPagetop.vue_vue_type_script_setup_true_lang.mjs +0 -48
  450. package/dist/components/navigation/ElmPagetop.vue_vue_type_style_index_0_lang.module.mjs +0 -22
  451. package/dist/components/navigation/ElmTableOfContents.mjs +0 -6
  452. package/dist/components/navigation/ElmTableOfContents.stories.d.ts +0 -7
  453. package/dist/components/navigation/ElmTableOfContents.vue.d.ts +0 -9
  454. package/dist/components/navigation/ElmTableOfContents.vue_vue_type_script_setup_true_lang.mjs +0 -35
  455. package/dist/components/navigation/ElmTableOfContents.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  456. package/dist/components/others/ElmColorSample.mjs +0 -20
  457. package/dist/components/others/ElmColorSample.stories.d.ts +0 -6
  458. package/dist/components/others/ElmColorSample.vue.d.ts +0 -8
  459. package/dist/components/others/ElmColorSample.vue_vue_type_script_setup_true_lang.mjs +0 -57
  460. package/dist/components/others/ElmColorSample.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  461. package/dist/components/others/ElmColorTable.mjs +0 -6
  462. package/dist/components/others/ElmColorTable.stories.d.ts +0 -6
  463. package/dist/components/others/ElmColorTable.vue.d.ts +0 -11
  464. package/dist/components/others/ElmColorTable.vue_vue_type_script_setup_true_lang.mjs +0 -36
  465. package/dist/components/others/ElmColorTable.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  466. package/dist/components/others/ElmCommandPalette.mjs +0 -20
  467. package/dist/components/others/ElmCommandPalette.stories.d.ts +0 -6
  468. package/dist/components/others/ElmCommandPalette.vue.d.ts +0 -46
  469. package/dist/components/others/ElmCommandPalette.vue_vue_type_script_setup_true_lang.mjs +0 -155
  470. package/dist/components/others/ElmCommandPalette.vue_vue_type_style_index_0_lang.module.mjs +0 -27
  471. package/dist/components/others/ElmJsonComponentRenderer.mjs +0 -6
  472. package/dist/components/others/ElmJsonComponentRenderer.stories.d.ts +0 -25
  473. package/dist/components/others/ElmJsonComponentRenderer.vue.d.ts +0 -7
  474. package/dist/components/others/ElmJsonComponentRenderer.vue_vue_type_script_setup_true_lang.mjs +0 -184
  475. package/dist/components/others/ElmJsonComponentRenderer.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  476. package/dist/components/others/ElmMarkdown.mjs +0 -6
  477. package/dist/components/others/ElmMarkdown.stories.d.ts +0 -7
  478. package/dist/components/others/ElmMarkdown.vue.d.ts +0 -5
  479. package/dist/components/others/ElmMarkdown.vue_vue_type_script_setup_true_lang.mjs +0 -137
  480. package/dist/components/others/ElmMarkdown.vue_vue_type_style_index_0_lang.module.mjs +0 -17
  481. package/dist/components/others/ElmTyping.stories.d.ts +0 -6
  482. package/dist/components/others/ElmTyping.vue.d.ts +0 -4
  483. package/dist/components/table/ElmTable.mjs +0 -6
  484. package/dist/components/table/ElmTable.stories.d.ts +0 -6
  485. package/dist/components/table/ElmTable.vue.d.ts +0 -46
  486. package/dist/components/table/ElmTable.vue_vue_type_script_setup_true_lang.mjs +0 -47
  487. package/dist/components/table/ElmTable.vue_vue_type_style_index_0_lang.module.mjs +0 -21
  488. package/dist/components/table/ElmTableBody.mjs +0 -5
  489. package/dist/components/table/ElmTableBody.vue.d.ts +0 -22
  490. package/dist/components/table/ElmTableBody.vue_vue_type_script_setup_true_lang.mjs +0 -13
  491. package/dist/components/table/ElmTableCell.mjs +0 -6
  492. package/dist/components/table/ElmTableCell.vue.d.ts +0 -33
  493. package/dist/components/table/ElmTableCell.vue_vue_type_script_setup_true_lang.mjs +0 -23
  494. package/dist/components/table/ElmTableCell.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  495. package/dist/components/table/ElmTableHeader.mjs +0 -6
  496. package/dist/components/table/ElmTableHeader.vue.d.ts +0 -22
  497. package/dist/components/table/ElmTableHeader.vue_vue_type_script_setup_true_lang.mjs +0 -13
  498. package/dist/components/table/ElmTableHeader.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  499. package/dist/components/table/ElmTableRow.mjs +0 -6
  500. package/dist/components/table/ElmTableRow.vue.d.ts +0 -22
  501. package/dist/components/table/ElmTableRow.vue_vue_type_script_setup_true_lang.mjs +0 -16
  502. package/dist/components/table/ElmTableRow.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  503. package/dist/components/template/ElmTemplate.stories.d.ts +0 -6
  504. package/dist/components/template/ElmTemplate.vue.d.ts +0 -4
  505. package/dist/components/typography/ElmBlockQuote.mjs +0 -6
  506. package/dist/components/typography/ElmBlockQuote.stories.d.ts +0 -6
  507. package/dist/components/typography/ElmBlockQuote.vue.d.ts +0 -24
  508. package/dist/components/typography/ElmBlockQuote.vue_vue_type_script_setup_true_lang.mjs +0 -60
  509. package/dist/components/typography/ElmBlockQuote.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  510. package/dist/components/typography/ElmCallout.mjs +0 -6
  511. package/dist/components/typography/ElmCallout.stories.d.ts +0 -11
  512. package/dist/components/typography/ElmCallout.vue.d.ts +0 -30
  513. package/dist/components/typography/ElmCallout.vue_vue_type_script_setup_true_lang.mjs +0 -61
  514. package/dist/components/typography/ElmCallout.vue_vue_type_style_index_0_lang.module.mjs +0 -19
  515. package/dist/components/typography/ElmDivider.mjs +0 -6
  516. package/dist/components/typography/ElmDivider.stories.d.ts +0 -6
  517. package/dist/components/typography/ElmDivider.vue.d.ts +0 -11
  518. package/dist/components/typography/ElmDivider.vue_vue_type_script_setup_true_lang.mjs +0 -27
  519. package/dist/components/typography/ElmDivider.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  520. package/dist/components/typography/ElmFragmentIdentifier.mjs +0 -6
  521. package/dist/components/typography/ElmFragmentIdentifier.stories.d.ts +0 -6
  522. package/dist/components/typography/ElmFragmentIdentifier.vue.d.ts +0 -8
  523. package/dist/components/typography/ElmFragmentIdentifier.vue_vue_type_script_setup_true_lang.mjs +0 -23
  524. package/dist/components/typography/ElmFragmentIdentifier.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  525. package/dist/components/typography/ElmHeading.mjs +0 -6
  526. package/dist/components/typography/ElmHeading.stories.d.ts +0 -7
  527. package/dist/components/typography/ElmHeading.vue.d.ts +0 -49
  528. package/dist/components/typography/ElmHeading.vue_vue_type_script_setup_true_lang.mjs +0 -94
  529. package/dist/components/typography/ElmHeading.vue_vue_type_style_index_0_lang.module.mjs +0 -25
  530. package/dist/components/typography/ElmInlineText.mjs +0 -6
  531. package/dist/components/typography/ElmInlineText.stories.d.ts +0 -12
  532. package/dist/components/typography/ElmInlineText.vue.d.ts +0 -85
  533. package/dist/components/typography/ElmInlineText.vue_vue_type_script_setup_true_lang.mjs +0 -111
  534. package/dist/components/typography/ElmInlineText.vue_vue_type_style_index_0_lang.module.mjs +0 -25
  535. package/dist/components/typography/ElmList.mjs +0 -19
  536. package/dist/components/typography/ElmList.stories.d.ts +0 -8
  537. package/dist/components/typography/ElmList.vue.d.ts +0 -31
  538. package/dist/components/typography/ElmList.vue_vue_type_script_setup_true_lang.mjs +0 -27
  539. package/dist/components/typography/ElmParagraph.mjs +0 -6
  540. package/dist/components/typography/ElmParagraph.stories.d.ts +0 -8
  541. package/dist/components/typography/ElmParagraph.vue.d.ts +0 -25
  542. package/dist/components/typography/ElmParagraph.vue_vue_type_script_setup_true_lang.mjs +0 -31
  543. package/dist/components/typography/ElmParagraph.vue_vue_type_style_index_0_lang.module.mjs +0 -16
  544. package/dist/components/typography/ElmTypingAnimation.mjs +0 -6
  545. package/dist/components/typography/ElmTypingAnimation.stories.d.ts +0 -6
  546. package/dist/components/typography/ElmTypingAnimation.vue.d.ts +0 -21
  547. package/dist/components/typography/ElmTypingAnimation.vue_vue_type_script_setup_true_lang.mjs +0 -42
  548. package/dist/components/typography/ElmTypingAnimation.vue_vue_type_style_index_0_lang.module.mjs +0 -20
  549. package/dist/hooks/useElmethisTheme.d.ts +0 -4
  550. package/dist/hooks/useElmethisTheme.mjs +0 -33
  551. package/dist/hooks/useTyping.d.ts +0 -17
  552. package/dist/hooks/useTyping.mjs +0 -42
  553. package/dist/index.d.ts +0 -126
  554. package/dist/index.mjs +0 -65
  555. package/dist/styles/heading.module.mjs +0 -16
  556. package/dist/styles/text.module.mjs +0 -16
  557. package/dist/styles/transition-fade.module.mjs +0 -28
@@ -0,0 +1,4387 @@
1
+ import "@elmethis/core/tokens.css";
2
+ import { Fragment as e, computed as t, createTextVNode as n, createVNode as r, defineComponent as i, h as a, inject as o, isVNode as s, mergeProps as c, onBeforeUnmount as l, onMounted as u, onUnmounted as d, provide as f, ref as p, shallowRef as m, watch as h } from "vue";
3
+ import { Catalog as g, ComponentContext as ee, MessageProcessor as te } from "@a2ui/web_core/v0_9";
4
+ import { AudioPlayerApi as ne, BASIC_COMPONENTS as re, BASIC_FUNCTIONS as ie, ButtonApi as ae, CardApi as oe, CheckBoxApi as se, ChoicePickerApi as ce, ColumnApi as le, DateTimeInputApi as ue, DividerApi as de, IconApi as fe, ImageApi as pe, ListApi as me, ModalApi as he, RowApi as ge, SliderApi as _e, TabsApi as ve, TextApi as ye, TextFieldApi as be, VideoApi as xe } from "@a2ui/web_core/v0_9/basic_catalog";
5
+ import { clsx as _ } from "clsx";
6
+ import { useClipboard as Se, useClipboardItems as Ce, useVModel as we } from "@vueuse/core";
7
+ import "zod";
8
+ import { renderToString as Te } from "katex";
9
+ import { mdiAlert as Ee, mdiAlertOctagram as De, mdiApplicationOutline as Oe, mdiArrowDownDropCircleOutline as ke, mdiCheckCircle as Ae, mdiCheckCircleOutline as je, mdiChevronRight as Me, mdiClipboardCheckOutline as Ne, mdiClipboardOutline as Pe, mdiCodeTags as Fe, mdiDownload as Ie, mdiEyeOffOutline as Le, mdiEyeOutline as Re, mdiFile as ze, mdiFolderOpen as Be, mdiFormatColorFill as Ve, mdiFormatQuoteClose as He, mdiFormatQuoteOpen as Ue, mdiHexadecimal as We, mdiHome as Ge, mdiInformation as Ke, mdiLightbulbOn as qe, mdiLinkVariant as Je, mdiMenuDown as Ye, mdiMessageImageOutline as Xe, mdiPlus as Ze, mdiShieldAlert as Qe, mdiText as $e, mdiTextLong as et, mdiTrashCanOutline as tt } from "@mdi/js";
10
+ import { codeToHtml as nt } from "shiki";
11
+ import rt from "@46ki75/ikuma-theme/dark";
12
+ import it from "@46ki75/ikuma-theme/light";
13
+ import { BlockImageApi as at, BlockQuoteApi as ot, BookmarkApi as st, CalloutApi as ct, CodeBlockApi as lt, ColumnApi as ut, ColumnListApi as dt, ContentTabApi as ft, ContentTabsApi as pt, DividerApi as mt, FileApi as ht, HeadingApi as gt, IconApi as _t, KatexApi as vt, LinkTextApi as yt, ListApi as bt, ListItemApi as xt, MermaidApi as St, ParagraphApi as Ct, RichTextApi as wt, TableApi as Tt, TableCellApi as Et, TableRowApi as Dt, ToggleApi as Ot, UnsupportedApi as kt } from "@elmethis/core";
14
+ import { marked as At } from "marked";
15
+ var v = {
16
+ "elm-tabs": "_elm-tabs_1fco0_1",
17
+ "tab-container": "_tab-container_1fco0_14",
18
+ tab: "_tab_1fco0_14",
19
+ active: "_active_1fco0_37",
20
+ "tab-content": "_tab-content_1fco0_48",
21
+ "tab-content-inner": "_tab-content-inner_1fco0_53"
22
+ }, y = {
23
+ "elm-collapse": "_elm-collapse_12wiu_1",
24
+ row: "_row_12wiu_5",
25
+ open: "_open_12wiu_11",
26
+ column: "_column_12wiu_16",
27
+ both: "_both_12wiu_27",
28
+ inner: "_inner_12wiu_44"
29
+ }, jt = /* @__PURE__ */ i({
30
+ name: "ElmCollapse",
31
+ props: {
32
+ isOpen: {
33
+ type: Boolean,
34
+ default: void 0
35
+ },
36
+ direction: {
37
+ type: String,
38
+ default: "row"
39
+ },
40
+ transitionTimingFunction: {
41
+ type: String,
42
+ default: "ease-in-out"
43
+ }
44
+ },
45
+ setup(e, { slots: t }) {
46
+ return () => r("div", {
47
+ class: _(y["elm-collapse"], e.isOpen && y.open, e.direction === "row" && y.row, e.direction === "column" && y.column, e.direction === "both" && y.both),
48
+ style: { "--elmethis-scoped-transition-timing-function": e.transitionTimingFunction }
49
+ }, [r("div", { class: y.inner }, [t.default?.()])]);
50
+ }
51
+ });
52
+ //#endregion
53
+ //#region src/hooks/use-bindable-signal.ts
54
+ function Mt(e) {
55
+ let { props: t, key: n, emit: r, defaultValue: i } = e;
56
+ return we(t, n, r, {
57
+ passive: !0,
58
+ defaultValue: i
59
+ });
60
+ }
61
+ //#endregion
62
+ //#region src/components/containments/tabs-context.ts
63
+ var Nt = Symbol("elm.tabs"), Pt = (e) => {
64
+ if (e == null) throw Error("ElmTabs subcomponents must be used within <ElmTabs>");
65
+ return e;
66
+ }, Ft = /* @__PURE__ */ i({
67
+ name: "ElmTabs",
68
+ props: {
69
+ value: {
70
+ type: String,
71
+ default: void 0
72
+ },
73
+ defaultValue: {
74
+ type: String,
75
+ default: ""
76
+ },
77
+ transitionTimingFunction: {
78
+ type: String,
79
+ default: "linear"
80
+ }
81
+ },
82
+ emits: ["update:value"],
83
+ setup(e, { emit: t, slots: n }) {
84
+ let i = Mt({
85
+ props: e,
86
+ key: "value",
87
+ emit: t,
88
+ defaultValue: e.defaultValue ?? ""
89
+ });
90
+ return f(Nt, {
91
+ selectedValue: i,
92
+ setSelectedValue: (e) => {
93
+ i.value = e;
94
+ },
95
+ get transitionTimingFunction() {
96
+ return e.transitionTimingFunction;
97
+ }
98
+ }), () => r("div", { class: _(v["elm-tabs"]) }, [n.default?.()]);
99
+ }
100
+ }), It = /* @__PURE__ */ i({
101
+ name: "ElmTabList",
102
+ setup(e, { slots: t }) {
103
+ return () => r("div", { class: _(v["tab-container"]) }, [t.default?.()]);
104
+ }
105
+ }), Lt = /* @__PURE__ */ i({
106
+ name: "ElmTab",
107
+ props: { value: {
108
+ type: String,
109
+ required: !0
110
+ } },
111
+ setup(e, { slots: t }) {
112
+ let n = Pt(o(Nt));
113
+ return () => r("div", {
114
+ class: _(v.tab, n.selectedValue.value === e.value && v.active),
115
+ onClick: () => n.setSelectedValue(e.value)
116
+ }, [t.default?.()]);
117
+ }
118
+ }), Rt = /* @__PURE__ */ i({
119
+ name: "ElmTabPanel",
120
+ props: { value: {
121
+ type: String,
122
+ required: !0
123
+ } },
124
+ setup(e, { slots: t }) {
125
+ let n = Pt(o(Nt));
126
+ return () => r("div", { class: _(v["tab-content"]) }, [r(jt, {
127
+ direction: "row",
128
+ isOpen: n.selectedValue.value === e.value,
129
+ transitionTimingFunction: n.transitionTimingFunction
130
+ }, { default: () => [r("div", { class: v["tab-content-inner"] }, [t.default?.()])] })]);
131
+ }
132
+ }), zt = {
133
+ "elm-heading": "_elm-heading_9vw8y_1",
134
+ h1: "_h1_9vw8y_13",
135
+ h2: "_h2_9vw8y_35",
136
+ "h2-underline": "_h2-underline_9vw8y_61",
137
+ h3: "_h3_9vw8y_72",
138
+ h4: "_h4_9vw8y_87",
139
+ h5: "_h5_9vw8y_91",
140
+ h6: "_h6_9vw8y_95"
141
+ }, b = { text: "_text_zme4t_1" }, Bt = { "elm-fragment-identifier": "_elm-fragment-identifier_xb2v4_1" }, Vt = /* @__PURE__ */ i({
142
+ name: "ElmFragmentIdentifier",
143
+ inheritAttrs: !1,
144
+ props: { id: {
145
+ type: String,
146
+ required: !0
147
+ } },
148
+ setup(e, { attrs: t }) {
149
+ let i = (e) => {
150
+ let t = new URL(window.location.href);
151
+ t.hash = e, window.history.replaceState(null, "", t.toString()), document.getElementById(e)?.scrollIntoView({ behavior: "smooth" });
152
+ };
153
+ return () => {
154
+ let { class: a, ...o } = t;
155
+ return r("span", c({
156
+ class: _(Bt["elm-fragment-identifier"], a),
157
+ onClick: () => i(e.id)
158
+ }, o), [n("#")]);
159
+ };
160
+ }
161
+ }), Ht = Object.freeze({
162
+ 1: 1.5,
163
+ 2: 1.4,
164
+ 3: 1.3,
165
+ 4: 1.2,
166
+ 5: 1.15,
167
+ 6: 1.1
168
+ }), x = /* @__PURE__ */ i({
169
+ name: "ElmHeading",
170
+ props: {
171
+ level: {
172
+ type: Number,
173
+ required: !0
174
+ },
175
+ text: {
176
+ type: String,
177
+ default: void 0
178
+ },
179
+ id: {
180
+ type: String,
181
+ default: void 0
182
+ }
183
+ },
184
+ setup(e, { slots: t }) {
185
+ return () => r(`h${e.level}`, {
186
+ class: _(zt["elm-heading"], b.text, zt[`h${e.level}`]),
187
+ style: { "--elmethis-scoped-font-size": `${Ht[e.level]}em` },
188
+ id: e.id
189
+ }, { default: () => [
190
+ r("span", null, [e.text]),
191
+ t.default?.(),
192
+ e.id && r("span", { style: { padding: "0.5rem" } }, [r(Vt, { id: e.id }, null)]),
193
+ e.level === 2 && r("span", {
194
+ class: zt["h2-underline"],
195
+ "aria-hidden": "true"
196
+ }, null)
197
+ ] });
198
+ }
199
+ }), S = {
200
+ "elm-inline-text": "_elm-inline-text_uf3sg_1",
201
+ code: "_code_uf3sg_13",
202
+ kbd: "_kbd_uf3sg_25",
203
+ link: "_link_uf3sg_58",
204
+ ogp: "_ogp_uf3sg_94",
205
+ "ogp-text": "_ogp-text_uf3sg_104",
206
+ "ogp-title": "_ogp-title_uf3sg_109",
207
+ "ogp-description": "_ogp-description_uf3sg_115"
208
+ }, Ut = { "elm-inline-icon": "_elm-inline-icon_1qs0i_1" }, C = /* @__PURE__ */ i({
209
+ name: "ElmInlineIcon",
210
+ inheritAttrs: !1,
211
+ props: {
212
+ src: {
213
+ type: String,
214
+ required: !0
215
+ },
216
+ alt: {
217
+ type: String,
218
+ default: void 0
219
+ },
220
+ width: {
221
+ type: [Number, String],
222
+ default: void 0
223
+ },
224
+ height: {
225
+ type: [Number, String],
226
+ default: void 0
227
+ },
228
+ size: {
229
+ type: [Number, String],
230
+ default: 16
231
+ }
232
+ },
233
+ setup(e, { attrs: t }) {
234
+ return () => {
235
+ let { class: n, ...i } = t;
236
+ return r("span", c({ class: _(Ut["elm-inline-icon"], n) }, i), [r("img", {
237
+ src: e.src,
238
+ alt: e.alt,
239
+ class: Ut["elm-inline-icon"],
240
+ width: e.width ?? e.size,
241
+ height: e.height ?? e.size
242
+ }, null)]);
243
+ };
244
+ }
245
+ }), w = /* @__PURE__ */ i({
246
+ name: "ElmInlineText",
247
+ inheritAttrs: !1,
248
+ props: {
249
+ color: {
250
+ type: String,
251
+ default: void 0
252
+ },
253
+ size: {
254
+ type: String,
255
+ default: "1em"
256
+ },
257
+ backgroundColor: {
258
+ type: String,
259
+ default: void 0
260
+ },
261
+ bold: {
262
+ type: Boolean,
263
+ default: !1
264
+ },
265
+ italic: {
266
+ type: Boolean,
267
+ default: !1
268
+ },
269
+ underline: {
270
+ type: Boolean,
271
+ default: !1
272
+ },
273
+ strikethrough: {
274
+ type: Boolean,
275
+ default: !1
276
+ },
277
+ code: {
278
+ type: Boolean,
279
+ default: !1
280
+ },
281
+ kbd: {
282
+ type: Boolean,
283
+ default: !1
284
+ },
285
+ ruby: {
286
+ type: String,
287
+ default: void 0
288
+ },
289
+ href: {
290
+ type: String,
291
+ default: void 0
292
+ },
293
+ favicon: {
294
+ type: String,
295
+ default: void 0
296
+ }
297
+ },
298
+ setup(e, { attrs: t, slots: n }) {
299
+ return () => {
300
+ let { class: i, style: a, ...o } = t, s = n.default?.();
301
+ return e.href && (s = r("a", {
302
+ class: S.link,
303
+ href: e.href,
304
+ target: "_blank",
305
+ rel: "noopener noreferrer"
306
+ }, [e.favicon && r(C, {
307
+ src: e.favicon,
308
+ alt: "favicon"
309
+ }, null), s])), e.kbd && ((function() {
310
+ return s;
311
+ })(), s = r("kbd", { class: S.kbd }, [s])), e.strikethrough && ((function() {
312
+ return s;
313
+ })(), s = r("del", null, [s])), e.italic && ((function() {
314
+ return s;
315
+ })(), s = r("em", null, [s])), e.underline && ((function() {
316
+ return s;
317
+ })(), s = r("ins", null, [s])), e.bold && ((function() {
318
+ return s;
319
+ })(), s = r("strong", null, [s])), e.code && ((function() {
320
+ return s;
321
+ })(), s = r("code", { class: S.code }, [s])), e.ruby && (s = r("ruby", { class: S["elm-inline-text"] }, [r("span", null, [s]), r("rt", null, [e.ruby])])), r("span", c({
322
+ class: _(S["elm-inline-text"], b.text, i),
323
+ style: [a, {
324
+ "--elmethis-scoped-color": e.color,
325
+ "--elmethis-scoped-font-size": e.size,
326
+ "--elmethis-scoped-background-color": e.backgroundColor
327
+ }]
328
+ }, o), [s]);
329
+ };
330
+ }
331
+ }), Wt = { "elm-paragraph": "_elm-paragraph_rbsk5_1" }, Gt = /* @__PURE__ */ i({
332
+ name: "ElmParagraph",
333
+ inheritAttrs: !1,
334
+ props: {
335
+ color: {
336
+ type: String,
337
+ default: void 0
338
+ },
339
+ backgroundColor: {
340
+ type: String,
341
+ default: void 0
342
+ }
343
+ },
344
+ setup(e, { attrs: t, slots: n }) {
345
+ return () => {
346
+ let { class: i, style: a, ...o } = t;
347
+ return r("p", c({
348
+ class: _(Wt["elm-paragraph"], b.text, i),
349
+ style: [a, {
350
+ "--elmethis-scoped-color": e.color,
351
+ "--elmethis-scoped-background-color": e.backgroundColor
352
+ }]
353
+ }, o), [n.default?.()]);
354
+ };
355
+ }
356
+ }), T = {
357
+ "elm-a2ui": "_elm-a2ui_4ps3c_1",
358
+ surface: "_surface_4ps3c_5",
359
+ text: "_text_4ps3c_11",
360
+ "text-h1": "_text-h1_4ps3c_16",
361
+ "text-h2": "_text-h2_4ps3c_21",
362
+ "text-h3": "_text-h3_4ps3c_26",
363
+ "text-h4": "_text-h4_4ps3c_31",
364
+ "text-h5": "_text-h5_4ps3c_36",
365
+ "text-body": "_text-body_4ps3c_41",
366
+ row: "_row_4ps3c_47",
367
+ column: "_column_4ps3c_53",
368
+ "child-wrap": "_child-wrap_4ps3c_60",
369
+ list: "_list_4ps3c_64",
370
+ "list-horizontal": "_list-horizontal_4ps3c_71",
371
+ "list-item": "_list-item_4ps3c_75",
372
+ card: "_card_4ps3c_81",
373
+ button: "_button_4ps3c_91",
374
+ "button-primary": "_button-primary_4ps3c_110",
375
+ image: "_image_4ps3c_122",
376
+ icon: "_icon_4ps3c_130",
377
+ divider: "_divider_4ps3c_139",
378
+ "divider-vertical": "_divider-vertical_4ps3c_145",
379
+ "text-field": "_text-field_4ps3c_155",
380
+ label: "_label_4ps3c_161",
381
+ input: "_input_4ps3c_167",
382
+ checkbox: "_checkbox_4ps3c_180",
383
+ "checkbox-label": "_checkbox-label_4ps3c_188",
384
+ slider: "_slider_4ps3c_192",
385
+ modal: "_modal_4ps3c_199",
386
+ "modal-content": "_modal-content_4ps3c_203",
387
+ video: "_video_4ps3c_209",
388
+ audio: "_audio_4ps3c_210",
389
+ "choice-picker": "_choice-picker_4ps3c_217",
390
+ "choice-picker-label": "_choice-picker-label_4ps3c_223",
391
+ "choice-picker-options": "_choice-picker-options_4ps3c_229",
392
+ "choice-picker-option": "_choice-picker-option_4ps3c_229",
393
+ "datetime-input": "_datetime-input_4ps3c_246"
394
+ };
395
+ //#endregion
396
+ //#region \0@oxc-project+runtime@0.123.0/helpers/typeof.js
397
+ function Kt(e) {
398
+ "@babel/helpers - typeof";
399
+ return Kt = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
400
+ return typeof e;
401
+ } : function(e) {
402
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
403
+ }, Kt(e);
404
+ }
405
+ //#endregion
406
+ //#region \0@oxc-project+runtime@0.123.0/helpers/toPrimitive.js
407
+ function qt(e, t) {
408
+ if (Kt(e) != "object" || !e) return e;
409
+ var n = e[Symbol.toPrimitive];
410
+ if (n !== void 0) {
411
+ var r = n.call(e, t || "default");
412
+ if (Kt(r) != "object") return r;
413
+ throw TypeError("@@toPrimitive must return a primitive value.");
414
+ }
415
+ return (t === "string" ? String : Number)(e);
416
+ }
417
+ //#endregion
418
+ //#region \0@oxc-project+runtime@0.123.0/helpers/toPropertyKey.js
419
+ function Jt(e) {
420
+ var t = qt(e, "string");
421
+ return Kt(t) == "symbol" ? t : t + "";
422
+ }
423
+ //#endregion
424
+ //#region \0@oxc-project+runtime@0.123.0/helpers/defineProperty.js
425
+ function Yt(e, t, n) {
426
+ return (t = Jt(t)) in e ? Object.defineProperty(e, t, {
427
+ value: n,
428
+ enumerable: !0,
429
+ configurable: !0,
430
+ writable: !0
431
+ }) : e[t] = n, e;
432
+ }
433
+ //#endregion
434
+ //#region src/components/a2ui/catalog/catalog.ts
435
+ function E(e, t) {
436
+ return {
437
+ name: e.name,
438
+ render: t
439
+ };
440
+ }
441
+ var Xt = class e {
442
+ constructor(e = []) {
443
+ Yt(this, "entries", void 0);
444
+ let t = /* @__PURE__ */ new Map();
445
+ for (let n of e) t.set(n.name, n);
446
+ this.entries = t;
447
+ }
448
+ get(e) {
449
+ return this.entries.get(e)?.render;
450
+ }
451
+ names() {
452
+ return Array.from(this.entries.keys());
453
+ }
454
+ extend(...t) {
455
+ let n = new Map(this.entries);
456
+ for (let r of t) if (r instanceof e) for (let [e, t] of r.entries) n.set(e, t);
457
+ else n.set(r.name, r);
458
+ return new e(n.values());
459
+ }
460
+ }, Zt = {
461
+ start: "flex-start",
462
+ end: "flex-end",
463
+ center: "center",
464
+ spaceBetween: "space-between",
465
+ spaceAround: "space-around",
466
+ spaceEvenly: "space-evenly",
467
+ stretch: "stretch"
468
+ }, Qt = {
469
+ start: "flex-start",
470
+ end: "flex-end",
471
+ center: "center",
472
+ stretch: "stretch"
473
+ }, $t = {
474
+ contain: "contain",
475
+ cover: "cover",
476
+ fill: "fill",
477
+ none: "none",
478
+ scaleDown: "scale-down"
479
+ };
480
+ function D(e) {
481
+ return e === 0 ? { marginBlockStart: 0 } : void 0;
482
+ }
483
+ //#endregion
484
+ //#region src/components/a2ui/catalog/basic-catalog.tsx
485
+ function O(e) {
486
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
487
+ }
488
+ var en = {
489
+ shortText: "text",
490
+ number: "number",
491
+ obscured: "password"
492
+ };
493
+ function tn(e) {
494
+ switch (e) {
495
+ case "h1": return 1;
496
+ case "h2": return 2;
497
+ case "h3": return 3;
498
+ case "h4": return 4;
499
+ case "h5": return 5;
500
+ default: return 1;
501
+ }
502
+ }
503
+ var nn = new Xt([
504
+ E(ye, ({ props: e, resolve: t }) => {
505
+ let n = t(e.text), i = e.variant ?? "body";
506
+ return i === "caption" ? r(w, null, O(n) ? n : { default: () => [n] }) : i === "body" ? r(Gt, null, O(n) ? n : { default: () => [n] }) : r(x, { level: tn(i) }, O(n) ? n : { default: () => [n] });
507
+ }),
508
+ E(ge, ({ props: e, childRefs: t, renderChild: n }) => r("div", {
509
+ class: T.row,
510
+ style: {
511
+ justifyContent: Zt[e.justify ?? "start"],
512
+ alignItems: Qt[e.align ?? "center"]
513
+ }
514
+ }, [t(e.children).map(({ id: e, path: t }, i) => r("span", {
515
+ key: `${e}:${i}`,
516
+ class: T["child-wrap"]
517
+ }, [n(e, t, i)]))])),
518
+ E(le, ({ props: e, childRefs: t, renderChild: n }) => r("div", {
519
+ class: T.column,
520
+ style: { "--margin-block": "2rem" }
521
+ }, [t(e.children).map(({ id: e, path: t }, i) => r("span", {
522
+ key: `${e}:${i}`,
523
+ class: T["child-wrap"]
524
+ }, [n(e, t, i)]))])),
525
+ E(me, ({ props: e, childRefs: t, renderChild: n }) => r("div", { class: _(T.list, e.direction === "horizontal" && T["list-horizontal"]) }, [t(e.children).map(({ id: e, path: t }, i) => r("div", {
526
+ key: `${e}:${i}`,
527
+ class: T["list-item"]
528
+ }, [n(e, t, i)]))])),
529
+ E(oe, ({ props: e, renderChild: t }) => r("div", { class: T.card }, [t(e.child)])),
530
+ E(ae, ({ props: e, renderChild: t, dispatchAction: n }) => r("div", {
531
+ role: "button",
532
+ tabindex: 0,
533
+ class: _(T.button, e.variant === "primary" && T["button-primary"]),
534
+ onClick: e.action ? () => n("action") : void 0,
535
+ onKeydown: e.action ? (e) => {
536
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), n("action"));
537
+ } : void 0
538
+ }, [t(e.child)])),
539
+ E(pe, ({ props: e, resolve: t }) => r("img", {
540
+ class: T.image,
541
+ src: t(e.url),
542
+ alt: e.description ? t(e.description) : "",
543
+ style: { objectFit: $t[e.fit ?? "cover"] }
544
+ }, null)),
545
+ E(fe, ({ props: e, resolve: t }) => {
546
+ let n = t(e.name);
547
+ return r("span", {
548
+ class: T.icon,
549
+ "aria-label": n,
550
+ "data-icon": n
551
+ }, null);
552
+ }),
553
+ E(de, ({ props: e }) => r("div", {
554
+ class: _(T.divider, e.axis === "vertical" && T["divider-vertical"]),
555
+ role: "separator"
556
+ }, null)),
557
+ E(be, ({ props: e, resolve: t, setBinding: n }) => {
558
+ let i = e.variant ?? "shortText", a = e.value ? t(e.value) : "";
559
+ return r("div", { class: T["text-field"] }, [r("label", { class: T.label }, [t(e.label)]), i === "longText" ? r("textarea", {
560
+ class: T.input,
561
+ value: a,
562
+ onInput: (e) => n("value", e.target.value),
563
+ onChange: (e) => n("value", e.target.value)
564
+ }, null) : r("input", {
565
+ class: T.input,
566
+ type: en[i] ?? "text",
567
+ value: a,
568
+ onInput: (e) => n("value", e.target.value),
569
+ onChange: (e) => n("value", e.target.value)
570
+ }, null)]);
571
+ }),
572
+ E(se, ({ props: e, ctx: t, resolve: n, setBinding: i }) => {
573
+ let a = e.value, o = typeof a == "boolean" ? a : !!(t.dataContext.resolveDynamicValue(a) ?? !1);
574
+ return r("label", { class: T.checkbox }, [r("input", {
575
+ type: "checkbox",
576
+ checked: o,
577
+ onChange: (e) => i("value", e.target.checked)
578
+ }, null), r("span", { class: T["checkbox-label"] }, [n(e.label)])]);
579
+ }),
580
+ E(_e, ({ props: e, ctx: t, setBinding: n }) => {
581
+ let i = e.value, a = typeof i == "number" ? i : Number(t.dataContext.resolveDynamicValue(i) ?? 0);
582
+ return r("input", {
583
+ class: T.slider,
584
+ type: "range",
585
+ value: a,
586
+ min: e.min ?? 0,
587
+ max: e.max,
588
+ onInput: (e) => n("value", Number(e.target.value)),
589
+ onChange: (e) => n("value", Number(e.target.value))
590
+ }, null);
591
+ }),
592
+ E(ve, ({ props: e, resolve: t, renderChild: n }) => {
593
+ let i;
594
+ return r(Ft, { defaultValue: "0" }, { default: () => [r(It, null, O(i = e.tabs.map((e, n) => {
595
+ let i;
596
+ return r(Lt, {
597
+ key: n,
598
+ value: String(n)
599
+ }, O(i = t(e.title)) ? i : { default: () => [i] });
600
+ })) ? i : { default: () => [i] }), e.tabs.map((e, t) => {
601
+ let i;
602
+ return r(Rt, {
603
+ key: t,
604
+ value: String(t)
605
+ }, O(i = n(e.child)) ? i : { default: () => [i] });
606
+ })] });
607
+ }),
608
+ E(he, ({ props: e, renderChild: t }) => r("div", { class: T.modal }, [t(e.trigger), r("div", { class: T["modal-content"] }, [t(e.content)])])),
609
+ E(xe, ({ props: e, resolve: t }) => r("video", {
610
+ class: T.video,
611
+ controls: !0,
612
+ src: t(e.url)
613
+ }, null)),
614
+ E(ne, ({ props: e, resolve: t }) => r("audio", {
615
+ class: T.audio,
616
+ controls: !0,
617
+ src: t(e.url)
618
+ }, null)),
619
+ E(ce, ({ props: e, componentId: t, ctx: n, resolve: i, setBinding: a }) => {
620
+ let o = e.value, s = Array.isArray(o) ? o : n.dataContext.resolveDynamicValue(o) ?? [], c = Array.isArray(s) ? s : [], l = (e.variant ?? "mutuallyExclusive") === "multipleSelection";
621
+ return r("div", {
622
+ class: T["choice-picker"],
623
+ "data-choice-picker": t,
624
+ onChange: (e) => {
625
+ let t = e.currentTarget, n = t.querySelectorAll("input"), r = n.length > 0 && n[0].type === "checkbox", i = Array.from(t.querySelectorAll("input:checked")).map((e) => e.value);
626
+ a("value", r ? i : i.slice(0, 1));
627
+ }
628
+ }, [e.label ? r("span", { class: T["choice-picker-label"] }, [i(e.label)]) : null, r("div", { class: T["choice-picker-options"] }, [e.options.map((e) => r("label", {
629
+ key: e.value,
630
+ class: T["choice-picker-option"]
631
+ }, [r("input", {
632
+ type: l ? "checkbox" : "radio",
633
+ name: t,
634
+ value: e.value,
635
+ checked: c.includes(e.value)
636
+ }, null), r("span", null, [i(e.label)])]))])]);
637
+ }),
638
+ E(ue, ({ props: e, resolve: t, setBinding: n }) => {
639
+ let i = e.enableDate ?? !1, a = e.enableTime ?? !1, o = i && a ? "datetime-local" : i ? "date" : a ? "time" : "text";
640
+ return r("div", { class: T["datetime-input"] }, [e.label ? r("label", { class: T.label }, [t(e.label)]) : null, r("input", {
641
+ class: T.input,
642
+ type: o,
643
+ value: e.value ? t(e.value) : "",
644
+ min: e.min == null ? void 0 : String(e.min),
645
+ max: e.max == null ? void 0 : String(e.max),
646
+ onInput: (e) => n("value", e.target.value),
647
+ onChange: (e) => n("value", e.target.value)
648
+ }, null)]);
649
+ })
650
+ ]), rn = "root", an = Symbol("elmethis.a2ui.surface"), on = Symbol("elmethis.a2ui.catalog"), sn = Symbol("elmethis.a2ui.ancestors"), cn = /* @__PURE__ */ i({
651
+ name: "ComponentHost",
652
+ props: {
653
+ id: {
654
+ type: String,
655
+ required: !0
656
+ },
657
+ basePath: {
658
+ type: String,
659
+ required: !0
660
+ },
661
+ index: {
662
+ type: Number,
663
+ default: 0
664
+ }
665
+ },
666
+ setup(e) {
667
+ let t = o(an, void 0), i = o(on, void 0), a = o(sn, []), s = a.includes(e.id);
668
+ f(sn, [...a, e.id]);
669
+ let c = p(0), l = p(!1), m = [], h = null;
670
+ return u(() => {
671
+ if (!t) return;
672
+ let n = (e) => {
673
+ h?.unsubscribe(), h = e.onUpdated.subscribe(() => {
674
+ c.value++;
675
+ }), l.value = !0;
676
+ }, r = t.componentsModel.get(e.id);
677
+ r && n(r), m.push(t.componentsModel.onCreated.subscribe((t) => {
678
+ t.id === e.id && (n(t), c.value++);
679
+ })), m.push(t.componentsModel.onDeleted.subscribe((t) => {
680
+ t === e.id && (h?.unsubscribe(), h = null, c.value++);
681
+ })), m.push(t.dataModel.subscribe("/", () => {
682
+ c.value++;
683
+ }));
684
+ }), d(() => {
685
+ for (let e of m) e.unsubscribe();
686
+ h?.unsubscribe();
687
+ }), () => {
688
+ if (c.value, s || !t || !i) return null;
689
+ let a = t.componentsModel.get(e.id);
690
+ if (!a) return l.value ? null : r("span", {
691
+ "data-a2ui-state": "loading",
692
+ "data-a2ui-component-id": e.id,
693
+ style: {
694
+ color: "gray",
695
+ fontSize: "0.875em",
696
+ fontStyle: "italic"
697
+ }
698
+ }, [
699
+ n("[Loading "),
700
+ e.id,
701
+ n("…]")
702
+ ]);
703
+ let o = i.get(a.type);
704
+ if (!o) return r("span", {
705
+ "data-a2ui-state": "unknown",
706
+ "data-a2ui-component-id": e.id,
707
+ "data-a2ui-component-type": a.type,
708
+ style: {
709
+ color: "tomato",
710
+ fontWeight: 600
711
+ }
712
+ }, [n("Unknown component: "), a.type]);
713
+ let u = new ee(t, e.id, e.basePath), d = (e) => typeof e == "string" ? e : e == null ? "" : typeof e == "object" ? u.dataContext.resolveDynamicValue(e) ?? "" : String(e), f = (n) => {
714
+ if (Array.isArray(n)) return n.filter((e) => typeof e == "string").map((t) => ({
715
+ id: t,
716
+ path: e.basePath
717
+ }));
718
+ if (n && typeof n == "object" && "componentId" in n) {
719
+ let e = n, r = t.dataModel.get(e.path);
720
+ return Array.isArray(r) ? r.map((t, n) => ({
721
+ id: e.componentId,
722
+ path: `${e.path}/${n}`
723
+ })) : [];
724
+ }
725
+ return [];
726
+ }, p = (t, n = e.basePath, i = 0) => r(cn, {
727
+ key: t,
728
+ id: t,
729
+ basePath: n,
730
+ index: i
731
+ }, null), m = e.id, h = {
732
+ componentId: e.id,
733
+ index: e.index ?? 0,
734
+ props: a.properties,
735
+ surface: t,
736
+ ctx: u,
737
+ resolve: d,
738
+ childRefs: f,
739
+ renderChild: p,
740
+ setBinding: (e, n) => {
741
+ if (!t) return;
742
+ let r = t.componentsModel.get(m);
743
+ if (!r) return;
744
+ let i = r.properties[e];
745
+ if (!i || typeof i != "object" || !("path" in i)) return;
746
+ let a = i.path;
747
+ new ee(t, m).dataContext.set(a, n);
748
+ },
749
+ dispatchAction: (e = "action") => {
750
+ if (!t) return;
751
+ let n = t.componentsModel.get(m);
752
+ if (!n) return;
753
+ let r = n.properties[e];
754
+ if (!r) return;
755
+ let i = new ee(t, m), a = (e) => {
756
+ if (typeof e != "object" || !e) return e;
757
+ if ("path" in e || "call" in e) return i.dataContext.resolveDynamicValue(e);
758
+ if (Array.isArray(e)) return e.map(a);
759
+ let t = {};
760
+ for (let [n, r] of Object.entries(e)) t[n] = a(r);
761
+ return t;
762
+ };
763
+ t.dispatchAction(a(r), m).catch((e) => {
764
+ console.error("[ComponentHost] action dispatch failed:", e);
765
+ });
766
+ }
767
+ };
768
+ return r("span", {
769
+ "data-a2ui-component-id": e.id,
770
+ style: { display: "contents" }
771
+ }, [o(h)]);
772
+ };
773
+ }
774
+ });
775
+ //#endregion
776
+ //#region src/components/a2ui/stream-json-lines.ts
777
+ async function ln(e, { signal: t, onMessage: n, onError: r }) {
778
+ if (t?.aborted) return;
779
+ let i = e.getReader(), a = new TextDecoder(), o = "", s = () => {
780
+ i.cancel().catch(() => {});
781
+ };
782
+ t?.addEventListener("abort", s, { once: !0 });
783
+ let c = (e) => {
784
+ let t = e.trim();
785
+ if (t) try {
786
+ n(JSON.parse(t));
787
+ } catch (e) {
788
+ r?.(e, t);
789
+ }
790
+ };
791
+ try {
792
+ for (;;) {
793
+ let { done: e, value: t } = await i.read();
794
+ if (e) break;
795
+ o += a.decode(t, { stream: !0 });
796
+ let n = o.split("\n");
797
+ o = n.pop() ?? "";
798
+ for (let e of n) c(e);
799
+ }
800
+ t?.aborted || c(o);
801
+ } finally {
802
+ t?.removeEventListener("abort", s);
803
+ try {
804
+ i.releaseLock();
805
+ } catch {}
806
+ }
807
+ }
808
+ //#endregion
809
+ //#region src/components/a2ui/elm-a2ui.tsx
810
+ var un = "https://a2ui.org/specification/v0_9/basic_catalog.json", dn = /* @__PURE__ */ i({
811
+ name: "A2uiSurfaceView",
812
+ props: { surface: {
813
+ type: Object,
814
+ required: !0
815
+ } },
816
+ setup(e) {
817
+ return f(an, e.surface), f(sn, []), () => r("div", {
818
+ class: T.surface,
819
+ style: { "--elmethis-margin-block-start": "2rem" }
820
+ }, [r(cn, {
821
+ id: rn,
822
+ basePath: "/"
823
+ }, null)]);
824
+ }
825
+ }), fn = /* @__PURE__ */ i({
826
+ name: "A2uiSurface",
827
+ props: {
828
+ surface: {
829
+ type: Object,
830
+ required: !0
831
+ },
832
+ catalog: {
833
+ type: Object,
834
+ default: void 0
835
+ }
836
+ },
837
+ setup(e) {
838
+ return f(on, e.catalog ?? nn), f(an, e.surface), f(sn, []), () => r("div", {
839
+ class: T.surface,
840
+ style: { "--elmethis-margin-block-start": "2rem" }
841
+ }, [r(cn, {
842
+ id: rn,
843
+ basePath: "/"
844
+ }, null)]);
845
+ }
846
+ }), pn = /* @__PURE__ */ i({
847
+ name: "ElmA2ui",
848
+ props: {
849
+ url: {
850
+ type: String,
851
+ default: void 0
852
+ },
853
+ headers: {
854
+ type: Object,
855
+ default: void 0
856
+ },
857
+ messages: {
858
+ type: Array,
859
+ default: void 0
860
+ },
861
+ catalogId: {
862
+ type: String,
863
+ default: void 0
864
+ },
865
+ catalog: {
866
+ type: Object,
867
+ default: void 0
868
+ }
869
+ },
870
+ setup(e) {
871
+ f(on, e.catalog ?? nn);
872
+ let t = p([]), n = p(0), i = /* @__PURE__ */ new Map(), a = null, o = async () => {
873
+ let r = e.catalogId, o = e.messages ? [...e.messages] : [...t.value], s = a;
874
+ if (s !== null && s.catalogId === r && o.length >= s.messages.length && s.messages.every((e, t) => e === o[t]) && s) {
875
+ let e = o.slice(s.processed);
876
+ if (!e.length) return;
877
+ for (let t of e) try {
878
+ s.processor.processMessages([t]);
879
+ } catch (e) {
880
+ console.warn("[ElmA2ui] skipped invalid A2UI message:", t, e);
881
+ }
882
+ await Promise.resolve(), await Promise.resolve(), s.processed = o.length, s.messages = o, n.value++;
883
+ return;
884
+ }
885
+ if (s) {
886
+ for (let e of s.subs) e.unsubscribe();
887
+ s.processor.model.dispose();
888
+ }
889
+ let c = new Set([un]);
890
+ r && c.add(r);
891
+ for (let e of o) if (e && typeof e == "object" && "createSurface" in e) {
892
+ let t = e.createSurface?.catalogId;
893
+ typeof t == "string" && c.add(t);
894
+ }
895
+ let l = new te(Array.from(c).map((e) => new g(e, re, ie))), u = /* @__PURE__ */ new Map(), d = [];
896
+ d.push(l.model.onSurfaceCreated.subscribe((e) => {
897
+ u.set(e.id, e), n.value++;
898
+ })), d.push(l.model.onSurfaceDeleted.subscribe((e) => {
899
+ u.delete(e), n.value++;
900
+ })), i = u;
901
+ for (let e of o) try {
902
+ l.processMessages([e]);
903
+ } catch (t) {
904
+ console.warn("[ElmA2ui] skipped invalid A2UI message:", e, t);
905
+ }
906
+ a = {
907
+ processor: l,
908
+ subs: d,
909
+ processed: o.length,
910
+ messages: o,
911
+ catalogId: r
912
+ }, n.value++;
913
+ };
914
+ h([
915
+ () => e.messages,
916
+ () => e.catalogId,
917
+ () => t.value.length
918
+ ], () => {
919
+ o();
920
+ }, { immediate: !0 });
921
+ let s = null;
922
+ return u(() => {
923
+ if (!e.url) return;
924
+ s = new AbortController();
925
+ let n = s.signal;
926
+ fetch(e.url, {
927
+ headers: e.headers,
928
+ signal: n
929
+ }).then(async (e) => {
930
+ e.body && await ln(e.body, {
931
+ signal: n,
932
+ onMessage: (e) => {
933
+ e && typeof e == "object" && t.value.push(e);
934
+ },
935
+ onError: (e, t) => {
936
+ console.warn("[ElmA2ui] skipped invalid JSON line:", t, e);
937
+ }
938
+ });
939
+ }).catch((e) => {
940
+ e instanceof Error && e.name !== "AbortError" && console.error("[ElmA2ui] stream error:", e);
941
+ });
942
+ }), d(() => {
943
+ if (s?.abort(), a) {
944
+ for (let e of a.subs) e.unsubscribe();
945
+ a.processor.model.dispose();
946
+ }
947
+ }), () => (n.value, r("div", { class: T["elm-a2ui"] }, [Array.from(i.values()).map((e) => r(dn, {
948
+ key: e.id,
949
+ surface: e
950
+ }, null))]));
951
+ }
952
+ }), mn = { "elm-katex": "_elm-katex_189xe_1" }, hn = /* @__PURE__ */ i({
953
+ name: "ElmKatex",
954
+ props: {
955
+ expression: {
956
+ type: String,
957
+ required: !0
958
+ },
959
+ block: {
960
+ type: Boolean,
961
+ default: !1
962
+ }
963
+ },
964
+ setup(e) {
965
+ let n = t(() => Te(e.expression, {
966
+ displayMode: e.block,
967
+ output: "mathml"
968
+ }));
969
+ return () => r("div", {
970
+ class: _(b.text, e.block ? mn["elm-katex"] : void 0),
971
+ innerHTML: n.value
972
+ }, null);
973
+ }
974
+ }), k = {
975
+ "elm-code-block": "_elm-code-block_xdmlc_1",
976
+ "language-icon": "_language-icon_xdmlc_17",
977
+ caption: "_caption_xdmlc_22",
978
+ "copy-icon": "_copy-icon_xdmlc_29",
979
+ divider: "_divider_xdmlc_33",
980
+ code: "_code_xdmlc_40"
981
+ }, gn = /* @__PURE__ */ i({
982
+ name: "Rust",
983
+ props: { size: {
984
+ type: [Number, String],
985
+ default: 24
986
+ } },
987
+ setup(e) {
988
+ return () => r("svg", {
989
+ xmlns: "http://www.w3.org/2000/svg",
990
+ viewBox: "0 0 128 128",
991
+ fill: "#a84f33",
992
+ width: e.size,
993
+ height: e.size
994
+ }, [r("path", { d: "M62.96.242c-.232.135-1.203 1.528-2.16 3.097c-2.4 3.94-2.426 3.942-5.65.55c-2.098-2.208-2.605-2.612-3.28-2.607c-.44.002-.995.152-1.235.332s-.916 1.612-1.504 3.183c-1.346 3.6-1.41 3.715-2.156 3.86c-.46.086-1.343-.407-3.463-1.929c-1.565-1.125-3.1-2.045-3.411-2.045c-1.291 0-1.655.706-2.27 4.4c-.78 4.697-.754 4.681-4.988 2.758c-1.71-.776-3.33-1.41-3.603-1.41s-.792.293-1.15.652c-.652.652-.653.655-.475 4.246l.178 3.595l-.68.364c-.602.322-1.017.283-3.684-.348c-3.48-.822-4.216-.8-4.92.15l-.516.693l.692 2.964c.38 1.63.745 3.2.814 3.487c.067.287-.05.746-.26 1.02c-.348.448-.717.49-3.94.44c-5.452-.086-5.761.382-3.51 5.3c.718 1.56 1.305 2.98 1.305 3.15c0 .898-.717 1.224-3.794 1.727c-1.722.28-3.218.51-3.326.51c-.107 0-.43.235-.717.522c-.937.936-.671 1.816 1.453 4.814c2.646 3.735 2.642 3.75-1.73 5.421c-4.971 1.902-5.072 2.37-1.287 5.96c3.525 3.344 3.53 3.295-.461 5.804C.208 62.8.162 62.846.085 63.876c-.093 1.253-.071 1.275 3.538 3.48c3.57 2.18 3.57 2.246.067 5.56C-.078 76.48.038 77 5.013 78.877c4.347 1.64 4.353 1.66 1.702 5.394c-1.502 2.117-1.981 3-1.981 3.653c0 1.223.637 1.535 4.44 2.174c3.206.54 3.92.857 3.92 1.741c0 .182-.588 1.612-1.307 3.177c-2.236 4.87-1.981 5.275 3.31 5.275c4.93 0 4.799-.15 3.737 4.294c-.8 3.35-.813 3.992-.088 4.715c.554.556 1.6.494 4.87-.289c2.499-.596 2.937-.637 3.516-.328l.66.354l-.177 3.594c-.178 3.593-.177 3.595.475 4.248c.358.36.884.652 1.165.652s1.903-.63 3.604-1.404c4.22-1.916 4.194-1.932 4.973 2.75c.617 3.711.977 4.4 2.294 4.4c.327 0 1.83-.88 3.34-1.958c2.654-1.893 3.342-2.19 4.049-1.74c.182.115.89 1.67 1.572 3.455c1.003 2.625 1.37 3.31 1.929 3.576c1.062.51 1.72.1 4.218-2.62c3.016-3.286 3.14-3.27 5.602.72c2.72 4.406 3.424 4.396 6.212-.089c2.402-3.864 2.374-3.862 5.621-.47c2.157 2.25 2.616 2.61 3.343 2.61c.464 0 1.019-.175 1.23-.388c.214-.213.92-1.786 1.568-3.496c.649-1.71 1.321-3.2 1.495-3.31c.687-.436 1.398-.13 4.048 1.752c1.56 1.108 3.028 1.96 3.377 1.96c1.296 0 1.764-.92 2.302-4.535c.46-3.082.554-3.378 1.16-3.685c.596-.302.954-.2 3.75 1.07c1.701.77 3.323 1.402 3.604 1.402s.816-.302 1.184-.672l.672-.67l-.184-3.448c-.177-3.29-.16-3.468.364-3.943c.54-.488.596-.486 3.615.204c3.656.835 4.338.857 5.025.17c.671-.67.664-.818-.254-4.69c-1.03-4.346-1.168-4.19 3.78-4.19c3.374 0 3.75-.049 4.18-.523c.718-.793.547-1.702-.896-4.779c-.729-1.55-1.32-2.96-1.315-3.135c.024-.914.743-1.227 4.065-1.767c2.033-.329 3.553-.71 3.829-.96c.923-.833.584-1.918-1.523-4.873c-2.642-3.703-2.63-3.738 1.599-5.297c5.064-1.866 5.209-2.488 1.419-6.09c-3.51-3.335-3.512-3.317.333-5.677c4.648-2.853 4.655-3.496.082-6.335c-3.933-2.44-3.93-2.406-.405-5.753c3.78-3.593 3.678-4.063-1.295-5.965c-4.388-1.679-4.402-1.72-1.735-5.38c1.588-2.18 1.982-2.903 1.982-3.65c0-1.306-.586-1.598-4.436-2.22c-3.216-.52-3.924-.835-3.924-1.75c0-.174.588-1.574 1.307-3.113c1.406-3.013 1.604-4.22.808-4.94c-.428-.387-1-.443-4.067-.392c-3.208.054-3.618.008-4.063-.439c-.486-.488-.48-.557.278-3.725c.931-3.88.935-3.975.17-4.694c-.777-.73-1.262-.718-4.826.121c-2.597.612-3.027.653-3.617.337l-.67-.36l.185-3.582l.186-3.58l-.67-.67c-.369-.37-.891-.67-1.163-.67c-.27 0-1.884.64-3.583 1.421c-2.838 1.306-3.143 1.393-3.757 1.072c-.612-.32-.714-.637-1.237-3.829c-.603-3.693-.977-4.412-2.288-4.412c-.311 0-1.853.925-3.426 2.055c-2.584 1.856-2.93 2.032-3.574 1.807c-.533-.186-.843-.59-1.221-1.599c-.28-.742-.817-2.172-1.194-3.177c-.762-2.028-1.187-2.482-2.328-2.482c-.637 0-1.213.458-3.28 2.604c-3.25 3.375-3.261 3.374-5.65-.545C66.073 1.78 65.075.382 64.81.24c-.597-.32-1.3-.32-1.85.002m2.96 11.798c2.83 2.014 1.326 6.75-2.144 6.75c-3.368 0-5.064-4.057-2.66-6.36c1.358-1.3 3.304-1.459 4.805-.39m-3.558 12.507c1.855.705 2.616.282 6.852-3.8l3.182-3.07l1.347.18c4.225.56 12.627 4.25 17.455 7.666c4.436 3.14 10.332 9.534 12.845 13.93l.537.942l-2.38 5.364c-1.31 2.95-2.382 5.673-2.382 6.053c0 .878.576 2.267 1.13 2.726c.234.195 2.457 1.265 4.939 2.378l4.51 2.025l.178 1.148c.23 1.495.26 5.167.052 6.21l-.163.816h-2.575c-2.987 0-2.756-.267-2.918 3.396c-.118 2.656-.76 4.124-2.22 5.075c-2.377 1.551-6.304 1.27-7.97-.57c-.255-.284-.752-1.705-1.105-3.16c-1.03-4.254-2.413-6.64-5.193-8.965c-.878-.733-1.595-1.418-1.595-1.522c0-.102.965-.915 2.145-1.803c4.298-3.24 6.77-7.012 7.04-10.747c.519-7.126-5.158-13.767-13.602-15.92c-2.002-.51-2.857-.526-27.624-.526c-14.057 0-25.56-.092-25.56-.204c0-.263 3.125-3.295 4.965-4.816c5.054-4.178 11.618-7.465 18.417-9.22l2.35-.61l3.34 3.387c1.839 1.863 3.64 3.5 4.003 3.637M20.3 46.34c1.539 1.008 2.17 3.54 1.26 5.062c-1.405 2.356-4.966 2.455-6.373.178c-2.046-3.309 1.895-7.349 5.113-5.24m90.672.13c4.026 2.454.906 8.493-3.404 6.586c-2.877-1.273-2.97-5.206-.155-6.64c1.174-.6 2.523-.579 3.56.053M32.163 61.5v15.02h-13.28l-.526-2.285c-1.036-4.5-1.472-9.156-1.211-12.969l.182-2.679l4.565-2.047c2.864-1.283 4.706-2.262 4.943-2.625c1.038-1.584.94-2.715-.518-5.933l-.68-1.502h6.523V61.5M70.39 47.132c2.843.74 4.345 2.245 4.349 4.355c.002 1.55-.765 2.52-2.67 3.38c-1.348.61-1.562.625-10.063.708l-8.686.084v-8.92h7.782c6.078 0 8.112.086 9.288.393m-2.934 21.554c1.41.392 3.076 1.616 3.93 2.888c.898 1.337 1.423 3.076 2.667 8.836c1.05 4.87 1.727 6.46 3.62 8.532c2.345 2.566 1.8 2.466 13.514 2.466c5.61 0 10.198.09 10.198.2c0 .197-3.863 4.764-4.03 4.764c-.048 0-2.066-.422-4.484-.939c-6.829-1.458-7.075-1.287-8.642 6.032l-1.008 4.702l-.91.448c-1.518.75-6.453 2.292-9.01 2.82c-4.228.87-8.828 1.162-12.871.821c-6.893-.585-16.02-3.259-16.377-4.8c-.075-.327-.535-2.443-1.018-4.704c-.485-2.26-1.074-4.404-1.31-4.764c-1.13-1.724-2.318-1.83-7.547-.674c-1.98.44-3.708.796-3.84.796c-.248 0-3.923-4.249-3.923-4.535c0-.09 8.728-.194 19.396-.23l19.395-.066l.07-6.89c.05-4.865-.018-6.997-.23-7.25c-.234-.284-1.485-.358-6.011-.358H53.32v-8.36l6.597.001c3.626.002 7.02.12 7.539.264M37.57 100.02c3.084 1.88 1.605 6.804-2.043 6.8c-3.74 0-5.127-4.88-1.94-6.826c1.055-.643 2.908-.63 3.983.026m56.48.206c1.512 1.108 2.015 3.413 1.079 4.95c-2.46 4.034-8.612.827-6.557-3.419c1.01-2.085 3.695-2.837 5.478-1.53" }, null)]);
995
+ }
996
+ }), _n = /* @__PURE__ */ i({
997
+ name: "Javascript",
998
+ props: { size: {
999
+ type: [Number, String],
1000
+ default: 24
1001
+ } },
1002
+ setup(e) {
1003
+ return () => r("svg", {
1004
+ xmlns: "http://www.w3.org/2000/svg",
1005
+ width: e.size,
1006
+ height: e.size,
1007
+ viewBox: "0 0 128 128"
1008
+ }, [r("path", {
1009
+ fill: "#f0db4f",
1010
+ d: "M1.408 1.408h125.184v125.185H1.408z"
1011
+ }, null), r("path", {
1012
+ fill: "#323330",
1013
+ d: "M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981c-3.832-1.761-8.104-3.022-9.377-5.926c-.452-1.69-.512-2.642-.226-3.665c.821-3.32 4.784-4.355 7.925-3.403c2.023.678 3.938 2.237 5.093 4.724c5.402-3.498 5.391-3.475 9.163-5.879c-1.381-2.141-2.118-3.129-3.022-4.045c-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235c-5.926 6.724-4.236 18.492 2.975 23.335c7.104 5.332 17.54 6.545 18.873 11.531c1.297 6.104-4.486 8.08-10.234 7.378c-4.236-.881-6.592-3.034-9.139-6.949c-4.688 2.713-4.688 2.713-9.508 5.485c1.143 2.499 2.344 3.63 4.26 5.795c9.068 9.198 31.76 8.746 35.83-5.176c.165-.478 1.261-3.666.38-8.581M69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149c-1.713 3.558-6.152 3.117-8.175 2.427c-2.059-1.012-3.106-2.451-4.319-4.485c-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901c4.462 2.678 10.459 3.499 16.731 2.059c4.082-1.189 7.604-3.652 9.448-7.401c2.666-4.915 2.094-10.864 2.07-17.444c.06-10.735.001-21.468.001-32.237"
1014
+ }, null)]);
1015
+ }
1016
+ }), vn = /* @__PURE__ */ i({
1017
+ name: "Typescript",
1018
+ props: { size: {
1019
+ type: [Number, String],
1020
+ default: 24
1021
+ } },
1022
+ setup(e) {
1023
+ return () => r("svg", {
1024
+ xmlns: "http://www.w3.org/2000/svg",
1025
+ width: e.size,
1026
+ height: e.size,
1027
+ viewBox: "0 0 128 128"
1028
+ }, [r("path", {
1029
+ fill: "#fff",
1030
+ d: "M22.67 47h99.67v73.67H22.67z"
1031
+ }, null), r("path", {
1032
+ fill: "#007acc",
1033
+ d: "M1.5 63.91v62.5h125v-125H1.5zm100.73-5a15.56 15.56 0 0 1 7.82 4.5a20.6 20.6 0 0 1 3 4c0 .16-5.4 3.81-8.69 5.85c-.12.08-.6-.44-1.13-1.23a7.09 7.09 0 0 0-5.87-3.53c-3.79-.26-6.23 1.73-6.21 5a4.6 4.6 0 0 0 .54 2.34c.83 1.73 2.38 2.76 7.24 4.86c8.95 3.85 12.78 6.39 15.16 10c2.66 4 3.25 10.46 1.45 15.24c-2 5.2-6.9 8.73-13.83 9.9a38.3 38.3 0 0 1-9.52-.1a23 23 0 0 1-12.72-6.63c-1.15-1.27-3.39-4.58-3.25-4.82a9 9 0 0 1 1.15-.73L82 101l3.59-2.08l.75 1.11a16.8 16.8 0 0 0 4.74 4.54c4 2.1 9.46 1.81 12.16-.62a5.43 5.43 0 0 0 .69-6.92c-1-1.39-3-2.56-8.59-5c-6.45-2.78-9.23-4.5-11.77-7.24a16.5 16.5 0 0 1-3.43-6.25a25 25 0 0 1-.22-8c1.33-6.23 6-10.58 12.82-11.87a31.7 31.7 0 0 1 9.49.26zm-29.34 5.24v5.12H56.66v46.23H45.15V69.26H28.88v-5a49 49 0 0 1 .12-5.17C29.08 59 39 59 51 59h21.83z"
1034
+ }, null)]);
1035
+ }
1036
+ }), yn = { path: "_path_1aa0a_1" }, bn = /* @__PURE__ */ i({
1037
+ name: "Bash",
1038
+ props: { size: {
1039
+ type: [Number, String],
1040
+ default: 24
1041
+ } },
1042
+ setup(e) {
1043
+ return () => r("svg", {
1044
+ xmlns: "http://www.w3.org/2000/svg",
1045
+ viewBox: "0 0 128 128",
1046
+ width: e.size,
1047
+ height: e.size
1048
+ }, [
1049
+ r("path", {
1050
+ fill: "none",
1051
+ d: "M4.24 4.24h119.53v119.53H4.24z"
1052
+ }, null),
1053
+ r("path", {
1054
+ class: yn.path,
1055
+ d: "M109.01 28.64L71.28 6.24c-2.25-1.33-4.77-2-7.28-2s-5.03.67-7.28 2.01l-37.74 22.4c-4.5 2.67-7.28 7.61-7.28 12.96v44.8c0 5.35 2.77 10.29 7.28 12.96l37.73 22.4c2.25 1.34 4.76 2 7.28 2c2.51 0 5.03-.67 7.28-2l37.74-22.4c4.5-2.67 7.28-7.62 7.28-12.96V41.6c0-5.34-2.77-10.29-7.28-12.96M79.79 98.59l.06 3.22c0 .39-.25.83-.55.99l-1.91 1.1c-.3.15-.56-.03-.56-.42l-.03-3.17c-1.63.68-3.29.84-4.34.42c-.2-.08-.29-.37-.21-.71l.69-2.91c.06-.23.18-.46.34-.6c.06-.06.12-.1.18-.13c.11-.06.22-.07.31-.03c1.14.38 2.59.2 3.99-.5c1.78-.9 2.97-2.72 2.95-4.52c-.02-1.64-.9-2.31-3.05-2.33c-2.74.01-5.3-.53-5.34-4.57c-.03-3.32 1.69-6.78 4.43-8.96l-.03-3.25c0-.4.24-.84.55-1l1.85-1.18c.3-.15.56.04.56.43l.03 3.25c1.36-.54 2.54-.69 3.61-.44c.23.06.34.38.24.75l-.72 2.88c-.06.22-.18.44-.33.58a.8.8 0 0 1-.19.14c-.1.05-.19.06-.28.05c-.49-.11-1.65-.36-3.48.56c-1.92.97-2.59 2.64-2.58 3.88c.02 1.48.77 1.93 3.39 1.97c3.49.06 4.99 1.58 5.03 5.09c.05 3.44-1.79 7.15-4.61 9.41m26.34-60.5l-35.7 22.05c-4.45 2.6-7.73 5.52-7.74 10.89v43.99c0 3.21 1.3 5.29 3.29 5.9c-.65.11-1.32.19-1.98.19c-2.09 0-4.15-.57-5.96-1.64l-37.73-22.4c-3.69-2.19-5.98-6.28-5.98-10.67V41.6c0-4.39 2.29-8.48 5.98-10.67l37.74-22.4c1.81-1.07 3.87-1.64 5.96-1.64s4.15.57 5.96 1.64l37.74 22.4c3.11 1.85 5.21 5.04 5.8 8.63c-1.27-2.67-4.09-3.39-7.38-1.47"
1056
+ }, null),
1057
+ r("path", {
1058
+ fill: "#4fa847",
1059
+ d: "m99.12 90.73l-9.4 5.62c-.25.15-.43.31-.43.61v2.46c0 .3.2.43.45.28l9.54-5.8c.25-.15.29-.42.29-.72v-2.17c0-.3-.2-.42-.45-.28"
1060
+ }, null)
1061
+ ]);
1062
+ }
1063
+ }), xn = /* @__PURE__ */ i({
1064
+ name: "Terraform",
1065
+ props: { size: {
1066
+ type: [Number, String],
1067
+ default: 24
1068
+ } },
1069
+ setup(e) {
1070
+ return () => r("svg", {
1071
+ xmlns: "http://www.w3.org/2000/svg",
1072
+ width: e.size,
1073
+ height: e.size,
1074
+ viewBox: "0 0 128 128"
1075
+ }, [r("g", { "fill-rule": "evenodd" }, [
1076
+ r("path", {
1077
+ fill: "#5c4ee5",
1078
+ d: "M77.941 44.5v36.836L46.324 62.918V26.082zm0 0"
1079
+ }, null),
1080
+ r("path", {
1081
+ fill: "#4040b2",
1082
+ d: "m81.41 81.336l31.633-18.418V26.082L81.41 44.5zm0 0"
1083
+ }, null),
1084
+ r("path", {
1085
+ fill: "#5c4ee5",
1086
+ d: "M11.242 42.36L42.86 60.776V23.941L11.242 5.523zm66.699 43.015L46.324 66.957v36.82l31.617 18.418zm0 0"
1087
+ }, null)
1088
+ ])]);
1089
+ }
1090
+ }), Sn = /* @__PURE__ */ i({
1091
+ name: "Html",
1092
+ props: { size: {
1093
+ type: [Number, String],
1094
+ default: 24
1095
+ } },
1096
+ setup(e) {
1097
+ return () => r("svg", {
1098
+ xmlns: "http://www.w3.org/2000/svg",
1099
+ width: e.size,
1100
+ height: e.size,
1101
+ viewBox: "0 0 128 128"
1102
+ }, [
1103
+ r("path", {
1104
+ fill: "#e44d26",
1105
+ d: "M19.037 113.876L9.032 1.661h109.936l-10.016 112.198l-45.019 12.48z"
1106
+ }, null),
1107
+ r("path", {
1108
+ fill: "#f16529",
1109
+ d: "m64 116.8l36.378-10.086l8.559-95.878H64z"
1110
+ }, null),
1111
+ r("path", {
1112
+ fill: "#ebebeb",
1113
+ d: "M64 52.455H45.788L44.53 38.361H64V24.599H29.489l.33 3.692l3.382 37.927H64zm0 35.743l-.061.017l-15.327-4.14l-.979-10.975H33.816l1.928 21.609l28.193 7.826l.063-.017z"
1114
+ }, null),
1115
+ r("path", {
1116
+ fill: "#fff",
1117
+ d: "M63.952 52.455v13.763h16.947l-1.597 17.849l-15.35 4.143v14.319l28.215-7.82l.207-2.325l3.234-36.233l.335-3.696h-3.708zm0-27.856v13.762h33.244l.276-3.092l.628-6.978l.329-3.692z"
1118
+ }, null)
1119
+ ]);
1120
+ }
1121
+ }), Cn = /* @__PURE__ */ i({
1122
+ name: "Css",
1123
+ props: { size: {
1124
+ type: [Number, String],
1125
+ default: 24
1126
+ } },
1127
+ setup(e) {
1128
+ return () => r("svg", {
1129
+ xmlns: "http://www.w3.org/2000/svg",
1130
+ viewBox: "0 0 24 24",
1131
+ width: e.size,
1132
+ height: e.size
1133
+ }, [r("path", {
1134
+ fill: "#3f9de9",
1135
+ d: "m5 3l-.65 3.34h13.59L17.5 8.5H3.92l-.66 3.33h13.59l-.76 3.81l-5.48 1.81l-4.75-1.81l.33-1.64H2.85l-.79 4l7.85 3l9.05-3l1.2-6.03l.24-1.21L21.94 3z"
1136
+ }, null)]);
1137
+ }
1138
+ }), wn = /* @__PURE__ */ i({
1139
+ name: "Npm",
1140
+ props: { size: {
1141
+ type: [Number, String],
1142
+ default: 24
1143
+ } },
1144
+ setup(e) {
1145
+ return () => r("svg", {
1146
+ xmlns: "http://www.w3.org/2000/svg",
1147
+ width: e.size,
1148
+ height: e.size,
1149
+ viewBox: "0 0 128 128"
1150
+ }, [r("path", {
1151
+ fill: "#cb3837",
1152
+ d: "M0 7.062C0 3.225 3.225 0 7.062 0h113.88c3.838 0 7.063 3.225 7.063 7.062v113.88c0 3.838-3.225 7.063-7.063 7.063H7.062c-3.837 0-7.062-3.225-7.062-7.063zm23.69 97.518h40.395l.05-58.532h19.494l-.05 58.581h19.543l.05-78.075l-78.075-.1l-.1 78.126z"
1153
+ }, null), r("path", {
1154
+ fill: "#fff",
1155
+ d: "M25.105 65.52V26.512H40.96c8.72 0 26.274.034 39.008.075l23.153.075v77.866H83.645v-58.54H64.057v58.54H25.105z"
1156
+ }, null)]);
1157
+ }
1158
+ }), Tn = /* @__PURE__ */ i({
1159
+ name: "Java",
1160
+ props: { size: {
1161
+ type: [Number, String],
1162
+ default: 24
1163
+ } },
1164
+ setup(e) {
1165
+ return () => r("svg", {
1166
+ xmlns: "http://www.w3.org/2000/svg",
1167
+ width: e.size,
1168
+ height: e.size,
1169
+ viewBox: "0 0 128 128"
1170
+ }, [
1171
+ r("path", {
1172
+ fill: "#0074bd",
1173
+ d: "M47.617 98.12s-4.767 2.774 3.397 3.71c9.892 1.13 14.947.968 25.845-1.092c0 0 2.871 1.795 6.873 3.351c-24.439 10.47-55.308-.607-36.115-5.969m-2.988-13.665s-5.348 3.959 2.823 4.805c10.567 1.091 18.91 1.18 33.354-1.6c0 0 1.993 2.025 5.132 3.131c-29.542 8.64-62.446.68-41.309-6.336"
1174
+ }, null),
1175
+ r("path", {
1176
+ fill: "#ea2d2e",
1177
+ d: "M69.802 61.271c6.025 6.935-1.58 13.17-1.58 13.17s15.289-7.891 8.269-17.777c-6.559-9.215-11.587-13.792 15.635-29.58c0 .001-42.731 10.67-22.324 34.187"
1178
+ }, null),
1179
+ r("path", {
1180
+ fill: "#0074bd",
1181
+ d: "M102.123 108.229s3.529 2.91-3.888 5.159c-14.102 4.272-58.706 5.56-71.094.171c-4.451-1.938 3.899-4.625 6.526-5.192c2.739-.593 4.303-.485 4.303-.485c-4.953-3.487-32.013 6.85-13.743 9.815c49.821 8.076 90.817-3.637 77.896-9.468M49.912 70.294s-22.686 5.389-8.033 7.348c6.188.828 18.518.638 30.011-.326c9.39-.789 18.813-2.474 18.813-2.474s-3.308 1.419-5.704 3.053c-23.042 6.061-67.544 3.238-54.731-2.958c10.832-5.239 19.644-4.643 19.644-4.643m40.697 22.747c23.421-12.167 12.591-23.86 5.032-22.285c-1.848.385-2.677.72-2.677.72s.688-1.079 2-1.543c14.953-5.255 26.451 15.503-4.823 23.725c0-.002.359-.327.468-.617"
1182
+ }, null),
1183
+ r("path", {
1184
+ fill: "#ea2d2e",
1185
+ d: "M76.491 1.587S89.459 14.563 64.188 34.51c-20.266 16.006-4.621 25.13-.007 35.559c-11.831-10.673-20.509-20.07-14.688-28.815C58.041 28.42 81.722 22.195 76.491 1.587"
1186
+ }, null),
1187
+ r("path", {
1188
+ fill: "#0074bd",
1189
+ d: "M52.214 126.021c22.476 1.437 57-.8 57.817-11.436c0 0-1.571 4.032-18.577 7.231c-19.186 3.612-42.854 3.191-56.887.874c0 .001 2.875 2.381 17.647 3.331"
1190
+ }, null)
1191
+ ]);
1192
+ }
1193
+ }), En = /* @__PURE__ */ i({
1194
+ name: "Kotlin",
1195
+ props: { size: {
1196
+ type: [Number, String],
1197
+ default: 24
1198
+ } },
1199
+ setup(e) {
1200
+ return () => r("svg", {
1201
+ xmlns: "http://www.w3.org/2000/svg",
1202
+ width: e.size,
1203
+ height: e.size,
1204
+ viewBox: "0 0 128 128"
1205
+ }, [r("defs", null, [r("linearGradient", {
1206
+ id: "deviconKotlin0",
1207
+ x1: "500.003",
1208
+ x2: "-.097",
1209
+ y1: "579.106",
1210
+ y2: "1079.206",
1211
+ gradientTransform: "translate(15.534 -96.774)scale(.1939)",
1212
+ gradientUnits: "userSpaceOnUse"
1213
+ }, [
1214
+ r("stop", {
1215
+ offset: ".003",
1216
+ "stop-color": "#e44857"
1217
+ }, null),
1218
+ r("stop", {
1219
+ offset: ".469",
1220
+ "stop-color": "#c711e1"
1221
+ }, null),
1222
+ r("stop", {
1223
+ offset: "1",
1224
+ "stop-color": "#7f52ff"
1225
+ }, null)
1226
+ ])]), r("path", {
1227
+ fill: "url(#deviconKotlin0)",
1228
+ d: "M112.484 112.484H15.516V15.516h96.968L64 64Zm0 0"
1229
+ }, null)]);
1230
+ }
1231
+ }), Dn = /* @__PURE__ */ i({
1232
+ name: "Go",
1233
+ props: { size: {
1234
+ type: [Number, String],
1235
+ default: 24
1236
+ } },
1237
+ setup(e) {
1238
+ return () => r("svg", {
1239
+ xmlns: "http://www.w3.org/2000/svg",
1240
+ width: e.size,
1241
+ height: e.size,
1242
+ viewBox: "0 0 128 128"
1243
+ }, [r("g", {
1244
+ fill: "#00acd7",
1245
+ "fill-rule": "evenodd"
1246
+ }, [r("path", { d: "M11.156 54.829c-.243 0-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243 0 .303.182.182.364l-1.03 1.576c-.121.181-.424.363-.606.363zm-9.152 5.575c-.242 0-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242 0 .364.182.303.364l-.485 1.454c-.06.243-.303.364-.545.364zM16.67 65.98c-.242 0-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243 0 .364.181.364.424l-.12 1.454c0 .243-.243.425-.425.425zm62.91-12.242c-3.819.97-6.425 1.697-10.182 2.666c-.91.243-.97.303-1.758-.606c-.909-1.03-1.576-1.697-2.848-2.303c-3.819-1.878-7.516-1.333-10.97.91c-4.121 2.666-6.242 6.605-6.182 11.514c.06 4.849 3.394 8.849 8.182 9.516c4.121.545 7.576-.91 10.303-4c.545-.667 1.03-1.394 1.636-2.243H56.064c-1.272 0-1.575-.788-1.151-1.818c.788-1.879 2.242-5.03 3.09-6.606c.183-.364.607-.97 1.516-.97h22.06c-.12 1.637-.12 3.273-.363 4.91c-.667 4.363-2.303 8.363-4.97 11.878c-4.364 5.758-10.06 9.333-17.273 10.303c-5.939.788-11.454-.364-16.302-4c-4.485-3.394-7.03-7.879-7.697-13.454c-.788-6.606 1.151-12.546 5.151-17.758c4.303-5.636 10-9.212 16.97-10.485c5.697-1.03 11.151-.363 16.06 2.97c3.212 2.121 5.515 5.03 7.03 8.545c.364.546.122.849-.606 1.03z" }, null), r("path", {
1247
+ "fill-rule": "nonzero",
1248
+ d: "M99.64 87.253c-5.515-.122-10.546-1.697-14.788-5.334c-3.576-3.09-5.818-7.03-6.545-11.697c-1.091-6.848.787-12.909 4.909-18.302c4.424-5.819 9.757-8.849 16.97-10.122c6.181-1.09 12-.484 17.272 3.091c4.788 3.273 7.757 7.697 8.545 13.515c1.03 8.182-1.333 14.849-6.97 20.546c-4 4.06-8.909 6.606-14.545 7.757c-1.636.303-3.273.364-4.848.546m14.424-24.485c-.06-.788-.06-1.394-.182-2c-1.09-6-6.606-9.394-12.363-8.06c-5.637 1.272-9.273 4.848-10.606 10.545c-1.091 4.727 1.212 9.515 5.575 11.454c3.334 1.455 6.667 1.273 9.879-.363c4.788-2.485 7.394-6.364 7.697-11.576"
1249
+ }, null)])]);
1250
+ }
1251
+ }), On = /* @__PURE__ */ i({
1252
+ name: "Python",
1253
+ props: { size: {
1254
+ type: [Number, String],
1255
+ default: 24
1256
+ } },
1257
+ setup(e) {
1258
+ return () => r("svg", {
1259
+ xmlns: "http://www.w3.org/2000/svg",
1260
+ width: e.size,
1261
+ height: e.size,
1262
+ viewBox: "0 0 128 128"
1263
+ }, [
1264
+ r("linearGradient", {
1265
+ id: "deviconPython0",
1266
+ x1: "70.252",
1267
+ x2: "170.659",
1268
+ y1: "1237.476",
1269
+ y2: "1151.089",
1270
+ gradientTransform: "matrix(.563 0 0 -.568 -29.215 707.817)",
1271
+ gradientUnits: "userSpaceOnUse"
1272
+ }, [r("stop", {
1273
+ offset: "0",
1274
+ "stop-color": "#5a9fd4"
1275
+ }, null), r("stop", {
1276
+ offset: "1",
1277
+ "stop-color": "#306998"
1278
+ }, null)]),
1279
+ r("linearGradient", {
1280
+ id: "deviconPython1",
1281
+ x1: "209.474",
1282
+ x2: "173.62",
1283
+ y1: "1098.811",
1284
+ y2: "1149.537",
1285
+ gradientTransform: "matrix(.563 0 0 -.568 -29.215 707.817)",
1286
+ gradientUnits: "userSpaceOnUse"
1287
+ }, [r("stop", {
1288
+ offset: "0",
1289
+ "stop-color": "#ffd43b"
1290
+ }, null), r("stop", {
1291
+ offset: "1",
1292
+ "stop-color": "#ffe873"
1293
+ }, null)]),
1294
+ r("path", {
1295
+ fill: "url(#deviconPython0)",
1296
+ d: "M63.391 1.988c-4.222.02-8.252.379-11.8 1.007c-10.45 1.846-12.346 5.71-12.346 12.837v9.411h24.693v3.137H29.977c-7.176 0-13.46 4.313-15.426 12.521c-2.268 9.405-2.368 15.275 0 25.096c1.755 7.311 5.947 12.519 13.124 12.519h8.491V67.234c0-8.151 7.051-15.34 15.426-15.34h24.665c6.866 0 12.346-5.654 12.346-12.548V15.833c0-6.693-5.646-11.72-12.346-12.837c-4.244-.706-8.645-1.027-12.866-1.008M50.037 9.557c2.55 0 4.634 2.117 4.634 4.721c0 2.593-2.083 4.69-4.634 4.69c-2.56 0-4.633-2.097-4.633-4.69c-.001-2.604 2.073-4.721 4.633-4.721",
1297
+ transform: "translate(0 10.26)"
1298
+ }, null),
1299
+ r("path", {
1300
+ fill: "url(#deviconPython1)",
1301
+ d: "M91.682 28.38v10.966c0 8.5-7.208 15.655-15.426 15.655H51.591c-6.756 0-12.346 5.783-12.346 12.549v23.515c0 6.691 5.818 10.628 12.346 12.547c7.816 2.297 15.312 2.713 24.665 0c6.216-1.801 12.346-5.423 12.346-12.547v-9.412H63.938v-3.138h37.012c7.176 0 9.852-5.005 12.348-12.519c2.578-7.735 2.467-15.174 0-25.096c-1.774-7.145-5.161-12.521-12.348-12.521h-9.268zM77.809 87.927c2.561 0 4.634 2.097 4.634 4.692c0 2.602-2.074 4.719-4.634 4.719c-2.55 0-4.633-2.117-4.633-4.719c0-2.595 2.083-4.692 4.633-4.692",
1302
+ transform: "translate(0 10.26)"
1303
+ }, null),
1304
+ r("radialGradient", {
1305
+ id: "deviconPython2",
1306
+ cx: "1825.678",
1307
+ cy: "444.45",
1308
+ r: "26.743",
1309
+ gradientTransform: "matrix(0 -.24 -1.055 0 532.979 557.576)",
1310
+ gradientUnits: "userSpaceOnUse"
1311
+ }, [r("stop", {
1312
+ offset: "0",
1313
+ "stop-color": "#b8b8b8",
1314
+ "stop-opacity": "0.498"
1315
+ }, null), r("stop", {
1316
+ offset: "1",
1317
+ "stop-color": "#7f7f7f",
1318
+ "stop-opacity": "0"
1319
+ }, null)]),
1320
+ r("path", {
1321
+ fill: "url(#deviconPython2)",
1322
+ d: "M97.309 119.597c0 3.543-14.816 6.416-33.091 6.416c-18.276 0-33.092-2.873-33.092-6.416s14.815-6.417 33.092-6.417c18.275 0 33.091 2.872 33.091 6.417",
1323
+ opacity: "0.444"
1324
+ }, null)
1325
+ ]);
1326
+ }
1327
+ }), kn = /* @__PURE__ */ i({
1328
+ name: "Sql",
1329
+ props: { size: {
1330
+ type: [Number, String],
1331
+ default: 24
1332
+ } },
1333
+ setup(e) {
1334
+ return () => r("svg", {
1335
+ xmlns: "http://www.w3.org/2000/svg",
1336
+ width: e.size,
1337
+ height: e.size,
1338
+ viewBox: "0 0 128 128"
1339
+ }, [r("path", {
1340
+ fill: "#00618a",
1341
+ d: "M117.688 98.242c-6.973-.191-12.297.461-16.852 2.379c-1.293.547-3.355.559-3.566 2.18c.711.746.82 1.859 1.387 2.777c1.086 1.754 2.922 4.113 4.559 5.352c1.789 1.348 3.633 2.793 5.551 3.961c3.414 2.082 7.223 3.27 10.504 5.352c1.938 1.23 3.859 2.777 5.75 4.164c.934.684 1.563 1.75 2.773 2.18v-.195c-.637-.812-.801-1.93-1.387-2.777l-2.578-2.578c-2.52-3.344-5.719-6.281-9.117-8.719c-2.711-1.949-8.781-4.578-9.91-7.73l-.199-.199c1.922-.219 4.172-.914 5.949-1.391c2.98-.797 5.645-.59 8.719-1.387l4.164-1.187v-.793c-1.555-1.594-2.664-3.707-4.359-5.152c-4.441-3.781-9.285-7.555-14.273-10.703c-2.766-1.746-6.184-2.883-9.117-4.363c-.988-.496-2.719-.758-3.371-1.586c-1.539-1.961-2.379-4.449-3.566-6.738c-2.488-4.793-4.93-10.023-7.137-15.066c-1.504-3.437-2.484-6.828-4.359-9.91c-9-14.797-18.687-23.73-33.695-32.508c-3.195-1.867-7.039-2.605-11.102-3.57l-6.543-.395c-1.332-.555-2.715-2.184-3.965-2.977C16.977 3.52 4.223-3.312.539 5.672C-1.785 11.34 4.016 16.871 6.09 19.746c1.457 2.012 3.32 4.273 4.359 6.539c.688 1.492.805 2.984 1.391 4.559c1.438 3.883 2.695 8.109 4.559 11.695c.941 1.816 1.98 3.727 3.172 5.352c.727.996 1.98 1.438 2.18 2.973c-1.227 1.715-1.297 4.375-1.984 6.543c-3.098 9.77-1.926 21.91 2.578 29.137c1.383 2.223 4.641 6.98 9.117 5.156c3.918-1.598 3.043-6.539 4.164-10.902c.254-.988.098-1.715.594-2.379v.199l3.57 7.133c2.641 4.254 7.324 8.699 11.297 11.699c2.059 1.555 3.68 4.242 6.344 5.152v-.199h-.199c-.516-.805-1.324-1.137-1.98-1.781c-1.551-1.523-3.277-3.414-4.559-5.156c-3.613-4.902-6.805-10.27-9.711-15.855c-1.391-2.668-2.598-5.609-3.77-8.324c-.453-1.047-.445-2.633-1.387-3.172c-1.281 1.988-3.172 3.598-4.164 5.945c-1.582 3.754-1.789 8.336-2.375 13.082c-.348.125-.195.039-.398.199c-2.762-.668-3.73-3.508-4.758-5.949c-2.594-6.164-3.078-16.09-.793-23.191c.59-1.836 3.262-7.617 2.18-9.316c-.516-1.691-2.219-2.672-3.172-3.965c-1.18-1.598-2.355-3.703-3.172-5.551c-2.125-4.805-3.113-10.203-5.352-15.062c-1.07-2.324-2.875-4.676-4.359-6.738c-1.645-2.289-3.484-3.977-4.758-6.742c-.453-.984-1.066-2.559-.398-3.566c.215-.684.516-.969 1.191-1.191c1.148-.887 4.352.297 5.547.793c3.18 1.32 5.832 2.578 8.527 4.363c1.289.855 2.598 2.512 4.16 2.973h1.785c2.789.641 5.914.195 8.523.988c4.609 1.402 8.738 3.582 12.488 5.949c11.422 7.215 20.766 17.48 27.156 29.734c1.027 1.973 1.473 3.852 2.379 5.945c1.824 4.219 4.125 8.559 5.941 12.688c1.816 4.113 3.582 8.27 6.148 11.695c1.348 1.801 6.551 2.766 8.918 3.766c1.66.699 4.379 1.43 5.949 2.379c3 1.809 5.906 3.965 8.723 5.945c1.402.992 5.73 3.168 5.945 4.957zm-88.605-75.52c-1.453-.027-2.48.156-3.566.395v.199h.195c.695 1.422 1.918 2.34 2.777 3.566l1.98 4.164l.199-.195c1.227-.867 1.789-2.25 1.781-4.363c-.492-.52-.562-1.164-.992-1.785c-.562-.824-1.66-1.289-2.375-1.98zm0 0"
1342
+ }, null)]);
1343
+ }
1344
+ }), An = /* @__PURE__ */ i({
1345
+ name: "Json",
1346
+ props: { size: {
1347
+ type: [Number, String],
1348
+ default: 24
1349
+ } },
1350
+ setup(e) {
1351
+ return () => r("svg", {
1352
+ xmlns: "http://www.w3.org/2000/svg",
1353
+ width: e.size,
1354
+ height: e.size,
1355
+ viewBox: "0 0 128 128"
1356
+ }, [
1357
+ r("linearGradient", {
1358
+ id: "deviconJson0",
1359
+ x1: "-670.564",
1360
+ x2: "-583.105",
1361
+ y1: "-280.831",
1362
+ y2: "-368.306",
1363
+ gradientTransform: "matrix(.9988 0 0 -.9987 689.011 -259.008)",
1364
+ gradientUnits: "userSpaceOnUse"
1365
+ }, [r("stop", { offset: "0" }, null), r("stop", {
1366
+ offset: "1",
1367
+ "stop-color": "#fff"
1368
+ }, null)]),
1369
+ r("path", {
1370
+ fill: "url(#deviconJson0)",
1371
+ "fill-rule": "evenodd",
1372
+ d: "M63.895 94.303c27.433 37.398 54.281-10.438 54.241-39.205c-.046-34.012-34.518-53.021-54.263-53.021C32.182 2.077 2 28.269 2 64.105C2 103.937 36.596 126 63.873 126c-6.172-.889-26.742-5.296-27.019-52.674c-.186-32.044 10.453-44.846 26.974-39.214c.37.137 18.223 7.18 18.223 30.187c0 22.908-18.156 30.004-18.156 30.004",
1373
+ "clip-rule": "evenodd"
1374
+ }, null),
1375
+ r("linearGradient", {
1376
+ id: "deviconJson1",
1377
+ x1: "-579.148",
1378
+ x2: "-666.607",
1379
+ y1: "-364.34",
1380
+ y2: "-276.865",
1381
+ gradientTransform: "matrix(.9988 0 0 -.9987 689.011 -259.008)",
1382
+ gradientUnits: "userSpaceOnUse"
1383
+ }, [r("stop", { offset: "0" }, null), r("stop", {
1384
+ offset: "1",
1385
+ "stop-color": "#fff"
1386
+ }, null)]),
1387
+ r("path", {
1388
+ fill: "url(#deviconJson1)",
1389
+ "fill-rule": "evenodd",
1390
+ d: "M63.895 94.303c27.433 37.398 54.281-10.438 54.241-39.205c-.046-34.012-34.518-53.021-54.263-53.021C32.182 2.077 2 28.269 2 64.105C2 103.937 36.596 126 63.873 126c-6.172-.889-26.742-5.296-27.019-52.674c-.186-32.044 10.453-44.846 26.974-39.214c.37.137 18.223 7.18 18.223 30.187c0 22.908-18.156 30.004-18.156 30.004",
1391
+ "clip-rule": "evenodd"
1392
+ }, null)
1393
+ ]);
1394
+ }
1395
+ }), jn = /* @__PURE__ */ i({
1396
+ name: "Lua",
1397
+ props: { size: {
1398
+ type: [Number, String],
1399
+ default: 24
1400
+ } },
1401
+ setup(e) {
1402
+ return () => r("svg", {
1403
+ xmlns: "http://www.w3.org/2000/svg",
1404
+ width: e.size,
1405
+ height: e.size,
1406
+ viewBox: "0 0 128 128"
1407
+ }, [
1408
+ r("path", {
1409
+ fill: "#000080",
1410
+ d: "M112.956.708c-7.912 0-14.335 6.424-14.335 14.336s6.424 14.335 14.335 14.335s14.335-6.41 14.335-14.335c0-7.912-6.424-14.336-14.335-14.336M64 15.058c-27.02 0-48.956 21.935-48.956 48.955S36.979 112.97 64 112.97c27.02 0 48.956-21.935 48.956-48.956c0-27.02-21.936-48.956-48.956-48.956"
1411
+ }, null),
1412
+ r("path", {
1413
+ fill: "#fff",
1414
+ d: "M84.285 29.392c-7.91 0-14.335 6.424-14.335 14.335s6.424 14.336 14.335 14.336s14.336-6.424 14.336-14.336s-6.424-14.335-14.335-14.335zM30.773 56.36v32.119h19.961v-3.611H34.87V56.359Zm57.584 8.37c-3.354 0-6.126.975-7.668 2.692c-1.055 1.19-1.488 2.516-1.582 4.801h3.705c.311-2.826 1.988-4.098 5.423-4.098c3.3 0 5.153 1.231 5.153 3.435v.974c0 1.542-.92 2.205-3.827 2.556c-5.193.663-5.991.839-7.398 1.407c-2.69 1.095-4.057 3.164-4.057 6.166c0 4.193 2.908 6.83 7.574 6.83c2.907 0 5.247-1.014 7.843-3.395c.257 2.34 1.407 3.395 3.787 3.395c.757 0 1.325-.081 2.515-.392v-2.773a3 3 0 0 1-.798.095c-1.284 0-1.988-.663-1.988-1.812V71.032c0-4.098-3.002-6.302-8.682-6.302m-33.742.664V83.19c0 3.84 2.867 6.302 7.357 6.302c3.395 0 5.545-1.19 7.709-4.233v3.219h3.3V65.393h-3.652v13.09c0 4.72-2.475 7.804-6.302 7.804c-2.907 0-4.76-1.772-4.76-4.544v-16.35Zm38.773 11.67v4.139c0 1.244-.365 1.988-1.46 3.002c-1.502 1.366-3.3 2.07-5.464 2.07c-2.867 0-4.544-1.367-4.544-3.706c0-2.42 1.636-3.665 5.558-4.233c3.881-.528 4.68-.703 5.91-1.271z"
1415
+ }, null),
1416
+ r("path", {
1417
+ fill: "#808080",
1418
+ d: "M61.733 0a64 64 0 0 0-5.57.436l.179 1.458a63 63 0 0 1 5.442-.426zm5.585.046l-.075 1.468a62 62 0 0 1 5.433.52L72.88.578a64 64 0 0 0-5.561-.532Zm-16.665 1.31a63 63 0 0 0-5.409 1.398l.43 1.405a62 62 0 0 1 5.284-1.367Zm27.72.237l-.33 1.431a63 63 0 0 1 5.262 1.455l.452-1.397a64 64 0 0 0-5.384-1.489M39.98 4.623a64 64 0 0 0-5.081 2.323l.668 1.308a62 62 0 0 1 4.964-2.27zm49.012.41l-.573 1.353a63 63 0 0 1 4.929 2.346l.688-1.298a64 64 0 0 0-5.044-2.4ZM30.04 9.706a64 64 0 0 0-4.6 3.17l.886 1.173a63 63 0 0 1 4.494-3.098zm-8.906 6.728a64 64 0 0 0-3.983 3.918l1.075 1.001a63 63 0 0 1 3.891-3.827zm-7.61 8.165a64 64 0 0 0-3.247 4.546l1.231.8a63 63 0 0 1 3.172-4.44zm-6.086 9.357a64 64 0 0 0-2.408 5.042l1.352.574a62 62 0 0 1 2.352-4.925zm113.623.973l-1.31.667a63 63 0 0 1 2.263 4.967l1.362-.55a64 64 0 0 0-2.315-5.083zM3.075 44.23a63 63 0 0 0-1.49 5.385l1.432.328a62 62 0 0 1 1.455-5.26Zm122.166 1.049l-1.404.429a63 63 0 0 1 1.366 5.285l1.437-.306a64 64 0 0 0-1.399-5.409zM.574 55.108a64 64 0 0 0-.528 5.561l1.467.075a63 63 0 0 1 .516-5.434Zm126.988 1.088l-1.458.179a63 63 0 0 1 .428 5.441l1.468-.05a64 64 0 0 0-.438-5.57M1.468 66.205L0 66.255a64 64 0 0 0 .435 5.57l1.458-.179a63 63 0 0 1-.425-5.441m125.018 1.071a63 63 0 0 1-.518 5.434l1.455.203a64 64 0 0 0 .53-5.561zM2.79 77.031l-1.437.304a63 63 0 0 0 1.398 5.41l1.405-.43A62 62 0 0 1 2.79 77.03Zm122.188 1.046a62 62 0 0 1-1.457 5.26l1.397.454a63 63 0 0 0 1.492-5.384zM5.981 87.459l-1.362.551a63 63 0 0 0 2.323 5.082l1.307-.669a62 62 0 0 1-2.268-4.964m115.627.99a62 62 0 0 1-2.354 4.925l1.296.69a64 64 0 0 0 2.41-5.04zM10.944 97.17l-1.245.78a64 64 0 0 0 3.17 4.6l1.172-.885a63 63 0 0 1-3.097-4.495m105.534.904a63 63 0 0 1-3.173 4.44l1.156.906a64 64 0 0 0 3.249-4.545zm-98.96 7.8l-1.092.983a64 64 0 0 0 3.917 3.983l1.002-1.074a63 63 0 0 1-3.827-3.892m92.24.79a63 63 0 0 1-3.893 3.826l.983 1.092a64 64 0 0 0 3.984-3.916zm-84.263 6.648l-.906 1.157a64 64 0 0 0 4.546 3.248l.8-1.232a63 63 0 0 1-4.44-3.173m76.16.654a63 63 0 0 1-4.495 3.096l.78 1.245a64 64 0 0 0 4.6-3.17zm-67.018 5.294l-.691 1.296a64 64 0 0 0 5.04 2.409l.575-1.352a62 62 0 0 1-4.924-2.353m57.775.496a62 62 0 0 1-4.964 2.268l.551 1.362a63 63 0 0 0 5.082-2.322zm-47.74 3.77l-.453 1.396a63 63 0 0 0 5.385 1.49l.329-1.43a62 62 0 0 1-5.26-1.456zm37.632.322a62 62 0 0 1-5.284 1.365l.304 1.437a63 63 0 0 0 5.41-1.398zm-27.003 2.122l-.203 1.455a64 64 0 0 0 5.561.529l.075-1.467a63 63 0 0 1-5.433-.517m16.335.139a63 63 0 0 1-5.442.424l.05 1.468a64 64 0 0 0 5.57-.434z"
1419
+ }, null)
1420
+ ]);
1421
+ }
1422
+ }), Mn = /* @__PURE__ */ i({
1423
+ name: "Csharp",
1424
+ props: { size: {
1425
+ type: [Number, String],
1426
+ default: 24
1427
+ } },
1428
+ setup(e) {
1429
+ return () => r("svg", {
1430
+ xmlns: "http://www.w3.org/2000/svg",
1431
+ viewBox: "0 0 128 128",
1432
+ width: e.size,
1433
+ height: e.size
1434
+ }, [
1435
+ r("path", {
1436
+ fill: "#9b4f96",
1437
+ d: "M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7s-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7"
1438
+ }, null),
1439
+ r("path", {
1440
+ fill: "#68217a",
1441
+ d: "M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7s2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8z"
1442
+ }, null),
1443
+ r("path", {
1444
+ fill: "#fff",
1445
+ d: "M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20c-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8zM97 66.2l.9-4.3h-4.2v-4.7h5.1L100 51h4.9l-1.2 6.1h3.8l1.2-6.1h4.8l-1.2 6.1h2.4v4.7h-3.3l-.9 4.3h4.2v4.7h-5.1l-1.2 6h-4.9l1.2-6h-3.8l-1.2 6h-4.8l1.2-6h-2.4v-4.7H97zm4.8 0h3.8l.9-4.3h-3.8z"
1446
+ }, null)
1447
+ ]);
1448
+ }
1449
+ }), Nn = /* @__PURE__ */ i({
1450
+ name: "Cplusplus",
1451
+ props: { size: {
1452
+ type: [Number, String],
1453
+ default: 24
1454
+ } },
1455
+ setup(e) {
1456
+ return () => r("svg", {
1457
+ xmlns: "http://www.w3.org/2000/svg",
1458
+ viewBox: "0 0 128 128",
1459
+ width: e.size,
1460
+ height: e.size
1461
+ }, [
1462
+ r("path", {
1463
+ fill: "#00599c",
1464
+ d: "M118.766 95.82c.89-1.543 1.441-3.28 1.441-4.843V36.78c0-1.558-.55-3.297-1.441-4.84l-55.32 31.94Zm0 0"
1465
+ }, null),
1466
+ r("path", {
1467
+ fill: "#004482",
1468
+ d: "m68.36 126.586l46.933-27.094c1.352-.781 2.582-2.129 3.473-3.672l-55.32-31.94L8.12 95.82c.89 1.543 2.121 2.89 3.473 3.672l46.933 27.094c2.703 1.562 7.13 1.562 9.832 0Zm0 0"
1469
+ }, null),
1470
+ r("path", {
1471
+ fill: "#659ad2",
1472
+ d: "M118.766 31.941c-.891-1.546-2.121-2.894-3.473-3.671L68.359 1.172c-2.703-1.563-7.129-1.563-9.832 0L11.594 28.27C8.89 29.828 6.68 33.66 6.68 36.78v54.196c0 1.562.55 3.3 1.441 4.843L63.445 63.88Zm0 0"
1473
+ }, null),
1474
+ r("path", {
1475
+ fill: "#fff",
1476
+ d: "M63.445 26.035c-20.867 0-37.843 16.977-37.843 37.844s16.976 37.844 37.843 37.844c13.465 0 26.024-7.247 32.77-18.91L79.84 73.335c-3.38 5.84-9.66 9.465-16.395 9.465c-10.433 0-18.922-8.488-18.922-18.922s8.49-18.922 18.922-18.922c6.73 0 13.017 3.629 16.39 9.465l16.38-9.477c-6.75-11.664-19.305-18.91-32.77-18.91zM92.88 57.57v4.207h-4.207v4.203h4.207v4.207h4.203V65.98h4.203v-4.203h-4.203V57.57zm15.766 0v4.207h-4.204v4.203h4.204v4.207h4.207V65.98h4.203v-4.203h-4.203V57.57z"
1477
+ }, null)
1478
+ ]);
1479
+ }
1480
+ }), Pn = /* @__PURE__ */ i({
1481
+ name: "C",
1482
+ props: { size: {
1483
+ type: [Number, String],
1484
+ default: 24
1485
+ } },
1486
+ setup(e) {
1487
+ return () => r("svg", {
1488
+ xmlns: "http://www.w3.org/2000/svg",
1489
+ viewBox: "0 0 128 128",
1490
+ width: e.size,
1491
+ height: e.size
1492
+ }, [
1493
+ r("path", {
1494
+ fill: "#659ad3",
1495
+ d: "M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7s-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7"
1496
+ }, null),
1497
+ r("path", {
1498
+ fill: "#03599c",
1499
+ d: "M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7s2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8z"
1500
+ }, null),
1501
+ r("path", {
1502
+ fill: "#fff",
1503
+ d: "M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20c-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8z"
1504
+ }, null)
1505
+ ]);
1506
+ }
1507
+ }), Fn = { "elm-mdi-icon": "_elm-mdi-icon_ihskx_1" }, A = /* @__PURE__ */ i({
1508
+ name: "ElmMdiIcon",
1509
+ inheritAttrs: !1,
1510
+ props: {
1511
+ d: {
1512
+ type: String,
1513
+ required: !0
1514
+ },
1515
+ size: {
1516
+ type: String,
1517
+ default: "1em"
1518
+ },
1519
+ color: {
1520
+ type: String,
1521
+ default: "currentColor"
1522
+ },
1523
+ lightColor: {
1524
+ type: String,
1525
+ default: void 0
1526
+ },
1527
+ darkColor: {
1528
+ type: String,
1529
+ default: void 0
1530
+ }
1531
+ },
1532
+ setup(e, { attrs: t }) {
1533
+ return () => {
1534
+ let { class: n, style: i, ...a } = t;
1535
+ return r("svg", c({
1536
+ class: _(Fn["elm-mdi-icon"], n),
1537
+ style: [{
1538
+ "--elmethis-scoped-color": e.lightColor ?? e.color,
1539
+ "--dark-color": e.darkColor ?? e.color
1540
+ }, i],
1541
+ width: e.size,
1542
+ height: e.size,
1543
+ viewBox: "0 0 24 24",
1544
+ fill: e.color,
1545
+ xmlns: "http://www.w3.org/2000/svg",
1546
+ focusable: "false",
1547
+ role: "img"
1548
+ }, a), [r("path", { d: e.d }, null)]);
1549
+ };
1550
+ }
1551
+ }), In = [
1552
+ "rust",
1553
+ "javascript",
1554
+ "typescript",
1555
+ "shell",
1556
+ "terraform",
1557
+ "html",
1558
+ "css",
1559
+ "npm",
1560
+ "java",
1561
+ "kotlin",
1562
+ "go",
1563
+ "python",
1564
+ "sql",
1565
+ "json",
1566
+ "lua",
1567
+ "csharp",
1568
+ "cpp",
1569
+ "c",
1570
+ "file"
1571
+ ], Ln = (e) => {
1572
+ switch (e) {
1573
+ case "rust":
1574
+ case "rs": return "rust";
1575
+ case "javascript":
1576
+ case "js": return "javascript";
1577
+ case "typescript":
1578
+ case "ts": return "typescript";
1579
+ case "bash":
1580
+ case "sh":
1581
+ case "shell": return "shell";
1582
+ case "tf":
1583
+ case "terraform":
1584
+ case "hcl": return "terraform";
1585
+ case "html":
1586
+ case "html5": return "html";
1587
+ case "css":
1588
+ case "css3": return "css";
1589
+ case "npm": return "npm";
1590
+ case "java": return "java";
1591
+ case "kotlin":
1592
+ case "kt": return "kotlin";
1593
+ case "go":
1594
+ case "golang": return "go";
1595
+ case "python":
1596
+ case "py": return "python";
1597
+ case "sql": return "sql";
1598
+ case "json": return "json";
1599
+ case "lua": return "lua";
1600
+ case "cs":
1601
+ case "c#":
1602
+ case "csharp": return "csharp";
1603
+ case "cpp":
1604
+ case "c++": return "cpp";
1605
+ case "c":
1606
+ case "clang": return "c";
1607
+ default: return "file";
1608
+ }
1609
+ }, Rn = {
1610
+ rust: gn,
1611
+ javascript: _n,
1612
+ typescript: vn,
1613
+ shell: bn,
1614
+ terraform: xn,
1615
+ html: Sn,
1616
+ css: Cn,
1617
+ npm: wn,
1618
+ java: Tn,
1619
+ kotlin: En,
1620
+ go: Dn,
1621
+ python: On,
1622
+ sql: kn,
1623
+ json: An,
1624
+ lua: jn,
1625
+ csharp: Mn,
1626
+ cpp: Nn,
1627
+ c: Pn,
1628
+ file: /* @__PURE__ */ i({
1629
+ name: "FileIcon",
1630
+ props: { size: {
1631
+ type: [Number, String],
1632
+ default: 24
1633
+ } },
1634
+ setup(e) {
1635
+ return () => r(A, {
1636
+ d: Fe,
1637
+ size: String(e.size)
1638
+ }, null);
1639
+ }
1640
+ })
1641
+ }, zn = /* @__PURE__ */ i({
1642
+ name: "ElmLanguageIcon",
1643
+ props: {
1644
+ size: {
1645
+ type: Number,
1646
+ default: 24
1647
+ },
1648
+ language: {
1649
+ type: String,
1650
+ required: !0
1651
+ }
1652
+ },
1653
+ setup(e) {
1654
+ return () => {
1655
+ let t = Rn[Ln(e.language)];
1656
+ return a(t, { size: e.size });
1657
+ };
1658
+ }
1659
+ }), Bn = { "elm-shiki-highlighter": "_elm-shiki-highlighter_j5tas_1" }, Vn = /* @__PURE__ */ i({
1660
+ name: "ElmShikiHighlighter",
1661
+ inheritAttrs: !1,
1662
+ props: {
1663
+ code: {
1664
+ type: String,
1665
+ required: !0
1666
+ },
1667
+ language: {
1668
+ type: String,
1669
+ default: "txt"
1670
+ }
1671
+ },
1672
+ setup(e, { attrs: t }) {
1673
+ let n = p(""), i = async (e, t, r) => {
1674
+ if (!e) {
1675
+ r() && (n.value = "");
1676
+ return;
1677
+ }
1678
+ try {
1679
+ let i = await nt(e, {
1680
+ lang: t,
1681
+ themes: {
1682
+ dark: rt,
1683
+ light: it
1684
+ },
1685
+ defaultColor: !1,
1686
+ colorReplacements: {
1687
+ "#ffffff": "transparent",
1688
+ "#121212": "transparent"
1689
+ }
1690
+ });
1691
+ r() && (n.value = i);
1692
+ } catch {
1693
+ r() && (n.value = `<pre>${e.replace(/</g, "&lt;")}</pre>`);
1694
+ }
1695
+ };
1696
+ return h([() => e.code, () => e.language], ([e, t], n, r) => {
1697
+ let a = !0;
1698
+ r(() => {
1699
+ a = !1;
1700
+ }), i(e, t, () => a);
1701
+ }, { immediate: !0 }), () => {
1702
+ let { class: e, ...i } = t;
1703
+ return r("pre", c({
1704
+ class: _(Bn["elm-shiki-highlighter"], e),
1705
+ innerHTML: n.value
1706
+ }, i), null);
1707
+ };
1708
+ }
1709
+ }), Hn = {
1710
+ "use-clipboard": "_use-clipboard_mb0qt_1",
1711
+ "use-clipboard-icon-copied": "_use-clipboard-icon-copied_mb0qt_15"
1712
+ }, Un = (e) => {
1713
+ let n = e.delay ?? 1500, a = Se({ copiedDuring: n }), o = Ce({ copiedDuring: n }), s = t(() => a.copied.value || o.copied.value), c = async () => {
1714
+ let t = e.content;
1715
+ typeof t == "string" ? await a.copy(t) : await o.copy(t.map((e) => new ClipboardItem(e)));
1716
+ };
1717
+ return {
1718
+ copy: c,
1719
+ CopyButton: /* @__PURE__ */ i({
1720
+ name: "CopyButton",
1721
+ setup() {
1722
+ return () => r("span", {
1723
+ class: _(Hn["use-clipboard"], e.class),
1724
+ style: e.style,
1725
+ onClick: c
1726
+ }, [r(A, {
1727
+ class: _(s.value && Hn["use-clipboard-icon-copied"]),
1728
+ d: s.value ? Ne : Pe,
1729
+ size: "1.25rem"
1730
+ }, null)]);
1731
+ }
1732
+ })
1733
+ };
1734
+ }, Wn = /* @__PURE__ */ i({
1735
+ name: "ElmCodeBlock",
1736
+ props: {
1737
+ code: {
1738
+ type: String,
1739
+ required: !0
1740
+ },
1741
+ language: {
1742
+ type: String,
1743
+ default: "txt"
1744
+ },
1745
+ caption: {
1746
+ type: String,
1747
+ default: void 0
1748
+ }
1749
+ },
1750
+ setup(e, { slots: t }) {
1751
+ let { CopyButton: n } = Un({ content: e.code });
1752
+ return () => r("figure", { class: _(k["elm-code-block"]) }, [
1753
+ r("span", { class: k["language-icon"] }, [r(zn, { language: e.language }, null)]),
1754
+ r("span", { class: k.caption }, [r(w, null, { default: () => [e.caption || e.language, t.default?.()] })]),
1755
+ r("div", { class: k["copy-icon"] }, [a(n)]),
1756
+ r("hr", { class: k.divider }, null),
1757
+ r("div", { class: k.code }, [r(Vn, {
1758
+ code: e.code,
1759
+ language: e.language
1760
+ }, null)])
1761
+ ]);
1762
+ }
1763
+ }), j = {
1764
+ "elm-block-image": "_elm-block-image_kwjx3_1",
1765
+ "image-container": "_image-container_kwjx3_12",
1766
+ image: "_image_kwjx3_12",
1767
+ fallback: "_fallback_kwjx3_36",
1768
+ "caption-box": "_caption-box_kwjx3_46",
1769
+ "caption-icon": "_caption-icon_kwjx3_57"
1770
+ }, Gn = {
1771
+ "elm-rectangle-wave": "_elm-rectangle-wave_70gad_21",
1772
+ wave: "_wave_70gad_1"
1773
+ }, Kn = /* @__PURE__ */ i({
1774
+ name: "ElmRectangleWave",
1775
+ setup() {
1776
+ return () => r("div", {
1777
+ "aria-hidden": "true",
1778
+ class: _(Gn["elm-rectangle-wave"])
1779
+ }, null);
1780
+ }
1781
+ }), qn = {
1782
+ "elm-modal": "_elm-modal_12j1m_1",
1783
+ shown: "_shown_12j1m_18"
1784
+ }, Jn = /* @__PURE__ */ i({
1785
+ name: "ElmModal",
1786
+ inheritAttrs: !1,
1787
+ props: {
1788
+ isOpen: {
1789
+ type: Boolean,
1790
+ default: void 0
1791
+ },
1792
+ delay: {
1793
+ type: Number,
1794
+ default: 200
1795
+ },
1796
+ onClose: {
1797
+ type: Function,
1798
+ default: void 0
1799
+ }
1800
+ },
1801
+ setup(e, { attrs: t, slots: n }) {
1802
+ let i = p(null), a = p(!1), o, s = (e, t) => {
1803
+ let n = i.value;
1804
+ if (n) if (o !== void 0 && (clearTimeout(o), o = void 0), e) n.showModal(), a.value = !0;
1805
+ else {
1806
+ if (!a.value) return;
1807
+ a.value = !1, o = setTimeout(() => {
1808
+ i.value?.close();
1809
+ }, t);
1810
+ }
1811
+ };
1812
+ u(() => s(e.isOpen, e.delay)), h([() => e.isOpen, () => e.delay], ([e, t]) => s(e, t)), l(() => {
1813
+ o !== void 0 && clearTimeout(o);
1814
+ });
1815
+ let d = (t) => {
1816
+ i.value && e.onClose?.(t, i.value);
1817
+ };
1818
+ return () => {
1819
+ let { class: o, style: s, ...l } = t;
1820
+ return r("dialog", c({
1821
+ ref: i,
1822
+ class: _(qn["elm-modal"], a.value && qn.shown, o),
1823
+ onClick: d,
1824
+ style: [{ "--elmethis-scoped-modal-delay": `${e.delay}ms` }, s]
1825
+ }, { closedby: "none" }, l), [r("div", { onClick: (e) => e.stopPropagation() }, [n.default?.()])]);
1826
+ };
1827
+ }
1828
+ }), Yn = (e = {}) => {
1829
+ let t = p(!1), n = () => {
1830
+ t.value = !0;
1831
+ }, a = () => {
1832
+ t.value = !1;
1833
+ };
1834
+ return {
1835
+ Modal: /* @__PURE__ */ i({
1836
+ name: "Modal",
1837
+ setup(n, { slots: i }) {
1838
+ return () => r(Jn, {
1839
+ isOpen: t.value,
1840
+ delay: e.delay,
1841
+ onClose: a
1842
+ }, { default: () => [i.default?.()] });
1843
+ }
1844
+ }),
1845
+ isOpen: t,
1846
+ show: n,
1847
+ hide: a,
1848
+ toggle: () => {
1849
+ t.value = !t.value;
1850
+ }
1851
+ };
1852
+ }, Xn = /* @__PURE__ */ i({
1853
+ name: "ElmBlockImage",
1854
+ props: {
1855
+ src: {
1856
+ type: String,
1857
+ required: !0
1858
+ },
1859
+ srcSet: {
1860
+ type: String,
1861
+ default: void 0
1862
+ },
1863
+ sizes: {
1864
+ type: String,
1865
+ default: void 0
1866
+ },
1867
+ alt: {
1868
+ type: String,
1869
+ default: void 0
1870
+ },
1871
+ enableModal: {
1872
+ type: Boolean,
1873
+ default: void 0
1874
+ },
1875
+ caption: {
1876
+ type: String,
1877
+ default: void 0
1878
+ },
1879
+ width: {
1880
+ type: [Number, String],
1881
+ default: void 0
1882
+ },
1883
+ height: {
1884
+ type: [Number, String],
1885
+ default: void 0
1886
+ }
1887
+ },
1888
+ setup(e) {
1889
+ let t = p(!0), { Modal: n, isOpen: i, show: o, hide: s } = Yn(), l = p(null), d = () => {
1890
+ l.value?.decode().then(() => t.value = !1, () => {});
1891
+ };
1892
+ u(d), h(() => e.src, d);
1893
+ let f = () => {
1894
+ (e.enableModal ?? !0) && !t.value && o();
1895
+ }, m = () => e.enableModal ?? !0, g = (n) => r("img", c({
1896
+ ref: n ? void 0 : l,
1897
+ class: j.image,
1898
+ src: e.src,
1899
+ alt: e.alt ?? e.caption ?? "Image",
1900
+ srcset: n ? void 0 : e.srcSet,
1901
+ sizes: n ? void 0 : e.sizes,
1902
+ width: e.width,
1903
+ height: e.height,
1904
+ loading: n ? "lazy" : void 0,
1905
+ onLoad: () => t.value = !1,
1906
+ onClick: n ? () => s() : void 0,
1907
+ style: {
1908
+ "--elmethis-scoped-opacity": t.value ? .01 : 1,
1909
+ "--elmethis-scoped-cursor": m() ? i.value ? "zoom-out" : "zoom-in" : "default",
1910
+ "--elmethis-scoped-aspect-ratio": e.width && e.height ? `${e.width} / ${e.height}` : "auto"
1911
+ }
1912
+ }, { fetchpriority: n ? "low" : "auto" }), null);
1913
+ return () => r("figure", { class: _(j["elm-block-image"]) }, [
1914
+ r("div", {
1915
+ class: j["image-container"],
1916
+ style: { "--elmethis-scoped-opacity": t.value ? 1 : .01 },
1917
+ onClick: f
1918
+ }, [g(!1), r("div", { class: j.fallback }, [r(Kn, null, null)])]),
1919
+ e.caption && r("figcaption", {
1920
+ class: j["caption-box"],
1921
+ style: { "--elmethis-scoped-opacity": t.value ? .01 : 1 }
1922
+ }, [r("span", { class: j["caption-icon"] }, [r(A, {
1923
+ d: Xe,
1924
+ size: "1.25rem"
1925
+ }, null)]), r(w, { size: "1rem" }, { default: () => [e.caption] })]),
1926
+ a(n, null, { default: () => i.value ? g(!0) : null })
1927
+ ]);
1928
+ }
1929
+ }), Zn = {
1930
+ "elm-file": "_elm-file_1oen6_1",
1931
+ "file-size": "_file-size_1oen6_13",
1932
+ "download-icon": "_download-icon_1oen6_18"
1933
+ };
1934
+ //#endregion
1935
+ //#region src/components/media/elm-file.tsx
1936
+ function Qn(e) {
1937
+ let t = e.split(/[?#]/)[0].split("/").filter(Boolean);
1938
+ return t.length > 0 ? t[t.length - 1] : null;
1939
+ }
1940
+ var $n = /* @__PURE__ */ i({
1941
+ name: "ElmFile",
1942
+ props: {
1943
+ name: {
1944
+ type: String,
1945
+ default: void 0
1946
+ },
1947
+ src: {
1948
+ type: String,
1949
+ required: !0
1950
+ },
1951
+ filesize: {
1952
+ type: String,
1953
+ default: void 0
1954
+ }
1955
+ },
1956
+ setup(e) {
1957
+ let t = async () => {
1958
+ let t;
1959
+ try {
1960
+ let n = await fetch(e.src);
1961
+ if (!n.ok) throw Error("Failed to download file");
1962
+ let r = await n.blob();
1963
+ t = document.createElement("a"), t.href = URL.createObjectURL(r), t.download = e.name ?? Qn(e.src) ?? "file", t.click();
1964
+ } catch (e) {
1965
+ console.error("ERROR:", e);
1966
+ } finally {
1967
+ t && URL.revokeObjectURL(t.href);
1968
+ }
1969
+ };
1970
+ return () => r("div", { class: _(Zn["elm-file"]) }, [
1971
+ r("div", null, [r(A, {
1972
+ d: ze,
1973
+ size: "1.25rem"
1974
+ }, null)]),
1975
+ r("div", null, [r(w, null, { default: () => [e.name ?? Qn(e.src)] })]),
1976
+ r("div", { class: Zn["file-size"] }, [r(w, null, { default: () => [e.filesize] })]),
1977
+ r("div", {
1978
+ class: Zn["download-icon"],
1979
+ onClick: t
1980
+ }, [r(A, {
1981
+ d: Ie,
1982
+ size: "1.25rem"
1983
+ }, null)])
1984
+ ]);
1985
+ }
1986
+ }), M = {
1987
+ "elm-bookmark": "_elm-bookmark_67069_1",
1988
+ container: "_container_67069_24",
1989
+ image: "_image_67069_36",
1990
+ content: "_content_67069_56",
1991
+ title: "_title_67069_72",
1992
+ description: "_description_67069_76",
1993
+ link: "_link_67069_81"
1994
+ }, er = {
1995
+ visibility: "hidden",
1996
+ width: "0"
1997
+ }, tr = /* @__PURE__ */ i({
1998
+ name: "ElmBookmark",
1999
+ props: {
2000
+ title: {
2001
+ type: String,
2002
+ default: void 0
2003
+ },
2004
+ description: {
2005
+ type: String,
2006
+ default: void 0
2007
+ },
2008
+ image: {
2009
+ type: String,
2010
+ default: void 0
2011
+ },
2012
+ url: {
2013
+ type: String,
2014
+ default: void 0
2015
+ },
2016
+ favicon: {
2017
+ type: String,
2018
+ default: void 0
2019
+ }
2020
+ },
2021
+ setup(e) {
2022
+ let t = p(!1);
2023
+ return () => r("div", { class: _(M["elm-bookmark"]) }, [r("a", {
2024
+ class: M.container,
2025
+ href: e.url,
2026
+ target: "_blank",
2027
+ rel: "noopener noreferrer"
2028
+ }, [r("img", {
2029
+ class: M.image,
2030
+ src: e.image,
2031
+ alt: "OGP Image",
2032
+ onError: () => t.value = !0,
2033
+ style: t.value || e.image == null ? er : {}
2034
+ }, null), r("div", { class: M.content }, [
2035
+ r("div", { class: M.title }, [r(w, { bold: !0 }, { default: () => [e.title] })]),
2036
+ r("div", { class: M.description }, [r(w, { size: "0.75rem" }, { default: () => [e.description] })]),
2037
+ r("div", { class: M.link }, [e.favicon ? r(C, { src: e.favicon }, null) : r(A, {
2038
+ d: Je,
2039
+ color: "var(--elmethis-color-accent-info)"
2040
+ }, null), r(w, { size: "0.75rem" }, { default: () => [e.url] })])
2041
+ ])])]);
2042
+ }
2043
+ }), N = {
2044
+ "elm-toggle": "_elm-toggle_d59g8_1",
2045
+ open: "_open_d59g8_9",
2046
+ summary: "_summary_d59g8_14",
2047
+ "summary-left": "_summary-left_d59g8_29",
2048
+ divider: "_divider_d59g8_36",
2049
+ chevron: "_chevron_d59g8_50",
2050
+ cross: "_cross_d59g8_63",
2051
+ border: "_border_d59g8_77",
2052
+ content: "_content_d59g8_85"
2053
+ }, nr = /* @__PURE__ */ i({
2054
+ name: "ElmToggle",
2055
+ props: {
2056
+ summary: {
2057
+ type: String,
2058
+ default: void 0
2059
+ },
2060
+ defaultIsOpen: {
2061
+ type: Boolean,
2062
+ default: !1
2063
+ },
2064
+ isOpen: {
2065
+ type: Boolean,
2066
+ default: void 0
2067
+ },
2068
+ monochrome: {
2069
+ type: Boolean,
2070
+ default: !1
2071
+ }
2072
+ },
2073
+ emits: ["update:isOpen"],
2074
+ setup(e, { emit: t, slots: n }) {
2075
+ let i = Mt({
2076
+ props: e,
2077
+ key: "isOpen",
2078
+ emit: t,
2079
+ defaultValue: e.defaultIsOpen ?? !1
2080
+ });
2081
+ return () => r("div", { class: _(N["elm-toggle"], i.value && N.open) }, [
2082
+ r("div", {
2083
+ class: N.summary,
2084
+ onClick: (e) => {
2085
+ e.preventDefault(), i.value = !i.value;
2086
+ }
2087
+ }, [
2088
+ r("div", { class: N["summary-left"] }, [r("span", { class: _(N.chevron, i.value && N.open) }, [r(A, {
2089
+ d: Me,
2090
+ color: e.monochrome ? "var(--elmethis-color-neutral-weak)" : "var(--elmethis-color-primary)",
2091
+ size: "1rem"
2092
+ }, null)]), r("div", null, [e.summary == null ? n.summary?.() : r(w, null, { default: () => [e.summary] })])]),
2093
+ r("hr", { class: N.divider }, null),
2094
+ r("span", { class: _(N.cross, i.value && N.open) }, [r(A, {
2095
+ d: Ze,
2096
+ size: "1rem",
2097
+ color: e.monochrome ? "var(--elmethis-color-neutral-weak)" : i.value ? "var(--elmethis-color-accent-error)" : "var(--elmethis-color-primary)"
2098
+ }, null)])
2099
+ ]),
2100
+ r("div", { class: N.border }, null),
2101
+ r("div", { class: _(N.content, i.value && N.open) }, [n.default?.()])
2102
+ ]);
2103
+ }
2104
+ }), P = {
2105
+ "elm-block-quote": "_elm-block-quote_lqbme_1",
2106
+ body: "_body_lqbme_20",
2107
+ icon: "_icon_lqbme_25",
2108
+ "icon-top-left": "_icon-top-left_lqbme_30",
2109
+ "icon-bottom-right": "_icon-bottom-right_lqbme_34"
2110
+ }, rr = /* @__PURE__ */ i({
2111
+ name: "ElmBlockQuote",
2112
+ setup(e, { slots: t }) {
2113
+ return () => r("blockquote", { class: _(P["elm-block-quote"], b.text) }, [
2114
+ r("div", { class: _(P.icon, P["icon-top-left"]) }, [r(A, { d: Ue }, null)]),
2115
+ r("div", { class: P.body }, [t.default?.()]),
2116
+ r("div", { class: _(P.icon, P["icon-bottom-right"]) }, [r(A, { d: He }, null)])
2117
+ ]);
2118
+ }
2119
+ }), F = {
2120
+ "elm-callout": "_elm-callout_1xydl_1",
2121
+ header: "_header_1xydl_27",
2122
+ content: "_content_1xydl_36",
2123
+ icon: "_icon_1xydl_40",
2124
+ note: "_note_1xydl_45",
2125
+ tip: "_tip_1xydl_49",
2126
+ important: "_important_1xydl_53",
2127
+ warning: "_warning_1xydl_57",
2128
+ caution: "_caution_1xydl_61"
2129
+ }, ir = Object.freeze({
2130
+ note: Ke,
2131
+ tip: qe,
2132
+ important: Qe,
2133
+ warning: Ee,
2134
+ caution: De
2135
+ }), ar = /* @__PURE__ */ i({
2136
+ name: "ElmCallout",
2137
+ props: { type: {
2138
+ type: String,
2139
+ default: "note"
2140
+ } },
2141
+ setup(e, { slots: t }) {
2142
+ return () => r("aside", { class: _(F["elm-callout"], F[e.type]) }, [r("div", { class: F.header }, [r(A, {
2143
+ class: F.icon,
2144
+ d: ir[e.type],
2145
+ size: "1.25rem"
2146
+ }, null), r("span", null, [e.type])]), r("div", { class: F.content }, [t.default?.()])]);
2147
+ }
2148
+ }), or = { "elm-divider": "_elm-divider_8xkqn_1" }, sr = /* @__PURE__ */ i({
2149
+ name: "ElmDivider",
2150
+ inheritAttrs: !1,
2151
+ setup(e, { attrs: t }) {
2152
+ return () => {
2153
+ let { class: e, ...n } = t;
2154
+ return r("hr", c({ class: _(or["elm-divider"], e) }, n), null);
2155
+ };
2156
+ }
2157
+ }), cr = {
2158
+ "elm-list": "_elm-list_n8430_1",
2159
+ bulleted: "_bulleted_n8430_9",
2160
+ numbered: "_numbered_n8430_58"
2161
+ }, lr = /* @__PURE__ */ i({
2162
+ name: "ElmList",
2163
+ props: { listStyle: {
2164
+ type: String,
2165
+ default: "unordered"
2166
+ } },
2167
+ setup(e, { slots: t }) {
2168
+ return () => e.listStyle === "ordered" ? r("ol", { class: _(b.text, cr["elm-list"], cr.numbered) }, [t.default?.()]) : r("ul", { class: _(b.text, cr["elm-list"], cr.bulleted) }, [t.default?.()]);
2169
+ }
2170
+ }), I = {
2171
+ "elm-table": "_elm-table_14qfo_1",
2172
+ caption: "_caption_14qfo_8",
2173
+ "caption-inner": "_caption-inner_14qfo_18",
2174
+ spacing: "_spacing_14qfo_25"
2175
+ }, ur = Symbol("elm.table.HasRowHeader"), dr = Symbol("elm.table.Section"), fr = /* @__PURE__ */ i({
2176
+ name: "ElmTable",
2177
+ props: {
2178
+ caption: {
2179
+ type: String,
2180
+ default: void 0
2181
+ },
2182
+ hasRowHeader: {
2183
+ type: Boolean,
2184
+ default: !1
2185
+ }
2186
+ },
2187
+ setup(e, { slots: n }) {
2188
+ return f(ur, t(() => e.hasRowHeader)), () => r("table", { class: _(I["elm-table"], b.text) }, [e.caption && r("caption", null, [r("span", { class: I.caption }, [
2189
+ r("span", { class: I.spacing }, null),
2190
+ r("span", { class: I["caption-inner"] }, [r(w, null, { default: () => [e.caption] })]),
2191
+ r("span", { class: I.spacing }, null)
2192
+ ])]), n.default?.()]);
2193
+ }
2194
+ }), pr = /* @__PURE__ */ i({
2195
+ name: "ElmTableBody",
2196
+ setup(e, { slots: t }) {
2197
+ return f(dr, "body"), () => r("tbody", null, [t.default?.()]);
2198
+ }
2199
+ }), mr = {
2200
+ "elm-table-cell": "_elm-table-cell_1a21f_1",
2201
+ td: "_td_1a21f_20",
2202
+ th: "_th_1a21f_25"
2203
+ }, hr = /* @__PURE__ */ i({
2204
+ name: "ElmTableCell",
2205
+ inheritAttrs: !1,
2206
+ props: {
2207
+ isHeader: {
2208
+ type: Boolean,
2209
+ default: !1
2210
+ },
2211
+ columnIndex: {
2212
+ type: Number,
2213
+ default: void 0
2214
+ },
2215
+ text: {
2216
+ type: String,
2217
+ default: void 0
2218
+ },
2219
+ scope: {
2220
+ type: String,
2221
+ default: void 0
2222
+ }
2223
+ },
2224
+ setup(e, { attrs: t, slots: n }) {
2225
+ let i = o(dr, "body"), a = o(ur, p(!1));
2226
+ return () => {
2227
+ let { class: o, style: s, ...l } = t, u = i === "head", d = !u && !e.isHeader && e.columnIndex === 0 && a.value, f = u || e.isHeader || d, p = e.scope ?? (u ? "col" : d ? "row" : void 0), m = e.text == null ? n.default?.() : e.text;
2228
+ return f ? r("th", c({
2229
+ class: _(mr["elm-table-cell"], mr.th, o),
2230
+ style: s,
2231
+ scope: p
2232
+ }, l), [m]) : r("td", c({
2233
+ class: _(mr["elm-table-cell"], mr.td, o),
2234
+ style: s
2235
+ }, l), [m]);
2236
+ };
2237
+ }
2238
+ }), gr = { "elm-table-header": "_elm-table-header_jhft7_1" }, _r = /* @__PURE__ */ i({
2239
+ name: "ElmTableHeader",
2240
+ setup(e, { slots: t }) {
2241
+ return f(dr, "head"), () => r("thead", { class: _(gr["elm-table-header"]) }, [t.default?.()]);
2242
+ }
2243
+ }), vr = { "elm-table-row": "_elm-table-row_mkm0q_1" }, yr = /* @__PURE__ */ i({
2244
+ name: "ElmTableRow",
2245
+ setup(e, { slots: t }) {
2246
+ return () => r("tr", { class: _(vr["elm-table-row"]) }, [t.default?.()]);
2247
+ }
2248
+ }), br = {
2249
+ "elm-unsupported-block": "_elm-unsupported-block_xdddx_1",
2250
+ message: "_message_xdddx_14",
2251
+ icon: "_icon_xdddx_21",
2252
+ details: "_details_xdddx_25"
2253
+ }, xr = /* @__PURE__ */ i({
2254
+ name: "ElmUnsupportedBlock",
2255
+ inheritAttrs: !1,
2256
+ props: { details: {
2257
+ type: String,
2258
+ default: void 0
2259
+ } },
2260
+ setup(e, { attrs: t }) {
2261
+ return () => {
2262
+ let { class: i, ...a } = t;
2263
+ return r("div", c({ class: _(br["elm-unsupported-block"], i) }, a), [r("div", { class: br.message }, [r("svg", {
2264
+ viewBox: "0 0 24 24",
2265
+ width: "1.25rem",
2266
+ height: "1.25rem",
2267
+ class: br.icon
2268
+ }, [r("path", { d: "M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" }, null)]), r(w, null, { default: () => [n("UNSUPPORTED BLOCK")] })]), e.details && r("div", { class: br.details }, [r(w, null, { default: () => [e.details] })])]);
2269
+ };
2270
+ }
2271
+ });
2272
+ //#endregion
2273
+ //#region src/components/a2ui/catalog/block-catalog.tsx
2274
+ function L(e) {
2275
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
2276
+ }
2277
+ function Sr(e) {
2278
+ return Array.isArray(e) ? e.filter((e) => typeof e == "string") : [];
2279
+ }
2280
+ var Cr = {
2281
+ boxSizing: "content-box",
2282
+ paddingBlock: "0.25rem",
2283
+ width: "100%",
2284
+ display: "flex",
2285
+ flexDirection: "row",
2286
+ gap: "0.25rem",
2287
+ justifyContent: "space-around",
2288
+ overflowX: "auto"
2289
+ }, wr = nn.extend(E(wt, ({ props: e, resolve: t }) => {
2290
+ let n = t(e.text), i = e.decoration ?? [];
2291
+ return i.includes("katex") ? r(hn, {
2292
+ expression: n,
2293
+ block: !1
2294
+ }, null) : r(w, {
2295
+ bold: i.includes("bold"),
2296
+ italic: i.includes("italic"),
2297
+ underline: i.includes("underline"),
2298
+ strikethrough: i.includes("strikethrough"),
2299
+ code: i.includes("code"),
2300
+ color: e.color,
2301
+ ruby: e.ruby
2302
+ }, L(n) ? n : { default: () => [n] });
2303
+ }), E(yt, ({ props: e, resolve: t }) => {
2304
+ let n;
2305
+ return r(w, {
2306
+ href: e.href,
2307
+ favicon: e.favicon
2308
+ }, L(n = t(e.text)) ? n : { default: () => [n] });
2309
+ }), E(_t, ({ props: e, resolve: t }) => r(C, {
2310
+ src: t(e.src),
2311
+ alt: e.alt
2312
+ }, null)), E(ut, ({ props: e, index: t, childRefs: n, renderChild: i }) => r("div", { style: {
2313
+ display: "flex",
2314
+ flexDirection: "column",
2315
+ justifyContent: Zt[e.justify ?? "start"],
2316
+ alignItems: Qt[e.align ?? "stretch"],
2317
+ flex: e.widthRatio == null ? void 0 : String(e.widthRatio),
2318
+ boxSizing: "border-box",
2319
+ padding: "0.125rem",
2320
+ ...D(t)
2321
+ } }, [n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))])), E(dt, ({ props: t, index: n, childRefs: i, renderChild: a }) => r("div", { style: {
2322
+ ...Cr,
2323
+ ...D(n)
2324
+ } }, [i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))])), E(gt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
2325
+ let o;
2326
+ return r(x, {
2327
+ level: t.level,
2328
+ style: D(n)
2329
+ }, L(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
2330
+ }), E(Ct, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
2331
+ let a;
2332
+ return r(Gt, {
2333
+ color: e.color,
2334
+ backgroundColor: e.backgroundColor,
2335
+ style: D(t)
2336
+ }, L(a = n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
2337
+ }), E(bt, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
2338
+ let a;
2339
+ return r(lr, {
2340
+ listStyle: e.style ?? "unordered",
2341
+ style: D(t)
2342
+ }, L(a = n(e.children).map(({ id: e, path: t }, n) => r("li", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
2343
+ }), E(xt, ({ props: t, childRefs: n, renderChild: i }) => r(e, null, [n(t.children).map(({ id: t, path: n }, a) => r(e, { key: `${t}:${a}` }, [i(t, n, a)]))])), E(ot, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
2344
+ let o;
2345
+ return r(rr, c({ cite: t.cite }, { style: D(n) }), L(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
2346
+ }), E(ct, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
2347
+ let o;
2348
+ return r(ar, {
2349
+ type: t.type,
2350
+ style: D(n)
2351
+ }, L(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
2352
+ }), E(mt, ({ index: e }) => r(sr, { style: D(e) }, null)), E(Ot, ({ props: t, index: n, childRefs: i, renderChild: a }) => r(nr, { style: D(n) }, {
2353
+ summary: () => i(t.summary).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [a(e, t, n)])),
2354
+ default: () => i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))
2355
+ })), E(st, ({ props: e, index: t, resolve: n }) => r(tr, {
2356
+ url: n(e.url),
2357
+ title: e.title ? n(e.title) : void 0,
2358
+ description: e.description ? n(e.description) : void 0,
2359
+ image: e.image ? n(e.image) : void 0,
2360
+ style: D(t)
2361
+ }, null)), E(ht, ({ props: e, index: t, resolve: n }) => r($n, {
2362
+ src: n(e.src),
2363
+ name: e.name ? n(e.name) : void 0,
2364
+ style: D(t)
2365
+ }, null)), E(at, ({ props: e, index: t, resolve: n }) => r(Xn, {
2366
+ src: n(e.src),
2367
+ alt: e.alt ? n(e.alt) : void 0,
2368
+ width: e.width,
2369
+ height: e.height,
2370
+ srcSet: e.srcset ? n(e.srcset) : void 0,
2371
+ sizes: e.sizes ? n(e.sizes) : void 0,
2372
+ caption: e.caption ? n(e.caption) : void 0,
2373
+ enableModal: !0,
2374
+ style: D(t)
2375
+ }, null)), E(lt, ({ props: e, index: t, resolve: n }) => r(Wn, {
2376
+ code: n(e.code),
2377
+ language: e.language ? n(e.language) : void 0,
2378
+ caption: e.caption ? n(e.caption) : void 0,
2379
+ style: D(t)
2380
+ }, null)), E(vt, ({ props: e, index: t, resolve: n }) => r(hn, {
2381
+ expression: n(e.expression),
2382
+ block: !0,
2383
+ style: D(t)
2384
+ }, null)), E(St, ({ props: e, index: t, resolve: n }) => r(Wn, {
2385
+ code: n(e.code),
2386
+ language: "mermaid",
2387
+ style: D(t)
2388
+ }, null)), E(ft, () => null), E(pt, ({ props: t, index: n, surface: i, renderChild: a }) => {
2389
+ let o, s = (Array.isArray(t.children) ? t.children : []).map((e) => {
2390
+ let t = i.componentsModel.get(e);
2391
+ return {
2392
+ tabId: e,
2393
+ labelIds: Sr(t?.properties.label),
2394
+ contentIds: Sr(t?.properties.content)
2395
+ };
2396
+ });
2397
+ return r(Ft, {
2398
+ defaultValue: "0",
2399
+ style: D(n)
2400
+ }, { default: () => [r(It, null, L(o = s.map(({ tabId: t, labelIds: n }, i) => {
2401
+ let o;
2402
+ return r(Lt, {
2403
+ key: t,
2404
+ value: String(i)
2405
+ }, L(o = n.map((t, n) => r(e, { key: `${t}:${n}` }, [a(t, "/", n)]))) ? o : { default: () => [o] });
2406
+ })) ? o : { default: () => [o] }), s.map(({ tabId: t, contentIds: n }, i) => {
2407
+ let o;
2408
+ return r(Rt, {
2409
+ key: t,
2410
+ value: String(i)
2411
+ }, L(o = n.map((t, n) => r(e, { key: `${t}:${n}` }, [a(t, "/", n)]))) ? o : { default: () => [o] });
2412
+ })] });
2413
+ }), E(Tt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
2414
+ let o, s;
2415
+ return r(fr, {
2416
+ caption: t.caption ? String(t.caption) : void 0,
2417
+ hasRowHeader: t.hasRowHeader,
2418
+ style: D(n)
2419
+ }, { default: () => [t.header && t.header.length > 0 && r(_r, null, L(o = i(t.header).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] }), r(pr, null, L(s = i(t.body).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? s : { default: () => [s] })] });
2420
+ }), E(Dt, ({ props: t, childRefs: n, renderChild: i }) => {
2421
+ let a;
2422
+ return r(yr, null, L(a = n(t.children).map(({ id: t, path: n }, a) => r(e, { key: `${t}:${a}` }, [i(t, n, a)]))) ? a : { default: () => [a] });
2423
+ }), E(Et, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
2424
+ let a;
2425
+ return r(hr, {
2426
+ isHeader: e.isHeader,
2427
+ columnIndex: t
2428
+ }, L(a = n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
2429
+ }), E(kt, ({ props: e, index: t }) => r(xr, {
2430
+ details: e.details ? `Unsupported component type: ${String(e.details)}` : "Unsupported component type",
2431
+ style: D(t)
2432
+ }, null))), Tr = {
2433
+ "parallax-watcher": "_parallax-watcher_z693a_1",
2434
+ parallax: "_parallax_z693a_1"
2435
+ }, Er = /* @__PURE__ */ i({
2436
+ name: "ElmParallax",
2437
+ props: { images: {
2438
+ type: Array,
2439
+ required: !0
2440
+ } },
2441
+ setup(e) {
2442
+ let t = p(0), n = () => {
2443
+ t.value = window.scrollY;
2444
+ };
2445
+ return u(() => window.addEventListener("scroll", n)), l(() => window.removeEventListener("scroll", n)), () => r("div", null, [r("div", { class: Tr["parallax-watcher"] }, null), e.images.map((e, n) => r("div", {
2446
+ key: n,
2447
+ class: Tr.parallax,
2448
+ style: {
2449
+ backgroundImage: `url(${e})`,
2450
+ transform: `scale(1.2) translateY(${t.value / (1e3 * (n + 1))}%)`,
2451
+ transformOrigin: "bottom"
2452
+ }
2453
+ }, null))]);
2454
+ }
2455
+ }), Dr = {
2456
+ "elm-tooltip": "_elm-tooltip_1b13f_1",
2457
+ tooltip: "_tooltip_1b13f_5",
2458
+ show: "_show_1b13f_18"
2459
+ }, Or = /* @__PURE__ */ i({
2460
+ name: "ElmTooltip",
2461
+ setup(e, { slots: t }) {
2462
+ let n = p(null), i = p(!1), a = !1, o, s = p({}), c = () => {
2463
+ let e = n.value;
2464
+ if (!e) return;
2465
+ a && (window.clearTimeout(o), a = !1);
2466
+ let t = e.getBoundingClientRect(), r = window.innerWidth;
2467
+ t.x > r / 2 ? s.value = {
2468
+ top: `${t.bottom}px`,
2469
+ right: `${r - t.x - t.width}px`
2470
+ } : s.value = {
2471
+ top: `${t.bottom}px`,
2472
+ left: `${t.x}px`
2473
+ }, i.value = !0;
2474
+ }, l = () => {
2475
+ a || (a = !0, o = setTimeout(() => {
2476
+ a = !1, i.value = !1;
2477
+ }, 250));
2478
+ };
2479
+ return () => r("span", {
2480
+ ref: n,
2481
+ class: _(Dr["elm-tooltip"]),
2482
+ onMouseover: c,
2483
+ onMouseleave: l
2484
+ }, [t.original?.(), r("div", {
2485
+ class: _(Dr.tooltip, i.value && Dr.show),
2486
+ style: s.value
2487
+ }, [t.tooltip?.()])]);
2488
+ }
2489
+ }), kr = { "elm-block-fallback": "_elm-block-fallback_1sx02_1" }, Ar = {
2490
+ "elm-dot-loading-icon": "_elm-dot-loading-icon_qjgj2_15",
2491
+ dot: "_dot_qjgj2_25",
2492
+ bounce: "_bounce_qjgj2_1"
2493
+ }, jr = /* @__PURE__ */ i({
2494
+ name: "ElmDotLoadingIcon",
2495
+ inheritAttrs: !1,
2496
+ props: { size: {
2497
+ type: String,
2498
+ default: "4em"
2499
+ } },
2500
+ setup(e, { attrs: t }) {
2501
+ return () => {
2502
+ let { class: n, style: i, ...a } = t;
2503
+ return r("span", c({
2504
+ class: _(Ar["elm-dot-loading-icon"], n),
2505
+ style: [{ "--elmethis-scoped-size": e.size }, i]
2506
+ }, a), [
2507
+ r("span", {
2508
+ class: Ar.dot,
2509
+ "aria-hidden": "true"
2510
+ }, null),
2511
+ r("span", {
2512
+ class: Ar.dot,
2513
+ "aria-hidden": "true"
2514
+ }, null),
2515
+ r("span", {
2516
+ class: Ar.dot,
2517
+ "aria-hidden": "true"
2518
+ }, null)
2519
+ ]);
2520
+ };
2521
+ }
2522
+ }), Mr = /* @__PURE__ */ i({
2523
+ name: "ElmBlockFallback",
2524
+ props: { height: {
2525
+ type: String,
2526
+ default: "16rem"
2527
+ } },
2528
+ setup(e) {
2529
+ return () => r("div", {
2530
+ class: _(kr["elm-block-fallback"]),
2531
+ style: { "--elmethis-scoped-height": e.height }
2532
+ }, [r(jr, null, null), r(Kn, null, null)]);
2533
+ }
2534
+ }), R = {
2535
+ "elm-button": "_elm-button_9qh0y_1",
2536
+ normal: "_normal_9qh0y_22",
2537
+ primary: "_primary_9qh0y_29",
2538
+ colored: "_colored_9qh0y_36",
2539
+ enable: "_enable_9qh0y_40",
2540
+ flex: "_flex_9qh0y_59",
2541
+ ripple: "_ripple_9qh0y_83",
2542
+ "button-ripple": "_button-ripple_9qh0y_1"
2543
+ }, Nr = /* @__PURE__ */ i({
2544
+ name: "ElmButton",
2545
+ inheritAttrs: !1,
2546
+ props: {
2547
+ isLoading: {
2548
+ type: Boolean,
2549
+ default: !1
2550
+ },
2551
+ block: {
2552
+ type: Boolean,
2553
+ default: !1
2554
+ },
2555
+ color: {
2556
+ type: String,
2557
+ default: void 0
2558
+ },
2559
+ primary: {
2560
+ type: Boolean,
2561
+ default: !1
2562
+ },
2563
+ disabled: {
2564
+ type: Boolean,
2565
+ default: void 0
2566
+ }
2567
+ },
2568
+ setup(e, { attrs: t, slots: n }) {
2569
+ let i = p(!1);
2570
+ return () => {
2571
+ let { class: a, style: o, onClick: s, ...l } = t;
2572
+ return r("button", c({
2573
+ onClick: (t) => {
2574
+ !e.isLoading && !e.disabled && typeof s == "function" && (i.value = !0, setTimeout(() => i.value = !1, 300), s(t));
2575
+ },
2576
+ disabled: e.disabled,
2577
+ class: _(R["elm-button"], !e.isLoading && !e.disabled && R.enable, e.color && R.colored, !e.color && !e.primary && R.normal, !e.color && e.primary && R.primary, a),
2578
+ style: [{
2579
+ display: e.block ? "flex" : "inline-flex",
2580
+ width: e.block ? "100%" : "auto",
2581
+ cursor: e.disabled ? "not-allowed" : e.isLoading ? "progress" : "pointer",
2582
+ "--elmethis-scoped-opacity": e.disabled || e.isLoading ? .6 : void 0,
2583
+ "--elmethis-scoped-color": e.color
2584
+ }, o]
2585
+ }, l), [i.value && r("span", { class: R.ripple }, null), e.isLoading ? r(jr, { size: "1.5rem" }, null) : r("span", { class: R.flex }, [n.default?.()])]);
2586
+ };
2587
+ }
2588
+ }), z = {
2589
+ "elm-checkbox": "_elm-checkbox_18dfs_1",
2590
+ disabled: "_disabled_18dfs_12",
2591
+ checkbox: "_checkbox_18dfs_22",
2592
+ rect: "_rect_18dfs_27",
2593
+ loading: "_loading_18dfs_30",
2594
+ checked: "_checked_18dfs_34",
2595
+ "loading-dot": "_loading-dot_18dfs_39",
2596
+ "check-line": "_check-line_18dfs_54",
2597
+ "elmethis-checkbox-check-line": "_elmethis-checkbox-check-line_18dfs_1"
2598
+ }, Pr = /* @__PURE__ */ i({
2599
+ name: "ElmCheckbox",
2600
+ inheritAttrs: !1,
2601
+ props: {
2602
+ label: {
2603
+ type: String,
2604
+ required: !0
2605
+ },
2606
+ isLoading: {
2607
+ type: Boolean,
2608
+ default: !1
2609
+ },
2610
+ disabled: {
2611
+ type: Boolean,
2612
+ default: !1
2613
+ },
2614
+ checked: {
2615
+ type: Boolean,
2616
+ default: void 0
2617
+ },
2618
+ defaultChecked: {
2619
+ type: Boolean,
2620
+ default: !1
2621
+ }
2622
+ },
2623
+ emits: ["update:checked"],
2624
+ setup(e, { attrs: t, emit: n }) {
2625
+ let i = Mt({
2626
+ props: e,
2627
+ key: "checked",
2628
+ emit: n,
2629
+ defaultValue: e.defaultChecked ?? !1
2630
+ });
2631
+ return () => {
2632
+ let { class: n, ...a } = t;
2633
+ return r("div", c({
2634
+ class: _(z["elm-checkbox"], e.disabled && z.disabled, n),
2635
+ onClick: () => {
2636
+ !e.isLoading && !e.disabled && (i.value = !i.value);
2637
+ }
2638
+ }, a), [r("div", { style: {
2639
+ display: "flex",
2640
+ alignItems: "center",
2641
+ gap: "0.5rem"
2642
+ } }, [r("svg", {
2643
+ width: "24",
2644
+ height: "24",
2645
+ class: z.checkbox
2646
+ }, [
2647
+ r("circle", {
2648
+ cx: "0",
2649
+ cy: "0",
2650
+ r: "2",
2651
+ class: z["loading-dot"],
2652
+ style: { opacity: +!!e.isLoading }
2653
+ }, [r("animate", {
2654
+ attributeName: "cx",
2655
+ values: "4; 20; 20; 4; 4",
2656
+ dur: "1.2s",
2657
+ repeatCount: "indefinite",
2658
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
2659
+ calcMode: "spline"
2660
+ }, null), r("animate", {
2661
+ attributeName: "cy",
2662
+ values: "4; 4; 20; 20; 4",
2663
+ dur: "1.2s",
2664
+ repeatCount: "indefinite",
2665
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
2666
+ calcMode: "spline"
2667
+ }, null)]),
2668
+ r("circle", {
2669
+ cx: "20",
2670
+ cy: "20",
2671
+ r: "2",
2672
+ class: z["loading-dot"],
2673
+ style: { opacity: +!!e.isLoading }
2674
+ }, [r("animate", {
2675
+ attributeName: "cx",
2676
+ values: "20; 4; 4; 20; 20",
2677
+ dur: "1.2s",
2678
+ repeatCount: "indefinite",
2679
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
2680
+ calcMode: "spline"
2681
+ }, null), r("animate", {
2682
+ attributeName: "cy",
2683
+ values: "20; 20; 4; 4; 20",
2684
+ dur: "1.2s",
2685
+ repeatCount: "indefinite",
2686
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
2687
+ calcMode: "spline"
2688
+ }, null)]),
2689
+ r("rect", {
2690
+ x: "4",
2691
+ y: "4",
2692
+ width: "16",
2693
+ height: "16",
2694
+ class: _(z.rect, i.value && z.checked, e.isLoading && z.loading),
2695
+ "stroke-width": "0.8"
2696
+ }, null),
2697
+ i.value && r("polyline", {
2698
+ class: z["check-line"],
2699
+ points: "5,12 10,17 19,8",
2700
+ "stroke-width": "1.5",
2701
+ fill: "transparent"
2702
+ }, null),
2703
+ r("line", {
2704
+ x1: "0",
2705
+ y1: "1",
2706
+ x2: "4",
2707
+ y2: "1",
2708
+ "stroke-width": "2",
2709
+ fill: "transparent"
2710
+ }, null),
2711
+ r("line", {
2712
+ x1: "4",
2713
+ y1: "0",
2714
+ x2: "24",
2715
+ y2: "0",
2716
+ "stroke-width": "1",
2717
+ fill: "transparent"
2718
+ }, null),
2719
+ r("line", {
2720
+ x1: "0",
2721
+ y1: "4",
2722
+ x2: "0",
2723
+ y2: "16",
2724
+ "stroke-width": "1",
2725
+ fill: "transparent"
2726
+ }, null),
2727
+ r("line", {
2728
+ x1: "0",
2729
+ y1: "18",
2730
+ x2: "0",
2731
+ y2: "20",
2732
+ "stroke-width": "1",
2733
+ fill: "transparent"
2734
+ }, null),
2735
+ r("line", {
2736
+ x1: "0",
2737
+ y1: "24",
2738
+ x2: "20",
2739
+ y2: "24",
2740
+ "stroke-width": "1",
2741
+ fill: "transparent"
2742
+ }, null),
2743
+ r("line", {
2744
+ x1: "20",
2745
+ y1: "23",
2746
+ x2: "24",
2747
+ y2: "23",
2748
+ "stroke-width": "1.5",
2749
+ fill: "transparent"
2750
+ }, null),
2751
+ r("line", {
2752
+ x1: "24",
2753
+ y1: "4",
2754
+ x2: "24",
2755
+ y2: "20",
2756
+ style: { strokeWidth: "1px" },
2757
+ fill: "transparent"
2758
+ }, null)
2759
+ ]), r(w, null, { default: () => [e.label] })])]);
2760
+ };
2761
+ }
2762
+ }), B = {
2763
+ "elm-select": "_elm-select_1u7w1_1",
2764
+ disabled: "_disabled_1u7w1_23",
2765
+ active: "_active_1u7w1_27",
2766
+ label: "_label_1u7w1_31",
2767
+ "label-active": "_label-active_1u7w1_44",
2768
+ body: "_body_1u7w1_49",
2769
+ "selected-option": "_selected-option_1u7w1_56",
2770
+ "option-content": "_option-content_1u7w1_59",
2771
+ fallback: "_fallback_1u7w1_66",
2772
+ pulldown: "_pulldown_1u7w1_74",
2773
+ option: "_option_1u7w1_59"
2774
+ };
2775
+ //#endregion
2776
+ //#region src/components/form/elm-select.tsx
2777
+ function Fr(e) {
2778
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
2779
+ }
2780
+ var Ir = /* @__PURE__ */ i({
2781
+ name: "ElmSelect",
2782
+ props: {
2783
+ label: {
2784
+ type: String,
2785
+ required: !0
2786
+ },
2787
+ placeholder: {
2788
+ type: String,
2789
+ default: void 0
2790
+ },
2791
+ disabled: {
2792
+ type: Boolean,
2793
+ default: void 0
2794
+ },
2795
+ isLoading: {
2796
+ type: Boolean,
2797
+ default: !1
2798
+ },
2799
+ options: {
2800
+ type: Array,
2801
+ required: !0
2802
+ },
2803
+ selectedOptionId: {
2804
+ type: String,
2805
+ default: void 0
2806
+ },
2807
+ defaultSelectedOptionId: {
2808
+ type: String,
2809
+ default: null
2810
+ }
2811
+ },
2812
+ emits: ["update:selectedOptionId"],
2813
+ setup(e, { emit: t, slots: n }) {
2814
+ let i = we(e, "selectedOptionId", t, {
2815
+ passive: !0,
2816
+ defaultValue: e.defaultSelectedOptionId ?? null
2817
+ }), a = p(!1), o = p(null), s = (e) => {
2818
+ !a.value || !o.value || o.value.contains(e.target) || (a.value = !1);
2819
+ };
2820
+ u(() => document.addEventListener("click", s)), l(() => document.removeEventListener("click", s));
2821
+ let c = () => {
2822
+ !e.disabled && !e.isLoading && (a.value = !a.value);
2823
+ };
2824
+ return () => {
2825
+ let t, s = e.options.find((e) => e.id === i.value) ?? null;
2826
+ return r("div", {
2827
+ ref: o,
2828
+ class: _(B["elm-select"], a.value && B.active, (e.disabled || e.isLoading) && B.disabled),
2829
+ onClick: c
2830
+ }, [r("span", { class: _(B.label, a.value && B["label-active"]) }, [n.icon?.() ?? r(A, {
2831
+ d: ke,
2832
+ size: "0.75rem"
2833
+ }, null), e.label]), r("div", { class: B.body }, [
2834
+ r("div", { class: _(B["selected-option"], b.text) }, [s ? r("div", { class: B["option-content"] }, [s.icon && r(C, { src: s.icon }, null), r(w, null, { default: () => [s.label] })]) : r("div", { class: B.fallback }, [r("span", null, [e.placeholder ?? "Select an option"])])]),
2835
+ r(A, {
2836
+ d: Ye,
2837
+ size: "1.5rem"
2838
+ }, null),
2839
+ r(jt, {
2840
+ isOpen: a.value,
2841
+ class: B.pulldown
2842
+ }, Fr(t = e.options.map((e) => r("div", {
2843
+ key: e.id,
2844
+ class: _(B.option, b.text),
2845
+ onClick: (t) => {
2846
+ t.stopPropagation(), i.value = e.id, a.value = !1;
2847
+ }
2848
+ }, [
2849
+ r(A, {
2850
+ d: Me,
2851
+ color: "var(--elmethis-color-primary-weak)",
2852
+ size: "0.75em"
2853
+ }, null),
2854
+ e.icon && r(C, { src: e.icon }, null),
2855
+ r(w, null, { default: () => [e.label] })
2856
+ ]))) ? t : { default: () => [t] })
2857
+ ])]);
2858
+ };
2859
+ }
2860
+ }), V = {
2861
+ switch: "_switch_9s4vz_1",
2862
+ bar: "_bar_9s4vz_5",
2863
+ checked: "_checked_9s4vz_21",
2864
+ disabled: "_disabled_9s4vz_26",
2865
+ circle: "_circle_9s4vz_31"
2866
+ }, Lr = /* @__PURE__ */ i({
2867
+ name: "ElmSwitch",
2868
+ props: {
2869
+ color: {
2870
+ type: String,
2871
+ default: void 0
2872
+ },
2873
+ size: {
2874
+ type: String,
2875
+ default: void 0
2876
+ },
2877
+ disabled: {
2878
+ type: Boolean,
2879
+ default: !1
2880
+ },
2881
+ checked: {
2882
+ type: Boolean,
2883
+ required: !0
2884
+ }
2885
+ },
2886
+ emits: ["update:checked"],
2887
+ setup(e, { emit: t }) {
2888
+ return () => r("div", {
2889
+ onClick: () => {
2890
+ e.disabled || t("update:checked", !e.checked);
2891
+ },
2892
+ style: {
2893
+ "--elmethis-scoped-color": e.color ?? "var(--elmethis-color-primary)",
2894
+ "--elmethis-scoped-padding": "2px",
2895
+ "--elmethis-scoped-size": e.size ?? "18px",
2896
+ "--elmethis-scoped-width": "calc(var(--elmethis-scoped-size) * 2 + var(--elmethis-scoped-padding) * 2)"
2897
+ }
2898
+ }, [r("input", {
2899
+ class: V.switch,
2900
+ type: "checkbox",
2901
+ checked: e.checked,
2902
+ disabled: e.disabled
2903
+ }, null), r("div", { class: _(V.bar, e.checked && V.checked, e.disabled && V.disabled) }, [r("div", { class: _(V.circle, e.checked && V.checked, e.disabled && V.disabled) }, null)])]);
2904
+ }
2905
+ }), H = {
2906
+ loading: "_loading_lgmx3_23",
2907
+ "elm-text-area": "_elm-text-area_lgmx3_37",
2908
+ disabled: "_disabled_lgmx3_63",
2909
+ active: "_active_lgmx3_67",
2910
+ header: "_header_lgmx3_72",
2911
+ "label-active": "_label-active_lgmx3_85",
2912
+ requierd: "_requierd_lgmx3_90",
2913
+ body: "_body_lgmx3_96",
2914
+ textarea: "_textarea_lgmx3_101"
2915
+ }, Rr = /* @__PURE__ */ i({
2916
+ name: "ElmTextArea",
2917
+ inheritAttrs: !1,
2918
+ props: {
2919
+ label: {
2920
+ type: String,
2921
+ required: !0
2922
+ },
2923
+ isLoading: {
2924
+ type: Boolean,
2925
+ default: !1
2926
+ },
2927
+ rows: {
2928
+ type: Number,
2929
+ default: 3
2930
+ },
2931
+ maxLength: {
2932
+ type: Number,
2933
+ default: void 0
2934
+ },
2935
+ placeholder: {
2936
+ type: String,
2937
+ default: void 0
2938
+ },
2939
+ disabled: {
2940
+ type: Boolean,
2941
+ default: void 0
2942
+ },
2943
+ required: {
2944
+ type: Boolean,
2945
+ default: void 0
2946
+ },
2947
+ value: {
2948
+ type: String,
2949
+ default: void 0
2950
+ },
2951
+ defaultValue: {
2952
+ type: String,
2953
+ default: void 0
2954
+ }
2955
+ },
2956
+ emits: ["update:value"],
2957
+ setup(e, { attrs: i, emit: a, slots: o }) {
2958
+ let s = p(!1), l = p(String(e.defaultValue ?? "")), u = t(() => e.value == null ? l.value : String(e.value)), d = t(() => e.value != null || e.defaultValue != null), f = t(() => u.value.length);
2959
+ return () => {
2960
+ let { class: t, style: p, onFocus: m, onBlur: h, ...g } = i;
2961
+ return r("label", {
2962
+ class: _(H["elm-text-area"], s.value && H.active, (e.disabled || e.isLoading) && H.disabled, t),
2963
+ style: p
2964
+ }, [
2965
+ r("span", { class: _(H.header, s.value && H["label-active"]) }, [
2966
+ o.icon?.() ?? r(A, {
2967
+ d: et,
2968
+ size: "0.75rem"
2969
+ }, null),
2970
+ r("span", null, [e.label, e.required && r("span", { class: H.requierd }, [n("*")])]),
2971
+ d.value && r(w, {
2972
+ color: e.maxLength != null && f.value > e.maxLength ? "var(--elmethis-color-accent-error)" : "gray",
2973
+ size: "0.75rem"
2974
+ }, { default: () => [e.maxLength == null ? `${f.value}` : `${f.value} / ${e.maxLength}`] })
2975
+ ]),
2976
+ r("div", { class: H.body }, [r("textarea", c({
2977
+ value: u.value,
2978
+ rows: e.rows,
2979
+ maxlength: e.maxLength,
2980
+ class: H.textarea,
2981
+ placeholder: e.placeholder,
2982
+ onFocus: (e) => {
2983
+ s.value = !0, m?.(e);
2984
+ },
2985
+ onBlur: (e) => {
2986
+ s.value = !1, h?.(e);
2987
+ },
2988
+ disabled: e.disabled || e.isLoading,
2989
+ style: { cursor: e.disabled ? "not-allowed" : e.isLoading ? "progress" : "auto" },
2990
+ "aria-required": e.required,
2991
+ onInput: (e) => {
2992
+ let t = e.target.value;
2993
+ l.value = t, a("update:value", t);
2994
+ }
2995
+ }, g), null)]),
2996
+ r("div", {
2997
+ class: H.loading,
2998
+ style: { opacity: +!!e.isLoading }
2999
+ }, null)
3000
+ ]);
3001
+ };
3002
+ }
3003
+ }), U = {
3004
+ loading: "_loading_11box_23",
3005
+ "elm-text-field": "_elm-text-field_11box_37",
3006
+ disabled: "_disabled_11box_59",
3007
+ active: "_active_11box_63",
3008
+ header: "_header_11box_68",
3009
+ "label-active": "_label-active_11box_81",
3010
+ requierd: "_requierd_11box_86",
3011
+ body: "_body_11box_92",
3012
+ input: "_input_11box_100",
3013
+ "right-icon-box": "_right-icon-box_11box_121",
3014
+ "clickable-icon": "_clickable-icon_11box_126",
3015
+ "prefix-suffix": "_prefix-suffix_11box_142"
3016
+ }, zr = /* @__PURE__ */ i({
3017
+ name: "ElmTextField",
3018
+ inheritAttrs: !1,
3019
+ props: {
3020
+ label: {
3021
+ type: String,
3022
+ required: !0
3023
+ },
3024
+ maxLength: {
3025
+ type: Number,
3026
+ default: void 0
3027
+ },
3028
+ prefix: {
3029
+ type: String,
3030
+ default: void 0
3031
+ },
3032
+ suffix: {
3033
+ type: String,
3034
+ default: void 0
3035
+ },
3036
+ placeholder: {
3037
+ type: String,
3038
+ default: void 0
3039
+ },
3040
+ disabled: {
3041
+ type: Boolean,
3042
+ default: void 0
3043
+ },
3044
+ isLoading: {
3045
+ type: Boolean,
3046
+ default: !1
3047
+ },
3048
+ isPassword: {
3049
+ type: Boolean,
3050
+ default: !1
3051
+ },
3052
+ required: {
3053
+ type: Boolean,
3054
+ default: void 0
3055
+ },
3056
+ value: {
3057
+ type: String,
3058
+ default: void 0
3059
+ }
3060
+ },
3061
+ emits: ["update:value"],
3062
+ setup(e, { attrs: t, emit: i, slots: a }) {
3063
+ let o = p(null), s = p(!1), l = p(e.isPassword ? "password" : "text"), u = (e) => {
3064
+ let t = o.value;
3065
+ t && ((Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value")?.set)?.call(t, e), t.dispatchEvent(new Event("input", { bubbles: !0 })));
3066
+ };
3067
+ return () => {
3068
+ let { class: d, style: f, onFocus: p, onBlur: m, ...h } = t, g = e.value == null ? 0 : String(e.value).length;
3069
+ return r("label", {
3070
+ class: _(U["elm-text-field"], s.value && U.active, (e.disabled || e.isLoading) && U.disabled, d),
3071
+ style: f
3072
+ }, [
3073
+ r("span", { class: _(U.header, s.value && U["label-active"]) }, [
3074
+ a.icon?.() ?? r(A, {
3075
+ d: $e,
3076
+ size: "0.75rem"
3077
+ }, null),
3078
+ r("span", null, [e.label, e.required && r("span", { class: U.requierd }, [n("*")])]),
3079
+ e.value != null && r(w, {
3080
+ color: e.maxLength != null && g > e.maxLength ? "var(--elmethis-color-accent-error)" : "gray",
3081
+ size: "0.75rem"
3082
+ }, { default: () => [e.maxLength == null ? `${g}` : `${g} / ${e.maxLength}`] })
3083
+ ]),
3084
+ r("div", { class: U.body }, [
3085
+ e.prefix && r("span", { class: U["prefix-suffix"] }, [e.prefix]),
3086
+ r("input", c({
3087
+ ref: o,
3088
+ value: e.value,
3089
+ type: l.value,
3090
+ class: U.input,
3091
+ placeholder: e.placeholder,
3092
+ onInput: (e) => {
3093
+ i("update:value", e.target.value);
3094
+ },
3095
+ onFocus: (e) => {
3096
+ s.value = !0, p?.(e);
3097
+ },
3098
+ onBlur: (e) => {
3099
+ s.value = !1, m?.(e);
3100
+ },
3101
+ disabled: e.disabled || e.isLoading,
3102
+ style: { cursor: e.disabled ? "not-allowed" : e.isLoading ? "progress" : "auto" },
3103
+ "aria-required": e.required
3104
+ }, h), null),
3105
+ r("div", { class: U["right-icon-box"] }, [
3106
+ r("span", { class: U["prefix-suffix"] }, [e.suffix != null && r(w, null, { default: () => [e.suffix] })]),
3107
+ r("div", {
3108
+ class: U["clickable-icon"],
3109
+ onClick: () => {
3110
+ !e.isLoading && !e.disabled && (l.value = l.value === "text" ? "password" : "text");
3111
+ }
3112
+ }, [r(A, {
3113
+ d: l.value === "text" ? Re : Le,
3114
+ size: "1.25rem",
3115
+ color: "gray"
3116
+ }, null)]),
3117
+ r("div", {
3118
+ class: U["clickable-icon"],
3119
+ onClick: () => {
3120
+ !e.isLoading && !e.disabled && u("");
3121
+ }
3122
+ }, [r(A, {
3123
+ d: tt,
3124
+ size: "1.25rem",
3125
+ color: "gray"
3126
+ }, null)])
3127
+ ])
3128
+ ]),
3129
+ r("div", {
3130
+ class: U.loading,
3131
+ style: { opacity: +!!e.isLoading }
3132
+ }, null)
3133
+ ]);
3134
+ };
3135
+ }
3136
+ }), Br = { "elm-validation": "_elm-validation_1cigg_1" }, Vr = /* @__PURE__ */ i({
3137
+ name: "ElmValidation",
3138
+ props: {
3139
+ text: {
3140
+ type: String,
3141
+ required: !0
3142
+ },
3143
+ validColor: {
3144
+ type: String,
3145
+ default: "var(--elmethis-color-accent-success)"
3146
+ },
3147
+ isValid: {
3148
+ type: Boolean,
3149
+ required: !0
3150
+ }
3151
+ },
3152
+ setup(e) {
3153
+ return () => r("div", {
3154
+ class: _(Br["elm-validation"]),
3155
+ style: { "--elmethis-scoped-opacity": e.isValid ? 1 : .5 }
3156
+ }, [r(A, {
3157
+ d: e.isValid ? Ae : je,
3158
+ color: e.isValid ? e.validColor : void 0
3159
+ }, null), r(w, { color: e.isValid ? e.validColor : void 0 }, { default: () => [e.text] })]);
3160
+ }
3161
+ }), Hr = /* @__PURE__ */ i({
3162
+ name: "ElmCopyIcon",
3163
+ inheritAttrs: !1,
3164
+ props: { content: {
3165
+ type: [String, Array],
3166
+ required: !0
3167
+ } },
3168
+ setup(e, { attrs: t }) {
3169
+ let { CopyButton: n } = Un({
3170
+ class: t.class,
3171
+ style: t.style,
3172
+ content: e.content
3173
+ });
3174
+ return () => a(n);
3175
+ }
3176
+ }), Ur = {
3177
+ "elm-square-loading-icon": "_elm-square-loading-icon_m72nq_19",
3178
+ square: "_square_m72nq_28",
3179
+ appear: "_appear_m72nq_1"
3180
+ }, Wr = /* @__PURE__ */ i({
3181
+ name: "ElmSquareLoadingIcon",
3182
+ inheritAttrs: !1,
3183
+ props: {
3184
+ size: {
3185
+ type: String,
3186
+ default: "3rem"
3187
+ },
3188
+ dimensions: {
3189
+ type: Number,
3190
+ default: 4
3191
+ }
3192
+ },
3193
+ setup(e, { attrs: t }) {
3194
+ return () => {
3195
+ let { class: n, style: i, ...a } = t, o = 1200, s = o / (e.dimensions * 3), l = [];
3196
+ for (let t = 0; t < e.dimensions; t++) for (let n = 0; n < e.dimensions; n++) l.push(r("span", {
3197
+ key: `${t}-${n}`,
3198
+ class: Ur.square,
3199
+ style: { "--elmethis-scoped-delay": `${s * (t + n)}ms` }
3200
+ }, null));
3201
+ return r("span", c({
3202
+ class: _(Ur["elm-square-loading-icon"], n),
3203
+ style: [{
3204
+ "--elmethis-scoped-size": e.size,
3205
+ "--elmethis-scoped-dimensions": e.dimensions,
3206
+ "--elmethis-scoped-duration": `${o}ms`
3207
+ }, i]
3208
+ }, a), [l]);
3209
+ };
3210
+ }
3211
+ }), W = "elmethis-theme", Gr = "elmethis-theme-change", Kr = (e) => e === "dark" ? "dark" : e === "light" ? "light" : null, qr = () => typeof matchMedia < "u" && matchMedia("(prefers-color-scheme: dark)").matches, Jr = (e, t) => {
3212
+ let n = document.documentElement;
3213
+ e == null ? (n.style.removeProperty("color-scheme"), n.removeAttribute("data-theme"), t && typeof localStorage < "u" && localStorage.removeItem(W)) : (n.style.colorScheme = e, n.setAttribute("data-theme", e), t && typeof localStorage < "u" && localStorage.setItem(W, e)), window.dispatchEvent(new CustomEvent(Gr, { detail: e }));
3214
+ }, Yr = () => {
3215
+ if (typeof window > "u") return !1;
3216
+ let e = Kr(localStorage.getItem(W));
3217
+ return e == null ? qr() : e === "dark";
3218
+ };
3219
+ function Xr() {
3220
+ let e = p(Yr()), t = () => {
3221
+ e.value = !e.value, Jr(e.value ? "dark" : "light", !0);
3222
+ }, n = (t) => {
3223
+ let n = t.detail;
3224
+ e.value = n == null ? qr() : n === "dark";
3225
+ }, r = (t) => {
3226
+ if (t.key !== W) return;
3227
+ let n = Kr(t.newValue);
3228
+ e.value = n == null ? qr() : n === "dark", Jr(n, !1);
3229
+ }, i, a = (t) => {
3230
+ Kr(localStorage.getItem(W)) ?? (e.value = t.matches);
3231
+ };
3232
+ return u(() => {
3233
+ window.addEventListener(Gr, n), window.addEventListener("storage", r);
3234
+ let e = Kr(localStorage.getItem(W));
3235
+ e != null && Jr(e, !1), typeof matchMedia < "u" && (i = matchMedia("(prefers-color-scheme: dark)"), i.addEventListener("change", a));
3236
+ }), l(() => {
3237
+ window.removeEventListener(Gr, n), window.removeEventListener("storage", r), i?.removeEventListener("change", a);
3238
+ }), {
3239
+ isDarkTheme: e,
3240
+ toggleTheme: t
3241
+ };
3242
+ }
3243
+ //#endregion
3244
+ //#region src/components/icon/elm-toggle-theme.module.css
3245
+ var Zr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Qr = /* @__PURE__ */ i({
3246
+ name: "ElmToggleTheme",
3247
+ props: { size: {
3248
+ type: [String, Number],
3249
+ default: "2rem"
3250
+ } },
3251
+ setup(e) {
3252
+ let { isDarkTheme: t, toggleTheme: n } = Xr();
3253
+ return () => t.value ? r("svg", {
3254
+ xmlns: "http://www.w3.org/2000/svg",
3255
+ width: e.size,
3256
+ height: e.size,
3257
+ viewBox: "0 0 24 24",
3258
+ class: _(Zr["elm-toggle-theme"]),
3259
+ onClick: n
3260
+ }, [
3261
+ r("path", {
3262
+ "fill-opacity": "0",
3263
+ d: "M15.22 6.03l2.53-1.94L14.56 4L13.5 1l-1.06 3l-3.19.09l2.53 1.94l-.91 3.06l2.63-1.81l2.63 1.81z",
3264
+ fill: "currentColor"
3265
+ }, [r("animate", {
3266
+ id: "lineMdSunnyOutlineToMoonLoopTransition0",
3267
+ fill: "freeze",
3268
+ attributeName: "fill-opacity",
3269
+ begin: "0.6s;lineMdSunnyOutlineToMoonLoopTransition0.begin+6s",
3270
+ dur: "0.4s",
3271
+ values: "0;1"
3272
+ }, null), r("animate", {
3273
+ fill: "freeze",
3274
+ attributeName: "fill-opacity",
3275
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+2.2s",
3276
+ dur: "0.4s",
3277
+ values: "1;0"
3278
+ }, null)]),
3279
+ r("path", {
3280
+ "fill-opacity": "0",
3281
+ d: "M13.61 5.25L15.25 4l-2.06-.05L12.5 2l-.69 1.95L9.75 4l1.64 1.25l-.59 1.98l1.7-1.17l1.7 1.17z",
3282
+ fill: "currentColor"
3283
+ }, [r("animate", {
3284
+ fill: "freeze",
3285
+ attributeName: "fill-opacity",
3286
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+3s",
3287
+ dur: "0.4s",
3288
+ values: "0;1"
3289
+ }, null), r("animate", {
3290
+ fill: "freeze",
3291
+ attributeName: "fill-opacity",
3292
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+5.2s",
3293
+ dur: "0.4s",
3294
+ values: "1;0"
3295
+ }, null)]),
3296
+ r("path", {
3297
+ "fill-opacity": "0",
3298
+ d: "M19.61 12.25L21.25 11l-2.06-.05L18.5 9l-.69 1.95l-2.06.05l1.64 1.25l-.59 1.98l1.7-1.17l1.7 1.17z",
3299
+ fill: "currentColor"
3300
+ }, [r("animate", {
3301
+ fill: "freeze",
3302
+ attributeName: "fill-opacity",
3303
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+0.4s",
3304
+ dur: "0.4s",
3305
+ values: "0;1"
3306
+ }, null), r("animate", {
3307
+ fill: "freeze",
3308
+ attributeName: "fill-opacity",
3309
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+2.8s",
3310
+ dur: "0.4s",
3311
+ values: "1;0"
3312
+ }, null)]),
3313
+ r("path", {
3314
+ "fill-opacity": "0",
3315
+ d: "M20.828 9.731l1.876-1.439l-2.366-.067L19.552 6l-.786 2.225l-2.366.067l1.876 1.439L17.601 12l1.951-1.342L21.503 12z",
3316
+ fill: "currentColor"
3317
+ }, [r("animate", {
3318
+ fill: "freeze",
3319
+ attributeName: "fill-opacity",
3320
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+3.4s",
3321
+ dur: "0.4s",
3322
+ values: "0;1"
3323
+ }, null), r("animate", {
3324
+ fill: "freeze",
3325
+ attributeName: "fill-opacity",
3326
+ begin: "lineMdSunnyOutlineToMoonLoopTransition0.begin+5.6s",
3327
+ dur: "0.4s",
3328
+ values: "1;0"
3329
+ }, null)]),
3330
+ r("g", {
3331
+ fill: "none",
3332
+ stroke: "currentColor",
3333
+ "stroke-linecap": "round",
3334
+ "stroke-linejoin": "round",
3335
+ "stroke-width": "2"
3336
+ }, [r("g", null, [
3337
+ r("path", {
3338
+ "stroke-dasharray": "2",
3339
+ "stroke-dashoffset": "4",
3340
+ d: "M12 21v1M21 12h1M12 3v-1M3 12h-1"
3341
+ }, [r("animate", {
3342
+ fill: "freeze",
3343
+ attributeName: "stroke-dashoffset",
3344
+ dur: "0.2s",
3345
+ values: "4;2"
3346
+ }, null)]),
3347
+ r("path", {
3348
+ "stroke-dasharray": "2",
3349
+ "stroke-dashoffset": "4",
3350
+ d: "M18.5 18.5l0.5 0.5M18.5 5.5l0.5 -0.5M5.5 5.5l-0.5 -0.5M5.5 18.5l-0.5 0.5"
3351
+ }, [r("animate", {
3352
+ fill: "freeze",
3353
+ attributeName: "stroke-dashoffset",
3354
+ begin: "0.2s",
3355
+ dur: "0.2s",
3356
+ values: "4;2"
3357
+ }, null)]),
3358
+ r("set", {
3359
+ fill: "freeze",
3360
+ attributeName: "opacity",
3361
+ begin: "0.5s",
3362
+ to: "0"
3363
+ }, null)
3364
+ ]), r("path", {
3365
+ d: "M7 6 C7 12.08 11.92 17 18 17 C18.53 17 19.05 16.96 19.56 16.89 C17.95 19.36 15.17 21 12 21 C7.03 21 3 16.97 3 12 C3 8.83 4.64 6.05 7.11 4.44 C7.04 4.95 7 5.47 7 6 Z",
3366
+ opacity: "0"
3367
+ }, [r("set", {
3368
+ fill: "freeze",
3369
+ attributeName: "opacity",
3370
+ begin: "0.5s",
3371
+ to: "1"
3372
+ }, null)])]),
3373
+ r("mask", { id: "lineMdSunnyOutlineToMoonLoopTransition1" }, [
3374
+ r("circle", {
3375
+ cx: "12",
3376
+ cy: "12",
3377
+ r: "12",
3378
+ fill: "#fff"
3379
+ }, null),
3380
+ r("circle", {
3381
+ cx: "12",
3382
+ cy: "12",
3383
+ r: "4"
3384
+ }, [r("animate", {
3385
+ fill: "freeze",
3386
+ attributeName: "r",
3387
+ begin: "0.1s",
3388
+ dur: "0.4s",
3389
+ values: "4;8"
3390
+ }, null)]),
3391
+ r("circle", {
3392
+ cx: "22",
3393
+ cy: "2",
3394
+ r: "3",
3395
+ fill: "#fff"
3396
+ }, [
3397
+ r("animate", {
3398
+ fill: "freeze",
3399
+ attributeName: "cx",
3400
+ begin: "0.1s",
3401
+ dur: "0.4s",
3402
+ values: "22;18"
3403
+ }, null),
3404
+ r("animate", {
3405
+ fill: "freeze",
3406
+ attributeName: "cy",
3407
+ begin: "0.1s",
3408
+ dur: "0.4s",
3409
+ values: "2;6"
3410
+ }, null),
3411
+ r("animate", {
3412
+ fill: "freeze",
3413
+ attributeName: "r",
3414
+ begin: "0.1s",
3415
+ dur: "0.4s",
3416
+ values: "3;12"
3417
+ }, null)
3418
+ ]),
3419
+ r("circle", {
3420
+ cx: "22",
3421
+ cy: "2",
3422
+ r: "1"
3423
+ }, [
3424
+ r("animate", {
3425
+ fill: "freeze",
3426
+ attributeName: "cx",
3427
+ begin: "0.1s",
3428
+ dur: "0.4s",
3429
+ values: "22;18"
3430
+ }, null),
3431
+ r("animate", {
3432
+ fill: "freeze",
3433
+ attributeName: "cy",
3434
+ begin: "0.1s",
3435
+ dur: "0.4s",
3436
+ values: "2;6"
3437
+ }, null),
3438
+ r("animate", {
3439
+ fill: "freeze",
3440
+ attributeName: "r",
3441
+ begin: "0.1s",
3442
+ dur: "0.4s",
3443
+ values: "1;10"
3444
+ }, null)
3445
+ ])
3446
+ ]),
3447
+ r("circle", {
3448
+ cx: "12",
3449
+ cy: "12",
3450
+ r: "6",
3451
+ mask: "url(#lineMdSunnyOutlineToMoonLoopTransition1)",
3452
+ fill: "currentColor"
3453
+ }, [r("animate", {
3454
+ fill: "freeze",
3455
+ attributeName: "r",
3456
+ begin: "0.1s",
3457
+ dur: "0.4s",
3458
+ values: "6;10"
3459
+ }, null), r("set", {
3460
+ fill: "freeze",
3461
+ attributeName: "opacity",
3462
+ begin: "0.5s",
3463
+ to: "0"
3464
+ }, null)])
3465
+ ]) : r("svg", {
3466
+ xmlns: "http://www.w3.org/2000/svg",
3467
+ width: e.size,
3468
+ height: e.size,
3469
+ viewBox: "0 0 24 24",
3470
+ class: _(Zr["elm-toggle-theme"]),
3471
+ onClick: n
3472
+ }, [
3473
+ r("g", {
3474
+ fill: "none",
3475
+ stroke: "currentColor",
3476
+ "stroke-linecap": "round",
3477
+ "stroke-linejoin": "round",
3478
+ "stroke-width": "2"
3479
+ }, [
3480
+ r("path", {
3481
+ "stroke-dasharray": "2",
3482
+ "stroke-dashoffset": "2",
3483
+ d: "M12 19v1M19 12h1M12 5v-1M5 12h-1"
3484
+ }, [r("animate", {
3485
+ fill: "freeze",
3486
+ attributeName: "d",
3487
+ begin: "1.2s",
3488
+ dur: "0.2s",
3489
+ values: "M12 19v1M19 12h1M12 5v-1M5 12h-1;M12 21v1M21 12h1M12 3v-1M3 12h-1"
3490
+ }, null), r("animate", {
3491
+ fill: "freeze",
3492
+ attributeName: "stroke-dashoffset",
3493
+ begin: "1.2s",
3494
+ dur: "0.2s",
3495
+ values: "2;0"
3496
+ }, null)]),
3497
+ r("path", {
3498
+ "stroke-dasharray": "2",
3499
+ "stroke-dashoffset": "2",
3500
+ d: "M17 17l0.5 0.5M17 7l0.5 -0.5M7 7l-0.5 -0.5M7 17l-0.5 0.5"
3501
+ }, [r("animate", {
3502
+ fill: "freeze",
3503
+ attributeName: "d",
3504
+ begin: "1.4s",
3505
+ dur: "0.2s",
3506
+ values: "M17 17l0.5 0.5M17 7l0.5 -0.5M7 7l-0.5 -0.5M7 17l-0.5 0.5;M18.5 18.5l0.5 0.5M18.5 5.5l0.5 -0.5M5.5 5.5l-0.5 -0.5M5.5 18.5l-0.5 0.5"
3507
+ }, null), r("animate", {
3508
+ fill: "freeze",
3509
+ attributeName: "stroke-dashoffset",
3510
+ begin: "1.4s",
3511
+ dur: "0.2s",
3512
+ values: "2;0"
3513
+ }, null)]),
3514
+ r("animateTransform", {
3515
+ attributeName: "transform",
3516
+ dur: "30s",
3517
+ repeatCount: "indefinite",
3518
+ type: "rotate",
3519
+ values: "0 12 12;360 12 12"
3520
+ }, null)
3521
+ ]),
3522
+ r("g", { fill: "currentColor" }, [r("path", { d: "M15.22 6.03L17.75 4.09L14.56 4L13.5 1L12.44 4L9.25 4.09L11.78 6.03L10.87 9.09L13.5 7.28L16.13 9.09L15.22 6.03Z" }, [r("animate", {
3523
+ fill: "freeze",
3524
+ attributeName: "fill-opacity",
3525
+ dur: "0.4s",
3526
+ values: "1;0"
3527
+ }, null)]), r("path", { d: "M19.61 12.25L21.25 11L19.19 10.95L18.5 9L17.81 10.95L15.75 11L17.39 12.25L16.8 14.23L18.5 13.06L20.2 14.23L19.61 12.25Z" }, [r("animate", {
3528
+ fill: "freeze",
3529
+ attributeName: "fill-opacity",
3530
+ begin: "0.2s",
3531
+ dur: "0.4s",
3532
+ values: "1;0"
3533
+ }, null)])]),
3534
+ r("path", {
3535
+ fill: "none",
3536
+ stroke: "currentColor",
3537
+ "stroke-linecap": "round",
3538
+ "stroke-linejoin": "round",
3539
+ "stroke-width": "2",
3540
+ d: "M7 6 C7 12.08 11.92 17 18 17 C18.53 17 19.05 16.96 19.56 16.89 C17.95 19.36 15.17 21 12 21 C7.03 21 3 16.97 3 12 C3 8.83 4.64 6.05 7.11 4.44 C7.04 4.95 7 5.47 7 6 Z"
3541
+ }, [r("set", {
3542
+ fill: "freeze",
3543
+ attributeName: "opacity",
3544
+ begin: "0.6s",
3545
+ to: "0"
3546
+ }, null)]),
3547
+ r("mask", { id: "lineMdMoonToSunnyOutlineLoopTransition0" }, [
3548
+ r("circle", {
3549
+ cx: "12",
3550
+ cy: "12",
3551
+ r: "12",
3552
+ fill: "#fff"
3553
+ }, null),
3554
+ r("circle", {
3555
+ cx: "12",
3556
+ cy: "12",
3557
+ r: "8"
3558
+ }, [r("animate", {
3559
+ fill: "freeze",
3560
+ attributeName: "r",
3561
+ begin: "0.6s",
3562
+ dur: "0.4s",
3563
+ values: "8;4"
3564
+ }, null)]),
3565
+ r("circle", {
3566
+ cx: "18",
3567
+ cy: "6",
3568
+ r: "12",
3569
+ fill: "#fff"
3570
+ }, [
3571
+ r("animate", {
3572
+ fill: "freeze",
3573
+ attributeName: "cx",
3574
+ begin: "0.6s",
3575
+ dur: "0.4s",
3576
+ values: "18;22"
3577
+ }, null),
3578
+ r("animate", {
3579
+ fill: "freeze",
3580
+ attributeName: "cy",
3581
+ begin: "0.6s",
3582
+ dur: "0.4s",
3583
+ values: "6;2"
3584
+ }, null),
3585
+ r("animate", {
3586
+ fill: "freeze",
3587
+ attributeName: "r",
3588
+ begin: "0.6s",
3589
+ dur: "0.4s",
3590
+ values: "12;3"
3591
+ }, null)
3592
+ ]),
3593
+ r("circle", {
3594
+ cx: "18",
3595
+ cy: "6",
3596
+ r: "10"
3597
+ }, [
3598
+ r("animate", {
3599
+ fill: "freeze",
3600
+ attributeName: "cx",
3601
+ begin: "0.6s",
3602
+ dur: "0.4s",
3603
+ values: "18;22"
3604
+ }, null),
3605
+ r("animate", {
3606
+ fill: "freeze",
3607
+ attributeName: "cy",
3608
+ begin: "0.6s",
3609
+ dur: "0.4s",
3610
+ values: "6;2"
3611
+ }, null),
3612
+ r("animate", {
3613
+ fill: "freeze",
3614
+ attributeName: "r",
3615
+ begin: "0.6s",
3616
+ dur: "0.4s",
3617
+ values: "10;1"
3618
+ }, null)
3619
+ ])
3620
+ ]),
3621
+ r("circle", {
3622
+ cx: "12",
3623
+ cy: "12",
3624
+ r: "10",
3625
+ mask: "url(#lineMdMoonToSunnyOutlineLoopTransition0)",
3626
+ opacity: "0",
3627
+ fill: "currentColor"
3628
+ }, [r("animate", {
3629
+ fill: "freeze",
3630
+ attributeName: "r",
3631
+ begin: "0.6s",
3632
+ dur: "0.4s",
3633
+ values: "10;6"
3634
+ }, null), r("set", {
3635
+ fill: "freeze",
3636
+ attributeName: "opacity",
3637
+ begin: "0.6s",
3638
+ to: "1"
3639
+ }, null)])
3640
+ ]);
3641
+ }
3642
+ }), G = {
3643
+ "elm-breadcrumb": "_elm-breadcrumb_13oke_1",
3644
+ "link-container": "_link-container_13oke_9",
3645
+ icon: "_icon_13oke_23",
3646
+ chunk: "_chunk_13oke_36",
3647
+ chevron: "_chevron_13oke_41"
3648
+ }, $r = /* @__PURE__ */ i({
3649
+ name: "ElmBreadcrumb",
3650
+ props: { links: {
3651
+ type: Array,
3652
+ required: !0
3653
+ } },
3654
+ setup(e) {
3655
+ return () => r("nav", { class: _(G["elm-breadcrumb"]) }, [e.links.map((t, n) => r("span", {
3656
+ key: n,
3657
+ style: { display: "contents" }
3658
+ }, [r("span", {
3659
+ class: G["link-container"],
3660
+ onClick: t.onClick
3661
+ }, [r(A, {
3662
+ class: G.icon,
3663
+ d: n === 0 ? Ge : n === e.links.length - 1 ? Oe : Be,
3664
+ size: "1rem"
3665
+ }, null), r("span", { class: G.chunk }, [t.text])]), e.links.length !== n + 1 && r(A, {
3666
+ class: G.chevron,
3667
+ d: Me,
3668
+ size: "1rem"
3669
+ }, null)]))]);
3670
+ }
3671
+ }), K = {
3672
+ "elm-page-top": "_elm-page-top_18d6m_1",
3673
+ move: "_move_18d6m_1",
3674
+ visible: "_visible_18d6m_30",
3675
+ partial: "_partial_18d6m_37",
3676
+ text: "_text_18d6m_74"
3677
+ }, ei = /* @__PURE__ */ i({
3678
+ name: "ElmPageTop",
3679
+ props: { position: {
3680
+ type: String,
3681
+ default: "right"
3682
+ } },
3683
+ setup(e) {
3684
+ let t = p(!1), i = () => {
3685
+ t.value = window.scrollY > 100;
3686
+ };
3687
+ u(() => {
3688
+ window.addEventListener("scroll", i, { passive: !0 }), i();
3689
+ }), l(() => window.removeEventListener("scroll", i));
3690
+ let a = () => {
3691
+ window.scrollTo({
3692
+ top: 0,
3693
+ behavior: "smooth"
3694
+ });
3695
+ };
3696
+ return () => r("nav", {
3697
+ class: _(K["elm-page-top"], t.value && K.visible),
3698
+ style: {
3699
+ "--elmethis-scoped-size": "64px",
3700
+ left: e.position === "left" ? "0" : "auto",
3701
+ right: e.position === "right" ? "0" : "auto"
3702
+ },
3703
+ onClick: a
3704
+ }, [
3705
+ r("div", {
3706
+ "aria-hidden": "true",
3707
+ class: K.partial
3708
+ }, null),
3709
+ r("div", {
3710
+ "aria-hidden": "true",
3711
+ class: K.partial
3712
+ }, null),
3713
+ r("div", {
3714
+ "aria-hidden": "true",
3715
+ class: K.partial
3716
+ }, null),
3717
+ r("span", { class: K.text }, [n("Back to Top")])
3718
+ ]);
3719
+ }
3720
+ }), q = {
3721
+ "elm-color-primitive-sample": "_elm-color-primitive-sample_vuro0_1",
3722
+ toolbar: "_toolbar_vuro0_6",
3723
+ "mode-toggle": "_mode-toggle_vuro0_11",
3724
+ "mode-toggle-icon": "_mode-toggle-icon_vuro0_24",
3725
+ "section-title": "_section-title_vuro0_33",
3726
+ group: "_group_vuro0_40",
3727
+ scale: "_scale_vuro0_46",
3728
+ swatch: "_swatch_vuro0_52",
3729
+ "swatch-name": "_swatch-name_vuro0_55",
3730
+ "swatch-bg": "_swatch-bg_vuro0_60"
3731
+ }, ti = (e) => {
3732
+ let t = e.match(/\d+(\.\d+)?/g);
3733
+ if (!t || t.length < 3) return null;
3734
+ let n = (e) => Math.round(Number(e)).toString(16).padStart(2, "0");
3735
+ return `#${n(t[0])}${n(t[1])}${n(t[2])}`;
3736
+ }, J = [
3737
+ 100,
3738
+ 500,
3739
+ 900
3740
+ ], ni = [
3741
+ 100,
3742
+ 200,
3743
+ 300,
3744
+ 400,
3745
+ 500,
3746
+ 600,
3747
+ 700,
3748
+ 800,
3749
+ 900
3750
+ ], ri = [
3751
+ {
3752
+ hue: "red",
3753
+ steps: J
3754
+ },
3755
+ {
3756
+ hue: "orange",
3757
+ steps: J
3758
+ },
3759
+ {
3760
+ hue: "yellow",
3761
+ steps: J
3762
+ },
3763
+ {
3764
+ hue: "green",
3765
+ steps: J
3766
+ },
3767
+ {
3768
+ hue: "cyan",
3769
+ steps: J
3770
+ },
3771
+ {
3772
+ hue: "blue",
3773
+ steps: J
3774
+ },
3775
+ {
3776
+ hue: "purple",
3777
+ steps: J
3778
+ },
3779
+ {
3780
+ hue: "magenta",
3781
+ steps: J
3782
+ },
3783
+ {
3784
+ hue: "slate",
3785
+ steps: ni
3786
+ },
3787
+ {
3788
+ hue: "gold",
3789
+ steps: ni
3790
+ }
3791
+ ], ii = /* @__PURE__ */ i({
3792
+ name: "ElmColorPrimitiveSample",
3793
+ setup() {
3794
+ let e = p(null), t = p("variable"), i;
3795
+ l(() => {
3796
+ i !== void 0 && clearTimeout(i);
3797
+ });
3798
+ let a = async (n) => {
3799
+ let r = n.target?.closest("[data-copy-token]"), a = r?.getAttribute("data-copy-token");
3800
+ if (!r || !a) return;
3801
+ let o = a;
3802
+ if (t.value === "hex") {
3803
+ let e = r.closest("[data-theme]") ?? document.documentElement, t = document.createElement("span");
3804
+ t.style.color = `var(${a})`, t.style.display = "none", e.appendChild(t);
3805
+ let n = ti(window.getComputedStyle(t).color);
3806
+ t.remove(), n && (o = n);
3807
+ }
3808
+ await window.navigator.clipboard.writeText(o), i !== void 0 && clearTimeout(i), e.value = a, i = setTimeout(() => {
3809
+ e.value = null, i = void 0;
3810
+ }, 1500);
3811
+ };
3812
+ return () => r("div", {
3813
+ class: _(q["elm-color-primitive-sample"]),
3814
+ onClick: (e) => {
3815
+ a(e);
3816
+ }
3817
+ }, [r("div", { class: q.toolbar }, [r("button", {
3818
+ type: "button",
3819
+ class: q["mode-toggle"],
3820
+ onClick: () => {
3821
+ t.value = t.value === "variable" ? "hex" : "variable";
3822
+ }
3823
+ }, [
3824
+ r(A, {
3825
+ class: q["mode-toggle-icon"],
3826
+ d: t.value === "hex" ? We : Ve,
3827
+ size: "1.25rem"
3828
+ }, null),
3829
+ n("Copy: "),
3830
+ t.value === "hex" ? "hex value" : "variable name"
3831
+ ])]), ri.map(({ hue: t, steps: n }) => r("div", {
3832
+ key: t,
3833
+ class: q.group
3834
+ }, [r("span", { class: q["section-title"] }, [t]), r("div", { class: q.scale }, [n.map((n) => {
3835
+ let i = `--elmethis-primitive-color-${t}-${n}`;
3836
+ return r("div", {
3837
+ key: i,
3838
+ class: q.swatch,
3839
+ style: { gridColumn: String(n / 100) },
3840
+ "data-copy-token": i,
3841
+ title: i
3842
+ }, [r("div", {
3843
+ class: q["swatch-bg"],
3844
+ style: { backgroundColor: `var(${i})` }
3845
+ }, null), r("code", { class: q["swatch-name"] }, [e.value === i ? "copied!" : n])]);
3846
+ })])]))]);
3847
+ }
3848
+ }), Y = {
3849
+ "elm-color-semantic-sample": "_elm-color-semantic-sample_6i1j1_1",
3850
+ toolbar: "_toolbar_6i1j1_6",
3851
+ "mode-toggle": "_mode-toggle_6i1j1_11",
3852
+ "mode-toggle-icon": "_mode-toggle-icon_6i1j1_24",
3853
+ panels: "_panels_6i1j1_33",
3854
+ header: "_header_6i1j1_38",
3855
+ body: "_body_6i1j1_49",
3856
+ "section-title": "_section-title_6i1j1_56",
3857
+ group: "_group_6i1j1_63",
3858
+ panel: "_panel_6i1j1_33",
3859
+ "panel-body": "_panel-body_6i1j1_72",
3860
+ surface: "_surface_6i1j1_86",
3861
+ foreground: "_foreground_6i1j1_97",
3862
+ "accent-pair": "_accent-pair_6i1j1_102",
3863
+ "color-sample-container": "_color-sample-container_6i1j1_112",
3864
+ "color-sample": "_color-sample_6i1j1_112",
3865
+ "color-sample-bg": "_color-sample-bg_6i1j1_121",
3866
+ "color-sample-name": "_color-sample-name_6i1j1_127"
3867
+ }, ai = (e) => {
3868
+ let t = e.match(/\d+(\.\d+)?/g);
3869
+ if (!t || t.length < 3) return null;
3870
+ let n = (e) => Math.round(Number(e)).toString(16).padStart(2, "0");
3871
+ return `#${n(t[0])}${n(t[1])}${n(t[2])}`;
3872
+ }, oi = [
3873
+ "--elmethis-color-surface-sunken",
3874
+ "--elmethis-color-surface-base",
3875
+ "--elmethis-color-surface-raised"
3876
+ ], si = [
3877
+ "--elmethis-color-neutral-weak",
3878
+ "--elmethis-color-neutral",
3879
+ "--elmethis-color-neutral-strong",
3880
+ "--elmethis-color-primary-weak",
3881
+ "--elmethis-color-primary",
3882
+ "--elmethis-color-primary-strong",
3883
+ "--elmethis-color-accent-link",
3884
+ "--elmethis-color-accent-link-visited"
3885
+ ], ci = [
3886
+ "--elmethis-color-neutral-weak",
3887
+ "--elmethis-color-neutral",
3888
+ "--elmethis-color-neutral-strong"
3889
+ ], li = [
3890
+ "--elmethis-color-primary-weak",
3891
+ "--elmethis-color-primary",
3892
+ "--elmethis-color-primary-strong"
3893
+ ], ui = [
3894
+ {
3895
+ fg: "--elmethis-color-accent-info",
3896
+ surface: "--elmethis-color-accent-info-surface"
3897
+ },
3898
+ {
3899
+ fg: "--elmethis-color-accent-success",
3900
+ surface: "--elmethis-color-accent-success-surface"
3901
+ },
3902
+ {
3903
+ fg: "--elmethis-color-accent-important",
3904
+ surface: "--elmethis-color-accent-important-surface"
3905
+ },
3906
+ {
3907
+ fg: "--elmethis-color-accent-warning",
3908
+ surface: "--elmethis-color-accent-warning-surface"
3909
+ },
3910
+ {
3911
+ fg: "--elmethis-color-accent-error",
3912
+ surface: "--elmethis-color-accent-error-surface"
3913
+ }
3914
+ ], di = [
3915
+ "red",
3916
+ "orange",
3917
+ "yellow",
3918
+ "green",
3919
+ "cyan",
3920
+ "blue",
3921
+ "magenta"
3922
+ ].map((e) => ({
3923
+ fg: `--elmethis-color-display-${e}`,
3924
+ surface: `--elmethis-color-display-${e}-surface`
3925
+ })), fi = /* @__PURE__ */ i({
3926
+ name: "ElmColorSemanticSample",
3927
+ setup() {
3928
+ let e = p(null), t = p("variable"), i;
3929
+ l(() => {
3930
+ i !== void 0 && clearTimeout(i);
3931
+ });
3932
+ let a = async (n) => {
3933
+ let r = n.target?.closest("[data-copy-token]"), a = r?.getAttribute("data-copy-token");
3934
+ if (!r || !a) return;
3935
+ let o = a;
3936
+ if (t.value === "hex") {
3937
+ let e = r.closest("[data-theme]") ?? document.documentElement, t = document.createElement("span");
3938
+ t.style.color = `var(${a})`, t.style.display = "none", e.appendChild(t);
3939
+ let n = ai(window.getComputedStyle(t).color);
3940
+ t.remove(), n && (o = n);
3941
+ }
3942
+ await window.navigator.clipboard.writeText(o), i !== void 0 && clearTimeout(i), e.value = a, i = setTimeout(() => {
3943
+ e.value = null, i = void 0;
3944
+ }, 1500);
3945
+ }, o = (t) => e.value === t ? "copied!" : t, s = (e) => r("div", { class: Y["color-sample-container"] }, [e.map((e) => r("div", {
3946
+ key: e,
3947
+ class: Y["color-sample"],
3948
+ "data-copy-token": e
3949
+ }, [r("div", {
3950
+ class: Y["color-sample-bg"],
3951
+ style: { backgroundColor: `var(${e})` }
3952
+ }, null), r("code", { class: Y["color-sample-name"] }, [o(e)])]))]), c = (e) => r("div", {
3953
+ class: Y.panel,
3954
+ "data-theme": e,
3955
+ style: { colorScheme: e }
3956
+ }, [r("div", {
3957
+ class: Y["panel-body"],
3958
+ style: { backgroundColor: "var(--elmethis-color-surface-base)" }
3959
+ }, [r("header", {
3960
+ class: Y.header,
3961
+ style: { backgroundColor: "var(--elmethis-color-surface-sunken)" }
3962
+ }, [r("span", { "data-copy-token": "--elmethis-color-surface-sunken" }, [o("--elmethis-color-surface-sunken")])]), r("div", { class: Y.body }, [
3963
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Surface")]), oi.map((e) => r("div", {
3964
+ key: e,
3965
+ class: Y.surface,
3966
+ style: { backgroundColor: `var(${e})` },
3967
+ "data-copy-token": e
3968
+ }, [o(e)]))]),
3969
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Foreground")]), si.map((e) => r("span", {
3970
+ key: e,
3971
+ class: Y.foreground,
3972
+ style: { color: `var(${e})` },
3973
+ "data-copy-token": e
3974
+ }, [o(e)]))]),
3975
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Accent")]), ui.map(({ fg: e, surface: t }) => r("div", {
3976
+ key: e,
3977
+ class: Y["accent-pair"],
3978
+ style: {
3979
+ color: `var(${e})`,
3980
+ backgroundColor: `var(${t})`
3981
+ }
3982
+ }, [r("span", { "data-copy-token": e }, [o(e)]), r("span", { "data-copy-token": t }, [o(t)])]))]),
3983
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Neutral")]), s(ci)]),
3984
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Primary")]), s(li)]),
3985
+ r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Display")]), di.map(({ fg: e, surface: t }) => r("div", {
3986
+ key: e,
3987
+ class: Y["accent-pair"],
3988
+ style: {
3989
+ color: `var(${e})`,
3990
+ backgroundColor: `var(${t})`
3991
+ }
3992
+ }, [r("span", { "data-copy-token": e }, [o(e)]), r("span", { "data-copy-token": t }, [o(t)])]))])
3993
+ ])])]);
3994
+ return () => r("div", { class: _(Y["elm-color-semantic-sample"]) }, [r("div", { class: Y.toolbar }, [r("button", {
3995
+ type: "button",
3996
+ class: Y["mode-toggle"],
3997
+ onClick: () => {
3998
+ t.value = t.value === "variable" ? "hex" : "variable";
3999
+ }
4000
+ }, [
4001
+ r(A, {
4002
+ class: Y["mode-toggle-icon"],
4003
+ d: t.value === "hex" ? We : Ve,
4004
+ size: "1.25rem"
4005
+ }, null),
4006
+ n("Copy: "),
4007
+ t.value === "hex" ? "hex value" : "variable name"
4008
+ ])]), r("div", {
4009
+ class: Y.panels,
4010
+ onClick: (e) => {
4011
+ a(e);
4012
+ }
4013
+ }, [c("light"), c("dark")])]);
4014
+ }
4015
+ }), pi = { "elm-markdown": "_elm-markdown_14gxe_1" };
4016
+ //#endregion
4017
+ //#region src/components/others/elm-markdown.tsx
4018
+ function X(e) {
4019
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
4020
+ }
4021
+ var Z = (e) => {
4022
+ let t, n, i, a, o = [];
4023
+ for (let s = 0; s < e.length; s++) {
4024
+ let c = e[s];
4025
+ switch (c.type) {
4026
+ case "blockquote":
4027
+ if (c.tokens && c.tokens.length !== 0) {
4028
+ let e;
4029
+ o.push(r(rr, { key: s }, X(e = Z(c.tokens)) ? e : { default: () => [e] }));
4030
+ }
4031
+ break;
4032
+ case "br":
4033
+ o.push(r("br", { key: s }, null));
4034
+ break;
4035
+ case "code":
4036
+ o.push(r(Wn, {
4037
+ key: s,
4038
+ code: c.text.trim(),
4039
+ language: c.lang
4040
+ }, null));
4041
+ break;
4042
+ case "codespan":
4043
+ o.push(r(w, {
4044
+ key: s,
4045
+ code: !0
4046
+ }, { default: () => [c.text] }));
4047
+ break;
4048
+ case "def": break;
4049
+ case "del":
4050
+ o.push(c.tokens && c.tokens.length !== 0 ? r(w, {
4051
+ key: s,
4052
+ strikethrough: !0
4053
+ }, X(t = Z(c.tokens)) ? t : { default: () => [t] }) : r(w, {
4054
+ key: s,
4055
+ strikethrough: !0
4056
+ }, { default: () => [c.text] }));
4057
+ break;
4058
+ case "em":
4059
+ o.push(c.tokens && c.tokens.length !== 0 ? r(w, {
4060
+ key: s,
4061
+ italic: !0
4062
+ }, X(n = Z(c.tokens)) ? n : { default: () => [n] }) : r(w, {
4063
+ key: s,
4064
+ italic: !0
4065
+ }, { default: () => [c.text] }));
4066
+ break;
4067
+ case "escape": break;
4068
+ case "heading": {
4069
+ let e = c.depth;
4070
+ if (c.tokens && c.tokens.length !== 0) {
4071
+ let t;
4072
+ o.push(r(x, {
4073
+ key: s,
4074
+ level: e
4075
+ }, X(t = Z(c.tokens)) ? t : { default: () => [t] }));
4076
+ } else o.push(r(x, {
4077
+ key: s,
4078
+ level: e,
4079
+ text: c.text
4080
+ }, null));
4081
+ break;
4082
+ }
4083
+ case "hr":
4084
+ o.push(r(sr, { key: s }, null));
4085
+ break;
4086
+ case "html": break;
4087
+ case "image":
4088
+ o.push(r(Xn, {
4089
+ key: s,
4090
+ enableModal: !0,
4091
+ src: c.href,
4092
+ alt: c.text
4093
+ }, null));
4094
+ break;
4095
+ case "link":
4096
+ o.push(c.tokens && c.tokens.length !== 0 ? r(w, {
4097
+ key: s,
4098
+ href: c.href
4099
+ }, X(i = Z(c.tokens)) ? i : { default: () => [i] }) : r(w, {
4100
+ key: s,
4101
+ href: c.href
4102
+ }, { default: () => [c.text] }));
4103
+ break;
4104
+ case "list": {
4105
+ let e = c.items.map((e, t) => r("li", { key: t }, [Z(e.tokens)]));
4106
+ o.push(r(lr, {
4107
+ key: s,
4108
+ listStyle: c.ordered ? "ordered" : "unordered"
4109
+ }, X(e) ? e : { default: () => [e] }));
4110
+ break;
4111
+ }
4112
+ case "list_item":
4113
+ o.push(r("li", { key: s }, [c.tokens && c.tokens.length !== 0 ? Z(c.tokens) : c.text]));
4114
+ break;
4115
+ case "paragraph":
4116
+ o.push(r(Gt, { key: s }, { default: () => [c.tokens && c.tokens.length !== 0 ? Z(c.tokens) : c.text] }));
4117
+ break;
4118
+ case "space": break;
4119
+ case "strong":
4120
+ o.push(c.tokens && c.tokens.length !== 0 ? r(w, {
4121
+ key: s,
4122
+ bold: !0
4123
+ }, X(a = Z(c.tokens)) ? a : { default: () => [a] }) : r(w, {
4124
+ key: s,
4125
+ bold: !0
4126
+ }, { default: () => [c.text] }));
4127
+ break;
4128
+ case "table": {
4129
+ let e, t = (e) => e.map((e, t) => {
4130
+ let n;
4131
+ return r(hr, { key: t }, X(n = Z(e.tokens)) ? n : { default: () => [n] });
4132
+ }), n = r(yr, null, X(e = t(c.header)) ? e : { default: () => [e] }), i = c.rows.map((e, n) => {
4133
+ let i;
4134
+ return r(yr, { key: n }, X(i = t(e)) ? i : { default: () => [i] });
4135
+ });
4136
+ o.push(r(fr, { key: s }, { default: () => [r(_r, null, X(n) ? n : { default: () => [n] }), r(pr, null, X(i) ? i : { default: () => [i] })] }));
4137
+ break;
4138
+ }
4139
+ case "text":
4140
+ c.tokens && c.tokens.length !== 0 ? o.push(...Z(c.tokens)) : o.push(c.text);
4141
+ break;
4142
+ default: break;
4143
+ }
4144
+ }
4145
+ return o;
4146
+ }, mi = /* @__PURE__ */ i({
4147
+ name: "ElmMarkdownStable",
4148
+ props: { tokens: {
4149
+ type: Array,
4150
+ required: !0
4151
+ } },
4152
+ setup(e) {
4153
+ return () => Z(e.tokens);
4154
+ }
4155
+ }), hi = /* @__PURE__ */ i({
4156
+ name: "ElmMarkdown",
4157
+ props: {
4158
+ markdown: {
4159
+ type: String,
4160
+ required: !0
4161
+ },
4162
+ isStreaming: {
4163
+ type: Boolean,
4164
+ default: !1
4165
+ }
4166
+ },
4167
+ setup(e) {
4168
+ let t = m([]), n = m([]);
4169
+ return h(() => e.markdown, (r) => {
4170
+ let i = At.setOptions({ gfm: !0 }).lexer(r);
4171
+ if (e.isStreaming && i.length > 0) {
4172
+ let e = i.slice(0, -1);
4173
+ e.length !== t.value.length && (t.value = e), n.value = i.slice(-1);
4174
+ } else t.value = i, n.value = [];
4175
+ }, { immediate: !0 }), () => r("div", { class: pi["elm-markdown"] }, [r(mi, { tokens: t.value }, null), Z(n.value)]);
4176
+ }
4177
+ }), Q = {
4178
+ "elm-wordle": "_elm-wordle_1llms_1",
4179
+ "message-area": "_message-area_1llms_11",
4180
+ "fade-in": "_fade-in_1llms_1",
4181
+ error: "_error_1llms_26",
4182
+ status: "_status_1llms_32",
4183
+ board: "_board_1llms_41",
4184
+ row: "_row_1llms_47",
4185
+ cell: "_cell_1llms_52",
4186
+ empty: "_empty_1llms_68",
4187
+ tbd: "_tbd_1llms_74",
4188
+ correct: "_correct_1llms_80",
4189
+ present: "_present_1llms_86",
4190
+ absent: "_absent_1llms_92",
4191
+ keyboard: "_keyboard_1llms_100",
4192
+ "keyboard-row": "_keyboard-row_1llms_108",
4193
+ key: "_key_1llms_100",
4194
+ wide: "_wide_1llms_137",
4195
+ "reset-container": "_reset-container_1llms_156",
4196
+ hidden: "_hidden_1llms_159",
4197
+ "reset-button": "_reset-button_1llms_164"
4198
+ }, gi = /* @__PURE__ */ "which.there.their.about.would.these.other.words.could.write.first.water.after.where.right.think.three.years.place.sound.great.again.still.every.small.found.those.never.under.might.while.house.world.below.asked.going.large.until.along.shall.being.often.earth.began.since.study.night.light.above.paper.parts.young.story.point.times.heard.whole.white.given.means.music.miles.thing.today.later.using.money.lines.order.group.among.learn.known.space.table.early.trees.short.hands.state.black.shown.stood.front.voice.kinds.makes.comes.close.power.lived.vowel.taken.built.heart.ready.quite.class.bring.round.horse.shows.piece.green.stand.birds.start.river.tried.least.field.whose.girls.leave.added.color.third.hours.moved.plant.doing.names.forms.heavy.ideas.cried.check.floor.begin.woman.alone.plane.spell.watch.carry.wrote.clear.named.books.child.glass.human.takes.party.build.seems.blood.sides.seven.mouth.solve.north.value.death.maybe.happy.tells.gives.looks.shape.lives.steps.areas.sense.speak.force.ocean.speed.women.metal.south.grass.scale.cells.lower.sleep.wrong.pages.ships.needs.rocks.eight.major.level.total.ahead.reach.stars.store.sight.terms.catch.works.board.cover.songs.equal.stone.waves.guess.dance.spoke.break.cause.radio.weeks.lands.basic.liked.trade.fresh.final.fight.meant.drive.spent.local.waxes.knows.train.bread.homes.teeth.coast.thick.brown.clean.quiet.sugar.facts.steel.forth.rules.notes.units.peace.month.verbs.seeds.helps.sharp.visit.woods.chief.walls.cross.wings.grown.cases.foods.crops.fruit.stick.wants.stage.sheep.nouns.plain.drink.bones.apart.turns.moves.touch.angle.based.range.marks.tired.older.farms.spend.shoes.goods.chair.twice.cents.empty.alike.style.broke.pairs.count.enjoy.score.shore.roots.paint.heads.shook.serve.angry.crowd.wheel.quick.dress.share.alive.noise.solid.cloth.signs.hills.types.drawn.worth.truck.piano.upper.loved.usual.faces.drove.cabin.boats.towns.proud.court.model.prime.fifty.plans.yards.prove.tools.price.sheet.smell.boxes.raise.match.truth.roads.threw.enemy.lunch.chart.scene.graph.doubt.guide.winds.block.grain.smoke.mixed.games.wagon.sweet.topic.extra.plate.title.knife.fence.falls.cloud.wheat.plays.enter.broad.steam.atoms.press.lying.basis.clock.taste.grows.thank.storm.agree.brain.track.smile.funny.beach.stock.hurry.saved.sorry.giant.trail.offer.ought.rough.daily.avoid.keeps.throw.allow.cream.laugh.edges.teach.frame.bells.dream.magic.occur.ended.chord.false.skill.holes.dozen.brave.apple.climb.outer.pitch.ruler.holds.fixed.costs.calls.blank.staff.labor.eaten.youth.tones.honor.globe.gases.doors.poles.loose.apply.tears.exact.brush.chest.layer.whale.minor.faith.tests.judge.items.worry.waste.hoped.strip.begun.aside.lakes.bound.depth.candy.event.worse.aware.shell.rooms.ranch.image.snake.aloud.dried.likes.motor.pound.knees.refer.fully.chain.shirt.flour.drops.spite.orbit.banks.shoot.curve.tribe.tight.blind.slept.shade.claim.flies.theme.queen.fifth.union.hence.straw.entry.issue.birth.feels.anger.brief.rhyme.glory.guard.flows.flesh.owned.trick.yours.sizes.noted.width.burst.route.lungs.uncle.bears.royal.kings.forty.trial.cards.brass.opera.chose.owner.vapor.beats.mouse.tough.wires.meter.tower.finds.inner.stuck.arrow.poems.label.swing.solar.truly.tense.beans.split.rises.weigh.hotel.stems.pride.swung.grade.digit.badly.boots.pilot.sales.swept.lucky.prize.stove.tubes.acres.wound.steep.slide.trunk.error.porch.slave.exist.faced.mines.marry.juice.raced.waved.goose.trust.fewer.favor.mills.views.joint.eager.spots.blend.rings.adult.index.nails.horns.balls.flame.rates.drill.trace.skins.waxed.seats.stuff.ratio.minds.dirty.silly.coins.hello.trips.leads.rifle.hopes.bases.shine.bench.moral.fires.meals.shake.shops.cycle.movie.slope.canoe.teams.folks.fired.bands.thumb.shout.canal.habit.reply.ruled.fever.crust.shelf.walks.midst.crack.print.tales.coach.stiff.flood.verse.awake.rocky.march.fault.swift.faint.civil.ghost.feast.blade.limit.germs.reads.ducks.dairy.worst.gifts.lists.stops.rapid.brick.claws.beads.beast.skirt.cakes.lions.frogs.tries.nerve.grand.armed.treat.honey.moist.legal.penny.crown.shock.taxes.sixty.altar.pulls.sport.drums.talks.dying.dates.drank.blows.lever.wages.proof.drugs.tanks.sings.tails.pause.herds.arose.hated.clues.novel.shame.burnt.races.flash.weary.heels.token.coats.spare.shiny.alarm.dimes.sixth.clerk.mercy.sunny.guest.float.shone.pipes.worms.bills.sweat.suits.smart.upset.rains.sandy.rainy.parks.sadly.fancy.rider.unity.bunch.rolls.crash.craft.newly.gates.hatch.paths.funds.wider.grace.grave.tides.admit.shift.sails.pupil.tiger.angel.cruel.agent.drama.urged.patch.nests.vital.sword.blame.weeds.screw.vocal.bacon.chalk.cargo.crazy.acted.goats.arise.witch.loves.queer.dwell.backs.ropes.shots.merry.phone.cheek.peaks.ideal.beard.eagle.creek.cries.ashes.stall.yield.mayor.opens.input.fleet.tooth.cubic.wives.burns.poets.apron.spear.organ.cliff.stamp.paste.rural.baked.chase.slice.slant.knock.noisy.sorts.stays.wiped.blown.piled.clubs.cheer.widow.twist.tenth.hides.comma.sweep.spoon.stern.crept.maple.deeds.rides.muddy.crime.jelly.ridge.drift.dusty.devil.tempo.humor.sends.steal.tents.waist.roses.reign.noble.cheap.dense.linen.geese.woven.posts.hired.wrath.salad.bowed.tires.shark.belts.grasp.blast.polar.fungi.tends.pearl.loads.jokes.veins.frost.hears.loses.hosts.diver.phase.toads.alert.tasks.seams.coral.focus.naked.puppy.jumps.spoil.quart.macro.fears.flung.spark.vivid.brook.steer.spray.decay.ports.socks.urban.goals.grant.minus.films.tunes.shaft.firms.skies.bride.wreck.flock.stare.hobby.bonds.dared.faded.thief.crude.pants.flute.votes.tonal.radar.wells.skull.hairs.argue.wears.dolls.voted.caves.cared.broom.scent.panel.fairy.olive.bends.prism.lamps.cable.peach.ruins.rally.schwa.lambs.sells.cools.draft.charm.limbs.brake.gazed.cubes.delay.beams.fetch.ranks.array.harsh.camel.vines.picks.naval.purse.rigid.crawl.toast.soils.sauce.basin.ponds.twins.wrist.fluid.pools.brand.stalk.robot.reeds.hoofs.buses.sheer.grief.bloom.dwelt.melts.risen.flags.knelt.fiber.roofs.freed.armor.piles.aimed.algae.twigs.lemon.ditch.drunk.rests.chill.slain.panic.cords.tuned.crisp.ledge.dived.swamp.clung.stole.molds.yarns.liver.gauge.breed.stool.gulls.awoke.gross.diary.rails.belly.trend.flask.stake.fried.draws.actor.handy.bowls.haste.scope.deals.knots.moons.essay.thump.hangs.bliss.dealt.gains.bombs.clown.palms.cones.roast.tidal.bored.chant.acids.dough.camps.swore.lover.hooks.males.cocoa.punch.award.reins.ninth.noses.links.drain.fills.nylon.lunar.pulse.flown.elbow.fatal.sites.moths.meats.foxes.mined.attic.fiery.mount.usage.swear.snowy.rusty.scare.traps.relax.react.valid.robin.cease.gills.prior.safer.polio.loyal.swell.salty.marsh.vague.weave.mound.seals.mules.virus.scout.acute.windy.stout.folds.seize.hilly.joins.pluck.stack.lords.dunes.burro.hawks.trout.feeds.scarf.halls.coals.towel.souls.elect.buggy.pumps.loans.spins.files.oxide.pains.photo.rival.flats.syrup.rodeo.sands.moose.pints.curly.comic.cloak.onion.clams.scrap.didst.couch.codes.fails.ounce.lodge.greet.gypsy.utter.paved.zones.fours.alley.tiles.bless.crest.elder.kills.yeast.erect.bugle.medal.roles.hound.snail.alter.ankle.relay.loops.zeros.bites.modes.debts.realm.glove.rayon.swims.poked.stray.lifts.maker.lumps.graze.dread.barns.docks.masts.pours.wharf.curse.plump.robes.seeks.cedar.curls.jolly.myths.cages.gloom.locks.pedal.beets.crows.anode.slash.creep.rowed.chips.fists.wines.cares.valve.newer.motel.ivory.necks.clamp.barge.blues.alien.frown.strap.crews.shack.gonna.saves.stump.ferry.idols.cooks.juicy.glare.carts.alloy.bulbs.lawns.lasts.fuels.oddly.crane.filed.weird.shawl.slips.troop.bolts.suite.sleek.quilt.tramp.blaze.atlas.odors.scrub.crabs.probe.logic.adobe.exile.rebel.grind.sting.spine.cling.desks.grove.leaps.prose.lofty.agony.snare.tusks.bulls.moods.humid.finer.dimly.plank.china.pines.guilt.sacks.brace.quote.lathe.gaily.fonts.scalp.adopt.foggy.ferns.grams.clump.perch.tumor.teens.crank.fable.hedge.genes.sober.boast.tract.cigar.unite.owing.thigh.haiku.swish.dikes.wedge.booth.eased.frail.cough.tombs.darts.forts.choir.pouch.pinch.hairy.buyer.torch.vigor.waltz.heats.herbs.users.flint.click.madam.bleak.blunt.aided.lacks.masks.waded.risks.nurse.chaos.sewed.cured.ample.lease.steak.sinks.merit.bluff.bathe.gleam.bonus.colts.shear.gland.silky.skate.birch.anvil.sleds.groan.maids.meets.speck.hymns.hints.drown.bosom.slick.quest.coils.spied.snows.stead.snack.plows.blond.tamed.thorn.waits.glued.banjo.tease.arena.bulky.carve.stunt.warms.shady.razor.folly.leafy.notch.fools.otter.pears.flush.genus.ached.fives.flaps.spout.smote.fumes.adapt.cuffs.tasty.stoop.clips.disks.sniff.lanes.brisk.imply.demon.super.furry.raged.growl.texts.hardy.stung.typed.hates.wiser.timid.serum.beaks.rotor.casts.baths.glide.plots.trait.resin.slums.lyric.puffs.decks.brood.mourn.aloft.abuse.whirl.edged.ovary.quack.heaps.slang.await.civic.saint.bevel.sonar.aunts.packs.froze.tonic.corps.swarm.frank.repay.gaunt.wired.niece.cello.needy.chuck.stony.media.surge.hurts.repel.husky.dated.hunts.mists.exert.dries.mates.sworn.baker.spice.oasis.boils.spurs.doves.sneak.paces.colon.siege.strum.drier.cacao.humus.bales.piped.nasty.rinse.boxer.shrub.amuse.tacks.cited.slung.delta.laden.larva.rents.yells.spool.spill.crush.jewel.snaps.stain.kicks.tying.slits.rated.eerie.smash.plums.zebra.earns.bushy.scary.squad.tutor.silks.slabs.bumps.evils.fangs.snout.peril.pivot.yacht.lobby.jeans.grins.viola.liner.comet.scars.chops.raids.eater.slate.skips.soles.misty.urine.knobs.sleet.holly.pests.forks.grill.trays.pails.borne.tenor.wares.carol.woody.canon.wakes.kitty.miner.polls.shaky.nasal.scorn.chess.taxis.crate.shyly.tulip.forge.nymph.budge.lowly.abide.depot.oases.asses.sheds.fudge.pills.rivet.thine.groom.lanky.boost.broth.heave.gravy.beech.timed.quail.inert.gears.chick.hinge.trash.clash.sighs.renew.bough.dwarf.slows.quill.shave.spore.sixes.chunk.madly.paced.braid.fuzzy.motto.spies.slack.mucus.magma.awful.discs.erase.posed.asset.cider.taper.theft.churn.satin.slots.taxed.bully.sloth.shale.tread.raked.curds.manor.aisle.bulge.loins.stair.tapes.leans.bunks.squat.towed.lance.panes.sakes.heirs.caste.dummy.pores.fauna.crook.poise.epoch.risky.warns.fling.berry.grape.flank.drags.squid.pelts.icing.irony.irons.barks.whoop.choke.diets.whips.tally.dozed.twine.kites.bikes.ticks.riots.roars.vault.looms.scold.blink.dandy.pupae.sieve.spike.ducts.lends.pizza.brink.widen.plumb.pagan.feats.bison.soggy.scoop.argon.nudge.skiff.amber.sexes.rouse.salts.hitch.exalt.leash.dined.chute.snort.gusts.melon.cheat.reefs.llama.lasso.debut.quota.oaths.prone.mixes.rafts.dives.stale.inlet.flick.pinto.brows.untie.batch.greed.chore.stirs.blush.onset.barbs.volts.beige.swoop.paddy.laced.shove.jerky.poppy.leaks.fares.dodge.godly.squaw.affix.brute.nicer.undue.snarl.merge.doses.showy.daddy.roost.vases.swirl.petty.colds.curry.cobra.genie.flare.messy.cores.soaks.ripen.whine.amino.plaid.spiny.mowed.baton.peers.vowed.pious.swans.exits.afoot.plugs.idiom.chili.rites.serfs.cleft.berth.grubs.annex.dizzy.hasty.latch.wasps.mirth.baron.plead.aloof.aging.pixel.bared.mummy.hotly.auger.buddy.chaps.badge.stark.fairs.gully.mumps.emery.filly.ovens.drone.gauze.idiot.fussy.annoy.shank.gouge.bleed.elves.roped.unfit.baggy.mower.scant.grabs.fleas.lousy.album.sawed.cooky.murky.infer.burly.waged.dingy.brine.kneel.creak.vanes.smoky.spurt.combs.easel.laces.humps.rumor.aroma.horde.swiss.leapt.opium.slime.afire.pansy.mares.soaps.husks.snips.hazel.lined.cafes.naive.wraps.sized.piers.beset.agile.tongs.steed.fraud.booty.valor.downy.witty.mossy.psalm.scuba.tours.polka.milky.gaudy.shrug.tufts.wilds.laser.truss.hares.creed.lilac.siren.tarry.bribe.swine.muted.flips.cures.sinew.boxed.hoops.gasps.hoods.niche.yucca.glows.sewer.whack.fuses.gowns.droop.bucks.pangs.mails.whisk.haven.clasp.sling.stint.urges.champ.piety.chirp.pleat.posse.sunup.menus.howls.quake.knack.plaza.fiend.caked.bangs.erupt.poker.olden.cramp.voter.poses.manly.slump.fined.grips.gaped.purge.hiked.maize.fluff.strut.sloop.prowl.roach.cocks.bland.dials.plume.slaps.soups.dully.wills.foams.solos.skier.eaves.totem.fused.latex.veils.mused.mains.myrrh.racks.galls.gnats.bouts.sisal.shuts.hoses.dryly.hover.gloss.seeps.denim.putty.guppy.leaky.dusky.filth.oboes.spans.fowls.adorn.glaze.haunt.dares.obeys.bakes.abyss.smelt.gangs.aches.trawl.claps.undid.spicy.hoist.fades.vicar.acorn.pussy.gruff.musty.tarts.snuff.hunch.truce.tweed.dryer.loser.sheaf.moles.lapse.tawny.vexed.autos.wager.domes.sheen.clang.spade.sowed.broil.slyly.studs.grunt.donor.slugs.aspen.homer.croak.tithe.halts.avert.havoc.hogan.glint.ruddy.jeeps.flaky.ladle.taunt.snore.fines.props.prune.pesos.radii.pokes.tiled.daisy.heron.villa.farce.binds.cites.fixes.jerks.livid.waked.inked.booms.chews.licks.hyena.scoff.lusty.sonic.smith.usher.tucks.vigil.molts.sects.spars.dumps.scaly.wisps.sores.mince.panda.flier.axles.plied.booby.patio.rabbi.petal.polyp.tints.grate.troll.tolls.relic.phony.bleat.flaws.flake.snags.aptly.drawl.ulcer.soapy.bossy.monks.crags.caged.twang.diner.taped.cadet.grids.spawn.guile.noose.mores.girth.slimy.aides.spasm.burrs.alibi.lymph.saucy.muggy.liter.joked.goofy.exams.enact.stork.lured.toxic.omens.nears.covet.wrung.forum.venom.moody.alder.sassy.flair.guild.prays.wrens.hauls.stave.tilts.pecks.stomp.gales.tempt.capes.mesas.omits.tepee.harry.wring.evoke.limes.cluck.lunge.highs.canes.giddy.lithe.verge.khaki.queue.loath.foyer.outdo.fared.deter.crumb.astir.spire.jumpy.extol.buoys.stubs.lucid.thong.afore.whiff.maxim.hulls.clogs.slats.jiffy.arbor.cinch.igloo.goody.gazes.dowel.calms.bitch.scowl.gulps.coded.waver.mason.lobes.ebony.flail.isles.clods.dazed.adept.oozed.sedan.clays.warts.ketch.skunk.manes.adore.sneer.mango.fiord.flora.roomy.minks.thaws.watts.freer.exult.plush.paled.twain.clink.scamp.pawed.grope.bravo.gable.stink.sever.waned.rarer.regal.wards.fawns.babes.unify.amend.oaken.glade.visor.hefty.nines.throb.pecan.butts.pence.sills.jails.flyer.saber.nomad.miter.beeps.domed.gulfs.curbs.heath.moors.aorta.larks.tangy.wryly.cheep.rages.evade.lures.freak.vogue.tunic.slams.knits.dumpy.mania.spits.firth.hikes.trots.nosed.clank.dogma.bloat.balsa.graft.middy.stile.keyed.finch.sperm.chaff.wiles.amigo.copra.amiss.eying.twirl.lurch.popes.chins.smock.tines.guise.grits.junks.shoal.cache.tapir.atoll.deity.toils.spree.mocks.scans.shorn.revel.raven.hoary.reels.scuff.mimic.weedy.corny.truer.rouge.ember.floes.torso.wipes.edict.sulky.recur.groin.baste.kinks.surer.piggy.moldy.franc.liars.inept.gusty.facet.jetty.equip.leper.slink.soars.cater.dowry.sided.yearn.decoy.taboo.ovals.heals.pleas.beret.spilt.gayly.rover.endow.pygmy.carat.abbey.vents.waken.chimp.fumed.sodas.vinyl.clout.wades.mites.smirk.bores.bunny.surly.frock.foray.purer.milks.query.mired.blare.froth.gruel.navel.paler.puffy.casks.grime.derby.mamma.gavel.teddy.vomit.moans.allot.defer.wield.viper.louse.erred.hewed.abhor.wrest.waxen.adage.ardor.stabs.pored.rondo.loped.fishy.bible.hires.foals.feuds.jambs.thuds.jeers.knead.quirk.rugby.expel.greys.rigor.ester.lyres.aback.glues.lotus.lurid.rungs.hutch.thyme.valet.tommy.yokes.epics.trill.pikes.ozone.caper.chime.frees.famed.leech.smite.neigh.erode.robed.hoard.salve.conic.gawky.craze.jacks.gloat.mushy.rumps.fetus.wince.pinks.shalt.toots.glens.cooed.rusts.stews.shred.parka.chugs.winks.clots.shrew.booed.filmy.juror.dents.gummy.grays.hooky.butte.dogie.poled.reams.fifes.spank.gayer.tepid.spook.taint.flirt.rogue.spiky.opals.miser.cocky.coyly.balmy.slosh.brawl.aphid.faked.hydra.brags.chide.yanks.allay.video.altos.eases.meted.chasm.longs.excel.taffy.impel.savor.koala.quays.dawns.proxy.clove.duets.dregs.tardy.briar.grimy.ultra.meaty.halve.wails.suede.mauve.envoy.arson.coves.gooey.brews.sofas.chums.amaze.zooms.abbot.halos.scour.suing.cribs.sagas.enema.wordy.harps.coupe.molar.flops.weeps.mints.ashen.felts.askew.munch.mewed.divan.vices.jumbo.blobs.blots.spunk.acrid.topaz.cubed.clans.flees.slurs.gnaws.welds.fords.emits.agate.pumas.mends.darks.dukes.plies.canny.hoots.oozes.lamed.fouls.clefs.nicks.mated.skims.brunt.tuber.tinge.fates.ditty.thins.frets.eider.bayou.mulch.fasts.amass.damps.morns.friar.palsy.vista.croon.conch.udder.tacos.skits.mikes.quits.preen.aster.adder.elegy.pulpy.scows.baled.hovel.lavas.crave.optic.welts.busts.knave.razed.shins.totes.scoot.dears.crock.mutes.trims.skein.doted.shuns.veers.fakes.yoked.wooed.hacks.sprig.wands.lulls.seers.snobs.nooks.pined.perky.mooed.frill.dines.booze.tripe.prong.drips.odder.levee.antic.sidle.pithy.corks.yelps.joker.fleck.buffs.scram.tiers.bogey.doled.irate.vales.coped.hails.elude.bulks.aired.vying.stags.strew.cocci.pacts.scabs.silos.dusts.yodel.terse.jaded.baser.jibes.foils.sways.forgo.slays.preys.treks.quell.peeks.assay.lurks.eject.boars.trite.belch.gnash.wanes.lutes.whims.dosed.chewy.snipe.umbra.teems.dozes.kelps.upped.brawn.doped.shush.rinds.slush.moron.voile.woken.fjord.sheik.jests.kayak.slews.toted.saner.drape.patty.raves.sulfa.grist.skied.vixen.civet.vouch.tiara.homey.moped.runts.serge.kinky.rills.corns.brats.pries.amble.fries.loons.tsars.datum.musky.pigmy.gnome.ravel.ovule.icily.liken.lemur.frays.silts.sifts.plods.ramps.tress.earls.dudes.waive.karat.jolts.peons.beers.horny.pales.wreak.lairs.lynch.stank.swoon.idler.abort.blitz.ensue.atone.bingo.roves.kilts.scald.adios.cynic.dulls.memos.elfin.dales.peels.peals.bares.sinus.crone.sable.hinds.shirk.enrol.wilts.roams.duped.cysts.mitts.safes.spats.coops.filet.knell.refit.covey.punks.kilns.fitly.abate.talcs.heeds.duels.wanly.ruffs.gauss.lapel.jaunt.whelp.cleat.gauzy.dirge.edits.wormy.moats.smear.prods.bowel.frisk.vests.bayed.rasps.tames.delve.embed.befit.wafer.ceded.novas.feign.spews.larch.huffs.doles.mamas.hulks.pried.brims.irked.aspic.swipe.mealy.skimp.bluer.slake.dowdy.penis.brays.pupas.egret.flunk.phlox.gripe.peony.douse.blurs.darns.slunk.lefts.chats.inane.vials.stilt.rinks.woofs.wowed.bongs.frond.ingot.evict.singe.shyer.flied.slops.dolts.drool.dells.whelk.hippy.feted.ether.cocos.hives.jibed.mazes.trios.sirup.squab.laths.leers.pasta.rifts.lopes.alias.whirs.diced.slags.lodes.foxed.idled.prows.plait.malts.chafe.cower.toyed.chefs.keels.sties.racer.etude.sucks.sulks.micas.czars.copse.ailed.abler.rabid.golds.croup.snaky.visas.palls.mopes.boned.wispy.raved.swaps.junky.doily.pawns.tamer.poach.baits.damns.gumbo.daunt.prank.hunks.buxom.heres.honks.stows.unbar.idles.routs.sages.goads.remit.copes.deign.culls.girds.haves.lucks.stunk.dodos.shams.snubs.icons.usurp.dooms.hells.soled.comas.paves.maths.perks.limps.wombs.blurb.daubs.cokes.sours.stuns.cased.musts.coeds.cowed.aping.zoned.rummy.fetes.skulk.quaff.rajah.deans.reaps.galas.tills.roved.kudos.toned.pared.scull.vexes.punts.snoop.bails.dames.hazes.lores.marts.voids.ameba.rakes.adzes.harms.rears.satyr.swill.hexes.colic.leeks.hurls.yowls.ivies.plops.musks.papaw.jells.bused.cruet.bided.filch.zests.rooks.laxly.rends.loams.basks.sires.carps.pokey.flits.muses.bawls.shuck.viler.lisps.peeps.sorer.lolls.prude.diked.floss.flogs.scums.dopes.bogie.pinky.leafs.tubas.scads.lowed.yeses.biked.qualm.evens.caned.gawks.whits.wooly.gluts.romps.bests.dunce.crony.joist.tunas.boner.malls.parch.avers.crams.pares.dally.bigot.kales.flays.leach.gushy.pooch.huger.slyer.golfs.mires.flues.loafs.arced.acnes.neons.fiefs.dints.dazes.pouts.cored.yules.lilts.beefs.mutts.fells.cowls.spuds.lames.jawed.dupes.deads.bylaw.noons.nifty.clued.vireo.gapes.metes.cuter.maims.droll.cupid.mauls.sedge.papas.wheys.eking.loots.hilts.meows.beaus.dices.peppy.riper.fogey.gists.yogas.gilts.skews.cedes.zeals.alums.okays.elope.grump.wafts.soots.blimp.hefts.mulls.hosed.cress.doffs.ruder.pixie.waifs.ousts.pucks.biers.gulch.suets.hobos.lints.brans.teals.garbs.pewee.helms.turfs.quips.wends.banes.napes.icier.swats.bagel.hexed.ogres.goner.gilds.pyres.lards.bides.paged.talon.flout.medic.veals.putts.dirks.dotes.tippy.blurt.piths.acing.barer.whets.gaits.wools.dunks.heros.swabs.dirts.jutes.hemps.surfs.okapi.chows.shoos.dusks.parry.decal.furls.cilia.sears.novae.murks.warps.slues.lamer.saris.weans.purrs.dills.togas.newts.meany.bunts.razes.goons.wicks.ruses.vends.geode.drake.judos.lofts.pulps.lauds.mucks.vises.mocha.oiled.roman.ethyl.gotta.fugue.smack.gourd.bumpy.radix.fatty.borax.cubit.cacti.gamma.focal.avail.papal.golly.elite.versa.billy.adieu.annum.howdy.rhino.norms.bobby.axiom.setup.yolks.terns.mixer.genre.knoll.abode.junta.gorge.combo.alpha.overt.kinda.spelt.prick.nobly.ephod.audio.modal.veldt.warty.fluke.bonny.bream.rosin.bolls.doers.downs.beady.motif.humph.fella.mould.crepe.kerns.aloha.glyph.azure.riser.blest.locus.lumpy.beryl.wanna.brier.tuner.rowdy.mural.timer.canst.krill.quoth.lemme.triad.tenon.amply.deeps.padre.leant.pacer.octal.dolly.trans.sumac.foamy.lolly.giver.quipu.codex.manna.unwed.vodka.ferny.salon.duple.boron.revue.crier.alack.inter.dilly.whist.cults.spake.reset.loess.decor.mover.verve.ethic.gamut.lingo.dunno.align.sissy.incur.reedy.avant.piper.waxer.calyx.basil.coons.seine.piney.lemma.trams.winch.whirr.saith.ionic.heady.harem.tummy.sally.shied.dross.farad.saver.tilde.jingo.bower.serif.facto.belle.inset.bogus.caved.forte.sooty.bongo.toves.credo.basal.yella.aglow.glean.gusto.hymen.ethos.terra.brash.scrip.swash.aleph.tinny.itchy.wanta.trice.jowls.gongs.garde.boric.twill.sower.henry.awash.libel.spurn.sabre.rebut.penal.obese.sonny.quirt.mebbe.tacit.greek.xenon.hullo.pique.roger.negro.hadst.gecko.beget.uncut.aloes.louis.quint.clunk.raped.salvo.diode.matey.hertz.xylem.kiosk.apace.cawed.peter.wench.cohos.sorta.gamba.bytes.tango.nutty.axial.aleck.natal.clomp.gored.siree.bandy.gunny.runic.whizz.rupee.fated.wiper.bards.briny.staid.hocks.ochre.yummy.gents.soupy.roper.swath.cameo.edger.spate.gimme.ebbed.breve.theta.deems.dykes.servo.telly.tabby.tares.blocs.welch.ghoul.vitae.cumin.dinky.bronc.tabor.teeny.comer.borer.sired.privy.mammy.deary.gyros.sprit.conga.quire.thugs.furor.bloke.runes.bawdy.cadre.toxin.annul.egged.anion.nodes.picky.stein.jello.audit.echos.fagot.letup.eyrie.fount.caped.axons.amuck.banal.riled.petit.umber.miler.fibre.agave.bated.bilge.vitro.feint.pudgy.mater.manic.umped.pesky.strep.slurp.pylon.puree.caret.temps.newel.yawns.seedy.treed.coups.rangy.brads.mangy.loner.circa.tibia.afoul.mommy.titer.carne.kooky.motes.amity.suave.hippo.curvy.samba.newsy.anise.imams.tulle.aways.liven.hallo.wales.opted.canto.idyll.bodes.curio.wrack.hiker.chive.yokel.dotty.demur.cusps.specs.quads.laity.toner.decry.writs.saute.clack.aught.logos.tipsy.natty.ducal.bidet.bulgy.metre.lusts.unary.goeth.baler.sited.shies.hasps.brung.holed.swank.looky.melee.huffy.loamy.pimps.titan.binge.shunt.femur.libra.seder.honed.annas.coypu.shims.zowie.jihad.savvy.nadir.basso.monic.maned.mousy.omega.laver.prima.picas.folio.mecca.reals.troth.testy.balky.crimp.chink.abets.splat.abaci.vaunt.cutie.pasty.moray.levis.ratty.islet.joust.motet.viral.nukes.grads.comfy.voila.woozy.blued.whomp.sward.metro.skeet.chine.aerie.bowie.tubby.emirs.coati.unzip.slobs.trike.funky.ducat.dewey.skoal.wadis.oomph.taker.minim.getup.stoic.synod.runty.flyby.braze.inlay.venue.louts.peaty.orlon.humpy.radon.beaut.raspy.unfed.crick.nappy.vizor.yipes.rebus.divot.kiwis.vetch.squib.sitar.kiddo.dyers.cotta.matzo.lager.zebus.crass.dacha.kneed.dicta.fakir.knurl.runny.unpin.julep.globs.nudes.sushi.tacky.stoke.kaput.butch.hulas.croft.achoo.genii.nodal.outgo.spiel.viols.fetid.cagey.fudgy.epoxy.leggy.hanky.lapis.felon.beefy.coots.melba.caddy.segue.betel.frizz.drear.kooks.turbo.hoagy.moult.helix.zonal.arias.nosey.paean.lacey.banns.swain.fryer.retch.tenet.gigas.whiny.ogled.rumen.begot.cruse.abuts.riven.balks.sines.sigma.abase.ennui.gores.unset.augur.sated.odium.latin.dings.moire.scion.henna.kraut.dicks.lifer.prigs.bebop.gages.gazer.fanny.gibes.aural.tempi.hooch.rapes.snuck.harts.techs.emend.ninny.guava.scarp.liege.tufty.sepia.tomes.carob.emcee.prams.poser.verso.hubba.joule.baize.blips.scrim.cubby.clave.winos.rearm.liens.lumen.chump.nanny.trump.fichu.chomp.homos.purty.maser.woosh.patsy.shill.rusks.avast.swami.boded.ahhhh.lobed.natch.shish.tansy.snoot.payer.altho.sappy.laxer.hubby.aegis.riles.ditto.jazzy.dingo.quasi.septa.peaky.lorry.heerd.bitty.payee.seamy.apses.imbue.belie.chary.spoof.phyla.clime.babel.wacky.sumps.skids.khans.crypt.inure.nonce.outen.faire.hooey.anole.kazoo.calve.limbo.argot.ducky.faker.vibes.gassy.unlit.nervy.femme.biter.fiche.boors.gaffe.saxes.recap.synch.facie.dicey.ouija.hewer.legit.gurus.edify.tweak.caron.typos.rerun.polly.surds.hamza.nulls.hater.lefty.mogul.mafia.debug.pates.blabs.splay.talus.porno.moola.nixed.kilos.snide.horsy.gesso.jaggy.trove.nixes.creel.pater.iotas.cadge.skyed.hokum.furze.ankhs.curie.nutsy.hilum.remix.angst.burls.jimmy.veiny.tryst.codon.befog.gamed.flume.axman.doozy.lubes.rheas.bozos.butyl.kelly.mynah.jocks.donut.avian.wurst.chock.quash.quals.hayed.bombe.cushy.spacy.puked.leery.thews.prink.amens.tesla.intro.fiver.frump.capos.opine.coder.namer.jowly.pukes.haled.chard.duffs.bruin.reuse.whang.toons.frats.silty.telex.cutup.nisei.neato.decaf.softy.bimbo.adlib.loony.shoed.agues.peeve.noway.gamey.sarge.reran.epact.potty.coned.upend.narco.ikats.whorl.jinks.tizzy.weepy.posit.marge.vegan.clops.numbs.reeks.rubes.rower.biped.tiffs.hocus.hammy.bunco.fixit.tykes.chaws.yucky.hokey.resew.maven.adman.scuzz.slogs.souse.nacho.mimed.melds.boffo.debit.pinup.vagus.gulag.randy.bosun.educe.faxes.auras.pesto.antsy.betas.fizzy.dorky.snits.moxie.thane.mylar.nobby.gamin.gouty.esses.goyim.paned.druid.jades.rehab.gofer.tzars.octet.homed.socko.dorks.eared.anted.elide.fazes.oxbow.dowse.situs.macaw.scone.drily.hyper.salsa.mooch.gated.unjam.lipid.mitre.venal.knish.ritzy.divas.torus.mange.dimer.recut.meson.wined.fends.phage.fiats.caulk.cavil.panty.roans.bilks.hones.botch.estop.sully.sooth.gelds.ahold.raper.pager.fixer.infix.hicks.tuxes.plebe.twits.abash.twixt.wacko.primp.nabla.girts.miffs.emote.xerox.rebid.shahs.rutty.grout.grift.deify.biddy.kopek.semis.bries.acmes.piton.hussy.torts.disco.whore.boozy.gibed.vamps.amour.soppy.gonzo.durst.wader.tutus.perms.catty.glitz.brigs.nerds.barmy.gizmo.owlet.sayer.molls.shard.whops.comps.corer.colas.matte.droid.ploys.vapid.cairn.deism.mixup.yikes.prosy.raker.flubs.whish.reify.craps.shags.clone.hazed.macho.recto.refix.drams.biker.aquas.porky.doyen.exude.goofs.divvy.noels.jived.hulky.cager.harpy.oldie.vivas.admix.codas.zilch.deist.orcas.retro.pilaf.parse.rants.zingy.toddy.chiff.micro.veeps.girly.nexus.demos.bibbs.antes.lulus.gnarl.zippy.ivied.epees.wimps.tromp.grail.yoyos.poufs.hales.roust.cabal.rawer.pampa.mosey.kefir.burgs.unmet.cuspy.boobs.boons.hypes.dynes.nards.lanai.yogis.sepal.quark.toked.prate.ayins.hawed.swigs.vitas.toker.doper.bossa.linty.foist.mondo.stash.kayos.twerp.zesty.capon.wimpy.rewed.fungo.tarot.frosh.kabob.pinko.redid.mimeo.heist.tarps.lamas.sutra.dinar.whams.busty.spays.mambo.nabob.preps.odour.cabby.conks.sluff.dados.houri.swart.balms.gutsy.faxed.egads.pushy.retry.agora.drubs.daffy.chits.mufti.karma.lotto.toffs.burps.deuce.zings.kappa.clads.doggy.duper.scams.ogler.mimes.throe.zetas.waled.promo.blats.muffs.oinks.viand.coset.finks.faddy.minis.snafu.sauna.usury.muxes.craws.stats.condo.coxes.loopy.dorms.ascot.dippy.execs.dopey.envoi.umpty.gismo.fazed.strop.jives.slims.batik.pings.sonly.leggo.pekoe.prawn.luaus.campy.oodle.prexy.proms.touts.ogles.tweet.toady.naiad.hider.nuked.fatso.sluts.obits.narcs.tyros.delis.wooer.hyped.poset.byway.texas.scrod.avows.futon.torte.tuple.carom.kebab.tamps.jilts.duals.artsy.repro.modem.toped.psych.sicko.klutz.tarns.coxed.drays.cloys.anded.piker.aimer.suras.limos.flack.hapax.dutch.mucky.shire.klieg.staph.layup.tokes.axing.toper.duvet.cowry.profs.blahs.addle.sudsy.batty.coifs.suety.gabby.hafta.pitas.gouda.deice.taupe.topes.duchy.nitro.carny.limey.orals.hirer.taxer.roils.ruble.elate.dolor.wryer.snots.quais.coked.gimel.gorse.minas.goest.agape.manta.jings.iliac.admen.offen.cills.offal.lotta.bolas.thwap.alway.boggy.donna.locos.belay.gluey.bitsy.mimsy.hilar.outta.vroom.fetal.raths.renal.dyads.crocs.vires.culpa.kivas.feist.teats.thats.yawls.whens.abaca.ohhhh.aphis.fusty.eclat.perdu.mayst.exeat.molly.supra.wetly.plasm.buffa.semen.pukka.tagua.paras.stoat.secco.carte.haute.molal.shads.forma.ovoid.pions.modus.bueno.rheum.scurf.parer.ephah.doest.sprue.flams.molto.dieth.choos.miked.bronx.goopy.bally.plumy.moony.morts.yourn.bipod.spume.algal.ambit.mucho.spued.dozer.harum.groat.skint.laude.thrum.pappy.oncet.rimed.gigue.limed.plein.redly.humpf.lites.seest.grebe.absit.thanx.pshaw.yawps.plats.payed.areal.tilth.youse.gwine.thees.watsa.lento.spitz.yawed.gipsy.sprat.cornu.amahs.blowy.wahoo.lubra.mecum.whooo.coqui.sabra.edema.mrads.dicot.astro.kited.ouzel.didos.grata.bonne.axmen.klunk.summa.laves.purls.yawny.teary.masse.largo.bazar.pssst.sylph.lulab.toque.fugit.plunk.ortho.lucre.cooch.whipt.folky.tyres.wheee.corky.injun.solon.didot.kerfs.rayed.wassa.chile.begat.nippy.litre.magna.rebox.hydro.milch.brent.gyves.lazed.feued.mavis.inapt.baulk.casus.scrum.wised.fossa.dower.kyrie.bhoys.scuse.feuar.ohmic.juste.ukase.beaux.tusky.orate.musta.lardy.intra.quiff.epsom.neath.ocher.tared.homme.mezzo.corms.psoas.beaky.terry.infra.spivs.tuans.belli.bergs.anima.weirs.mahua.scops.manse.titre.curia.kebob.cycad.talky.fucks.tapis.amide.dolce.sloes.jakes.russe.blash.tutti.pruta.panga.blebs.tench.swarf.herem.missy.merse.pawky.limen.vivre.chert.unsee.tiros.brack.foots.welsh.fosse.knops.ileum.noire.firma.podgy.laird.thunk.shute.rowan.shoji.poesy.uncap.fames.glees.costa.turps.fores.solum.imago.byres.fondu.coney.polis.dictu.kraal.sherd.mumbo.wroth.chars.unbox.vacuo.slued.weest.hades.wiled.syncs.muser.excon.hoars.sibyl.passe.joeys.lotsa.lepta.shays.bocks.endue.darer.nones.ileus.plash.busby.wheal.buffo.yobbo.biles.poxes.rooty.licit.terce.bromo.hayey.dweeb.imbed.saran.bruit.punky.softs.biffs.loppy.agars.aquae.livre.biome.bunds.shews.diems.ginny.degum.polos.desex.unman.dungy.vitam.wedgy.glebe.apers.ridgy.roids.wifey.vapes.whoas.bunko.yolky.ulnas.reeky.bodge.brant.davit.deque.liker.jenny.tacts.fulls.treap.ligne.acked.refry.vower.aargh.churl.momma.gaols.whump.arras.marls.tiler.grogs.memes.midis.tided.haler.duces.twiny.poste.unrig.prise.drabs.quids.facer.spier.baric.geoid.remap.trier.gunks.steno.stoma.airer.ovate.torah.apian.smuts.pocks.yurts.exurb.defog.nuder.bosky.nimbi.mothy.joyed.labia.pards.jammy.bigly.faxer.hoppy.nurbs.cotes.dishy.vised.celeb.pismo.casas.withs.dodgy.scudi.mungs.muons.ureas.ioctl.unhip.krone.sager.verst.expat.gronk.uvula.shawm.bilgy.braes.cento.webby.lippy.gamic.lordy.mazed.tings.shoat.faery.wirer.diazo.carer.rater.greps.rente.zloty.viers.unapt.poops.fecal.kepis.taxon.eyers.wonts.spina.stoae.yenta.pooey.buret.japan.bedew.hafts.selfs.oared.herby.pryer.oakum.dinks.titty.sepoy.penes.fusee.winey.gimps.nihil.rille.giber.ousel.umiak.cuppy.hames.shits.azine.glads.tacet.bumph.coyer.honky.gamer.gooky.waspy.sedgy.bents.varia.djinn.junco.pubic.wilco.lazes.idyls.lupus.rives.snood.schmo.spazz.finis.noter.pavan.orbed.bates.pipet.baddy.goers.shako.stets.sebum.seeth.lobar.raver.ajuga.riced.velds.dribs.ville.dhows.unsew.halma.krona.limby.jiffs.treys.bauds.pffft.mimer.plebs.caner.jiber.cuppa.washy.chuff.unarm.yukky.styes.waker.flaks.maces.rimes.gimpy.guano.liras.kapok.scuds.bwana.oring.aider.prier.klugy.monte.golem.velar.firer.pieta.umbel.campo.unpeg.fovea.abeam.boson.asker.goths.vocab.vined.trows.tikis.loper.indie.boffs.spang.grapy.tater.ichor.kilty.lochs.supes.degas.flics.torsi.beths.weber.resaw.lawny.coven.mujik.relet.therm.heigh.shnor.trued.zayin.liest.barfs.bassi.qophs.roily.flabs.punny.okras.hanks.dipso.nerfs.fauns.calla.pseud.lurer.magus.obeah.atria.twink.palmy.pocky.pends.recta.plonk.slaws.keens.nicad.pones.inker.whews.groks.mosts.trews.ulnar.gyppy.cocas.expos.eruct.oiler.vacua.dreck.dater.arums.tubal.voxel.dixit.beery.assai.lades.actin.ghoti.buzzy.meads.grody.ribby.clews.creme.email.pyxie.kulak.bocci.rived.duddy.hoper.lapin.wonks.petri.phial.fugal.holon.boomy.duomo.musos.shier.hayer.porgy.hived.litho.fisty.stagy.luvya.maria.smogs.asana.yogic.slomo.fawny.amine.wefts.gonad.twirp.brava.plyer.fermi.loges.niter.revet.unate.gyved.totty.zappy.honer.giros.dicer.calks.luxes.monad.cruft.quoin.fumer.amped.shlep.vinca.yahoo.vulva.zooey.dryad.nixie.moper.iambs.lunes.nudie.limns.weals.nohow.miaow.gouts.mynas.mazer.kikes.oxeye.stoup.jujus.debar.pubes.taels.defun.rands.blear.paver.goosy.sprog.oleos.toffy.pawer.maced.crits.kluge.tubed.sahib.ganef.scats.sputa.vaned.acned.taxol.plink.oweth.tribs.resay.boule.thous.haply.glans.maxis.bezel.antis.porks.quoit.alkyd.glary.beamy.hexad.bonks.tecum.kerbs.filar.frier.redux.abuzz.fader.shoer.couth.trues.guyed.goony.booky.fuzes.hurly.genet.hodad.calix.filer.pawls.iodic.utero.henge.unsay.liers.piing.weald.sexed.folic.poxed.cunts.anile.kiths.becks.tatty.plena.rebar.abled.toyer.attar.teaks.aioli.awing.anent.feces.redip.wists.prats.mesne.muter.smurf.owest.bahts.lossy.ftped.hunky.hoers.slier.sicks.fatly.delft.hiver.himbo.pengo.busks.loxes.zonks.ilium.aport.ikons.mulct.reeve.civvy.canna.barfy.kaiak.scudo.knout.gaper.bhang.pease.uteri.lases.paten.rasae.axels.stoas.ombre.styli.gunky.hazer.kenaf.ahoys.ammos.weeny.urger.kudzu.paren.bolos.fetor.nitty.techy.lieth.somas.darky.villi.gluon.janes.cants.farts.socle.jinns.ruing.slily.ricer.hadda.wowee.rices.nerts.cauls.swive.lilty.micks.arity.pasha.finif.oinky.gutty.tetra.wises.wolds.balds.picot.whats.shiki.bungs.snarf.legos.dungs.stogy.berms.tangs.vails.roods.morel.sware.elans.latus.gules.razer.doxie.buena.overs.gutta.zincs.nates.kirks.tikes.donee.jerry.mohel.ceder.doges.unmap.folia.rawly.snark.topoi.ceils.immix.yores.diest.bubba.pomps.forky.turdy.lawzy.poohs.worts.gloms.beano.muley.barky.tunny.auric.funks.gaffs.cordy.curdy.lisle.toric.soyas.reman.mungy.carpy.apish.oaten.gappy.aurae.bract.rooky.axled.burry.sizer.proem.turfy.impro.mashy.miens.nonny.olios.grook.sates.agley.corgi.dashy.doser.dildo.apsos.xored.laker.playa.selah.malty.dulse.frigs.demit.whoso.rials.sawer.spics.bedim.snugs.fanin.azoic.icers.suers.wizen.koine.topos.shirr.rifer.feral.laded.lased.turds.swede.easts.cozen.unhit.pally.aitch.sedum.coper.ruche.geeks.swags.etext.algin.offed.ninja.holer.doter.toter.besot.dicut.macer.peens.pewit.redox.poler.yecch.fluky.doeth.twats.cruds.bebug.bider.stele.hexer.wests.gluer.pilau.abaft.whelm.lacer.inode.tabus.gator.cuing.refly.luted.cukes.bairn.bight.arses.crump.loggy.blini.spoor.toyon.harks.wazoo.fenny.naves.keyer.tufas.morph.rajas.typal.spiff.oxlip.unban.mussy.finny.rimer.login.molas.cirri.huzza.agone.unsex.unwon.peats.toile.zombi.dewed.nooky.alkyl.ixnay.dovey.holey.cuber.amyls.podia.chino.apnea.prims.lycra.johns.primo.fatwa.egger.hempy.snook.hying.fuzed.barms.crink.moots.yerba.rhumb.unarc.direr.munge.eland.nares.wrier.noddy.atilt.jukes.ender.thens.unfix.doggo.zooks.diddy.shmoo.brusk.prest.curer.pasts.kelpy.bocce.kicky.taros.lings.dicky.nerdy.abend.stela.biggy.laved.baldy.pubis.gooks.wonky.stied.hypos.assed.spumy.osier.roble.rumba.biffy.pupal".split("."), _i = /* @__PURE__ */ "aahed.aalii.aargh.aarti.abaca.abaci.abacs.abaft.abaka.abamp.aband.abash.abask.abaya.abbas.abbed.abbes.abcee.abeam.abear.abele.abers.abets.abies.abler.ables.ablet.ablow.abmho.abohm.aboil.aboma.aboon.abord.abore.abram.abray.abrim.abrin.abris.absey.absit.abuna.abune.abuts.abuzz.abyes.abysm.acais.acari.accas.accoy.acerb.acers.aceta.achar.ached.aches.achoo.acids.acidy.acing.acini.ackee.acker.acmes.acmic.acned.acnes.acock.acold.acred.acres.acros.acted.actin.acton.acyls.adaws.adays.adbot.addax.added.adder.addio.addle.adeem.adhan.adieu.adios.adits.adman.admen.admix.adobo.adown.adoze.adrad.adred.adsum.aduki.adunc.adust.advew.adyta.adzed.adzes.aecia.aedes.aegis.aeons.aerie.aeros.aesir.afald.afara.afars.afear.aflaj.afore.afrit.afros.agama.agami.agars.agast.agave.agaze.agene.agers.agger.aggie.aggri.aggro.aggry.aghas.agila.agios.agism.agist.agita.aglee.aglet.agley.agloo.aglus.agmas.agoge.agone.agons.agood.agria.agrin.agros.agued.agues.aguna.aguti.aheap.ahent.ahigh.ahind.ahing.ahint.ahold.ahull.ahuru.aidas.aided.aides.aidoi.aidos.aiery.aigas.aight.ailed.aimed.aimer.ainee.ainga.aioli.aired.airer.airns.airth.airts.aitch.aitus.aiver.aiyee.aizle.ajies.ajiva.ajuga.ajwan.akees.akela.akene.aking.akita.akkas.alaap.alack.alamo.aland.alane.alang.alans.alant.alapa.alaps.alary.alate.alays.albas.albee.alcid.alcos.aldea.alder.aldol.aleck.alecs.alefs.aleft.aleph.alews.aleye.alfas.algal.algas.algid.algin.algor.algum.alias.alifs.aline.alist.aliya.alkie.alkos.alkyd.alkyl.allee.allel.allis.allod.allyl.almah.almas.almeh.almes.almud.almug.alods.aloed.aloes.aloha.aloin.aloos.alowe.altho.altos.alula.alums.alure.alvar.alway.amahs.amain.amate.amaut.amban.ambit.ambos.ambry.ameba.ameer.amene.amens.ament.amias.amice.amici.amide.amido.amids.amies.amiga.amigo.amine.amino.amins.amirs.amlas.amman.ammon.ammos.amnia.amnic.amnio.amoks.amole.amort.amour.amove.amowt.amped.ampul.amrit.amuck.amyls.anana.anata.ancho.ancle.ancon.andro.anear.anele.anent.angas.anglo.anigh.anile.anils.anima.animi.anion.anise.anker.ankhs.ankus.anlas.annal.annas.annat.anoas.anole.anomy.ansae.antae.antar.antas.anted.antes.antis.antra.antre.antsy.anura.anyon.apace.apage.apaid.apayd.apays.apeak.apeek.apers.apert.apery.apgar.aphis.apian.apiol.apish.apism.apode.apods.apoop.aport.appal.appay.appel.appro.appui.appuy.apres.apses.apsis.apsos.apted.apter.aquae.aquas.araba.araks.arame.arars.arbas.arced.archi.arcos.arcus.ardeb.ardri.aread.areae.areal.arear.areas.areca.aredd.arede.arefy.areic.arene.arepa.arere.arete.arets.arett.argal.argan.argil.argle.argol.argon.argot.argus.arhat.arias.ariel.ariki.arils.ariot.arish.arked.arled.arles.armed.armer.armet.armil.arnas.arnut.aroba.aroha.aroid.arpas.arpen.arrah.arras.arret.arris.arroz.arsed.arses.arsey.arsis.artal.artel.artic.artis.aruhe.arums.arval.arvee.arvos.aryls.asana.ascon.ascus.asdic.ashed.ashes.ashet.asked.asker.askoi.askos.aspen.asper.aspic.aspie.aspis.aspro.assai.assam.asses.assez.assot.aster.astir.astun.asura.asway.aswim.asyla.ataps.ataxy.atigi.atilt.atimy.atlas.atman.atmas.atmos.atocs.atoke.atoks.atoms.atomy.atony.atopy.atria.atrip.attap.attar.atuas.audad.auger.aught.aulas.aulic.auloi.aulos.aumil.aunes.aunts.aurae.aural.aurar.auras.aurei.aures.auric.auris.aurum.autos.auxin.avale.avant.avast.avels.avens.avers.avgas.avine.avion.avise.aviso.avize.avows.avyze.awarn.awato.awave.aways.awdls.aweel.aweto.awing.awmry.awned.awner.awols.awork.axels.axile.axils.axing.axite.axled.axles.axman.axmen.axoid.axone.axons.ayahs.ayaya.ayelp.aygre.ayins.ayont.ayres.ayrie.azans.azide.azido.azine.azlon.azoic.azole.azons.azote.azoth.azuki.azurn.azury.azygy.azyme.azyms.baaed.baals.babas.babel.babes.babka.baboo.babul.babus.bacca.bacco.baccy.bacha.bachs.backs.baddy.baels.baffs.baffy.bafts.baghs.bagie.bahts.bahus.bahut.bails.bairn.baisa.baith.baits.baiza.baize.bajan.bajra.bajri.bajus.baked.baken.bakes.bakra.balas.balds.baldy.baled.bales.balks.balky.balls.bally.balms.baloo.balsa.balti.balun.balus.bambi.banak.banco.bancs.banda.bandh.bands.bandy.baned.banes.bangs.bania.banks.banns.bants.bantu.banty.banya.bapus.barbe.barbs.barby.barca.barde.bardo.bards.bardy.bared.barer.bares.barfi.barfs.baric.barks.barky.barms.barmy.barns.barny.barps.barra.barre.barro.barry.barye.basan.based.basen.baser.bases.basho.basij.basks.bason.basse.bassi.basso.bassy.basta.basti.basto.basts.bated.bates.baths.batik.batta.batts.battu.bauds.bauks.baulk.baurs.bavin.bawds.bawks.bawls.bawns.bawrs.bawty.bayed.bayer.bayes.bayle.bayts.bazar.bazoo.beads.beaks.beaky.beals.beams.beamy.beano.beans.beany.beare.bears.beath.beats.beaty.beaus.beaut.beaux.bebop.becap.becke.becks.bedad.bedel.bedes.bedew.bedim.bedye.beedi.beefs.beeps.beers.beery.beets.befog.begad.begar.begem.begot.begum.beige.beigy.beins.bekah.belah.belar.belay.belee.belga.bells.belon.belts.bemad.bemas.bemix.bemud.bends.bendy.benes.benet.benga.benis.benne.benni.benny.bento.bents.benty.bepat.beray.beres.bergs.berko.berks.berme.berms.berob.beryl.besat.besaw.besee.beses.besit.besom.besot.besti.bests.betas.beted.betes.beths.betid.beton.betta.betty.bever.bevor.bevue.bevvy.bewet.bewig.bezes.bezil.bezzy.bhais.bhaji.bhang.bhats.bhels.bhoot.bhuna.bhuts.biach.biali.bialy.bibbs.bibes.biccy.bices.bided.bider.bides.bidet.bidis.bidon.bield.biers.biffo.biffs.biffy.bifid.bigae.biggs.biggy.bigha.bight.bigly.bigos.bijou.biked.biker.bikes.bikie.bilbo.bilby.biled.biles.bilgy.bilks.bills.bimah.bimas.bimbo.binal.bindi.binds.biner.bines.bings.bingy.binit.binks.bints.biogs.biont.biota.biped.bipod.birds.birks.birle.birls.biros.birrs.birse.birsy.bises.bisks.bisom.bitch.biter.bites.bitos.bitou.bitsy.bitte.bitts.bivia.bivvy.bizes.bizzo.bizzy.blabs.blads.blady.blaer.blaes.blaff.blags.blahs.blain.blams.blart.blase.blash.blate.blats.blatt.blaud.blawn.blaws.blays.blear.blebs.blech.blees.blent.blert.blest.blets.bleys.blimy.bling.blini.blins.bliny.blips.blist.blite.blits.blive.blobs.blocs.blogs.blook.bloop.blore.blots.blows.blowy.blubs.blude.bluds.bludy.blued.blues.bluet.bluey.bluid.blume.blunk.blurs.blype.boabs.boaks.boars.boart.boats.bobac.bobak.bobas.bobol.bobos.bocca.bocce.bocci.boche.bocks.boded.bodes.bodge.bodhi.bodle.boeps.boets.boeuf.boffo.boffs.bogan.bogey.boggy.bogie.bogle.bogue.bogus.bohea.bohos.boils.boing.boink.boite.boked.bokeh.bokes.bokos.bolar.bolas.bolds.boles.bolix.bolls.bolos.bolts.bolus.bomas.bombe.bombo.bombs.bonce.bonds.boned.boner.bones.bongs.bonie.bonks.bonne.bonny.bonza.bonze.booai.booay.boobs.boody.booed.boofy.boogy.boohs.books.booky.bools.booms.boomy.boong.boons.boord.boors.boose.boots.boppy.borak.boral.boras.borde.bords.bored.boree.borel.borer.bores.borgo.boric.borks.borms.borna.boron.borts.borty.bortz.bosie.bosks.bosky.boson.bosun.botas.botel.botes.bothy.botte.botts.botty.bouge.bouks.boult.bouns.bourd.bourg.bourn.bouse.bousy.bouts.bovid.bowat.bowed.bower.bowes.bowet.bowie.bowls.bowne.bowrs.bowse.boxed.boxen.boxes.boxla.boxty.boyar.boyau.boyed.boyfs.boygs.boyla.boyos.boysy.bozos.braai.brach.brack.bract.brads.braes.brags.brail.braks.braky.brame.brane.brank.brans.brant.brast.brats.brava.bravi.braws.braxy.brays.braza.braze.bream.brede.breds.breem.breer.brees.breid.breis.breme.brens.brent.brere.brers.breve.brews.breys.brier.bries.brigs.briki.briks.brill.brims.brins.brios.brise.briss.brith.brits.britt.brize.broch.brock.brods.brogh.brogs.brome.bromo.bronc.brond.brool.broos.brose.brosy.brows.brugh.bruin.bruit.brule.brume.brung.brusk.brust.bruts.buats.buaze.bubal.bubas.bubba.bubbe.bubby.bubus.buchu.bucko.bucks.bucku.budas.budis.budos.buffa.buffe.buffi.buffo.buffs.buffy.bufos.bufty.buhls.buhrs.buiks.buist.bukes.bulbs.bulgy.bulks.bulla.bulls.bulse.bumbo.bumfs.bumph.bumps.bumpy.bunas.bunce.bunco.bunde.bundh.bunds.bundt.bundu.bundy.bungs.bungy.bunia.bunje.bunjy.bunko.bunks.bunns.bunts.bunty.bunya.buoys.buppy.buran.buras.burbs.burds.buret.burfi.burgh.burgs.burin.burka.burke.burks.burls.burns.buroo.burps.burqa.burro.burrs.burry.bursa.burse.busby.buses.busks.busky.bussu.busti.busts.busty.buteo.butes.butle.butoh.butts.butty.butut.butyl.buzzy.bwana.bwazi.byded.bydes.byked.bykes.byres.byrls.byssi.bytes.byway.caaed.cabas.caber.cabob.caboc.cabre.cacas.cacks.cacky.cadee.cades.cadge.cadgy.cadie.cadis.cadre.caeca.caese.cafes.caffs.caged.cager.cages.cagot.cahow.caids.cains.caird.cajon.cajun.caked.cakes.cakey.calfs.calid.calif.calix.calks.calla.calls.calms.calmy.calos.calpa.calps.calve.calyx.caman.camas.cames.camis.camos.campi.campo.camps.campy.camus.caned.caneh.caner.canes.cangs.canid.canna.canns.canso.canst.canto.cants.canty.capas.caped.capes.capex.caphs.capiz.caple.capon.capos.capot.capri.capul.carap.carbo.carbs.carby.cardi.cards.cardy.cared.carer.cares.caret.carex.carks.carle.carls.carns.carny.carob.carom.caron.carpi.carps.carrs.carse.carta.carte.carts.carvy.casas.casco.cased.cases.casks.casky.casts.casus.cates.cauda.cauks.cauld.cauls.caums.caups.cauri.causa.cavas.caved.cavel.caver.caves.cavie.cawed.cawks.caxon.ceaze.cebid.cecal.cecum.ceded.ceder.cedes.cedis.ceiba.ceili.ceils.celeb.cella.celli.cells.celom.celts.cense.cento.cents.centu.ceorl.cepes.cerci.cered.ceres.cerge.ceria.ceric.cerne.ceroc.ceros.certs.certy.cesse.cesta.cesti.cetes.cetyl.cezve.chace.chack.chaco.chado.chads.chaft.chais.chals.chams.chana.chang.chank.chape.chaps.chapt.chara.chare.chark.charr.chars.chary.chats.chave.chavs.chawk.chaws.chaya.chays.cheep.chefs.cheka.chela.chelp.chemo.chems.chere.chert.cheth.chevy.chews.chewy.chiao.chias.chibs.chica.chich.chico.chics.chiel.chiks.chile.chimb.chimo.chimp.chine.ching.chink.chino.chins.chips.chirk.chirl.chirm.chiro.chirr.chirt.chiru.chits.chive.chivs.chivy.chizz.choco.chocs.chode.chogs.choil.choko.choky.chola.choli.cholo.chomp.chons.choof.chook.choom.choon.chops.chota.chott.chout.choux.chowk.chows.chubs.chufa.chuff.chugs.chums.churl.churr.chuse.chuts.chyle.chyme.chynd.cibol.cided.cides.ciels.ciggy.cilia.cills.cimar.cimex.cinct.cines.cinqs.cions.cippi.circs.cires.cirls.cirri.cisco.cissy.cists.cital.cited.citer.cites.cives.civet.civie.civvy.clach.clade.clads.claes.clags.clame.clams.clans.claps.clapt.claro.clart.clary.clast.clats.claut.clave.clavi.claws.clays.cleck.cleek.cleep.clefs.clegs.cleik.clems.clepe.clept.cleve.clews.clied.clies.clift.clime.cline.clint.clipe.clips.clipt.clits.cloam.clods.cloff.clogs.cloke.clomb.clomp.clonk.clons.cloop.cloot.clops.clote.clots.clour.clous.clows.cloye.cloys.cloze.clubs.clues.cluey.clunk.clype.cnida.coact.coady.coala.coals.coaly.coapt.coarb.coate.coati.coats.cobbs.cobby.cobia.coble.cobza.cocas.cocci.cocco.cocks.cocky.cocos.codas.codec.coded.coden.coder.codes.codex.codon.coeds.coffs.cogie.cogon.cogue.cohab.cohen.cohoe.cohog.cohos.coifs.coign.coils.coins.coirs.coits.coked.cokes.colas.colby.colds.coled.coles.coley.colic.colin.colls.colly.colog.colts.colza.comae.comal.comas.combe.combi.combo.combs.comby.comer.comes.comix.commo.comms.commy.compo.comps.compt.comte.comus.coned.cones.coney.confs.conga.conge.congo.conia.conin.conks.conky.conne.conns.conte.conto.conus.convo.cooch.cooed.cooee.cooer.cooey.coofs.cooks.cooky.cools.cooly.coomb.cooms.coomy.coons.coops.coopt.coost.coots.cooze.copal.copay.coped.copen.coper.copes.coppy.copra.copsy.coqui.coram.corbe.corby.cords.cored.cores.corey.corgi.coria.corks.corky.corms.corni.corno.corns.cornu.corps.corse.corso.cosec.cosed.coses.coset.cosey.cosie.costa.coste.costs.cotan.coted.cotes.coths.cotta.cotts.coude.coups.courb.courd.coure.cours.couta.couth.coved.coves.covin.cowal.cowan.cowed.cowks.cowls.cowps.cowry.coxae.coxal.coxed.coxes.coxib.coyau.coyed.coyer.coypu.cozed.cozen.cozes.cozey.cozie.craal.crabs.crags.craic.craig.crake.crame.crams.crans.crape.craps.crapy.crare.craws.crays.creds.creel.crees.crems.crena.creps.crepy.crewe.crews.crias.cribs.cries.crims.crine.crios.cripe.crips.crise.crith.crits.croci.crocs.croft.crogs.cromb.crome.cronk.crons.crool.croon.crops.crore.crost.crout.crows.croze.cruck.crudo.cruds.crudy.crues.cruet.cruft.crunk.cruor.crura.cruse.crusy.cruve.crwth.cryer.ctene.cubby.cubeb.cubed.cuber.cubes.cubit.cuddy.cuffo.cuffs.cuifs.cuing.cuish.cuits.cukes.culch.culet.culex.culls.cully.culms.culpa.culti.cults.culty.cumec.cundy.cunei.cunit.cunts.cupel.cupid.cuppa.cuppy.curat.curbs.curch.curds.curdy.cured.curer.cures.curet.curfs.curia.curie.curli.curls.curns.curny.currs.cursi.curst.cusec.cushy.cusks.cusps.cuspy.cusso.cusum.cutch.cuter.cutes.cutey.cutin.cutis.cutto.cutty.cutup.cuvee.cuzes.cwtch.cyano.cyans.cycad.cycas.cyclo.cyder.cylix.cymae.cymar.cymas.cymes.cymol.cysts.cytes.cyton.czars.daals.dabba.daces.dacha.dacks.dadah.dadas.dados.daffs.daffy.dagga.daggy.dagos.dahls.daiko.daine.daint.daker.daled.dales.dalis.dalle.dalts.daman.damar.dames.damme.damns.damps.dampy.dancy.dangs.danio.danks.danny.dants.daraf.darbs.darcy.dared.darer.dares.darga.dargs.daric.daris.darks.darky.darns.darre.darts.darzi.dashi.dashy.datal.dated.dater.dates.datos.datto.daube.daubs.dauby.dauds.dault.daurs.dauts.daven.davit.dawah.dawds.dawed.dawen.dawks.dawns.dawts.dayan.daych.daynt.dazed.dazer.dazes.deads.deair.deals.deans.deare.dearn.dears.deary.deash.deave.deaws.deawy.debag.debby.debel.debes.debts.debud.debur.debus.debye.decad.decaf.decan.decko.decks.decos.dedal.deeds.deedy.deely.deems.deens.deeps.deere.deers.deets.deeve.deevs.defat.deffo.defis.defog.degas.degum.degus.deice.deids.deify.deils.deism.deist.deked.dekes.dekko.deled.deles.delfs.delft.delis.dells.delly.delos.delph.delts.deman.demes.demic.demit.demob.demoi.demos.dempt.denar.denay.dench.denes.denet.denis.dents.deoxy.derat.deray.dered.deres.derig.derma.derms.derns.derny.deros.derro.derry.derth.dervs.desex.deshi.desis.desks.desse.devas.devel.devis.devon.devos.devot.dewan.dewar.dewax.dewed.dexes.dexie.dhaba.dhaks.dhals.dhikr.dhobi.dhole.dholl.dhols.dhoti.dhows.dhuti.diact.dials.diane.diazo.dibbs.diced.dicer.dices.dicht.dicks.dicky.dicot.dicta.dicts.dicty.diddy.didie.didos.didst.diebs.diels.diene.diets.diffs.dight.dikas.diked.diker.dikes.dikey.dildo.dilli.dills.dimbo.dimer.dimes.dimps.dinar.dined.dines.dinge.dings.dinic.dinks.dinky.dinna.dinos.dints.diols.diota.dippy.dipso.diram.direr.dirke.dirks.dirls.dirts.disas.disci.discs.dishy.disks.disme.dital.ditas.dited.dites.ditsy.ditts.ditzy.divan.divas.dived.dives.divis.divna.divos.divot.divvy.diwan.dixie.dixit.diyas.dizen.djinn.djins.doabs.doats.dobby.dobes.dobie.dobla.dobra.dobro.docht.docks.docos.docus.doddy.dodos.doeks.doers.doest.doeth.doffs.dogan.doges.dogey.doggo.doggy.dogie.dohyo.doilt.doily.doits.dojos.dolce.dolci.doled.doles.dolia.dolls.dolma.dolor.dolos.dolts.domal.domed.domes.domic.donah.donas.donee.doner.donga.dongs.donko.donna.donne.donny.donsy.doobs.dooce.doody.dooks.doole.dools.dooly.dooms.doomy.doona.doorn.doors.doozy.dopas.doped.doper.dopes.dorad.dorba.dorbs.doree.dores.doric.doris.dorks.dorky.dorms.dormy.dorps.dorrs.dorsa.dorse.dorts.dorty.dosai.dosas.dosed.doseh.doser.doses.dosha.dotal.doted.doter.dotes.dotty.douar.douce.doucs.douks.doula.douma.doums.doups.doura.douse.douts.doved.doven.dover.doves.dovie.dowar.dowds.dowed.dower.dowie.dowle.dowls.dowly.downa.downs.dowps.dowse.dowts.doxed.doxes.doxie.doyen.doyly.dozed.dozer.dozes.drabs.drack.draco.draff.drags.drail.drams.drant.draps.drats.drave.draws.drays.drear.dreck.dreed.dreer.drees.dregs.dreks.drent.drere.drest.dreys.dribs.drice.dries.drily.drips.dript.droid.droil.droke.drole.drome.drony.droob.droog.drook.drops.dropt.drouk.drows.drubs.drugs.drums.drupe.druse.drusy.druxy.dryad.dryas.dsobo.dsomo.duads.duals.duans.duars.dubbo.ducal.ducat.duces.ducks.ducky.ducts.duddy.duded.dudes.duels.duets.duett.duffs.dufus.duing.duits.dukas.duked.dukes.dukka.dulce.dules.dulia.dulls.dulse.dumas.dumbo.dumbs.dumka.dumky.dumps.dunam.dunch.dunes.dungs.dungy.dunks.dunno.dunny.dunsh.dunts.duomi.duomo.duped.duper.dupes.duple.duply.duppy.dural.duras.dured.dures.durgy.durns.duroc.duros.duroy.durra.durrs.durry.durst.durum.durzi.dusks.dusts.duxes.dwaal.dwale.dwalm.dwams.dwang.dwaum.dweeb.dwile.dwine.dyads.dyers.dyked.dykes.dykey.dykon.dynel.dynes.dzhos.eagre.ealed.eales.eaned.eards.eared.earls.earns.earnt.earst.eased.easer.eases.easle.easts.eathe.eaved.eaves.ebbed.ebbet.ebons.ebook.ecads.eched.eches.echos.ecrus.edema.edged.edger.edges.edile.edits.educe.educt.eejit.eensy.eeven.eevns.effed.egads.egers.egest.eggar.egged.egger.egmas.ehing.eider.eidos.eigne.eiked.eikon.eilds.eisel.ejido.ekkas.elain.eland.elans.elchi.eldin.elemi.elfed.eliad.elint.elmen.eloge.elogy.eloin.elops.elpee.elsin.elute.elvan.elven.elver.elves.emacs.embar.embay.embog.embow.embox.embus.emeer.emend.emerg.emery.emeus.emics.emirs.emits.emmas.emmer.emmet.emmew.emmys.emoji.emong.emote.emove.empts.emule.emure.emyde.emyds.enarm.enate.ended.ender.endew.endue.enews.enfix.eniac.enlit.enmew.ennog.enoki.enols.enorm.enows.enrol.ensew.ensky.entia.enure.enurn.envoi.enzym.eorls.eosin.epact.epees.ephah.ephas.ephod.ephor.epics.epode.epopt.epris.eques.equid.erbia.erevs.ergon.ergos.ergot.erhus.erica.erick.erics.ering.erned.ernes.erose.erred.erses.eruct.erugo.eruvs.erven.ervil.escar.escot.esile.eskar.esker.esnes.esses.estoc.estop.estro.etage.etape.etats.etens.ethal.ethne.ethyl.etics.etnas.ettin.ettle.etuis.etwee.etyma.eughs.euked.eupad.euros.eusol.evens.evert.evets.evhoe.evils.evite.evohe.ewers.ewest.ewhow.ewked.exams.exeat.execs.exeem.exeme.exfil.exies.exine.exing.exits.exode.exome.exons.expat.expos.exude.exuls.exurb.eyass.eyers.eyots.eyras.eyres.eyrie.eyrir.ezine.fabby.faced.facer.faces.facia.facta.facts.faddy.faded.fader.fades.fadge.fados.faena.faery.faffs.faffy.faggy.fagin.fagot.faiks.fails.faine.fains.fairs.faked.faker.fakes.fakey.fakie.fakir.falaj.falls.famed.fames.fanal.fands.fanes.fanga.fango.fangs.fanks.fanon.fanos.fanum.faqir.farad.farci.farcy.fards.fared.farer.fares.farle.farls.farms.faros.farro.farse.farts.fasci.fasti.fasts.fated.fates.fatly.fatso.fatwa.faugh.fauld.fauns.faurd.fauts.fauve.favas.favel.faver.faves.favus.fawns.fawny.faxed.faxes.fayed.fayer.fayne.fayre.fazed.fazes.feals.feare.fears.feart.fease.feats.feaze.feces.fecht.fecit.fecks.fedex.feebs.feeds.feels.feens.feers.feese.feeze.fehme.feint.feist.felch.felid.fells.felly.felts.felty.femal.femes.femmy.fends.fendy.fenis.fenks.fenny.fents.feods.feoff.ferer.feres.feria.ferly.fermi.ferms.ferns.ferny.fesse.festa.fests.festy.fetas.feted.fetes.fetor.fetta.fetts.fetwa.feuar.feuds.feued.feyed.feyer.feyly.fezes.fezzy.fiars.fiats.fibro.fices.fiche.fichu.ficin.ficos.fides.fidge.fidos.fiefs.fient.fiere.fiers.fiest.fifed.fifer.fifes.fifis.figgy.figos.fiked.fikes.filar.filch.filed.files.filii.filks.fille.fillo.fills.filmi.films.filos.filum.finca.finds.fined.fines.finis.finks.finny.finos.fiord.fiqhs.fique.fired.firer.fires.firie.firks.firms.firns.firry.firth.fiscs.fisks.fists.fisty.fitch.fitly.fitna.fitte.fitts.fiver.fives.fixed.fixes.fixit.fjeld.flabs.flaff.flags.flaks.flamm.flams.flamy.flane.flans.flaps.flary.flats.flava.flawn.flaws.flawy.flaxy.flays.fleam.fleas.fleek.fleer.flees.flegs.fleme.fleur.flews.flexi.flexo.fleys.flics.flied.flies.flimp.flims.flips.flirs.flisk.flite.flits.flitt.flobs.flocs.floes.flogs.flong.flops.flors.flory.flosh.flota.flote.flows.flubs.flued.flues.fluey.fluky.flump.fluor.flurr.fluty.fluyt.flyby.flype.flyte.foals.foams.foehn.fogey.fogie.fogle.fogou.fohns.foids.foils.foins.folds.foley.folia.folic.folie.folks.folky.fomes.fonda.fonds.fondu.fones.fonly.fonts.foods.foody.fools.foots.footy.foram.forbs.forby.fordo.fords.forel.fores.forex.forks.forky.forme.forms.forts.forza.forze.fossa.fosse.fouat.fouds.fouer.fouet.foule.fouls.fount.fours.fouth.fovea.fowls.fowth.foxed.foxes.foxie.foyle.foyne.frabs.frack.fract.frags.fraim.franc.frape.fraps.frass.frate.frati.frats.fraus.frays.frees.freet.freit.fremd.frena.freon.frere.frets.fribs.frier.fries.frigs.frise.frist.frith.frits.fritt.frize.frizz.froes.frogs.frons.frore.frorn.frory.frosh.frows.frowy.frugs.frump.frush.frust.fryer.fubar.fubby.fubsy.fucks.fucus.fuddy.fudgy.fuels.fuero.fuffs.fuffy.fugal.fuggy.fugie.fugio.fugle.fugly.fugus.fujis.fulls.fumed.fumer.fumes.fumet.fundi.funds.fundy.fungo.fungs.funks.fural.furan.furca.furls.furol.furrs.furth.furze.furzy.fused.fusee.fusel.fuses.fusil.fusks.fusts.fusty.futon.fuzed.fuzee.fuzes.fuzil.fyces.fyked.fykes.fyles.fyrds.fytte.gabba.gabby.gable.gaddi.gades.gadge.gadid.gadis.gadje.gadjo.gadso.gaffs.gaged.gager.gages.gaids.gains.gairs.gaita.gaits.gaitt.gajos.galah.galas.galax.galea.galed.gales.galls.gally.galop.galut.galvo.gamas.gamay.gamba.gambe.gambo.gambs.gamed.games.gamey.gamic.gamin.gamme.gammy.gamps.ganch.gandy.ganef.ganev.gangs.ganja.ganof.gants.gaols.gaped.gaper.gapes.gapos.gappy.garbe.garbo.garbs.garda.gares.garis.garms.garni.garre.garth.garum.gases.gasps.gaspy.gasts.gatch.gated.gater.gates.gaths.gator.gauch.gaucy.gauds.gauje.gault.gaums.gaumy.gaups.gaurs.gauss.gauzy.gavot.gawcy.gawds.gawks.gawps.gawsy.gayal.gazal.gazar.gazed.gazes.gazon.gazoo.geals.geans.geare.gears.geats.gebur.gecks.geeks.geeps.geest.geist.geits.gelds.gelee.gelid.gelly.gelts.gemel.gemma.gemmy.gemot.genal.genas.genes.genet.genic.genii.genip.genny.genoa.genom.genro.gents.genty.genua.genus.geode.geoid.gerah.gerbe.geres.gerle.germs.germy.gerne.gesse.gesso.geste.gests.getas.getup.geums.geyan.geyer.ghast.ghats.ghaut.ghazi.ghees.ghest.ghyll.gibed.gibel.giber.gibes.gibli.gibus.gifts.gigas.gighe.gigot.gigue.gilas.gilds.gilet.gills.gilly.gilpy.gilts.gimel.gimme.gimps.gimpy.ginch.ginge.gings.ginks.ginny.ginzo.gipon.gippo.gippy.girds.girls.girns.giron.giros.girrs.girsh.girts.gismo.gisms.gists.gitch.gites.giust.gived.gives.gizmo.glace.glads.glady.glaik.glair.glams.glans.glary.glaum.glaur.glazy.gleba.glebe.gleby.glede.gleds.gleed.gleek.glees.gleet.gleis.glens.glent.gleys.glial.glias.glibs.gliff.glift.glike.glime.glims.glisk.glits.glitz.gloam.globi.globs.globy.glode.glogg.gloms.gloop.glops.glost.glout.glows.gloze.glued.gluer.glues.gluey.glugs.glume.glums.gluon.glute.gluts.gnarl.gnarr.gnars.gnats.gnawn.gnaws.gnows.goads.goafs.goals.goary.goats.goaty.goban.gobar.gobbi.gobbo.gobby.gobis.gobos.godet.godso.goels.goers.goest.goeth.goety.gofer.goffs.gogga.gogos.goier.gojis.golds.goldy.goles.golfs.golpe.golps.gombo.gomer.gompa.gonch.gonef.gongs.gonia.gonif.gonks.gonna.gonof.gonys.gonzo.gooby.goods.goofs.googs.gooks.gooky.goold.gools.gooly.goons.goony.goops.goopy.goors.goory.goosy.gopak.gopik.goral.goras.gored.gores.goris.gorms.gormy.gorps.gorse.gorsy.gosht.gosse.gotch.goths.gothy.gotta.gouch.gouks.goura.gouts.gouty.gowan.gowds.gowfs.gowks.gowls.gowns.goxes.goyim.goyle.graal.grabs.grads.graff.graip.grama.grame.gramp.grams.grana.grans.grapy.gravs.grays.grebe.grebo.grece.greek.grees.grege.grego.grein.grens.grese.greve.grews.greys.grice.gride.grids.griff.grift.grigs.grike.grins.griot.grips.gript.gripy.grise.grist.grisy.grith.grits.grize.groat.grody.grogs.groks.groma.grone.groof.grosz.grots.grouf.grovy.grows.grrls.grrrl.grubs.grued.grues.grufe.grume.grump.grund.gryce.gryde.gryke.grype.grypt.guaco.guana.guano.guans.guars.gucks.gucky.gudes.guffs.gugas.guids.guimp.guiro.gulag.gular.gulas.gules.gulet.gulfs.gulfy.gulls.gulph.gulps.gulpy.gumma.gummi.gumps.gundy.gunge.gungy.gunks.gunky.gunny.guqin.gurdy.gurge.gurls.gurly.gurns.gurry.gursh.gurus.gushy.gusla.gusle.gusli.gussy.gusts.gutsy.gutta.gutty.guyed.guyle.guyot.guyse.gwine.gyals.gyans.gybed.gybes.gyeld.gymps.gynae.gynie.gynny.gynos.gyoza.gypos.gyppo.gyppy.gyral.gyred.gyres.gyron.gyros.gyrus.gytes.gyved.gyves.haafs.haars.hable.habus.hacek.hacks.hadal.haded.hades.hadji.hadst.haems.haets.haffs.hafiz.hafts.haggs.hahas.haick.haika.haiks.haiku.hails.haily.hains.haint.hairs.haith.hajes.hajis.hajji.hakam.hakas.hakea.hakes.hakim.hakus.halal.haled.haler.hales.halfa.halfs.halid.hallo.halls.halma.halms.halon.halos.halse.halts.halva.halwa.hamal.hamba.hamed.hames.hammy.hamza.hanap.hance.hanch.hands.hangi.hangs.hanks.hanky.hansa.hanse.hants.haole.haoma.hapax.haply.happi.hapus.haram.hards.hared.hares.harim.harks.harls.harms.harns.haros.harps.harts.hashy.hasks.hasps.hasta.hated.hates.hatha.hauds.haufs.haugh.hauld.haulm.hauls.hault.hauns.hause.haver.haves.hawed.hawks.hawms.hawse.hayed.hayer.hayey.hayle.hazan.hazed.hazer.hazes.heads.heald.heals.heame.heaps.heapy.heare.hears.heast.heats.heben.hebes.hecht.hecks.heder.hedgy.heeds.heedy.heels.heeze.hefte.hefts.heids.heigh.heils.heirs.hejab.hejra.heled.heles.helio.hells.helms.helos.helot.helps.helve.hemal.hemes.hemic.hemin.hemps.hempy.hench.hends.henge.henna.henny.henry.hents.hepar.herbs.herby.herds.heres.herls.herma.herms.herns.heros.herry.herse.hertz.herye.hesps.hests.hetes.heths.heuch.heugh.hevea.hewed.hewer.hewgh.hexad.hexed.hexer.hexes.hexyl.heyed.hiant.hicks.hided.hider.hides.hiems.highs.hight.hijab.hijra.hiked.hiker.hikes.hikoi.hilar.hilch.hillo.hills.hilts.hilum.hilus.himbo.hinau.hinds.hings.hinky.hinny.hints.hiois.hiply.hired.hiree.hirer.hires.hissy.hists.hithe.hived.hiver.hives.hizen.hoaed.hoagy.hoars.hoary.hoast.hobos.hocks.hocus.hodad.hodja.hoers.hogan.hogen.hoggs.hoghs.hohed.hoick.hoied.hoiks.hoing.hoise.hokas.hoked.hokes.hokey.hokis.hokku.hokum.holds.holed.holes.holey.holks.holla.hollo.holme.holms.holon.holos.holts.homas.homed.homes.homey.homie.homme.homos.honan.honda.honds.honed.honer.hones.hongi.hongs.honks.honky.hooch.hoods.hoody.hooey.hoofs.hooka.hooks.hooky.hooly.hoons.hoops.hoord.hoors.hoosh.hoots.hooty.hoove.hopak.hoped.hoper.hopes.hoppy.horah.horal.horas.horis.horks.horme.horns.horst.horsy.hosed.hosel.hosen.hoser.hoses.hosey.hosta.hosts.hotch.hoten.hotty.houff.houfs.hough.houri.hours.houts.hovea.hoved.hoven.hoves.howbe.howes.howff.howfs.howks.howls.howre.howso.hoxed.hoxes.hoyas.hoyed.hoyle.hubby.hucks.hudna.hudud.huers.huffs.huffy.huger.huggy.huhus.huias.hulas.hules.hulks.hulky.hullo.hulls.hully.humas.humfs.humic.humps.humpy.hunks.hunts.hurds.hurls.hurly.hurra.hurst.hurts.hushy.husks.husos.hutia.huzza.huzzy.hwyls.hydra.hyens.hygge.hying.hykes.hylas.hyleg.hyles.hylic.hymns.hynde.hyoid.hyped.hypes.hypha.hyphy.hypos.hyrax.hyson.hythe.iambi.iambs.ibrik.icers.iched.iches.ichor.icier.icker.ickle.icons.ictal.ictic.ictus.idant.ideas.idees.ident.idled.idles.idola.idols.idyls.iftar.igapo.igged.iglus.ihram.ikans.ikats.ikons.ileac.ileal.ileum.ileus.iliad.ilial.ilium.iller.illth.imago.imams.imari.imaum.imbar.imbed.imide.imido.imids.imine.imino.immew.immit.immix.imped.impis.impot.impro.imshi.imshy.inapt.inarm.inbye.incel.incle.incog.incus.incut.indew.india.indie.indol.indow.indri.indue.inerm.infix.infos.infra.ingan.ingle.inion.inked.inker.inkle.inned.innit.inorb.inrun.inset.inspo.intel.intil.intis.intra.inula.inure.inurn.inust.invar.inwit.iodic.iodid.iodin.iotas.ippon.irade.irids.iring.irked.iroko.irone.irons.isbas.ishes.isled.isles.isnae.issei.istle.items.ither.ivied.ivies.ixias.ixnay.ixora.ixtle.izard.izars.izzat.jaaps.jabot.jacal.jacks.jacky.jaded.jades.jafas.jaffa.jagas.jager.jaggs.jaggy.jagir.jagra.jails.jaker.jakes.jakey.jalap.jalop.jambe.jambo.jambs.jambu.james.jammy.jamon.janes.janns.janny.janty.japan.japed.japer.japes.jarks.jarls.jarps.jarta.jarul.jasey.jaspe.jasps.jatos.jauks.jaups.javas.javel.jawan.jawed.jaxie.jeans.jeats.jebel.jedis.jeels.jeely.jeeps.jeers.jeeze.jefes.jeffs.jehad.jehus.jelab.jello.jells.jembe.jemmy.jenny.jeons.jerid.jerks.jerry.jesse.jests.jesus.jetes.jeton.jeune.jewed.jewie.jhala.jiaos.jibba.jibbs.jibed.jiber.jibes.jiffs.jiggy.jigot.jihad.jills.jilts.jimmy.jimpy.jingo.jinks.jinne.jinni.jinns.jirds.jirga.jirre.jisms.jived.jiver.jives.jivey.jnana.jobed.jobes.jocko.jocks.jocky.jocos.jodel.joeys.johns.joins.joked.jokes.jokey.jokol.joled.joles.jolls.jolts.jolty.jomon.jomos.jones.jongs.jonty.jooks.joram.jorum.jotas.jotty.jotun.joual.jougs.jouks.joule.jours.jowar.jowed.jowls.jowly.joyed.jubas.jubes.jucos.judas.judgy.judos.jugal.jugum.jujus.juked.jukes.jukus.julep.jumar.jumby.jumps.junco.junks.junky.jupes.jupon.jural.jurat.jurel.jures.justs.jutes.jutty.juves.juvie.kaama.kabab.kabar.kabob.kacha.kacks.kadai.kades.kadis.kafir.kagos.kagus.kahal.kaiak.kaids.kaies.kaifs.kaika.kaiks.kails.kaims.kaing.kains.kakas.kakis.kalam.kales.kalif.kalis.kalpa.kamas.kames.kamik.kamis.kamme.kanae.kanas.kandy.kaneh.kanes.kanga.kangs.kanji.kants.kanzu.kaons.kapas.kaphs.kapok.kapow.kapus.kaput.karas.karat.karks.karns.karoo.karos.karri.karst.karsy.karts.karzy.kasha.kasme.katal.katas.katis.katti.kaugh.kauri.kauru.kaury.kaval.kavas.kawas.kawau.kawed.kayle.kayos.kazis.kazoo.kbars.kebar.kebob.kecks.kedge.kedgy.keech.keefs.keeks.keels.keema.keeno.keens.keeps.keets.keeve.kefir.kehua.keirs.kelep.kelim.kells.kelly.kelps.kelpy.kelts.kelty.kembo.kembs.kemps.kempt.kempy.kenaf.kench.kendo.kenos.kente.kents.kepis.kerbs.kerel.kerfs.kerky.kerma.kerne.kerns.keros.kerry.kerve.kesar.kests.ketas.ketch.ketes.ketol.kevel.kevil.kexes.keyed.keyer.khadi.khafs.khans.khaph.khats.khaya.khazi.kheda.kheth.khets.khoja.khors.khoum.khuds.kiaat.kiack.kiang.kibbe.kibbi.kibei.kibes.kibla.kicks.kicky.kiddo.kiddy.kidel.kidge.kiefs.kiers.kieve.kievs.kight.kikes.kikoi.kiley.kilim.kills.kilns.kilos.kilps.kilts.kilty.kimbo.kinas.kinda.kinds.kindy.kines.kings.kinin.kinks.kinos.kiore.kipes.kippa.kipps.kirby.kirks.kirns.kirri.kisan.kissy.kists.kited.kiter.kites.kithe.kiths.kitul.kivas.kiwis.klang.klaps.klett.klick.klieg.kliks.klong.kloof.kluge.klutz.knags.knaps.knarl.knars.knaur.knawe.knees.knell.knish.knits.knive.knobs.knops.knosp.knots.knout.knowe.knows.knubs.knurl.knurr.knurs.knuts.koans.koaps.koban.kobos.koels.koffs.kofta.kogal.kohas.kohen.kohls.koine.kojis.kokam.kokas.koker.kokra.kokum.kolas.kolos.kombu.konbu.kondo.konks.kooks.kooky.koori.kopek.kophs.kopje.koppa.korai.koras.korat.kores.korma.koros.korun.korus.koses.kotch.kotos.kotow.koura.kraal.krabs.kraft.krais.krait.krang.krans.kranz.kraut.krays.kreep.kreng.krewe.krona.krone.kroon.krubi.krunk.ksars.kubie.kudos.kudus.kudzu.kufis.kugel.kuias.kukri.kukus.kulak.kulan.kulas.kulfi.kumis.kumys.kuris.kurre.kurta.kurus.kusso.kutas.kutch.kutis.kutus.kuzus.kvass.kvell.kwela.kyack.kyaks.kyang.kyars.kyats.kybos.kydst.kyles.kylie.kylin.kylix.kyloe.kynde.kynds.kypes.kyrie.kytes.kythe.laari.labda.labia.labis.labra.laced.lacer.laces.lacet.lacey.lacks.laddy.laded.lader.lades.laers.laevo.lagan.lahal.lahar.laich.laics.laids.laigh.laika.laiks.laird.lairs.lairy.laith.laity.laked.laker.lakes.lakhs.lakin.laksa.laldy.lalls.lamas.lambs.lamby.lamed.lamer.lames.lamia.lammy.lamps.lanai.lanas.lanch.lande.lands.lanes.lanks.lants.lapin.lapis.lapje.larch.lards.lardy.laree.lares.largo.laris.larks.larky.larns.larnt.larum.lased.laser.lases.lassi.lassu.lassy.lasts.latah.lated.laten.latex.lathi.laths.lathy.latke.latus.lauan.lauch.lauds.laufs.laund.laura.laval.lavas.laved.laver.laves.lavra.lavvy.lawed.lawer.lawin.lawks.lawns.lawny.laxed.laxer.laxes.laxly.layed.layin.layup.lazar.lazed.lazes.lazos.lazzi.lazzo.leads.leady.leafs.leaks.leams.leans.leany.leaps.leare.lears.leary.leats.leavy.leaze.leben.leccy.ledes.ledgy.ledum.leear.leeks.leeps.leers.leese.leets.leeze.lefte.lefts.leger.leges.legge.leggo.legit.lehrs.lehua.leirs.leish.leman.lemed.lemel.lemes.lemma.lemme.lends.lenes.lengs.lenis.lenos.lense.lenti.lento.leone.lepid.lepra.lepta.lered.leres.lerps.lesbo.leses.lests.letch.lethe.letup.leuch.leuco.leuds.leugh.levas.levee.leves.levin.levis.lewis.lexes.lexis.lezes.lezza.lezzy.liana.liane.liang.liard.liars.liart.liber.libra.libri.lichi.licht.licit.licks.lidar.lidos.liefs.liens.liers.lieus.lieve.lifer.lifes.lifts.ligan.liger.ligge.ligne.liked.liker.likes.likin.lills.lilos.lilts.liman.limas.limax.limba.limbi.limbs.limby.limed.limen.limes.limey.limma.limns.limos.limpa.limps.linac.linch.linds.lindy.lined.lines.liney.linga.lings.lingy.linin.links.linky.linns.linny.linos.lints.linty.linum.linux.lions.lipas.lipes.lipin.lipos.lippy.liras.lirks.lirot.lisks.lisle.lisps.lists.litai.litas.lited.liter.lites.litho.liths.litre.lived.liven.lives.livor.livre.llano.loach.loads.loafs.loams.loans.loast.loave.lobar.lobed.lobes.lobos.lobus.loche.lochs.locie.locis.locks.locos.locum.loden.lodes.loess.lofts.logan.loges.loggy.logia.logie.logoi.logon.logos.lohan.loids.loins.loipe.loirs.lokes.lolls.lolly.lolog.lomas.lomed.lomes.loner.longa.longe.longs.looby.looed.looey.loofa.loofs.looie.looks.looky.looms.loons.loony.loops.loord.loots.loped.loper.lopes.loppy.loral.loran.lords.lordy.lorel.lores.loric.loris.losed.losel.losen.loses.lossy.lotah.lotas.lotes.lotic.lotos.lotsa.lotta.lotte.lotto.lotus.loued.lough.louie.louis.louma.lound.louns.loupe.loups.loure.lours.loury.louts.lovat.loved.loves.lovey.lovie.lowan.lowed.lowes.lownd.lowne.lowns.lowps.lowry.lowse.lowts.loxed.loxes.lozen.luach.luaus.lubed.lubes.lubra.luces.lucks.lucre.ludes.ludic.ludos.luffa.luffs.luged.luger.luges.lulls.lulus.lumas.lumbi.lumme.lummy.lumps.lunas.lunes.lunet.lungi.lungs.lunks.lunts.lupin.lured.lurer.lures.lurex.lurgi.lurgy.lurks.lurry.lurve.luser.lushy.lusks.lusts.lusus.lutea.luted.luter.lutes.luvvy.luxed.luxer.luxes.lweis.lyams.lyard.lyart.lyase.lycea.lycee.lycra.lymes.lynes.lyres.lysed.lyses.lysin.lysis.lysol.lyssa.lyted.lytes.lythe.lytic.lytta.maaed.maare.maars.mabes.macas.maced.macer.maces.mache.machi.machs.macks.macle.macon.madge.madid.madre.maerl.mafic.mages.maggs.magot.magus.mahoe.mahua.mahwa.maids.maiko.maiks.maile.maill.mails.maims.mains.maire.mairs.maise.maist.makar.makes.makis.makos.malam.malar.malas.malax.males.malic.malik.malis.malls.malms.malmy.malts.malty.malus.malva.malwa.mamas.mamba.mamee.mamey.mamie.manas.manat.mandi.maneb.maned.maneh.manes.manet.mangs.manis.manky.manna.manos.manse.manta.manto.manty.manul.manus.mapau.maqui.marae.marah.maras.marcs.mardy.mares.marge.margs.maria.marid.marka.marks.marle.marls.marly.marms.maron.maror.marra.marri.marse.marts.marvy.masas.mased.maser.mases.mashy.masks.massa.massy.masts.masty.masus.matai.mated.mater.mates.maths.matin.matlo.matte.matts.matza.matzo.mauby.mauds.mauls.maund.mauri.mausy.mauts.mauzy.maven.mavie.mavin.mavis.mawed.mawks.mawky.mawns.mawrs.maxed.maxes.maxis.mayan.mayas.mayed.mayos.mayst.mazed.mazer.mazes.mazey.mazut.mbira.meads.meals.meane.means.meany.meare.mease.meath.meats.mebos.mechs.mecks.medii.medle.meeds.meers.meets.meffs.meins.meint.meiny.meith.mekka.melas.melba.melds.melic.melik.mells.melts.melty.memes.memos.menad.mends.mened.menes.menge.mengs.mensa.mense.mensh.menta.mento.menus.meous.meows.merch.mercs.merde.mered.merel.merer.meres.meril.meris.merks.merle.merls.merse.mesal.mesas.mesel.meses.meshy.mesic.mesne.meson.messy.mesto.meted.metes.metho.meths.metic.metif.metis.metol.metre.meuse.meved.meves.mewed.mewls.meynt.mezes.mezze.mezzo.mhorr.miaou.miaow.miasm.miaul.micas.miche.micht.micks.micky.micos.micra.middy.midgy.midis.miens.mieve.miffs.miffy.mifty.miggs.mihas.mihis.miked.mikes.mikra.mikva.milch.milds.miler.miles.milfs.milia.milko.milks.mille.mills.milor.milos.milpa.milts.milty.miltz.mimed.mimeo.mimer.mimes.mimsy.minae.minar.minas.mincy.minds.mined.mines.minge.mings.mingy.minis.minke.minks.minny.minos.mints.mired.mires.mirex.mirid.mirin.mirks.mirky.mirly.miros.mirvs.mirza.misch.misdo.mises.misgo.misos.missa.mists.misty.mitch.miter.mites.mitis.mitre.mitts.mixed.mixen.mixer.mixes.mixte.mixup.mizen.mizzy.mneme.moans.moats.mobby.mobes.mobey.mobie.moble.mochi.mochs.mochy.mocks.moder.modes.modge.modii.modus.moers.mofos.moggy.mohel.mohos.mohrs.mohua.mohur.moile.moils.moira.moire.moits.mojos.mokes.mokis.mokos.molal.molas.molds.moled.moles.molla.molls.molly.molto.molts.molys.momes.momma.mommy.momus.monad.monal.monas.monde.mondo.moner.mongo.mongs.monic.monie.monks.monos.monte.monty.moobs.mooch.moods.mooed.mooks.moola.mooli.mools.mooly.moong.moons.moony.moops.moors.moory.moots.moove.moped.moper.mopes.mopey.moppy.mopsy.mopus.morae.moras.morat.moray.morel.mores.moria.morne.morns.morra.morro.morse.morts.mosed.moses.mosey.mosks.mosso.moste.mosts.moted.moten.motes.motet.motey.moths.mothy.motis.motte.motts.motty.motus.motza.mouch.moues.mould.mouls.moups.moust.mousy.moved.moves.mowas.mowed.mowra.moxas.moxie.moyas.moyle.moyls.mozed.mozes.mozos.mpret.mucho.mucic.mucid.mucin.mucks.mucor.mucro.mudge.mudir.mudra.muffs.mufti.mugga.muggs.muggy.muhly.muids.muils.muirs.muist.mujik.mulct.muled.mules.muley.mulga.mulie.mulla.mulls.mulse.mulsh.mumms.mumps.mumsy.mumus.munga.munge.mungo.mungs.munis.munts.muntu.muons.muras.mured.mures.murex.murid.murks.murls.murly.murra.murre.murri.murrs.murry.murti.murva.musar.musca.mused.muser.muses.muset.musha.musit.musks.musos.musse.mussy.musth.musts.mutch.muted.muter.mutes.mutha.mutis.muton.mutts.muxed.muxes.muzak.muzzy.mvule.myall.mylar.mynah.mynas.myoid.myoma.myope.myops.myopy.mysid.mythi.myths.mythy.myxos.mzees.naams.naans.nabes.nabis.nabks.nabla.nabob.nache.nacho.nacre.nadas.naeve.naevi.naffs.nagas.naggy.nagor.nahal.naiad.naifs.naiks.nails.naira.nairu.naked.naker.nakfa.nalas.naled.nalla.named.namer.names.namma.namus.nanas.nance.nancy.nandu.nanna.nanos.nanua.napas.naped.napes.napoo.nappa.nappe.nappy.naras.narco.narcs.nards.nares.naric.naris.narks.narky.narre.nashi.natch.nates.natis.natty.nauch.naunt.navar.naves.navew.navvy.nawab.nazes.nazir.nazis.nduja.neafe.neals.neaps.nears.neath.neats.nebek.nebel.necks.neddy.needs.neeld.neele.neemb.neems.neeps.neese.neeze.negro.negus.neifs.neist.neive.nelis.nelly.nemas.nemns.nempt.nenes.neons.neper.nepit.neral.nerds.nerka.nerks.nerol.nerts.nertz.nervy.nests.netes.netop.netts.netty.neuks.neume.neums.nevel.neves.nevus.newbs.newed.newel.newie.newsy.newts.nexts.nexus.ngaio.ngana.ngati.ngoma.ngwee.nicad.nicht.nicks.nicol.nidal.nided.nides.nidor.nidus.niefs.nieve.nifes.niffs.niffy.nifty.niger.nighs.nihil.nikab.nikah.nikau.nills.nimbi.nimbs.nimps.niner.nines.ninon.nipas.nippy.niqab.nirls.nirly.nisei.nisse.nisus.niter.nites.nitid.niton.nitre.nitro.nitry.nitty.nival.nixed.nixer.nixes.nixie.nizam.nkosi.noahs.nobby.nocks.nodal.noddy.nodes.nodus.noels.noggs.nohow.noils.noily.noint.noirs.noles.nolls.nolos.nomas.nomen.nomes.nomic.nomoi.nomos.nonas.nonce.nones.nonet.nongs.nonis.nonny.nonyl.noobs.nooit.nooks.nooky.noons.noops.nopal.noria.noris.norks.norma.norms.nosed.noser.noses.notal.noted.noter.notes.notum.nould.noule.nouls.nouns.nouny.noups.novae.novas.novum.noway.nowed.nowls.nowts.nowty.noxal.noxes.noyau.noyed.noyes.nubby.nubia.nucha.nuddy.nuder.nudes.nudie.nudzh.nuffs.nugae.nuked.nukes.nulla.nulls.numbs.numen.nummy.nunny.nurds.nurdy.nurls.nurrs.nutso.nutsy.nyaff.nyala.nying.nyssa.oaked.oaker.oakum.oared.oases.oasis.oasts.oaten.oater.oaths.oaves.obang.obeah.obeli.obeys.obias.obied.obiit.obits.objet.oboes.obole.oboli.obols.occam.ocher.oches.ochre.ochry.ocker.ocrea.octad.octan.octas.octyl.oculi.odahs.odals.odeon.odeum.odism.odist.odium.odors.odour.odyle.odyls.ofays.offed.offie.oflag.ofter.ogams.ogeed.ogees.oggin.ogham.ogive.ogled.ogler.ogles.ogmic.ogres.ohias.ohing.ohmic.ohone.oidia.oiled.oiler.oinks.oints.ojime.okapi.okays.okehs.okras.oktas.oldie.oleic.olein.olent.oleos.oleum.olios.ollas.ollav.oller.ollie.ology.olpae.olpes.omasa.omber.ombus.omens.omers.omits.omlah.omovs.omrah.oncer.onces.oncet.oncus.onely.oners.onery.onium.onkus.onlay.onned.ontic.oobit.oohed.oomph.oonts.ooped.oorie.ooses.ootid.oozed.oozes.opahs.opals.opens.opepe.oping.oppos.opsin.opted.opter.orach.oracy.orals.orang.orant.orate.orbed.orcas.orcin.ordos.oread.orfes.orgia.orgic.orgue.oribi.oriel.orixa.orles.orlon.orlop.ormer.ornis.orpin.orris.ortho.orval.orzos.oscar.oshac.osier.osmic.osmol.ossia.ostia.otaku.otary.ottar.ottos.oubit.oucht.ouens.ouija.oulks.oumas.oundy.oupas.ouped.ouphe.ouphs.ourie.ousel.ousts.outby.outed.outre.outro.outta.ouzel.ouzos.ovals.ovels.ovens.overs.ovist.ovoli.ovolo.ovule.owche.owies.owled.owler.owlet.owned.owres.owrie.owsen.oxbow.oxers.oxeye.oxids.oxies.oxime.oxims.oxlip.oxter.oyers.ozeki.ozzie.paals.paans.pacas.paced.pacer.paces.pacey.pacha.packs.pacos.pacta.pacts.padis.padle.padma.padre.padri.paean.paedo.paeon.paged.pager.pages.pagle.pagod.pagri.paiks.pails.pains.paire.pairs.paisa.paise.pakka.palas.palay.palea.paled.pales.palet.palis.palki.palla.palls.pally.palms.palmy.palpi.palps.palsa.pampa.panax.pance.panda.pands.pandy.paned.panes.panga.pangs.panim.panko.panne.panni.panto.pants.panty.paoli.paolo.papas.papaw.papes.pappi.pappy.parae.paras.parch.pardi.pards.pardy.pared.paren.pareo.pares.pareu.parev.parge.pargo.paris.parki.parks.parky.parle.parly.parma.parol.parps.parra.parrs.parti.parts.parve.parvo.paseo.pases.pasha.pashm.paska.paspy.passe.pasts.pated.paten.pater.pates.paths.patin.patka.patly.patte.patus.pauas.pauls.pavan.paved.paven.paver.paves.pavid.pavin.pavis.pawas.pawaw.pawed.pawer.pawks.pawky.pawls.pawns.paxes.payed.payor.paysd.peage.peags.peaks.peaky.peals.peans.peare.pears.peart.pease.peats.peaty.peavy.peaze.pebas.pechs.pecke.pecks.pecky.pedes.pedis.pedro.peece.peeks.peels.peens.peeoy.peepe.peeps.peers.peery.peeve.peggy.peghs.peins.peise.peize.pekan.pekes.pekin.pekoe.pelas.pelau.peles.pelfs.pells.pelma.pelon.pelta.pelts.pends.pendu.pened.penes.pengo.penie.penis.penks.penna.penni.pents.peons.peony.pepla.pepos.peppy.pepsi.perai.perce.percs.perdu.perdy.perea.peres.peris.perks.perms.perns.perog.perps.perry.perse.perst.perts.perve.pervo.pervs.pervy.pesos.pests.pesty.petar.peter.petit.petre.petri.petti.petto.pewee.pewit.peyse.phage.phang.phare.pharm.pheer.phene.pheon.phese.phial.phish.phizz.phlox.phoca.phono.phons.phots.phpht.phuts.phyla.phyle.piani.pians.pibal.pical.picas.piccy.picks.picot.picra.picul.piend.piers.piert.pieta.piets.piezo.pight.pigmy.piing.pikas.pikau.piked.piker.pikes.pikey.pikis.pikul.pilae.pilaf.pilao.pilar.pilau.pilaw.pilch.pilea.piled.pilei.piler.piles.pilis.pills.pilow.pilum.pilus.pimas.pimps.pinas.pined.pines.pingo.pings.pinko.pinks.pinna.pinny.pinon.pinot.pinta.pints.pinup.pions.piony.pious.pioye.pioys.pipal.pipas.piped.pipes.pipet.pipis.pipit.pippy.pipul.pirai.pirls.pirns.pirog.pisco.pises.pisky.pisos.pissy.piste.pitas.piths.piton.pitot.pitta.piums.pixes.pized.pizes.plaas.plack.plage.plans.plaps.plash.plasm.plast.plats.platt.platy.playa.plays.pleas.plebe.plebs.plena.pleon.plesh.plews.plica.plies.plims.pling.plink.ploat.plods.plong.plonk.plook.plops.plots.plotz.plouk.plows.ploye.ploys.plues.pluff.plugs.plums.plumy.pluot.pluto.plyer.poach.poaka.poake.poboy.pocks.pocky.podal.poddy.podex.podge.podgy.podia.poems.poeps.poets.pogey.pogge.pogos.pohed.poilu.poind.pokal.poked.pokes.pokey.pokie.poled.poler.poles.poley.polio.polis.polje.polks.polls.polly.polos.polts.polys.pombe.pomes.pommy.pomos.pomps.ponce.poncy.ponds.pones.poney.ponga.pongo.pongs.pongy.ponks.ponts.ponty.ponzu.poods.pooed.poofs.poofy.poohs.pooja.pooka.pooks.pools.poons.poops.poopy.poori.poort.poots.poove.poovy.popes.poppa.popsy.porae.poral.pored.porer.pores.porge.porgy.porin.porks.porky.porno.porns.porny.porta.ports.porty.posed.poses.posey.posho.posts.potae.potch.poted.potes.potin.potoo.potsy.potto.potts.potty.pouff.poufs.pouke.pouks.poule.poulp.poult.poupe.poupt.pours.pouts.powan.powin.pownd.powns.powny.powre.poxed.poxes.poynt.poyou.poyse.pozzy.praam.prads.prahu.prams.prana.prang.praos.prase.prate.prats.pratt.praty.praus.prays.predy.preed.prees.preif.prems.premy.prent.preon.preop.preps.presa.prese.prest.preve.prexy.preys.prial.pricy.prief.prier.pries.prigs.prill.prima.primi.primp.prims.primy.prink.prion.prise.priss.proas.probs.prods.proem.profs.progs.proin.proke.prole.proll.promo.proms.pronk.props.prore.proso.pross.prost.prosy.proto.proul.prows.proyn.prunt.pruta.pryer.pryse.pseud.pshaw.psion.psoae.psoai.psoas.psora.psych.psyop.pubco.pubes.pubis.pucan.pucer.puces.pucka.pucks.puddy.pudge.pudic.pudor.pudsy.pudus.puers.puffa.puffs.puggy.pugil.puhas.pujah.pujas.pukas.puked.puker.pukes.pukey.pukka.pukus.pulao.pulas.puled.puler.pules.pulik.pulis.pulka.pulks.pulli.pulls.pully.pulmo.pulps.pulus.pumas.pumie.pumps.punas.punce.punga.pungs.punji.punka.punks.punky.punny.punto.punts.punty.pupae.pupas.pupus.purda.pured.pures.purin.puris.purls.purpy.purrs.pursy.purty.puses.pusle.pussy.putid.puton.putti.putto.putts.puzel.pwned.pyats.pyets.pygal.pyins.pylon.pyned.pynes.pyoid.pyots.pyral.pyran.pyres.pyrex.pyric.pyros.pyxed.pyxes.pyxie.pyxis.pzazz.qadis.qaids.qajaq.qanat.qapik.qibla.qophs.qorma.quads.quaff.quags.quair.quais.quaky.quale.quant.quare.quass.quate.quats.quayd.quays.qubit.quean.queme.quena.quern.queyn.queys.quich.quids.quiff.quims.quina.quine.quino.quins.quint.quipo.quips.quipu.quire.quirt.quist.quits.quoad.quods.quoif.quoin.quoit.quoll.quonk.quops.qursh.quyte.rabat.rabic.rabis.raced.races.rache.racks.racon.radge.radix.radon.raffs.rafts.ragas.ragde.raged.ragee.rager.rages.ragga.raggs.raggy.ragis.ragus.rahed.rahui.raias.raids.raiks.raile.rails.raine.rains.raird.raita.raits.rajas.rajes.raked.rakee.raker.rakes.rakia.rakis.rakus.rales.ramal.ramee.ramet.ramie.ramin.ramis.rammy.ramps.ramus.ranas.rance.rands.ranee.ranga.rangi.rangs.rangy.ranid.ranis.ranke.ranks.rants.raped.raper.rapes.raphe.rappe.rared.raree.rares.rarks.rased.raser.rases.rasps.rasse.rasta.ratal.ratan.ratas.ratch.rated.ratel.rater.rates.ratha.rathe.raths.ratoo.ratos.ratus.rauns.raupo.raved.ravel.raver.raves.ravey.ravin.rawer.rawin.rawly.rawns.raxed.raxes.rayah.rayas.rayed.rayle.rayne.razed.razee.razer.razes.razoo.readd.reads.reais.reaks.realo.reals.reame.reams.reamy.reans.reaps.rears.reast.reata.reate.reave.rebbe.rebec.rebid.rebit.rebop.rebuy.recal.recce.recco.reccy.recit.recks.recon.recta.recti.recto.redan.redds.reddy.reded.redes.redia.redid.redip.redly.redon.redos.redox.redry.redub.redux.redye.reech.reede.reeds.reefs.reefy.reeks.reeky.reels.reens.reest.reeve.refed.refel.reffo.refis.refix.refly.refry.regar.reges.reggo.regie.regma.regna.regos.regur.rehem.reifs.reify.reiki.reiks.reink.reins.reird.reist.reive.rejig.rejon.reked.rekes.rekey.relet.relie.relit.rello.reman.remap.remen.remet.remex.remix.renay.rends.reney.renga.renig.renin.renne.renos.rente.rents.reoil.reorg.repeg.repin.repla.repos.repot.repps.repro.reran.rerig.resat.resaw.resay.resee.reses.resew.resid.resit.resod.resow.resto.rests.resty.resus.retag.retax.retem.retia.retie.retox.revet.revie.rewan.rewax.rewed.rewet.rewin.rewon.rewth.rexes.rezes.rheas.rheme.rheum.rhies.rhime.rhine.rhody.rhomb.rhone.rhumb.rhyne.rhyta.riads.rials.riant.riata.ribas.ribby.ribes.riced.ricer.rices.ricey.richt.ricin.ricks.rides.ridgy.ridic.riels.riems.rieve.rifer.riffs.rifte.rifts.rifty.riggs.rigol.riled.riles.riley.rille.rills.rimae.rimed.rimer.rimes.rimus.rinds.rindy.rines.rings.rinks.rioja.riots.riped.ripes.ripps.rises.rishi.risks.risps.risus.rites.ritts.ritzy.rivas.rived.rivel.riven.rives.riyal.rizas.roads.roams.roans.roars.roary.roate.robed.robes.roble.rocks.roded.rodes.roguy.rohes.roids.roils.roily.roins.roist.rojak.rojis.roked.roker.rokes.rolag.roles.rolfs.rolls.romal.roman.romeo.romps.ronde.rondo.roneo.rones.ronin.ronne.ronte.ronts.roods.roofs.roofy.rooks.rooky.rooms.roons.roops.roopy.roosa.roose.roots.rooty.roped.roper.ropes.ropey.roque.roral.rores.roric.rorid.rorie.rorts.rorty.rosed.roses.roset.roshi.rosin.rosit.rosti.rosts.rotal.rotan.rotas.rotch.roted.rotes.rotis.rotls.roton.rotos.rotte.rouen.roues.roule.rouls.roums.roups.roupy.roust.routh.routs.roved.roven.roves.rowan.rowed.rowel.rowen.rowie.rowme.rownd.rowth.rowts.royne.royst.rozet.rozit.ruana.rubai.rubby.rubel.rubes.rubin.ruble.rubli.rubus.ruche.rucks.rudas.rudds.rudes.rudie.rudis.rueda.ruers.ruffe.ruffs.rugae.rugal.ruggy.ruing.ruins.rukhs.ruled.rules.rumal.rumbo.rumen.rumes.rumly.rummy.rumpo.rumps.rumpy.runch.runds.runed.runes.rungs.runic.runny.runts.runty.rupia.rurps.rurus.rusas.ruses.rushy.rusks.rusma.russe.rusts.ruths.rutin.rutty.ryals.rybat.ryked.rykes.rymme.rynds.ryots.ryper.saags.sabal.sabed.saber.sabes.sabha.sabin.sabir.sable.sabot.sabra.sabre.sacks.sacra.saddo.sades.sadhe.sadhu.sadis.sados.sadza.safed.safes.sagas.sager.sages.saggy.sagos.sagum.saheb.sahib.saice.saick.saics.saids.saiga.sails.saims.saine.sains.sairs.saist.saith.sajou.sakai.saker.sakes.sakia.sakis.sakti.salal.salat.salep.sales.salet.salic.salix.salle.salmi.salol.salop.salpa.salps.salse.salto.salts.salue.salut.saman.samas.samba.sambo.samek.samel.samen.sames.samey.samfu.sammy.sampi.samps.sands.saned.sanes.sanga.sangh.sango.sangs.sanko.sansa.santo.sants.saola.sapan.sapid.sapor.saran.sards.sared.saree.sarge.sargo.sarin.saris.sarks.sarky.sarod.saros.sarus.saser.sasin.sasse.satai.satay.sated.satem.sates.satis.sauba.sauch.saugh.sauls.sault.saunt.saury.sauts.saved.saver.saves.savey.savin.sawah.sawed.sawer.saxes.sayed.sayer.sayid.sayne.sayon.sayst.sazes.scabs.scads.scaff.scags.scail.scala.scall.scams.scand.scans.scapa.scape.scapi.scarp.scars.scart.scath.scats.scatt.scaud.scaup.scaur.scaws.sceat.scena.scend.schav.schmo.schul.schwa.sclim.scody.scogs.scoog.scoot.scopa.scops.scots.scoug.scoup.scowp.scows.scrab.scrae.scrag.scran.scrat.scraw.scray.scrim.scrip.scrob.scrod.scrog.scrow.scudi.scudo.scuds.scuff.scuft.scugs.sculk.scull.sculp.sculs.scums.scups.scurf.scurs.scuse.scuta.scute.scuts.scuzz.scyes.sdayn.sdein.seals.seame.seams.seamy.seans.seare.sears.sease.seats.seaze.sebum.secco.sechs.sects.seder.sedes.sedge.sedgy.sedum.seeds.seeks.seeld.seels.seely.seems.seeps.seepy.seers.sefer.segar.segni.segno.segol.segos.sehri.seifs.seils.seine.seirs.seise.seism.seity.seiza.sekos.sekts.selah.seles.selfs.sella.selle.sells.selva.semee.semes.semie.semis.senas.sends.senes.sengi.senna.senor.sensa.sensi.sente.senti.sents.senvy.senza.sepad.sepal.sepic.sepoy.septa.septs.serac.serai.seral.sered.serer.seres.serfs.serge.seric.serin.serks.seron.serow.serra.serre.serrs.serry.servo.sesey.sessa.setae.setal.seton.setts.sewan.sewar.sewed.sewel.sewen.sewin.sexed.sexer.sexes.sexto.sexts.seyen.shads.shags.shahs.shako.shakt.shalm.shaly.shama.shams.shand.shans.shaps.sharn.shash.shaul.shawm.shawn.shaws.shaya.shays.shchi.sheaf.sheal.sheas.sheds.sheel.shend.shent.sheol.sherd.shere.shero.shets.sheva.shewn.shews.shiai.shiel.shier.shies.shill.shily.shims.shins.ships.shirr.shirs.shish.shiso.shist.shite.shits.shiur.shiva.shive.shivs.shlep.shlub.shmek.shmoe.shoat.shoed.shoer.shoes.shogi.shogs.shoji.shojo.shola.shool.shoon.shoos.shope.shops.shorl.shote.shots.shott.showd.shows.shoyu.shred.shris.shrow.shtik.shtum.shtup.shule.shuln.shuls.shuns.shura.shute.shuts.shwas.shyer.sials.sibbs.sibyl.sices.sicht.sicko.sicks.sicky.sidas.sided.sider.sides.sidha.sidhe.sidle.sield.siens.sient.sieth.sieur.sifts.sighs.sigil.sigla.signa.signs.sijos.sikas.siker.sikes.silds.siled.silen.siler.siles.silex.silks.sills.silos.silts.silty.silva.simar.simas.simba.simis.simps.simul.sinds.sined.sines.sings.sinhs.sinks.sinky.sinus.siped.sipes.sippy.sired.siree.sires.sirih.siris.siroc.sirra.sirup.sisal.sises.sista.sists.sitar.sited.sites.sithe.sitka.situp.situs.siver.sixer.sixes.sixmo.sixte.sizar.sized.sizel.sizer.sizes.skags.skail.skald.skank.skart.skats.skatt.skaws.skean.skear.skeds.skeed.skeef.skeen.skeer.skees.skeet.skegg.skegs.skein.skelf.skell.skelm.skelp.skene.skens.skeos.skeps.skers.skets.skews.skids.skied.skies.skiey.skimo.skims.skink.skins.skint.skios.skips.skirl.skirr.skite.skits.skive.skivy.sklim.skoal.skody.skoff.skogs.skols.skool.skort.skosh.skran.skrik.skuas.skugs.skyed.skyer.skyey.skyfs.skyre.skyrs.skyte.slabs.slade.slaes.slags.slaid.slake.slams.slane.slank.slaps.slart.slats.slaty.slaws.slays.slebs.sleds.sleer.slews.sleys.slier.slily.slims.slipe.slips.slipt.slish.slits.slive.sloan.slobs.sloes.slogs.sloid.slojd.slomo.sloom.sloot.slops.slopy.slorm.slots.slove.slows.sloyd.slubb.slubs.slued.slues.sluff.slugs.sluit.slums.slurb.slurs.sluse.sluts.slyer.slype.smaak.smaik.smalm.smalt.smarm.smaze.smeek.smees.smeik.smeke.smerk.smews.smirr.smirs.smits.smogs.smoko.smolt.smoor.smoot.smore.smorg.smout.smowt.smugs.smurs.smush.smuts.snabs.snafu.snags.snaps.snarf.snark.snars.snary.snash.snath.snaws.snead.sneap.snebs.sneck.sneds.sneed.snees.snell.snibs.snick.snies.snift.snigs.snips.snipy.snirt.snits.snobs.snods.snoek.snoep.snogs.snoke.snood.snook.snool.snoot.snots.snowk.snows.snubs.snugs.snush.snyes.soaks.soaps.soare.soars.soave.sobas.socas.soces.socko.socks.socle.sodas.soddy.sodic.sodom.sofar.sofas.softa.softs.softy.soger.sohur.soils.soily.sojas.sojus.sokah.soken.sokes.sokol.solah.solan.solas.solde.soldi.soldo.solds.soled.solei.soler.soles.solon.solos.solum.solus.soman.somas.sonce.sonde.sones.songs.sonly.sonne.sonny.sonse.sonsy.sooey.sooks.sooky.soole.sools.sooms.soops.soote.soots.sophs.sophy.sopor.soppy.sopra.soral.soras.sorbo.sorbs.sorda.sordo.sords.sored.soree.sorel.sorer.sores.sorex.sorgo.sorns.sorra.sorta.sorts.sorus.soths.sotol.souce.souct.sough.souks.souls.soums.soups.soupy.sours.souse.souts.sowar.sowce.sowed.sowff.sowfs.sowle.sowls.sowms.sownd.sowne.sowps.sowse.sowth.soyas.soyle.soyuz.sozin.spacy.spado.spaed.spaer.spaes.spags.spahi.spail.spain.spait.spake.spald.spale.spall.spalt.spams.spane.spang.spans.spard.spars.spart.spate.spats.spaul.spawl.spaws.spayd.spays.spaza.spazz.speal.spean.speat.specs.spect.speel.speer.speil.speir.speks.speld.spelk.speos.spets.speug.spews.spewy.spial.spica.spick.spics.spide.spier.spies.spiff.spifs.spiks.spile.spims.spina.spink.spins.spirt.spiry.spits.spitz.spivs.splay.splog.spode.spods.spoom.spoor.spoot.spork.sposh.spots.sprad.sprag.sprat.spred.sprew.sprit.sprod.sprog.sprue.sprug.spuds.spued.spuer.spues.spugs.spule.spume.spumy.spurs.sputa.spyal.spyre.squab.squaw.squeg.squid.squit.squiz.stabs.stade.stags.stagy.staig.stane.stang.staph.staps.starn.starr.stars.stats.staun.staws.stays.stean.stear.stedd.stede.steds.steek.steem.steen.steil.stela.stele.stell.steme.stems.stend.steno.stens.stent.steps.stept.stere.stets.stews.stewy.steys.stich.stied.sties.stilb.stile.stime.stims.stimy.stipa.stipe.stire.stirk.stirp.stirs.stive.stivy.stoae.stoai.stoas.stoat.stobs.stoep.stogy.stoit.stoln.stoma.stond.stong.stonk.stonn.stook.stoor.stope.stops.stopt.stoss.stots.stott.stoun.stoup.stour.stown.stowp.stows.strad.strae.strag.strak.strep.strew.stria.strig.strim.strop.strow.stroy.strum.stubs.stude.studs.stull.stulm.stumm.stums.stuns.stupa.stupe.sture.sturt.styed.styes.styli.stylo.styme.stymy.styre.styte.subah.subas.subby.suber.subha.succi.sucks.sucky.sucre.sudds.sudor.sudsy.suede.suent.suers.suete.suets.suety.sugan.sughs.sugos.suhur.suids.suint.suits.sujee.sukhs.sukuk.sulci.sulfa.sulfo.sulks.sulph.sulus.sumis.summa.sumos.sumph.sumps.sunis.sunks.sunna.sunns.sunup.supes.supra.surah.sural.suras.surat.surds.sured.sures.surfs.surfy.surgy.surra.sused.suses.susus.sutor.sutra.sutta.swabs.swack.swads.swage.swags.swail.swain.swale.swaly.swamy.swang.swank.swans.swaps.swapt.sward.sware.swarf.swart.swats.swayl.sways.sweal.swede.sweed.sweel.sweer.swees.sweir.swelt.swerf.sweys.swies.swigs.swile.swims.swink.swipe.swire.swiss.swith.swits.swive.swizz.swobs.swole.swoln.swops.swopt.swots.swoun.sybbe.sybil.syboe.sybow.sycee.syces.sycon.syens.syker.sykes.sylis.sylph.sylva.symar.synch.syncs.synds.syned.synes.synth.syped.sypes.syphs.syrah.syren.sysop.sythe.syver.taals.taata.taber.tabes.tabid.tabis.tabla.tabor.tabun.tabus.tacan.taces.tacet.tache.tacho.tachs.tacks.tacos.tacts.taels.tafia.taggy.tagma.tahas.tahrs.taiga.taigs.taiko.tails.tains.taira.taish.taits.tajes.takas.takes.takhi.takin.takis.takky.talak.talaq.talar.talas.talcs.talcy.talea.taler.tales.talks.talky.talls.talma.talpa.taluk.talus.tamal.tamed.tames.tamin.tamis.tammy.tamps.tanas.tanga.tangi.tangs.tanhs.tanka.tanks.tanky.tanna.tansy.tanti.tanto.tanty.tapas.taped.tapen.tapes.tapet.tapis.tappa.tapus.taras.tardo.tared.tares.targa.targe.tarns.taroc.tarok.taros.tarps.tarre.tarry.tarsi.tarts.tarty.tasar.tased.taser.tases.tasks.tassa.tasse.tasso.tatar.tater.tates.taths.tatie.tatou.tatts.tatus.taube.tauld.tauon.taupe.tauts.tavah.tavas.taver.tawai.tawas.tawed.tawer.tawie.tawse.tawts.taxed.taxer.taxes.taxis.taxol.taxon.taxor.taxus.tayra.tazza.tazze.teade.teads.teaed.teaks.teals.teams.tears.teats.teaze.techs.techy.tecta.teels.teems.teend.teene.teens.teeny.teers.teffs.teggs.tegua.tegus.tehrs.teiid.teils.teind.teins.telae.telco.teles.telex.telia.telic.tells.telly.teloi.telos.temed.temes.tempi.temps.tempt.temse.tench.tends.tendu.tenes.tenge.tenia.tenne.tenno.tenny.tenon.tents.tenty.tenue.tepal.tepas.tepoy.terai.teras.terce.terek.teres.terfe.terfs.terga.terms.terne.terns.terry.terts.tesla.testa.teste.tests.tetes.teths.tetra.tetri.teuch.teugh.tewed.tewel.tewit.texas.texes.texts.thack.thagi.thaim.thale.thali.thana.thane.thang.thans.thanx.tharm.thars.thaws.thawy.thebe.theca.theed.theek.thees.thegn.theic.thein.thelf.thema.thens.theow.therm.thesp.thete.thews.thewy.thigs.thilk.thill.thine.thins.thiol.thirl.thoft.thole.tholi.thoro.thorp.thous.thowl.thrae.thraw.thrid.thrip.throe.thuds.thugs.thuja.thunk.thurl.thuya.thymi.thymy.tians.tiars.tical.ticca.ticed.tices.tichy.ticks.ticky.tiddy.tided.tides.tiers.tiffs.tifos.tifts.tiges.tigon.tikas.tikes.tikis.tikka.tilak.tiled.tiler.tiles.tills.tilly.tilth.tilts.timbo.timed.times.timon.timps.tinas.tinct.tinds.tinea.tined.tines.tinge.tings.tinks.tinny.tints.tinty.tipis.tippy.tired.tires.tirls.tiros.tirrs.titch.titer.titis.titre.titty.titup.tiyin.tiyns.tizes.tizzy.toads.toady.toaze.tocks.tocky.tocos.todde.toeas.toffs.toffy.tofts.tofus.togae.togas.toged.toges.togue.tohos.toile.toils.toing.toise.toits.tokay.toked.toker.tokes.tokos.tolan.tolar.tolas.toled.toles.tolls.tolly.tolts.tolus.tolyl.toman.tombs.tomes.tomia.tommy.tomos.tondi.tondo.toned.toner.tones.toney.tongs.tonka.tonks.tonne.tonus.tools.tooms.toons.toots.toped.topee.topek.toper.topes.tophe.tophi.tophs.topis.topoi.topos.toppy.toque.torah.toran.toras.torcs.tores.toric.torii.toros.torot.torrs.torse.torsi.torsk.torta.torte.torts.tosas.tosed.toses.toshy.tossy.toted.toter.totes.totty.touks.touns.tours.touse.tousy.touts.touze.touzy.towed.towie.towns.towny.towse.towsy.towts.towze.towzy.toyed.toyer.toyon.toyos.tozed.tozes.tozie.trabs.trads.tragi.traik.trams.trank.tranq.trans.trant.trape.traps.trapt.trass.trats.tratt.trave.trayf.trays.treck.treed.treen.trees.trefa.treif.treks.trema.trems.tress.trest.trets.trews.treyf.treys.triac.tride.trier.tries.triff.trigo.trigs.trike.trild.trill.trims.trine.trins.triol.trior.trios.trips.tripy.trist.troad.troak.troat.trock.trode.trods.trogs.trois.troke.tromp.trona.tronc.trone.tronk.trons.trooz.troth.trots.trows.troys.trued.trues.trugo.trugs.trull.tryer.tryke.tryma.tryps.tsade.tsadi.tsars.tsked.tsuba.tsubo.tuans.tuart.tuath.tubae.tubar.tubas.tubby.tubed.tubes.tucks.tufas.tuffe.tuffs.tufts.tufty.tugra.tuile.tuina.tuism.tuktu.tules.tulpa.tulsi.tumid.tummy.tumps.tumpy.tunas.tunds.tuned.tuner.tunes.tungs.tunny.tupek.tupik.tuple.tuque.turds.turfs.turfy.turks.turme.turms.turns.turnt.turps.turrs.tushy.tusks.tusky.tutee.tutti.tutty.tutus.tuxes.tuyer.twaes.twain.twals.twank.twats.tways.tweel.tween.tweep.tweer.twerk.twerp.twier.twigs.twill.twilt.twink.twins.twiny.twire.twirp.twite.twits.twoer.twyer.tyees.tyers.tyiyn.tykes.tyler.tymps.tynde.tyned.tynes.typal.typed.types.typey.typic.typos.typps.typto.tyran.tyred.tyres.tyros.tythe.tzars.udals.udons.ugali.ugged.uhlan.uhuru.ukase.ulama.ulans.ulema.ulmin.ulnad.ulnae.ulnar.ulnas.ulpan.ulvas.ulyie.ulzie.umami.umbel.umber.umble.umbos.umbre.umiac.umiak.umiaq.ummah.ummas.ummed.umped.umphs.umpie.umpty.umrah.umras.unais.unapt.unarm.unary.unaus.unbag.unban.unbar.unbed.unbid.unbox.uncap.unces.uncia.uncos.uncoy.uncus.undam.undee.undos.undug.uneth.unfix.ungag.unget.ungod.ungot.ungum.unhat.unhip.unica.units.unjam.unked.unket.unkid.unlaw.unlay.unled.unlet.unlid.unman.unmew.unmix.unpay.unpeg.unpen.unpin.unred.unrid.unrig.unrip.unsaw.unsay.unsee.unsew.unsex.unsod.untax.untin.unwet.unwit.unwon.upbow.upbye.updos.updry.upend.upjet.uplay.upled.uplit.upped.upran.uprun.upsee.upsey.uptak.upter.uptie.uraei.urali.uraos.urare.urari.urase.urate.urbex.urbia.urdee.ureal.ureas.uredo.ureic.urena.urent.urged.urger.urges.urial.urite.urman.urnal.urned.urped.ursae.ursid.urson.urubu.urvas.users.usnea.usque.usure.usury.uteri.uveal.uveas.uvula.vacua.vaded.vades.vagal.vagus.vails.vaire.vairs.vairy.vakas.vakil.vales.valis.valse.vamps.vampy.vanda.vaned.vanes.vangs.vants.vaped.vaper.vapes.varan.varas.vardy.varec.vares.varia.varix.varna.varus.varve.vasal.vases.vasts.vasty.vatic.vatus.vauch.vaute.vauts.vawte.vaxes.veale.veals.vealy.veena.veeps.veers.veery.vegas.veges.vegie.vegos.vehme.veils.veily.veins.veiny.velar.velds.veldt.veles.vells.velum.venae.venal.vends.vendu.veney.venge.venin.vents.venus.verbs.verra.verry.verst.verts.vertu.vespa.vesta.vests.vetch.vexed.vexer.vexes.vexil.vezir.vials.viand.vibes.vibex.vibey.viced.vices.vichy.viers.views.viewy.vifda.viffs.vigas.vigia.vilde.viler.villi.vills.vimen.vinal.vinas.vinca.vined.viner.vines.vinew.vinic.vinos.vints.viold.viols.vired.vireo.vires.virga.virge.virid.virls.virtu.visas.vised.vises.visie.visne.vison.visto.vitae.vitas.vitex.vitro.vitta.vivas.vivat.vivda.viver.vives.vizir.vizor.vleis.vlies.vlogs.voars.vocab.voces.voddy.vodou.vodun.voema.vogie.voids.voile.voips.volae.volar.voled.voles.volet.volks.volta.volte.volti.volts.volva.volve.vomer.voted.votes.vouge.voulu.vowed.vower.voxel.vozhd.vraic.vrils.vroom.vrous.vrouw.vrows.vuggs.vuggy.vughs.vughy.vulgo.vulns.vulva.vutty.waacs.wacke.wacko.wacks.wadds.waddy.waded.wader.wades.wadge.wadis.wadts.waffs.wafts.waged.wages.wagga.wagyu.wahoo.waide.waifs.waift.wails.wains.wairs.waite.waits.wakas.waked.waken.waker.wakes.wakfs.waldo.walds.waled.waler.wales.walie.walis.walks.walla.walls.wally.walty.wamed.wames.wamus.wands.waned.wanes.waney.wangs.wanks.wanky.wanle.wanly.wanna.wants.wanty.wanze.waqfs.warbs.warby.wards.wared.wares.warez.warks.warms.warns.warps.warre.warst.warts.wases.washy.wasms.wasps.waspy.wasts.watap.watts.wauff.waugh.wauks.waulk.wauls.waurs.waved.waves.wavey.wawas.wawes.wawls.waxed.waxer.waxes.wayed.wazir.wazoo.weald.weals.weamb.weans.wears.webby.weber.wecht.wedel.wedgy.weeds.weeke.weeks.weels.weems.weens.weeny.weeps.weepy.weest.weete.weets.wefte.wefts.weids.weils.weirs.weise.weize.wekas.welds.welke.welks.welkt.wells.welly.welts.wembs.wends.wenge.wenny.wents.weros.wersh.wests.wetas.wetly.wexed.wexes.whamo.whams.whang.whaps.whare.whata.whats.whaup.whaur.wheal.whear.wheen.wheep.wheft.whelk.whelm.whens.whets.whews.wheys.whids.whift.whigs.whilk.whims.whins.whios.whips.whipt.whirr.whirs.whish.whiss.whist.whits.whity.whizz.whomp.whoof.whoot.whops.whore.whorl.whort.whoso.whows.whump.whups.whyda.wicca.wicks.wicky.widdy.wides.wiels.wifed.wifes.wifey.wifie.wifty.wigan.wigga.wiggy.wikis.wilco.wilds.wiled.wiles.wilga.wilis.wilja.wills.wilts.wimps.winds.wined.wines.winey.winge.wings.wingy.winks.winna.winns.winos.winze.wiped.wiper.wipes.wired.wirer.wires.wirra.wised.wises.wisha.wisht.wisps.wists.witan.wited.wites.withe.withs.withy.wived.wiver.wives.wizen.wizes.woads.woald.wocks.wodge.woful.wojus.woker.wokka.wolds.wolfs.wolly.wolve.wombs.womby.womyn.wonga.wongi.wonks.wonky.wonts.woods.wooed.woofs.woofy.woold.wools.woons.woops.woopy.woose.woosh.wootz.words.works.worms.wormy.worts.wowed.wowee.woxen.wrang.wraps.wrapt.wrast.wrate.wrawl.wrens.wrick.wried.wrier.wries.writs.wroke.wroot.wroth.wryer.wuddy.wudus.wulls.wurst.wuses.wushu.wussy.wuxia.wyled.wyles.wynds.wynns.wyted.wytes.xebec.xenia.xenic.xenon.xeric.xerox.xerus.xoana.xrays.xylan.xylem.xylic.xylol.xylyl.xysti.xysts.yaars.yabas.yabba.yabby.yacca.yacka.yacks.yaffs.yager.yages.yagis.yahoo.yaird.yakka.yakow.yales.yamen.yampy.yamun.yangs.yanks.yapok.yapon.yapps.yappy.yarak.yarco.yards.yarer.yarfa.yarks.yarns.yarrs.yarta.yarto.yates.yauds.yauld.yaups.yawed.yawey.yawls.yawns.yawny.yawps.ybore.yclad.ycled.ycond.ydrad.ydred.yeads.yeahs.yealm.yeans.yeard.years.yecch.yechs.yechy.yedes.yeeds.yeesh.yeggs.yelks.yells.yelms.yelps.yelts.yenta.yente.yerba.yerds.yerks.yeses.yesks.yests.yesty.yetis.yetts.yeuks.yeuky.yeven.yeves.yewen.yexed.yexes.yfere.yiked.yikes.yills.yince.yipes.yippy.yirds.yirks.yirrs.yirth.yites.yitie.ylems.ylike.ylkes.ymolt.ympes.yobbo.yobby.yocks.yodel.yodhs.yodle.yogas.yogee.yoghs.yogic.yogin.yogis.yoick.yojan.yoked.yokel.yoker.yokes.yokul.yolks.yolky.yomim.yomps.yonic.yonis.yonks.yoofs.yoops.yores.yorks.yorps.youks.yourn.yours.yourt.youse.yowed.yowes.yowie.yowls.yowza.yrapt.yrent.yrivd.yrneh.ysame.ytost.yuans.yucas.yucca.yucch.yucko.yucks.yucky.yufts.yugas.yuked.yukes.yukky.yukos.yulan.yules.yummo.yummy.yumps.yupon.yuppy.yurta.yurts.yuzus.zabra.zacks.zaida.zaidy.zaire.zakat.zaman.zambo.zamia.zanja.zante.zanza.zanze.zappy.zarfs.zaris.zatis.zaxes.zayin.zazen.zeals.zebec.zebub.zebus.zedas.zeins.zendo.zerda.zerks.zeros.zests.zetas.zexes.zezes.zhomo.zibet.ziffs.zigan.zilas.zilch.zilla.zills.zimbi.zimbs.zinco.zincs.zincy.zineb.zines.zings.zingy.zinke.zinky.zippo.zippy.ziram.zitis.zizel.zizit.zlote.zloty.zoaea.zobos.zobus.zocco.zoeae.zoeal.zoeas.zoism.zoist.zombi.zonae.zonda.zoned.zoner.zones.zonks.zooea.zooey.zooid.zooks.zooms.zoons.zooty.zoppa.zoppo.zoril.zoris.zorro.zouks.zowee.zowie.zulus.zupan.zupas.zuppa.zurfs.zuzim.zygal.zygon.zymes.zymic".split("."), $ = 5, vi = 6, yi = Object.freeze(new Set([..._i, ...gi]));
4199
+ function bi() {
4200
+ return gi[Math.floor(Math.random() * gi.length)];
4201
+ }
4202
+ function xi(e) {
4203
+ return yi.has(e);
4204
+ }
4205
+ function Si(e, t) {
4206
+ let n = Array.from({ length: $ }, (t, n) => ({
4207
+ letter: e[n],
4208
+ status: "absent"
4209
+ })), r = {};
4210
+ for (let e = 0; e < $; e++) r[t[e]] = (r[t[e]] ?? 0) + 1;
4211
+ for (let i = 0; i < $; i++) e[i] === t[i] && (n[i].status = "correct", r[e[i]]--);
4212
+ for (let t = 0; t < $; t++) {
4213
+ if (n[t].status === "correct") continue;
4214
+ let i = e[t];
4215
+ (r[i] ?? 0) > 0 && (n[t].status = "present", r[i]--);
4216
+ }
4217
+ return n;
4218
+ }
4219
+ var Ci = [
4220
+ [
4221
+ "Q",
4222
+ "W",
4223
+ "E",
4224
+ "R",
4225
+ "T",
4226
+ "Y",
4227
+ "U",
4228
+ "I",
4229
+ "O",
4230
+ "P"
4231
+ ],
4232
+ [
4233
+ "A",
4234
+ "S",
4235
+ "D",
4236
+ "F",
4237
+ "G",
4238
+ "H",
4239
+ "J",
4240
+ "K",
4241
+ "L"
4242
+ ],
4243
+ [
4244
+ "Enter",
4245
+ "Z",
4246
+ "X",
4247
+ "C",
4248
+ "V",
4249
+ "B",
4250
+ "N",
4251
+ "M",
4252
+ "⌫"
4253
+ ]
4254
+ ];
4255
+ function wi(e, t) {
4256
+ switch (t.type) {
4257
+ case "addLetter": return e.gameStatus !== "playing" || e.currentGuess.length >= $ ? e : {
4258
+ ...e,
4259
+ currentGuess: e.currentGuess + t.letter.toLowerCase(),
4260
+ errorMessage: ""
4261
+ };
4262
+ case "removeLetter": return e.currentGuess.length === 0 ? e : {
4263
+ ...e,
4264
+ currentGuess: e.currentGuess.slice(0, -1),
4265
+ errorMessage: ""
4266
+ };
4267
+ case "submit": {
4268
+ if (e.gameStatus !== "playing") return e;
4269
+ let t = e.currentGuess;
4270
+ if (t.length !== $) return {
4271
+ ...e,
4272
+ errorMessage: "Not enough letters"
4273
+ };
4274
+ if (!xi(t)) return {
4275
+ ...e,
4276
+ errorMessage: "Not in word list"
4277
+ };
4278
+ let n = Si(t, e.answer), r = [...e.board, n], i = { ...e.letterStatuses };
4279
+ for (let { letter: e, status: t } of n) {
4280
+ let n = i[e];
4281
+ n !== "correct" && (t === "correct" || n !== "present") && (i[e] = t);
4282
+ }
4283
+ let a = e.gameStatus;
4284
+ return t === e.answer ? a = "won" : r.length >= vi && (a = "lost"), {
4285
+ ...e,
4286
+ board: r,
4287
+ letterStatuses: i,
4288
+ gameStatus: a,
4289
+ currentGuess: "",
4290
+ errorMessage: ""
4291
+ };
4292
+ }
4293
+ case "reset": return {
4294
+ answer: t.answer,
4295
+ board: [],
4296
+ currentGuess: "",
4297
+ gameStatus: "playing",
4298
+ letterStatuses: {},
4299
+ errorMessage: ""
4300
+ };
4301
+ default: return e;
4302
+ }
4303
+ }
4304
+ var Ti = (e) => {
4305
+ let a = p({
4306
+ answer: e?.initialWord ?? bi(),
4307
+ board: [],
4308
+ currentGuess: "",
4309
+ gameStatus: "playing",
4310
+ letterStatuses: {},
4311
+ errorMessage: ""
4312
+ }), o = (e) => {
4313
+ a.value = wi(a.value, e);
4314
+ }, s = (e) => o({
4315
+ type: "addLetter",
4316
+ letter: e
4317
+ }), c = () => o({ type: "removeLetter" }), d = () => o({ type: "submit" }), f = () => o({
4318
+ type: "reset",
4319
+ answer: bi()
4320
+ }), m = /* @__PURE__ */ i({
4321
+ name: "Wordle",
4322
+ setup() {
4323
+ let e = (e) => {
4324
+ let { key: t, ctrlKey: n, altKey: r, metaKey: i } = e;
4325
+ n || r || i || (t === "Enter" ? d() : t === "Backspace" ? c() : /^[a-zA-Z]$/.test(t) && s(t));
4326
+ };
4327
+ return u(() => document.addEventListener("keydown", e)), l(() => document.removeEventListener("keydown", e)), () => {
4328
+ let { answer: e, board: t, currentGuess: i, gameStatus: o, letterStatuses: l, errorMessage: u } = a.value, p = Array.from({ length: vi }, (e, n) => {
4329
+ let a = t[n], s = n === t.length && o === "playing", c = Array.from({ length: $ }, (e, t) => {
4330
+ let n = "", o = "empty";
4331
+ return a ? (n = a[t].letter.toUpperCase(), o = a[t].status) : s && (n = (i[t] ?? "").toUpperCase(), o = n ? "tbd" : "empty"), r("div", {
4332
+ key: t,
4333
+ class: _(Q.cell, o === "correct" && Q.correct, o === "present" && Q.present, o === "absent" && Q.absent, o === "tbd" && Q.tbd, o === "empty" && Q.empty)
4334
+ }, [n]);
4335
+ });
4336
+ return r("div", {
4337
+ key: n,
4338
+ class: Q.row
4339
+ }, [c]);
4340
+ });
4341
+ return r("div", { class: Q["elm-wordle"] }, [
4342
+ r("div", {
4343
+ class: _(Q["message-area"], u ? Q.error : o === "playing" ? void 0 : Q.status),
4344
+ "aria-live": "polite"
4345
+ }, [u || (o === "won" ? `🎉 You won in ${t.length} ${t.length === 1 ? "guess" : "guesses"}!` : o === "lost" ? `😢 The word was "${e.toUpperCase()}"` : null)]),
4346
+ r("div", { class: Q.board }, [p]),
4347
+ r("div", {
4348
+ class: Q.keyboard,
4349
+ onClick: (e) => {
4350
+ let t = e.target.closest("button[data-key]")?.dataset.key;
4351
+ t && (t === "Enter" ? d() : t === "⌫" ? c() : s(t));
4352
+ }
4353
+ }, [Ci.map((e, t) => r("div", {
4354
+ key: t,
4355
+ class: Q["keyboard-row"]
4356
+ }, [e.map((e) => {
4357
+ let t = l[e.toLowerCase()];
4358
+ return r("button", {
4359
+ key: e,
4360
+ "data-key": e,
4361
+ class: _(Q.key, e === "Enter" && Q.wide, e === "⌫" && Q.wide, t === "correct" && Q.correct, t === "present" && Q.present, t === "absent" && Q.absent)
4362
+ }, [e]);
4363
+ })]))]),
4364
+ r("div", { class: _(Q["reset-container"], o === "playing" && Q.hidden) }, [r("button", {
4365
+ class: Q["reset-button"],
4366
+ onClick: f
4367
+ }, [n("Play Again")])])
4368
+ ]);
4369
+ };
4370
+ }
4371
+ });
4372
+ return {
4373
+ answer: t(() => a.value.answer),
4374
+ board: t(() => a.value.board),
4375
+ currentGuess: t(() => a.value.currentGuess),
4376
+ gameStatus: t(() => a.value.gameStatus),
4377
+ letterStatuses: t(() => a.value.letterStatuses),
4378
+ errorMessage: t(() => a.value.errorMessage),
4379
+ submit: d,
4380
+ addLetter: s,
4381
+ removeLetter: c,
4382
+ reset: f,
4383
+ Wordle: m
4384
+ };
4385
+ };
4386
+ //#endregion
4387
+ export { fn as A2uiSurface, Xt as CatalogRenderer, pn as ElmA2ui, Mr as ElmBlockFallback, Xn as ElmBlockImage, rr as ElmBlockQuote, tr as ElmBookmark, $r as ElmBreadcrumb, Nr as ElmButton, ar as ElmCallout, Pr as ElmCheckbox, Wn as ElmCodeBlock, jt as ElmCollapse, ii as ElmColorPrimitiveSample, fi as ElmColorSemanticSample, Hr as ElmCopyIcon, sr as ElmDivider, jr as ElmDotLoadingIcon, $n as ElmFile, Vt as ElmFragmentIdentifier, x as ElmHeading, C as ElmInlineIcon, w as ElmInlineText, hn as ElmKatex, zn as ElmLanguageIcon, lr as ElmList, hi as ElmMarkdown, A as ElmMdiIcon, Jn as ElmModal, ei as ElmPageTop, Gt as ElmParagraph, Er as ElmParallax, Kn as ElmRectangleWave, Ir as ElmSelect, Vn as ElmShikiHighlighter, Wr as ElmSquareLoadingIcon, Lr as ElmSwitch, Lt as ElmTab, It as ElmTabList, Rt as ElmTabPanel, fr as ElmTable, pr as ElmTableBody, hr as ElmTableCell, _r as ElmTableHeader, yr as ElmTableRow, Ft as ElmTabs, Rr as ElmTextArea, zr as ElmTextField, nr as ElmToggle, Qr as ElmToggleTheme, Or as ElmTooltip, xr as ElmUnsupportedBlock, Vr as ElmValidation, ur as HasRowHeaderContext, In as LANGUAGES, Gr as THEME_CHANGE_EVENT, dr as TableSectionContext, nn as basicCatalog, wr as blockCatalog, E as defineRenderer, Un as useClipboard, Xr as useElmethisTheme, Yn as useModal, Ti as useWordle };