@zoho_apptics/apptics-js-sdk 2.0.0-beta.1 → 2.0.0-beta.2
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/CHANGELOG.md +80 -16
- package/README.md +187 -100
- package/dist/apptics.esm.min.js +2 -2
- package/dist/apptics.esm.min.js.map +1 -1
- package/dist/apptics.min.js +2 -2
- package/dist/apptics.min.js.map +1 -1
- package/dist/chunks/lifecycle-C6m1W7jo.min.js +3 -0
- package/dist/chunks/lifecycle-C6m1W7jo.min.js.map +1 -0
- package/dist/chunks/send-CgUO82ne.min.js +3 -0
- package/dist/chunks/send-CgUO82ne.min.js.map +1 -0
- package/dist/cjs/core/attempts.js +1 -1
- package/dist/cjs/core/batch.js +1 -2
- package/dist/cjs/core/consent.d.ts +13 -3
- package/dist/cjs/core/consent.js +24 -10
- package/dist/cjs/core/constants.d.ts +22 -17
- package/dist/cjs/core/constants.js +22 -19
- package/dist/cjs/core/db.js +1 -1
- package/dist/cjs/core/debug.js +1 -1
- package/dist/cjs/core/env.d.ts +0 -3
- package/dist/cjs/core/env.js +1 -9
- package/dist/cjs/core/framework-id.d.ts +1 -1
- package/dist/cjs/core/framework-id.js +3 -3
- package/dist/cjs/core/guard.js +1 -1
- package/dist/cjs/core/hooks.d.ts +5 -0
- package/dist/cjs/core/hooks.js +2 -1
- package/dist/cjs/core/locks.js +1 -1
- package/dist/cjs/core/logger.js +1 -1
- package/dist/cjs/core/state.d.ts +6 -4
- package/dist/cjs/core/state.js +2 -4
- package/dist/cjs/core/storage.js +1 -4
- package/dist/cjs/core/stylesheet.js +1 -1
- package/dist/cjs/core/transport.js +13 -16
- package/dist/cjs/core/utils.js +1 -1
- package/dist/cjs/core/validate.js +1 -1
- package/dist/cjs/device/appversion.d.ts +10 -1
- package/dist/cjs/device/appversion.js +26 -3
- package/dist/cjs/device/index.d.ts +17 -2
- package/dist/cjs/device/index.js +195 -27
- package/dist/cjs/engagement/api-rules.js +1 -1
- package/dist/cjs/engagement/auto-api.js +1 -1
- package/dist/cjs/engagement/auto-screen.js +1 -1
- package/dist/cjs/engagement/defined-events.js +1 -1
- package/dist/cjs/engagement/send.js +7 -3
- package/dist/cjs/engagement/session.d.ts +17 -0
- package/dist/cjs/engagement/session.js +95 -4
- package/dist/cjs/engagement/track.d.ts +4 -4
- package/dist/cjs/engagement/track.js +15 -12
- package/dist/cjs/errors/send.js +2 -2
- package/dist/cjs/errors/track.d.ts +2 -1
- package/dist/cjs/errors/track.js +6 -4
- package/dist/cjs/feedback/controls.d.ts +6 -0
- package/dist/cjs/feedback/controls.js +74 -25
- package/dist/cjs/feedback/index.js +1 -1
- package/dist/cjs/feedback/logs.d.ts +3 -6
- package/dist/cjs/feedback/logs.js +8 -18
- package/dist/cjs/feedback/quartz.js +1 -1
- package/dist/cjs/feedback/send.d.ts +2 -2
- package/dist/cjs/feedback/send.js +4 -27
- package/dist/cjs/feedback/styles.js +2 -2
- package/dist/cjs/feedback/template.d.ts +1 -1
- package/dist/cjs/feedback/template.js +9 -1
- package/dist/cjs/feedback/ui.d.ts +7 -0
- package/dist/cjs/feedback/ui.js +160 -25
- package/dist/cjs/heatmap/send.d.ts +2 -0
- package/dist/cjs/heatmap/send.js +3 -5
- package/dist/cjs/heatmap/track.js +1 -1
- package/dist/cjs/index.d.ts +1 -2
- package/dist/cjs/index.js +54 -17
- package/dist/cjs/lifecycle.d.ts +13 -2
- package/dist/cjs/lifecycle.js +122 -54
- package/dist/cjs/remoteconfig/country.js +1 -1
- package/dist/cjs/remoteconfig/custom.js +1 -1
- package/dist/cjs/remoteconfig/evaluate.js +1 -1
- package/dist/cjs/remoteconfig/fetch.d.ts +17 -10
- package/dist/cjs/remoteconfig/fetch.js +126 -31
- package/dist/cjs/remoteconfig/index.d.ts +13 -4
- package/dist/cjs/remoteconfig/index.js +36 -20
- package/dist/cjs/remoteconfig/store.d.ts +15 -7
- package/dist/cjs/remoteconfig/store.js +68 -35
- package/dist/cjs/remoteconfig/tz-countries.js +1 -1
- package/dist/cjs/{core → remotelog}/callsite.d.ts +5 -4
- package/dist/cjs/{core → remotelog}/callsite.js +6 -5
- package/dist/cjs/remotelog/gate.js +1 -1
- package/dist/cjs/remotelog/logger.js +2 -2
- package/dist/cjs/remotelog/send.js +2 -2
- package/dist/cjs/remotelogger/index.js +1 -1
- package/dist/cjs/scheduler.d.ts +3 -1
- package/dist/cjs/scheduler.js +24 -21
- package/dist/cjs/types.d.ts +61 -16
- package/dist/cjs/user/index.js +6 -2
- package/dist/esm/core/attempts.js +1 -1
- package/dist/esm/core/batch.js +1 -2
- package/dist/esm/core/consent.d.ts +13 -3
- package/dist/esm/core/consent.js +24 -11
- package/dist/esm/core/constants.d.ts +22 -17
- package/dist/esm/core/constants.js +22 -19
- package/dist/esm/core/db.js +1 -1
- package/dist/esm/core/debug.js +1 -1
- package/dist/esm/core/env.d.ts +0 -3
- package/dist/esm/core/env.js +2 -9
- package/dist/esm/core/framework-id.d.ts +1 -1
- package/dist/esm/core/framework-id.js +3 -3
- package/dist/esm/core/guard.js +1 -1
- package/dist/esm/core/hooks.d.ts +5 -0
- package/dist/esm/core/hooks.js +2 -1
- package/dist/esm/core/locks.js +1 -1
- package/dist/esm/core/logger.js +1 -1
- package/dist/esm/core/state.d.ts +6 -4
- package/dist/esm/core/state.js +2 -4
- package/dist/esm/core/storage.js +1 -4
- package/dist/esm/core/stylesheet.js +1 -1
- package/dist/esm/core/transport.js +13 -16
- package/dist/esm/core/utils.js +1 -1
- package/dist/esm/core/validate.js +1 -1
- package/dist/esm/device/appversion.d.ts +10 -1
- package/dist/esm/device/appversion.js +26 -4
- package/dist/esm/device/index.d.ts +17 -2
- package/dist/esm/device/index.js +195 -30
- package/dist/esm/engagement/api-rules.js +1 -1
- package/dist/esm/engagement/auto-api.js +1 -1
- package/dist/esm/engagement/auto-screen.js +1 -1
- package/dist/esm/engagement/defined-events.js +1 -1
- package/dist/esm/engagement/send.js +7 -3
- package/dist/esm/engagement/session.d.ts +17 -0
- package/dist/esm/engagement/session.js +93 -5
- package/dist/esm/engagement/track.d.ts +4 -4
- package/dist/esm/engagement/track.js +16 -13
- package/dist/esm/errors/send.js +2 -2
- package/dist/esm/errors/track.d.ts +2 -1
- package/dist/esm/errors/track.js +6 -4
- package/dist/esm/feedback/controls.d.ts +6 -0
- package/dist/esm/feedback/controls.js +74 -26
- package/dist/esm/feedback/index.js +1 -1
- package/dist/esm/feedback/logs.d.ts +3 -6
- package/dist/esm/feedback/logs.js +8 -18
- package/dist/esm/feedback/quartz.js +1 -1
- package/dist/esm/feedback/send.d.ts +2 -2
- package/dist/esm/feedback/send.js +6 -29
- package/dist/esm/feedback/styles.js +2 -2
- package/dist/esm/feedback/template.d.ts +1 -1
- package/dist/esm/feedback/template.js +9 -1
- package/dist/esm/feedback/ui.d.ts +7 -0
- package/dist/esm/feedback/ui.js +161 -26
- package/dist/esm/heatmap/send.d.ts +2 -0
- package/dist/esm/heatmap/send.js +3 -5
- package/dist/esm/heatmap/track.js +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +57 -20
- package/dist/esm/lifecycle.d.ts +13 -2
- package/dist/esm/lifecycle.js +126 -60
- package/dist/esm/remoteconfig/country.js +1 -1
- package/dist/esm/remoteconfig/custom.js +1 -1
- package/dist/esm/remoteconfig/evaluate.js +1 -1
- package/dist/esm/remoteconfig/fetch.d.ts +17 -10
- package/dist/esm/remoteconfig/fetch.js +127 -32
- package/dist/esm/remoteconfig/index.d.ts +13 -4
- package/dist/esm/remoteconfig/index.js +36 -20
- package/dist/esm/remoteconfig/store.d.ts +15 -7
- package/dist/esm/remoteconfig/store.js +68 -36
- package/dist/esm/remoteconfig/tz-countries.js +1 -1
- package/dist/esm/{core → remotelog}/callsite.d.ts +5 -4
- package/dist/esm/{core → remotelog}/callsite.js +6 -5
- package/dist/esm/remotelog/gate.js +1 -1
- package/dist/esm/remotelog/logger.js +2 -2
- package/dist/esm/remotelog/send.js +2 -2
- package/dist/esm/remotelogger/index.js +1 -1
- package/dist/esm/scheduler.d.ts +3 -1
- package/dist/esm/scheduler.js +25 -23
- package/dist/esm/types.d.ts +61 -16
- package/dist/esm/user/index.js +7 -3
- package/dist/feedback.esm.min.js +2 -2
- package/dist/feedback.esm.min.js.map +1 -1
- package/dist/remoteconfig.esm.min.js +3 -0
- package/dist/remoteconfig.esm.min.js.map +1 -0
- package/dist/remotelogger.esm.min.js +3 -0
- package/dist/remotelogger.esm.min.js.map +1 -0
- package/package.json +3 -2
- package/dist/chunks/lifecycle-VYr43KcB.min.js +0 -3
- package/dist/chunks/lifecycle-VYr43KcB.min.js.map +0 -1
- package/dist/cjs/auto-init.d.ts +0 -8
- package/dist/cjs/auto-init.js +0 -32
- package/dist/esm/auto-init.d.ts +0 -8
- package/dist/esm/auto-init.js +0 -29
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const feedbackUIHtml = "<div id=\"zasdkFeedbackconatiner\" class=\"zasdk-modal-content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"zasdkFeedbackTitle\">\n <div class=\"zasdk-header\">\n <h2 id=\"zasdkFeedbackTitle\" class=\"zasdk-title\">Share feedback</h2>\n <span id=\"appticsfeedbackclose\" class=\"zasdk-close\" role=\"button\" tabindex=\"0\" aria-label=\"Close\"><svg viewBox=\"0 0 24 24\" style=\" width: 20px; \"><path d=\"M19.92,19.08c.23.23.23.61,0,.85-.12.12-.27.18-.42.18s-.31-.06-.42-.18l-7.08-7.08-7.08,7.08c-.12.12-.27.18-.42.18s-.31-.06-.42-.18c-.23-.23-.23-.61,0-.85l7.08-7.08-7.08-7.08c-.23-.23-.23-.61,0-.85s.61-.23.85,0l7.08,7.08,7.08-7.08c.23-.23.61-.23.85,0s.23.61,0,.85l-7.08,7.08,7.08,7.08Z\"/></svg></span>\n </div>\n <div class=\"zasdk-feedback-types\" data-type=\"\">\n <div class=\"zasdk-feedback-type zasdk-selected\" data-type=\"feedback\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-reqest\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M6.69,9.25h10.81c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z\"/><path d=\"M6.69,13.07h8.11c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z\"/><path d=\"M20.72,5.17c0-.68-.55-1.23-1.23-1.23H4.48c-.68,0-1.23.55-1.23,1.23v11.84c0,.68.55,1.23,1.23,1.23h13.49l1.25,1.51c.17.2.41.31.67.31.1,0,.2-.02.3-.05.34-.13.57-.46.56-.83l-.03-14.01ZM19.22,17.39l-.17-.2c-.24-.29-.58-.45-.95-.45H4.75V5.44h14.47v11.95Z\"/></svg></i>\n </div>\n <div>Feedback</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"bug\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-report\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M15.6,6.58c-.13-.37-.3-.7-.5-.97l1.23-1.18c.24-.23.25-.61.02-.85-.23-.24-.61-.25-.85-.02l-1.26,1.21c-.66-.45-1.37-.62-1.79-.68-.25-.04-.51-.04-.76-.02-.83.08-1.45.35-1.93.7l-1.22-1.2c-.24-.23-.62-.23-.85,0-.23.24-.23.62,0,.85l1.21,1.19c-.24.34-.41.68-.51.96-2.02,1.37-3.27,3.82-3.27,6.44,0,4.18,3.08,7.58,6.87,7.58s6.87-3.4,6.87-7.58c0-2.62-1.25-5.06-3.26-6.44ZM11.82,5.27c.15-.02.31-.01.47.01.69.1,1.86.48,2.26,1.9-.17.17-.51.44-1.14.65-1.08.36-2.31.28-3.36-.23-.24-.11-.44-.23-.6-.36,0-.01,0-.03.01-.04.18-.65.73-1.77,2.36-1.93ZM12,19.4c-3.12,0-5.67-2.86-5.67-6.38,0-1.98.82-3.82,2.19-5.02.26.25.59.48,1.01.68.78.38,1.65.57,2.5.57.6,0,1.19-.09,1.76-.28.88-.29,1.39-.7,1.67-1,1.38,1.2,2.21,3.06,2.21,5.05,0,3.52-2.54,6.38-5.67,6.38ZM9.12,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM9.12,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM14.88,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM14.88,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM12,14.49c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM12,16.62c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47Z\"/></svg></i>\n </div>\n <div>Bug</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"help\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-help\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M12.45,16.47c-.33,0-.6-.27-.6-.6v-2.7c0-.43.25-.82.64-.99.95-.42,3.15-1.62,3.15-3.51,0-1.6-1.01-3.03-2.51-3.55-.95-.33-1.97-.28-2.87.16-.91.43-1.59,1.2-1.92,2.14-.11.31-.45.48-.77.37-.31-.11-.48-.45-.37-.77.44-1.25,1.34-2.25,2.54-2.83,1.2-.57,2.54-.65,3.79-.21,1.99.7,3.32,2.58,3.31,4.69,0,2.46-2.34,3.91-3.79,4.57v2.63c0,.33-.27.6-.6.6ZM13.21,19.1c0-.66-.54-1.2-1.2-1.2h-.03c-.66,0-1.19.54-1.19,1.2s.55,1.2,1.21,1.2,1.2-.54,1.2-1.2Z\"/></svg></i>\n </div>\n <div>Help</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"report\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-appreciate\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M20.47,16.72l-6.66-11.53c-.37-.65-1.07-1.05-1.81-1.05s-1.44.4-1.81,1.05l-6.66,11.53c-.37.65-.37,1.45,0,2.09.37.65,1.07,1.05,1.81,1.05h13.32c.75,0,1.44-.4,1.81-1.05.37-.64.37-1.45,0-2.09ZM19.17,18.06c-.11.18-.3.3-.51.3H5.34c-.21,0-.41-.11-.51-.3-.1-.18-.1-.41,0-.59l6.66-11.53h0c.11-.18.3-.3.51-.3s.41.11.51.3l6.66,11.53c.11.18.11.41,0,.59Z\"/><path d=\"M12.35,13.9s.37-4.72.37-4.72c.05-1.08-1.58-1.06-1.5.02l.48,4.71c.03.38.62.37.64,0Z\"/><path d=\"M11.97,15.06c-.52,0-.94.42-.94.94s.42.94.94.94.94-.42.94-.94-.42-.94-.94-.94Z\"/></svg></i>\n </div>\n <div>Report</div>\n </div>\n </div>\n <div id=\"zasdkFeedbackForm\" class=\"zasdk-form\">\n <label class=\"zasdkdesclbl\">User<span class=\"zasdkmadfeld\">*</span></label>\n <div id=\"zasdkEmailDropdown\" class=\"zasdk-custom-select\">\n <div id=\"zasdkEmailTrigger\" class=\"zasdk-select-trigger\">\n <span id=\"zasdkEmailLabel\" class=\"zasdk-select-label\">Anonymous</span>\n <svg class=\"zasdk-select-arrow\" viewBox=\"0 0 12 8\" width=\"12\" height=\"8\"><path d=\"M1 1l5 5 5-5\" stroke=\"#999\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>\n </div>\n <div id=\"zasdkEmailPanel\" class=\"zasdk-select-panel\" style=\"display:none\">\n <ul id=\"zasdkEmailList\" class=\"zasdk-select-list\"></ul>\n </div>\n </div>\n <label class=\"zasdkdesclbl\" for=\"zasdkDescription\">Add details here<span class=\"zasdkmadfeld\">*</span> <span class=\"zaleftcharspan\"><span class=\"zaleftcharcnt\">5000</span><span class=\"zaleftchartxt\">characters left</span></span></label>\n <textarea id=\"zasdkDescription\" name=\"description\" placeholder=\"Please provide more details for us to help you better.\" reqname=\"name\" maxlength=\"5000\"></textarea>\n <div id=\"zasdkreccheckcnt\" class=\"zasdkqz-container\">\n <div class=\"zasdkqz-checkbox-wrapper\">\n <input type=\"checkbox\" id=\"zasdkqz-consent\" class=\"zasdkqz-checkbox\">\n <label for=\"zasdkqz-consent\">By agreeing to record screen, I allow the collection of the required information for further analysis.</label>\n </div>\n <div id=\"zasdkqz-content\" class=\"zasdkqz-content\">\n <div class=\"zasdkqz-prop-content\">Data collected while screen recording.\n <div class=\"zasdk_rec_hdr_icon zasdk-tooltip-container zasdk_rec_hdr\">\n <i><svg viewBox=\"0 0 24 24\"><path d=\"M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z\"/></svg></i>\n <div class=\"zasdk-tooltip-top zasdk-prop-info\">\n <ul>\n <li>- A recording of the window or region specified.</li>\n <li>- Audio captured during recording. (You can mute or re-record)</li>\n <li>- IP address.</li>\n <li>- Browser console logs generated while recording.</li>\n <li>- Device details (screen resolution, OS, and browser version).</li>\n <li>- Client-side performance metrics (DNS lookup time, TCP connection time, etc.).</li>\n </ul>\n </div>\n </div>\n </div>\n <div id=\"zasdkqz_rec_button\" class=\"zasdkqz-button\">Start screen recording</div>\n </div>\n </div>\n <div id=\"editRecordedVideo\" class=\"zasdk_recordedClipArea\" style=\"\">\n <div id=\"recordScreenDesc\" class=\"zasdk_rec_hdr\"> Recorded Clip\n <div class=\"zasdk_rec_hdr_icon zasdk-tooltip-container\">\n <i><svg viewBox=\"0 0 24 24\"><path d=\"M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z\"/></svg></i>\n <div class=\"zasdk-tooltip\">This recording will be sent along with your feedback for further analysis.</div>\n </div>\n </div>\n <div class=\"zasdk_playEdit\">\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"preivewPlayButton\" class=\"zasdk_clipAreaButton\" title=\"Preview\">\n <svg viewBox=\"0 0 24 24\"><path d=\"M6.24,20.6c-.2,0-.39-.05-.57-.15-.38-.21-.62-.61-.62-1.05V4.59c0-.44.24-.84.62-1.05.38-.21.85-.19,1.22.04l11.52,7.41c.34.22.55.6.55,1,0,.41-.2.78-.55,1l-11.52,7.41c-.2.13-.42.19-.64.19ZM6.56,4.1l-.33.5v14.81s11.52-7.41,11.52-7.41L6.23,4.6l.33-.5Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Preview</div>\n </div>\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"videoEditButton\" class=\"zasdk_clipAreaButton\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\"><path d=\"M20.6,7.18c0-.58-.23-1.13-.65-1.54l-1.53-1.51c-.83-.83-2.29-.83-3.12,0l-1.31,1.3h0S4.88,14.41,4.88,14.41c-.12.12-.21.27-.26.44l-1.19,4.4c-.09.34,0,.7.26.95.19.18.44.29.7.29.09,0,.17-.01.26-.04l4.44-1.2c.16-.05.31-.13.44-.25l8.54-8.43h0s1.88-1.86,1.88-1.86c.06-.06.12-.12.17-.19h0c.31-.39.48-.86.48-1.36ZM8.72,18.12l-4.03,1.09,1.08-3.98L13.97,7.12l2.88,2.97-8.13,8.03ZM17.71,9.25l-2.88-2.97,1.32-1.3c.38-.38,1.04-.38,1.43,0l1.53,1.51c.19.18.29.43.29.69,0,.22-.08.43-.21.6h0s-.04.05-.08.08l-1.4,1.39Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Edit</div>\n </div>\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"videoDelButton\" class=\"zasdk_clipAreaButton\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\"><path d=\"M19.2,6.6h-3.4v-1c0-1.21-.99-2.2-2.2-2.2h-3.2c-1.21,0-2.2.99-2.2,2.2v1h-3.4c-.33,0-.6.27-.6.6s.27.6.6.6h1v10.6c0,1.21.99,2.2,2.2,2.2h8c1.21,0,2.2-.99,2.2-2.2V7.8h1c.33,0,.6-.27.6-.6s-.27-.6-.6-.6ZM9.4,5.6c0-.55.45-1,1-1h3.2c.55,0,1,.45,1,1v1h-5.2v-1ZM17,18.4c0,.55-.45,1-1,1h-8c-.55,0-1-.45-1-1V7.8h10v10.6ZM11,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6ZM14.2,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Delete</div>\n </div>\n </div>\n <div class=\"zasdk_videoPrev\">\n <video id=\"previewVideoElemId\" width=\"320\" height=\"240\" src=\"\"></video>\n </div>\n </div>\n\n <div class=\"zasdk-buttons\">\n <div class=\"zasdk-btncnt\">\n <div id=\"zasdkattachinfo\" class=\"zasdkattachinf\">Maximum 5 attachments with a total file size of 10MB is allowed</div>\n <input type=\"file\" id=\"zasdkFileInput\" class=\"zasdk-file-input\" multiple accept=\".png, .jpg, .txt\">\n <label id=\"zasdkAttachBtn\" class=\"zasdk-btn zasdk-attach-btn\" for=\"zasdkFileInput\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\" style=\" width: 25px; \"><path d=\"M12,20.6c-2.63,0-4.78-2.14-4.78-4.78V6.78c0-1.87,1.52-3.38,3.38-3.38s3.38,1.52,3.38,3.38v9.04c0,1.1-.9,1.99-2,1.99s-1.99-.89-1.99-1.99V7.48c0-.33.27-.6.6-.6h0c.33,0,.6.27.6.6v8.35c0,.44.35.79.79.79s.79-.36.79-.79V6.78c0-1.2-.98-2.18-2.18-2.18s-2.18.98-2.18,2.18v9.04c0,1.97,1.6,3.58,3.58,3.58s3.58-1.6,3.58-3.58V6.78c0-.33.27-.6.6-.6s.6.27.6.6v9.04c0,2.63-2.14,4.78-4.78,4.78Z\"/></svg>\n <span>Attachments</span>\n </label>\n <div id=\"zasdkfilesizeinfo\" class=\"zasdkfilesizeinf\"></div>\n <ul id=\"zasakfileList\" class=\"zasakfilelstcnt\"></ul>\n </div>\n </div>\n </div>\n <div class=\"zasdk-toggles-section\">\n <div class=\"zasdk-toggle-row\">\n <div class=\"zasdk-toggle-info\">\n <span class=\"zasdk-toggle-label\">Include System Logs</span>\n <span class=\"zasdk-view-link\" id=\"zasdkViewLogsBtn\">View</span>\n </div>\n <label class=\"zasdk-switch\">\n <input type=\"checkbox\" id=\"zasdkIncludeLogToggle\">\n <span class=\"zasdk-slider\"></span>\n </label>\n </div>\n <div class=\"zasdk-toggle-separator\"></div>\n <div class=\"zasdk-toggle-row\">\n <div class=\"zasdk-toggle-info\">\n <span class=\"zasdk-toggle-label\">Include Diagnostic Information</span>\n <span class=\"zasdk-view-link\" id=\"zasdkViewDiagBtn\">View</span>\n </div>\n <label class=\"zasdk-switch\">\n <input type=\"checkbox\" id=\"zasdkIncludeDiagToggle\">\n <span class=\"zasdk-slider\"></span>\n </label>\n </div>\n </div>\n <div class=\"zasdk_submit_btncnt\">\n <div id=\"zasdksubmitstatus\" class=\"zasdkstsmsg\" style=\"display:none;\" ></div>\n <div id=\"zasdk_submit_btnsubcnt\" class=\"zasdk_submit_btnsubcnt\">\n <input type=\"button\" id=\"zasdk_submit_btn\" class=\"zasdk-btn zasdk-send-btn zasdkbtndisableclr\" value=\"Send\">\n </div>\n </div>\n <div id=\"zasdkDataViewer\" class=\"zasdk-data-viewer\" style=\"display:none\">\n <div class=\"zasdk-viewer-hdr\">\n <span id=\"zasdkViewerClose\" class=\"zasdk-viewer-back\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\"><path d=\"M15 19l-7-7 7-7\" stroke=\"#333\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\n <span id=\"zasdkViewerTitle\" class=\"zasdk-viewer-title\"></span>\n </div>\n <pre id=\"zasdkViewerContent\" class=\"zasdk-viewer-content\"></pre>\n </div>\n </div>";
|
|
1
|
+
export declare const feedbackUIHtml = "<div id=\"zasdkFeedbackconatiner\" class=\"zasdk-modal-content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"zasdkFeedbackTitle\">\n <div class=\"zasdk-header\">\n <h2 id=\"zasdkFeedbackTitle\" class=\"zasdk-title\">Share feedback</h2>\n <span id=\"appticsfeedbackclose\" class=\"zasdk-close\" role=\"button\" tabindex=\"0\" aria-label=\"Close\"><svg viewBox=\"0 0 24 24\" style=\" width: 20px; \"><path d=\"M19.92,19.08c.23.23.23.61,0,.85-.12.12-.27.18-.42.18s-.31-.06-.42-.18l-7.08-7.08-7.08,7.08c-.12.12-.27.18-.42.18s-.31-.06-.42-.18c-.23-.23-.23-.61,0-.85l7.08-7.08-7.08-7.08c-.23-.23-.23-.61,0-.85s.61-.23.85,0l7.08,7.08,7.08-7.08c.23-.23.61-.23.85,0s.23.61,0,.85l-7.08,7.08,7.08,7.08Z\"/></svg></span>\n </div>\n <div class=\"zasdk-feedback-types\" data-type=\"\">\n <div class=\"zasdk-feedback-type zasdk-selected\" data-type=\"feedback\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-reqest\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M6.69,9.25h10.81c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z\"/><path d=\"M6.69,13.07h8.11c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z\"/><path d=\"M20.72,5.17c0-.68-.55-1.23-1.23-1.23H4.48c-.68,0-1.23.55-1.23,1.23v11.84c0,.68.55,1.23,1.23,1.23h13.49l1.25,1.51c.17.2.41.31.67.31.1,0,.2-.02.3-.05.34-.13.57-.46.56-.83l-.03-14.01ZM19.22,17.39l-.17-.2c-.24-.29-.58-.45-.95-.45H4.75V5.44h14.47v11.95Z\"/></svg></i>\n </div>\n <div>Feedback</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"bug\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-report\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M15.6,6.58c-.13-.37-.3-.7-.5-.97l1.23-1.18c.24-.23.25-.61.02-.85-.23-.24-.61-.25-.85-.02l-1.26,1.21c-.66-.45-1.37-.62-1.79-.68-.25-.04-.51-.04-.76-.02-.83.08-1.45.35-1.93.7l-1.22-1.2c-.24-.23-.62-.23-.85,0-.23.24-.23.62,0,.85l1.21,1.19c-.24.34-.41.68-.51.96-2.02,1.37-3.27,3.82-3.27,6.44,0,4.18,3.08,7.58,6.87,7.58s6.87-3.4,6.87-7.58c0-2.62-1.25-5.06-3.26-6.44ZM11.82,5.27c.15-.02.31-.01.47.01.69.1,1.86.48,2.26,1.9-.17.17-.51.44-1.14.65-1.08.36-2.31.28-3.36-.23-.24-.11-.44-.23-.6-.36,0-.01,0-.03.01-.04.18-.65.73-1.77,2.36-1.93ZM12,19.4c-3.12,0-5.67-2.86-5.67-6.38,0-1.98.82-3.82,2.19-5.02.26.25.59.48,1.01.68.78.38,1.65.57,2.5.57.6,0,1.19-.09,1.76-.28.88-.29,1.39-.7,1.67-1,1.38,1.2,2.21,3.06,2.21,5.05,0,3.52-2.54,6.38-5.67,6.38ZM9.12,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM9.12,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM14.88,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM14.88,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM12,14.49c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM12,16.62c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47Z\"/></svg></i>\n </div>\n <div>Bug</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"help\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-help\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M12.45,16.47c-.33,0-.6-.27-.6-.6v-2.7c0-.43.25-.82.64-.99.95-.42,3.15-1.62,3.15-3.51,0-1.6-1.01-3.03-2.51-3.55-.95-.33-1.97-.28-2.87.16-.91.43-1.59,1.2-1.92,2.14-.11.31-.45.48-.77.37-.31-.11-.48-.45-.37-.77.44-1.25,1.34-2.25,2.54-2.83,1.2-.57,2.54-.65,3.79-.21,1.99.7,3.32,2.58,3.31,4.69,0,2.46-2.34,3.91-3.79,4.57v2.63c0,.33-.27.6-.6.6ZM13.21,19.1c0-.66-.54-1.2-1.2-1.2h-.03c-.66,0-1.19.54-1.19,1.2s.55,1.2,1.21,1.2,1.2-.54,1.2-1.2Z\"/></svg></i>\n </div>\n <div>Help</div>\n </div>\n <div class=\"zasdk-feedback-type\" data-type=\"report\">\n <div class=\"zasdk-iconcnt zasdkfeedback__icon-appreciate\">\n <i class=\"zasdkfeedback__icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M20.47,16.72l-6.66-11.53c-.37-.65-1.07-1.05-1.81-1.05s-1.44.4-1.81,1.05l-6.66,11.53c-.37.65-.37,1.45,0,2.09.37.65,1.07,1.05,1.81,1.05h13.32c.75,0,1.44-.4,1.81-1.05.37-.64.37-1.45,0-2.09ZM19.17,18.06c-.11.18-.3.3-.51.3H5.34c-.21,0-.41-.11-.51-.3-.1-.18-.1-.41,0-.59l6.66-11.53h0c.11-.18.3-.3.51-.3s.41.11.51.3l6.66,11.53c.11.18.11.41,0,.59Z\"/><path d=\"M12.35,13.9s.37-4.72.37-4.72c.05-1.08-1.58-1.06-1.5.02l.48,4.71c.03.38.62.37.64,0Z\"/><path d=\"M11.97,15.06c-.52,0-.94.42-.94.94s.42.94.94.94.94-.42.94-.94-.42-.94-.94-.94Z\"/></svg></i>\n </div>\n <div>Report</div>\n </div>\n </div>\n <div class=\"zasdk-body\">\n <div id=\"zasdkFeedbackForm\" class=\"zasdk-form\">\n <label class=\"zasdkdesclbl\">User<span class=\"zasdkmadfeld\">*</span></label>\n <div id=\"zasdkEmailDropdown\" class=\"zasdk-custom-select\">\n <div id=\"zasdkEmailTrigger\" class=\"zasdk-select-trigger\">\n <span id=\"zasdkEmailLabel\" class=\"zasdk-select-label\">Anonymous</span>\n <svg class=\"zasdk-select-arrow\" viewBox=\"0 0 12 8\" width=\"12\" height=\"8\"><path d=\"M1 1l5 5 5-5\" stroke=\"#999\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>\n </div>\n <div id=\"zasdkEmailPanel\" class=\"zasdk-select-panel\" style=\"display:none\">\n <ul id=\"zasdkEmailList\" class=\"zasdk-select-list\"></ul>\n </div>\n </div>\n <label class=\"zasdkdesclbl\" for=\"zasdkDescription\">Add details here<span class=\"zasdkmadfeld\">*</span> <span class=\"zaleftcharspan\"><span class=\"zaleftcharcnt\">5000</span><span class=\"zaleftchartxt\">characters left</span></span></label>\n <textarea id=\"zasdkDescription\" name=\"description\" placeholder=\"Please provide more details for us to help you better.\" reqname=\"name\" maxlength=\"5000\"></textarea>\n <div id=\"zasdkreccheckcnt\" class=\"zasdkqz-container\">\n <div class=\"zasdkqz-checkbox-wrapper\">\n <input type=\"checkbox\" id=\"zasdkqz-consent\" class=\"zasdkqz-checkbox\">\n <label for=\"zasdkqz-consent\">By agreeing to record screen, I allow the collection of the required information for further analysis.</label>\n </div>\n <div id=\"zasdkqz-content\" class=\"zasdkqz-content\">\n <div class=\"zasdkqz-prop-content\">Data collected while screen recording.\n <div class=\"zasdk_rec_hdr_icon zasdk-tooltip-container zasdk_rec_hdr\">\n <i><svg viewBox=\"0 0 24 24\"><path d=\"M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z\"/></svg></i>\n <div class=\"zasdk-tooltip-top zasdk-prop-info\">\n <ul>\n <li>- A recording of the window or region specified.</li>\n <li>- Audio captured during recording. (You can mute or re-record)</li>\n <li>- IP address.</li>\n <li>- Browser console logs generated while recording.</li>\n <li>- Device details (screen resolution, OS, and browser version).</li>\n <li>- Client-side performance metrics (DNS lookup time, TCP connection time, etc.).</li>\n </ul>\n </div>\n </div>\n </div>\n <div id=\"zasdkqz_rec_button\" class=\"zasdkqz-button\">Start screen recording</div>\n </div>\n </div>\n <div id=\"zasdkrecstatus\" class=\"zasdk-recstatus\" style=\"display:none\">\n <div class=\"zasdk-timer-control\"><div class=\"zasdk-timer-stopcricle\"></div></div>\n <span class=\"zasdk-recstatus-text\">Recording in progress</span>\n <span id=\"zasdkRecStatusTime\" class=\"zasdk-timer-display\">05:00</span>\n <div id=\"zasdkRecStatusStop\" class=\"zasdkqz-button zasdk-recstatus-stop\" role=\"button\" tabindex=\"0\">Stop recording</div>\n </div>\n <div id=\"editRecordedVideo\" class=\"zasdk_recordedClipArea\" style=\"\">\n <div id=\"recordScreenDesc\" class=\"zasdk_rec_hdr\"> Recorded Clip\n <div class=\"zasdk_rec_hdr_icon zasdk-tooltip-container\">\n <i><svg viewBox=\"0 0 24 24\"><path d=\"M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z\"/></svg></i>\n <div class=\"zasdk-tooltip\">This recording will be sent along with your feedback for further analysis.</div>\n </div>\n </div>\n <div class=\"zasdk_playEdit\">\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"preivewPlayButton\" class=\"zasdk_clipAreaButton\" title=\"Preview\">\n <svg viewBox=\"0 0 24 24\"><path d=\"M6.24,20.6c-.2,0-.39-.05-.57-.15-.38-.21-.62-.61-.62-1.05V4.59c0-.44.24-.84.62-1.05.38-.21.85-.19,1.22.04l11.52,7.41c.34.22.55.6.55,1,0,.41-.2.78-.55,1l-11.52,7.41c-.2.13-.42.19-.64.19ZM6.56,4.1l-.33.5v14.81s11.52-7.41,11.52-7.41L6.23,4.6l.33-.5Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Preview</div>\n </div>\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"videoEditButton\" class=\"zasdk_clipAreaButton\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\"><path d=\"M20.6,7.18c0-.58-.23-1.13-.65-1.54l-1.53-1.51c-.83-.83-2.29-.83-3.12,0l-1.31,1.3h0S4.88,14.41,4.88,14.41c-.12.12-.21.27-.26.44l-1.19,4.4c-.09.34,0,.7.26.95.19.18.44.29.7.29.09,0,.17-.01.26-.04l4.44-1.2c.16-.05.31-.13.44-.25l8.54-8.43h0s1.88-1.86,1.88-1.86c.06-.06.12-.12.17-.19h0c.31-.39.48-.86.48-1.36ZM8.72,18.12l-4.03,1.09,1.08-3.98L13.97,7.12l2.88,2.97-8.13,8.03ZM17.71,9.25l-2.88-2.97,1.32-1.3c.38-.38,1.04-.38,1.43,0l1.53,1.51c.19.18.29.43.29.69,0,.22-.08.43-.21.6h0s-.04.05-.08.08l-1.4,1.39Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Edit</div>\n </div>\n <div class=\"zasdk_clipAreaButtonCnt zasdk-tooltip-container\">\n <div id=\"videoDelButton\" class=\"zasdk_clipAreaButton\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\"><path d=\"M19.2,6.6h-3.4v-1c0-1.21-.99-2.2-2.2-2.2h-3.2c-1.21,0-2.2.99-2.2,2.2v1h-3.4c-.33,0-.6.27-.6.6s.27.6.6.6h1v10.6c0,1.21.99,2.2,2.2,2.2h8c1.21,0,2.2-.99,2.2-2.2V7.8h1c.33,0,.6-.27.6-.6s-.27-.6-.6-.6ZM9.4,5.6c0-.55.45-1,1-1h3.2c.55,0,1,.45,1,1v1h-5.2v-1ZM17,18.4c0,.55-.45,1-1,1h-8c-.55,0-1-.45-1-1V7.8h10v10.6ZM11,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6ZM14.2,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6Z\"/></svg>\n </div>\n <div class=\"zasdk-tooltip\">Delete</div>\n </div>\n </div>\n <div class=\"zasdk_videoPrev\">\n <video id=\"previewVideoElemId\" width=\"320\" height=\"240\" src=\"\"></video>\n </div>\n </div>\n\n <div class=\"zasdk-buttons\">\n <div class=\"zasdk-btncnt\">\n <div id=\"zasdkattachinfo\" class=\"zasdkattachinf\">Maximum 5 attachments with a total file size of 10MB is allowed</div>\n <input type=\"file\" id=\"zasdkFileInput\" class=\"zasdk-file-input\" multiple accept=\".png, .jpg, .txt\">\n <label id=\"zasdkAttachBtn\" class=\"zasdk-btn zasdk-attach-btn\" for=\"zasdkFileInput\">\n <svg id=\"Layer_2\" viewBox=\"0 0 24 24\" style=\" width: 25px; \"><path d=\"M12,20.6c-2.63,0-4.78-2.14-4.78-4.78V6.78c0-1.87,1.52-3.38,3.38-3.38s3.38,1.52,3.38,3.38v9.04c0,1.1-.9,1.99-2,1.99s-1.99-.89-1.99-1.99V7.48c0-.33.27-.6.6-.6h0c.33,0,.6.27.6.6v8.35c0,.44.35.79.79.79s.79-.36.79-.79V6.78c0-1.2-.98-2.18-2.18-2.18s-2.18.98-2.18,2.18v9.04c0,1.97,1.6,3.58,3.58,3.58s3.58-1.6,3.58-3.58V6.78c0-.33.27-.6.6-.6s.6.27.6.6v9.04c0,2.63-2.14,4.78-4.78,4.78Z\"/></svg>\n <span>Attachments</span>\n </label>\n <div id=\"zasdkfilesizeinfo\" class=\"zasdkfilesizeinf\"></div>\n <ul id=\"zasakfileList\" class=\"zasakfilelstcnt\"></ul>\n </div>\n </div>\n </div>\n <div class=\"zasdk-toggles-section\">\n <div class=\"zasdk-toggle-row\">\n <div class=\"zasdk-toggle-info\">\n <span class=\"zasdk-toggle-label\">Include System Logs</span>\n <span class=\"zasdk-view-link\" id=\"zasdkViewLogsBtn\">View</span>\n </div>\n <label class=\"zasdk-switch\">\n <input type=\"checkbox\" id=\"zasdkIncludeLogToggle\">\n <span class=\"zasdk-slider\"></span>\n </label>\n </div>\n <div class=\"zasdk-toggle-separator\"></div>\n <div class=\"zasdk-toggle-row\">\n <div class=\"zasdk-toggle-info\">\n <span class=\"zasdk-toggle-label\">Include Diagnostic Information</span>\n <span class=\"zasdk-view-link\" id=\"zasdkViewDiagBtn\">View</span>\n </div>\n <label class=\"zasdk-switch\">\n <input type=\"checkbox\" id=\"zasdkIncludeDiagToggle\">\n <span class=\"zasdk-slider\"></span>\n </label>\n </div>\n </div>\n </div>\n <div class=\"zasdk_submit_btncnt\">\n <div id=\"zasdksubmitstatus\" class=\"zasdkstsmsg\" style=\"display:none;\" ></div>\n <div id=\"zasdk_submit_btnsubcnt\" class=\"zasdk_submit_btnsubcnt\">\n <input type=\"button\" id=\"zasdk_submit_btn\" class=\"zasdk-btn zasdk-send-btn zasdkbtndisableclr\" value=\"Send\">\n </div>\n </div>\n <div id=\"zasdkDataViewer\" class=\"zasdk-data-viewer\" style=\"display:none\">\n <div class=\"zasdk-viewer-hdr\">\n <span id=\"zasdkViewerClose\" class=\"zasdk-viewer-back\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\"><path d=\"M15 19l-7-7 7-7\" stroke=\"#333\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\n <span id=\"zasdkViewerTitle\" class=\"zasdk-viewer-title\"></span>\n </div>\n <pre id=\"zasdkViewerContent\" class=\"zasdk-viewer-content\"></pre>\n </div>\n </div>";
|
|
2
2
|
export declare const timerHtml = "<div id=\"zasdkrectimer\" class=\"zasdk-timer-container zasdk-tooltip-container\">\n <div class=\"zasdk-timer-control\" id=\"zasdkRecordButton\"><div class=\"zasdk-timer-stopcricle\"></div></div>\n <span class=\"zasdk-timer-display\" id=\"zasdkTimerDisplay\">05:00</span>\n <div class=\"zasdk-tooltip-top\">Stop Recording</div>\n </div>";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
// Feedback modal markup (moved from js/apptics.js).
|
|
@@ -33,6 +33,7 @@ const feedbackUIHtml = `<div id="zasdkFeedbackconatiner" class="zasdk-modal-cont
|
|
|
33
33
|
<div>Report</div>
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
|
+
<div class="zasdk-body">
|
|
36
37
|
<div id="zasdkFeedbackForm" class="zasdk-form">
|
|
37
38
|
<label class="zasdkdesclbl">User<span class="zasdkmadfeld">*</span></label>
|
|
38
39
|
<div id="zasdkEmailDropdown" class="zasdk-custom-select">
|
|
@@ -70,6 +71,12 @@ const feedbackUIHtml = `<div id="zasdkFeedbackconatiner" class="zasdk-modal-cont
|
|
|
70
71
|
<div id="zasdkqz_rec_button" class="zasdkqz-button">Start screen recording</div>
|
|
71
72
|
</div>
|
|
72
73
|
</div>
|
|
74
|
+
<div id="zasdkrecstatus" class="zasdk-recstatus" style="display:none">
|
|
75
|
+
<div class="zasdk-timer-control"><div class="zasdk-timer-stopcricle"></div></div>
|
|
76
|
+
<span class="zasdk-recstatus-text">Recording in progress</span>
|
|
77
|
+
<span id="zasdkRecStatusTime" class="zasdk-timer-display">05:00</span>
|
|
78
|
+
<div id="zasdkRecStatusStop" class="zasdkqz-button zasdk-recstatus-stop" role="button" tabindex="0">Stop recording</div>
|
|
79
|
+
</div>
|
|
73
80
|
<div id="editRecordedVideo" class="zasdk_recordedClipArea" style="">
|
|
74
81
|
<div id="recordScreenDesc" class="zasdk_rec_hdr"> Recorded Clip
|
|
75
82
|
<div class="zasdk_rec_hdr_icon zasdk-tooltip-container">
|
|
@@ -138,6 +145,7 @@ const feedbackUIHtml = `<div id="zasdkFeedbackconatiner" class="zasdk-modal-cont
|
|
|
138
145
|
</label>
|
|
139
146
|
</div>
|
|
140
147
|
</div>
|
|
148
|
+
</div>
|
|
141
149
|
<div class="zasdk_submit_btncnt">
|
|
142
150
|
<div id="zasdksubmitstatus" class="zasdkstsmsg" style="display:none;" ></div>
|
|
143
151
|
<div id="zasdk_submit_btnsubcnt" class="zasdk_submit_btnsubcnt">
|
|
@@ -45,7 +45,10 @@ export interface FeedbackUI {
|
|
|
45
45
|
close(): void;
|
|
46
46
|
/** Escape closes the form; listened for from open to close. */
|
|
47
47
|
onEscape(e: KeyboardEvent): void;
|
|
48
|
+
dismiss(): void;
|
|
49
|
+
showRecordingStatus(on: boolean): void;
|
|
48
50
|
toggleWindowAnimation(): void;
|
|
51
|
+
finishHiding(): void;
|
|
49
52
|
fileAttachment(): void;
|
|
50
53
|
elementCreator<K extends keyof HTMLElementTagNameMap>(elType: K): HTMLElementTagNameMap[K];
|
|
51
54
|
fileLimitExceeded(limitReached: boolean, filesLengthReached?: boolean): void;
|
|
@@ -54,6 +57,10 @@ export interface FeedbackUI {
|
|
|
54
57
|
toggleRecording(): void;
|
|
55
58
|
startRecording(): void;
|
|
56
59
|
stopRecording(): void;
|
|
60
|
+
/** The recording has ended, however it ended: the form comes back, with the preview. */
|
|
61
|
+
recordingEnded(): void;
|
|
62
|
+
/** The form back in sight after a recording took it out. */
|
|
63
|
+
showForm(): void;
|
|
57
64
|
submitRecording(): void;
|
|
58
65
|
updateTimer(): void;
|
|
59
66
|
updateDisplay(): void;
|
package/dist/cjs/feedback/ui.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var constants = require('../core/constants.js');
|
|
@@ -24,6 +24,12 @@ const QUARTZ_NOOP = {
|
|
|
24
24
|
submitRecording() { return Promise.resolve({}); }
|
|
25
25
|
};
|
|
26
26
|
const QUARTZ_CONSTANTS_NOOP = { ErrorType: {}, FeedbackState: {} };
|
|
27
|
+
/** From Quartz's RECORDING_IN_PROGRESS until the form has come back from it. */
|
|
28
|
+
var recordingInProgress = false;
|
|
29
|
+
/** Send was pressed during a recording: it is sent, recording and all, once the recording has ended. */
|
|
30
|
+
var sendWhenEnded = false;
|
|
31
|
+
/** How long the form takes to shrink away when a recording starts: the stylesheet's transition. */
|
|
32
|
+
const HIDE_MS = 300;
|
|
27
33
|
function hasQuartz() {
|
|
28
34
|
return typeof Quartz !== 'undefined' && !!Quartz; // no i18n
|
|
29
35
|
}
|
|
@@ -42,11 +48,12 @@ function submitFeedback(dataobj) {
|
|
|
42
48
|
if (!result) {
|
|
43
49
|
return null;
|
|
44
50
|
}
|
|
45
|
-
feedback.handleStatusmsg(result.ok, result.message);
|
|
46
51
|
if (result.ok) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
// sent: the form goes at once rather than holding the page for the success line
|
|
53
|
+
feedback.close();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
feedback.handleStatusmsg(result.ok, result.message);
|
|
50
57
|
}
|
|
51
58
|
return result;
|
|
52
59
|
});
|
|
@@ -206,6 +213,12 @@ const feedback = {
|
|
|
206
213
|
feedback._opts = opts || {};
|
|
207
214
|
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
208
215
|
if (!utils.isEmpty(modal)) {
|
|
216
|
+
// already open. A recording takes the form out of sight, and one that ended without the
|
|
217
|
+
// form hearing of it would leave it there, every later open a no-op. Asked to open, it
|
|
218
|
+
// comes back; a recording still going carries on, and its end is handled as ever
|
|
219
|
+
if (feedback.isHidden || feedback.isScaled) {
|
|
220
|
+
feedback.showForm();
|
|
221
|
+
}
|
|
209
222
|
return;
|
|
210
223
|
}
|
|
211
224
|
const tempContainer = document.createElement('div'); // no i18n
|
|
@@ -259,10 +272,21 @@ const feedback = {
|
|
|
259
272
|
});
|
|
260
273
|
}
|
|
261
274
|
feedbackbox.addEventListener('transitionend', function (event) {
|
|
262
|
-
if (event.propertyName === 'transform'
|
|
263
|
-
feedback.
|
|
275
|
+
if (event.propertyName === 'transform') { // no i18n
|
|
276
|
+
feedback.finishHiding();
|
|
264
277
|
}
|
|
265
278
|
});
|
|
279
|
+
// the form, opened again while a recording goes on, says so and can stop it
|
|
280
|
+
const recStop = modal.querySelector('#zasdkRecStatusStop'); // no i18n
|
|
281
|
+
recStop.onclick = function () {
|
|
282
|
+
feedback.stopRecording();
|
|
283
|
+
};
|
|
284
|
+
recStop.onkeydown = function (e) {
|
|
285
|
+
if (e.key === 'Enter' || e.key === ' ') { // no i18n
|
|
286
|
+
e.preventDefault();
|
|
287
|
+
feedback.stopRecording();
|
|
288
|
+
}
|
|
289
|
+
};
|
|
266
290
|
quartzrecbtn.onclick = function (e) {
|
|
267
291
|
e.stopImmediatePropagation();
|
|
268
292
|
let recordingDetails = {
|
|
@@ -284,13 +308,13 @@ const feedback = {
|
|
|
284
308
|
quartz().startRecording(recordingDetails);
|
|
285
309
|
};
|
|
286
310
|
closeBtn.onclick = function () {
|
|
287
|
-
feedback.
|
|
311
|
+
feedback.dismiss();
|
|
288
312
|
};
|
|
289
313
|
// keyboard: Enter or Space on the close control, and Escape anywhere, close the form
|
|
290
314
|
closeBtn.onkeydown = function (e) {
|
|
291
315
|
if (e.key === 'Enter' || e.key === ' ') { // no i18n
|
|
292
316
|
e.preventDefault();
|
|
293
|
-
feedback.
|
|
317
|
+
feedback.dismiss();
|
|
294
318
|
}
|
|
295
319
|
};
|
|
296
320
|
document.addEventListener('keydown', feedback.onEscape); // no i18n
|
|
@@ -316,6 +340,12 @@ const feedback = {
|
|
|
316
340
|
submitbtncnt.classList.add('zasdkbtndisabled'); // no i18n
|
|
317
341
|
submitbtn.value = '';
|
|
318
342
|
try {
|
|
343
|
+
if (recordingInProgress) {
|
|
344
|
+
// sent with the recording: stopped first, and sent once Quartz has stored it
|
|
345
|
+
sendWhenEnded = true;
|
|
346
|
+
feedback.stopRecording();
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
319
349
|
let videoElement = modal.querySelector('#previewVideoElemId'), // no i18n
|
|
320
350
|
videoVisible = videoElement && videoElement.offsetParent !== null;
|
|
321
351
|
if (videoVisible) {
|
|
@@ -456,7 +486,14 @@ const feedback = {
|
|
|
456
486
|
},
|
|
457
487
|
bindQuartzEvent: function (event) {
|
|
458
488
|
let feedbackState = event.detail.feedbackState;
|
|
489
|
+
if (feedbackState == quartzConstants().FeedbackState.RECORDING_COMPLETED) {
|
|
490
|
+
// Quartz's own stop control and the browser's "Stop sharing" end the recording without
|
|
491
|
+
// the SDK's timer; this is the only word of it the form gets
|
|
492
|
+
feedback.recordingEnded();
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
459
495
|
if (feedbackState == quartzConstants().FeedbackState.RECORDING_IN_PROGRESS) {
|
|
496
|
+
recordingInProgress = true;
|
|
460
497
|
var feedbacktimer = document.getElementById("zasdkrectimer"); // no i18n
|
|
461
498
|
if (!utils.isEmpty(feedbacktimer)) {
|
|
462
499
|
feedbacktimer.remove();
|
|
@@ -467,6 +504,8 @@ const feedback = {
|
|
|
467
504
|
node.setAttribute('data-zasdk-theme', state._ZAP._config.feedback_theme); // no i18n
|
|
468
505
|
document.body.appendChild(node);
|
|
469
506
|
var feedbacktimer = document.getElementById("zasdkrectimer"); // no i18n
|
|
507
|
+
// draggable anywhere on the page; wired before the click that stops the recording
|
|
508
|
+
controls.wireTimerDrag(feedbacktimer);
|
|
470
509
|
feedback.timerDisplay = feedbacktimer.querySelector('#zasdkTimerDisplay'); // no i18n
|
|
471
510
|
feedback.recordButton = feedbacktimer;
|
|
472
511
|
feedback.TOTAL_TIME = 5 * 60; // 5 minutes in seconds
|
|
@@ -474,12 +513,35 @@ const feedback = {
|
|
|
474
513
|
feedback.isRecording = true;
|
|
475
514
|
feedback.recordButton.addEventListener('click', feedback.toggleRecording); // no i18n
|
|
476
515
|
feedback.startRecording();
|
|
516
|
+
feedback.updateDisplay();
|
|
517
|
+
feedback.showRecordingStatus(true);
|
|
477
518
|
feedback.toggleWindowAnimation();
|
|
478
519
|
}
|
|
479
520
|
},
|
|
480
521
|
onEscape: function (e) {
|
|
481
522
|
if (e.key === 'Escape') { // no i18n
|
|
482
|
-
feedback.
|
|
523
|
+
feedback.dismiss();
|
|
524
|
+
}
|
|
525
|
+
},
|
|
526
|
+
dismiss: function () {
|
|
527
|
+
// the form's own close (its X, Escape) during a recording puts it out of sight rather than
|
|
528
|
+
// throwing away what was typed: the recording goes on, and the next open brings it all back
|
|
529
|
+
if (recordingInProgress) {
|
|
530
|
+
if (!feedback.isScaled && !feedback.isHidden) {
|
|
531
|
+
feedback.toggleWindowAnimation();
|
|
532
|
+
}
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
feedback.close();
|
|
536
|
+
},
|
|
537
|
+
showRecordingStatus: function (on) {
|
|
538
|
+
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
539
|
+
if (!modal) {
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
modal.querySelector("#zasdkrecstatus").style.display = on ? "flex" : "none"; // no i18n
|
|
543
|
+
if (on) {
|
|
544
|
+
modal.querySelector("#zasdkreccheckcnt").style.display = "none"; // no i18n
|
|
483
545
|
}
|
|
484
546
|
},
|
|
485
547
|
close: function () {
|
|
@@ -487,6 +549,16 @@ const feedback = {
|
|
|
487
549
|
document.removeEventListener('keydown', feedback.onEscape); // no i18n
|
|
488
550
|
document.removeEventListener('quartz-feedback-state', feedback.bindQuartzEvent); // no i18n
|
|
489
551
|
quartz().clearFeedback();
|
|
552
|
+
// the recording goes with the form: no timer left on the page, and the next form starts clean
|
|
553
|
+
recordingInProgress = false;
|
|
554
|
+
sendWhenEnded = false;
|
|
555
|
+
feedback.isRecording = false;
|
|
556
|
+
clearInterval(feedback.timerInterval || undefined);
|
|
557
|
+
feedback.timerInterval = null;
|
|
558
|
+
var timer = document.getElementById("zasdkrectimer"); // no i18n
|
|
559
|
+
if (timer) {
|
|
560
|
+
timer.remove();
|
|
561
|
+
}
|
|
490
562
|
if (!utils.isEmpty(modal)) {
|
|
491
563
|
modal.remove();
|
|
492
564
|
}
|
|
@@ -495,23 +567,29 @@ const feedback = {
|
|
|
495
567
|
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
496
568
|
const box = modal.querySelector('#zasdkFeedbackconatiner'); // no i18n
|
|
497
569
|
if (feedback.isHidden) {
|
|
498
|
-
|
|
499
|
-
setTimeout(() => {
|
|
500
|
-
box.style.transform = 'scale(1)'; // no i18n
|
|
501
|
-
feedback.validateFeedbackField();
|
|
502
|
-
}, 10);
|
|
503
|
-
feedback.isHidden = false;
|
|
504
|
-
feedback.isScaled = false;
|
|
570
|
+
feedback.showForm();
|
|
505
571
|
}
|
|
506
572
|
else if (feedback.isScaled) {
|
|
507
|
-
|
|
508
|
-
feedback.isHidden = true;
|
|
573
|
+
feedback.finishHiding();
|
|
509
574
|
}
|
|
510
575
|
else {
|
|
576
|
+
// shrinks away (the stylesheet's transition), and is taken off the page once it has;
|
|
577
|
+
// the timeout covers a page where the transition does not run (reduced motion)
|
|
511
578
|
box.style.transform = 'scale(0)'; // no i18n
|
|
579
|
+
box.style.opacity = '0'; // no i18n
|
|
512
580
|
feedback.isScaled = true;
|
|
581
|
+
setTimeout(feedback.finishHiding, HIDE_MS + 50);
|
|
513
582
|
}
|
|
514
583
|
},
|
|
584
|
+
finishHiding: function () {
|
|
585
|
+
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
586
|
+
// once only, and not when the form was brought back meanwhile
|
|
587
|
+
if (!modal || !feedback.isScaled || feedback.isHidden) {
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
modal.style.display = 'none'; // no i18n
|
|
591
|
+
feedback.isHidden = true;
|
|
592
|
+
},
|
|
515
593
|
fileAttachment: function () {
|
|
516
594
|
var uploadedFiles = feedback.fileInput.files;
|
|
517
595
|
feedback.uploadTotalSize = 0;
|
|
@@ -625,16 +703,65 @@ const feedback = {
|
|
|
625
703
|
}
|
|
626
704
|
},
|
|
627
705
|
stopRecording: function () {
|
|
628
|
-
|
|
706
|
+
if (!recordingInProgress) {
|
|
707
|
+
// Quartz has ended it already (its RECORDING_COMPLETED came first): asking again
|
|
708
|
+
// only gets a "no recording in progress" error shown in the form
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
629
711
|
clearInterval(feedback.timerInterval || undefined);
|
|
630
712
|
feedback.timerInterval = null;
|
|
631
|
-
|
|
632
|
-
|
|
713
|
+
// the preview is read from what Quartz stored, so only once the recording has ended
|
|
714
|
+
Promise.resolve(quartz().endRecording()).catch(function (err) {
|
|
715
|
+
logger.Console.log('stopRecording: ' + err); // no i18n
|
|
716
|
+
}).then(feedback.recordingEnded);
|
|
717
|
+
},
|
|
718
|
+
recordingEnded: function () {
|
|
719
|
+
if (!recordingInProgress) {
|
|
720
|
+
return;
|
|
721
|
+
}
|
|
722
|
+
recordingInProgress = false;
|
|
723
|
+
feedback.isRecording = false;
|
|
724
|
+
clearInterval(feedback.timerInterval || undefined);
|
|
725
|
+
feedback.timerInterval = null;
|
|
726
|
+
var timer = document.getElementById("zasdkrectimer"); // no i18n
|
|
727
|
+
if (timer) {
|
|
728
|
+
timer.remove();
|
|
729
|
+
}
|
|
730
|
+
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
731
|
+
if (!modal) {
|
|
732
|
+
return; // the form was closed meanwhile
|
|
733
|
+
}
|
|
734
|
+
var send = sendWhenEnded;
|
|
735
|
+
sendWhenEnded = false;
|
|
736
|
+
feedback.showRecordingStatus(false);
|
|
737
|
+
feedback.showForm();
|
|
633
738
|
modal.querySelector("#editRecordedVideo").style.display = "block"; // no i18n
|
|
634
739
|
modal.querySelector("#zasdkreccheckcnt").style.display = "none"; // no i18n
|
|
635
740
|
let videoElem = modal.querySelector('#previewVideoElemId'); // no i18n
|
|
636
|
-
quartz().
|
|
637
|
-
|
|
741
|
+
Promise.resolve(quartz().setVideoContent(videoElem)).catch(function (err) {
|
|
742
|
+
logger.Console.warn('AppticsFeedback: the recording could not be shown: ' + err); // no i18n
|
|
743
|
+
}).then(function () {
|
|
744
|
+
if (send && document.getElementById("zasdkFeedbackModal")) { // no i18n
|
|
745
|
+
feedback.submitRecording();
|
|
746
|
+
}
|
|
747
|
+
});
|
|
748
|
+
},
|
|
749
|
+
showForm: function () {
|
|
750
|
+
// shown outright, not toggled: a recording that ends mid-way through the scale-down would
|
|
751
|
+
// otherwise be toggled out of sight instead of back into it
|
|
752
|
+
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
753
|
+
if (!modal) {
|
|
754
|
+
return;
|
|
755
|
+
}
|
|
756
|
+
const box = modal.querySelector('#zasdkFeedbackconatiner'); // no i18n
|
|
757
|
+
feedback.isHidden = false;
|
|
758
|
+
feedback.isScaled = false;
|
|
759
|
+
modal.style.display = 'block'; // no i18n
|
|
760
|
+
setTimeout(() => {
|
|
761
|
+
box.style.transform = 'scale(1)'; // no i18n
|
|
762
|
+
box.style.opacity = '1'; // no i18n
|
|
763
|
+
feedback.validateFeedbackField();
|
|
764
|
+
}, 10);
|
|
638
765
|
},
|
|
639
766
|
submitRecording: function () {
|
|
640
767
|
var modal = document.getElementById("zasdkFeedbackModal"); // no i18n
|
|
@@ -675,7 +802,15 @@ const feedback = {
|
|
|
675
802
|
updateDisplay: function () {
|
|
676
803
|
const minutes = Math.floor(feedback.remainingTime / 60);
|
|
677
804
|
const seconds = feedback.remainingTime % 60;
|
|
678
|
-
|
|
805
|
+
const shown = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; // no i18n
|
|
806
|
+
if (feedback.timerDisplay) {
|
|
807
|
+
feedback.timerDisplay.textContent = shown;
|
|
808
|
+
}
|
|
809
|
+
// and in the form, for when it is opened again mid-recording
|
|
810
|
+
var inForm = document.getElementById("zasdkRecStatusTime"); // no i18n
|
|
811
|
+
if (inForm) {
|
|
812
|
+
inForm.textContent = shown;
|
|
813
|
+
}
|
|
679
814
|
},
|
|
680
815
|
validateFeedbackField: function () {
|
|
681
816
|
feedback.updateLeftCount();
|
|
@@ -8,6 +8,8 @@ import type { Dict, ServerResult } from '../types.js';
|
|
|
8
8
|
*
|
|
9
9
|
* Gated on the server's own heatmap flag (getsdkconfig module 18), not on engagement: an app may
|
|
10
10
|
* want events while declining to have every click's coordinates recorded.
|
|
11
|
+
*
|
|
12
|
+
* The scheduler reaches it through hooks.sendHeatmaps, which src/index.ts sets.
|
|
11
13
|
*/
|
|
12
14
|
export declare function sendHeatmapData(forget?: boolean): Promise<void>;
|
|
13
15
|
export declare function requestToSendHeatmaps(_payload: Dict, forget?: boolean): Promise<ServerResult>;
|
package/dist/cjs/heatmap/send.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var state = require('../core/state.js');
|
|
@@ -9,7 +9,6 @@ var env = require('../core/env.js');
|
|
|
9
9
|
var consent = require('../core/consent.js');
|
|
10
10
|
var batch = require('../core/batch.js');
|
|
11
11
|
var transport = require('../core/transport.js');
|
|
12
|
-
var hooks = require('../core/hooks.js');
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Sends queued heatmap records to heatmap/add.
|
|
@@ -20,6 +19,8 @@ var hooks = require('../core/hooks.js');
|
|
|
20
19
|
*
|
|
21
20
|
* Gated on the server's own heatmap flag (getsdkconfig module 18), not on engagement: an app may
|
|
22
21
|
* want events while declining to have every click's coordinates recorded.
|
|
22
|
+
*
|
|
23
|
+
* The scheduler reaches it through hooks.sendHeatmaps, which src/index.ts sets.
|
|
23
24
|
*/
|
|
24
25
|
function sendHeatmapData(forget) {
|
|
25
26
|
if (env.is_apptics_disabled() || !consent.shouldTrackOrSendData() || !state._ZAP._heatmapTracking) {
|
|
@@ -74,9 +75,6 @@ function requestToSendHeatmaps(_payload, forget) {
|
|
|
74
75
|
var label = 'requestToSendHeatmaps'; // no i18n
|
|
75
76
|
return batch.sendBatch('heatmap', label, _payload, forget); // no i18n
|
|
76
77
|
}
|
|
77
|
-
// the scheduler flushes through this, so importing the heatmap entry is what puts heatmap
|
|
78
|
-
// records on the flush timer at all
|
|
79
|
-
hooks.hooks.sendHeatmaps = sendHeatmapData;
|
|
80
78
|
|
|
81
79
|
exports.requestToSendHeatmaps = requestToSendHeatmaps;
|
|
82
80
|
exports.sendHeatmapData = sendHeatmapData;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var constants = require('../core/constants.js');
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import './heatmap/send.js';
|
|
2
1
|
import type { AppticsSdk } from './types.js';
|
|
3
2
|
export type { AppticsSdk, AppticsConfig, ErrorLike, FeedbackType, Properties, TrackingStatus, UserInfo, UserValidationResult, } from './types.js';
|
|
4
3
|
/** Android's Apptics: starting the SDK, and what applies to all of it. */
|
|
@@ -14,7 +13,7 @@ export type { ApiTrackingConfig } from './engagement/api-rules.js';
|
|
|
14
13
|
export declare const AppticsError: AppticsSdk['AppticsError'];
|
|
15
14
|
/** Android's AppticsUser: the signed-in user, and the builder for their properties. */
|
|
16
15
|
export declare const AppticsUser: AppticsSdk['AppticsUser'];
|
|
17
|
-
/** Heatmap capture: AppticsHeatmap.
|
|
16
|
+
/** Heatmap capture: AppticsHeatmap.setHeatmapTracking() starts or stops recording clicks and scrolls. */
|
|
18
17
|
export declare const AppticsHeatmap: AppticsSdk['AppticsHeatmap'];
|
|
19
18
|
/** Android's AppticsSettings: what the SDK may track for this visitor. */
|
|
20
19
|
export declare const AppticsSettings: AppticsSdk['AppticsSettings'];
|