tiny-essentials 1.24.0 → 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 (442) hide show
  1. package/.github/workflows/node.js.yml +2 -2
  2. package/README.md +6 -2
  3. package/changelog/1/24/1.md +12 -0
  4. package/dist/v1/TinyBasicsEs.min.js +1 -1
  5. package/dist/v1/TinyDragger.min.js +1 -1
  6. package/dist/v1/TinyEssentials.min.js +1 -1
  7. package/dist/v1/TinyHtml.min.js +1 -1
  8. package/dist/v1/TinySmartScroller.min.js +1 -1
  9. package/dist/v1/TinyUploadClicker.min.js +1 -1
  10. package/dist/v1/basics/array.cjs +28 -0
  11. package/dist/v1/basics/array.d.mts +16 -0
  12. package/dist/v1/basics/array.mjs +27 -0
  13. package/dist/v1/basics/index.cjs +2 -4
  14. package/dist/v1/basics/index.d.mts +2 -2
  15. package/dist/v1/basics/index.mjs +2 -4
  16. package/dist/v1/basics/text.cjs +33 -0
  17. package/dist/v1/basics/text.d.mts +15 -0
  18. package/dist/v1/basics/text.mjs +28 -0
  19. package/dist/v1/build/TinyLevelUp.cjs +2 -2
  20. package/dist/v1/build/TinyLevelUp.d.mts +1 -1
  21. package/dist/v1/build/TinyLevelUp.mjs +1 -1
  22. package/dist/v1/index.cjs +4 -6
  23. package/dist/v1/index.d.mts +3 -3
  24. package/dist/v1/index.mjs +7 -6
  25. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
  26. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
  27. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
  28. package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
  29. package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
  30. package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
  31. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
  32. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
  33. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
  34. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
  35. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
  36. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
  37. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
  38. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
  39. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
  40. package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
  41. package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
  42. package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
  43. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
  44. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
  45. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
  46. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
  47. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
  48. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
  49. package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
  50. package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
  51. package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
  52. package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
  53. package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
  54. package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
  55. package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
  56. package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
  57. package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
  58. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
  59. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
  60. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
  61. package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
  62. package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
  63. package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
  64. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
  65. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
  66. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
  67. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
  68. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
  69. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
  70. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
  71. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
  72. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
  73. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
  74. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
  75. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
  76. package/dist/v1/libs/TinyHtml/index.cjs +202 -0
  77. package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
  78. package/dist/v1/libs/TinyHtml/index.mjs +185 -0
  79. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
  80. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
  81. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
  82. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
  83. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
  84. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
  85. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
  86. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
  87. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
  88. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
  89. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
  90. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
  91. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
  92. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
  93. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
  94. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
  95. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
  96. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
  97. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
  98. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
  99. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
  100. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
  101. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
  102. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
  103. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
  104. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
  105. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
  106. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
  107. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
  108. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
  109. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
  110. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
  111. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
  112. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
  113. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
  114. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
  115. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
  116. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
  117. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
  118. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
  119. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
  120. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
  121. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
  122. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
  123. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
  124. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
  125. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
  126. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
  127. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
  128. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
  129. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
  130. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
  131. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
  132. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
  133. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
  134. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
  135. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
  136. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
  137. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
  138. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
  139. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
  140. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
  141. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
  142. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
  143. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
  144. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
  145. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
  146. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
  147. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
  148. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
  149. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
  150. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
  151. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
  152. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
  153. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
  154. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
  155. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
  156. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
  157. package/dist/v1/libs/TinyHtml.cjs +260 -3
  158. package/dist/v1/libs/TinyHtml.d.mts +196 -5
  159. package/dist/v1/libs/TinyHtml.mjs +238 -3
  160. package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
  161. package/docs/v1/libs/TinyHtml.md +4 -4
  162. package/package.json +11 -24
  163. package/dist/_virtual/_commonjsHelpers.cjs +0 -7
  164. package/dist/_virtual/common.cjs +0 -5
  165. package/dist/_virtual/index.cjs +0 -9
  166. package/dist/_virtual/index2.cjs +0 -5
  167. package/dist/_virtual/trace.cjs +0 -5
  168. package/dist/legacy/crypto/decrypt.cjs +0 -59
  169. package/dist/legacy/crypto/decrypt.d.mts +0 -20
  170. package/dist/legacy/crypto/decrypt.mjs +0 -49
  171. package/dist/legacy/crypto/default.cjs +0 -23
  172. package/dist/legacy/crypto/default.d.mts +0 -36
  173. package/dist/legacy/crypto/default.mjs +0 -19
  174. package/dist/legacy/crypto/encrypt.cjs +0 -55
  175. package/dist/legacy/crypto/encrypt.d.mts +0 -21
  176. package/dist/legacy/crypto/encrypt.mjs +0 -47
  177. package/dist/legacy/crypto/index.cjs +0 -11
  178. package/dist/legacy/crypto/index.d.mts +0 -5
  179. package/dist/legacy/crypto/index.mjs +0 -6
  180. package/dist/legacy/firebase/cookieSession.cjs +0 -123
  181. package/dist/legacy/firebase/cookieSession.d.mts +0 -57
  182. package/dist/legacy/firebase/cookieSession.mjs +0 -115
  183. package/dist/legacy/firebase/database/index.cjs +0 -14
  184. package/dist/legacy/firebase/database/index.d.mts +0 -8
  185. package/dist/legacy/firebase/database/index.mjs +0 -8
  186. package/dist/legacy/firebase/database/presence.cjs +0 -137
  187. package/dist/legacy/firebase/database/presence.d.mts +0 -13
  188. package/dist/legacy/firebase/database/presence.mjs +0 -115
  189. package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
  190. package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
  191. package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
  192. package/dist/legacy/firebase/databaseEscape.cjs +0 -45
  193. package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
  194. package/dist/legacy/firebase/databaseEscape.mjs +0 -38
  195. package/dist/legacy/firebase/databaseLogger.cjs +0 -261
  196. package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
  197. package/dist/legacy/firebase/databaseLogger.mjs +0 -235
  198. package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
  199. package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
  200. package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
  201. package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
  202. package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
  203. package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
  204. package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
  205. package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
  206. package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
  207. package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
  208. package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
  209. package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
  210. package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
  211. package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
  212. package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
  213. package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
  214. package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
  215. package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
  216. package/dist/legacy/firebase/discord/api/index.cjs +0 -27
  217. package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
  218. package/dist/legacy/firebase/discord/api/index.mjs +0 -21
  219. package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
  220. package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
  221. package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
  222. package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
  223. package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
  224. package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
  225. package/dist/legacy/firebase/discord/config.cjs +0 -23
  226. package/dist/legacy/firebase/discord/config.d.mts +0 -28
  227. package/dist/legacy/firebase/discord/config.mjs +0 -18
  228. package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
  229. package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
  230. package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
  231. package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
  232. package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
  233. package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
  234. package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
  235. package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
  236. package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
  237. package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
  238. package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
  239. package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
  240. package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
  241. package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
  242. package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
  243. package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
  244. package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
  245. package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
  246. package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
  247. package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
  248. package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
  249. package/dist/legacy/firebase/discord/get/index.cjs +0 -20
  250. package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
  251. package/dist/legacy/firebase/discord/get/index.mjs +0 -14
  252. package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
  253. package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
  254. package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
  255. package/dist/legacy/firebase/discord/http/index.cjs +0 -18
  256. package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
  257. package/dist/legacy/firebase/discord/http/index.mjs +0 -12
  258. package/dist/legacy/firebase/discord/http/login.cjs +0 -130
  259. package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
  260. package/dist/legacy/firebase/discord/http/login.mjs +0 -124
  261. package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
  262. package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
  263. package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
  264. package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
  265. package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
  266. package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
  267. package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
  268. package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
  269. package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
  270. package/dist/legacy/firebase/discord/index.cjs +0 -22
  271. package/dist/legacy/firebase/discord/index.d.mts +0 -16
  272. package/dist/legacy/firebase/discord/index.mjs +0 -16
  273. package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
  274. package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
  275. package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
  276. package/dist/legacy/firebase/domainRedirect.cjs +0 -37
  277. package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
  278. package/dist/legacy/firebase/domainRedirect.mjs +0 -28
  279. package/dist/legacy/firebase/escape.cjs +0 -77
  280. package/dist/legacy/firebase/escape.d.mts +0 -18
  281. package/dist/legacy/firebase/escape.mjs +0 -59
  282. package/dist/legacy/firebase/getDBAsync.cjs +0 -35
  283. package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
  284. package/dist/legacy/firebase/getDBAsync.mjs +0 -27
  285. package/dist/legacy/firebase/getDBData.cjs +0 -24
  286. package/dist/legacy/firebase/getDBData.d.mts +0 -2
  287. package/dist/legacy/firebase/getDBData.mjs +0 -18
  288. package/dist/legacy/firebase/getDBValue.cjs +0 -19
  289. package/dist/legacy/firebase/getDBValue.d.mts +0 -10
  290. package/dist/legacy/firebase/getDBValue.mjs +0 -15
  291. package/dist/legacy/firebase/index.cjs +0 -264
  292. package/dist/legacy/firebase/index.d.mts +0 -52
  293. package/dist/legacy/firebase/index.mjs +0 -235
  294. package/dist/legacy/firebase/isEmulator.cjs +0 -16
  295. package/dist/legacy/firebase/isEmulator.d.mts +0 -9
  296. package/dist/legacy/firebase/isEmulator.mjs +0 -11
  297. package/dist/legacy/firebase/logger.cjs +0 -140
  298. package/dist/legacy/firebase/logger.d.mts +0 -8
  299. package/dist/legacy/firebase/logger.mjs +0 -126
  300. package/dist/legacy/firebase/mySQL.cjs +0 -30
  301. package/dist/legacy/firebase/mySQL.d.mts +0 -11
  302. package/dist/legacy/firebase/mySQL.mjs +0 -23
  303. package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
  304. package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
  305. package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
  306. package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
  307. package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
  308. package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
  309. package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
  310. package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
  311. package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
  312. package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
  313. package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
  314. package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
  315. package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
  316. package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
  317. package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
  318. package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
  319. package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
  320. package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
  321. package/dist/legacy/get/countObj.cjs +0 -7
  322. package/dist/legacy/get/countObj.d.mts +0 -3
  323. package/dist/legacy/get/countObj.mjs +0 -2
  324. package/dist/legacy/get/decimalColor.cjs +0 -63
  325. package/dist/legacy/get/decimalColor.d.mts +0 -14
  326. package/dist/legacy/get/decimalColor.mjs +0 -56
  327. package/dist/legacy/get/objType.cjs +0 -7
  328. package/dist/legacy/get/objType.d.mts +0 -3
  329. package/dist/legacy/get/objType.mjs +0 -2
  330. package/dist/legacy/get/pagination.cjs +0 -109
  331. package/dist/legacy/get/pagination.d.mts +0 -44
  332. package/dist/legacy/get/pagination.mjs +0 -100
  333. package/dist/legacy/get/queryUrlByName.cjs +0 -32
  334. package/dist/legacy/get/queryUrlByName.d.mts +0 -22
  335. package/dist/legacy/get/queryUrlByName.mjs +0 -29
  336. package/dist/legacy/get/queryUrlJSON.cjs +0 -57
  337. package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
  338. package/dist/legacy/get/queryUrlJSON.mjs +0 -59
  339. package/dist/legacy/get/super_string_filter.cjs +0 -109
  340. package/dist/legacy/get/super_string_filter.d.mts +0 -27
  341. package/dist/legacy/get/super_string_filter.mjs +0 -95
  342. package/dist/legacy/get/versionCheck.cjs +0 -50
  343. package/dist/legacy/get/versionCheck.d.mts +0 -29
  344. package/dist/legacy/get/versionCheck.mjs +0 -40
  345. package/dist/legacy/http/HTTP-1.0.cjs +0 -153
  346. package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
  347. package/dist/legacy/http/HTTP-1.0.mjs +0 -138
  348. package/dist/legacy/http/auth.cjs +0 -71
  349. package/dist/legacy/http/auth.d.mts +0 -43
  350. package/dist/legacy/http/auth.mjs +0 -64
  351. package/dist/legacy/http/check_domain.cjs +0 -103
  352. package/dist/legacy/http/check_domain.d.mts +0 -13
  353. package/dist/legacy/http/check_domain.mjs +0 -98
  354. package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
  355. package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
  356. package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
  357. package/dist/legacy/http/domainValidator.cjs +0 -106
  358. package/dist/legacy/http/domainValidator.d.mts +0 -41
  359. package/dist/legacy/http/domainValidator.mjs +0 -89
  360. package/dist/legacy/http/errorsCallback.cjs +0 -64
  361. package/dist/legacy/http/errorsCallback.d.mts +0 -41
  362. package/dist/legacy/http/errorsCallback.mjs +0 -58
  363. package/dist/legacy/http/fetch/json.cjs +0 -50
  364. package/dist/legacy/http/fetch/json.d.mts +0 -24
  365. package/dist/legacy/http/fetch/json.mjs +0 -43
  366. package/dist/legacy/http/fetch/text.cjs +0 -49
  367. package/dist/legacy/http/fetch/text.d.mts +0 -23
  368. package/dist/legacy/http/fetch/text.mjs +0 -42
  369. package/dist/legacy/http/fileCache.cjs +0 -80
  370. package/dist/legacy/http/fileCache.d.mts +0 -37
  371. package/dist/legacy/http/fileCache.mjs +0 -71
  372. package/dist/legacy/http/getDomainURL.cjs +0 -60
  373. package/dist/legacy/http/getDomainURL.d.mts +0 -20
  374. package/dist/legacy/http/getDomainURL.mjs +0 -55
  375. package/dist/legacy/http/userIP.cjs +0 -65
  376. package/dist/legacy/http/userIP.d.mts +0 -27
  377. package/dist/legacy/http/userIP.mjs +0 -53
  378. package/dist/legacy/index.cjs +0 -125
  379. package/dist/legacy/index.d.mts +0 -89
  380. package/dist/legacy/index.mjs +0 -93
  381. package/dist/legacy/libs/arraySortPositions.cjs +0 -30
  382. package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
  383. package/dist/legacy/libs/arraySortPositions.mjs +0 -27
  384. package/dist/legacy/libs/capitalize.cjs +0 -22
  385. package/dist/legacy/libs/capitalize.d.mts +0 -15
  386. package/dist/legacy/libs/capitalize.mjs +0 -18
  387. package/dist/legacy/libs/convertBytes.cjs +0 -66
  388. package/dist/legacy/libs/convertBytes.d.mts +0 -18
  389. package/dist/legacy/libs/convertBytes.mjs +0 -57
  390. package/dist/legacy/libs/custom_module_loader.cjs +0 -91
  391. package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
  392. package/dist/legacy/libs/custom_module_loader.mjs +0 -87
  393. package/dist/legacy/libs/dice.cjs +0 -37
  394. package/dist/legacy/libs/dice.d.mts +0 -6
  395. package/dist/legacy/libs/dice.mjs +0 -33
  396. package/dist/legacy/libs/markdown.cjs +0 -97
  397. package/dist/legacy/libs/markdown.d.mts +0 -12
  398. package/dist/legacy/libs/markdown.mjs +0 -90
  399. package/dist/legacy/libs/percentage.cjs +0 -23
  400. package/dist/legacy/libs/percentage.d.mts +0 -5
  401. package/dist/legacy/libs/percentage.mjs +0 -20
  402. package/dist/legacy/libs/regex/getLetter.cjs +0 -24
  403. package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
  404. package/dist/legacy/libs/regex/getLetter.mjs +0 -21
  405. package/dist/legacy/libs/replaceAsync.cjs +0 -35
  406. package/dist/legacy/libs/replaceAsync.d.mts +0 -16
  407. package/dist/legacy/libs/replaceAsync.mjs +0 -28
  408. package/dist/legacy/libs/rule3.cjs +0 -59
  409. package/dist/legacy/libs/rule3.d.mts +0 -6
  410. package/dist/legacy/libs/rule3.mjs +0 -55
  411. package/dist/legacy/momentjs/getAge.cjs +0 -29
  412. package/dist/legacy/momentjs/getAge.d.mts +0 -11
  413. package/dist/legacy/momentjs/getAge.mjs +0 -23
  414. package/dist/legacy/momentjs/index.cjs +0 -9
  415. package/dist/legacy/momentjs/index.d.mts +0 -4
  416. package/dist/legacy/momentjs/index.mjs +0 -3
  417. package/dist/legacy/momentjs/timeDuration.cjs +0 -31
  418. package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
  419. package/dist/legacy/momentjs/timeDuration.mjs +0 -25
  420. package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
  421. package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
  422. package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
  423. package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
  424. package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
  425. package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
  426. package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
  427. package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
  428. package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
  429. package/dist/legacy/socket.io/cookie-session.cjs +0 -27
  430. package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
  431. package/dist/legacy/socket.io/cookie-session.mjs +0 -22
  432. package/dist/legacy/socket.io/discord.cjs +0 -62
  433. package/dist/legacy/socket.io/discord.d.mts +0 -12
  434. package/dist/legacy/socket.io/discord.mjs +0 -53
  435. package/dist/legacy/socket.io/index.cjs +0 -13
  436. package/dist/legacy/socket.io/index.d.mts +0 -10
  437. package/dist/legacy/socket.io/index.mjs +0 -9
  438. package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
  439. package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
  440. package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
  441. /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
  442. /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
