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,220 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var TinyHtml = require('../TinyHtml.cjs');
|
|
4
|
+
var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* TinyHtmlAnchor is a helper class for managing <a> elements.
|
|
8
|
+
* It provides strongly-typed getters and setters for attributes like href,
|
|
9
|
+
* target, rel, hreflang, referrerpolicy, and more.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const link = new TinyHtmlAnchor({
|
|
13
|
+
* href: 'https://example.com',
|
|
14
|
+
* label: 'Visit Example',
|
|
15
|
+
* target: '_blank',
|
|
16
|
+
* rel: 'noopener noreferrer'
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* @extends TinyHtmlTemplate<HTMLAnchorElement>
|
|
20
|
+
*/
|
|
21
|
+
class TinyHtmlAnchor extends TinyHtmlTemplate {
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new TinyHtmlAnchor instance.
|
|
24
|
+
* @param {Object} config - Configuration object.
|
|
25
|
+
* @param {string} config.href - Link URL (required).
|
|
26
|
+
* @param {string|Element|TinyHtml<any>} [config.label] - Link text or HTML.
|
|
27
|
+
* @param {string} [config.target] - Target attribute.
|
|
28
|
+
* @param {string} [config.rel] - Relationship of the linked resource.
|
|
29
|
+
* @param {string} [config.hreflang] - Language of the linked resource.
|
|
30
|
+
* @param {string|string[]} [config.ping] - URLs to send pings to.
|
|
31
|
+
* @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy.
|
|
32
|
+
* @param {string} [config.type] - MIME type of the linked resource.
|
|
33
|
+
* @param {boolean|string|string[]} [config.attributionsrc] - Enables Attribution Reporting.
|
|
34
|
+
* @param {string|boolean} [config.download] - Download filename (or boolean to enable).
|
|
35
|
+
* @param {boolean} [config.allowHtml=false] - Whether to allow HTML inside the link.
|
|
36
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
|
|
37
|
+
* @param {string} [config.mainClass=''] - Main CSS class.
|
|
38
|
+
* @throws {TypeError} If any attribute is invalid.
|
|
39
|
+
*/
|
|
40
|
+
constructor({
|
|
41
|
+
href,
|
|
42
|
+
label,
|
|
43
|
+
target,
|
|
44
|
+
rel,
|
|
45
|
+
hreflang,
|
|
46
|
+
ping,
|
|
47
|
+
referrerpolicy,
|
|
48
|
+
type,
|
|
49
|
+
attributionsrc,
|
|
50
|
+
download,
|
|
51
|
+
allowHtml = false,
|
|
52
|
+
tags = [],
|
|
53
|
+
mainClass = '',
|
|
54
|
+
}) {
|
|
55
|
+
super(document.createElement('a'), tags, mainClass);
|
|
56
|
+
|
|
57
|
+
if (typeof href !== 'string' || !href.trim())
|
|
58
|
+
throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
|
|
59
|
+
this.href = href;
|
|
60
|
+
|
|
61
|
+
if (target !== undefined) this.target = target;
|
|
62
|
+
if (rel !== undefined) this.rel = rel;
|
|
63
|
+
if (hreflang !== undefined) this.hreflang = hreflang;
|
|
64
|
+
if (ping !== undefined) this.ping = ping;
|
|
65
|
+
if (referrerpolicy !== undefined) this.referrerpolicy = referrerpolicy;
|
|
66
|
+
if (type !== undefined) this.type = type;
|
|
67
|
+
if (attributionsrc !== undefined) this.attributionsrc = attributionsrc;
|
|
68
|
+
if (download !== undefined) this.download = download;
|
|
69
|
+
|
|
70
|
+
if (typeof allowHtml !== 'boolean')
|
|
71
|
+
throw new TypeError('TinyHtmlAnchor: "allowHtml" must be a boolean.');
|
|
72
|
+
|
|
73
|
+
if (label !== undefined) this.setLabel(label, allowHtml);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** @param {string} href */
|
|
77
|
+
set href(href) {
|
|
78
|
+
if (typeof href !== 'string' || !href.trim())
|
|
79
|
+
throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
|
|
80
|
+
this.setAttr('href', href);
|
|
81
|
+
}
|
|
82
|
+
/** @returns {string|null} */
|
|
83
|
+
get href() {
|
|
84
|
+
return this.attrString('href');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** @param {string} target */
|
|
88
|
+
set target(target) {
|
|
89
|
+
if (typeof target !== 'string')
|
|
90
|
+
throw new TypeError('TinyHtmlAnchor: "target" must be a string.');
|
|
91
|
+
this.setAttr('target', target);
|
|
92
|
+
}
|
|
93
|
+
/** @returns {string|null} */
|
|
94
|
+
get target() {
|
|
95
|
+
return this.attrString('target');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** @param {string} rel */
|
|
99
|
+
set rel(rel) {
|
|
100
|
+
if (typeof rel !== 'string') throw new TypeError('TinyHtmlAnchor: "rel" must be a string.');
|
|
101
|
+
this.setAttr('rel', rel);
|
|
102
|
+
}
|
|
103
|
+
/** @returns {string|null} */
|
|
104
|
+
get rel() {
|
|
105
|
+
return this.attrString('rel');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** @param {string} hreflang */
|
|
109
|
+
set hreflang(hreflang) {
|
|
110
|
+
if (typeof hreflang !== 'string')
|
|
111
|
+
throw new TypeError('TinyHtmlAnchor: "hreflang" must be a string.');
|
|
112
|
+
this.setAttr('hreflang', hreflang);
|
|
113
|
+
}
|
|
114
|
+
/** @returns {string|null} */
|
|
115
|
+
get hreflang() {
|
|
116
|
+
return this.attrString('hreflang');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** @param {string|string[]} ping */
|
|
120
|
+
set ping(ping) {
|
|
121
|
+
if (Array.isArray(ping)) ping = ping.join(' ');
|
|
122
|
+
if (typeof ping !== 'string')
|
|
123
|
+
throw new TypeError('TinyHtmlAnchor: "ping" must be a string or string[].');
|
|
124
|
+
this.setAttr('ping', ping);
|
|
125
|
+
}
|
|
126
|
+
/** @returns {string|null} */
|
|
127
|
+
get ping() {
|
|
128
|
+
return this.attrString('ping');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/** @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} referrerpolicy */
|
|
132
|
+
set referrerpolicy(referrerpolicy) {
|
|
133
|
+
const valid = [
|
|
134
|
+
'no-referrer',
|
|
135
|
+
'no-referrer-when-downgrade',
|
|
136
|
+
'origin',
|
|
137
|
+
'origin-when-cross-origin',
|
|
138
|
+
'same-origin',
|
|
139
|
+
'strict-origin',
|
|
140
|
+
'strict-origin-when-cross-origin',
|
|
141
|
+
'unsafe-url',
|
|
142
|
+
];
|
|
143
|
+
if (!valid.includes(referrerpolicy))
|
|
144
|
+
throw new TypeError(`TinyHtmlAnchor: "referrerpolicy" must be one of: ${valid.join(', ')}`);
|
|
145
|
+
this.setAttr('referrerpolicy', referrerpolicy);
|
|
146
|
+
}
|
|
147
|
+
/** @returns {string|null} */
|
|
148
|
+
get referrerpolicy() {
|
|
149
|
+
return this.attrString('referrerpolicy');
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** @param {string} type */
|
|
153
|
+
set type(type) {
|
|
154
|
+
if (typeof type !== 'string')
|
|
155
|
+
throw new TypeError('TinyHtmlAnchor: "type" must be a string (MIME type).');
|
|
156
|
+
this.setAttr('type', type);
|
|
157
|
+
}
|
|
158
|
+
/** @returns {string|null} */
|
|
159
|
+
get type() {
|
|
160
|
+
return this.attrString('type');
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/** @param {boolean|string|string[]} attributionsrc */
|
|
164
|
+
set attributionsrc(attributionsrc) {
|
|
165
|
+
if (attributionsrc === true) {
|
|
166
|
+
this.addProp('attributionsrc');
|
|
167
|
+
} else if (typeof attributionsrc === 'string') {
|
|
168
|
+
this.setAttr('attributionsrc', attributionsrc);
|
|
169
|
+
} else if (Array.isArray(attributionsrc)) {
|
|
170
|
+
this.setAttr('attributionsrc', attributionsrc.join(' '));
|
|
171
|
+
} else {
|
|
172
|
+
throw new TypeError(
|
|
173
|
+
'TinyHtmlAnchor: "attributionsrc" must be a boolean, string, or string[].',
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/** @returns {string|null} */
|
|
178
|
+
get attributionsrc() {
|
|
179
|
+
return this.attrString('attributionsrc');
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/** @param {string|boolean} download */
|
|
183
|
+
set download(download) {
|
|
184
|
+
if (typeof download !== 'string' && typeof download !== 'boolean')
|
|
185
|
+
throw new TypeError('TinyHtmlAnchor: "download" must be a string or boolean.');
|
|
186
|
+
if (typeof download === 'string') this.setAttr('download', download);
|
|
187
|
+
else if (download) this.addProp('download');
|
|
188
|
+
else this.removeProp('download');
|
|
189
|
+
}
|
|
190
|
+
/** @returns {string|boolean|null} */
|
|
191
|
+
get download() {
|
|
192
|
+
if (this.hasProp('download')) {
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
return this.attrString('download');
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Updates the link label with text, HTML, or an element.
|
|
200
|
+
*
|
|
201
|
+
* @param {string|Element|TinyHtml<any>} label - The new label to set.
|
|
202
|
+
* @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements instead of plain text.
|
|
203
|
+
* @returns {this}
|
|
204
|
+
*/
|
|
205
|
+
setLabel(label, allowHtml = false) {
|
|
206
|
+
if (typeof label === 'string') {
|
|
207
|
+
if (!allowHtml) this.setText(label);
|
|
208
|
+
else this.setHtml(label);
|
|
209
|
+
} else if (label instanceof Element || label instanceof TinyHtml) {
|
|
210
|
+
if (!allowHtml)
|
|
211
|
+
throw new Error('setLabel: Passing an Element/TinyHtml requires allowHtml=true.');
|
|
212
|
+
this.empty().append(label);
|
|
213
|
+
} else {
|
|
214
|
+
throw new TypeError("setLabel: 'label' must be a string, Element, or TinyHtml instance.");
|
|
215
|
+
}
|
|
216
|
+
return this;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
module.exports = TinyHtmlAnchor;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
export default TinyHtmlAnchor;
|
|
2
|
+
/**
|
|
3
|
+
* TinyHtmlAnchor is a helper class for managing <a> elements.
|
|
4
|
+
* It provides strongly-typed getters and setters for attributes like href,
|
|
5
|
+
* target, rel, hreflang, referrerpolicy, and more.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const link = new TinyHtmlAnchor({
|
|
9
|
+
* href: 'https://example.com',
|
|
10
|
+
* label: 'Visit Example',
|
|
11
|
+
* target: '_blank',
|
|
12
|
+
* rel: 'noopener noreferrer'
|
|
13
|
+
* });
|
|
14
|
+
*
|
|
15
|
+
* @extends TinyHtmlTemplate<HTMLAnchorElement>
|
|
16
|
+
*/
|
|
17
|
+
declare class TinyHtmlAnchor extends TinyHtmlTemplate<HTMLAnchorElement> {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new TinyHtmlAnchor instance.
|
|
20
|
+
* @param {Object} config - Configuration object.
|
|
21
|
+
* @param {string} config.href - Link URL (required).
|
|
22
|
+
* @param {string|Element|TinyHtml<any>} [config.label] - Link text or HTML.
|
|
23
|
+
* @param {string} [config.target] - Target attribute.
|
|
24
|
+
* @param {string} [config.rel] - Relationship of the linked resource.
|
|
25
|
+
* @param {string} [config.hreflang] - Language of the linked resource.
|
|
26
|
+
* @param {string|string[]} [config.ping] - URLs to send pings to.
|
|
27
|
+
* @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy.
|
|
28
|
+
* @param {string} [config.type] - MIME type of the linked resource.
|
|
29
|
+
* @param {boolean|string|string[]} [config.attributionsrc] - Enables Attribution Reporting.
|
|
30
|
+
* @param {string|boolean} [config.download] - Download filename (or boolean to enable).
|
|
31
|
+
* @param {boolean} [config.allowHtml=false] - Whether to allow HTML inside the link.
|
|
32
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
|
|
33
|
+
* @param {string} [config.mainClass=''] - Main CSS class.
|
|
34
|
+
* @throws {TypeError} If any attribute is invalid.
|
|
35
|
+
*/
|
|
36
|
+
constructor({ href, label, target, rel, hreflang, ping, referrerpolicy, type, attributionsrc, download, allowHtml, tags, mainClass, }: {
|
|
37
|
+
href: string;
|
|
38
|
+
label?: string | Element | TinyHtml<any> | undefined;
|
|
39
|
+
target?: string | undefined;
|
|
40
|
+
rel?: string | undefined;
|
|
41
|
+
hreflang?: string | undefined;
|
|
42
|
+
ping?: string | string[] | undefined;
|
|
43
|
+
referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
|
|
44
|
+
type?: string | undefined;
|
|
45
|
+
attributionsrc?: string | boolean | string[] | undefined;
|
|
46
|
+
download?: string | boolean | undefined;
|
|
47
|
+
allowHtml?: boolean | undefined;
|
|
48
|
+
tags?: string | string[] | Set<string> | undefined;
|
|
49
|
+
mainClass?: string | undefined;
|
|
50
|
+
});
|
|
51
|
+
/** @param {string} href */
|
|
52
|
+
set href(href: string);
|
|
53
|
+
/** @returns {string|null} */
|
|
54
|
+
get href(): string | null;
|
|
55
|
+
/** @param {string} target */
|
|
56
|
+
set target(target: string);
|
|
57
|
+
/** @returns {string|null} */
|
|
58
|
+
get target(): string | null;
|
|
59
|
+
/** @param {string} rel */
|
|
60
|
+
set rel(rel: string);
|
|
61
|
+
/** @returns {string|null} */
|
|
62
|
+
get rel(): string | null;
|
|
63
|
+
/** @param {string} hreflang */
|
|
64
|
+
set hreflang(hreflang: string);
|
|
65
|
+
/** @returns {string|null} */
|
|
66
|
+
get hreflang(): string | null;
|
|
67
|
+
/** @param {string|string[]} ping */
|
|
68
|
+
set ping(ping: string | string[]);
|
|
69
|
+
/** @returns {string|null} */
|
|
70
|
+
get ping(): string | null;
|
|
71
|
+
/** @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} referrerpolicy */
|
|
72
|
+
set referrerpolicy(referrerpolicy: "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url");
|
|
73
|
+
/** @returns {string|null} */
|
|
74
|
+
get referrerpolicy(): string | null;
|
|
75
|
+
/** @param {string} type */
|
|
76
|
+
set type(type: string);
|
|
77
|
+
/** @returns {string|null} */
|
|
78
|
+
get type(): string | null;
|
|
79
|
+
/** @param {boolean|string|string[]} attributionsrc */
|
|
80
|
+
set attributionsrc(attributionsrc: boolean | string | string[]);
|
|
81
|
+
/** @returns {string|null} */
|
|
82
|
+
get attributionsrc(): string | null;
|
|
83
|
+
/** @param {string|boolean} download */
|
|
84
|
+
set download(download: string | boolean);
|
|
85
|
+
/** @returns {string|boolean|null} */
|
|
86
|
+
get download(): string | boolean | null;
|
|
87
|
+
/**
|
|
88
|
+
* Updates the link label with text, HTML, or an element.
|
|
89
|
+
*
|
|
90
|
+
* @param {string|Element|TinyHtml<any>} label - The new label to set.
|
|
91
|
+
* @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements instead of plain text.
|
|
92
|
+
* @returns {this}
|
|
93
|
+
*/
|
|
94
|
+
setLabel(label: string | Element | TinyHtml<any>, allowHtml?: boolean): this;
|
|
95
|
+
}
|
|
96
|
+
import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
|
|
97
|
+
import TinyHtml from '../TinyHtml.mjs';
|
|
98
|
+
//# sourceMappingURL=TinyHtmlAnchor.d.mts.map
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import TinyHtml from '../TinyHtml.mjs';
|
|
2
|
+
import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* TinyHtmlAnchor is a helper class for managing <a> elements.
|
|
5
|
+
* It provides strongly-typed getters and setters for attributes like href,
|
|
6
|
+
* target, rel, hreflang, referrerpolicy, and more.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const link = new TinyHtmlAnchor({
|
|
10
|
+
* href: 'https://example.com',
|
|
11
|
+
* label: 'Visit Example',
|
|
12
|
+
* target: '_blank',
|
|
13
|
+
* rel: 'noopener noreferrer'
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* @extends TinyHtmlTemplate<HTMLAnchorElement>
|
|
17
|
+
*/
|
|
18
|
+
class TinyHtmlAnchor extends TinyHtmlTemplate {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new TinyHtmlAnchor instance.
|
|
21
|
+
* @param {Object} config - Configuration object.
|
|
22
|
+
* @param {string} config.href - Link URL (required).
|
|
23
|
+
* @param {string|Element|TinyHtml<any>} [config.label] - Link text or HTML.
|
|
24
|
+
* @param {string} [config.target] - Target attribute.
|
|
25
|
+
* @param {string} [config.rel] - Relationship of the linked resource.
|
|
26
|
+
* @param {string} [config.hreflang] - Language of the linked resource.
|
|
27
|
+
* @param {string|string[]} [config.ping] - URLs to send pings to.
|
|
28
|
+
* @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy.
|
|
29
|
+
* @param {string} [config.type] - MIME type of the linked resource.
|
|
30
|
+
* @param {boolean|string|string[]} [config.attributionsrc] - Enables Attribution Reporting.
|
|
31
|
+
* @param {string|boolean} [config.download] - Download filename (or boolean to enable).
|
|
32
|
+
* @param {boolean} [config.allowHtml=false] - Whether to allow HTML inside the link.
|
|
33
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
|
|
34
|
+
* @param {string} [config.mainClass=''] - Main CSS class.
|
|
35
|
+
* @throws {TypeError} If any attribute is invalid.
|
|
36
|
+
*/
|
|
37
|
+
constructor({ href, label, target, rel, hreflang, ping, referrerpolicy, type, attributionsrc, download, allowHtml = false, tags = [], mainClass = '', }) {
|
|
38
|
+
super(document.createElement('a'), tags, mainClass);
|
|
39
|
+
if (typeof href !== 'string' || !href.trim())
|
|
40
|
+
throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
|
|
41
|
+
this.href = href;
|
|
42
|
+
if (target !== undefined)
|
|
43
|
+
this.target = target;
|
|
44
|
+
if (rel !== undefined)
|
|
45
|
+
this.rel = rel;
|
|
46
|
+
if (hreflang !== undefined)
|
|
47
|
+
this.hreflang = hreflang;
|
|
48
|
+
if (ping !== undefined)
|
|
49
|
+
this.ping = ping;
|
|
50
|
+
if (referrerpolicy !== undefined)
|
|
51
|
+
this.referrerpolicy = referrerpolicy;
|
|
52
|
+
if (type !== undefined)
|
|
53
|
+
this.type = type;
|
|
54
|
+
if (attributionsrc !== undefined)
|
|
55
|
+
this.attributionsrc = attributionsrc;
|
|
56
|
+
if (download !== undefined)
|
|
57
|
+
this.download = download;
|
|
58
|
+
if (typeof allowHtml !== 'boolean')
|
|
59
|
+
throw new TypeError('TinyHtmlAnchor: "allowHtml" must be a boolean.');
|
|
60
|
+
if (label !== undefined)
|
|
61
|
+
this.setLabel(label, allowHtml);
|
|
62
|
+
}
|
|
63
|
+
/** @param {string} href */
|
|
64
|
+
set href(href) {
|
|
65
|
+
if (typeof href !== 'string' || !href.trim())
|
|
66
|
+
throw new TypeError('TinyHtmlAnchor: "href" must be a non-empty string.');
|
|
67
|
+
this.setAttr('href', href);
|
|
68
|
+
}
|
|
69
|
+
/** @returns {string|null} */
|
|
70
|
+
get href() {
|
|
71
|
+
return this.attrString('href');
|
|
72
|
+
}
|
|
73
|
+
/** @param {string} target */
|
|
74
|
+
set target(target) {
|
|
75
|
+
if (typeof target !== 'string')
|
|
76
|
+
throw new TypeError('TinyHtmlAnchor: "target" must be a string.');
|
|
77
|
+
this.setAttr('target', target);
|
|
78
|
+
}
|
|
79
|
+
/** @returns {string|null} */
|
|
80
|
+
get target() {
|
|
81
|
+
return this.attrString('target');
|
|
82
|
+
}
|
|
83
|
+
/** @param {string} rel */
|
|
84
|
+
set rel(rel) {
|
|
85
|
+
if (typeof rel !== 'string')
|
|
86
|
+
throw new TypeError('TinyHtmlAnchor: "rel" must be a string.');
|
|
87
|
+
this.setAttr('rel', rel);
|
|
88
|
+
}
|
|
89
|
+
/** @returns {string|null} */
|
|
90
|
+
get rel() {
|
|
91
|
+
return this.attrString('rel');
|
|
92
|
+
}
|
|
93
|
+
/** @param {string} hreflang */
|
|
94
|
+
set hreflang(hreflang) {
|
|
95
|
+
if (typeof hreflang !== 'string')
|
|
96
|
+
throw new TypeError('TinyHtmlAnchor: "hreflang" must be a string.');
|
|
97
|
+
this.setAttr('hreflang', hreflang);
|
|
98
|
+
}
|
|
99
|
+
/** @returns {string|null} */
|
|
100
|
+
get hreflang() {
|
|
101
|
+
return this.attrString('hreflang');
|
|
102
|
+
}
|
|
103
|
+
/** @param {string|string[]} ping */
|
|
104
|
+
set ping(ping) {
|
|
105
|
+
if (Array.isArray(ping))
|
|
106
|
+
ping = ping.join(' ');
|
|
107
|
+
if (typeof ping !== 'string')
|
|
108
|
+
throw new TypeError('TinyHtmlAnchor: "ping" must be a string or string[].');
|
|
109
|
+
this.setAttr('ping', ping);
|
|
110
|
+
}
|
|
111
|
+
/** @returns {string|null} */
|
|
112
|
+
get ping() {
|
|
113
|
+
return this.attrString('ping');
|
|
114
|
+
}
|
|
115
|
+
/** @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} referrerpolicy */
|
|
116
|
+
set referrerpolicy(referrerpolicy) {
|
|
117
|
+
const valid = [
|
|
118
|
+
'no-referrer',
|
|
119
|
+
'no-referrer-when-downgrade',
|
|
120
|
+
'origin',
|
|
121
|
+
'origin-when-cross-origin',
|
|
122
|
+
'same-origin',
|
|
123
|
+
'strict-origin',
|
|
124
|
+
'strict-origin-when-cross-origin',
|
|
125
|
+
'unsafe-url',
|
|
126
|
+
];
|
|
127
|
+
if (!valid.includes(referrerpolicy))
|
|
128
|
+
throw new TypeError(`TinyHtmlAnchor: "referrerpolicy" must be one of: ${valid.join(', ')}`);
|
|
129
|
+
this.setAttr('referrerpolicy', referrerpolicy);
|
|
130
|
+
}
|
|
131
|
+
/** @returns {string|null} */
|
|
132
|
+
get referrerpolicy() {
|
|
133
|
+
return this.attrString('referrerpolicy');
|
|
134
|
+
}
|
|
135
|
+
/** @param {string} type */
|
|
136
|
+
set type(type) {
|
|
137
|
+
if (typeof type !== 'string')
|
|
138
|
+
throw new TypeError('TinyHtmlAnchor: "type" must be a string (MIME type).');
|
|
139
|
+
this.setAttr('type', type);
|
|
140
|
+
}
|
|
141
|
+
/** @returns {string|null} */
|
|
142
|
+
get type() {
|
|
143
|
+
return this.attrString('type');
|
|
144
|
+
}
|
|
145
|
+
/** @param {boolean|string|string[]} attributionsrc */
|
|
146
|
+
set attributionsrc(attributionsrc) {
|
|
147
|
+
if (attributionsrc === true) {
|
|
148
|
+
this.addProp('attributionsrc');
|
|
149
|
+
}
|
|
150
|
+
else if (typeof attributionsrc === 'string') {
|
|
151
|
+
this.setAttr('attributionsrc', attributionsrc);
|
|
152
|
+
}
|
|
153
|
+
else if (Array.isArray(attributionsrc)) {
|
|
154
|
+
this.setAttr('attributionsrc', attributionsrc.join(' '));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
throw new TypeError('TinyHtmlAnchor: "attributionsrc" must be a boolean, string, or string[].');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** @returns {string|null} */
|
|
161
|
+
get attributionsrc() {
|
|
162
|
+
return this.attrString('attributionsrc');
|
|
163
|
+
}
|
|
164
|
+
/** @param {string|boolean} download */
|
|
165
|
+
set download(download) {
|
|
166
|
+
if (typeof download !== 'string' && typeof download !== 'boolean')
|
|
167
|
+
throw new TypeError('TinyHtmlAnchor: "download" must be a string or boolean.');
|
|
168
|
+
if (typeof download === 'string')
|
|
169
|
+
this.setAttr('download', download);
|
|
170
|
+
else if (download)
|
|
171
|
+
this.addProp('download');
|
|
172
|
+
else
|
|
173
|
+
this.removeProp('download');
|
|
174
|
+
}
|
|
175
|
+
/** @returns {string|boolean|null} */
|
|
176
|
+
get download() {
|
|
177
|
+
if (this.hasProp('download')) {
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
return this.attrString('download');
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Updates the link label with text, HTML, or an element.
|
|
184
|
+
*
|
|
185
|
+
* @param {string|Element|TinyHtml<any>} label - The new label to set.
|
|
186
|
+
* @param {boolean} [allowHtml=false] - Whether to allow raw HTML or DOM elements instead of plain text.
|
|
187
|
+
* @returns {this}
|
|
188
|
+
*/
|
|
189
|
+
setLabel(label, allowHtml = false) {
|
|
190
|
+
if (typeof label === 'string') {
|
|
191
|
+
if (!allowHtml)
|
|
192
|
+
this.setText(label);
|
|
193
|
+
else
|
|
194
|
+
this.setHtml(label);
|
|
195
|
+
}
|
|
196
|
+
else if (label instanceof Element || label instanceof TinyHtml) {
|
|
197
|
+
if (!allowHtml)
|
|
198
|
+
throw new Error('setLabel: Passing an Element/TinyHtml requires allowHtml=true.');
|
|
199
|
+
this.empty().append(label);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
throw new TypeError("setLabel: 'label' must be a string, Element, or TinyHtml instance.");
|
|
203
|
+
}
|
|
204
|
+
return this;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
export default TinyHtmlAnchor;
|