tiny-essentials 1.24.0 → 1.24.2

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 (445) hide show
  1. package/.github/workflows/node.js.yml +2 -2
  2. package/README.md +6 -2
  3. package/changelog/1/24/1.md +14 -0
  4. package/changelog/1/24/2.md +21 -0
  5. package/dist/v1/TinyBasicsEs.min.js +1 -1
  6. package/dist/v1/TinyDragger.min.js +1 -1
  7. package/dist/v1/TinyEssentials.min.js +1 -1
  8. package/dist/v1/TinyHtml.min.js +1 -1
  9. package/dist/v1/TinySmartScroller.min.js +1 -1
  10. package/dist/v1/TinyUploadClicker.min.js +1 -1
  11. package/dist/v1/basics/array.cjs +28 -0
  12. package/dist/v1/basics/array.d.mts +16 -0
  13. package/dist/v1/basics/array.mjs +27 -0
  14. package/dist/v1/basics/index.cjs +2 -4
  15. package/dist/v1/basics/index.d.mts +2 -2
  16. package/dist/v1/basics/index.mjs +2 -4
  17. package/dist/v1/basics/text.cjs +33 -0
  18. package/dist/v1/basics/text.d.mts +15 -0
  19. package/dist/v1/basics/text.mjs +28 -0
  20. package/dist/v1/build/TinyLevelUp.cjs +2 -2
  21. package/dist/v1/build/TinyLevelUp.d.mts +1 -1
  22. package/dist/v1/build/TinyLevelUp.mjs +1 -1
  23. package/dist/v1/index.cjs +4 -6
  24. package/dist/v1/index.d.mts +3 -3
  25. package/dist/v1/index.mjs +7 -6
  26. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
  27. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
  28. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
  29. package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
  30. package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
  31. package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
  32. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
  33. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
  34. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
  35. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
  36. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
  37. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
  38. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
  39. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
  40. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
  41. package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
  42. package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
  43. package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
  44. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
  45. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
  46. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
  47. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
  48. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
  49. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
  50. package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
  51. package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
  52. package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
  53. package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
  54. package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
  55. package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
  56. package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
  57. package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
  58. package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
  59. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
  60. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
  61. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
  62. package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
  63. package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
  64. package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
  65. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
  66. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
  67. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
  68. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
  69. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
  70. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
  71. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
  72. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
  73. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
  74. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
  75. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
  76. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
  77. package/dist/v1/libs/TinyHtml/index.cjs +202 -0
  78. package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
  79. package/dist/v1/libs/TinyHtml/index.mjs +185 -0
  80. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
  81. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
  82. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
  83. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
  84. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
  85. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
  86. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
  87. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
  88. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
  89. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
  90. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
  91. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
  92. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
  93. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
  94. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
  95. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
  96. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
  97. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
  98. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
  99. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
  100. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
  101. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
  102. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
  103. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
  104. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
  105. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
  106. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
  107. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
  108. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
  109. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
  110. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
  111. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
  112. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
  113. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
  114. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
  115. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
  116. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
  117. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
  118. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
  119. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
  120. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
  121. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
  122. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
  123. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
  124. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
  125. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
  126. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
  127. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
  128. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
  129. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
  130. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
  131. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
  132. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
  133. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
  134. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
  135. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
  136. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
  137. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
  138. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
  139. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
  140. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
  141. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
  142. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
  143. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
  144. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
  145. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
  146. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
  147. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
  148. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
  149. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
  150. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
  151. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
  152. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
  153. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
  154. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
  155. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
  156. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
  157. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
  158. package/dist/v1/libs/TinyHtml.cjs +260 -3
  159. package/dist/v1/libs/TinyHtml.d.mts +196 -5
  160. package/dist/v1/libs/TinyHtml.mjs +238 -3
  161. package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
  162. package/docs/v1/Exports.md +133 -0
  163. package/docs/v1/README.md +2 -0
  164. package/docs/v1/libs/TinyHtml.md +4 -4
  165. package/package.json +41 -46
  166. package/dist/_virtual/_commonjsHelpers.cjs +0 -7
  167. package/dist/_virtual/common.cjs +0 -5
  168. package/dist/_virtual/index.cjs +0 -9
  169. package/dist/_virtual/index2.cjs +0 -5
  170. package/dist/_virtual/trace.cjs +0 -5
  171. package/dist/legacy/crypto/decrypt.cjs +0 -59
  172. package/dist/legacy/crypto/decrypt.d.mts +0 -20
  173. package/dist/legacy/crypto/decrypt.mjs +0 -49
  174. package/dist/legacy/crypto/default.cjs +0 -23
  175. package/dist/legacy/crypto/default.d.mts +0 -36
  176. package/dist/legacy/crypto/default.mjs +0 -19
  177. package/dist/legacy/crypto/encrypt.cjs +0 -55
  178. package/dist/legacy/crypto/encrypt.d.mts +0 -21
  179. package/dist/legacy/crypto/encrypt.mjs +0 -47
  180. package/dist/legacy/crypto/index.cjs +0 -11
  181. package/dist/legacy/crypto/index.d.mts +0 -5
  182. package/dist/legacy/crypto/index.mjs +0 -6
  183. package/dist/legacy/firebase/cookieSession.cjs +0 -123
  184. package/dist/legacy/firebase/cookieSession.d.mts +0 -57
  185. package/dist/legacy/firebase/cookieSession.mjs +0 -115
  186. package/dist/legacy/firebase/database/index.cjs +0 -14
  187. package/dist/legacy/firebase/database/index.d.mts +0 -8
  188. package/dist/legacy/firebase/database/index.mjs +0 -8
  189. package/dist/legacy/firebase/database/presence.cjs +0 -137
  190. package/dist/legacy/firebase/database/presence.d.mts +0 -13
  191. package/dist/legacy/firebase/database/presence.mjs +0 -115
  192. package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
  193. package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
  194. package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
  195. package/dist/legacy/firebase/databaseEscape.cjs +0 -45
  196. package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
  197. package/dist/legacy/firebase/databaseEscape.mjs +0 -38
  198. package/dist/legacy/firebase/databaseLogger.cjs +0 -261
  199. package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
  200. package/dist/legacy/firebase/databaseLogger.mjs +0 -235
  201. package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
  202. package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
  203. package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
  204. package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
  205. package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
  206. package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
  207. package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
  208. package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
  209. package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
  210. package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
  211. package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
  212. package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
  213. package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
  214. package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
  215. package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
  216. package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
  217. package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
  218. package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
  219. package/dist/legacy/firebase/discord/api/index.cjs +0 -27
  220. package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
  221. package/dist/legacy/firebase/discord/api/index.mjs +0 -21
  222. package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
  223. package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
  224. package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
  225. package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
  226. package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
  227. package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
  228. package/dist/legacy/firebase/discord/config.cjs +0 -23
  229. package/dist/legacy/firebase/discord/config.d.mts +0 -28
  230. package/dist/legacy/firebase/discord/config.mjs +0 -18
  231. package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
  232. package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
  233. package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
  234. package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
  235. package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
  236. package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
  237. package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
  238. package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
  239. package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
  240. package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
  241. package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
  242. package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
  243. package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
  244. package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
  245. package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
  246. package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
  247. package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
  248. package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
  249. package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
  250. package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
  251. package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
  252. package/dist/legacy/firebase/discord/get/index.cjs +0 -20
  253. package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
  254. package/dist/legacy/firebase/discord/get/index.mjs +0 -14
  255. package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
  256. package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
  257. package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
  258. package/dist/legacy/firebase/discord/http/index.cjs +0 -18
  259. package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
  260. package/dist/legacy/firebase/discord/http/index.mjs +0 -12
  261. package/dist/legacy/firebase/discord/http/login.cjs +0 -130
  262. package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
  263. package/dist/legacy/firebase/discord/http/login.mjs +0 -124
  264. package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
  265. package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
  266. package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
  267. package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
  268. package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
  269. package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
  270. package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
  271. package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
  272. package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
  273. package/dist/legacy/firebase/discord/index.cjs +0 -22
  274. package/dist/legacy/firebase/discord/index.d.mts +0 -16
  275. package/dist/legacy/firebase/discord/index.mjs +0 -16
  276. package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
  277. package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
  278. package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
  279. package/dist/legacy/firebase/domainRedirect.cjs +0 -37
  280. package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
  281. package/dist/legacy/firebase/domainRedirect.mjs +0 -28
  282. package/dist/legacy/firebase/escape.cjs +0 -77
  283. package/dist/legacy/firebase/escape.d.mts +0 -18
  284. package/dist/legacy/firebase/escape.mjs +0 -59
  285. package/dist/legacy/firebase/getDBAsync.cjs +0 -35
  286. package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
  287. package/dist/legacy/firebase/getDBAsync.mjs +0 -27
  288. package/dist/legacy/firebase/getDBData.cjs +0 -24
  289. package/dist/legacy/firebase/getDBData.d.mts +0 -2
  290. package/dist/legacy/firebase/getDBData.mjs +0 -18
  291. package/dist/legacy/firebase/getDBValue.cjs +0 -19
  292. package/dist/legacy/firebase/getDBValue.d.mts +0 -10
  293. package/dist/legacy/firebase/getDBValue.mjs +0 -15
  294. package/dist/legacy/firebase/index.cjs +0 -264
  295. package/dist/legacy/firebase/index.d.mts +0 -52
  296. package/dist/legacy/firebase/index.mjs +0 -235
  297. package/dist/legacy/firebase/isEmulator.cjs +0 -16
  298. package/dist/legacy/firebase/isEmulator.d.mts +0 -9
  299. package/dist/legacy/firebase/isEmulator.mjs +0 -11
  300. package/dist/legacy/firebase/logger.cjs +0 -140
  301. package/dist/legacy/firebase/logger.d.mts +0 -8
  302. package/dist/legacy/firebase/logger.mjs +0 -126
  303. package/dist/legacy/firebase/mySQL.cjs +0 -30
  304. package/dist/legacy/firebase/mySQL.d.mts +0 -11
  305. package/dist/legacy/firebase/mySQL.mjs +0 -23
  306. package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
  307. package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
  308. package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
  309. package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
  310. package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
  311. package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
  312. package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
  313. package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
  314. package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
  315. package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
  316. package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
  317. package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
  318. package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
  319. package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
  320. package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
  321. package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
  322. package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
  323. package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
  324. package/dist/legacy/get/countObj.cjs +0 -7
  325. package/dist/legacy/get/countObj.d.mts +0 -3
  326. package/dist/legacy/get/countObj.mjs +0 -2
  327. package/dist/legacy/get/decimalColor.cjs +0 -63
  328. package/dist/legacy/get/decimalColor.d.mts +0 -14
  329. package/dist/legacy/get/decimalColor.mjs +0 -56
  330. package/dist/legacy/get/objType.cjs +0 -7
  331. package/dist/legacy/get/objType.d.mts +0 -3
  332. package/dist/legacy/get/objType.mjs +0 -2
  333. package/dist/legacy/get/pagination.cjs +0 -109
  334. package/dist/legacy/get/pagination.d.mts +0 -44
  335. package/dist/legacy/get/pagination.mjs +0 -100
  336. package/dist/legacy/get/queryUrlByName.cjs +0 -32
  337. package/dist/legacy/get/queryUrlByName.d.mts +0 -22
  338. package/dist/legacy/get/queryUrlByName.mjs +0 -29
  339. package/dist/legacy/get/queryUrlJSON.cjs +0 -57
  340. package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
  341. package/dist/legacy/get/queryUrlJSON.mjs +0 -59
  342. package/dist/legacy/get/super_string_filter.cjs +0 -109
  343. package/dist/legacy/get/super_string_filter.d.mts +0 -27
  344. package/dist/legacy/get/super_string_filter.mjs +0 -95
  345. package/dist/legacy/get/versionCheck.cjs +0 -50
  346. package/dist/legacy/get/versionCheck.d.mts +0 -29
  347. package/dist/legacy/get/versionCheck.mjs +0 -40
  348. package/dist/legacy/http/HTTP-1.0.cjs +0 -153
  349. package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
  350. package/dist/legacy/http/HTTP-1.0.mjs +0 -138
  351. package/dist/legacy/http/auth.cjs +0 -71
  352. package/dist/legacy/http/auth.d.mts +0 -43
  353. package/dist/legacy/http/auth.mjs +0 -64
  354. package/dist/legacy/http/check_domain.cjs +0 -103
  355. package/dist/legacy/http/check_domain.d.mts +0 -13
  356. package/dist/legacy/http/check_domain.mjs +0 -98
  357. package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
  358. package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
  359. package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
  360. package/dist/legacy/http/domainValidator.cjs +0 -106
  361. package/dist/legacy/http/domainValidator.d.mts +0 -41
  362. package/dist/legacy/http/domainValidator.mjs +0 -89
  363. package/dist/legacy/http/errorsCallback.cjs +0 -64
  364. package/dist/legacy/http/errorsCallback.d.mts +0 -41
  365. package/dist/legacy/http/errorsCallback.mjs +0 -58
  366. package/dist/legacy/http/fetch/json.cjs +0 -50
  367. package/dist/legacy/http/fetch/json.d.mts +0 -24
  368. package/dist/legacy/http/fetch/json.mjs +0 -43
  369. package/dist/legacy/http/fetch/text.cjs +0 -49
  370. package/dist/legacy/http/fetch/text.d.mts +0 -23
  371. package/dist/legacy/http/fetch/text.mjs +0 -42
  372. package/dist/legacy/http/fileCache.cjs +0 -80
  373. package/dist/legacy/http/fileCache.d.mts +0 -37
  374. package/dist/legacy/http/fileCache.mjs +0 -71
  375. package/dist/legacy/http/getDomainURL.cjs +0 -60
  376. package/dist/legacy/http/getDomainURL.d.mts +0 -20
  377. package/dist/legacy/http/getDomainURL.mjs +0 -55
  378. package/dist/legacy/http/userIP.cjs +0 -65
  379. package/dist/legacy/http/userIP.d.mts +0 -27
  380. package/dist/legacy/http/userIP.mjs +0 -53
  381. package/dist/legacy/index.cjs +0 -125
  382. package/dist/legacy/index.d.mts +0 -89
  383. package/dist/legacy/index.mjs +0 -93
  384. package/dist/legacy/libs/arraySortPositions.cjs +0 -30
  385. package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
  386. package/dist/legacy/libs/arraySortPositions.mjs +0 -27
  387. package/dist/legacy/libs/capitalize.cjs +0 -22
  388. package/dist/legacy/libs/capitalize.d.mts +0 -15
  389. package/dist/legacy/libs/capitalize.mjs +0 -18
  390. package/dist/legacy/libs/convertBytes.cjs +0 -66
  391. package/dist/legacy/libs/convertBytes.d.mts +0 -18
  392. package/dist/legacy/libs/convertBytes.mjs +0 -57
  393. package/dist/legacy/libs/custom_module_loader.cjs +0 -91
  394. package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
  395. package/dist/legacy/libs/custom_module_loader.mjs +0 -87
  396. package/dist/legacy/libs/dice.cjs +0 -37
  397. package/dist/legacy/libs/dice.d.mts +0 -6
  398. package/dist/legacy/libs/dice.mjs +0 -33
  399. package/dist/legacy/libs/markdown.cjs +0 -97
  400. package/dist/legacy/libs/markdown.d.mts +0 -12
  401. package/dist/legacy/libs/markdown.mjs +0 -90
  402. package/dist/legacy/libs/percentage.cjs +0 -23
  403. package/dist/legacy/libs/percentage.d.mts +0 -5
  404. package/dist/legacy/libs/percentage.mjs +0 -20
  405. package/dist/legacy/libs/regex/getLetter.cjs +0 -24
  406. package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
  407. package/dist/legacy/libs/regex/getLetter.mjs +0 -21
  408. package/dist/legacy/libs/replaceAsync.cjs +0 -35
  409. package/dist/legacy/libs/replaceAsync.d.mts +0 -16
  410. package/dist/legacy/libs/replaceAsync.mjs +0 -28
  411. package/dist/legacy/libs/rule3.cjs +0 -59
  412. package/dist/legacy/libs/rule3.d.mts +0 -6
  413. package/dist/legacy/libs/rule3.mjs +0 -55
  414. package/dist/legacy/momentjs/getAge.cjs +0 -29
  415. package/dist/legacy/momentjs/getAge.d.mts +0 -11
  416. package/dist/legacy/momentjs/getAge.mjs +0 -23
  417. package/dist/legacy/momentjs/index.cjs +0 -9
  418. package/dist/legacy/momentjs/index.d.mts +0 -4
  419. package/dist/legacy/momentjs/index.mjs +0 -3
  420. package/dist/legacy/momentjs/timeDuration.cjs +0 -31
  421. package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
  422. package/dist/legacy/momentjs/timeDuration.mjs +0 -25
  423. package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
  424. package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
  425. package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
  426. package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
  427. package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
  428. package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
  429. package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
  430. package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
  431. package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
  432. package/dist/legacy/socket.io/cookie-session.cjs +0 -27
  433. package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
  434. package/dist/legacy/socket.io/cookie-session.mjs +0 -22
  435. package/dist/legacy/socket.io/discord.cjs +0 -62
  436. package/dist/legacy/socket.io/discord.d.mts +0 -12
  437. package/dist/legacy/socket.io/discord.mjs +0 -53
  438. package/dist/legacy/socket.io/index.cjs +0 -13
  439. package/dist/legacy/socket.io/index.d.mts +0 -10
  440. package/dist/legacy/socket.io/index.mjs +0 -9
  441. package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
  442. package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
  443. package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
  444. /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
  445. /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
