tiny-essentials 1.23.2 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/.github/workflows/node.js.yml +2 -2
  2. package/README.md +6 -2
  3. package/changelog/1/23/2.md +2 -0
  4. package/changelog/1/24/0.md +10 -0
  5. package/changelog/1/24/1.md +12 -0
  6. package/dist/v1/TinyBasicsEs.min.js +1 -1
  7. package/dist/v1/TinyColorValidator.min.js +1 -0
  8. package/dist/v1/TinyDragger.min.js +1 -1
  9. package/dist/v1/TinyEssentials.min.js +1 -1
  10. package/dist/v1/TinyHtml.min.js +1 -1
  11. package/dist/v1/TinySmartScroller.min.js +1 -1
  12. package/dist/v1/TinyUploadClicker.min.js +1 -1
  13. package/dist/v1/basics/array.cjs +28 -0
  14. package/dist/v1/basics/array.d.mts +16 -0
  15. package/dist/v1/basics/array.mjs +27 -0
  16. package/dist/v1/basics/index.cjs +2 -4
  17. package/dist/v1/basics/index.d.mts +2 -2
  18. package/dist/v1/basics/index.mjs +2 -4
  19. package/dist/v1/basics/text.cjs +33 -0
  20. package/dist/v1/basics/text.d.mts +15 -0
  21. package/dist/v1/basics/text.mjs +28 -0
  22. package/dist/v1/build/TinyColorValidator.cjs +7 -0
  23. package/dist/v1/build/TinyColorValidator.d.mts +3 -0
  24. package/dist/v1/build/TinyColorValidator.mjs +2 -0
  25. package/dist/v1/build/TinyLevelUp.cjs +2 -2
  26. package/dist/v1/build/TinyLevelUp.d.mts +1 -1
  27. package/dist/v1/build/TinyLevelUp.mjs +1 -1
  28. package/dist/v1/index.cjs +6 -6
  29. package/dist/v1/index.d.mts +5 -4
  30. package/dist/v1/index.mjs +8 -6
  31. package/dist/v1/libs/TinyColorValidator.cjs +907 -0
  32. package/dist/v1/libs/TinyColorValidator.d.mts +452 -0
  33. package/dist/v1/libs/TinyColorValidator.mjs +853 -0
  34. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
  35. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
  36. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
  37. package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
  38. package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
  39. package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
  40. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
  41. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
  42. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
  43. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
  44. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
  45. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
  46. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
  47. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
  48. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
  49. package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
  50. package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
  51. package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
  52. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
  53. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
  54. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
  55. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
  56. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
  57. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
  58. package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
  59. package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
  60. package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
  61. package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
  62. package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
  63. package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
  64. package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
  65. package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
  66. package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
  67. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
  68. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
  69. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
  70. package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
  71. package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
  72. package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
  73. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
  74. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
  75. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
  76. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
  77. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
  78. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
  79. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
  80. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
  81. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
  82. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
  83. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
  84. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
  85. package/dist/v1/libs/TinyHtml/index.cjs +202 -0
  86. package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
  87. package/dist/v1/libs/TinyHtml/index.mjs +185 -0
  88. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
  89. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
  90. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
  91. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
  92. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
  93. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
  94. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
  95. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
  96. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
  97. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
  98. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
  99. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
  100. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
  101. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
  102. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
  103. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
  104. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
  105. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
  106. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
  107. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
  108. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
  109. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
  110. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
  111. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
  112. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
  113. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
  114. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
  115. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
  116. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
  117. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
  118. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
  119. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
  120. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
  121. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
  122. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
  123. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
  124. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
  125. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
  126. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
  127. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
  128. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
  129. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
  130. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
  131. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
  132. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
  133. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
  134. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
  135. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
  136. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
  137. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
  138. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
  139. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
  140. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
  141. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
  142. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
  143. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
  144. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
  145. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
  146. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
  147. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
  148. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
  149. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
  150. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
  151. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
  152. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
  153. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
  154. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
  155. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
  156. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
  157. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
  158. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
  159. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
  160. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
  161. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
  162. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
  163. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
  164. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
  165. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
  166. package/dist/v1/libs/TinyHtml.cjs +260 -3
  167. package/dist/v1/libs/TinyHtml.d.mts +196 -5
  168. package/dist/v1/libs/TinyHtml.mjs +238 -3
  169. package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
  170. package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
  171. package/docs/v1/README.md +1 -0
  172. package/docs/v1/libs/TinyColorValidator.md +532 -0
  173. package/docs/v1/libs/TinyHtml.md +4 -4
  174. package/package.json +15 -24
  175. package/dist/_virtual/_commonjsHelpers.cjs +0 -7
  176. package/dist/_virtual/common.cjs +0 -5
  177. package/dist/_virtual/index.cjs +0 -9
  178. package/dist/_virtual/index2.cjs +0 -5
  179. package/dist/_virtual/trace.cjs +0 -5
  180. package/dist/legacy/crypto/decrypt.cjs +0 -59
  181. package/dist/legacy/crypto/decrypt.d.mts +0 -20
  182. package/dist/legacy/crypto/decrypt.mjs +0 -49
  183. package/dist/legacy/crypto/default.cjs +0 -23
  184. package/dist/legacy/crypto/default.d.mts +0 -36
  185. package/dist/legacy/crypto/default.mjs +0 -19
  186. package/dist/legacy/crypto/encrypt.cjs +0 -55
  187. package/dist/legacy/crypto/encrypt.d.mts +0 -21
  188. package/dist/legacy/crypto/encrypt.mjs +0 -47
  189. package/dist/legacy/crypto/index.cjs +0 -11
  190. package/dist/legacy/crypto/index.d.mts +0 -5
  191. package/dist/legacy/crypto/index.mjs +0 -6
  192. package/dist/legacy/firebase/cookieSession.cjs +0 -123
  193. package/dist/legacy/firebase/cookieSession.d.mts +0 -57
  194. package/dist/legacy/firebase/cookieSession.mjs +0 -115
  195. package/dist/legacy/firebase/database/index.cjs +0 -14
  196. package/dist/legacy/firebase/database/index.d.mts +0 -8
  197. package/dist/legacy/firebase/database/index.mjs +0 -8
  198. package/dist/legacy/firebase/database/presence.cjs +0 -137
  199. package/dist/legacy/firebase/database/presence.d.mts +0 -13
  200. package/dist/legacy/firebase/database/presence.mjs +0 -115
  201. package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
  202. package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
  203. package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
  204. package/dist/legacy/firebase/databaseEscape.cjs +0 -45
  205. package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
  206. package/dist/legacy/firebase/databaseEscape.mjs +0 -38
  207. package/dist/legacy/firebase/databaseLogger.cjs +0 -261
  208. package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
  209. package/dist/legacy/firebase/databaseLogger.mjs +0 -235
  210. package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
  211. package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
  212. package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
  213. package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
  214. package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
  215. package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
  216. package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
  217. package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
  218. package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
  219. package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
  220. package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
  221. package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
  222. package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
  223. package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
  224. package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
  225. package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
  226. package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
  227. package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
  228. package/dist/legacy/firebase/discord/api/index.cjs +0 -27
  229. package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
  230. package/dist/legacy/firebase/discord/api/index.mjs +0 -21
  231. package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
  232. package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
  233. package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
  234. package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
  235. package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
  236. package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
  237. package/dist/legacy/firebase/discord/config.cjs +0 -23
  238. package/dist/legacy/firebase/discord/config.d.mts +0 -28
  239. package/dist/legacy/firebase/discord/config.mjs +0 -18
  240. package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
  241. package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
  242. package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
  243. package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
  244. package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
  245. package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
  246. package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
  247. package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
  248. package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
  249. package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
  250. package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
  251. package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
  252. package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
  253. package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
  254. package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
  255. package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
  256. package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
  257. package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
  258. package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
  259. package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
  260. package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
  261. package/dist/legacy/firebase/discord/get/index.cjs +0 -20
  262. package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
  263. package/dist/legacy/firebase/discord/get/index.mjs +0 -14
  264. package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
  265. package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
  266. package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
  267. package/dist/legacy/firebase/discord/http/index.cjs +0 -18
  268. package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
  269. package/dist/legacy/firebase/discord/http/index.mjs +0 -12
  270. package/dist/legacy/firebase/discord/http/login.cjs +0 -130
  271. package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
  272. package/dist/legacy/firebase/discord/http/login.mjs +0 -124
  273. package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
  274. package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
  275. package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
  276. package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
  277. package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
  278. package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
  279. package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
  280. package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
  281. package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
  282. package/dist/legacy/firebase/discord/index.cjs +0 -22
  283. package/dist/legacy/firebase/discord/index.d.mts +0 -16
  284. package/dist/legacy/firebase/discord/index.mjs +0 -16
  285. package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
  286. package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
  287. package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
  288. package/dist/legacy/firebase/domainRedirect.cjs +0 -37
  289. package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
  290. package/dist/legacy/firebase/domainRedirect.mjs +0 -28
  291. package/dist/legacy/firebase/escape.cjs +0 -77
  292. package/dist/legacy/firebase/escape.d.mts +0 -18
  293. package/dist/legacy/firebase/escape.mjs +0 -59
  294. package/dist/legacy/firebase/getDBAsync.cjs +0 -35
  295. package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
  296. package/dist/legacy/firebase/getDBAsync.mjs +0 -27
  297. package/dist/legacy/firebase/getDBData.cjs +0 -24
  298. package/dist/legacy/firebase/getDBData.d.mts +0 -2
  299. package/dist/legacy/firebase/getDBData.mjs +0 -18
  300. package/dist/legacy/firebase/getDBValue.cjs +0 -19
  301. package/dist/legacy/firebase/getDBValue.d.mts +0 -10
  302. package/dist/legacy/firebase/getDBValue.mjs +0 -15
  303. package/dist/legacy/firebase/index.cjs +0 -264
  304. package/dist/legacy/firebase/index.d.mts +0 -52
  305. package/dist/legacy/firebase/index.mjs +0 -235
  306. package/dist/legacy/firebase/isEmulator.cjs +0 -16
  307. package/dist/legacy/firebase/isEmulator.d.mts +0 -9
  308. package/dist/legacy/firebase/isEmulator.mjs +0 -11
  309. package/dist/legacy/firebase/logger.cjs +0 -140
  310. package/dist/legacy/firebase/logger.d.mts +0 -8
  311. package/dist/legacy/firebase/logger.mjs +0 -126
  312. package/dist/legacy/firebase/mySQL.cjs +0 -30
  313. package/dist/legacy/firebase/mySQL.d.mts +0 -11
  314. package/dist/legacy/firebase/mySQL.mjs +0 -23
  315. package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
  316. package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
  317. package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
  318. package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
  319. package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
  320. package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
  321. package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
  322. package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
  323. package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
  324. package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
  325. package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
  326. package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
  327. package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
  328. package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
  329. package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
  330. package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
  331. package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
  332. package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
  333. package/dist/legacy/get/countObj.cjs +0 -7
  334. package/dist/legacy/get/countObj.d.mts +0 -3
  335. package/dist/legacy/get/countObj.mjs +0 -2
  336. package/dist/legacy/get/decimalColor.cjs +0 -63
  337. package/dist/legacy/get/decimalColor.d.mts +0 -14
  338. package/dist/legacy/get/decimalColor.mjs +0 -56
  339. package/dist/legacy/get/objType.cjs +0 -7
  340. package/dist/legacy/get/objType.d.mts +0 -3
  341. package/dist/legacy/get/objType.mjs +0 -2
  342. package/dist/legacy/get/pagination.cjs +0 -109
  343. package/dist/legacy/get/pagination.d.mts +0 -44
  344. package/dist/legacy/get/pagination.mjs +0 -100
  345. package/dist/legacy/get/queryUrlByName.cjs +0 -32
  346. package/dist/legacy/get/queryUrlByName.d.mts +0 -22
  347. package/dist/legacy/get/queryUrlByName.mjs +0 -29
  348. package/dist/legacy/get/queryUrlJSON.cjs +0 -57
  349. package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
  350. package/dist/legacy/get/queryUrlJSON.mjs +0 -59
  351. package/dist/legacy/get/super_string_filter.cjs +0 -109
  352. package/dist/legacy/get/super_string_filter.d.mts +0 -27
  353. package/dist/legacy/get/super_string_filter.mjs +0 -95
  354. package/dist/legacy/get/versionCheck.cjs +0 -50
  355. package/dist/legacy/get/versionCheck.d.mts +0 -29
  356. package/dist/legacy/get/versionCheck.mjs +0 -40
  357. package/dist/legacy/http/HTTP-1.0.cjs +0 -153
  358. package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
  359. package/dist/legacy/http/HTTP-1.0.mjs +0 -138
  360. package/dist/legacy/http/auth.cjs +0 -71
  361. package/dist/legacy/http/auth.d.mts +0 -43
  362. package/dist/legacy/http/auth.mjs +0 -64
  363. package/dist/legacy/http/check_domain.cjs +0 -103
  364. package/dist/legacy/http/check_domain.d.mts +0 -13
  365. package/dist/legacy/http/check_domain.mjs +0 -98
  366. package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
  367. package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
  368. package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
  369. package/dist/legacy/http/domainValidator.cjs +0 -106
  370. package/dist/legacy/http/domainValidator.d.mts +0 -41
  371. package/dist/legacy/http/domainValidator.mjs +0 -89
  372. package/dist/legacy/http/errorsCallback.cjs +0 -64
  373. package/dist/legacy/http/errorsCallback.d.mts +0 -41
  374. package/dist/legacy/http/errorsCallback.mjs +0 -58
  375. package/dist/legacy/http/fetch/json.cjs +0 -50
  376. package/dist/legacy/http/fetch/json.d.mts +0 -24
  377. package/dist/legacy/http/fetch/json.mjs +0 -43
  378. package/dist/legacy/http/fetch/text.cjs +0 -49
  379. package/dist/legacy/http/fetch/text.d.mts +0 -23
  380. package/dist/legacy/http/fetch/text.mjs +0 -42
  381. package/dist/legacy/http/fileCache.cjs +0 -80
  382. package/dist/legacy/http/fileCache.d.mts +0 -37
  383. package/dist/legacy/http/fileCache.mjs +0 -71
  384. package/dist/legacy/http/getDomainURL.cjs +0 -60
  385. package/dist/legacy/http/getDomainURL.d.mts +0 -20
  386. package/dist/legacy/http/getDomainURL.mjs +0 -55
  387. package/dist/legacy/http/userIP.cjs +0 -65
  388. package/dist/legacy/http/userIP.d.mts +0 -27
  389. package/dist/legacy/http/userIP.mjs +0 -53
  390. package/dist/legacy/index.cjs +0 -125
  391. package/dist/legacy/index.d.mts +0 -89
  392. package/dist/legacy/index.mjs +0 -93
  393. package/dist/legacy/libs/arraySortPositions.cjs +0 -30
  394. package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
  395. package/dist/legacy/libs/arraySortPositions.mjs +0 -27
  396. package/dist/legacy/libs/capitalize.cjs +0 -22
  397. package/dist/legacy/libs/capitalize.d.mts +0 -15
  398. package/dist/legacy/libs/capitalize.mjs +0 -18
  399. package/dist/legacy/libs/convertBytes.cjs +0 -66
  400. package/dist/legacy/libs/convertBytes.d.mts +0 -18
  401. package/dist/legacy/libs/convertBytes.mjs +0 -57
  402. package/dist/legacy/libs/custom_module_loader.cjs +0 -91
  403. package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
  404. package/dist/legacy/libs/custom_module_loader.mjs +0 -87
  405. package/dist/legacy/libs/dice.cjs +0 -37
  406. package/dist/legacy/libs/dice.d.mts +0 -6
  407. package/dist/legacy/libs/dice.mjs +0 -33
  408. package/dist/legacy/libs/markdown.cjs +0 -97
  409. package/dist/legacy/libs/markdown.d.mts +0 -12
  410. package/dist/legacy/libs/markdown.mjs +0 -90
  411. package/dist/legacy/libs/percentage.cjs +0 -23
  412. package/dist/legacy/libs/percentage.d.mts +0 -5
  413. package/dist/legacy/libs/percentage.mjs +0 -20
  414. package/dist/legacy/libs/regex/getLetter.cjs +0 -24
  415. package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
  416. package/dist/legacy/libs/regex/getLetter.mjs +0 -21
  417. package/dist/legacy/libs/replaceAsync.cjs +0 -35
  418. package/dist/legacy/libs/replaceAsync.d.mts +0 -16
  419. package/dist/legacy/libs/replaceAsync.mjs +0 -28
  420. package/dist/legacy/libs/rule3.cjs +0 -59
  421. package/dist/legacy/libs/rule3.d.mts +0 -6
  422. package/dist/legacy/libs/rule3.mjs +0 -55
  423. package/dist/legacy/momentjs/getAge.cjs +0 -29
  424. package/dist/legacy/momentjs/getAge.d.mts +0 -11
  425. package/dist/legacy/momentjs/getAge.mjs +0 -23
  426. package/dist/legacy/momentjs/index.cjs +0 -9
  427. package/dist/legacy/momentjs/index.d.mts +0 -4
  428. package/dist/legacy/momentjs/index.mjs +0 -3
  429. package/dist/legacy/momentjs/timeDuration.cjs +0 -31
  430. package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
  431. package/dist/legacy/momentjs/timeDuration.mjs +0 -25
  432. package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
  433. package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
  434. package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
  435. package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
  436. package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
  437. package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
  438. package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
  439. package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
  440. package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
  441. package/dist/legacy/socket.io/cookie-session.cjs +0 -27
  442. package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
  443. package/dist/legacy/socket.io/cookie-session.mjs +0 -22
  444. package/dist/legacy/socket.io/discord.cjs +0 -62
  445. package/dist/legacy/socket.io/discord.d.mts +0 -12
  446. package/dist/legacy/socket.io/discord.mjs +0 -53
  447. package/dist/legacy/socket.io/index.cjs +0 -13
  448. package/dist/legacy/socket.io/index.d.mts +0 -10
  449. package/dist/legacy/socket.io/index.mjs +0 -9
  450. package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
  451. package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
  452. package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
  453. /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
  454. /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
