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,331 @@
1
+ 'use strict';
2
+
3
+ var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
4
+
5
+ /**
6
+ * TinyTextarea is a helper class for managing <textarea> elements.
7
+ * It allows configuring all standard attributes such as rows, cols, placeholder,
8
+ * autocomplete, spellcheck, and more, with validation.
9
+ *
10
+ * @example
11
+ * const textarea = new TinyHtmlTextarea({
12
+ * rows: 5,
13
+ * placeholder: 'Write here...',
14
+ * required: true,
15
+ * maxlength: 200
16
+ * });
17
+ *
18
+ * @extends TinyHtmlTemplate<HTMLTextAreaElement>
19
+ */
20
+ class TinyHtmlTextarea extends TinyHtmlTemplate {
21
+ /**
22
+ * Creates a new TinyTextarea instance.
23
+ * @param {Object} config - Configuration object.
24
+ * @param {string} [config.value=""] - Initial text inside the textarea.
25
+ * @param {number} [config.rows] - Number of visible text lines.
26
+ * @param {number} [config.cols] - Number of character columns.
27
+ * @param {string} [config.placeholder] - Placeholder text.
28
+ * @param {'none'|'sentences'|'words'|'characters'|'on'|'off'} [config.autocapitalize] - Controls automatic capitalization.
29
+ * @param {string} [config.autocomplete] - Autocomplete behavior ("on", "off", or token list).
30
+ * @param {'on'|'off'|boolean} [config.autocorrect] - Autocorrect behavior ("on" or "off").
31
+ * @param {boolean} [config.autofocus=false] - Whether the textarea should autofocus on load.
32
+ * @param {string} [config.dirname] - Directionality of submitted text.
33
+ * @param {boolean} [config.disabled=false] - Whether the textarea is disabled.
34
+ * @param {string} [config.form] - The id of the associated form.
35
+ * @param {number} [config.maxlength] - Maximum length in UTF-16 code units.
36
+ * @param {number} [config.minlength] - Minimum length in UTF-16 code units.
37
+ * @param {string} [config.name] - The name of the control.
38
+ * @param {boolean} [config.readonly=false] - Whether the textarea is read-only.
39
+ * @param {boolean} [config.required=false] - Whether the textarea is required.
40
+ * @param {true|false|"true"|"false"|"default"} [config.spellcheck] - Spellcheck behavior.
41
+ * @param {"hard"|"soft"|"off"} [config.wrap] - Wrapping behavior.
42
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
43
+ * @param {string} [config.mainClass=''] - Main CSS class.
44
+ * @throws {TypeError} If any attribute is of the wrong type.
45
+ */
46
+ constructor({
47
+ value = '',
48
+ rows,
49
+ cols,
50
+ placeholder,
51
+ autocapitalize,
52
+ autocomplete,
53
+ autocorrect,
54
+ autofocus = false,
55
+ dirname,
56
+ disabled = false,
57
+ form,
58
+ maxlength,
59
+ minlength,
60
+ name,
61
+ readonly = false,
62
+ required = false,
63
+ spellcheck,
64
+ wrap,
65
+ tags = [],
66
+ mainClass = '',
67
+ } = {}) {
68
+ super(document.createElement('textarea'), tags, mainClass);
69
+
70
+ // value
71
+ this.value = value;
72
+ // rows
73
+ if (rows !== undefined) this.rows = rows;
74
+ // cols
75
+ if (cols !== undefined) this.cols = cols;
76
+ // placeholder
77
+ if (placeholder !== undefined) this.placeholder = placeholder;
78
+ // autocapitalize
79
+ if (autocapitalize !== undefined) this.autocapitalize = autocapitalize;
80
+ // autocomplete
81
+ if (autocomplete !== undefined) this.autocomplete = autocomplete;
82
+ // autocorrect
83
+ if (autocorrect !== undefined) this.autocorrect = autocorrect;
84
+ // autofocus
85
+ this.autofocus = autofocus;
86
+ // dirname
87
+ if (dirname !== undefined) this.dirname = dirname;
88
+ // disabled
89
+ this.disabled = disabled;
90
+ // form
91
+ if (form !== undefined) this.form = form;
92
+ // maxlength
93
+ if (maxlength !== undefined) this.maxlength = maxlength;
94
+ // minlength
95
+ if (minlength !== undefined) this.minlength = minlength;
96
+ // name
97
+ if (name !== undefined) this.name = name;
98
+ // --- readonly ---
99
+ this.readonly = readonly;
100
+ // --- required ---
101
+ this.required = required;
102
+ // spellcheck
103
+ if (spellcheck !== undefined) this.spellcheck = spellcheck;
104
+ // wrap
105
+ if (wrap !== undefined) this.wrap = wrap;
106
+ }
107
+
108
+ /** @param {string} value */
109
+ set value(value) {
110
+ if (typeof value !== 'string') throw new TypeError('TinyTextarea: "value" must be a string.');
111
+ this.setVal(value);
112
+ }
113
+
114
+ /** @returns {string} */
115
+ get value() {
116
+ return this.valTxt();
117
+ }
118
+
119
+ /** @param {number} rows */
120
+ set rows(rows) {
121
+ if (!Number.isInteger(rows) || rows < 1)
122
+ throw new TypeError('TinyTextarea: "rows" must be a positive integer.');
123
+ this.setAttr('rows', rows);
124
+ }
125
+
126
+ /** @returns {number|null} */
127
+ get rows() {
128
+ return this.attrNumber('rows');
129
+ }
130
+
131
+ /** @param {number} cols */
132
+ set cols(cols) {
133
+ if (!Number.isInteger(cols) || cols < 1)
134
+ throw new TypeError('TinyTextarea: "cols" must be a positive integer.');
135
+ this.setAttr('cols', cols);
136
+ }
137
+
138
+ /** @returns {number|null} */
139
+ get cols() {
140
+ return this.attrNumber('cols');
141
+ }
142
+
143
+ /** @param {string} placeholder */
144
+ set placeholder(placeholder) {
145
+ if (typeof placeholder !== 'string')
146
+ throw new TypeError('TinyTextarea: "placeholder" must be a string.');
147
+ this.setAttr('placeholder', placeholder);
148
+ }
149
+
150
+ /** @returns {string|null} */
151
+ get placeholder() {
152
+ return this.attrString('placeholder');
153
+ }
154
+
155
+ /** @param {'none'|'sentences'|'words'|'characters'|'on'|'off'} autocapitalize */
156
+ set autocapitalize(autocapitalize) {
157
+ const valid = ['none', 'sentences', 'words', 'characters', 'on', 'off'];
158
+ if (!valid.includes(autocapitalize))
159
+ throw new TypeError(`TinyTextarea: "autocapitalize" must be one of ${valid.join(', ')}.`);
160
+ this.setAttr('autocapitalize', autocapitalize);
161
+ }
162
+
163
+ /** @returns {string|null} */
164
+ get autocapitalize() {
165
+ return this.attrString('autocapitalize');
166
+ }
167
+
168
+ /** @param {string} autocomplete */
169
+ set autocomplete(autocomplete) {
170
+ if (typeof autocomplete !== 'string')
171
+ throw new TypeError('TinyTextarea: "autocomplete" must be a string.');
172
+ this.setAttr('autocomplete', autocomplete);
173
+ }
174
+
175
+ /** @returns {string|null} */
176
+ get autocomplete() {
177
+ return this.attrString('autocomplete');
178
+ }
179
+
180
+ /** @param {'on'|'off'|boolean} autocorrect */
181
+ set autocorrect(autocorrect) {
182
+ if (typeof autocorrect === 'boolean') {
183
+ this.setAttr('autocorrect', autocorrect ? 'on' : 'off');
184
+ return;
185
+ }
186
+ if (!['on', 'off'].includes(autocorrect))
187
+ throw new TypeError('TinyTextarea: "autocorrect" must be "on" or "off".');
188
+ this.setAttr('autocorrect', autocorrect);
189
+ }
190
+
191
+ /** @returns {boolean|null} */
192
+ get autocorrect() {
193
+ const autocorrect = this.attrString('autocorrect');
194
+ if (autocorrect === 'on') return true;
195
+ else if (autocorrect === 'off') return false;
196
+ return null;
197
+ }
198
+
199
+ /** @param {boolean} autofocus */
200
+ set autofocus(autofocus) {
201
+ if (typeof autofocus !== 'boolean') throw new TypeError('"autofocus" must be a boolean.');
202
+ if (autofocus) this.addProp('autofocus');
203
+ else this.removeProp('autofocus');
204
+ }
205
+
206
+ /** @returns {boolean} */
207
+ get autofocus() {
208
+ return this.hasProp('autofocus');
209
+ }
210
+
211
+ /** @param {string} dirname */
212
+ set dirname(dirname) {
213
+ if (typeof dirname !== 'string')
214
+ throw new TypeError('TinyTextarea: "dirname" must be a string.');
215
+ this.setAttr('dirname', dirname);
216
+ }
217
+
218
+ /** @returns {string|null} */
219
+ get dirname() {
220
+ return this.attrString('dirname');
221
+ }
222
+
223
+ /** @param {boolean} disabled */
224
+ set disabled(disabled) {
225
+ if (typeof disabled !== 'boolean') throw new TypeError('"disabled" must be a boolean.');
226
+ if (disabled) this.addProp('disabled');
227
+ else this.removeProp('disabled');
228
+ }
229
+
230
+ /** @returns {boolean} */
231
+ get disabled() {
232
+ return this.hasProp('disabled');
233
+ }
234
+
235
+ /** @param {string} form */
236
+ set form(form) {
237
+ if (typeof form !== 'string') throw new TypeError('TinyTextarea: "form" must be a string.');
238
+ this.setAttr('form', form);
239
+ }
240
+
241
+ /** @returns {string|null} */
242
+ get form() {
243
+ return this.attrString('form');
244
+ }
245
+
246
+ /** @param {number} maxlength */
247
+ set maxlength(maxlength) {
248
+ if (!Number.isInteger(maxlength) || maxlength < 1)
249
+ throw new TypeError('TinyTextarea: "maxlength" must be a positive integer.');
250
+ this.setAttr('maxlength', maxlength);
251
+ }
252
+
253
+ /** @returns {number|null} */
254
+ get maxlength() {
255
+ return this.attrNumber('maxlength');
256
+ }
257
+
258
+ /** @param {number} minlength */
259
+ set minlength(minlength) {
260
+ if (!Number.isInteger(minlength) || minlength < 0)
261
+ throw new TypeError('TinyTextarea: "minlength" must be a non-negative integer.');
262
+ this.setAttr('minlength', minlength);
263
+ }
264
+
265
+ /** @returns {number|null} */
266
+ get minlength() {
267
+ return this.attrNumber('minlength');
268
+ }
269
+
270
+ /** @param {string} name */
271
+ set name(name) {
272
+ if (typeof name !== 'string') throw new TypeError('TinyTextarea: "name" must be a string.');
273
+ this.setAttr('name', name);
274
+ }
275
+
276
+ /** @returns {string|null} */
277
+ get name() {
278
+ return this.attrString('name');
279
+ }
280
+
281
+ /** @param {boolean} readonly */
282
+ set readonly(readonly) {
283
+ if (typeof readonly !== 'boolean') throw new TypeError('"readonly" must be a boolean.');
284
+ if (readonly) this.addProp('readonly');
285
+ else this.removeProp('readonly');
286
+ }
287
+
288
+ /** @returns {boolean} */
289
+ get readonly() {
290
+ return this.hasProp('readonly');
291
+ }
292
+
293
+ /** @param {boolean} required */
294
+ set required(required) {
295
+ if (typeof required !== 'boolean') throw new TypeError('"required" must be a boolean.');
296
+ if (required) this.addProp('required');
297
+ else this.removeProp('required');
298
+ }
299
+
300
+ /** @returns {boolean} */
301
+ get required() {
302
+ return this.hasProp('required');
303
+ }
304
+
305
+ /** @param {'true'|'false'|boolean|'default'} spellcheck */
306
+ set spellcheck(spellcheck) {
307
+ if (![true, false, 'true', 'false', 'default'].includes(spellcheck))
308
+ throw new TypeError('TinyTextarea: "spellcheck" must be "true", "false" or "default".');
309
+ this.setAttr('spellcheck', spellcheck);
310
+ }
311
+
312
+ /** @returns {string|null} */
313
+ get spellcheck() {
314
+ return this.attrString('spellcheck');
315
+ }
316
+
317
+ /** @param {'hard'|'soft'|'off'} wrap */
318
+ set wrap(wrap) {
319
+ const valid = ['hard', 'soft', 'off'];
320
+ if (!valid.includes(wrap))
321
+ throw new TypeError(`TinyTextarea: "wrap" must be one of ${valid.join(', ')}.`);
322
+ this.setAttr('wrap', wrap);
323
+ }
324
+
325
+ /** @returns {string|null} */
326
+ get wrap() {
327
+ return this.attrString('wrap');
328
+ }
329
+ }
330
+
331
+ module.exports = TinyHtmlTextarea;
@@ -0,0 +1,139 @@
1
+ export default TinyHtmlTextarea;
2
+ /**
3
+ * TinyTextarea is a helper class for managing <textarea> elements.
4
+ * It allows configuring all standard attributes such as rows, cols, placeholder,
5
+ * autocomplete, spellcheck, and more, with validation.
6
+ *
7
+ * @example
8
+ * const textarea = new TinyHtmlTextarea({
9
+ * rows: 5,
10
+ * placeholder: 'Write here...',
11
+ * required: true,
12
+ * maxlength: 200
13
+ * });
14
+ *
15
+ * @extends TinyHtmlTemplate<HTMLTextAreaElement>
16
+ */
17
+ declare class TinyHtmlTextarea extends TinyHtmlTemplate<HTMLTextAreaElement> {
18
+ /**
19
+ * Creates a new TinyTextarea instance.
20
+ * @param {Object} config - Configuration object.
21
+ * @param {string} [config.value=""] - Initial text inside the textarea.
22
+ * @param {number} [config.rows] - Number of visible text lines.
23
+ * @param {number} [config.cols] - Number of character columns.
24
+ * @param {string} [config.placeholder] - Placeholder text.
25
+ * @param {'none'|'sentences'|'words'|'characters'|'on'|'off'} [config.autocapitalize] - Controls automatic capitalization.
26
+ * @param {string} [config.autocomplete] - Autocomplete behavior ("on", "off", or token list).
27
+ * @param {'on'|'off'|boolean} [config.autocorrect] - Autocorrect behavior ("on" or "off").
28
+ * @param {boolean} [config.autofocus=false] - Whether the textarea should autofocus on load.
29
+ * @param {string} [config.dirname] - Directionality of submitted text.
30
+ * @param {boolean} [config.disabled=false] - Whether the textarea is disabled.
31
+ * @param {string} [config.form] - The id of the associated form.
32
+ * @param {number} [config.maxlength] - Maximum length in UTF-16 code units.
33
+ * @param {number} [config.minlength] - Minimum length in UTF-16 code units.
34
+ * @param {string} [config.name] - The name of the control.
35
+ * @param {boolean} [config.readonly=false] - Whether the textarea is read-only.
36
+ * @param {boolean} [config.required=false] - Whether the textarea is required.
37
+ * @param {true|false|"true"|"false"|"default"} [config.spellcheck] - Spellcheck behavior.
38
+ * @param {"hard"|"soft"|"off"} [config.wrap] - Wrapping behavior.
39
+ * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
40
+ * @param {string} [config.mainClass=''] - Main CSS class.
41
+ * @throws {TypeError} If any attribute is of the wrong type.
42
+ */
43
+ constructor({ value, rows, cols, placeholder, autocapitalize, autocomplete, autocorrect, autofocus, dirname, disabled, form, maxlength, minlength, name, readonly, required, spellcheck, wrap, tags, mainClass, }?: {
44
+ value?: string | undefined;
45
+ rows?: number | undefined;
46
+ cols?: number | undefined;
47
+ placeholder?: string | undefined;
48
+ autocapitalize?: "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
49
+ autocomplete?: string | undefined;
50
+ autocorrect?: boolean | "off" | "on" | undefined;
51
+ autofocus?: boolean | undefined;
52
+ dirname?: string | undefined;
53
+ disabled?: boolean | undefined;
54
+ form?: string | undefined;
55
+ maxlength?: number | undefined;
56
+ minlength?: number | undefined;
57
+ name?: string | undefined;
58
+ readonly?: boolean | undefined;
59
+ required?: boolean | undefined;
60
+ spellcheck?: boolean | "false" | "true" | "default" | undefined;
61
+ wrap?: "off" | "soft" | "hard" | undefined;
62
+ tags?: string | string[] | Set<string> | undefined;
63
+ mainClass?: string | undefined;
64
+ });
65
+ /** @param {string} value */
66
+ set value(value: string);
67
+ /** @returns {string} */
68
+ get value(): string;
69
+ /** @param {number} rows */
70
+ set rows(rows: number);
71
+ /** @returns {number|null} */
72
+ get rows(): number | null;
73
+ /** @param {number} cols */
74
+ set cols(cols: number);
75
+ /** @returns {number|null} */
76
+ get cols(): number | null;
77
+ /** @param {string} placeholder */
78
+ set placeholder(placeholder: string);
79
+ /** @returns {string|null} */
80
+ get placeholder(): string | null;
81
+ /** @param {'none'|'sentences'|'words'|'characters'|'on'|'off'} autocapitalize */
82
+ set autocapitalize(autocapitalize: "none" | "sentences" | "words" | "characters" | "on" | "off");
83
+ /** @returns {string|null} */
84
+ get autocapitalize(): string | null;
85
+ /** @param {string} autocomplete */
86
+ set autocomplete(autocomplete: string);
87
+ /** @returns {string|null} */
88
+ get autocomplete(): string | null;
89
+ /** @param {'on'|'off'|boolean} autocorrect */
90
+ set autocorrect(autocorrect: "on" | "off" | boolean);
91
+ /** @returns {boolean|null} */
92
+ get autocorrect(): boolean | null;
93
+ /** @param {boolean} autofocus */
94
+ set autofocus(autofocus: boolean);
95
+ /** @returns {boolean} */
96
+ get autofocus(): boolean;
97
+ /** @param {string} dirname */
98
+ set dirname(dirname: string);
99
+ /** @returns {string|null} */
100
+ get dirname(): string | null;
101
+ /** @param {boolean} disabled */
102
+ set disabled(disabled: boolean);
103
+ /** @returns {boolean} */
104
+ get disabled(): boolean;
105
+ /** @param {string} form */
106
+ set form(form: string);
107
+ /** @returns {string|null} */
108
+ get form(): string | null;
109
+ /** @param {number} maxlength */
110
+ set maxlength(maxlength: number);
111
+ /** @returns {number|null} */
112
+ get maxlength(): number | null;
113
+ /** @param {number} minlength */
114
+ set minlength(minlength: number);
115
+ /** @returns {number|null} */
116
+ get minlength(): number | null;
117
+ /** @param {string} name */
118
+ set name(name: string);
119
+ /** @returns {string|null} */
120
+ get name(): string | null;
121
+ /** @param {boolean} readonly */
122
+ set readonly(readonly: boolean);
123
+ /** @returns {boolean} */
124
+ get readonly(): boolean;
125
+ /** @param {boolean} required */
126
+ set required(required: boolean);
127
+ /** @returns {boolean} */
128
+ get required(): boolean;
129
+ /** @param {'true'|'false'|boolean|'default'} spellcheck */
130
+ set spellcheck(spellcheck: "true" | "false" | boolean | "default");
131
+ /** @returns {string|null} */
132
+ get spellcheck(): string | null;
133
+ /** @param {'hard'|'soft'|'off'} wrap */
134
+ set wrap(wrap: "hard" | "soft" | "off");
135
+ /** @returns {string|null} */
136
+ get wrap(): string | null;
137
+ }
138
+ import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
139
+ //# sourceMappingURL=TinyHtmlTextarea.d.mts.map