@@ -0,0 +1,98 @@
1
+ export default TinyHtmlAnchor;
2
+ /**
3
+ * TinyHtmlAnchor is a helper class for managing <a> elements.
4
+ * It provides strongly-typed getters and setters for attributes like href,
5
+ * target, rel, hreflang, referrerpolicy, and more.
6
+ *
7
+ * @example
8
+ * const link = new TinyHtmlAnchor({
9
+ * href: 'https://example.com',
10
+ * label: 'Visit Example',
11
+ * target: '_blank',
12
+ * rel: 'noopener noreferrer'
13
+ * });
14
+ *
15
+ * @extends TinyHtmlTemplate<HTMLAnchorElement>
16
+ */
17
+ declare class TinyHtmlAnchor extends TinyHtmlTemplate<HTMLAnchorElement> {
18
+ /**
19
+ * Creates a new TinyHtmlAnchor instance.
20
+ * @param {Object} config - Configuration object.
21
+ * @param {string} config.href - Link URL (required).
22
+ * @param {string|Element|TinyHtml<any>} [config.label] - Link text or HTML.
23
+ * @param {string} [config.target] - Target attribute.
24
+ * @param {string} [config.rel] - Relationship of the linked resource.
25
+ * @param {string} [config.hreflang] - Language of the linked resource.
26
+ * @param {string|string[]} [config.ping] - URLs to send pings to.
27
+ * @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy.
28
+ * @param {string} [config.type] - MIME type of the linked resource.
29
+ * @param {boolean|string|string[]} [config.attributionsrc] - Enables Attribution Reporting.
30
+ * @param {string|boolean} [config.download] - Download filename (or boolean to enable).
31
+ * @param {boolean} [config.allowHtml=false] - Whether to allow HTML inside the link.
32
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
33
+ * @param {string} [config.mainClass=''] - Main CSS class.
34
+ * @throws {TypeError} If any attribute is invalid.
35
+ */
36
+ constructor({ href, label, target, rel, hreflang, ping, referrerpolicy, type, attributionsrc, download, allowHtml, tags, mainClass, }: {
37
+ href: string;
38
+ label?: string | Element | TinyHtml<any> | undefined;
39
+ target?: string | undefined;
40
+ rel?: string | undefined;
41
+ hreflang?: string | undefined;
42
+ ping?: string | string[] | undefined;
43
+ referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
44
+ type?: string | undefined;
45
+ attributionsrc?: string | boolean | string[] | undefined;
46
+ download?: string | boolean | undefined;
47
+ allowHtml?: boolean | undefined;
48
+ tags?: string | string[] | Set<string> | undefined;
49
+ mainClass?: string | undefined;
50
+ });
51
+ /** @param {string} href */
52
+ set href(href: string);
53
+ /** @returns {string|null} */
54
+ get href(): string | null;
55
+ /** @param {string} target */
56
+ set target(target: string);
57
+ /** @returns {string|null} */
58
+ get target(): string | null;
59
+ /** @param {string} rel */
60
+ set rel(rel: string);
61
+ /** @returns {string|null} */
62
+ get rel(): string | null;
63
+ /** @param {string} hreflang */
64
+ set hreflang(hreflang: string);
65
+ /** @returns {string|null} */
66
+ get hreflang(): string | null;
67
+ /** @param {string|string[]} ping */
68
+ set ping(ping: string | string[]);
69
+ /** @returns {string|null} */
70
+ get ping(): string | null;
71
+ /** @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} referrerpolicy */
72
+ set referrerpolicy(referrerpolicy: "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url");
73
+ /** @returns {string|null} */
74
+ get referrerpolicy(): string | null;
75
+ /** @param {string} type */
76
+ set type(type: string);
77
+ /** @returns {string|null} */
78
+ get type(): string | null;
79
+ /** @param {boolean|string|string[]} attributionsrc */
80
+ set attributionsrc(attributionsrc: boolean | string | string[]);
81
+ /** @returns {string|null} */
82
+ get attributionsrc(): string | null;
83
+ /** @param {string|boolean} download */
84
+ set download(download: string | boolean);
85
+ /** @returns {string|boolean|null} */
86
+ get download(): string | boolean | null;
87
+ /**
88
+ * Updates the link label with text, HTML, or an element.
89
+ *
90
+ * @param {string|Element|TinyHtml<any>} label - The new label to set.
91
+ * @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements instead of plain text.
92
+ * @returns {this}
93
+ */
94
+ setLabel(label: string | Element | TinyHtml<any>, allowHtml?: boolean): this;
95
+ }
96
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
97
+ import TinyHtml from '../TinyHtml.mjs';
98
+ //# sourceMappingURL=TinyHtmlAnchor.d.mts.map
@@ -0,0 +1,207 @@
1
+ import TinyHtml from '../TinyHtml.mjs';
2
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
3
+ /**
4
+ * TinyHtmlAnchor is a helper class for managing <a> elements.
5
+ * It provides strongly-typed getters and setters for attributes like href,
6
+ * target, rel, hreflang, referrerpolicy, and more.
7
+ *
8
+ * @example
9
+ * const link = new TinyHtmlAnchor({
10
+ * href: 'https://example.com',
11
+ * label: 'Visit Example',
12
+ * target: '_blank',
13
+ * rel: 'noopener noreferrer'
14
+ * });
15
+ *
16
+ * @extends TinyHtmlTemplate<HTMLAnchorElement>
17
+ */
18
+ class TinyHtmlAnchor extends TinyHtmlTemplate {
19
+ /**
20
+ * Creates a new TinyHtmlAnchor instance.
21
+ * @param {Object} config - Configuration object.
22
+ * @param {string} config.href - Link URL (required).
23
+ * @param {string|Element|TinyHtml<any>} [config.label] - Link text or HTML.
24
+ * @param {string} [config.target] - Target attribute.
25
+ * @param {string} [config.rel] - Relationship of the linked resource.
26
+ * @param {string} [config.hreflang] - Language of the linked resource.
27
+ * @param {string|string[]} [config.ping] - URLs to send pings to.
28
+ * @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy.
29
+ * @param {string} [config.type] - MIME type of the linked resource.
30
+ * @param {boolean|string|string[]} [config.attributionsrc] - Enables Attribution Reporting.
31
+ * @param {string|boolean} [config.download] - Download filename (or boolean to enable).
32
+ * @param {boolean} [config.allowHtml=false] - Whether to allow HTML inside the link.
33
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
34
+ * @param {string} [config.mainClass=''] - Main CSS class.
35
+ * @throws {TypeError} If any attribute is invalid.
36
+ */
37
+ constructor({ href, label, target, rel, hreflang, ping, referrerpolicy, type, attributionsrc, download, allowHtml = false, tags = [], mainClass = '', }) {
38
+ super(document.createElement('a'), tags, mainClass);
39
+ if (typeof href !== 'string' || !href.trim())
40
+ throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
41
+ this.href = href;
42
+ if (target !== undefined)
43
+ this.target = target;
44
+ if (rel !== undefined)
45
+ this.rel = rel;
46
+ if (hreflang !== undefined)
47
+ this.hreflang = hreflang;
48
+ if (ping !== undefined)
49
+ this.ping = ping;
50
+ if (referrerpolicy !== undefined)
51
+ this.referrerpolicy = referrerpolicy;
52
+ if (type !== undefined)
53
+ this.type = type;
54
+ if (attributionsrc !== undefined)
55
+ this.attributionsrc = attributionsrc;
56
+ if (download !== undefined)
57
+ this.download = download;
58
+ if (typeof allowHtml !== 'boolean')
59
+ throw new TypeError('TinyHtmlAnchor: "allowHtml" must be a boolean.');
60
+ if (label !== undefined)
61
+ this.setLabel(label, allowHtml);
62
+ }
63
+ /** @param {string} href */
64
+ set href(href) {
65
+ if (typeof href !== 'string' || !href.trim())
66
+ throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
67
+ this.setAttr('href', href);
68
+ }
69
+ /** @returns {string|null} */
70
+ get href() {
71
+ return this.attrString('href');
72
+ }
73
+ /** @param {string} target */
74
+ set target(target) {
75
+ if (typeof target !== 'string')
76
+ throw new TypeError('TinyHtmlAnchor: "target" must be a string.');
77
+ this.setAttr('target', target);
78
+ }
79
+ /** @returns {string|null} */
80
+ get target() {
81
+ return this.attrString('target');
82
+ }
83
+ /** @param {string} rel */
84
+ set rel(rel) {
85
+ if (typeof rel !== 'string')
86
+ throw new TypeError('TinyHtmlAnchor: "rel" must be a string.');
87
+ this.setAttr('rel', rel);
88
+ }
89
+ /** @returns {string|null} */
90
+ get rel() {
91
+ return this.attrString('rel');
92
+ }
93
+ /** @param {string} hreflang */
94
+ set hreflang(hreflang) {
95
+ if (typeof hreflang !== 'string')
96
+ throw new TypeError('TinyHtmlAnchor: "hreflang" must be a string.');
97
+ this.setAttr('hreflang', hreflang);
98
+ }
99
+ /** @returns {string|null} */
100
+ get hreflang() {
101
+ return this.attrString('hreflang');
102
+ }
103
+ /** @param {string|string[]} ping */
104
+ set ping(ping) {
105
+ if (Array.isArray(ping))
106
+ ping = ping.join(' ');
107
+ if (typeof ping !== 'string')
108
+ throw new TypeError('TinyHtmlAnchor: "ping" must be a string or string[].');
109
+ this.setAttr('ping', ping);
110
+ }
111
+ /** @returns {string|null} */
112
+ get ping() {
113
+ return this.attrString('ping');
114
+ }
115
+ /** @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} referrerpolicy */
116
+ set referrerpolicy(referrerpolicy) {
117
+ const valid = [
118
+ 'no-referrer',
119
+ 'no-referrer-when-downgrade',
120
+ 'origin',
121
+ 'origin-when-cross-origin',
122
+ 'same-origin',
123
+ 'strict-origin',
124
+ 'strict-origin-when-cross-origin',
125
+ 'unsafe-url',
126
+ ];
127
+ if (!valid.includes(referrerpolicy))
128
+ throw new TypeError(`TinyHtmlAnchor: "referrerpolicy" must be one of: ${valid.join(', ')}`);
129
+ this.setAttr('referrerpolicy', referrerpolicy);
130
+ }
131
+ /** @returns {string|null} */
132
+ get referrerpolicy() {
133
+ return this.attrString('referrerpolicy');
134
+ }
135
+ /** @param {string} type */
136
+ set type(type) {
137
+ if (typeof type !== 'string')
138
+ throw new TypeError('TinyHtmlAnchor: "type" must be a string (MIME type).');
139
+ this.setAttr('type', type);
140
+ }
141
+ /** @returns {string|null} */
142
+ get type() {
143
+ return this.attrString('type');
144
+ }
145
+ /** @param {boolean|string|string[]} attributionsrc */
146
+ set attributionsrc(attributionsrc) {
147
+ if (attributionsrc === true) {
148
+ this.addProp('attributionsrc');
149
+ }
150
+ else if (typeof attributionsrc === 'string') {
151
+ this.setAttr('attributionsrc', attributionsrc);
152
+ }
153
+ else if (Array.isArray(attributionsrc)) {
154
+ this.setAttr('attributionsrc', attributionsrc.join(' '));
155
+ }
156
+ else {
157
+ throw new TypeError('TinyHtmlAnchor: "attributionsrc" must be a boolean, string, or string[].');
158
+ }
159
+ }
160
+ /** @returns {string|null} */
161
+ get attributionsrc() {
162
+ return this.attrString('attributionsrc');
163
+ }
164
+ /** @param {string|boolean} download */
165
+ set download(download) {
166
+ if (typeof download !== 'string' && typeof download !== 'boolean')
167
+ throw new TypeError('TinyHtmlAnchor: "download" must be a string or boolean.');
168
+ if (typeof download === 'string')
169
+ this.setAttr('download', download);
170
+ else if (download)
171
+ this.addProp('download');
172
+ else
173
+ this.removeProp('download');
174
+ }
175
+ /** @returns {string|boolean|null} */
176
+ get download() {
177
+ if (this.hasProp('download')) {
178
+ return true;
179
+ }
180
+ return this.attrString('download');
181
+ }
182
+ /**
183
+ * Updates the link label with text, HTML, or an element.
184
+ *
185
+ * @param {string|Element|TinyHtml<any>} label - The new label to set.
186
+ * @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements instead of plain text.
187
+ * @returns {this}
188
+ */
189
+ setLabel(label, allowHtml = false) {
190
+ if (typeof label === 'string') {
191
+ if (!allowHtml)
192
+ this.setText(label);
193
+ else
194
+ this.setHtml(label);
195
+ }
196
+ else if (label instanceof Element || label instanceof TinyHtml) {
197
+ if (!allowHtml)
198
+ throw new Error('setLabel: Passing an Element/TinyHtml requires allowHtml=true.');
199
+ this.empty().append(label);
200
+ }
201
+ else {
202
+ throw new TypeError("setLabel: 'label' must be a string, Element, or TinyHtml instance.");
203
+ }
204
+ return this;
205
+ }
206
+ }
207
+ export default TinyHtmlAnchor;
@@ -0,0 +1,317 @@
1
+ 'use strict';
2
+
3
+ var TinyHtml = require('../TinyHtml.cjs');
4
+ var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
5
+
6
+ /**
7
+ * TinyHtmlButton is a helper class for <button> elements with full attribute support and validation.
8
+ * It extends TinyHtmlTemplate for direct DOM manipulation.
9
+ *
10
+ * Supported attributes:
11
+ * - autofocus
12
+ * - command, commandfor
13
+ * - disabled
14
+ * - form, formaction, formenctype, formmethod, formnovalidate, formtarget
15
+ * - name
16
+ * - popovertarget, popovertargetaction
17
+ * - type (button|submit|reset)
18
+ * - value
19
+ *
20
+ * @extends TinyHtmlTemplate<HTMLButtonElement>
21
+ */
22
+ class TinyHtmlButton extends TinyHtmlTemplate {
23
+ /**
24
+ * Creates a new TinyHtmlButton instance.
25
+ *
26
+ * @param {Object} config - Configuration object for the button.
27
+ * @param {string|Element|TinyHtml<any>} config.label - The text/HTML/element to place inside the button.
28
+ * If a non-string Element/TinyHtml is provided, `allowHtml` must be true.
29
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes to apply.
30
+ * @param {boolean} [config.allowHtml=false] - Whether to allow HTML or DOM nodes as label.
31
+ * @param {'button'|'submit'|'reset'} [config.type='button'] - Button type. Allowed values: "button", "submit", "reset".
32
+ * @param {boolean} [config.autofocus=false] - Whether the button should autofocus on load.
33
+ * @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} [config.command] - Command action (built-ins: "show-modal","close","request-close","show-popover","hide-popover","toggle-popover")
34
+ * or a custom command which MUST start with `--` (two hyphens).
35
+ * @param {string} [config.commandfor] - ID of the element controlled by the command. Must be a non-empty string.
36
+ * @param {boolean} [config.disabled=false] - Whether the button is disabled.
37
+ * @param {string} [config.form] - ID of the associated <form>. Must be a non-empty string if provided.
38
+ * @param {string} [config.formaction] - URL that overrides the form action when this button is used to submit.
39
+ * @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} [config.formenctype]
40
+ * - Encoding type used when the button submits the form.
41
+ * @param {'get'|'post'|'dialog'} [config.formmethod] - HTTP method used for this button submission.
42
+ * @param {boolean} [config.formnovalidate=false] - If true, disables validation when this button submits.
43
+ * @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} [config.formtarget] - Target browsing context for this button's submission (keywords or name).
44
+ * @param {string} [config.name] - Button name (sent with value when submitting).
45
+ * @param {string} [config.popovertarget] - ID of the popover to control (non-empty string).
46
+ * @param {'show'|'hide'|'toggle'} [config.popovertargetaction] - Action for popovertarget.
47
+ * @param {string} [config.value] - Value submitted with the form when this button is used.
48
+ * @param {string} [config.mainClass=''] - Main CSS class to append to the element.
49
+ *
50
+ * @throws {TypeError} If `label` is not a string, Element, or TinyHtml instance.
51
+ * @throws {Error} If an Element/TinyHtml `label` is passed but `allowHtml` is false.
52
+ * @throws {TypeError} If `type` is not one of "button", "submit", "reset".
53
+ * @throws {TypeError} If `allowHtml` is not a boolean.
54
+ * @throws {TypeError} If `autofocus`, `disabled` or `formnovalidate` are not booleans.
55
+ * @throws {TypeError} If `command` is not a valid builtin command nor a custom `--*` token.
56
+ * @throws {TypeError} If `commandfor`, `form`, `formaction`, `name`, `popovertarget`, or `value` are not strings.
57
+ * @throws {TypeError} If `formenctype` is not one of the allowed encodings.
58
+ * @throws {TypeError} If `formmethod` is not one of 'get','post','dialog'.
59
+ * @throws {TypeError} If `formtarget` is not a valid keyword or browsing context name.
60
+ */
61
+ constructor({
62
+ label,
63
+ tags = [],
64
+ allowHtml = false,
65
+ type = 'button',
66
+ autofocus = false,
67
+ command,
68
+ commandfor,
69
+ disabled = false,
70
+ form,
71
+ formaction,
72
+ formenctype,
73
+ formmethod,
74
+ formnovalidate = false,
75
+ formtarget,
76
+ name,
77
+ popovertarget,
78
+ popovertargetaction,
79
+ value,
80
+ mainClass = '',
81
+ }) {
82
+ super(document.createElement('button'), tags, mainClass);
83
+
84
+ if (label === undefined || label === null)
85
+ throw new TypeError('TinyHtmlButton: "label" is required.');
86
+ this.setLabel(label, allowHtml);
87
+
88
+ this.type = type;
89
+ this.autofocus = autofocus;
90
+ this.disabled = disabled;
91
+ this.formnovalidate = formnovalidate;
92
+
93
+ if (command !== undefined) this.command = command;
94
+ if (commandfor !== undefined) this.commandfor = commandfor;
95
+ if (form !== undefined) this.form = form;
96
+ if (formaction !== undefined) this.formaction = formaction;
97
+ if (formenctype !== undefined) this.formenctype = formenctype;
98
+ if (formmethod !== undefined) this.formmethod = formmethod;
99
+ if (formtarget !== undefined) this.formtarget = formtarget;
100
+ if (name !== undefined) this.name = name;
101
+ if (popovertarget !== undefined) this.popovertarget = popovertarget;
102
+ if (popovertargetaction !== undefined) this.popovertargetaction = popovertargetaction;
103
+ if (value !== undefined) this.value = value;
104
+ }
105
+
106
+ /**
107
+ * Updates the button label with text, HTML, or an element.
108
+ *
109
+ * @param {string|Element|TinyHtml<any>} label - The new label.
110
+ * @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements.
111
+ * @returns {this}
112
+ * @throws {TypeError} If the label is invalid.
113
+ * @throws {Error} If DOM/HTML is passed but allowHtml=false.
114
+ */
115
+ setLabel(label, allowHtml = false) {
116
+ if (typeof label === 'string') {
117
+ if (!allowHtml) this.setText(label);
118
+ else this.setHtml(label);
119
+ } else if (label instanceof Element || label instanceof TinyHtml) {
120
+ if (!allowHtml)
121
+ throw new Error('setLabel: Passing an Element/TinyHtml requires allowHtml=true.');
122
+ this.empty().append(label);
123
+ } else {
124
+ throw new TypeError("setLabel: 'label' must be a string, Element, or TinyHtml instance.");
125
+ }
126
+ return this;
127
+ }
128
+
129
+ // --- Getters & Setters ---
130
+
131
+ /** @returns {string|null} */
132
+ get type() {
133
+ return this.attrString('type');
134
+ }
135
+ /** @param {'button'|'submit'|'reset'} val */
136
+ set type(val) {
137
+ const allowed = ['button', 'submit', 'reset'];
138
+ if (typeof val !== 'string' || !allowed.includes(val))
139
+ throw new TypeError(`TinyHtmlButton.type must be one of: ${allowed.join(', ')}`);
140
+ this.setAttr('type', val);
141
+ }
142
+
143
+ /** @returns {boolean} */
144
+ get disabled() {
145
+ return this.hasProp('disabled');
146
+ }
147
+ /** @param {boolean} state */
148
+ set disabled(state) {
149
+ if (typeof state !== 'boolean') throw new TypeError('TinyHtmlButton.disabled must be boolean.');
150
+ if (state) this.addProp('disabled');
151
+ else this.removeProp('disabled');
152
+ }
153
+
154
+ /** @returns {boolean} */
155
+ get autofocus() {
156
+ return this.hasProp('autofocus');
157
+ }
158
+ /** @param {boolean} state */
159
+ set autofocus(state) {
160
+ if (typeof state !== 'boolean')
161
+ throw new TypeError('TinyHtmlButton.autofocus must be boolean.');
162
+ if (state) this.addProp('autofocus');
163
+ else this.removeProp('autofocus');
164
+ }
165
+
166
+ /** @returns {boolean} */
167
+ get formnovalidate() {
168
+ return this.hasProp('formnovalidate');
169
+ }
170
+ /** @param {boolean} state */
171
+ set formnovalidate(state) {
172
+ if (typeof state !== 'boolean')
173
+ throw new TypeError('TinyHtmlButton.formnovalidate must be boolean.');
174
+ if (state) this.addProp('formnovalidate');
175
+ else this.removeProp('formnovalidate');
176
+ }
177
+
178
+ /** @returns {string|null} */
179
+ get command() {
180
+ return this.attrString('command');
181
+ }
182
+ /** @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} cmd */
183
+ set command(cmd) {
184
+ const builtins = [
185
+ 'show-modal',
186
+ 'close',
187
+ 'request-close',
188
+ 'show-popover',
189
+ 'hide-popover',
190
+ 'toggle-popover',
191
+ ];
192
+ if (typeof cmd !== 'string' || (!builtins.includes(cmd) && !cmd.startsWith('--')))
193
+ throw new TypeError(
194
+ 'TinyHtmlButton.command must be a built-in or custom string starting with "--".',
195
+ );
196
+ this.setAttr('command', cmd);
197
+ }
198
+
199
+ /** @returns {string|null} */
200
+ get commandfor() {
201
+ return this.attrString('commandfor');
202
+ }
203
+ /** @param {string} val */
204
+ set commandfor(val) {
205
+ if (typeof val !== 'string' || !val.trim())
206
+ throw new TypeError('TinyHtmlButton.commandfor must be a non-empty string.');
207
+ this.setAttr('commandfor', val);
208
+ }
209
+
210
+ /** @returns {string|null} */
211
+ get form() {
212
+ return this.attrString('form');
213
+ }
214
+ /** @param {string} val */
215
+ set form(val) {
216
+ if (typeof val !== 'string' || !val.trim())
217
+ throw new TypeError('TinyHtmlButton.form must be a non-empty string.');
218
+ this.setAttr('form', val);
219
+ }
220
+
221
+ /** @returns {string|null} */
222
+ get formaction() {
223
+ return this.attrString('formaction');
224
+ }
225
+ /** @param {string} val */
226
+ set formaction(val) {
227
+ if (typeof val !== 'string' || !val.trim())
228
+ throw new TypeError('TinyHtmlButton.formaction must be a non-empty string.');
229
+ this.setAttr('formaction', val);
230
+ }
231
+
232
+ /** @returns {string|null} */
233
+ get formenctype() {
234
+ return this.attrString('formenctype');
235
+ }
236
+ /** @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} val */
237
+ set formenctype(val) {
238
+ const valid = ['application/x-www-form-urlencoded', 'multipart/form-data', 'text/plain'];
239
+ if (!valid.includes(val))
240
+ throw new TypeError(`TinyHtmlButton.formenctype must be one of: ${valid.join(', ')}`);
241
+ this.setAttr('formenctype', val);
242
+ }
243
+
244
+ /** @returns {string|null} */
245
+ get formmethod() {
246
+ return this.attrString('formmethod');
247
+ }
248
+ /** @param {'get'|'post'|'dialog'} val */
249
+ set formmethod(val) {
250
+ const valid = ['get', 'post', 'dialog'];
251
+ if (typeof val !== 'string' || !valid.includes(val.toLowerCase()))
252
+ throw new TypeError(`TinyHtmlButton.formmethod must be one of: ${valid.join(', ')}`);
253
+ this.setAttr('formmethod', val.toLowerCase());
254
+ }
255
+
256
+ /** @returns {string|null} */
257
+ get formtarget() {
258
+ return this.attrString('formtarget');
259
+ }
260
+ /** @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} val */
261
+ set formtarget(val) {
262
+ const validTargets = ['_self', '_blank', '_parent', '_top', '_unfencedTop'];
263
+ const validName = /^[a-zA-Z_][\w-]*$/;
264
+ if (typeof val !== 'string' || (!validTargets.includes(val) && !validName.test(val)))
265
+ throw new TypeError(
266
+ `TinyHtmlButton.formtarget must be a keyword (${validTargets.join(', ')}) or valid name.`,
267
+ );
268
+ this.setAttr('formtarget', val);
269
+ }
270
+
271
+ /** @returns {string|null} */
272
+ get name() {
273
+ return this.attr('name');
274
+ }
275
+ /** @param {string} val */
276
+ set name(val) {
277
+ if (typeof val !== 'string' || !val.trim())
278
+ throw new TypeError('TinyHtmlButton.name must be a non-empty string.');
279
+ this.setAttr('name', val);
280
+ }
281
+
282
+ /** @returns {string|null} */
283
+ get popovertarget() {
284
+ return this.attr('popovertarget');
285
+ }
286
+ /** @param {string} val */
287
+ set popovertarget(val) {
288
+ if (typeof val !== 'string' || !val.trim())
289
+ throw new TypeError('TinyHtmlButton.popovertarget must be a non-empty string.');
290
+ this.setAttr('popovertarget', val);
291
+ }
292
+
293
+ /** @returns {string|null} */
294
+ get popovertargetaction() {
295
+ return this.attrString('popovertargetaction');
296
+ }
297
+ /** @param {'show'|'hide'|'toggle'} val */
298
+ set popovertargetaction(val) {
299
+ const allowed = ['show', 'hide', 'toggle'];
300
+ if (typeof val !== 'string' || !allowed.includes(val))
301
+ throw new TypeError(
302
+ `TinyHtmlButton.popovertargetaction must be one of: ${allowed.join(', ')}`,
303
+ );
304
+ this.setAttr('popovertargetaction', val);
305
+ }
306
+
307
+ /** @returns {string|null} */
308
+ get value() {
309
+ return this.attr('value');
310
+ }
311
+ set value(val) {
312
+ if (typeof val !== 'string') throw new TypeError('TinyHtmlButton.value must be a string.');
313
+ this.setAttr('value', val);
314
+ }
315
+ }
316
+
317
+ module.exports = TinyHtmlButton;