@@ -0,0 +1,212 @@
1
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
2
+ /**
3
+ * TinyHtmlIframe is a helper class for managing <iframe> elements.
4
+ * It supports all standard attributes with validation and type safety.
5
+ *
6
+ * @example
7
+ * const iframe = new TinyHtmlIframe({
8
+ * src: 'https://example.com',
9
+ * width: 600,
10
+ * height: 400,
11
+ * loading: 'lazy',
12
+ * sandbox: 'allow-scripts allow-same-origin',
13
+ * referrerpolicy: 'no-referrer',
14
+ * });
15
+ *
16
+ * @extends TinyHtmlTemplate<HTMLIFrameElement>
17
+ */
18
+ class TinyHtmlIframe extends TinyHtmlTemplate {
19
+ /**
20
+ * Creates a new TinyHtmlIframe instance with the specified configuration options.
21
+ *
22
+ * @param {Object} [config={}] - Configuration object for the iframe element.
23
+ * @param {string} [config.src] - The URL of the page to embed inside the iframe.
24
+ * @param {string} [config.srcdoc] - Inline HTML content to display inside the iframe (overrides `src` if provided).
25
+ * @param {string} [config.name] - A name for the browsing context (used as the target for links or forms).
26
+ * @param {string} [config.allow] - Permissions policy for the iframe (e.g., `"fullscreen; autoplay"`).
27
+ * @param {boolean} [config.allowFullScreen=false] - Whether the iframe is allowed to display content in fullscreen mode.
28
+ * @param {boolean} [config.browsingtopics] - Enables the Browsing Topics API.
29
+ * @param {boolean} [config.credentialless] - Enables credentialless mode for cross-origin iframes.
30
+ * @param {string} [config.csp] - Content Security Policy applied specifically to the iframe's content.
31
+ * @param {string} [config.sandbox] - A space-separated list of sandboxing flags that restrict iframe capabilities.
32
+ * @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 to control the amount of referrer information sent.
33
+ * @param {number|string} [config.width] - Width of the iframe in pixels or as a CSS dimension string (e.g., `"100%"`).
34
+ * @param {number|string} [config.height] - Height of the iframe in pixels or as a CSS dimension string (e.g., `"500px"`).
35
+ * @param {string} [config.title] - Accessible title for the iframe content.
36
+ * @param {'lazy'|'eager'} [config.loading] - Loading strategy for the iframe. `"lazy"` defers loading until visible in the viewport.
37
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Additional tags or identifiers for this instance.
38
+ * @param {string} [config.mainClass=''] - A main CSS class applied to the iframe element.
39
+ */
40
+ constructor({ src, srcdoc, name, allow, allowFullScreen = false, browsingtopics, credentialless, csp, sandbox, referrerpolicy, width, height, title, loading, tags = [], mainClass = '', } = {}) {
41
+ super(document.createElement('iframe'), tags, mainClass);
42
+ if (src !== undefined)
43
+ this.src = src;
44
+ if (srcdoc !== undefined)
45
+ this.srcdoc = srcdoc;
46
+ if (name !== undefined)
47
+ this.name = name;
48
+ if (allow !== undefined)
49
+ this.allow = allow;
50
+ this.allowFullScreen = allowFullScreen;
51
+ if (browsingtopics !== undefined)
52
+ this.browsingtopics = browsingtopics;
53
+ if (credentialless !== undefined)
54
+ this.credentialless = credentialless;
55
+ if (csp !== undefined)
56
+ this.csp = csp;
57
+ if (sandbox !== undefined)
58
+ this.sandbox = sandbox;
59
+ if (referrerpolicy !== undefined)
60
+ this.referrerpolicy = referrerpolicy;
61
+ if (width !== undefined)
62
+ this.setWidth(width);
63
+ if (height !== undefined)
64
+ this.setHeight(height);
65
+ if (title !== undefined)
66
+ this.title = title;
67
+ if (loading !== undefined)
68
+ this.loading = loading;
69
+ }
70
+ // --- attributes ---
71
+ /** @param {string} src */
72
+ set src(src) {
73
+ if (typeof src !== 'string')
74
+ throw new TypeError('TinyIframe: "src" must be a string.');
75
+ this.setAttr('src', src);
76
+ }
77
+ /** @returns {string|null} */
78
+ get src() {
79
+ return this.attrString('src');
80
+ }
81
+ /** @param {string} srcdoc */
82
+ set srcdoc(srcdoc) {
83
+ if (typeof srcdoc !== 'string')
84
+ throw new TypeError('TinyIframe: "srcdoc" must be a string.');
85
+ this.setAttr('srcdoc', srcdoc);
86
+ }
87
+ /** @returns {string|null} */
88
+ get srcdoc() {
89
+ return this.attrString('srcdoc');
90
+ }
91
+ /** @param {string} name */
92
+ set name(name) {
93
+ if (typeof name !== 'string')
94
+ throw new TypeError('TinyIframe: "name" must be a string.');
95
+ this.setAttr('name', name);
96
+ }
97
+ /** @returns {string|null} */
98
+ get name() {
99
+ return this.attrString('name');
100
+ }
101
+ /** @param {string} allow */
102
+ set allow(allow) {
103
+ if (typeof allow !== 'string')
104
+ throw new TypeError('TinyIframe: "allow" must be a string.');
105
+ this.setAttr('allow', allow);
106
+ }
107
+ /** @returns {string|null} */
108
+ get allow() {
109
+ return this.attrString('allow');
110
+ }
111
+ /** @param {boolean} allowFullScreen */
112
+ set allowFullScreen(allowFullScreen) {
113
+ if (typeof allowFullScreen !== 'boolean')
114
+ throw new TypeError('TinyIframe: "allowFullScreen" must be a boolean.');
115
+ if (allowFullScreen)
116
+ this.addProp('allowfullscreen');
117
+ else
118
+ this.removeProp('allowfullscreen');
119
+ }
120
+ /** @returns {boolean} */
121
+ get allowFullScreen() {
122
+ return this.hasProp('allowfullscreen');
123
+ }
124
+ /** @param {boolean} browsingtopics */
125
+ set browsingtopics(browsingtopics) {
126
+ if (typeof browsingtopics !== 'boolean')
127
+ throw new TypeError('TinyIframe: "browsingtopics" must be a boolean.');
128
+ if (browsingtopics)
129
+ this.addProp('browsingtopics');
130
+ else
131
+ this.removeProp('browsingtopics');
132
+ }
133
+ /** @returns {boolean} */
134
+ get browsingtopics() {
135
+ return this.hasProp('browsingtopics');
136
+ }
137
+ /** @param {boolean} credentialless */
138
+ set credentialless(credentialless) {
139
+ if (typeof credentialless !== 'boolean')
140
+ throw new TypeError('TinyIframe: "credentialless" must be a boolean.');
141
+ if (credentialless)
142
+ this.addProp('credentialless');
143
+ else
144
+ this.removeProp('credentialless');
145
+ }
146
+ /** @returns {boolean} */
147
+ get credentialless() {
148
+ return this.hasProp('credentialless');
149
+ }
150
+ /** @param {string} csp */
151
+ set csp(csp) {
152
+ if (typeof csp !== 'string')
153
+ throw new TypeError('TinyIframe: "csp" must be a string.');
154
+ this.setAttr('csp', csp);
155
+ }
156
+ /** @returns {string|null} */
157
+ get csp() {
158
+ return this.attrString('csp');
159
+ }
160
+ /** @param {string} sandbox */
161
+ set sandbox(sandbox) {
162
+ if (typeof sandbox !== 'string')
163
+ throw new TypeError('TinyIframe: "sandbox" must be a string (space-separated tokens).');
164
+ this.setAttr('sandbox', sandbox);
165
+ }
166
+ /** @returns {string|null} */
167
+ get sandbox() {
168
+ return this.attrString('sandbox');
169
+ }
170
+ /** @param {string} referrerpolicy */
171
+ set referrerpolicy(referrerpolicy) {
172
+ const valid = [
173
+ 'no-referrer',
174
+ 'no-referrer-when-downgrade',
175
+ 'origin',
176
+ 'origin-when-cross-origin',
177
+ 'same-origin',
178
+ 'strict-origin',
179
+ 'strict-origin-when-cross-origin',
180
+ 'unsafe-url',
181
+ ];
182
+ if (!valid.includes(referrerpolicy))
183
+ throw new TypeError(`TinyIframe: "referrerpolicy" must be one of: ${valid.join(', ')}.`);
184
+ this.setAttr('referrerpolicy', referrerpolicy);
185
+ }
186
+ /** @returns {string|null} */
187
+ get referrerpolicy() {
188
+ return this.attrString('referrerpolicy');
189
+ }
190
+ /** @param {string} title */
191
+ set title(title) {
192
+ if (typeof title !== 'string')
193
+ throw new TypeError('TinyIframe: "title" must be a string.');
194
+ this.setAttr('title', title);
195
+ }
196
+ /** @returns {string|null} */
197
+ get title() {
198
+ return this.attrString('title');
199
+ }
200
+ /** @param {'lazy'|'eager'} loading */
201
+ set loading(loading) {
202
+ const valid = ['lazy', 'eager'];
203
+ if (!valid.includes(loading))
204
+ throw new TypeError(`TinyIframe: "loading" must be one of: ${valid.join(', ')}.`);
205
+ this.setAttr('loading', loading);
206
+ }
207
+ /** @returns {string|null} */
208
+ get loading() {
209
+ return this.attrString('loading');
210
+ }
211
+ }
212
+ export default TinyHtmlIframe;
@@ -0,0 +1,286 @@
1
+ 'use strict';
2
+
3
+ var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
4
+
5
+ /**
6
+ * {boolean} [config.fetchMode=TinyHtmlImage.#defaultFetchMode] - Whether to enable or disable fetch mode. Must be a boolean.
7
+ */
8
+
9
+ /**
10
+ * TinyImage is a helper class for managing <img> elements.
11
+ * It supports modern attributes like srcset, sizes, decoding, fetchpriority,
12
+ * as well as width, height, alt, crossorigin, loading, and more.
13
+ *
14
+ * @example
15
+ * const img = new TinyHtmlImage({
16
+ * src: '/logo.png',
17
+ * alt: 'Logo',
18
+ * width: 200,
19
+ * height: 100,
20
+ * loading: 'lazy',
21
+ * decoding: 'async',
22
+ * });
23
+ *
24
+ * @extends TinyHtmlTemplate<HTMLImageElement>
25
+ */
26
+ class TinyHtmlImage extends TinyHtmlTemplate {
27
+ /** @type {boolean} */
28
+ // static #defaultFetchMode = false;
29
+
30
+ /** @returns {boolean} */
31
+ // static get defaultFetchMode() {
32
+ // return TinyHtmlImage.#defaultFetchMode;
33
+ // }
34
+
35
+ /** @param {boolean} value */
36
+ // static set defaultFetchMode(value) {
37
+ // if (typeof value !== 'boolean')
38
+ // throw new TypeError('Expected a boolean value for defaultFetchMode');
39
+ // TinyHtmlImage.#defaultFetchMode = value;
40
+ // }
41
+
42
+ /** @type {boolean} */
43
+ // #fetchMode;
44
+
45
+ /** @returns {boolean} */
46
+ // get fetchMode() {
47
+ // return this.#fetchMode;
48
+ // }
49
+
50
+ /**
51
+ * Creates a new TinyHtmlImage instance wrapping an <img> element.
52
+ * This class simplifies working with images by providing a structured API
53
+ * for common attributes and configuration options.
54
+ *
55
+ * @param {Object} config - Image configuration object.
56
+ * @param {string} config.src - Image source URL (**required**).
57
+ * @param {string} [config.alt=""] - Alternate text for the image. Defaults to an empty string.
58
+ * @param {number} [config.width] - Width of the image in pixels.
59
+ * @param {number} [config.height] - Height of the image in pixels.
60
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes to apply.
61
+ * @param {string} [config.mainClass=""] - Main CSS class applied to the element.
62
+ * @param {string|string[]|boolean} [config.attributionsrc] - Attribution source; may be a string, array of strings, or `true/false`.
63
+ * @param {"anonymous"|"use-credentials"} [config.crossorigin] - Cross-origin policy for loading the image.
64
+ * @param {"sync"|"async"|"auto"} [config.decoding] - Decoding mode for the image.
65
+ * @param {string} [config.elementtiming] - Name used for performance timing attribution.
66
+ * @param {"high"|"low"|"auto"} [config.fetchpriority] - Fetch priority for the image resource.
67
+ * @param {boolean} [config.ismap=false] - Whether the image is part of a server-side image map.
68
+ * @param {"eager"|"lazy"} [config.loading] - Loading behavior hint (`"lazy"` defers off-screen images).
69
+ * @param {string} [config.referrerpolicy] - Referrer policy when fetching the image.
70
+ * @param {string} [config.sizes] - Sizes attribute, used with `srcset` for responsive images.
71
+ * @param {string} [config.srcset] - List of image sources for responsive loading.
72
+ * @param {string} [config.usemap] - Name of an associated image map to use.
73
+ */
74
+ constructor({
75
+ src,
76
+ alt,
77
+ width,
78
+ height,
79
+ tags = [],
80
+ mainClass = '',
81
+ // fetchMode = TinyHtmlImage.#defaultFetchMode,
82
+ attributionsrc,
83
+ crossorigin,
84
+ decoding,
85
+ elementtiming,
86
+ fetchpriority,
87
+ ismap = false,
88
+ loading,
89
+ referrerpolicy,
90
+ sizes,
91
+ srcset,
92
+ usemap,
93
+ }) {
94
+ super(document.createElement('img'), tags, mainClass);
95
+
96
+ // required
97
+ this.src = src;
98
+
99
+ if (alt !== undefined) this.alt = alt;
100
+ if (width !== undefined) this.setWidth(width);
101
+ if (height !== undefined) this.setHeight(height);
102
+ if (attributionsrc !== undefined) this.attributionsrc = attributionsrc;
103
+ if (crossorigin !== undefined) this.crossorigin = crossorigin;
104
+ if (decoding !== undefined) this.decoding = decoding;
105
+ if (elementtiming !== undefined) this.elementtiming = elementtiming;
106
+ if (fetchpriority !== undefined) this.fetchpriority = fetchpriority;
107
+ this.ismap = ismap;
108
+ if (loading !== undefined) this.loading = loading;
109
+ if (referrerpolicy !== undefined) this.referrerpolicy = referrerpolicy;
110
+ if (sizes !== undefined) this.sizes = sizes;
111
+ if (srcset !== undefined) this.srcset = srcset;
112
+ if (usemap !== undefined) this.usemap = usemap;
113
+
114
+ // if (typeof fetchMode !== 'boolean')
115
+ // throw new TypeError('TinyImage: "fetchMode" must be a boolean.');
116
+ // this.#fetchMode = fetchMode;
117
+ }
118
+
119
+ // --- Attributes ---
120
+
121
+ /** @param {string} value */
122
+ set src(value) {
123
+ if (typeof value !== 'string') throw new TypeError('TinyImage: "src" must be a string.');
124
+ this.setAttr('src', value);
125
+ }
126
+
127
+ /** @returns {string|null} */
128
+ get src() {
129
+ return this.attrString('src');
130
+ }
131
+
132
+ /** @param {string} value */
133
+ set alt(value) {
134
+ if (typeof value !== 'string') throw new TypeError('TinyImage: "alt" must be a string.');
135
+ this.setAttr('alt', value);
136
+ }
137
+
138
+ /** @returns {string|null} */
139
+ get alt() {
140
+ return this.attrString('alt');
141
+ }
142
+
143
+ /** @param {string|string[]|boolean} value */
144
+ set attributionsrc(value) {
145
+ if (typeof value === 'boolean') {
146
+ if (value) this.addProp('attributionsrc');
147
+ else this.removeProp('attributionsrc');
148
+ return;
149
+ }
150
+ if (typeof value === 'string') {
151
+ this.setAttr('attributionsrc', value);
152
+ return;
153
+ }
154
+ if (Array.isArray(value)) {
155
+ this.setAttr('attributionsrc', value.join(','));
156
+ return;
157
+ }
158
+ throw new TypeError(
159
+ 'TinyImage: "attributionsrc" must be a boolean, string, or array of strings.',
160
+ );
161
+ }
162
+
163
+ /** @returns {string|null} */
164
+ get attributionsrc() {
165
+ return this.attrString('attributionsrc');
166
+ }
167
+
168
+ /** @param {'anonymous'|'use-credentials'} value */
169
+ set crossorigin(value) {
170
+ if (!['anonymous', 'use-credentials'].includes(value))
171
+ throw new TypeError('TinyImage: "crossorigin" must be "anonymous" or "use-credentials".');
172
+ this.setAttr('crossorigin', value);
173
+ }
174
+
175
+ /** @returns {string|null} */
176
+ get crossorigin() {
177
+ return this.attrString('crossorigin');
178
+ }
179
+
180
+ /** @param {'sync'|'async'|'auto'} value */
181
+ set decoding(value) {
182
+ if (!['sync', 'async', 'auto'].includes(value))
183
+ throw new TypeError('TinyImage: "decoding" must be "sync", "async" or "auto".');
184
+ this.setAttr('decoding', value);
185
+ }
186
+
187
+ /** @returns {string|null} */
188
+ get decoding() {
189
+ return this.attrString('decoding');
190
+ }
191
+
192
+ /** @param {string} value */
193
+ set elementtiming(value) {
194
+ if (typeof value !== 'string')
195
+ throw new TypeError('TinyImage: "elementtiming" must be a string.');
196
+ this.setAttr('elementtiming', value);
197
+ }
198
+
199
+ /** @returns {string|null} */
200
+ get elementtiming() {
201
+ return this.attrString('elementtiming');
202
+ }
203
+
204
+ /** @param {'high'|'low'|'auto'} value */
205
+ set fetchpriority(value) {
206
+ if (!['high', 'low', 'auto'].includes(value))
207
+ throw new TypeError('TinyImage: "fetchpriority" must be "high", "low" or "auto".');
208
+ this.setAttr('fetchpriority', value);
209
+ }
210
+
211
+ /** @returns {string|null} */
212
+ get fetchpriority() {
213
+ return this.attrString('fetchpriority');
214
+ }
215
+
216
+ /** @param {boolean} value */
217
+ set ismap(value) {
218
+ if (typeof value !== 'boolean') throw new TypeError('TinyImage: "ismap" must be a boolean.');
219
+ if (value) this.addProp('ismap');
220
+ else this.removeProp('ismap');
221
+ }
222
+
223
+ /** @returns {boolean} */
224
+ get ismap() {
225
+ return this.hasProp('ismap');
226
+ }
227
+
228
+ /** @param {'eager'|'lazy'} value */
229
+ set loading(value) {
230
+ if (!['eager', 'lazy'].includes(value))
231
+ throw new TypeError('TinyImage: "loading" must be "eager" or "lazy".');
232
+ this.setAttr('loading', value);
233
+ }
234
+
235
+ /** @returns {string|null} */
236
+ get loading() {
237
+ return this.attrString('loading');
238
+ }
239
+
240
+ /** @param {string} value */
241
+ set referrerpolicy(value) {
242
+ if (typeof value !== 'string')
243
+ throw new TypeError('TinyImage: "referrerpolicy" must be a string.');
244
+ this.setAttr('referrerpolicy', value);
245
+ }
246
+
247
+ /** @returns {string|null} */
248
+ get referrerpolicy() {
249
+ return this.attrString('referrerpolicy');
250
+ }
251
+
252
+ /** @param {string} value */
253
+ set sizes(value) {
254
+ if (typeof value !== 'string') throw new TypeError('TinyImage: "sizes" must be a string.');
255
+ this.setAttr('sizes', value);
256
+ }
257
+
258
+ /** @returns {string|null} */
259
+ get sizes() {
260
+ return this.attrString('sizes');
261
+ }
262
+
263
+ /** @param {string} value */
264
+ set srcset(value) {
265
+ if (typeof value !== 'string') throw new TypeError('TinyImage: "srcset" must be a string.');
266
+ this.setAttr('srcset', value);
267
+ }
268
+
269
+ /** @returns {string|null} */
270
+ get srcset() {
271
+ return this.attrString('srcset');
272
+ }
273
+
274
+ /** @param {string} value */
275
+ set usemap(value) {
276
+ if (typeof value !== 'string') throw new TypeError('TinyImage: "usemap" must be a string.');
277
+ this.setAttr('usemap', value);
278
+ }
279
+
280
+ /** @returns {string|null} */
281
+ get usemap() {
282
+ return this.attrString('usemap');
283
+ }
284
+ }
285
+
286
+ module.exports = TinyHtmlImage;
@@ -0,0 +1,125 @@
1
+ export default TinyHtmlImage;
2
+ /**
3
+ * {boolean} [config.fetchMode=TinyHtmlImage.#defaultFetchMode] - Whether to enable or disable fetch mode. Must be a boolean.
4
+ */
5
+ /**
6
+ * TinyImage is a helper class for managing <img> elements.
7
+ * It supports modern attributes like srcset, sizes, decoding, fetchpriority,
8
+ * as well as width, height, alt, crossorigin, loading, and more.
9
+ *
10
+ * @example
11
+ * const img = new TinyHtmlImage({
12
+ * src: '/logo.png',
13
+ * alt: 'Logo',
14
+ * width: 200,
15
+ * height: 100,
16
+ * loading: 'lazy',
17
+ * decoding: 'async',
18
+ * });
19
+ *
20
+ * @extends TinyHtmlTemplate<HTMLImageElement>
21
+ */
22
+ declare class TinyHtmlImage extends TinyHtmlTemplate<HTMLImageElement> {
23
+ /** @type {boolean} */
24
+ /** @returns {boolean} */
25
+ /** @param {boolean} value */
26
+ /** @type {boolean} */
27
+ /** @returns {boolean} */
28
+ /**
29
+ * Creates a new TinyHtmlImage instance wrapping an <img> element.
30
+ * This class simplifies working with images by providing a structured API
31
+ * for common attributes and configuration options.
32
+ *
33
+ * @param {Object} config - Image configuration object.
34
+ * @param {string} config.src - Image source URL (**required**).
35
+ * @param {string} [config.alt=""] - Alternate text for the image. Defaults to an empty string.
36
+ * @param {number} [config.width] - Width of the image in pixels.
37
+ * @param {number} [config.height] - Height of the image in pixels.
38
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes to apply.
39
+ * @param {string} [config.mainClass=""] - Main CSS class applied to the element.
40
+ * @param {string|string[]|boolean} [config.attributionsrc] - Attribution source; may be a string, array of strings, or `true/false`.
41
+ * @param {"anonymous"|"use-credentials"} [config.crossorigin] - Cross-origin policy for loading the image.
42
+ * @param {"sync"|"async"|"auto"} [config.decoding] - Decoding mode for the image.
43
+ * @param {string} [config.elementtiming] - Name used for performance timing attribution.
44
+ * @param {"high"|"low"|"auto"} [config.fetchpriority] - Fetch priority for the image resource.
45
+ * @param {boolean} [config.ismap=false] - Whether the image is part of a server-side image map.
46
+ * @param {"eager"|"lazy"} [config.loading] - Loading behavior hint (`"lazy"` defers off-screen images).
47
+ * @param {string} [config.referrerpolicy] - Referrer policy when fetching the image.
48
+ * @param {string} [config.sizes] - Sizes attribute, used with `srcset` for responsive images.
49
+ * @param {string} [config.srcset] - List of image sources for responsive loading.
50
+ * @param {string} [config.usemap] - Name of an associated image map to use.
51
+ */
52
+ constructor({ src, alt, width, height, tags, mainClass, attributionsrc, crossorigin, decoding, elementtiming, fetchpriority, ismap, loading, referrerpolicy, sizes, srcset, usemap, }: {
53
+ src: string;
54
+ alt?: string | undefined;
55
+ width?: number | undefined;
56
+ height?: number | undefined;
57
+ tags?: string | string[] | Set<string> | undefined;
58
+ mainClass?: string | undefined;
59
+ attributionsrc?: string | boolean | string[] | undefined;
60
+ crossorigin?: "anonymous" | "use-credentials" | undefined;
61
+ decoding?: "auto" | "async" | "sync" | undefined;
62
+ elementtiming?: string | undefined;
63
+ fetchpriority?: "auto" | "high" | "low" | undefined;
64
+ ismap?: boolean | undefined;
65
+ loading?: "eager" | "lazy" | undefined;
66
+ referrerpolicy?: string | undefined;
67
+ sizes?: string | undefined;
68
+ srcset?: string | undefined;
69
+ usemap?: string | undefined;
70
+ });
71
+ /** @param {string} value */
72
+ set src(value: string);
73
+ /** @returns {string|null} */
74
+ get src(): string | null;
75
+ /** @param {string} value */
76
+ set alt(value: string);
77
+ /** @returns {string|null} */
78
+ get alt(): string | null;
79
+ /** @param {string|string[]|boolean} value */
80
+ set attributionsrc(value: string | string[] | boolean);
81
+ /** @returns {string|null} */
82
+ get attributionsrc(): string | null;
83
+ /** @param {'anonymous'|'use-credentials'} value */
84
+ set crossorigin(value: "anonymous" | "use-credentials");
85
+ /** @returns {string|null} */
86
+ get crossorigin(): string | null;
87
+ /** @param {'sync'|'async'|'auto'} value */
88
+ set decoding(value: "sync" | "async" | "auto");
89
+ /** @returns {string|null} */
90
+ get decoding(): string | null;
91
+ /** @param {string} value */
92
+ set elementtiming(value: string);
93
+ /** @returns {string|null} */
94
+ get elementtiming(): string | null;
95
+ /** @param {'high'|'low'|'auto'} value */
96
+ set fetchpriority(value: "high" | "low" | "auto");
97
+ /** @returns {string|null} */
98
+ get fetchpriority(): string | null;
99
+ /** @param {boolean} value */
100
+ set ismap(value: boolean);
101
+ /** @returns {boolean} */
102
+ get ismap(): boolean;
103
+ /** @param {'eager'|'lazy'} value */
104
+ set loading(value: "eager" | "lazy");
105
+ /** @returns {string|null} */
106
+ get loading(): string | null;
107
+ /** @param {string} value */
108
+ set referrerpolicy(value: string);
109
+ /** @returns {string|null} */
110
+ get referrerpolicy(): string | null;
111
+ /** @param {string} value */
112
+ set sizes(value: string);
113
+ /** @returns {string|null} */
114
+ get sizes(): string | null;
115
+ /** @param {string} value */
116
+ set srcset(value: string);
117
+ /** @returns {string|null} */
118
+ get srcset(): string | null;
119
+ /** @param {string} value */
120
+ set usemap(value: string);
121
+ /** @returns {string|null} */
122
+ get usemap(): string | null;
123
+ }
124
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
125
+ //# sourceMappingURL=TinyHtmlImage.d.mts.map