@@ -0,0 +1,264 @@
1
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
2
+ /**
3
+ * TinyHtmlLink is a lightweight helper class for managing <link> elements.
4
+ * It provides a strict API for configuring preload, stylesheets, icons,
5
+ * and other external resource references.
6
+ *
7
+ * @example
8
+ * const link = new TinyHtmlLink({
9
+ * rel: 'stylesheet',
10
+ * href: '/styles/main.css',
11
+ * media: 'screen',
12
+ * blocking: 'render',
13
+ * });
14
+ *
15
+ * document.head.appendChild(link.el);
16
+ *
17
+ * @extends TinyHtmlTemplate<HTMLLinkElement>
18
+ */
19
+ class TinyHtmlLink extends TinyHtmlTemplate {
20
+ /**
21
+ * Creates a new TinyHtmlLink instance.
22
+ * @param {Object} config - Configuration object.
23
+ * @param {string} [config.as] - Type of content being loaded (valid only for preload/modulepreload).
24
+ * @param {'render'} [config.blocking] - Blocking behavior (only "render").
25
+ * @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS mode ("anonymous" or "use-credentials").
26
+ * @param {boolean} [config.disabled=false] - Whether the stylesheet is disabled (rel=stylesheet only).
27
+ * @param {'auto'|'high'|'low'} [config.fetchpriority="auto"] - Fetch priority ("high", "low", "auto").
28
+ * @param {string} [config.href] - URL of the linked resource.
29
+ * @param {string} [config.hreflang] - Language of the linked resource (RFC 5646).
30
+ * @param {string} [config.imagesizes] - Sizes attribute for preload images.
31
+ * @param {string} [config.imagesrcset] - Srcset attribute for preload images.
32
+ * @param {string} [config.integrity] - Subresource Integrity metadata.
33
+ * @param {string} [config.media="all"] - Media query (mainly for stylesheets).
34
+ * @param {string} [config.referrerpolicy] - Referrer policy ("no-referrer", etc.).
35
+ * @param {string} [config.rel] - Relationship (stylesheet, preload, icon, etc.).
36
+ * @param {string} [config.sizes] - Icon sizes.
37
+ * @param {string} [config.title] - Title (alternate stylesheet sets).
38
+ * @param {string} [config.type] - MIME type of the resource (e.g., "text/css").
39
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
40
+ * @param {string} [config.mainClass=""] - Main CSS class.
41
+ */
42
+ constructor({ as, blocking, crossorigin, disabled = false, fetchpriority = 'auto', href, hreflang, imagesizes, imagesrcset, integrity, media = 'all', referrerpolicy, rel, sizes, title, type, tags = [], mainClass = '', } = {}) {
43
+ super(document.createElement('link'), tags, mainClass);
44
+ if (rel !== undefined)
45
+ this.rel = rel;
46
+ if (as !== undefined)
47
+ this.as = as;
48
+ if (blocking !== undefined)
49
+ this.blocking = blocking;
50
+ if (crossorigin !== undefined)
51
+ this.crossorigin = crossorigin;
52
+ this.disabled = disabled;
53
+ if (fetchpriority !== undefined)
54
+ this.fetchpriority = fetchpriority;
55
+ if (href !== undefined)
56
+ this.href = href;
57
+ if (hreflang !== undefined)
58
+ this.hreflang = hreflang;
59
+ if (imagesizes !== undefined)
60
+ this.imagesizes = imagesizes;
61
+ if (imagesrcset !== undefined)
62
+ this.imagesrcset = imagesrcset;
63
+ if (integrity !== undefined)
64
+ this.integrity = integrity;
65
+ if (media !== undefined)
66
+ this.media = media;
67
+ if (referrerpolicy !== undefined)
68
+ this.referrerpolicy = referrerpolicy;
69
+ if (sizes !== undefined)
70
+ this.sizes = sizes;
71
+ if (title !== undefined)
72
+ this.title = title;
73
+ if (type !== undefined)
74
+ this.type = type;
75
+ }
76
+ /** @param {string} rel */
77
+ set rel(rel) {
78
+ if (typeof rel !== 'string' || !rel.trim())
79
+ throw new TypeError('TinyHtmlLink: "rel" must be a non-empty string.');
80
+ this.setAttr('rel', rel.trim());
81
+ }
82
+ /** @returns {string|null} */
83
+ get rel() {
84
+ return this.attrString('rel');
85
+ }
86
+ /** @param {string} as */
87
+ set as(as) {
88
+ const validAs = [
89
+ 'audio',
90
+ 'document',
91
+ 'embed',
92
+ 'fetch',
93
+ 'font',
94
+ 'image',
95
+ 'object',
96
+ 'script',
97
+ 'style',
98
+ 'track',
99
+ 'video',
100
+ 'worker',
101
+ ];
102
+ if (!validAs.includes(as))
103
+ throw new TypeError(`TinyHtmlLink: "as" must be one of ${validAs.join(', ')}.`);
104
+ this.setAttr('as', as);
105
+ }
106
+ /** @returns {string|null} */
107
+ get as() {
108
+ return this.attrString('as');
109
+ }
110
+ /** @param {'render'} blocking */
111
+ set blocking(blocking) {
112
+ if (blocking !== 'render')
113
+ throw new TypeError('TinyHtmlLink: "blocking" only accepts "render".');
114
+ this.setAttr('blocking', blocking);
115
+ }
116
+ /** @returns {string|null} */
117
+ get blocking() {
118
+ return this.attrString('blocking');
119
+ }
120
+ /** @param {'anonymous'|'use-credentials'} crossorigin */
121
+ set crossorigin(crossorigin) {
122
+ const valid = ['anonymous', 'use-credentials'];
123
+ if (!valid.includes(crossorigin))
124
+ throw new TypeError(`TinyHtmlLink: "crossorigin" must be one of ${valid.join(', ')}.`);
125
+ this.setAttr('crossorigin', crossorigin);
126
+ }
127
+ /** @returns {string|null} */
128
+ get crossorigin() {
129
+ return this.attrString('crossorigin');
130
+ }
131
+ /** @param {boolean} disabled */
132
+ set disabled(disabled) {
133
+ if (typeof disabled !== 'boolean')
134
+ throw new TypeError('"disabled" must be a boolean.');
135
+ if (disabled)
136
+ this.addProp('disabled');
137
+ else
138
+ this.removeProp('disabled');
139
+ }
140
+ /** @returns {boolean} */
141
+ get disabled() {
142
+ return this.hasProp('disabled');
143
+ }
144
+ /** @param {'auto'|'high'|'low'} fetchpriority */
145
+ set fetchpriority(fetchpriority) {
146
+ const valid = ['auto', 'high', 'low'];
147
+ if (!valid.includes(fetchpriority))
148
+ throw new TypeError(`TinyHtmlLink: "fetchpriority" must be one of ${valid.join(', ')}.`);
149
+ this.setAttr('fetchpriority', fetchpriority);
150
+ }
151
+ /** @returns {string|null} */
152
+ get fetchpriority() {
153
+ return this.attrString('fetchpriority');
154
+ }
155
+ /** @param {string} href */
156
+ set href(href) {
157
+ if (typeof href !== 'string')
158
+ throw new TypeError('TinyHtmlLink: "href" must be a string.');
159
+ this.setAttr('href', href);
160
+ }
161
+ /** @returns {string|null} */
162
+ get href() {
163
+ return this.attrString('href');
164
+ }
165
+ /** @param {string} hreflang */
166
+ set hreflang(hreflang) {
167
+ if (typeof hreflang !== 'string')
168
+ throw new TypeError('TinyHtmlLink: "hreflang" must be a string.');
169
+ this.setAttr('hreflang', hreflang);
170
+ }
171
+ /** @returns {string|null} */
172
+ get hreflang() {
173
+ return this.attrString('hreflang');
174
+ }
175
+ /** @param {string} imagesizes */
176
+ set imagesizes(imagesizes) {
177
+ if (typeof imagesizes !== 'string')
178
+ throw new TypeError('TinyHtmlLink: "imagesizes" must be a string.');
179
+ this.setAttr('imagesizes', imagesizes);
180
+ }
181
+ /** @returns {string|null} */
182
+ get imagesizes() {
183
+ return this.attrString('imagesizes');
184
+ }
185
+ /** @param {string} imagesrcset */
186
+ set imagesrcset(imagesrcset) {
187
+ if (typeof imagesrcset !== 'string')
188
+ throw new TypeError('TinyHtmlLink: "imagesrcset" must be a string.');
189
+ this.setAttr('imagesrcset', imagesrcset);
190
+ }
191
+ /** @returns {string|null} */
192
+ get imagesrcset() {
193
+ return this.attrString('imagesrcset');
194
+ }
195
+ /** @param {string} integrity */
196
+ set integrity(integrity) {
197
+ if (typeof integrity !== 'string')
198
+ throw new TypeError('TinyHtmlLink: "integrity" must be a string.');
199
+ this.setAttr('integrity', integrity);
200
+ }
201
+ /** @returns {string|null} */
202
+ get integrity() {
203
+ return this.attrString('integrity');
204
+ }
205
+ /** @param {string} media */
206
+ set media(media) {
207
+ if (typeof media !== 'string')
208
+ throw new TypeError('TinyHtmlLink: "media" must be a string.');
209
+ if (media.trim())
210
+ this.setAttr('media', media.trim());
211
+ }
212
+ /** @returns {string|null} */
213
+ get media() {
214
+ return this.attrString('media');
215
+ }
216
+ /** @param {string} referrerpolicy */
217
+ set referrerpolicy(referrerpolicy) {
218
+ const validPolicies = [
219
+ 'no-referrer',
220
+ 'no-referrer-when-downgrade',
221
+ 'origin',
222
+ 'origin-when-cross-origin',
223
+ 'unsafe-url',
224
+ ];
225
+ if (!validPolicies.includes(referrerpolicy))
226
+ throw new TypeError(`TinyHtmlLink: "referrerpolicy" must be one of ${validPolicies.join(', ')}.`);
227
+ this.setAttr('referrerpolicy', referrerpolicy);
228
+ }
229
+ /** @returns {string|null} */
230
+ get referrerpolicy() {
231
+ return this.attrString('referrerpolicy');
232
+ }
233
+ /** @param {string} sizes */
234
+ set sizes(sizes) {
235
+ if (typeof sizes !== 'string')
236
+ throw new TypeError('TinyHtmlLink: "sizes" must be a string.');
237
+ this.setAttr('sizes', sizes);
238
+ }
239
+ /** @returns {string|null} */
240
+ get sizes() {
241
+ return this.attrString('sizes');
242
+ }
243
+ /** @param {string} title */
244
+ set title(title) {
245
+ if (typeof title !== 'string')
246
+ throw new TypeError('TinyHtmlLink: "title" must be a string.');
247
+ this.setAttr('title', title);
248
+ }
249
+ /** @returns {string|null} */
250
+ get title() {
251
+ return this.attrString('title');
252
+ }
253
+ /** @param {string} type */
254
+ set type(type) {
255
+ if (typeof type !== 'string')
256
+ throw new TypeError('TinyHtmlLink: "type" must be a string.');
257
+ this.setAttr('type', type);
258
+ }
259
+ /** @returns {string|null} */
260
+ get type() {
261
+ return this.attrString('type');
262
+ }
263
+ }
264
+ export default TinyHtmlLink;
@@ -0,0 +1,358 @@
1
+ 'use strict';
2
+
3
+ var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
4
+
5
+ /** @typedef {import('./TinyHtmlTemplate.mjs').ClassSetter} ClassSetter */
6
+
7
+ /**
8
+ * TinyHtmlMedia is a base helper for <audio> and <video> elements.
9
+ * It provides a consistent API to control media playback and access
10
+ * standard {@link HTMLMediaElement} properties and methods.
11
+ *
12
+ * @template {HTMLMediaElement} TinyHtmlT
13
+ * @extends TinyHtmlTemplate<TinyHtmlT>
14
+ */
15
+ class TinyHtmlMedia extends TinyHtmlTemplate {
16
+ /**
17
+ * Creates a new TinyHtmlMedia instance.
18
+ * @param {TinyHtmlT} tag - The HTML tag name (e.g., 'audio', 'video').
19
+ * @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
20
+ * @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
21
+ */
22
+ constructor(tag, tags = [], mainClass = []) {
23
+ super(tag, tags, mainClass);
24
+ }
25
+
26
+ // ------------------------
27
+ // Core playback controls
28
+ // ------------------------
29
+
30
+ /**
31
+ * Plays all attached media elements.
32
+ * @returns {Promise<void>} Resolves when all play calls complete.
33
+ */
34
+ playMedia() {
35
+ return this.el.play();
36
+ }
37
+
38
+ /**
39
+ * Pauses all attached media elements.
40
+ * @returns {this}
41
+ */
42
+ pauseMedia() {
43
+ this.el.pause();
44
+ return this;
45
+ }
46
+
47
+ /**
48
+ * Toggles play/pause state for all attached media elements.
49
+ * @returns {this}
50
+ */
51
+ togglePlayMedia() {
52
+ const el = this.el;
53
+ el.paused ? el.play() : el.pause();
54
+ return this;
55
+ }
56
+
57
+ /**
58
+ * Stops all media by pausing and resetting the current time to `0`.
59
+ * @returns {this}
60
+ */
61
+ stopMedia() {
62
+ this.pauseMedia();
63
+ this.currentTime = 0;
64
+ return this;
65
+ }
66
+
67
+ /**
68
+ * Reloads all attached media elements.
69
+ * @returns {this}
70
+ */
71
+ loadMedia() {
72
+ this.el.load();
73
+ return this;
74
+ }
75
+
76
+ // ------------------------
77
+ // Methods
78
+ // ------------------------
79
+
80
+ /**
81
+ * Adds a new text track to the first media element.
82
+ * @param {TextTrackKind} kind - A string representing the TextTrack.kind property (subtitles, captions, descriptions, chapters, or metadata).
83
+ * @param {string} [label] - A string representing the TextTrack.label property.
84
+ * @param {string} [language] - A string representing the TextTrack.language property.
85
+ * @returns {TextTrack}
86
+ */
87
+ addTextTrack(kind, label, language) {
88
+ return this.el.addTextTrack(kind, label, language);
89
+ }
90
+
91
+ /**
92
+ * Checks if a given MIME type can be played.
93
+ * @param {string} type - MIME type (e.g., 'video/mp4').
94
+ * @returns {CanPlayTypeResult} Either "", "probably", or "maybe".
95
+ */
96
+ canPlayType(type) {
97
+ return this.el.canPlayType(type);
98
+ }
99
+
100
+ /**
101
+ * Seeks quickly to a given time if supported.
102
+ * @param {number} time - Target time in seconds.
103
+ * @returns {this}
104
+ */
105
+ fastSeek(time) {
106
+ this.el.fastSeek(time);
107
+ return this;
108
+ }
109
+
110
+ /**
111
+ * Sets custom MediaKeys on the first media element.
112
+ * @param {MediaKeys|null} keys - Media keys to set.
113
+ * @returns {Promise<void>}
114
+ */
115
+ setMediaKeys(keys) {
116
+ return this.el.setMediaKeys(keys);
117
+ }
118
+
119
+ /**
120
+ * Assigns a sink ID (output device) to the first media element.
121
+ * @param {string} id - The sink ID (device ID).
122
+ * @returns {Promise<void>}
123
+ */
124
+ setSinkId(id) {
125
+ return this.el.setSinkId(id);
126
+ }
127
+
128
+ // ------------------------
129
+ // Properties (wrappers)
130
+ // ------------------------
131
+
132
+ /** @type {boolean} Autoplay state of the media. */
133
+ get autoplay() {
134
+ return this.el.autoplay;
135
+ }
136
+ set autoplay(v) {
137
+ this.setProp('autoplay', v);
138
+ }
139
+
140
+ /** @returns {TimeRanges} The buffered time ranges. */
141
+ get buffered() {
142
+ return this.el.buffered;
143
+ }
144
+
145
+ /** @type {boolean} Whether default controls are visible. */
146
+ get controls() {
147
+ return this.el.controls;
148
+ }
149
+ set controls(v) {
150
+ this.setProp('controls', v);
151
+ }
152
+
153
+ /** @type {string|null} The list of controls available. */
154
+ get controlsList() {
155
+ return this.attr('controlsList');
156
+ }
157
+ set controlsList(v) {
158
+ this.setAttr('controlsList', v);
159
+ }
160
+
161
+ /** @type {string|null} CORS setting for the media. */
162
+ get crossOrigin() {
163
+ return this.attr('crossOrigin');
164
+ }
165
+ set crossOrigin(v) {
166
+ this.setAttr('crossOrigin', v);
167
+ }
168
+
169
+ /** @returns {string} The resolved source URL currently playing. */
170
+ get currentSrc() {
171
+ return this.el.currentSrc;
172
+ }
173
+
174
+ /** @type {number} The current playback position in seconds. */
175
+ get currentTime() {
176
+ return this.el.currentTime;
177
+ }
178
+ set currentTime(t) {
179
+ this.el.currentTime = t;
180
+ }
181
+
182
+ /** @type {boolean} Whether media is muted by default. */
183
+ get defaultMuted() {
184
+ return this.el.defaultMuted;
185
+ }
186
+ set defaultMuted(v) {
187
+ this.setProp('defaultMuted', v);
188
+ }
189
+
190
+ /** @type {number} Default playback rate (1 = normal speed). */
191
+ get defaultPlaybackRate() {
192
+ return this.el.defaultPlaybackRate;
193
+ }
194
+ set defaultPlaybackRate(v) {
195
+ this.el.defaultPlaybackRate = v;
196
+ }
197
+
198
+ /** @type {boolean} Whether remote playback is disabled. */
199
+ get disableRemotePlayback() {
200
+ return this.el.disableRemotePlayback;
201
+ }
202
+ set disableRemotePlayback(v) {
203
+ this.setProp('disableRemotePlayback', v);
204
+ }
205
+
206
+ /** @returns {number} The duration of the media in seconds. */
207
+ get duration() {
208
+ return this.el.duration;
209
+ }
210
+
211
+ /** @returns {boolean} Whether the media has ended. */
212
+ get ended() {
213
+ return this.el.ended;
214
+ }
215
+
216
+ /** @returns {MediaError|null} Error state if media failed to load. */
217
+ get error() {
218
+ return this.el.error;
219
+ }
220
+
221
+ /** @type {boolean} Whether the media should loop. */
222
+ get loop() {
223
+ return this.el.loop;
224
+ }
225
+ set loop(v) {
226
+ this.setProp('loop', v);
227
+ }
228
+
229
+ /** @type {string|null} Media group name for synchronization. */
230
+ get mediaGroup() {
231
+ return this.attr('mediaGroup');
232
+ }
233
+ set mediaGroup(v) {
234
+ this.setAttr('mediaGroup', v);
235
+ }
236
+
237
+ /** @returns {MediaKeys|null} The associated MediaKeys object. */
238
+ get mediaKeys() {
239
+ return this.el.mediaKeys;
240
+ }
241
+
242
+ /** @type {boolean} Whether the media is muted. */
243
+ get muted() {
244
+ return this.el.muted;
245
+ }
246
+ set muted(state) {
247
+ this.el.muted = state;
248
+ }
249
+
250
+ /** @returns {number} Network state (see `HTMLMediaElement.networkState`). */
251
+ get networkState() {
252
+ return this.el.networkState;
253
+ }
254
+
255
+ /** @returns {boolean} Whether the media is currently paused. */
256
+ get paused() {
257
+ return this.el.paused;
258
+ }
259
+
260
+ /** @type {number} Current playback rate (1 = normal speed). */
261
+ get playbackRate() {
262
+ return this.el.playbackRate;
263
+ }
264
+ set playbackRate(rate) {
265
+ this.el.playbackRate = rate;
266
+ }
267
+
268
+ /** @returns {TimeRanges} Played time ranges. */
269
+ get played() {
270
+ return this.el.played;
271
+ }
272
+
273
+ /** @type {"" | "metadata" | "none" | "auto"} Preload strategy ('none', 'metadata', 'auto'). */
274
+ get preload() {
275
+ return this.el.preload;
276
+ }
277
+ set preload(v) {
278
+ const valid = ['auto', 'metadata', 'none'];
279
+ if (!valid.includes(v))
280
+ throw new TypeError(`TinyVideo: "preload" must be one of ${valid.join(', ')}.`);
281
+ this.setAttr('preload', v);
282
+ }
283
+
284
+ /** @type {boolean} Whether pitch is preserved when rate changes. */
285
+ get preservesPitch() {
286
+ return this.el.preservesPitch;
287
+ }
288
+ set preservesPitch(v) {
289
+ this.setProp('preservesPitch', v);
290
+ }
291
+
292
+ /** @returns {number} Ready state of the media. */
293
+ get readyState() {
294
+ return this.el.readyState;
295
+ }
296
+
297
+ /** @returns {RemotePlayback|null} Remote playback interface. */
298
+ get remote() {
299
+ return this.el.remote;
300
+ }
301
+
302
+ /** @returns {TimeRanges} Seekable time ranges. */
303
+ get seekable() {
304
+ return this.el.seekable;
305
+ }
306
+
307
+ /** @returns {boolean} Whether the media is currently seeking. */
308
+ get seeking() {
309
+ return this.el.seeking;
310
+ }
311
+
312
+ /** @returns {string} Current sink ID (output device). */
313
+ get sinkId() {
314
+ return this.el.sinkId;
315
+ }
316
+
317
+ /** @type {string|null} Source URL of the media. */
318
+ get src() {
319
+ return this.attr('src');
320
+ }
321
+ set src(v) {
322
+ this.setAttr('src', v);
323
+ }
324
+
325
+ /** @type {MediaProvider|null} Current `srcObject` (e.g., MediaStream). */
326
+ get srcObject() {
327
+ return this.el.srcObject;
328
+ }
329
+ set srcObject(v) {
330
+ this.el.srcObject = v;
331
+ }
332
+
333
+ /** @returns {TextTrackList} Available text tracks. */
334
+ get textTracks() {
335
+ return this.el.textTracks;
336
+ }
337
+
338
+ /**
339
+ * Gets the current volume.
340
+ * @returns {number} Value between 0.0 and 1.0.
341
+ */
342
+ get volume() {
343
+ return this.el.volume;
344
+ }
345
+ /**
346
+ * Sets the volume level.
347
+ * @param {number} level - Value between 0.0 and 1.0.
348
+ * @throws {TypeError} If not a number.
349
+ */
350
+ set volume(level) {
351
+ if (typeof level !== 'number' || level < 0 || level > 1) {
352
+ throw new TypeError('TinyVideo: "volume" must be a number between 0.0 and 1.0.');
353
+ }
354
+ this.el.volume = level;
355
+ }
356
+ }
357
+
358
+ module.exports = TinyHtmlMedia;