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,251 @@
1
+ import TinyHtml from '../TinyHtml.mjs';
2
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
3
+ /**
4
+ * TinyHtmlSelect is a helper class for managing <select> elements.
5
+ * It supports all standard attributes (multiple, autocomplete, autofocus, disabled, etc.)
6
+ * and provides helpers for managing <option> elements.
7
+ *
8
+ * @example
9
+ * const select = new TinyHtmlSelect({
10
+ * options: [
11
+ * { value: '1', label: 'One' },
12
+ * { value: '2', label: 'Two', selected: true }
13
+ * ],
14
+ * multiple: true,
15
+ * required: true,
16
+ * size: 5,
17
+ * name: 'numbers',
18
+ * });
19
+ *
20
+ * @extends TinyHtmlTemplate<HTMLSelectElement>
21
+ */
22
+ class TinyHtmlSelect extends TinyHtmlTemplate {
23
+ /**
24
+ * Creates a new custom <select> element with configurable options and attributes.
25
+ *
26
+ * @param {Object} [config={}] Configuration object for the select element.
27
+ * @param {Array<{
28
+ * value: string,
29
+ * label: string | Element | TinyHtml<any>,
30
+ * selected?: boolean,
31
+ * allowHtml?: boolean
32
+ * }>} [config.options=[]]
33
+ * An array of option definitions. Each option must provide a `value` and a `label`.
34
+ * The `label` can be a string, a DOM element, or a TinyHtml instance.
35
+ * The `selected` flag sets the option as initially selected.
36
+ * If `allowHtml` is true, the label will be interpreted as HTML instead of plain text.
37
+ *
38
+ * @param {boolean} [config.multiple=false]
39
+ * If true, allows selecting multiple options.
40
+ *
41
+ * @param {string} [config.autocomplete]
42
+ * Provides autocomplete hints for the control.
43
+ * Possible values include `"on"` or `"off"`.
44
+ *
45
+ * @param {boolean} [config.autofocus=false]
46
+ * If true, the element will automatically receive focus when the page loads.
47
+ *
48
+ * @param {boolean} [config.disabled=false]
49
+ * If true, disables the select element so it cannot be interacted with.
50
+ *
51
+ * @param {string} [config.form]
52
+ * Associates the select element with the `id` of a form element.
53
+ *
54
+ * @param {string} [config.name]
55
+ * The name of the select control, used when submitting forms.
56
+ *
57
+ * @param {boolean} [config.required=false]
58
+ * If true, the control must be selected before submitting the form.
59
+ *
60
+ * @param {number} [config.size]
61
+ * Defines the number of visible options in the dropdown (without scrolling).
62
+ *
63
+ * @param {string | string[] | Set<string>} [config.tags=[]]
64
+ * A set of tags or CSS classes that can be used for styling or categorization.
65
+ *
66
+ * @param {string} [config.mainClass='']
67
+ * A primary CSS class name to be applied to the select element.
68
+ */
69
+ constructor({ options = [], multiple = false, autocomplete, autofocus = false, disabled = false, form, name, required = false, size, tags = [], mainClass = '', } = {}) {
70
+ super(document.createElement('select'), tags, mainClass);
71
+ this.multiple = multiple;
72
+ if (autocomplete !== undefined)
73
+ this.autocomplete = autocomplete;
74
+ this.autofocus = autofocus;
75
+ this.disabled = disabled;
76
+ if (form !== undefined)
77
+ this.form = form;
78
+ if (name !== undefined)
79
+ this.name = name;
80
+ this.required = required;
81
+ if (size !== undefined)
82
+ this.sizeEl = size;
83
+ for (const opt of options) {
84
+ this.addOption(opt);
85
+ }
86
+ }
87
+ /** @param {boolean} multiple */
88
+ set multiple(multiple) {
89
+ if (typeof multiple !== 'boolean')
90
+ throw new TypeError('"multiple" must be a boolean.');
91
+ if (multiple)
92
+ this.addProp('multiple');
93
+ else
94
+ this.removeProp('multiple');
95
+ }
96
+ /** @returns {boolean} */
97
+ get multiple() {
98
+ return this.hasProp('multiple');
99
+ }
100
+ /** @param {string} autocomplete */
101
+ set autocomplete(autocomplete) {
102
+ if (typeof autocomplete !== 'string')
103
+ throw new TypeError('"autocomplete" must be a string.');
104
+ this.setAttr('autocomplete', autocomplete);
105
+ }
106
+ /** @returns {string|null} */
107
+ get autocomplete() {
108
+ return this.attrString('autocomplete');
109
+ }
110
+ /** @param {boolean} autofocus */
111
+ set autofocus(autofocus) {
112
+ if (typeof autofocus !== 'boolean')
113
+ throw new TypeError('"autofocus" must be a boolean.');
114
+ if (autofocus)
115
+ this.addProp('autofocus');
116
+ else
117
+ this.removeProp('autofocus');
118
+ }
119
+ /** @returns {boolean} */
120
+ get autofocus() {
121
+ return this.hasProp('autofocus');
122
+ }
123
+ /** @param {boolean} disabled */
124
+ set disabled(disabled) {
125
+ if (typeof disabled !== 'boolean')
126
+ throw new TypeError('"disabled" must be a boolean.');
127
+ if (disabled)
128
+ this.addProp('disabled');
129
+ else
130
+ this.removeProp('disabled');
131
+ }
132
+ /** @returns {boolean} */
133
+ get disabled() {
134
+ return this.hasProp('disabled');
135
+ }
136
+ /** @param {string} form */
137
+ set form(form) {
138
+ if (typeof form !== 'string')
139
+ throw new TypeError('"form" must be a string (form id).');
140
+ this.setAttr('form', form);
141
+ }
142
+ /** @returns {string|null} */
143
+ get form() {
144
+ return this.attrString('form');
145
+ }
146
+ /** @param {string} name */
147
+ set name(name) {
148
+ if (typeof name !== 'string')
149
+ throw new TypeError('"name" must be a string.');
150
+ this.setAttr('name', name);
151
+ }
152
+ /** @returns {string|null} */
153
+ get name() {
154
+ return this.attrString('name');
155
+ }
156
+ /** @param {boolean} required */
157
+ set required(required) {
158
+ if (typeof required !== 'boolean')
159
+ throw new TypeError('"required" must be a boolean.');
160
+ if (required)
161
+ this.addProp('required');
162
+ else
163
+ this.removeProp('required');
164
+ }
165
+ /** @returns {boolean} */
166
+ get required() {
167
+ return this.hasProp('required');
168
+ }
169
+ /** @param {number} size */
170
+ set sizeEl(size) {
171
+ if (!Number.isInteger(size) || size < 0)
172
+ throw new TypeError('"size" must be a non-negative integer.');
173
+ this.setAttr('size', size);
174
+ }
175
+ /** @returns {number|null} */
176
+ get sizeEl() {
177
+ return this.attrNumber('size');
178
+ }
179
+ /**
180
+ * Adds an option element.
181
+ * @param {{ value: string, label: string|Element|TinyHtml<any>, selected?: boolean, allowHtml?: boolean }} option
182
+ * @returns {this}
183
+ */
184
+ addOption({ value, label, allowHtml = false, selected = false }) {
185
+ if (typeof value !== 'string')
186
+ throw new TypeError('"value" must be a string.');
187
+ if (typeof selected !== 'boolean')
188
+ throw new TypeError('"selected" must be a boolean.');
189
+ const opt = new TinyHtml(document.createElement('option'));
190
+ opt.setAttr('value', value);
191
+ if (typeof label === 'string') {
192
+ if (!allowHtml)
193
+ opt.setText(label);
194
+ else
195
+ opt.setHtml(label);
196
+ }
197
+ else if (label instanceof Element || label instanceof TinyHtml) {
198
+ if (!allowHtml)
199
+ throw new Error('addOption: Passing an Element/TinyHtml requires allowHtml=true.');
200
+ opt.append(label);
201
+ }
202
+ else {
203
+ throw new TypeError('"label" must be a string, Element, or TinyHtml instance.');
204
+ }
205
+ if (selected)
206
+ opt.addProp('selected');
207
+ this.append(opt);
208
+ return this;
209
+ }
210
+ /** @returns {string} */
211
+ get value() {
212
+ if (this.multiple)
213
+ throw new Error('TinyHtmlSelect.value: Use "values" getter for multiple selects.');
214
+ return this.valTxt();
215
+ }
216
+ /** @param {string} val */
217
+ set value(val) {
218
+ if (this.multiple)
219
+ throw new Error('TinyHtmlSelect.value: Use "values" setter for multiple selects.');
220
+ if (typeof val !== 'string')
221
+ throw new TypeError('"value" must be a string.');
222
+ this.setValue(val);
223
+ }
224
+ /** @returns {string[]} */
225
+ get values() {
226
+ if (!this.multiple)
227
+ throw new Error('TinyHtmlSelect.values: Use "value" getter for single select.');
228
+ return Array.from(this.prop('selectedOptions')).map((o) => o.value);
229
+ }
230
+ /** @param {string[]} vals */
231
+ set values(vals) {
232
+ if (!this.multiple)
233
+ throw new Error('TinyHtmlSelect.values: Use "value" setter for single select.');
234
+ if (!Array.isArray(vals) || !vals.every((v) => typeof v === 'string'))
235
+ throw new TypeError('"values" must be an array of strings.');
236
+ this.setValue(vals);
237
+ }
238
+ /**
239
+ * Internal: apply selection to options.
240
+ * @param {string|string[]} value
241
+ * @returns {this}
242
+ */
243
+ setValue(value) {
244
+ const values = Array.isArray(value) ? value : [value];
245
+ for (const opt of this.prop('options')) {
246
+ opt.selected = values.includes(opt.value);
247
+ }
248
+ return this;
249
+ }
250
+ }
251
+ export default TinyHtmlSelect;
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
4
+
5
+ /**
6
+ * TinyHtmlStyle is a lightweight helper class for managing <style> elements.
7
+ * It provides a simple API to configure attributes like `media`, `nonce`,
8
+ * `blocking`, and `title`, while extending TinyHtmlTemplate for DOM operations.
9
+ *
10
+ * @example
11
+ * const style = new TinyHtmlStyle({
12
+ * media: 'screen and (max-width: 600px)',
13
+ * blocking: 'render',
14
+ * });
15
+ * style.content = 'body { background: pink; }';
16
+ *
17
+ * @extends TinyHtmlTemplate<HTMLStyleElement>
18
+ */
19
+ class TinyHtmlStyle extends TinyHtmlTemplate {
20
+ /**
21
+ * Creates a new TinyHtmlStyle instance.
22
+ * @param {Object} config - Configuration object.
23
+ * @param {string} [config.blocking] - Space-separated list of blocking tokens (currently only `"render"` is valid).
24
+ * @param {string} [config.media="all"] - Media query that the stylesheet applies to. Defaults to `"all"`.
25
+ * @param {string} [config.nonce] - Cryptographic nonce used in Content-Security-Policy for inline styles.
26
+ * @param {string} [config.title] - Specifies an alternate style sheet set.
27
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
28
+ * @param {string} [config.mainClass=""] - Main CSS class to apply.
29
+ */
30
+ constructor({ blocking, media = 'all', nonce, title, tags = [], mainClass = '' } = {}) {
31
+ super(document.createElement('style'), tags, mainClass);
32
+
33
+ if (blocking !== undefined) this.blocking = blocking;
34
+ if (media !== undefined) this.media = media;
35
+ if (nonce !== undefined) this.nonce = nonce;
36
+ if (title !== undefined) this.title = title;
37
+ }
38
+
39
+ /** @param {string} blocking */
40
+ set blocking(blocking) {
41
+ if (typeof blocking !== 'string')
42
+ throw new TypeError('TinyHtmlStyle: "blocking" must be a string.');
43
+ const validTokens = ['render'];
44
+ const tokens = blocking.trim().split(/\s+/).filter(Boolean);
45
+ for (const token of tokens) {
46
+ if (!validTokens.includes(token)) {
47
+ throw new Error(
48
+ `TinyHtmlStyle: invalid blocking token "${token}". Only "render" is allowed.`,
49
+ );
50
+ }
51
+ }
52
+ if (tokens.length) this.setAttr('blocking', tokens.join(' '));
53
+ else this.removeAttr('blocking');
54
+ }
55
+
56
+ /** @returns {string|null} */
57
+ get blocking() {
58
+ return this.attrString('blocking');
59
+ }
60
+
61
+ /** @param {string} media */
62
+ set media(media) {
63
+ if (typeof media !== 'string') throw new TypeError('TinyHtmlStyle: "media" must be a string.');
64
+ if (media.trim()) this.setAttr('media', media.trim());
65
+ else this.removeAttr('media');
66
+ }
67
+
68
+ /** @returns {string|null} */
69
+ get media() {
70
+ return this.attrString('media');
71
+ }
72
+
73
+ /** @param {string} nonce */
74
+ set nonce(nonce) {
75
+ if (typeof nonce !== 'string') throw new TypeError('TinyHtmlStyle: "nonce" must be a string.');
76
+ if (nonce.trim()) this.setAttr('nonce', nonce.trim());
77
+ else this.removeAttr('nonce');
78
+ }
79
+
80
+ /** @returns {string|null} */
81
+ get nonce() {
82
+ return this.attrString('nonce');
83
+ }
84
+
85
+ /** @param {string} title */
86
+ set title(title) {
87
+ if (typeof title !== 'string') throw new TypeError('TinyHtmlStyle: "title" must be a string.');
88
+ if (title.trim()) this.setAttr('title', title.trim());
89
+ else this.removeAttr('title');
90
+ }
91
+
92
+ /** @returns {string|null} */
93
+ get title() {
94
+ return this.attrString('title');
95
+ }
96
+
97
+ /** @param {string} cssText */
98
+ set content(cssText) {
99
+ if (typeof cssText !== 'string')
100
+ throw new TypeError('TinyHtmlStyle: "content" must be a string.');
101
+ this.el.textContent = cssText;
102
+ }
103
+
104
+ /** @returns {string} */
105
+ get content() {
106
+ return this.el.textContent ?? '';
107
+ }
108
+ }
109
+
110
+ module.exports = TinyHtmlStyle;
@@ -0,0 +1,57 @@
1
+ export default TinyHtmlStyle;
2
+ /**
3
+ * TinyHtmlStyle is a lightweight helper class for managing <style> elements.
4
+ * It provides a simple API to configure attributes like `media`, `nonce`,
5
+ * `blocking`, and `title`, while extending TinyHtmlTemplate for DOM operations.
6
+ *
7
+ * @example
8
+ * const style = new TinyHtmlStyle({
9
+ * media: 'screen and (max-width: 600px)',
10
+ * blocking: 'render',
11
+ * });
12
+ * style.content = 'body { background: pink; }';
13
+ *
14
+ * @extends TinyHtmlTemplate<HTMLStyleElement>
15
+ */
16
+ declare class TinyHtmlStyle extends TinyHtmlTemplate<HTMLStyleElement> {
17
+ /**
18
+ * Creates a new TinyHtmlStyle instance.
19
+ * @param {Object} config - Configuration object.
20
+ * @param {string} [config.blocking] - Space-separated list of blocking tokens (currently only `"render"` is valid).
21
+ * @param {string} [config.media="all"] - Media query that the stylesheet applies to. Defaults to `"all"`.
22
+ * @param {string} [config.nonce] - Cryptographic nonce used in Content-Security-Policy for inline styles.
23
+ * @param {string} [config.title] - Specifies an alternate style sheet set.
24
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
25
+ * @param {string} [config.mainClass=""] - Main CSS class to apply.
26
+ */
27
+ constructor({ blocking, media, nonce, title, tags, mainClass }?: {
28
+ blocking?: string | undefined;
29
+ media?: string | undefined;
30
+ nonce?: string | undefined;
31
+ title?: string | undefined;
32
+ tags?: string | string[] | Set<string> | undefined;
33
+ mainClass?: string | undefined;
34
+ });
35
+ /** @param {string} blocking */
36
+ set blocking(blocking: string);
37
+ /** @returns {string|null} */
38
+ get blocking(): string | null;
39
+ /** @param {string} media */
40
+ set media(media: string);
41
+ /** @returns {string|null} */
42
+ get media(): string | null;
43
+ /** @param {string} nonce */
44
+ set nonce(nonce: string);
45
+ /** @returns {string|null} */
46
+ get nonce(): string | null;
47
+ /** @param {string} title */
48
+ set title(title: string);
49
+ /** @returns {string|null} */
50
+ get title(): string | null;
51
+ /** @param {string} cssText */
52
+ set content(cssText: string);
53
+ /** @returns {string} */
54
+ get content(): string;
55
+ }
56
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
57
+ //# sourceMappingURL=TinyHtmlStyle.d.mts.map
@@ -0,0 +1,108 @@
1
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
2
+ /**
3
+ * TinyHtmlStyle is a lightweight helper class for managing <style> elements.
4
+ * It provides a simple API to configure attributes like `media`, `nonce`,
5
+ * `blocking`, and `title`, while extending TinyHtmlTemplate for DOM operations.
6
+ *
7
+ * @example
8
+ * const style = new TinyHtmlStyle({
9
+ * media: 'screen and (max-width: 600px)',
10
+ * blocking: 'render',
11
+ * });
12
+ * style.content = 'body { background: pink; }';
13
+ *
14
+ * @extends TinyHtmlTemplate<HTMLStyleElement>
15
+ */
16
+ class TinyHtmlStyle extends TinyHtmlTemplate {
17
+ /**
18
+ * Creates a new TinyHtmlStyle instance.
19
+ * @param {Object} config - Configuration object.
20
+ * @param {string} [config.blocking] - Space-separated list of blocking tokens (currently only `"render"` is valid).
21
+ * @param {string} [config.media="all"] - Media query that the stylesheet applies to. Defaults to `"all"`.
22
+ * @param {string} [config.nonce] - Cryptographic nonce used in Content-Security-Policy for inline styles.
23
+ * @param {string} [config.title] - Specifies an alternate style sheet set.
24
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
25
+ * @param {string} [config.mainClass=""] - Main CSS class to apply.
26
+ */
27
+ constructor({ blocking, media = 'all', nonce, title, tags = [], mainClass = '' } = {}) {
28
+ super(document.createElement('style'), tags, mainClass);
29
+ if (blocking !== undefined)
30
+ this.blocking = blocking;
31
+ if (media !== undefined)
32
+ this.media = media;
33
+ if (nonce !== undefined)
34
+ this.nonce = nonce;
35
+ if (title !== undefined)
36
+ this.title = title;
37
+ }
38
+ /** @param {string} blocking */
39
+ set blocking(blocking) {
40
+ if (typeof blocking !== 'string')
41
+ throw new TypeError('TinyHtmlStyle: "blocking" must be a string.');
42
+ const validTokens = ['render'];
43
+ const tokens = blocking.trim().split(/\s+/).filter(Boolean);
44
+ for (const token of tokens) {
45
+ if (!validTokens.includes(token)) {
46
+ throw new Error(`TinyHtmlStyle: invalid blocking token "${token}". Only "render" is allowed.`);
47
+ }
48
+ }
49
+ if (tokens.length)
50
+ this.setAttr('blocking', tokens.join(' '));
51
+ else
52
+ this.removeAttr('blocking');
53
+ }
54
+ /** @returns {string|null} */
55
+ get blocking() {
56
+ return this.attrString('blocking');
57
+ }
58
+ /** @param {string} media */
59
+ set media(media) {
60
+ if (typeof media !== 'string')
61
+ throw new TypeError('TinyHtmlStyle: "media" must be a string.');
62
+ if (media.trim())
63
+ this.setAttr('media', media.trim());
64
+ else
65
+ this.removeAttr('media');
66
+ }
67
+ /** @returns {string|null} */
68
+ get media() {
69
+ return this.attrString('media');
70
+ }
71
+ /** @param {string} nonce */
72
+ set nonce(nonce) {
73
+ if (typeof nonce !== 'string')
74
+ throw new TypeError('TinyHtmlStyle: "nonce" must be a string.');
75
+ if (nonce.trim())
76
+ this.setAttr('nonce', nonce.trim());
77
+ else
78
+ this.removeAttr('nonce');
79
+ }
80
+ /** @returns {string|null} */
81
+ get nonce() {
82
+ return this.attrString('nonce');
83
+ }
84
+ /** @param {string} title */
85
+ set title(title) {
86
+ if (typeof title !== 'string')
87
+ throw new TypeError('TinyHtmlStyle: "title" must be a string.');
88
+ if (title.trim())
89
+ this.setAttr('title', title.trim());
90
+ else
91
+ this.removeAttr('title');
92
+ }
93
+ /** @returns {string|null} */
94
+ get title() {
95
+ return this.attrString('title');
96
+ }
97
+ /** @param {string} cssText */
98
+ set content(cssText) {
99
+ if (typeof cssText !== 'string')
100
+ throw new TypeError('TinyHtmlStyle: "content" must be a string.');
101
+ this.el.textContent = cssText;
102
+ }
103
+ /** @returns {string} */
104
+ get content() {
105
+ return this.el.textContent ?? '';
106
+ }
107
+ }
108
+ export default TinyHtmlStyle;