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,193 @@
1
+ 'use strict';
2
+
3
+ var TinyHtmlMedia = require('../TinyHtmlMedia.cjs');
4
+
5
+ /**
6
+ * TinyVideo is a helper class for managing <video> elements.
7
+ * It allows configuring all standard attributes such as src, poster, controls,
8
+ * autoplay, loop, muted, playsinline, controlslist, crossorigin, preload,
9
+ * disablepictureinpicture, disableremoteplayback, width, height, and volume,
10
+ * with validation.
11
+ *
12
+ * @example
13
+ * const video = new TinyHtmlVideo({
14
+ * src: 'video.mp4',
15
+ * controls: true,
16
+ * autoplay: false,
17
+ * width: 640,
18
+ * height: 360
19
+ * });
20
+ *
21
+ * @extends TinyHtmlMedia<HTMLVideoElement>
22
+ */
23
+ class TinyHtmlVideo extends TinyHtmlMedia {
24
+ /**
25
+ * Creates a new TinyVideo instance.
26
+ * @param {Object} config
27
+ * @param {string} [config.src=''] - The video file URL.
28
+ * @param {string} [config.poster=''] - Image URL shown before playback starts.
29
+ * @param {boolean} [config.controls=false] - Whether to show default controls.
30
+ * @param {boolean} [config.autoplay=false] - Start playback automatically (muted may be required).
31
+ * @param {boolean} [config.loop=false] - Replay automatically when finished.
32
+ * @param {boolean} [config.muted=false] - Start playback muted.
33
+ * @param {boolean} [config.playsinline=false] - Play inline instead of fullscreen (mobile devices).
34
+ * @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} [config.controlslist] - Restrict controls visibility.
35
+ * @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS setting for the video request.
36
+ * @param {boolean} [config.disablepictureinpicture=false] - Disable Picture-in-Picture mode.
37
+ * @param {boolean} [config.disableremoteplayback=false] - Disable casting / remote playback.
38
+ * @param {'auto'|'metadata'|'none'} [config.preload] - Preload behavior suggestion.
39
+ * @param {number} [config.width] - CSS pixel width of the video display.
40
+ * @param {number} [config.height] - CSS pixel height of the video display.
41
+ * @param {number} [config.volume] - Initial volume (0.0–1.0).
42
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
43
+ * @param {string} [config.mainClass=""] - Main CSS class applied.
44
+ */
45
+ constructor({
46
+ src = '',
47
+ poster = '',
48
+ controls = false,
49
+ autoplay = false,
50
+ loop = false,
51
+ muted = false,
52
+ playsinline = false,
53
+ controlslist,
54
+ crossorigin,
55
+ disablepictureinpicture = false,
56
+ disableremoteplayback = false,
57
+ preload,
58
+ width,
59
+ height,
60
+ volume,
61
+ tags = [],
62
+ mainClass = '',
63
+ } = {}) {
64
+ super(document.createElement('video'), tags, mainClass);
65
+
66
+ if (src) this.src = src;
67
+ if (poster) this.poster = poster;
68
+ if (preload) this.preload = preload;
69
+
70
+ this.controls = controls;
71
+ this.autoplay = autoplay;
72
+ this.loop = loop;
73
+ this.muted = muted;
74
+ this.playsinline = playsinline;
75
+ this.disablepictureinpicture = disablepictureinpicture;
76
+ this.disableremoteplayback = disableremoteplayback;
77
+
78
+ if (controlslist) this.controlslist = controlslist;
79
+ if (crossorigin) this.crossorigin = crossorigin;
80
+
81
+ if (typeof volume === 'number') this.volume = volume;
82
+ if (width !== undefined) this.width = width;
83
+ if (height !== undefined) this.height = height;
84
+ }
85
+
86
+ // ------------------------
87
+ // Attribute getters/setters
88
+ // ------------------------
89
+
90
+ /** @param {string} src */
91
+ set src(src) {
92
+ if (typeof src !== 'string') throw new TypeError('TinyVideo: "src" must be a string.');
93
+ this.setAttr('src', src);
94
+ }
95
+ /** @returns {string|null} */
96
+ get src() {
97
+ return this.attrString('src');
98
+ }
99
+
100
+ /** @param {string} poster */
101
+ set poster(poster) {
102
+ if (typeof poster !== 'string') throw new TypeError('TinyVideo: "poster" must be a string.');
103
+ this.setAttr('poster', poster);
104
+ }
105
+ /** @returns {string|null} */
106
+ get poster() {
107
+ return this.attrString('poster');
108
+ }
109
+
110
+ /** @param {boolean} controls */
111
+ set controls(controls) {
112
+ if (typeof controls !== 'boolean') throw new TypeError('"controls" must be a boolean.');
113
+ controls ? this.addProp('controls') : this.removeProp('controls');
114
+ }
115
+ /** @returns {boolean} */
116
+ get controls() {
117
+ return this.hasProp('controls');
118
+ }
119
+
120
+ /** @param {boolean} playsinline */
121
+ set playsinline(playsinline) {
122
+ if (typeof playsinline !== 'boolean') throw new TypeError('"playsinline" must be a boolean.');
123
+ playsinline ? this.addProp('playsinline') : this.removeProp('playsinline');
124
+ }
125
+ /** @returns {boolean} */
126
+ get playsinline() {
127
+ return this.hasProp('playsinline');
128
+ }
129
+
130
+ /** @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} controlslist */
131
+ set controlslist(controlslist) {
132
+ if (typeof controlslist !== 'string')
133
+ throw new TypeError('TinyVideo: "controlslist" must be a string.');
134
+ this.setAttr('controlslist', controlslist);
135
+ }
136
+ /** @returns {string|null} */
137
+ get controlslist() {
138
+ return this.attrString('controlslist');
139
+ }
140
+
141
+ /** @param {'anonymous'|'use-credentials'} crossorigin */
142
+ set crossorigin(crossorigin) {
143
+ if (!['anonymous', 'use-credentials'].includes(crossorigin))
144
+ throw new TypeError('TinyVideo: "crossorigin" must be "anonymous" or "use-credentials".');
145
+ this.setAttr('crossorigin', crossorigin);
146
+ }
147
+ /** @returns {string|null} */
148
+ get crossorigin() {
149
+ return this.attrString('crossorigin');
150
+ }
151
+
152
+ /** @param {boolean} disable */
153
+ set disablepictureinpicture(disable) {
154
+ if (typeof disable !== 'boolean')
155
+ throw new TypeError('"disablepictureinpicture" must be a boolean.');
156
+ disable ? this.addProp('disablepictureinpicture') : this.removeProp('disablepictureinpicture');
157
+ }
158
+ /** @returns {boolean} */
159
+ get disablepictureinpicture() {
160
+ return this.hasProp('disablepictureinpicture');
161
+ }
162
+
163
+ /** @param {boolean} disable */
164
+ set disableremoteplayback(disable) {
165
+ if (typeof disable !== 'boolean')
166
+ throw new TypeError('"disableremoteplayback" must be a boolean.');
167
+ disable ? this.addProp('disableremoteplayback') : this.removeProp('disableremoteplayback');
168
+ }
169
+ /** @returns {boolean} */
170
+ get disableremoteplayback() {
171
+ return this.hasProp('disableremoteplayback');
172
+ }
173
+
174
+ // ------------------------
175
+ // Fullscreen controls
176
+ // ------------------------
177
+
178
+ /** @returns {Promise<void>|undefined} */
179
+ requestFullscreen() {
180
+ return this.el.requestFullscreen();
181
+ }
182
+
183
+ /** @returns {Promise<boolean>} */
184
+ async exitFullscreen() {
185
+ if (document.fullscreenElement === this.el) {
186
+ await document.exitFullscreen();
187
+ return true;
188
+ }
189
+ return false;
190
+ }
191
+ }
192
+
193
+ module.exports = TinyHtmlVideo;
@@ -0,0 +1,91 @@
1
+ export default TinyHtmlVideo;
2
+ /**
3
+ * TinyVideo is a helper class for managing <video> elements.
4
+ * It allows configuring all standard attributes such as src, poster, controls,
5
+ * autoplay, loop, muted, playsinline, controlslist, crossorigin, preload,
6
+ * disablepictureinpicture, disableremoteplayback, width, height, and volume,
7
+ * with validation.
8
+ *
9
+ * @example
10
+ * const video = new TinyHtmlVideo({
11
+ * src: 'video.mp4',
12
+ * controls: true,
13
+ * autoplay: false,
14
+ * width: 640,
15
+ * height: 360
16
+ * });
17
+ *
18
+ * @extends TinyHtmlMedia<HTMLVideoElement>
19
+ */
20
+ declare class TinyHtmlVideo extends TinyHtmlMedia<HTMLVideoElement> {
21
+ /**
22
+ * Creates a new TinyVideo instance.
23
+ * @param {Object} config
24
+ * @param {string} [config.src=''] - The video file URL.
25
+ * @param {string} [config.poster=''] - Image URL shown before playback starts.
26
+ * @param {boolean} [config.controls=false] - Whether to show default controls.
27
+ * @param {boolean} [config.autoplay=false] - Start playback automatically (muted may be required).
28
+ * @param {boolean} [config.loop=false] - Replay automatically when finished.
29
+ * @param {boolean} [config.muted=false] - Start playback muted.
30
+ * @param {boolean} [config.playsinline=false] - Play inline instead of fullscreen (mobile devices).
31
+ * @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} [config.controlslist] - Restrict controls visibility.
32
+ * @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS setting for the video request.
33
+ * @param {boolean} [config.disablepictureinpicture=false] - Disable Picture-in-Picture mode.
34
+ * @param {boolean} [config.disableremoteplayback=false] - Disable casting / remote playback.
35
+ * @param {'auto'|'metadata'|'none'} [config.preload] - Preload behavior suggestion.
36
+ * @param {number} [config.width] - CSS pixel width of the video display.
37
+ * @param {number} [config.height] - CSS pixel height of the video display.
38
+ * @param {number} [config.volume] - Initial volume (0.0–1.0).
39
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
40
+ * @param {string} [config.mainClass=""] - Main CSS class applied.
41
+ */
42
+ constructor({ src, poster, controls, autoplay, loop, muted, playsinline, controlslist, crossorigin, disablepictureinpicture, disableremoteplayback, preload, width, height, volume, tags, mainClass, }?: {
43
+ src?: string | undefined;
44
+ poster?: string | undefined;
45
+ controls?: boolean | undefined;
46
+ autoplay?: boolean | undefined;
47
+ loop?: boolean | undefined;
48
+ muted?: boolean | undefined;
49
+ playsinline?: boolean | undefined;
50
+ controlslist?: string | undefined;
51
+ crossorigin?: "anonymous" | "use-credentials" | undefined;
52
+ disablepictureinpicture?: boolean | undefined;
53
+ disableremoteplayback?: boolean | undefined;
54
+ preload?: "auto" | "none" | "metadata" | undefined;
55
+ width?: number | undefined;
56
+ height?: number | undefined;
57
+ volume?: number | undefined;
58
+ tags?: string | string[] | Set<string> | undefined;
59
+ mainClass?: string | undefined;
60
+ });
61
+ /** @param {string} poster */
62
+ set poster(poster: string);
63
+ /** @returns {string|null} */
64
+ get poster(): string | null;
65
+ /** @param {boolean} playsinline */
66
+ set playsinline(playsinline: boolean);
67
+ /** @returns {boolean} */
68
+ get playsinline(): boolean;
69
+ /** @param {boolean} disable */
70
+ set disablepictureinpicture(disable: boolean);
71
+ /** @returns {boolean} */
72
+ get disablepictureinpicture(): boolean;
73
+ /** @param {boolean} disable */
74
+ set disableremoteplayback(disable: boolean);
75
+ /** @returns {boolean} */
76
+ get disableremoteplayback(): boolean;
77
+ /** @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} controlslist */
78
+ set controlslist(controlslist: "nodownload" | "nofullscreen" | "noremoteplayback" | string);
79
+ /** @returns {string|null} */
80
+ get controlslist(): string | null;
81
+ /** @param {'anonymous'|'use-credentials'} crossorigin */
82
+ set crossorigin(crossorigin: "anonymous" | "use-credentials");
83
+ /** @returns {string|null} */
84
+ get crossorigin(): string | null;
85
+ /** @returns {Promise<void>|undefined} */
86
+ requestFullscreen(): Promise<void> | undefined;
87
+ /** @returns {Promise<boolean>} */
88
+ exitFullscreen(): Promise<boolean>;
89
+ }
90
+ import TinyHtmlMedia from '../TinyHtmlMedia.mjs';
91
+ //# sourceMappingURL=TinyHtmlVideo.d.mts.map
@@ -0,0 +1,167 @@
1
+ import TinyHtmlMedia from '../TinyHtmlMedia.mjs';
2
+ /**
3
+ * TinyVideo is a helper class for managing <video> elements.
4
+ * It allows configuring all standard attributes such as src, poster, controls,
5
+ * autoplay, loop, muted, playsinline, controlslist, crossorigin, preload,
6
+ * disablepictureinpicture, disableremoteplayback, width, height, and volume,
7
+ * with validation.
8
+ *
9
+ * @example
10
+ * const video = new TinyHtmlVideo({
11
+ * src: 'video.mp4',
12
+ * controls: true,
13
+ * autoplay: false,
14
+ * width: 640,
15
+ * height: 360
16
+ * });
17
+ *
18
+ * @extends TinyHtmlMedia<HTMLVideoElement>
19
+ */
20
+ class TinyHtmlVideo extends TinyHtmlMedia {
21
+ /**
22
+ * Creates a new TinyVideo instance.
23
+ * @param {Object} config
24
+ * @param {string} [config.src=''] - The video file URL.
25
+ * @param {string} [config.poster=''] - Image URL shown before playback starts.
26
+ * @param {boolean} [config.controls=false] - Whether to show default controls.
27
+ * @param {boolean} [config.autoplay=false] - Start playback automatically (muted may be required).
28
+ * @param {boolean} [config.loop=false] - Replay automatically when finished.
29
+ * @param {boolean} [config.muted=false] - Start playback muted.
30
+ * @param {boolean} [config.playsinline=false] - Play inline instead of fullscreen (mobile devices).
31
+ * @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} [config.controlslist] - Restrict controls visibility.
32
+ * @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS setting for the video request.
33
+ * @param {boolean} [config.disablepictureinpicture=false] - Disable Picture-in-Picture mode.
34
+ * @param {boolean} [config.disableremoteplayback=false] - Disable casting / remote playback.
35
+ * @param {'auto'|'metadata'|'none'} [config.preload] - Preload behavior suggestion.
36
+ * @param {number} [config.width] - CSS pixel width of the video display.
37
+ * @param {number} [config.height] - CSS pixel height of the video display.
38
+ * @param {number} [config.volume] - Initial volume (0.0–1.0).
39
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
40
+ * @param {string} [config.mainClass=""] - Main CSS class applied.
41
+ */
42
+ constructor({ src = '', poster = '', controls = false, autoplay = false, loop = false, muted = false, playsinline = false, controlslist, crossorigin, disablepictureinpicture = false, disableremoteplayback = false, preload, width, height, volume, tags = [], mainClass = '', } = {}) {
43
+ super(document.createElement('video'), tags, mainClass);
44
+ if (src)
45
+ this.src = src;
46
+ if (poster)
47
+ this.poster = poster;
48
+ if (preload)
49
+ this.preload = preload;
50
+ this.controls = controls;
51
+ this.autoplay = autoplay;
52
+ this.loop = loop;
53
+ this.muted = muted;
54
+ this.playsinline = playsinline;
55
+ this.disablepictureinpicture = disablepictureinpicture;
56
+ this.disableremoteplayback = disableremoteplayback;
57
+ if (controlslist)
58
+ this.controlslist = controlslist;
59
+ if (crossorigin)
60
+ this.crossorigin = crossorigin;
61
+ if (typeof volume === 'number')
62
+ this.volume = volume;
63
+ if (width !== undefined)
64
+ this.width = width;
65
+ if (height !== undefined)
66
+ this.height = height;
67
+ }
68
+ // ------------------------
69
+ // Attribute getters/setters
70
+ // ------------------------
71
+ /** @param {string} src */
72
+ set src(src) {
73
+ if (typeof src !== 'string')
74
+ throw new TypeError('TinyVideo: "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} poster */
82
+ set poster(poster) {
83
+ if (typeof poster !== 'string')
84
+ throw new TypeError('TinyVideo: "poster" must be a string.');
85
+ this.setAttr('poster', poster);
86
+ }
87
+ /** @returns {string|null} */
88
+ get poster() {
89
+ return this.attrString('poster');
90
+ }
91
+ /** @param {boolean} controls */
92
+ set controls(controls) {
93
+ if (typeof controls !== 'boolean')
94
+ throw new TypeError('"controls" must be a boolean.');
95
+ controls ? this.addProp('controls') : this.removeProp('controls');
96
+ }
97
+ /** @returns {boolean} */
98
+ get controls() {
99
+ return this.hasProp('controls');
100
+ }
101
+ /** @param {boolean} playsinline */
102
+ set playsinline(playsinline) {
103
+ if (typeof playsinline !== 'boolean')
104
+ throw new TypeError('"playsinline" must be a boolean.');
105
+ playsinline ? this.addProp('playsinline') : this.removeProp('playsinline');
106
+ }
107
+ /** @returns {boolean} */
108
+ get playsinline() {
109
+ return this.hasProp('playsinline');
110
+ }
111
+ /** @param {'nodownload'|'nofullscreen'|'noremoteplayback'|string} controlslist */
112
+ set controlslist(controlslist) {
113
+ if (typeof controlslist !== 'string')
114
+ throw new TypeError('TinyVideo: "controlslist" must be a string.');
115
+ this.setAttr('controlslist', controlslist);
116
+ }
117
+ /** @returns {string|null} */
118
+ get controlslist() {
119
+ return this.attrString('controlslist');
120
+ }
121
+ /** @param {'anonymous'|'use-credentials'} crossorigin */
122
+ set crossorigin(crossorigin) {
123
+ if (!['anonymous', 'use-credentials'].includes(crossorigin))
124
+ throw new TypeError('TinyVideo: "crossorigin" must be "anonymous" or "use-credentials".');
125
+ this.setAttr('crossorigin', crossorigin);
126
+ }
127
+ /** @returns {string|null} */
128
+ get crossorigin() {
129
+ return this.attrString('crossorigin');
130
+ }
131
+ /** @param {boolean} disable */
132
+ set disablepictureinpicture(disable) {
133
+ if (typeof disable !== 'boolean')
134
+ throw new TypeError('"disablepictureinpicture" must be a boolean.');
135
+ disable ? this.addProp('disablepictureinpicture') : this.removeProp('disablepictureinpicture');
136
+ }
137
+ /** @returns {boolean} */
138
+ get disablepictureinpicture() {
139
+ return this.hasProp('disablepictureinpicture');
140
+ }
141
+ /** @param {boolean} disable */
142
+ set disableremoteplayback(disable) {
143
+ if (typeof disable !== 'boolean')
144
+ throw new TypeError('"disableremoteplayback" must be a boolean.');
145
+ disable ? this.addProp('disableremoteplayback') : this.removeProp('disableremoteplayback');
146
+ }
147
+ /** @returns {boolean} */
148
+ get disableremoteplayback() {
149
+ return this.hasProp('disableremoteplayback');
150
+ }
151
+ // ------------------------
152
+ // Fullscreen controls
153
+ // ------------------------
154
+ /** @returns {Promise<void>|undefined} */
155
+ requestFullscreen() {
156
+ return this.el.requestFullscreen();
157
+ }
158
+ /** @returns {Promise<boolean>} */
159
+ async exitFullscreen() {
160
+ if (document.fullscreenElement === this.el) {
161
+ await document.exitFullscreen();
162
+ return true;
163
+ }
164
+ return false;
165
+ }
166
+ }
167
+ export default TinyHtmlVideo;