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.
- package/.github/workflows/node.js.yml +2 -2
- package/README.md +6 -2
- package/changelog/1/23/2.md +2 -0
- package/changelog/1/24/0.md +10 -0
- package/changelog/1/24/1.md +12 -0
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyColorValidator.min.js +1 -0
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/basics/array.cjs +28 -0
- package/dist/v1/basics/array.d.mts +16 -0
- package/dist/v1/basics/array.mjs +27 -0
- package/dist/v1/basics/index.cjs +2 -4
- package/dist/v1/basics/index.d.mts +2 -2
- package/dist/v1/basics/index.mjs +2 -4
- package/dist/v1/basics/text.cjs +33 -0
- package/dist/v1/basics/text.d.mts +15 -0
- package/dist/v1/basics/text.mjs +28 -0
- package/dist/v1/build/TinyColorValidator.cjs +7 -0
- package/dist/v1/build/TinyColorValidator.d.mts +3 -0
- package/dist/v1/build/TinyColorValidator.mjs +2 -0
- package/dist/v1/build/TinyLevelUp.cjs +2 -2
- package/dist/v1/build/TinyLevelUp.d.mts +1 -1
- package/dist/v1/build/TinyLevelUp.mjs +1 -1
- package/dist/v1/index.cjs +6 -6
- package/dist/v1/index.d.mts +5 -4
- package/dist/v1/index.mjs +8 -6
- package/dist/v1/libs/TinyColorValidator.cjs +907 -0
- package/dist/v1/libs/TinyColorValidator.d.mts +452 -0
- package/dist/v1/libs/TinyColorValidator.mjs +853 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
- package/dist/v1/libs/TinyHtml/index.cjs +202 -0
- package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
- package/dist/v1/libs/TinyHtml/index.mjs +185 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
- package/dist/v1/libs/TinyHtml.cjs +260 -3
- package/dist/v1/libs/TinyHtml.d.mts +196 -5
- package/dist/v1/libs/TinyHtml.mjs +238 -3
- package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
- package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
- package/docs/v1/README.md +1 -0
- package/docs/v1/libs/TinyColorValidator.md +532 -0
- package/docs/v1/libs/TinyHtml.md +4 -4
- package/package.json +15 -24
- package/dist/_virtual/_commonjsHelpers.cjs +0 -7
- package/dist/_virtual/common.cjs +0 -5
- package/dist/_virtual/index.cjs +0 -9
- package/dist/_virtual/index2.cjs +0 -5
- package/dist/_virtual/trace.cjs +0 -5
- package/dist/legacy/crypto/decrypt.cjs +0 -59
- package/dist/legacy/crypto/decrypt.d.mts +0 -20
- package/dist/legacy/crypto/decrypt.mjs +0 -49
- package/dist/legacy/crypto/default.cjs +0 -23
- package/dist/legacy/crypto/default.d.mts +0 -36
- package/dist/legacy/crypto/default.mjs +0 -19
- package/dist/legacy/crypto/encrypt.cjs +0 -55
- package/dist/legacy/crypto/encrypt.d.mts +0 -21
- package/dist/legacy/crypto/encrypt.mjs +0 -47
- package/dist/legacy/crypto/index.cjs +0 -11
- package/dist/legacy/crypto/index.d.mts +0 -5
- package/dist/legacy/crypto/index.mjs +0 -6
- package/dist/legacy/firebase/cookieSession.cjs +0 -123
- package/dist/legacy/firebase/cookieSession.d.mts +0 -57
- package/dist/legacy/firebase/cookieSession.mjs +0 -115
- package/dist/legacy/firebase/database/index.cjs +0 -14
- package/dist/legacy/firebase/database/index.d.mts +0 -8
- package/dist/legacy/firebase/database/index.mjs +0 -8
- package/dist/legacy/firebase/database/presence.cjs +0 -137
- package/dist/legacy/firebase/database/presence.d.mts +0 -13
- package/dist/legacy/firebase/database/presence.mjs +0 -115
- package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
- package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
- package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
- package/dist/legacy/firebase/databaseEscape.cjs +0 -45
- package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
- package/dist/legacy/firebase/databaseEscape.mjs +0 -38
- package/dist/legacy/firebase/databaseLogger.cjs +0 -261
- package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
- package/dist/legacy/firebase/databaseLogger.mjs +0 -235
- package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
- package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
- package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
- package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
- package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
- package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
- package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
- package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
- package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
- package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
- package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
- package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
- package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
- package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
- package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
- package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
- package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
- package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
- package/dist/legacy/firebase/discord/api/index.cjs +0 -27
- package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
- package/dist/legacy/firebase/discord/api/index.mjs +0 -21
- package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
- package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
- package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
- package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
- package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
- package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
- package/dist/legacy/firebase/discord/config.cjs +0 -23
- package/dist/legacy/firebase/discord/config.d.mts +0 -28
- package/dist/legacy/firebase/discord/config.mjs +0 -18
- package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
- package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
- package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
- package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
- package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
- package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
- package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
- package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
- package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
- package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
- package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
- package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
- package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
- package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
- package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
- package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
- package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
- package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
- package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
- package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
- package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
- package/dist/legacy/firebase/discord/get/index.cjs +0 -20
- package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
- package/dist/legacy/firebase/discord/get/index.mjs +0 -14
- package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
- package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
- package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
- package/dist/legacy/firebase/discord/http/index.cjs +0 -18
- package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
- package/dist/legacy/firebase/discord/http/index.mjs +0 -12
- package/dist/legacy/firebase/discord/http/login.cjs +0 -130
- package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
- package/dist/legacy/firebase/discord/http/login.mjs +0 -124
- package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
- package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
- package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
- package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
- package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
- package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
- package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
- package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
- package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
- package/dist/legacy/firebase/discord/index.cjs +0 -22
- package/dist/legacy/firebase/discord/index.d.mts +0 -16
- package/dist/legacy/firebase/discord/index.mjs +0 -16
- package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
- package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
- package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
- package/dist/legacy/firebase/domainRedirect.cjs +0 -37
- package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
- package/dist/legacy/firebase/domainRedirect.mjs +0 -28
- package/dist/legacy/firebase/escape.cjs +0 -77
- package/dist/legacy/firebase/escape.d.mts +0 -18
- package/dist/legacy/firebase/escape.mjs +0 -59
- package/dist/legacy/firebase/getDBAsync.cjs +0 -35
- package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
- package/dist/legacy/firebase/getDBAsync.mjs +0 -27
- package/dist/legacy/firebase/getDBData.cjs +0 -24
- package/dist/legacy/firebase/getDBData.d.mts +0 -2
- package/dist/legacy/firebase/getDBData.mjs +0 -18
- package/dist/legacy/firebase/getDBValue.cjs +0 -19
- package/dist/legacy/firebase/getDBValue.d.mts +0 -10
- package/dist/legacy/firebase/getDBValue.mjs +0 -15
- package/dist/legacy/firebase/index.cjs +0 -264
- package/dist/legacy/firebase/index.d.mts +0 -52
- package/dist/legacy/firebase/index.mjs +0 -235
- package/dist/legacy/firebase/isEmulator.cjs +0 -16
- package/dist/legacy/firebase/isEmulator.d.mts +0 -9
- package/dist/legacy/firebase/isEmulator.mjs +0 -11
- package/dist/legacy/firebase/logger.cjs +0 -140
- package/dist/legacy/firebase/logger.d.mts +0 -8
- package/dist/legacy/firebase/logger.mjs +0 -126
- package/dist/legacy/firebase/mySQL.cjs +0 -30
- package/dist/legacy/firebase/mySQL.d.mts +0 -11
- package/dist/legacy/firebase/mySQL.mjs +0 -23
- package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
- package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
- package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
- package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
- package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
- package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
- package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
- package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
- package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
- package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
- package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
- package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
- package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
- package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
- package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
- package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
- package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
- package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
- package/dist/legacy/get/countObj.cjs +0 -7
- package/dist/legacy/get/countObj.d.mts +0 -3
- package/dist/legacy/get/countObj.mjs +0 -2
- package/dist/legacy/get/decimalColor.cjs +0 -63
- package/dist/legacy/get/decimalColor.d.mts +0 -14
- package/dist/legacy/get/decimalColor.mjs +0 -56
- package/dist/legacy/get/objType.cjs +0 -7
- package/dist/legacy/get/objType.d.mts +0 -3
- package/dist/legacy/get/objType.mjs +0 -2
- package/dist/legacy/get/pagination.cjs +0 -109
- package/dist/legacy/get/pagination.d.mts +0 -44
- package/dist/legacy/get/pagination.mjs +0 -100
- package/dist/legacy/get/queryUrlByName.cjs +0 -32
- package/dist/legacy/get/queryUrlByName.d.mts +0 -22
- package/dist/legacy/get/queryUrlByName.mjs +0 -29
- package/dist/legacy/get/queryUrlJSON.cjs +0 -57
- package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
- package/dist/legacy/get/queryUrlJSON.mjs +0 -59
- package/dist/legacy/get/super_string_filter.cjs +0 -109
- package/dist/legacy/get/super_string_filter.d.mts +0 -27
- package/dist/legacy/get/super_string_filter.mjs +0 -95
- package/dist/legacy/get/versionCheck.cjs +0 -50
- package/dist/legacy/get/versionCheck.d.mts +0 -29
- package/dist/legacy/get/versionCheck.mjs +0 -40
- package/dist/legacy/http/HTTP-1.0.cjs +0 -153
- package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
- package/dist/legacy/http/HTTP-1.0.mjs +0 -138
- package/dist/legacy/http/auth.cjs +0 -71
- package/dist/legacy/http/auth.d.mts +0 -43
- package/dist/legacy/http/auth.mjs +0 -64
- package/dist/legacy/http/check_domain.cjs +0 -103
- package/dist/legacy/http/check_domain.d.mts +0 -13
- package/dist/legacy/http/check_domain.mjs +0 -98
- package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
- package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
- package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
- package/dist/legacy/http/domainValidator.cjs +0 -106
- package/dist/legacy/http/domainValidator.d.mts +0 -41
- package/dist/legacy/http/domainValidator.mjs +0 -89
- package/dist/legacy/http/errorsCallback.cjs +0 -64
- package/dist/legacy/http/errorsCallback.d.mts +0 -41
- package/dist/legacy/http/errorsCallback.mjs +0 -58
- package/dist/legacy/http/fetch/json.cjs +0 -50
- package/dist/legacy/http/fetch/json.d.mts +0 -24
- package/dist/legacy/http/fetch/json.mjs +0 -43
- package/dist/legacy/http/fetch/text.cjs +0 -49
- package/dist/legacy/http/fetch/text.d.mts +0 -23
- package/dist/legacy/http/fetch/text.mjs +0 -42
- package/dist/legacy/http/fileCache.cjs +0 -80
- package/dist/legacy/http/fileCache.d.mts +0 -37
- package/dist/legacy/http/fileCache.mjs +0 -71
- package/dist/legacy/http/getDomainURL.cjs +0 -60
- package/dist/legacy/http/getDomainURL.d.mts +0 -20
- package/dist/legacy/http/getDomainURL.mjs +0 -55
- package/dist/legacy/http/userIP.cjs +0 -65
- package/dist/legacy/http/userIP.d.mts +0 -27
- package/dist/legacy/http/userIP.mjs +0 -53
- package/dist/legacy/index.cjs +0 -125
- package/dist/legacy/index.d.mts +0 -89
- package/dist/legacy/index.mjs +0 -93
- package/dist/legacy/libs/arraySortPositions.cjs +0 -30
- package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
- package/dist/legacy/libs/arraySortPositions.mjs +0 -27
- package/dist/legacy/libs/capitalize.cjs +0 -22
- package/dist/legacy/libs/capitalize.d.mts +0 -15
- package/dist/legacy/libs/capitalize.mjs +0 -18
- package/dist/legacy/libs/convertBytes.cjs +0 -66
- package/dist/legacy/libs/convertBytes.d.mts +0 -18
- package/dist/legacy/libs/convertBytes.mjs +0 -57
- package/dist/legacy/libs/custom_module_loader.cjs +0 -91
- package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
- package/dist/legacy/libs/custom_module_loader.mjs +0 -87
- package/dist/legacy/libs/dice.cjs +0 -37
- package/dist/legacy/libs/dice.d.mts +0 -6
- package/dist/legacy/libs/dice.mjs +0 -33
- package/dist/legacy/libs/markdown.cjs +0 -97
- package/dist/legacy/libs/markdown.d.mts +0 -12
- package/dist/legacy/libs/markdown.mjs +0 -90
- package/dist/legacy/libs/percentage.cjs +0 -23
- package/dist/legacy/libs/percentage.d.mts +0 -5
- package/dist/legacy/libs/percentage.mjs +0 -20
- package/dist/legacy/libs/regex/getLetter.cjs +0 -24
- package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
- package/dist/legacy/libs/regex/getLetter.mjs +0 -21
- package/dist/legacy/libs/replaceAsync.cjs +0 -35
- package/dist/legacy/libs/replaceAsync.d.mts +0 -16
- package/dist/legacy/libs/replaceAsync.mjs +0 -28
- package/dist/legacy/libs/rule3.cjs +0 -59
- package/dist/legacy/libs/rule3.d.mts +0 -6
- package/dist/legacy/libs/rule3.mjs +0 -55
- package/dist/legacy/momentjs/getAge.cjs +0 -29
- package/dist/legacy/momentjs/getAge.d.mts +0 -11
- package/dist/legacy/momentjs/getAge.mjs +0 -23
- package/dist/legacy/momentjs/index.cjs +0 -9
- package/dist/legacy/momentjs/index.d.mts +0 -4
- package/dist/legacy/momentjs/index.mjs +0 -3
- package/dist/legacy/momentjs/timeDuration.cjs +0 -31
- package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
- package/dist/legacy/momentjs/timeDuration.mjs +0 -25
- package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
- package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
- package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
- package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
- package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
- package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
- package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
- package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
- package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
- package/dist/legacy/socket.io/cookie-session.cjs +0 -27
- package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
- package/dist/legacy/socket.io/cookie-session.mjs +0 -22
- package/dist/legacy/socket.io/discord.cjs +0 -62
- package/dist/legacy/socket.io/discord.d.mts +0 -12
- package/dist/legacy/socket.io/discord.mjs +0 -53
- package/dist/legacy/socket.io/index.cjs +0 -13
- package/dist/legacy/socket.io/index.d.mts +0 -10
- package/dist/legacy/socket.io/index.mjs +0 -9
- package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
- package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
- package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
- /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
- /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var TinyHtml = require('../TinyHtml.cjs');
|
|
4
|
+
var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* TinyHtmlButton is a helper class for <button> elements with full attribute support and validation.
|
|
8
|
+
* It extends TinyHtmlTemplate for direct DOM manipulation.
|
|
9
|
+
*
|
|
10
|
+
* Supported attributes:
|
|
11
|
+
* - autofocus
|
|
12
|
+
* - command, commandfor
|
|
13
|
+
* - disabled
|
|
14
|
+
* - form, formaction, formenctype, formmethod, formnovalidate, formtarget
|
|
15
|
+
* - name
|
|
16
|
+
* - popovertarget, popovertargetaction
|
|
17
|
+
* - type (button|submit|reset)
|
|
18
|
+
* - value
|
|
19
|
+
*
|
|
20
|
+
* @extends TinyHtmlTemplate<HTMLButtonElement>
|
|
21
|
+
*/
|
|
22
|
+
class TinyHtmlButton extends TinyHtmlTemplate {
|
|
23
|
+
/**
|
|
24
|
+
* Creates a new TinyHtmlButton instance.
|
|
25
|
+
*
|
|
26
|
+
* @param {Object} config - Configuration object for the button.
|
|
27
|
+
* @param {string|Element|TinyHtml<any>} config.label - The text/HTML/element to place inside the button.
|
|
28
|
+
* If a non-string Element/TinyHtml is provided, `allowHtml` must be true.
|
|
29
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes to apply.
|
|
30
|
+
* @param {boolean} [config.allowHtml=false] - Whether to allow HTML or DOM nodes as label.
|
|
31
|
+
* @param {'button'|'submit'|'reset'} [config.type='button'] - Button type. Allowed values: "button", "submit", "reset".
|
|
32
|
+
* @param {boolean} [config.autofocus=false] - Whether the button should autofocus on load.
|
|
33
|
+
* @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} [config.command] - Command action (built-ins: "show-modal","close","request-close","show-popover","hide-popover","toggle-popover")
|
|
34
|
+
* or a custom command which MUST start with `--` (two hyphens).
|
|
35
|
+
* @param {string} [config.commandfor] - ID of the element controlled by the command. Must be a non-empty string.
|
|
36
|
+
* @param {boolean} [config.disabled=false] - Whether the button is disabled.
|
|
37
|
+
* @param {string} [config.form] - ID of the associated <form>. Must be a non-empty string if provided.
|
|
38
|
+
* @param {string} [config.formaction] - URL that overrides the form action when this button is used to submit.
|
|
39
|
+
* @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} [config.formenctype]
|
|
40
|
+
* - Encoding type used when the button submits the form.
|
|
41
|
+
* @param {'get'|'post'|'dialog'} [config.formmethod] - HTTP method used for this button submission.
|
|
42
|
+
* @param {boolean} [config.formnovalidate=false] - If true, disables validation when this button submits.
|
|
43
|
+
* @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} [config.formtarget] - Target browsing context for this button's submission (keywords or name).
|
|
44
|
+
* @param {string} [config.name] - Button name (sent with value when submitting).
|
|
45
|
+
* @param {string} [config.popovertarget] - ID of the popover to control (non-empty string).
|
|
46
|
+
* @param {'show'|'hide'|'toggle'} [config.popovertargetaction] - Action for popovertarget.
|
|
47
|
+
* @param {string} [config.value] - Value submitted with the form when this button is used.
|
|
48
|
+
* @param {string} [config.mainClass=''] - Main CSS class to append to the element.
|
|
49
|
+
*
|
|
50
|
+
* @throws {TypeError} If `label` is not a string, Element, or TinyHtml instance.
|
|
51
|
+
* @throws {Error} If an Element/TinyHtml `label` is passed but `allowHtml` is false.
|
|
52
|
+
* @throws {TypeError} If `type` is not one of "button", "submit", "reset".
|
|
53
|
+
* @throws {TypeError} If `allowHtml` is not a boolean.
|
|
54
|
+
* @throws {TypeError} If `autofocus`, `disabled` or `formnovalidate` are not booleans.
|
|
55
|
+
* @throws {TypeError} If `command` is not a valid builtin command nor a custom `--*` token.
|
|
56
|
+
* @throws {TypeError} If `commandfor`, `form`, `formaction`, `name`, `popovertarget`, or `value` are not strings.
|
|
57
|
+
* @throws {TypeError} If `formenctype` is not one of the allowed encodings.
|
|
58
|
+
* @throws {TypeError} If `formmethod` is not one of 'get','post','dialog'.
|
|
59
|
+
* @throws {TypeError} If `formtarget` is not a valid keyword or browsing context name.
|
|
60
|
+
*/
|
|
61
|
+
constructor({
|
|
62
|
+
label,
|
|
63
|
+
tags = [],
|
|
64
|
+
allowHtml = false,
|
|
65
|
+
type = 'button',
|
|
66
|
+
autofocus = false,
|
|
67
|
+
command,
|
|
68
|
+
commandfor,
|
|
69
|
+
disabled = false,
|
|
70
|
+
form,
|
|
71
|
+
formaction,
|
|
72
|
+
formenctype,
|
|
73
|
+
formmethod,
|
|
74
|
+
formnovalidate = false,
|
|
75
|
+
formtarget,
|
|
76
|
+
name,
|
|
77
|
+
popovertarget,
|
|
78
|
+
popovertargetaction,
|
|
79
|
+
value,
|
|
80
|
+
mainClass = '',
|
|
81
|
+
}) {
|
|
82
|
+
super(document.createElement('button'), tags, mainClass);
|
|
83
|
+
|
|
84
|
+
if (label === undefined || label === null)
|
|
85
|
+
throw new TypeError('TinyHtmlButton: "label" is required.');
|
|
86
|
+
this.setLabel(label, allowHtml);
|
|
87
|
+
|
|
88
|
+
this.type = type;
|
|
89
|
+
this.autofocus = autofocus;
|
|
90
|
+
this.disabled = disabled;
|
|
91
|
+
this.formnovalidate = formnovalidate;
|
|
92
|
+
|
|
93
|
+
if (command !== undefined) this.command = command;
|
|
94
|
+
if (commandfor !== undefined) this.commandfor = commandfor;
|
|
95
|
+
if (form !== undefined) this.form = form;
|
|
96
|
+
if (formaction !== undefined) this.formaction = formaction;
|
|
97
|
+
if (formenctype !== undefined) this.formenctype = formenctype;
|
|
98
|
+
if (formmethod !== undefined) this.formmethod = formmethod;
|
|
99
|
+
if (formtarget !== undefined) this.formtarget = formtarget;
|
|
100
|
+
if (name !== undefined) this.name = name;
|
|
101
|
+
if (popovertarget !== undefined) this.popovertarget = popovertarget;
|
|
102
|
+
if (popovertargetaction !== undefined) this.popovertargetaction = popovertargetaction;
|
|
103
|
+
if (value !== undefined) this.value = value;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Updates the button label with text, HTML, or an element.
|
|
108
|
+
*
|
|
109
|
+
* @param {string|Element|TinyHtml<any>} label - The new label.
|
|
110
|
+
* @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements.
|
|
111
|
+
* @returns {this}
|
|
112
|
+
* @throws {TypeError} If the label is invalid.
|
|
113
|
+
* @throws {Error} If DOM/HTML is passed but allowHtml=false.
|
|
114
|
+
*/
|
|
115
|
+
setLabel(label, allowHtml = false) {
|
|
116
|
+
if (typeof label === 'string') {
|
|
117
|
+
if (!allowHtml) this.setText(label);
|
|
118
|
+
else this.setHtml(label);
|
|
119
|
+
} else if (label instanceof Element || label instanceof TinyHtml) {
|
|
120
|
+
if (!allowHtml)
|
|
121
|
+
throw new Error('setLabel: Passing an Element/TinyHtml requires allowHtml=true.');
|
|
122
|
+
this.empty().append(label);
|
|
123
|
+
} else {
|
|
124
|
+
throw new TypeError("setLabel: 'label' must be a string, Element, or TinyHtml instance.");
|
|
125
|
+
}
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// --- Getters & Setters ---
|
|
130
|
+
|
|
131
|
+
/** @returns {string|null} */
|
|
132
|
+
get type() {
|
|
133
|
+
return this.attrString('type');
|
|
134
|
+
}
|
|
135
|
+
/** @param {'button'|'submit'|'reset'} val */
|
|
136
|
+
set type(val) {
|
|
137
|
+
const allowed = ['button', 'submit', 'reset'];
|
|
138
|
+
if (typeof val !== 'string' || !allowed.includes(val))
|
|
139
|
+
throw new TypeError(`TinyHtmlButton.type must be one of: ${allowed.join(', ')}`);
|
|
140
|
+
this.setAttr('type', val);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** @returns {boolean} */
|
|
144
|
+
get disabled() {
|
|
145
|
+
return this.hasProp('disabled');
|
|
146
|
+
}
|
|
147
|
+
/** @param {boolean} state */
|
|
148
|
+
set disabled(state) {
|
|
149
|
+
if (typeof state !== 'boolean') throw new TypeError('TinyHtmlButton.disabled must be boolean.');
|
|
150
|
+
if (state) this.addProp('disabled');
|
|
151
|
+
else this.removeProp('disabled');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** @returns {boolean} */
|
|
155
|
+
get autofocus() {
|
|
156
|
+
return this.hasProp('autofocus');
|
|
157
|
+
}
|
|
158
|
+
/** @param {boolean} state */
|
|
159
|
+
set autofocus(state) {
|
|
160
|
+
if (typeof state !== 'boolean')
|
|
161
|
+
throw new TypeError('TinyHtmlButton.autofocus must be boolean.');
|
|
162
|
+
if (state) this.addProp('autofocus');
|
|
163
|
+
else this.removeProp('autofocus');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** @returns {boolean} */
|
|
167
|
+
get formnovalidate() {
|
|
168
|
+
return this.hasProp('formnovalidate');
|
|
169
|
+
}
|
|
170
|
+
/** @param {boolean} state */
|
|
171
|
+
set formnovalidate(state) {
|
|
172
|
+
if (typeof state !== 'boolean')
|
|
173
|
+
throw new TypeError('TinyHtmlButton.formnovalidate must be boolean.');
|
|
174
|
+
if (state) this.addProp('formnovalidate');
|
|
175
|
+
else this.removeProp('formnovalidate');
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/** @returns {string|null} */
|
|
179
|
+
get command() {
|
|
180
|
+
return this.attrString('command');
|
|
181
|
+
}
|
|
182
|
+
/** @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} cmd */
|
|
183
|
+
set command(cmd) {
|
|
184
|
+
const builtins = [
|
|
185
|
+
'show-modal',
|
|
186
|
+
'close',
|
|
187
|
+
'request-close',
|
|
188
|
+
'show-popover',
|
|
189
|
+
'hide-popover',
|
|
190
|
+
'toggle-popover',
|
|
191
|
+
];
|
|
192
|
+
if (typeof cmd !== 'string' || (!builtins.includes(cmd) && !cmd.startsWith('--')))
|
|
193
|
+
throw new TypeError(
|
|
194
|
+
'TinyHtmlButton.command must be a built-in or custom string starting with "--".',
|
|
195
|
+
);
|
|
196
|
+
this.setAttr('command', cmd);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/** @returns {string|null} */
|
|
200
|
+
get commandfor() {
|
|
201
|
+
return this.attrString('commandfor');
|
|
202
|
+
}
|
|
203
|
+
/** @param {string} val */
|
|
204
|
+
set commandfor(val) {
|
|
205
|
+
if (typeof val !== 'string' || !val.trim())
|
|
206
|
+
throw new TypeError('TinyHtmlButton.commandfor must be a non-empty string.');
|
|
207
|
+
this.setAttr('commandfor', val);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** @returns {string|null} */
|
|
211
|
+
get form() {
|
|
212
|
+
return this.attrString('form');
|
|
213
|
+
}
|
|
214
|
+
/** @param {string} val */
|
|
215
|
+
set form(val) {
|
|
216
|
+
if (typeof val !== 'string' || !val.trim())
|
|
217
|
+
throw new TypeError('TinyHtmlButton.form must be a non-empty string.');
|
|
218
|
+
this.setAttr('form', val);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/** @returns {string|null} */
|
|
222
|
+
get formaction() {
|
|
223
|
+
return this.attrString('formaction');
|
|
224
|
+
}
|
|
225
|
+
/** @param {string} val */
|
|
226
|
+
set formaction(val) {
|
|
227
|
+
if (typeof val !== 'string' || !val.trim())
|
|
228
|
+
throw new TypeError('TinyHtmlButton.formaction must be a non-empty string.');
|
|
229
|
+
this.setAttr('formaction', val);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/** @returns {string|null} */
|
|
233
|
+
get formenctype() {
|
|
234
|
+
return this.attrString('formenctype');
|
|
235
|
+
}
|
|
236
|
+
/** @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} val */
|
|
237
|
+
set formenctype(val) {
|
|
238
|
+
const valid = ['application/x-www-form-urlencoded', 'multipart/form-data', 'text/plain'];
|
|
239
|
+
if (!valid.includes(val))
|
|
240
|
+
throw new TypeError(`TinyHtmlButton.formenctype must be one of: ${valid.join(', ')}`);
|
|
241
|
+
this.setAttr('formenctype', val);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/** @returns {string|null} */
|
|
245
|
+
get formmethod() {
|
|
246
|
+
return this.attrString('formmethod');
|
|
247
|
+
}
|
|
248
|
+
/** @param {'get'|'post'|'dialog'} val */
|
|
249
|
+
set formmethod(val) {
|
|
250
|
+
const valid = ['get', 'post', 'dialog'];
|
|
251
|
+
if (typeof val !== 'string' || !valid.includes(val.toLowerCase()))
|
|
252
|
+
throw new TypeError(`TinyHtmlButton.formmethod must be one of: ${valid.join(', ')}`);
|
|
253
|
+
this.setAttr('formmethod', val.toLowerCase());
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/** @returns {string|null} */
|
|
257
|
+
get formtarget() {
|
|
258
|
+
return this.attrString('formtarget');
|
|
259
|
+
}
|
|
260
|
+
/** @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} val */
|
|
261
|
+
set formtarget(val) {
|
|
262
|
+
const validTargets = ['_self', '_blank', '_parent', '_top', '_unfencedTop'];
|
|
263
|
+
const validName = /^[a-zA-Z_][\w-]*$/;
|
|
264
|
+
if (typeof val !== 'string' || (!validTargets.includes(val) && !validName.test(val)))
|
|
265
|
+
throw new TypeError(
|
|
266
|
+
`TinyHtmlButton.formtarget must be a keyword (${validTargets.join(', ')}) or valid name.`,
|
|
267
|
+
);
|
|
268
|
+
this.setAttr('formtarget', val);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/** @returns {string|null} */
|
|
272
|
+
get name() {
|
|
273
|
+
return this.attr('name');
|
|
274
|
+
}
|
|
275
|
+
/** @param {string} val */
|
|
276
|
+
set name(val) {
|
|
277
|
+
if (typeof val !== 'string' || !val.trim())
|
|
278
|
+
throw new TypeError('TinyHtmlButton.name must be a non-empty string.');
|
|
279
|
+
this.setAttr('name', val);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/** @returns {string|null} */
|
|
283
|
+
get popovertarget() {
|
|
284
|
+
return this.attr('popovertarget');
|
|
285
|
+
}
|
|
286
|
+
/** @param {string} val */
|
|
287
|
+
set popovertarget(val) {
|
|
288
|
+
if (typeof val !== 'string' || !val.trim())
|
|
289
|
+
throw new TypeError('TinyHtmlButton.popovertarget must be a non-empty string.');
|
|
290
|
+
this.setAttr('popovertarget', val);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/** @returns {string|null} */
|
|
294
|
+
get popovertargetaction() {
|
|
295
|
+
return this.attrString('popovertargetaction');
|
|
296
|
+
}
|
|
297
|
+
/** @param {'show'|'hide'|'toggle'} val */
|
|
298
|
+
set popovertargetaction(val) {
|
|
299
|
+
const allowed = ['show', 'hide', 'toggle'];
|
|
300
|
+
if (typeof val !== 'string' || !allowed.includes(val))
|
|
301
|
+
throw new TypeError(
|
|
302
|
+
`TinyHtmlButton.popovertargetaction must be one of: ${allowed.join(', ')}`,
|
|
303
|
+
);
|
|
304
|
+
this.setAttr('popovertargetaction', val);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/** @returns {string|null} */
|
|
308
|
+
get value() {
|
|
309
|
+
return this.attr('value');
|
|
310
|
+
}
|
|
311
|
+
set value(val) {
|
|
312
|
+
if (typeof val !== 'string') throw new TypeError('TinyHtmlButton.value must be a string.');
|
|
313
|
+
this.setAttr('value', val);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
module.exports = TinyHtmlButton;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
export default TinyHtmlButton;
|
|
2
|
+
/**
|
|
3
|
+
* TinyHtmlButton is a helper class for <button> elements with full attribute support and validation.
|
|
4
|
+
* It extends TinyHtmlTemplate for direct DOM manipulation.
|
|
5
|
+
*
|
|
6
|
+
* Supported attributes:
|
|
7
|
+
* - autofocus
|
|
8
|
+
* - command, commandfor
|
|
9
|
+
* - disabled
|
|
10
|
+
* - form, formaction, formenctype, formmethod, formnovalidate, formtarget
|
|
11
|
+
* - name
|
|
12
|
+
* - popovertarget, popovertargetaction
|
|
13
|
+
* - type (button|submit|reset)
|
|
14
|
+
* - value
|
|
15
|
+
*
|
|
16
|
+
* @extends TinyHtmlTemplate<HTMLButtonElement>
|
|
17
|
+
*/
|
|
18
|
+
declare class TinyHtmlButton extends TinyHtmlTemplate<HTMLButtonElement> {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new TinyHtmlButton instance.
|
|
21
|
+
*
|
|
22
|
+
* @param {Object} config - Configuration object for the button.
|
|
23
|
+
* @param {string|Element|TinyHtml<any>} config.label - The text/HTML/element to place inside the button.
|
|
24
|
+
* If a non-string Element/TinyHtml is provided, `allowHtml` must be true.
|
|
25
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes to apply.
|
|
26
|
+
* @param {boolean} [config.allowHtml=false] - Whether to allow HTML or DOM nodes as label.
|
|
27
|
+
* @param {'button'|'submit'|'reset'} [config.type='button'] - Button type. Allowed values: "button", "submit", "reset".
|
|
28
|
+
* @param {boolean} [config.autofocus=false] - Whether the button should autofocus on load.
|
|
29
|
+
* @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} [config.command] - Command action (built-ins: "show-modal","close","request-close","show-popover","hide-popover","toggle-popover")
|
|
30
|
+
* or a custom command which MUST start with `--` (two hyphens).
|
|
31
|
+
* @param {string} [config.commandfor] - ID of the element controlled by the command. Must be a non-empty string.
|
|
32
|
+
* @param {boolean} [config.disabled=false] - Whether the button is disabled.
|
|
33
|
+
* @param {string} [config.form] - ID of the associated <form>. Must be a non-empty string if provided.
|
|
34
|
+
* @param {string} [config.formaction] - URL that overrides the form action when this button is used to submit.
|
|
35
|
+
* @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} [config.formenctype]
|
|
36
|
+
* - Encoding type used when the button submits the form.
|
|
37
|
+
* @param {'get'|'post'|'dialog'} [config.formmethod] - HTTP method used for this button submission.
|
|
38
|
+
* @param {boolean} [config.formnovalidate=false] - If true, disables validation when this button submits.
|
|
39
|
+
* @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} [config.formtarget] - Target browsing context for this button's submission (keywords or name).
|
|
40
|
+
* @param {string} [config.name] - Button name (sent with value when submitting).
|
|
41
|
+
* @param {string} [config.popovertarget] - ID of the popover to control (non-empty string).
|
|
42
|
+
* @param {'show'|'hide'|'toggle'} [config.popovertargetaction] - Action for popovertarget.
|
|
43
|
+
* @param {string} [config.value] - Value submitted with the form when this button is used.
|
|
44
|
+
* @param {string} [config.mainClass=''] - Main CSS class to append to the element.
|
|
45
|
+
*
|
|
46
|
+
* @throws {TypeError} If `label` is not a string, Element, or TinyHtml instance.
|
|
47
|
+
* @throws {Error} If an Element/TinyHtml `label` is passed but `allowHtml` is false.
|
|
48
|
+
* @throws {TypeError} If `type` is not one of "button", "submit", "reset".
|
|
49
|
+
* @throws {TypeError} If `allowHtml` is not a boolean.
|
|
50
|
+
* @throws {TypeError} If `autofocus`, `disabled` or `formnovalidate` are not booleans.
|
|
51
|
+
* @throws {TypeError} If `command` is not a valid builtin command nor a custom `--*` token.
|
|
52
|
+
* @throws {TypeError} If `commandfor`, `form`, `formaction`, `name`, `popovertarget`, or `value` are not strings.
|
|
53
|
+
* @throws {TypeError} If `formenctype` is not one of the allowed encodings.
|
|
54
|
+
* @throws {TypeError} If `formmethod` is not one of 'get','post','dialog'.
|
|
55
|
+
* @throws {TypeError} If `formtarget` is not a valid keyword or browsing context name.
|
|
56
|
+
*/
|
|
57
|
+
constructor({ label, tags, allowHtml, type, autofocus, command, commandfor, disabled, form, formaction, formenctype, formmethod, formnovalidate, formtarget, name, popovertarget, popovertargetaction, value, mainClass, }: {
|
|
58
|
+
label: string | Element | TinyHtml<any>;
|
|
59
|
+
tags?: string | string[] | Set<string> | undefined;
|
|
60
|
+
allowHtml?: boolean | undefined;
|
|
61
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
62
|
+
autofocus?: boolean | undefined;
|
|
63
|
+
command?: "close" | "show-modal" | "request-close" | "show-popover" | "hide-popover" | "toggle-popover" | undefined;
|
|
64
|
+
commandfor?: string | undefined;
|
|
65
|
+
disabled?: boolean | undefined;
|
|
66
|
+
form?: string | undefined;
|
|
67
|
+
formaction?: string | undefined;
|
|
68
|
+
formenctype?: "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | undefined;
|
|
69
|
+
formmethod?: "dialog" | "get" | "post" | undefined;
|
|
70
|
+
formnovalidate?: boolean | undefined;
|
|
71
|
+
formtarget?: "_blank" | "_self" | "_parent" | "_top" | "_unfencedTop" | undefined;
|
|
72
|
+
name?: string | undefined;
|
|
73
|
+
popovertarget?: string | undefined;
|
|
74
|
+
popovertargetaction?: "hide" | "show" | "toggle" | undefined;
|
|
75
|
+
value?: string | undefined;
|
|
76
|
+
mainClass?: string | undefined;
|
|
77
|
+
});
|
|
78
|
+
/** @param {'button'|'submit'|'reset'} val */
|
|
79
|
+
set type(val: "button" | "submit" | "reset");
|
|
80
|
+
/** @returns {string|null} */
|
|
81
|
+
get type(): string | null;
|
|
82
|
+
/** @param {boolean} state */
|
|
83
|
+
set autofocus(state: boolean);
|
|
84
|
+
/** @returns {boolean} */
|
|
85
|
+
get autofocus(): boolean;
|
|
86
|
+
/** @param {boolean} state */
|
|
87
|
+
set disabled(state: boolean);
|
|
88
|
+
/** @returns {boolean} */
|
|
89
|
+
get disabled(): boolean;
|
|
90
|
+
/** @param {boolean} state */
|
|
91
|
+
set formnovalidate(state: boolean);
|
|
92
|
+
/** @returns {boolean} */
|
|
93
|
+
get formnovalidate(): boolean;
|
|
94
|
+
/** @param {'show-modal'|'close'|'request-close'|'show-popover'|'hide-popover'|'toggle-popover'} cmd */
|
|
95
|
+
set command(cmd: "show-modal" | "close" | "request-close" | "show-popover" | "hide-popover" | "toggle-popover");
|
|
96
|
+
/** @returns {string|null} */
|
|
97
|
+
get command(): string | null;
|
|
98
|
+
/** @param {string} val */
|
|
99
|
+
set commandfor(val: string);
|
|
100
|
+
/** @returns {string|null} */
|
|
101
|
+
get commandfor(): string | null;
|
|
102
|
+
/** @param {string} val */
|
|
103
|
+
set form(val: string);
|
|
104
|
+
/** @returns {string|null} */
|
|
105
|
+
get form(): string | null;
|
|
106
|
+
/** @param {string} val */
|
|
107
|
+
set formaction(val: string);
|
|
108
|
+
/** @returns {string|null} */
|
|
109
|
+
get formaction(): string | null;
|
|
110
|
+
/** @param {'application/x-www-form-urlencoded'|'multipart/form-data'|'text/plain'} val */
|
|
111
|
+
set formenctype(val: "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain");
|
|
112
|
+
/** @returns {string|null} */
|
|
113
|
+
get formenctype(): string | null;
|
|
114
|
+
/** @param {'get'|'post'|'dialog'} val */
|
|
115
|
+
set formmethod(val: "get" | "post" | "dialog");
|
|
116
|
+
/** @returns {string|null} */
|
|
117
|
+
get formmethod(): string | null;
|
|
118
|
+
/** @param {'_self'|'_blank'|'_parent'|'_top'|'_unfencedTop'} val */
|
|
119
|
+
set formtarget(val: "_self" | "_blank" | "_parent" | "_top" | "_unfencedTop");
|
|
120
|
+
/** @returns {string|null} */
|
|
121
|
+
get formtarget(): string | null;
|
|
122
|
+
/** @param {string} val */
|
|
123
|
+
set name(val: string);
|
|
124
|
+
/** @returns {string|null} */
|
|
125
|
+
get name(): string | null;
|
|
126
|
+
/** @param {string} val */
|
|
127
|
+
set popovertarget(val: string);
|
|
128
|
+
/** @returns {string|null} */
|
|
129
|
+
get popovertarget(): string | null;
|
|
130
|
+
/** @param {'show'|'hide'|'toggle'} val */
|
|
131
|
+
set popovertargetaction(val: "show" | "hide" | "toggle");
|
|
132
|
+
/** @returns {string|null} */
|
|
133
|
+
get popovertargetaction(): string | null;
|
|
134
|
+
set value(val: string | null);
|
|
135
|
+
/** @returns {string|null} */
|
|
136
|
+
get value(): string | null;
|
|
137
|
+
/**
|
|
138
|
+
* Updates the button label with text, HTML, or an element.
|
|
139
|
+
*
|
|
140
|
+
* @param {string|Element|TinyHtml<any>} label - The new label.
|
|
141
|
+
* @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements.
|
|
142
|
+
* @returns {this}
|
|
143
|
+
* @throws {TypeError} If the label is invalid.
|
|
144
|
+
* @throws {Error} If DOM/HTML is passed but allowHtml=false.
|
|
145
|
+
*/
|
|
146
|
+
setLabel(label: string | Element | TinyHtml<any>, allowHtml?: boolean): this;
|
|
147
|
+
}
|
|
148
|
+
import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
|
|
149
|
+
import TinyHtml from '../TinyHtml.mjs';
|
|
150
|
+
//# sourceMappingURL=TinyHtmlButton.d.mts.map
|