tiny-essentials 1.24.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/node.js.yml +2 -2
- package/README.md +6 -2
- package/changelog/1/24/1.md +12 -0
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- 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/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 +4 -6
- package/dist/v1/index.d.mts +3 -3
- package/dist/v1/index.mjs +7 -6
- 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/docs/v1/libs/TinyHtml.md +4 -4
- package/package.json +11 -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,168 @@
|
|
|
1
|
+
export default TinyHtmlMedia;
|
|
2
|
+
export type ClassSetter = import("./TinyHtmlTemplate.mjs").ClassSetter;
|
|
3
|
+
/** @typedef {import('./TinyHtmlTemplate.mjs').ClassSetter} ClassSetter */
|
|
4
|
+
/**
|
|
5
|
+
* TinyHtmlMedia is a base helper for <audio> and <video> elements.
|
|
6
|
+
* It provides a consistent API to control media playback and access
|
|
7
|
+
* standard {@link HTMLMediaElement} properties and methods.
|
|
8
|
+
*
|
|
9
|
+
* @template {HTMLMediaElement} TinyHtmlT
|
|
10
|
+
* @extends TinyHtmlTemplate<TinyHtmlT>
|
|
11
|
+
*/
|
|
12
|
+
declare class TinyHtmlMedia<TinyHtmlT extends HTMLMediaElement> extends TinyHtmlTemplate<TinyHtmlT> {
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new TinyHtmlMedia instance.
|
|
15
|
+
* @param {TinyHtmlT} tag - The HTML tag name (e.g., 'audio', 'video').
|
|
16
|
+
* @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
|
|
17
|
+
* @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
|
|
18
|
+
*/
|
|
19
|
+
constructor(tag: TinyHtmlT, tags?: ClassSetter, mainClass?: ClassSetter);
|
|
20
|
+
/**
|
|
21
|
+
* Plays all attached media elements.
|
|
22
|
+
* @returns {Promise<void>} Resolves when all play calls complete.
|
|
23
|
+
*/
|
|
24
|
+
playMedia(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Pauses all attached media elements.
|
|
27
|
+
* @returns {this}
|
|
28
|
+
*/
|
|
29
|
+
pauseMedia(): this;
|
|
30
|
+
/**
|
|
31
|
+
* Toggles play/pause state for all attached media elements.
|
|
32
|
+
* @returns {this}
|
|
33
|
+
*/
|
|
34
|
+
togglePlayMedia(): this;
|
|
35
|
+
/**
|
|
36
|
+
* Stops all media by pausing and resetting the current time to `0`.
|
|
37
|
+
* @returns {this}
|
|
38
|
+
*/
|
|
39
|
+
stopMedia(): this;
|
|
40
|
+
set currentTime(t: number);
|
|
41
|
+
/** @type {number} The current playback position in seconds. */
|
|
42
|
+
get currentTime(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Reloads all attached media elements.
|
|
45
|
+
* @returns {this}
|
|
46
|
+
*/
|
|
47
|
+
loadMedia(): this;
|
|
48
|
+
/**
|
|
49
|
+
* Adds a new text track to the first media element.
|
|
50
|
+
* @param {TextTrackKind} kind - A string representing the TextTrack.kind property (subtitles, captions, descriptions, chapters, or metadata).
|
|
51
|
+
* @param {string} [label] - A string representing the TextTrack.label property.
|
|
52
|
+
* @param {string} [language] - A string representing the TextTrack.language property.
|
|
53
|
+
* @returns {TextTrack}
|
|
54
|
+
*/
|
|
55
|
+
addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;
|
|
56
|
+
/**
|
|
57
|
+
* Checks if a given MIME type can be played.
|
|
58
|
+
* @param {string} type - MIME type (e.g., 'video/mp4').
|
|
59
|
+
* @returns {CanPlayTypeResult} Either "", "probably", or "maybe".
|
|
60
|
+
*/
|
|
61
|
+
canPlayType(type: string): CanPlayTypeResult;
|
|
62
|
+
/**
|
|
63
|
+
* Seeks quickly to a given time if supported.
|
|
64
|
+
* @param {number} time - Target time in seconds.
|
|
65
|
+
* @returns {this}
|
|
66
|
+
*/
|
|
67
|
+
fastSeek(time: number): this;
|
|
68
|
+
/**
|
|
69
|
+
* Sets custom MediaKeys on the first media element.
|
|
70
|
+
* @param {MediaKeys|null} keys - Media keys to set.
|
|
71
|
+
* @returns {Promise<void>}
|
|
72
|
+
*/
|
|
73
|
+
setMediaKeys(keys: MediaKeys | null): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Assigns a sink ID (output device) to the first media element.
|
|
76
|
+
* @param {string} id - The sink ID (device ID).
|
|
77
|
+
* @returns {Promise<void>}
|
|
78
|
+
*/
|
|
79
|
+
setSinkId(id: string): Promise<void>;
|
|
80
|
+
set autoplay(v: boolean);
|
|
81
|
+
/** @type {boolean} Autoplay state of the media. */
|
|
82
|
+
get autoplay(): boolean;
|
|
83
|
+
/** @returns {TimeRanges} The buffered time ranges. */
|
|
84
|
+
get buffered(): TimeRanges;
|
|
85
|
+
set controls(v: boolean);
|
|
86
|
+
/** @type {boolean} Whether default controls are visible. */
|
|
87
|
+
get controls(): boolean;
|
|
88
|
+
set controlsList(v: string | null);
|
|
89
|
+
/** @type {string|null} The list of controls available. */
|
|
90
|
+
get controlsList(): string | null;
|
|
91
|
+
set crossOrigin(v: string | null);
|
|
92
|
+
/** @type {string|null} CORS setting for the media. */
|
|
93
|
+
get crossOrigin(): string | null;
|
|
94
|
+
/** @returns {string} The resolved source URL currently playing. */
|
|
95
|
+
get currentSrc(): string;
|
|
96
|
+
set defaultMuted(v: boolean);
|
|
97
|
+
/** @type {boolean} Whether media is muted by default. */
|
|
98
|
+
get defaultMuted(): boolean;
|
|
99
|
+
set defaultPlaybackRate(v: number);
|
|
100
|
+
/** @type {number} Default playback rate (1 = normal speed). */
|
|
101
|
+
get defaultPlaybackRate(): number;
|
|
102
|
+
set disableRemotePlayback(v: boolean);
|
|
103
|
+
/** @type {boolean} Whether remote playback is disabled. */
|
|
104
|
+
get disableRemotePlayback(): boolean;
|
|
105
|
+
/** @returns {number} The duration of the media in seconds. */
|
|
106
|
+
get duration(): number;
|
|
107
|
+
/** @returns {boolean} Whether the media has ended. */
|
|
108
|
+
get ended(): boolean;
|
|
109
|
+
/** @returns {MediaError|null} Error state if media failed to load. */
|
|
110
|
+
get error(): MediaError | null;
|
|
111
|
+
set loop(v: boolean);
|
|
112
|
+
/** @type {boolean} Whether the media should loop. */
|
|
113
|
+
get loop(): boolean;
|
|
114
|
+
set mediaGroup(v: string | null);
|
|
115
|
+
/** @type {string|null} Media group name for synchronization. */
|
|
116
|
+
get mediaGroup(): string | null;
|
|
117
|
+
/** @returns {MediaKeys|null} The associated MediaKeys object. */
|
|
118
|
+
get mediaKeys(): MediaKeys | null;
|
|
119
|
+
set muted(state: boolean);
|
|
120
|
+
/** @type {boolean} Whether the media is muted. */
|
|
121
|
+
get muted(): boolean;
|
|
122
|
+
/** @returns {number} Network state (see `HTMLMediaElement.networkState`). */
|
|
123
|
+
get networkState(): number;
|
|
124
|
+
/** @returns {boolean} Whether the media is currently paused. */
|
|
125
|
+
get paused(): boolean;
|
|
126
|
+
set playbackRate(rate: number);
|
|
127
|
+
/** @type {number} Current playback rate (1 = normal speed). */
|
|
128
|
+
get playbackRate(): number;
|
|
129
|
+
/** @returns {TimeRanges} Played time ranges. */
|
|
130
|
+
get played(): TimeRanges;
|
|
131
|
+
set preload(v: "" | "metadata" | "none" | "auto");
|
|
132
|
+
/** @type {"" | "metadata" | "none" | "auto"} Preload strategy ('none', 'metadata', 'auto'). */
|
|
133
|
+
get preload(): "" | "metadata" | "none" | "auto";
|
|
134
|
+
set preservesPitch(v: boolean);
|
|
135
|
+
/** @type {boolean} Whether pitch is preserved when rate changes. */
|
|
136
|
+
get preservesPitch(): boolean;
|
|
137
|
+
/** @returns {number} Ready state of the media. */
|
|
138
|
+
get readyState(): number;
|
|
139
|
+
/** @returns {RemotePlayback|null} Remote playback interface. */
|
|
140
|
+
get remote(): RemotePlayback | null;
|
|
141
|
+
/** @returns {TimeRanges} Seekable time ranges. */
|
|
142
|
+
get seekable(): TimeRanges;
|
|
143
|
+
/** @returns {boolean} Whether the media is currently seeking. */
|
|
144
|
+
get seeking(): boolean;
|
|
145
|
+
/** @returns {string} Current sink ID (output device). */
|
|
146
|
+
get sinkId(): string;
|
|
147
|
+
set src(v: string | null);
|
|
148
|
+
/** @type {string|null} Source URL of the media. */
|
|
149
|
+
get src(): string | null;
|
|
150
|
+
set srcObject(v: MediaProvider | null);
|
|
151
|
+
/** @type {MediaProvider|null} Current `srcObject` (e.g., MediaStream). */
|
|
152
|
+
get srcObject(): MediaProvider | null;
|
|
153
|
+
/** @returns {TextTrackList} Available text tracks. */
|
|
154
|
+
get textTracks(): TextTrackList;
|
|
155
|
+
/**
|
|
156
|
+
* Sets the volume level.
|
|
157
|
+
* @param {number} level - Value between 0.0 and 1.0.
|
|
158
|
+
* @throws {TypeError} If not a number.
|
|
159
|
+
*/
|
|
160
|
+
set volume(level: number);
|
|
161
|
+
/**
|
|
162
|
+
* Gets the current volume.
|
|
163
|
+
* @returns {number} Value between 0.0 and 1.0.
|
|
164
|
+
*/
|
|
165
|
+
get volume(): number;
|
|
166
|
+
}
|
|
167
|
+
import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
|
|
168
|
+
//# sourceMappingURL=TinyHtmlMedia.d.mts.map
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
|
|
2
|
+
/** @typedef {import('./TinyHtmlTemplate.mjs').ClassSetter} ClassSetter */
|
|
3
|
+
/**
|
|
4
|
+
* TinyHtmlMedia is a base helper for <audio> and <video> elements.
|
|
5
|
+
* It provides a consistent API to control media playback and access
|
|
6
|
+
* standard {@link HTMLMediaElement} properties and methods.
|
|
7
|
+
*
|
|
8
|
+
* @template {HTMLMediaElement} TinyHtmlT
|
|
9
|
+
* @extends TinyHtmlTemplate<TinyHtmlT>
|
|
10
|
+
*/
|
|
11
|
+
class TinyHtmlMedia extends TinyHtmlTemplate {
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new TinyHtmlMedia instance.
|
|
14
|
+
* @param {TinyHtmlT} tag - The HTML tag name (e.g., 'audio', 'video').
|
|
15
|
+
* @param {ClassSetter} [tags=[]] - Initial CSS classes to apply.
|
|
16
|
+
* @param {ClassSetter} [mainClass=[]] - Main CSS classes to apply.
|
|
17
|
+
*/
|
|
18
|
+
constructor(tag, tags = [], mainClass = []) {
|
|
19
|
+
super(tag, tags, mainClass);
|
|
20
|
+
}
|
|
21
|
+
// ------------------------
|
|
22
|
+
// Core playback controls
|
|
23
|
+
// ------------------------
|
|
24
|
+
/**
|
|
25
|
+
* Plays all attached media elements.
|
|
26
|
+
* @returns {Promise<void>} Resolves when all play calls complete.
|
|
27
|
+
*/
|
|
28
|
+
playMedia() {
|
|
29
|
+
return this.el.play();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Pauses all attached media elements.
|
|
33
|
+
* @returns {this}
|
|
34
|
+
*/
|
|
35
|
+
pauseMedia() {
|
|
36
|
+
this.el.pause();
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Toggles play/pause state for all attached media elements.
|
|
41
|
+
* @returns {this}
|
|
42
|
+
*/
|
|
43
|
+
togglePlayMedia() {
|
|
44
|
+
const el = this.el;
|
|
45
|
+
el.paused ? el.play() : el.pause();
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Stops all media by pausing and resetting the current time to `0`.
|
|
50
|
+
* @returns {this}
|
|
51
|
+
*/
|
|
52
|
+
stopMedia() {
|
|
53
|
+
this.pauseMedia();
|
|
54
|
+
this.currentTime = 0;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Reloads all attached media elements.
|
|
59
|
+
* @returns {this}
|
|
60
|
+
*/
|
|
61
|
+
loadMedia() {
|
|
62
|
+
this.el.load();
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
// ------------------------
|
|
66
|
+
// Methods
|
|
67
|
+
// ------------------------
|
|
68
|
+
/**
|
|
69
|
+
* Adds a new text track to the first media element.
|
|
70
|
+
* @param {TextTrackKind} kind - A string representing the TextTrack.kind property (subtitles, captions, descriptions, chapters, or metadata).
|
|
71
|
+
* @param {string} [label] - A string representing the TextTrack.label property.
|
|
72
|
+
* @param {string} [language] - A string representing the TextTrack.language property.
|
|
73
|
+
* @returns {TextTrack}
|
|
74
|
+
*/
|
|
75
|
+
addTextTrack(kind, label, language) {
|
|
76
|
+
return this.el.addTextTrack(kind, label, language);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Checks if a given MIME type can be played.
|
|
80
|
+
* @param {string} type - MIME type (e.g., 'video/mp4').
|
|
81
|
+
* @returns {CanPlayTypeResult} Either "", "probably", or "maybe".
|
|
82
|
+
*/
|
|
83
|
+
canPlayType(type) {
|
|
84
|
+
return this.el.canPlayType(type);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Seeks quickly to a given time if supported.
|
|
88
|
+
* @param {number} time - Target time in seconds.
|
|
89
|
+
* @returns {this}
|
|
90
|
+
*/
|
|
91
|
+
fastSeek(time) {
|
|
92
|
+
this.el.fastSeek(time);
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Sets custom MediaKeys on the first media element.
|
|
97
|
+
* @param {MediaKeys|null} keys - Media keys to set.
|
|
98
|
+
* @returns {Promise<void>}
|
|
99
|
+
*/
|
|
100
|
+
setMediaKeys(keys) {
|
|
101
|
+
return this.el.setMediaKeys(keys);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Assigns a sink ID (output device) to the first media element.
|
|
105
|
+
* @param {string} id - The sink ID (device ID).
|
|
106
|
+
* @returns {Promise<void>}
|
|
107
|
+
*/
|
|
108
|
+
setSinkId(id) {
|
|
109
|
+
return this.el.setSinkId(id);
|
|
110
|
+
}
|
|
111
|
+
// ------------------------
|
|
112
|
+
// Properties (wrappers)
|
|
113
|
+
// ------------------------
|
|
114
|
+
/** @type {boolean} Autoplay state of the media. */
|
|
115
|
+
get autoplay() {
|
|
116
|
+
return this.el.autoplay;
|
|
117
|
+
}
|
|
118
|
+
set autoplay(v) {
|
|
119
|
+
this.setProp('autoplay', v);
|
|
120
|
+
}
|
|
121
|
+
/** @returns {TimeRanges} The buffered time ranges. */
|
|
122
|
+
get buffered() {
|
|
123
|
+
return this.el.buffered;
|
|
124
|
+
}
|
|
125
|
+
/** @type {boolean} Whether default controls are visible. */
|
|
126
|
+
get controls() {
|
|
127
|
+
return this.el.controls;
|
|
128
|
+
}
|
|
129
|
+
set controls(v) {
|
|
130
|
+
this.setProp('controls', v);
|
|
131
|
+
}
|
|
132
|
+
/** @type {string|null} The list of controls available. */
|
|
133
|
+
get controlsList() {
|
|
134
|
+
return this.attr('controlsList');
|
|
135
|
+
}
|
|
136
|
+
set controlsList(v) {
|
|
137
|
+
this.setAttr('controlsList', v);
|
|
138
|
+
}
|
|
139
|
+
/** @type {string|null} CORS setting for the media. */
|
|
140
|
+
get crossOrigin() {
|
|
141
|
+
return this.attr('crossOrigin');
|
|
142
|
+
}
|
|
143
|
+
set crossOrigin(v) {
|
|
144
|
+
this.setAttr('crossOrigin', v);
|
|
145
|
+
}
|
|
146
|
+
/** @returns {string} The resolved source URL currently playing. */
|
|
147
|
+
get currentSrc() {
|
|
148
|
+
return this.el.currentSrc;
|
|
149
|
+
}
|
|
150
|
+
/** @type {number} The current playback position in seconds. */
|
|
151
|
+
get currentTime() {
|
|
152
|
+
return this.el.currentTime;
|
|
153
|
+
}
|
|
154
|
+
set currentTime(t) {
|
|
155
|
+
this.el.currentTime = t;
|
|
156
|
+
}
|
|
157
|
+
/** @type {boolean} Whether media is muted by default. */
|
|
158
|
+
get defaultMuted() {
|
|
159
|
+
return this.el.defaultMuted;
|
|
160
|
+
}
|
|
161
|
+
set defaultMuted(v) {
|
|
162
|
+
this.setProp('defaultMuted', v);
|
|
163
|
+
}
|
|
164
|
+
/** @type {number} Default playback rate (1 = normal speed). */
|
|
165
|
+
get defaultPlaybackRate() {
|
|
166
|
+
return this.el.defaultPlaybackRate;
|
|
167
|
+
}
|
|
168
|
+
set defaultPlaybackRate(v) {
|
|
169
|
+
this.el.defaultPlaybackRate = v;
|
|
170
|
+
}
|
|
171
|
+
/** @type {boolean} Whether remote playback is disabled. */
|
|
172
|
+
get disableRemotePlayback() {
|
|
173
|
+
return this.el.disableRemotePlayback;
|
|
174
|
+
}
|
|
175
|
+
set disableRemotePlayback(v) {
|
|
176
|
+
this.setProp('disableRemotePlayback', v);
|
|
177
|
+
}
|
|
178
|
+
/** @returns {number} The duration of the media in seconds. */
|
|
179
|
+
get duration() {
|
|
180
|
+
return this.el.duration;
|
|
181
|
+
}
|
|
182
|
+
/** @returns {boolean} Whether the media has ended. */
|
|
183
|
+
get ended() {
|
|
184
|
+
return this.el.ended;
|
|
185
|
+
}
|
|
186
|
+
/** @returns {MediaError|null} Error state if media failed to load. */
|
|
187
|
+
get error() {
|
|
188
|
+
return this.el.error;
|
|
189
|
+
}
|
|
190
|
+
/** @type {boolean} Whether the media should loop. */
|
|
191
|
+
get loop() {
|
|
192
|
+
return this.el.loop;
|
|
193
|
+
}
|
|
194
|
+
set loop(v) {
|
|
195
|
+
this.setProp('loop', v);
|
|
196
|
+
}
|
|
197
|
+
/** @type {string|null} Media group name for synchronization. */
|
|
198
|
+
get mediaGroup() {
|
|
199
|
+
return this.attr('mediaGroup');
|
|
200
|
+
}
|
|
201
|
+
set mediaGroup(v) {
|
|
202
|
+
this.setAttr('mediaGroup', v);
|
|
203
|
+
}
|
|
204
|
+
/** @returns {MediaKeys|null} The associated MediaKeys object. */
|
|
205
|
+
get mediaKeys() {
|
|
206
|
+
return this.el.mediaKeys;
|
|
207
|
+
}
|
|
208
|
+
/** @type {boolean} Whether the media is muted. */
|
|
209
|
+
get muted() {
|
|
210
|
+
return this.el.muted;
|
|
211
|
+
}
|
|
212
|
+
set muted(state) {
|
|
213
|
+
this.el.muted = state;
|
|
214
|
+
}
|
|
215
|
+
/** @returns {number} Network state (see `HTMLMediaElement.networkState`). */
|
|
216
|
+
get networkState() {
|
|
217
|
+
return this.el.networkState;
|
|
218
|
+
}
|
|
219
|
+
/** @returns {boolean} Whether the media is currently paused. */
|
|
220
|
+
get paused() {
|
|
221
|
+
return this.el.paused;
|
|
222
|
+
}
|
|
223
|
+
/** @type {number} Current playback rate (1 = normal speed). */
|
|
224
|
+
get playbackRate() {
|
|
225
|
+
return this.el.playbackRate;
|
|
226
|
+
}
|
|
227
|
+
set playbackRate(rate) {
|
|
228
|
+
this.el.playbackRate = rate;
|
|
229
|
+
}
|
|
230
|
+
/** @returns {TimeRanges} Played time ranges. */
|
|
231
|
+
get played() {
|
|
232
|
+
return this.el.played;
|
|
233
|
+
}
|
|
234
|
+
/** @type {"" | "metadata" | "none" | "auto"} Preload strategy ('none', 'metadata', 'auto'). */
|
|
235
|
+
get preload() {
|
|
236
|
+
return this.el.preload;
|
|
237
|
+
}
|
|
238
|
+
set preload(v) {
|
|
239
|
+
const valid = ['auto', 'metadata', 'none'];
|
|
240
|
+
if (!valid.includes(v))
|
|
241
|
+
throw new TypeError(`TinyVideo: "preload" must be one of ${valid.join(', ')}.`);
|
|
242
|
+
this.setAttr('preload', v);
|
|
243
|
+
}
|
|
244
|
+
/** @type {boolean} Whether pitch is preserved when rate changes. */
|
|
245
|
+
get preservesPitch() {
|
|
246
|
+
return this.el.preservesPitch;
|
|
247
|
+
}
|
|
248
|
+
set preservesPitch(v) {
|
|
249
|
+
this.setProp('preservesPitch', v);
|
|
250
|
+
}
|
|
251
|
+
/** @returns {number} Ready state of the media. */
|
|
252
|
+
get readyState() {
|
|
253
|
+
return this.el.readyState;
|
|
254
|
+
}
|
|
255
|
+
/** @returns {RemotePlayback|null} Remote playback interface. */
|
|
256
|
+
get remote() {
|
|
257
|
+
return this.el.remote;
|
|
258
|
+
}
|
|
259
|
+
/** @returns {TimeRanges} Seekable time ranges. */
|
|
260
|
+
get seekable() {
|
|
261
|
+
return this.el.seekable;
|
|
262
|
+
}
|
|
263
|
+
/** @returns {boolean} Whether the media is currently seeking. */
|
|
264
|
+
get seeking() {
|
|
265
|
+
return this.el.seeking;
|
|
266
|
+
}
|
|
267
|
+
/** @returns {string} Current sink ID (output device). */
|
|
268
|
+
get sinkId() {
|
|
269
|
+
return this.el.sinkId;
|
|
270
|
+
}
|
|
271
|
+
/** @type {string|null} Source URL of the media. */
|
|
272
|
+
get src() {
|
|
273
|
+
return this.attr('src');
|
|
274
|
+
}
|
|
275
|
+
set src(v) {
|
|
276
|
+
this.setAttr('src', v);
|
|
277
|
+
}
|
|
278
|
+
/** @type {MediaProvider|null} Current `srcObject` (e.g., MediaStream). */
|
|
279
|
+
get srcObject() {
|
|
280
|
+
return this.el.srcObject;
|
|
281
|
+
}
|
|
282
|
+
set srcObject(v) {
|
|
283
|
+
this.el.srcObject = v;
|
|
284
|
+
}
|
|
285
|
+
/** @returns {TextTrackList} Available text tracks. */
|
|
286
|
+
get textTracks() {
|
|
287
|
+
return this.el.textTracks;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Gets the current volume.
|
|
291
|
+
* @returns {number} Value between 0.0 and 1.0.
|
|
292
|
+
*/
|
|
293
|
+
get volume() {
|
|
294
|
+
return this.el.volume;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Sets the volume level.
|
|
298
|
+
* @param {number} level - Value between 0.0 and 1.0.
|
|
299
|
+
* @throws {TypeError} If not a number.
|
|
300
|
+
*/
|
|
301
|
+
set volume(level) {
|
|
302
|
+
if (typeof level !== 'number' || level < 0 || level > 1) {
|
|
303
|
+
throw new TypeError('TinyVideo: "volume" must be a number between 0.0 and 1.0.');
|
|
304
|
+
}
|
|
305
|
+
this.el.volume = level;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
export default TinyHtmlMedia;
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var TinyHtmlTemplate = require('./TinyHtmlTemplate.cjs');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* TinyHtmlScript is a helper class for creating and managing <script> elements.
|
|
7
|
+
* Supports both inline and external scripts, with attributes for async, defer, modules, etc.
|
|
8
|
+
*
|
|
9
|
+
* @extends TinyHtmlTemplate<HTMLScriptElement>
|
|
10
|
+
*/
|
|
11
|
+
class TinyHtmlScript extends TinyHtmlTemplate {
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new TinyHtmlScript instance.
|
|
14
|
+
* @param {Object} config - Configuration object.
|
|
15
|
+
* @param {string} [config.src] - URI of an external script.
|
|
16
|
+
* @param {string} [config.type] - The type of script (e.g., "module", "importmap", "speculationrules", or JS MIME type).
|
|
17
|
+
* @param {boolean} [config.async=false] - Whether the script should be executed asynchronously (requires src).
|
|
18
|
+
* @param {boolean} [config.defer=false] - Whether the script should be deferred until after parsing (requires src).
|
|
19
|
+
* @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes.
|
|
20
|
+
* @param {string} [config.mainClass=""] - Main CSS class.
|
|
21
|
+
* @param {string} [config.content=""] - Inline script content (ignored if src is provided).
|
|
22
|
+
* @param {string|string[]} [config.blocking] - Space-separated list of blocking tokens (currently only "render").
|
|
23
|
+
* @param {"anonymous" | "use-credentials"} [config.crossorigin] - CORS setting ("anonymous" or "use-credentials").
|
|
24
|
+
* @param {"auto"|"high"|"low"} [config.fetchpriority="auto"] - Fetch priority.
|
|
25
|
+
* @param {string} [config.integrity] - Subresource integrity hash (only valid with src).
|
|
26
|
+
* @param {boolean} [config.nomodule=false] - Whether to prevent execution in browsers supporting modules.
|
|
27
|
+
* @param {string} [config.nonce] - Cryptographic nonce for CSP.
|
|
28
|
+
* @param {string} [config.referrerpolicy] - Referrer policy.
|
|
29
|
+
* @param {boolean|string|string[]} [config.attributionsrc] - Boolean or list of URLs for attribution reporting.
|
|
30
|
+
*/
|
|
31
|
+
constructor({
|
|
32
|
+
src,
|
|
33
|
+
type,
|
|
34
|
+
async = false,
|
|
35
|
+
defer = false,
|
|
36
|
+
tags = [],
|
|
37
|
+
mainClass = '',
|
|
38
|
+
content = '',
|
|
39
|
+
blocking,
|
|
40
|
+
crossorigin,
|
|
41
|
+
fetchpriority = 'auto',
|
|
42
|
+
integrity,
|
|
43
|
+
nomodule = false,
|
|
44
|
+
nonce,
|
|
45
|
+
referrerpolicy,
|
|
46
|
+
attributionsrc,
|
|
47
|
+
} = {}) {
|
|
48
|
+
super(document.createElement('script'), tags, mainClass);
|
|
49
|
+
|
|
50
|
+
if (src !== undefined) this.src = src;
|
|
51
|
+
if (type !== undefined) this.type = type;
|
|
52
|
+
this.async = async;
|
|
53
|
+
this.defer = defer;
|
|
54
|
+
if (blocking !== undefined) this.blocking = blocking;
|
|
55
|
+
if (crossorigin !== undefined) this.crossorigin = crossorigin;
|
|
56
|
+
this.fetchpriority = fetchpriority;
|
|
57
|
+
if (integrity !== undefined) this.integrity = integrity;
|
|
58
|
+
this.nomodule = nomodule;
|
|
59
|
+
if (nonce !== undefined) this.nonce = nonce;
|
|
60
|
+
if (referrerpolicy !== undefined) this.referrerpolicy = referrerpolicy;
|
|
61
|
+
if (attributionsrc !== undefined) this.attributionsrc = attributionsrc;
|
|
62
|
+
|
|
63
|
+
if (!src && content) this.content = content;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** @param {string} src */
|
|
67
|
+
set src(src) {
|
|
68
|
+
if (typeof src !== 'string') throw new TypeError('TinyHtmlScript: "src" must be a string.');
|
|
69
|
+
this.setAttr('src', src);
|
|
70
|
+
}
|
|
71
|
+
/** @returns {string|null} */
|
|
72
|
+
get src() {
|
|
73
|
+
return this.attrString('src');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** @param {string} type */
|
|
77
|
+
set type(type) {
|
|
78
|
+
if (typeof type !== 'string') throw new TypeError('TinyHtmlScript: "type" must be a string.');
|
|
79
|
+
this.setAttr('type', type);
|
|
80
|
+
}
|
|
81
|
+
/** @returns {string|null} */
|
|
82
|
+
get type() {
|
|
83
|
+
return this.attrString('type');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** @param {boolean} async */
|
|
87
|
+
set async(async) {
|
|
88
|
+
if (typeof async !== 'boolean')
|
|
89
|
+
throw new TypeError('TinyHtmlScript: "async" must be a boolean.');
|
|
90
|
+
if (async && !this.src) throw new Error('TinyHtmlScript: "async" requires a "src" attribute.');
|
|
91
|
+
this.toggleProp('async', async);
|
|
92
|
+
}
|
|
93
|
+
/** @returns {boolean} */
|
|
94
|
+
get async() {
|
|
95
|
+
return this.hasProp('async');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** @param {boolean} defer */
|
|
99
|
+
set defer(defer) {
|
|
100
|
+
if (typeof defer !== 'boolean')
|
|
101
|
+
throw new TypeError('TinyHtmlScript: "defer" must be a boolean.');
|
|
102
|
+
if (defer && !this.src) throw new Error('TinyHtmlScript: "defer" requires a "src" attribute.');
|
|
103
|
+
this.toggleProp('defer', defer);
|
|
104
|
+
}
|
|
105
|
+
/** @returns {boolean} */
|
|
106
|
+
get defer() {
|
|
107
|
+
return this.hasProp('defer');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/** @param {string|string[]} blocking */
|
|
111
|
+
set blocking(blocking) {
|
|
112
|
+
const values = Array.isArray(blocking) ? blocking : String(blocking).trim().split(/\s+/);
|
|
113
|
+
for (const v of values) {
|
|
114
|
+
if (v !== 'render') throw new Error(`TinyHtmlScript: invalid blocking token "${v}".`);
|
|
115
|
+
}
|
|
116
|
+
this.setAttr('blocking', values.join(' '));
|
|
117
|
+
}
|
|
118
|
+
/** @returns {string[]|null} */
|
|
119
|
+
get blocking() {
|
|
120
|
+
const val = this.attrString('blocking');
|
|
121
|
+
return val ? val.split(/\s+/) : null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** @param {"anonymous"|"use-credentials"} crossorigin */
|
|
125
|
+
set crossorigin(crossorigin) {
|
|
126
|
+
if (!['anonymous', 'use-credentials'].includes(crossorigin))
|
|
127
|
+
throw new Error('TinyHtmlScript: "crossorigin" must be "anonymous" or "use-credentials".');
|
|
128
|
+
this.setAttr('crossorigin', crossorigin);
|
|
129
|
+
}
|
|
130
|
+
/** @returns {string|null} */
|
|
131
|
+
get crossorigin() {
|
|
132
|
+
return this.attrString('crossorigin');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** @param {"auto"|"high"|"low"} fetchpriority */
|
|
136
|
+
set fetchpriority(fetchpriority) {
|
|
137
|
+
if (!['auto', 'high', 'low'].includes(fetchpriority))
|
|
138
|
+
throw new Error('TinyHtmlScript: "fetchpriority" must be "auto", "high", or "low".');
|
|
139
|
+
this.setAttr('fetchpriority', fetchpriority);
|
|
140
|
+
}
|
|
141
|
+
/** @returns {string|null} */
|
|
142
|
+
get fetchpriority() {
|
|
143
|
+
return this.attrString('fetchpriority');
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** @param {string} integrity */
|
|
147
|
+
set integrity(integrity) {
|
|
148
|
+
if (!this.src) throw new Error('TinyHtmlScript: "integrity" requires "src".');
|
|
149
|
+
if (typeof integrity !== 'string')
|
|
150
|
+
throw new TypeError('TinyHtmlScript: "integrity" must be a string.');
|
|
151
|
+
this.setAttr('integrity', integrity);
|
|
152
|
+
}
|
|
153
|
+
/** @returns {string|null} */
|
|
154
|
+
get integrity() {
|
|
155
|
+
return this.attrString('integrity');
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** @param {boolean} nomodule */
|
|
159
|
+
set nomodule(nomodule) {
|
|
160
|
+
if (typeof nomodule !== 'boolean')
|
|
161
|
+
throw new TypeError('TinyHtmlScript: "nomodule" must be a boolean.');
|
|
162
|
+
this.toggleProp('nomodule', nomodule);
|
|
163
|
+
}
|
|
164
|
+
/** @returns {boolean} */
|
|
165
|
+
get nomodule() {
|
|
166
|
+
return this.hasProp('nomodule');
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** @param {string} nonce */
|
|
170
|
+
set nonce(nonce) {
|
|
171
|
+
if (typeof nonce !== 'string') throw new TypeError('TinyHtmlScript: "nonce" must be a string.');
|
|
172
|
+
this.setAttr('nonce', nonce);
|
|
173
|
+
}
|
|
174
|
+
/** @returns {string|null} */
|
|
175
|
+
get nonce() {
|
|
176
|
+
return this.attrString('nonce');
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** @param {string} referrerpolicy */
|
|
180
|
+
set referrerpolicy(referrerpolicy) {
|
|
181
|
+
if (typeof referrerpolicy !== 'string')
|
|
182
|
+
throw new TypeError('TinyHtmlScript: "referrerpolicy" must be a string.');
|
|
183
|
+
this.setAttr('referrerpolicy', referrerpolicy);
|
|
184
|
+
}
|
|
185
|
+
/** @returns {string|null} */
|
|
186
|
+
get referrerpolicy() {
|
|
187
|
+
return this.attrString('referrerpolicy');
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/** @param {boolean|string|string[]} attributionsrc */
|
|
191
|
+
set attributionsrc(attributionsrc) {
|
|
192
|
+
if (attributionsrc === true) {
|
|
193
|
+
this.addProp('attributionsrc');
|
|
194
|
+
} else if (typeof attributionsrc === 'string') {
|
|
195
|
+
this.setAttr('attributionsrc', attributionsrc);
|
|
196
|
+
} else if (
|
|
197
|
+
Array.isArray(attributionsrc) &&
|
|
198
|
+
attributionsrc.every((v) => typeof v === 'string')
|
|
199
|
+
) {
|
|
200
|
+
this.setAttr('attributionsrc', attributionsrc.join(' '));
|
|
201
|
+
} else {
|
|
202
|
+
throw new TypeError('TinyHtmlScript: "attributionsrc" must be boolean, string, or string[].');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/** @returns {boolean|string[]|null} */
|
|
206
|
+
get attributionsrc() {
|
|
207
|
+
if (this.hasProp('attributionsrc')) return true;
|
|
208
|
+
const val = this.attrString('attributionsrc');
|
|
209
|
+
return val ? val.split(/\s+/) : null;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/** @param {string} code */
|
|
213
|
+
set content(code) {
|
|
214
|
+
if (typeof code !== 'string')
|
|
215
|
+
throw new TypeError('TinyHtmlScript: "content" must be a string.');
|
|
216
|
+
if (this.src)
|
|
217
|
+
throw new Error('TinyHtmlScript: Cannot set inline content when "src" is defined.');
|
|
218
|
+
this._preHtmlElem('content').textContent = code;
|
|
219
|
+
}
|
|
220
|
+
/** @returns {string|null} */
|
|
221
|
+
get content() {
|
|
222
|
+
return this._preHtmlElem('content').textContent || null;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
module.exports = TinyHtmlScript;
|