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,209 @@
1
+ 'use strict';
2
+
3
+ var TinyHtml = require('../TinyHtml.cjs');
4
+
5
+ /**
6
+ * @typedef {string|string[]|Set<string>} ClassSetter
7
+ * Represents a set of CSS classes that can be applied to an element.
8
+ * - Can be a single class name string.
9
+ * - Can be an array of class name strings.
10
+ * - Can be a Set of class name strings.
11
+ */
12
+
13
+ /**
14
+ * TinyHtmlTemplate is a base helper class that extends TinyHtml and is designed
15
+ * to simplify the creation of reusable HTML element templates.
16
+ *
17
+ * It is primarily intended as a foundation for specialized UI components
18
+ * where consistent structure and styling are needed, similar in spirit to how React
19
+ * components abstract HTML into reusable elements.
20
+ *
21
+ * As a result, TinyHtmlTemplate provides a small-scale, component-like
22
+ * abstraction for HTML elements, serving as a lightweight building block
23
+ * for higher-level UI helpers.
24
+ *
25
+ * @template {Element} TinyHtmlT
26
+ * @extends TinyHtml<TinyHtmlT>
27
+ */
28
+ class TinyHtmlTemplate extends TinyHtml {
29
+ /** @type {Set<string>} */
30
+ #classes = new Set();
31
+
32
+ /** @type {Set<string>} */
33
+ #mainClass = new Set();
34
+
35
+ /** @returns {TinyHtmlT} */
36
+ get el() {
37
+ // @ts-ignore
38
+ return this.get(0);
39
+ }
40
+
41
+ /**
42
+ * Updates the element's `className` attribute by combining
43
+ * the current set of classes with the main class.
44
+ */
45
+ #setClassString() {
46
+ const classes =
47
+ `${Array.from(this.#classes).join(' ')} ${Array.from(this.#mainClass).join(' ')}`.trim();
48
+ if (!classes) {
49
+ this.removeAttr('className');
50
+ return;
51
+ }
52
+ this.setAttr('className', classes);
53
+ }
54
+
55
+ /**
56
+ * Ensures a given value is a valid ClassSetter.
57
+ * @param {ClassSetter} value
58
+ * @returns {Set<string>}
59
+ */
60
+ static #normalizeClasses(value) {
61
+ if (typeof value === 'string') {
62
+ return new Set(value.trim().split(/\s+/).filter(Boolean));
63
+ }
64
+ if (Array.isArray(value) || value instanceof Set) {
65
+ for (const v of value) {
66
+ if (typeof v !== 'string') {
67
+ throw new TypeError(`Class names must be strings. Got: ${typeof v}`);
68
+ }
69
+ }
70
+ return new Set(value);
71
+ }
72
+ throw new TypeError(
73
+ `Invalid ClassSetter. Expected string | string[] | Set<string>, got ${typeof value}`,
74
+ );
75
+ }
76
+
77
+ /**
78
+ * Returns the combined list of all classes (regular + main).
79
+ * @returns {string[]}
80
+ */
81
+ get fullClass() {
82
+ return [...Array.from(this.#classes), ...Array.from(this.#mainClass)];
83
+ }
84
+
85
+ /**
86
+ * Gets the current list of CSS classes applied to this element.
87
+ * @returns {string[]}
88
+ */
89
+ get classes() {
90
+ return [...Array.from(this.#classes)];
91
+ }
92
+
93
+ /**
94
+ * Sets the list of CSS classes applied to this element.
95
+ * Automatically updates the element's `className` attribute.
96
+ * @param {ClassSetter} value
97
+ */
98
+ set classes(value) {
99
+ this.#classes = TinyHtmlTemplate.#normalizeClasses(value);
100
+ this.#setClassString();
101
+ }
102
+
103
+ /**
104
+ * Gets the main CSS class applied to this element.
105
+ * This class is always present in addition to the regular classes.
106
+ * @returns {string[]}
107
+ */
108
+ get mainClass() {
109
+ return [...Array.from(this.#mainClass)];
110
+ }
111
+
112
+ /**
113
+ * Sets the main CSS class applied to this element.
114
+ * Automatically updates the element's `className` attribute.
115
+ * @param {ClassSetter} value
116
+ */
117
+ set mainClass(value) {
118
+ this.#mainClass = TinyHtmlTemplate.#normalizeClasses(value);
119
+ this.#setClassString();
120
+ }
121
+
122
+ /**
123
+ * Creates a new TinyHtmlTemplate instance.
124
+ * @param {TinyHtmlT} tag - The HTML tag name to create (e.g., 'div', 'span').
125
+ * @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
126
+ * @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
127
+ */
128
+ constructor(tag, tags = [], mainClass = []) {
129
+ super(tag);
130
+ this.mainClass = mainClass;
131
+ this.classes = tags;
132
+ }
133
+
134
+ /**
135
+ * Add one or more CSS classes to the element.
136
+ * @param {...string|string[]} tags
137
+ * @returns {this}
138
+ */
139
+ // @ts-ignore
140
+ addClass(...tags) {
141
+ for (const tag of tags.flat()) {
142
+ if (typeof tag !== 'string')
143
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
144
+ this.#classes.add(tag);
145
+ }
146
+ this.#setClassString();
147
+ return this;
148
+ }
149
+
150
+ /**
151
+ * Remove one or more CSS classes from the element.
152
+ * @param {...string|string[]} tags
153
+ * @returns {this}
154
+ */
155
+ // @ts-ignore
156
+ removeClass(...tags) {
157
+ for (const tag of tags.flat()) {
158
+ if (typeof tag !== 'string')
159
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
160
+ this.#classes.delete(tag);
161
+ }
162
+ this.#setClassString();
163
+ return this;
164
+ }
165
+
166
+ /**
167
+ * Toggles the presence of a given CSS class on the element.
168
+ * @param {string} tag - The class name to toggle.
169
+ * @returns {this}
170
+ */
171
+ // @ts-ignore
172
+ toggleClass(tag) {
173
+ if (typeof tag !== 'string')
174
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
175
+ if (this.#classes.has(tag)) return this.removeClass(tag);
176
+ else return this.addClass(tag);
177
+ }
178
+
179
+ /**
180
+ * Replaces an existing CSS class with a new one.
181
+ * Behaves like DOMTokenList.replace:
182
+ * - Only replaces if oldClass exists.
183
+ * - Returns true if replacement occurred, false otherwise.
184
+ * @param {string} oldClass - The class to replace.
185
+ * @param {string} newClass - The new class to add.
186
+ * @returns {boolean} True if the replacement occurred, false otherwise.
187
+ */
188
+ replaceClass(oldClass, newClass) {
189
+ if (typeof oldClass !== 'string' || typeof newClass !== 'string')
190
+ throw new TypeError('Both oldClass and newClass must be strings.');
191
+ if (!this.#classes.has(oldClass)) return false;
192
+ this.#classes.delete(oldClass);
193
+ this.#classes.add(newClass);
194
+ this.#setClassString();
195
+ return true;
196
+ }
197
+
198
+ /**
199
+ * Clears all CSS classes from the element.
200
+ * @returns {this}
201
+ */
202
+ resetClasses() {
203
+ this.#classes.clear();
204
+ this.removeAttr('className');
205
+ return this;
206
+ }
207
+ }
208
+
209
+ module.exports = TinyHtmlTemplate;
@@ -0,0 +1,101 @@
1
+ export default TinyHtmlTemplate;
2
+ /**
3
+ * Represents a set of CSS classes that can be applied to an element.
4
+ * - Can be a single class name string.
5
+ * - Can be an array of class name strings.
6
+ * - Can be a Set of class name strings.
7
+ */
8
+ export type ClassSetter = string | string[] | Set<string>;
9
+ /**
10
+ * @typedef {string|string[]|Set<string>} ClassSetter
11
+ * Represents a set of CSS classes that can be applied to an element.
12
+ * - Can be a single class name string.
13
+ * - Can be an array of class name strings.
14
+ * - Can be a Set of class name strings.
15
+ */
16
+ /**
17
+ * TinyHtmlTemplate is a base helper class that extends TinyHtml and is designed
18
+ * to simplify the creation of reusable HTML element templates.
19
+ *
20
+ * It is primarily intended as a foundation for specialized UI components
21
+ * where consistent structure and styling are needed, similar in spirit to how React
22
+ * components abstract HTML into reusable elements.
23
+ *
24
+ * As a result, TinyHtmlTemplate provides a small-scale, component-like
25
+ * abstraction for HTML elements, serving as a lightweight building block
26
+ * for higher-level UI helpers.
27
+ *
28
+ * @template {Element} TinyHtmlT
29
+ * @extends TinyHtml<TinyHtmlT>
30
+ */
31
+ declare class TinyHtmlTemplate<TinyHtmlT extends Element> extends TinyHtml<TinyHtmlT> {
32
+ /**
33
+ * Ensures a given value is a valid ClassSetter.
34
+ * @param {ClassSetter} value
35
+ * @returns {Set<string>}
36
+ */
37
+ static "__#37@#normalizeClasses"(value: ClassSetter): Set<string>;
38
+ /**
39
+ * Creates a new TinyHtmlTemplate instance.
40
+ * @param {TinyHtmlT} tag - The HTML tag name to create (e.g., 'div', 'span').
41
+ * @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
42
+ * @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
43
+ */
44
+ constructor(tag: TinyHtmlT, tags?: ClassSetter, mainClass?: ClassSetter);
45
+ /** @returns {TinyHtmlT} */
46
+ get el(): TinyHtmlT;
47
+ /**
48
+ * Returns the combined list of all classes (regular + main).
49
+ * @returns {string[]}
50
+ */
51
+ get fullClass(): string[];
52
+ /**
53
+ * Sets the list of CSS classes applied to this element.
54
+ * Automatically updates the element's `className` attribute.
55
+ * @param {ClassSetter} value
56
+ */
57
+ set classes(value: ClassSetter);
58
+ /**
59
+ * Gets the current list of CSS classes applied to this element.
60
+ * @returns {string[]}
61
+ */
62
+ get classes(): string[];
63
+ /**
64
+ * Sets the main CSS class applied to this element.
65
+ * Automatically updates the element's `className` attribute.
66
+ * @param {ClassSetter} value
67
+ */
68
+ set mainClass(value: ClassSetter);
69
+ /**
70
+ * Gets the main CSS class applied to this element.
71
+ * This class is always present in addition to the regular classes.
72
+ * @returns {string[]}
73
+ */
74
+ get mainClass(): string[];
75
+ /**
76
+ * Add one or more CSS classes to the element.
77
+ * @param {...string|string[]} tags
78
+ * @returns {this}
79
+ */
80
+ addClass(...tags: (string | string[])[]): this;
81
+ /**
82
+ * Remove one or more CSS classes from the element.
83
+ * @param {...string|string[]} tags
84
+ * @returns {this}
85
+ */
86
+ removeClass(...tags: (string | string[])[]): this;
87
+ /**
88
+ * Toggles the presence of a given CSS class on the element.
89
+ * @param {string} tag - The class name to toggle.
90
+ * @returns {this}
91
+ */
92
+ toggleClass(tag: string): this;
93
+ /**
94
+ * Clears all CSS classes from the element.
95
+ * @returns {this}
96
+ */
97
+ resetClasses(): this;
98
+ #private;
99
+ }
100
+ import TinyHtml from '../TinyHtml.mjs';
101
+ //# sourceMappingURL=TinyHtmlTemplate.d.mts.map
@@ -0,0 +1,189 @@
1
+ import TinyHtml from '../TinyHtml.mjs';
2
+ /**
3
+ * @typedef {string|string[]|Set<string>} ClassSetter
4
+ * Represents a set of CSS classes that can be applied to an element.
5
+ * - Can be a single class name string.
6
+ * - Can be an array of class name strings.
7
+ * - Can be a Set of class name strings.
8
+ */
9
+ /**
10
+ * TinyHtmlTemplate is a base helper class that extends TinyHtml and is designed
11
+ * to simplify the creation of reusable HTML element templates.
12
+ *
13
+ * It is primarily intended as a foundation for specialized UI components
14
+ * where consistent structure and styling are needed, similar in spirit to how React
15
+ * components abstract HTML into reusable elements.
16
+ *
17
+ * As a result, TinyHtmlTemplate provides a small-scale, component-like
18
+ * abstraction for HTML elements, serving as a lightweight building block
19
+ * for higher-level UI helpers.
20
+ *
21
+ * @template {Element} TinyHtmlT
22
+ * @extends TinyHtml<TinyHtmlT>
23
+ */
24
+ class TinyHtmlTemplate extends TinyHtml {
25
+ /** @type {Set<string>} */
26
+ #classes = new Set();
27
+ /** @type {Set<string>} */
28
+ #mainClass = new Set();
29
+ /** @returns {TinyHtmlT} */
30
+ get el() {
31
+ // @ts-ignore
32
+ return this.get(0);
33
+ }
34
+ /**
35
+ * Updates the element's `className` attribute by combining
36
+ * the current set of classes with the main class.
37
+ */
38
+ #setClassString() {
39
+ const classes = `${Array.from(this.#classes).join(' ')} ${Array.from(this.#mainClass).join(' ')}`.trim();
40
+ if (!classes) {
41
+ this.removeAttr('className');
42
+ return;
43
+ }
44
+ this.setAttr('className', classes);
45
+ }
46
+ /**
47
+ * Ensures a given value is a valid ClassSetter.
48
+ * @param {ClassSetter} value
49
+ * @returns {Set<string>}
50
+ */
51
+ static #normalizeClasses(value) {
52
+ if (typeof value === 'string') {
53
+ return new Set(value.trim().split(/\s+/).filter(Boolean));
54
+ }
55
+ if (Array.isArray(value) || value instanceof Set) {
56
+ for (const v of value) {
57
+ if (typeof v !== 'string') {
58
+ throw new TypeError(`Class names must be strings. Got: ${typeof v}`);
59
+ }
60
+ }
61
+ return new Set(value);
62
+ }
63
+ throw new TypeError(`Invalid ClassSetter. Expected string | string[] | Set<string>, got ${typeof value}`);
64
+ }
65
+ /**
66
+ * Returns the combined list of all classes (regular + main).
67
+ * @returns {string[]}
68
+ */
69
+ get fullClass() {
70
+ return [...Array.from(this.#classes), ...Array.from(this.#mainClass)];
71
+ }
72
+ /**
73
+ * Gets the current list of CSS classes applied to this element.
74
+ * @returns {string[]}
75
+ */
76
+ get classes() {
77
+ return [...Array.from(this.#classes)];
78
+ }
79
+ /**
80
+ * Sets the list of CSS classes applied to this element.
81
+ * Automatically updates the element's `className` attribute.
82
+ * @param {ClassSetter} value
83
+ */
84
+ set classes(value) {
85
+ this.#classes = TinyHtmlTemplate.#normalizeClasses(value);
86
+ this.#setClassString();
87
+ }
88
+ /**
89
+ * Gets the main CSS class applied to this element.
90
+ * This class is always present in addition to the regular classes.
91
+ * @returns {string[]}
92
+ */
93
+ get mainClass() {
94
+ return [...Array.from(this.#mainClass)];
95
+ }
96
+ /**
97
+ * Sets the main CSS class applied to this element.
98
+ * Automatically updates the element's `className` attribute.
99
+ * @param {ClassSetter} value
100
+ */
101
+ set mainClass(value) {
102
+ this.#mainClass = TinyHtmlTemplate.#normalizeClasses(value);
103
+ this.#setClassString();
104
+ }
105
+ /**
106
+ * Creates a new TinyHtmlTemplate instance.
107
+ * @param {TinyHtmlT} tag - The HTML tag name to create (e.g., 'div', 'span').
108
+ * @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
109
+ * @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
110
+ */
111
+ constructor(tag, tags = [], mainClass = []) {
112
+ super(tag);
113
+ this.mainClass = mainClass;
114
+ this.classes = tags;
115
+ }
116
+ /**
117
+ * Add one or more CSS classes to the element.
118
+ * @param {...string|string[]} tags
119
+ * @returns {this}
120
+ */
121
+ // @ts-ignore
122
+ addClass(...tags) {
123
+ for (const tag of tags.flat()) {
124
+ if (typeof tag !== 'string')
125
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
126
+ this.#classes.add(tag);
127
+ }
128
+ this.#setClassString();
129
+ return this;
130
+ }
131
+ /**
132
+ * Remove one or more CSS classes from the element.
133
+ * @param {...string|string[]} tags
134
+ * @returns {this}
135
+ */
136
+ // @ts-ignore
137
+ removeClass(...tags) {
138
+ for (const tag of tags.flat()) {
139
+ if (typeof tag !== 'string')
140
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
141
+ this.#classes.delete(tag);
142
+ }
143
+ this.#setClassString();
144
+ return this;
145
+ }
146
+ /**
147
+ * Toggles the presence of a given CSS class on the element.
148
+ * @param {string} tag - The class name to toggle.
149
+ * @returns {this}
150
+ */
151
+ // @ts-ignore
152
+ toggleClass(tag) {
153
+ if (typeof tag !== 'string')
154
+ throw new TypeError(`Class name must be a string. Got: ${typeof tag}`);
155
+ if (this.#classes.has(tag))
156
+ return this.removeClass(tag);
157
+ else
158
+ return this.addClass(tag);
159
+ }
160
+ /**
161
+ * Replaces an existing CSS class with a new one.
162
+ * Behaves like DOMTokenList.replace:
163
+ * - Only replaces if oldClass exists.
164
+ * - Returns true if replacement occurred, false otherwise.
165
+ * @param {string} oldClass - The class to replace.
166
+ * @param {string} newClass - The new class to add.
167
+ * @returns {boolean} True if the replacement occurred, false otherwise.
168
+ */
169
+ replaceClass(oldClass, newClass) {
170
+ if (typeof oldClass !== 'string' || typeof newClass !== 'string')
171
+ throw new TypeError('Both oldClass and newClass must be strings.');
172
+ if (!this.#classes.has(oldClass))
173
+ return false;
174
+ this.#classes.delete(oldClass);
175
+ this.#classes.add(newClass);
176
+ this.#setClassString();
177
+ return true;
178
+ }
179
+ /**
180
+ * Clears all CSS classes from the element.
181
+ * @returns {this}
182
+ */
183
+ resetClasses() {
184
+ this.#classes.clear();
185
+ this.removeAttr('className');
186
+ return this;
187
+ }
188
+ }
189
+ export default TinyHtmlTemplate;