@siteping/widget 0.11.1 → 0.12.0
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/README.md +5 -5
- package/dist/chunk-ISSCC4XP.js +9 -0
- package/dist/chunk-ISSCC4XP.js.map +1 -0
- package/dist/chunk-QDJDQQ6E.cjs +9 -0
- package/dist/chunk-QDJDQQ6E.cjs.map +1 -0
- package/dist/de-GCYQ3JCH.cjs +2 -0
- package/dist/de-GCYQ3JCH.cjs.map +1 -0
- package/dist/de-U3V6TPCZ.js +2 -0
- package/dist/de-U3V6TPCZ.js.map +1 -0
- package/dist/deep-link.d.cts +10 -0
- package/dist/deep-link.d.ts +10 -0
- package/dist/errors.d.cts +46 -16
- package/dist/errors.d.ts +46 -16
- package/dist/es-435K3LIV.cjs +2 -0
- package/dist/es-435K3LIV.cjs.map +1 -0
- package/dist/es-CSZUS23Z.js +2 -0
- package/dist/es-CSZUS23Z.js.map +1 -0
- package/dist/fr-DVOFE3WF.js +2 -0
- package/dist/fr-DVOFE3WF.js.map +1 -0
- package/dist/fr-RKRDGOTP.cjs +2 -0
- package/dist/fr-RKRDGOTP.cjs.map +1 -0
- package/dist/i18n.d.cts +14 -10
- package/dist/i18n.d.ts +14 -10
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -19
- package/dist/index.d.ts +26 -19
- package/dist/index.global.js +2 -2
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/it-COLRVG26.cjs +2 -0
- package/dist/it-COLRVG26.cjs.map +1 -0
- package/dist/it-ZWPEN22A.js +2 -0
- package/dist/it-ZWPEN22A.js.map +1 -0
- package/dist/ja-HLZ2GVFS.js +2 -0
- package/dist/ja-HLZ2GVFS.js.map +1 -0
- package/dist/ja-SNVDY7QP.cjs +2 -0
- package/dist/ja-SNVDY7QP.cjs.map +1 -0
- package/dist/ko-ORUCHGUZ.cjs +2 -0
- package/dist/ko-ORUCHGUZ.cjs.map +1 -0
- package/dist/ko-ZNF7AMXI.js +2 -0
- package/dist/ko-ZNF7AMXI.js.map +1 -0
- package/dist/logger.d.cts +30 -0
- package/dist/logger.d.ts +30 -0
- package/dist/panel-4CIN3Y66.js +2 -0
- package/dist/panel-4CIN3Y66.js.map +1 -0
- package/dist/panel-TD4UUEZA.cjs +2 -0
- package/dist/panel-TD4UUEZA.cjs.map +1 -0
- package/dist/pt-QQX5CA7D.cjs +2 -0
- package/dist/pt-QQX5CA7D.cjs.map +1 -0
- package/dist/pt-WGEJRQFC.js +2 -0
- package/dist/pt-WGEJRQFC.js.map +1 -0
- package/dist/react.cjs +2 -3
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +9 -0
- package/dist/react.d.ts +9 -0
- package/dist/react.js +2 -3
- package/dist/react.js.map +1 -1
- package/dist/ru-SERDK6PQ.js +2 -0
- package/dist/ru-SERDK6PQ.js.map +1 -0
- package/dist/ru-YRXPV57R.cjs +2 -0
- package/dist/ru-YRXPV57R.cjs.map +1 -0
- package/dist/schema.d.cts +31 -0
- package/dist/schema.d.ts +31 -0
- package/dist/screenshot-storage.d.cts +14 -17
- package/dist/screenshot-storage.d.ts +14 -17
- package/dist/siteping-core.d.cts +8 -5
- package/dist/siteping-core.d.ts +8 -5
- package/dist/store-helpers.d.cts +13 -9
- package/dist/store-helpers.d.ts +13 -9
- package/dist/text.d.cts +28 -0
- package/dist/text.d.ts +28 -0
- package/dist/types.d.cts +114 -37
- package/dist/types.d.ts +114 -37
- package/dist/wire.d.cts +6 -1
- package/dist/wire.d.ts +6 -1
- package/package.json +7 -5
- package/dist/chunk-26577FDQ.js +0 -9
- package/dist/chunk-26577FDQ.js.map +0 -1
- package/dist/chunk-3EHIWTJH.js +0 -9
- package/dist/chunk-3EHIWTJH.js.map +0 -1
- package/dist/chunk-6MCFOKVG.cjs +0 -9
- package/dist/chunk-6MCFOKVG.cjs.map +0 -1
- package/dist/chunk-Q34GDCKE.cjs +0 -9
- package/dist/chunk-Q34GDCKE.cjs.map +0 -1
- package/dist/de-73CTH2E4.cjs +0 -2
- package/dist/de-73CTH2E4.cjs.map +0 -1
- package/dist/de-GUUJUHYP.js +0 -2
- package/dist/de-GUUJUHYP.js.map +0 -1
- package/dist/es-3MXMSDUC.js +0 -2
- package/dist/es-3MXMSDUC.js.map +0 -1
- package/dist/es-WJZ3XARH.cjs +0 -2
- package/dist/es-WJZ3XARH.cjs.map +0 -1
- package/dist/fr-52F3ZCLQ.js +0 -2
- package/dist/fr-52F3ZCLQ.js.map +0 -1
- package/dist/fr-ZCRIJWI3.cjs +0 -2
- package/dist/fr-ZCRIJWI3.cjs.map +0 -1
- package/dist/it-MEUT3RCC.js +0 -2
- package/dist/it-MEUT3RCC.js.map +0 -1
- package/dist/it-TGUTW6MO.cjs +0 -2
- package/dist/it-TGUTW6MO.cjs.map +0 -1
- package/dist/ja-DOS7AWLW.cjs +0 -2
- package/dist/ja-DOS7AWLW.cjs.map +0 -1
- package/dist/ja-U7NRNGPQ.js +0 -2
- package/dist/ja-U7NRNGPQ.js.map +0 -1
- package/dist/ko-U2CS6XQ4.js +0 -2
- package/dist/ko-U2CS6XQ4.js.map +0 -1
- package/dist/ko-ZUL567LW.cjs +0 -2
- package/dist/ko-ZUL567LW.cjs.map +0 -1
- package/dist/panel-3BEMZFIR.cjs +0 -2
- package/dist/panel-3BEMZFIR.cjs.map +0 -1
- package/dist/panel-HPDIAYLQ.js +0 -2
- package/dist/panel-HPDIAYLQ.js.map +0 -1
- package/dist/panel-MIWFGD7X.cjs +0 -2
- package/dist/panel-MIWFGD7X.cjs.map +0 -1
- package/dist/panel-XTNU6XHV.js +0 -2
- package/dist/panel-XTNU6XHV.js.map +0 -1
- package/dist/pt-BZRBHCYN.cjs +0 -2
- package/dist/pt-BZRBHCYN.cjs.map +0 -1
- package/dist/pt-MOS5DVOG.js +0 -2
- package/dist/pt-MOS5DVOG.js.map +0 -1
- package/dist/ru-KDNRHHNZ.cjs +0 -2
- package/dist/ru-KDNRHHNZ.cjs.map +0 -1
- package/dist/ru-VSWB5NKK.js +0 -2
- package/dist/ru-VSWB5NKK.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={"panel.title":"\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C","panel.ariaLabel":"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438 Siteping","panel.feedbackList":"\u0421\u043F\u0438\u0441\u043E\u043A \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.loading":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","panel.deleteAll":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmTitle":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmMessage":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u0437\u044B\u0432\u044B \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E.","panel.search":"\u041F\u043E\u0438\u0441\u043A...","panel.searchAria":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","panel.filterAll":"\u0412\u0441\u0435","panel.loadError":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","panel.retry":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","panel.empty":"\u041F\u043E\u043A\u0430 \u043D\u0435\u0442 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.showMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435","panel.notOnPage":"\u041D\u0435 \u0432\u0438\u0434\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","panel.showLess":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044C\u0448\u0435","panel.resolve":"\u0420\u0435\u0448\u0435\u043D\u043E","panel.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","panel.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","panel.confirmDelete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.loadMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 ({remaining} \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C)","panel.statusAll":"\u0412\u0441\u0435","panel.statusOpen":"\u041E\u0442\u043A\u0440\u044B\u0442","panel.statusResolved":"\u0420\u0435\u0448\u0451\u043D","panel.statusInProgress":"\u0412 \u0440\u0430\u0431\u043E\u0442\u0435","panel.statusWontFix":"\u041D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E","panel.statusClosed":"\u0417\u0430\u043A\u0440\u044B\u0442","type.label":"\u0422\u0438\u043F","type.question":"\u0412\u043E\u043F\u0440\u043E\u0441","type.change":"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435","type.bug":"\u0411\u0430\u0433","type.other":"\u0414\u0440\u0443\u0433\u043E\u0435","status.label":"\u0421\u0442\u0430\u0442\u0443\u0441","scope.label":"\u041E\u0431\u043B\u0430\u0441\u0442\u044C","scope.thisPage":"\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430","scope.thisType":"\u042D\u0442\u043E\u0442 \u0442\u0438\u043F","scope.all":"\u0412\u0441\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B","panel.filterMine":"\u041C\u043E\u0438","panel.filterMineHint":"\u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0442\u0437\u044B\u0432\u044B, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0438\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","fab.aria":"Siteping \u2014 \u041C\u0435\u043D\u044E \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","fab.messages":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","fab.annotate":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044E","fab.annotations":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u0442\u043A\u0438","annotator.instruction":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0434\u043B\u044F \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u044F \u2014 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Enter, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442","annotator.instantInstruction":"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435","annotator.touchInstruction":"\u041A\u043E\u0441\u043D\u0438\u0442\u0435\u0441\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u043B\u044C\u0446\u0435\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u043E\u0431\u043B\u0430\u0441\u0442\u044C","annotator.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.ariaLabel":"\u0424\u043E\u0440\u043C\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","popup.placeholder":"\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u0438\u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435...","popup.textareaAria":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","popup.submitHintMac":"\u2318+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.submitHintOther":"Ctrl+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.submit":"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","identity.title":"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044C\u0442\u0435\u0441\u044C","identity.nameLabel":"\u0418\u043C\u044F","identity.namePlaceholder":"\u0412\u0430\u0448\u0435 \u0438\u043C\u044F","identity.emailLabel":"Email","identity.emailPlaceholder":"\u0432\u0430\u0448@email.com","identity.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","identity.submit":"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C","marker.approximate":"\u041F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F (\u0442\u043E\u0447\u043D\u043E\u0441\u0442\u044C: {confidence}%)","marker.aria":"\u041E\u0442\u0437\u044B\u0432 #{number}: {type}, {status} \u2014 {message}","marker.count":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043E \u043C\u0430\u0440\u043A\u0435\u0440\u043E\u0432 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","fab.badge":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","feedback.sent.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D","feedback.error.message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432","feedback.queued":"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435. \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u0438.","feedback.deleted.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0434\u0430\u043B\u0451\u043D","badge.count":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","bulk.aria":"\u041C\u0430\u0441\u0441\u043E\u0432\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F","bulk.selectAll":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","bulk.selectFeedback":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C: {label}","bulk.selected":"\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {count}","bulk.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","bulk.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","bulk.deselect":"\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440","sort.newest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043D\u043E\u0432\u044B\u0435","sort.oldest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u0442\u0430\u0440\u044B\u0435","sort.byType":"\u041F\u043E \u0442\u0438\u043F\u0443","sort.openFirst":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","sort.label":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430","group.byPage":"\u041F\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","group.feedbacks":"\u041E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","stats.aria":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","stats.open":"\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","stats.closed":"\u0417\u0430\u043A\u0440\u044B\u0442\u044B\u0435","stats.bugs":"\u0411\u0430\u0433\u0438","stats.progress":"\u0417\u0430\u043A\u0440\u044B\u0442\u043E: {percent}%","detail.back":"\u041D\u0430\u0437\u0430\u0434","detail.aria":"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043E\u0442\u0437\u044B\u0432\u0430","detail.title":"\u041E\u0442\u0437\u044B\u0432 #{number}","detail.status":"\u0421\u0442\u0430\u0442\u0443\u0441","detail.message":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","detail.screenshot":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442","detail.screenshotAlt":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","detail.metadata":"\u0414\u0435\u0442\u0430\u043B\u0438","detail.annotation":"\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F","detail.page":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430","detail.author":"\u0410\u0432\u0442\u043E\u0440","detail.date":"\u0421\u043E\u0437\u0434\u0430\u043D","detail.viewport":"Viewport","detail.browser":"\u0411\u0440\u0430\u0443\u0437\u0435\u0440","detail.resolvedAt":"\u0420\u0435\u0448\u0451\u043D","detail.closedAt":"\u0417\u0430\u043A\u0440\u044B\u0442","detail.goToAnnotation":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u0438","detail.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","detail.selector":"\u0421\u0435\u043B\u0435\u043A\u0442\u043E\u0440","detail.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","detail.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","detail.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","detail.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","detail.diagnostics":"\u0414\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0430","detail.diagnostics.console":"\u041A\u043E\u043D\u0441\u043E\u043B\u044C","detail.diagnostics.network":"\u0421\u0435\u0442\u0435\u0432\u044B\u0435 \u043E\u0448\u0438\u0431\u043A\u0438","detail.diagnostics.expand":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.collapse":"\u0421\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.noEntries":"\u041D\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0435\u0439","comments.title":"\u041E\u0442\u0432\u0435\u0442\u044B","comments.placeholder":"\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0435...","comments.error":"\u041D\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.","comments.full":"\u041E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u043E.","comments.team":"\u041A\u043E\u043C\u0430\u043D\u0434\u0430","shortcuts.title":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.navigate":"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","shortcuts.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C / \u041F\u0435\u0440\u0435\u043E\u0442\u043A\u0440\u044B\u0442\u044C","shortcuts.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","shortcuts.search":"\u041F\u043E\u0438\u0441\u043A","shortcuts.select":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440","shortcuts.help":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","shortcuts.hint":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","export.label":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442","export.csv":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV","export.json":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 JSON"};export{e as ru};//# sourceMappingURL=ru-SERDK6PQ.js.map
|
|
2
|
+
//# sourceMappingURL=ru-SERDK6PQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/ru.ts"],"names":["ru"],"mappings":"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","file":"ru-SERDK6PQ.js","sourcesContent":["import type { Translations } from \"./types.js\";\n\nexport const ru: Translations = {\n // Panel\n \"panel.title\": \"Обратная связь\",\n \"panel.ariaLabel\": \"Панель обратной связи Siteping\",\n \"panel.feedbackList\": \"Список отзывов\",\n \"panel.loading\": \"Загрузка отзывов\",\n \"panel.close\": \"Закрыть панель\",\n \"panel.deleteAll\": \"Удалить всё\",\n \"panel.deleteAllConfirmTitle\": \"Удалить всё\",\n \"panel.deleteAllConfirmMessage\": \"Удалить все отзывы этого проекта? Это действие необратимо.\",\n \"panel.search\": \"Поиск...\",\n \"panel.searchAria\": \"Поиск по отзывам\",\n \"panel.filterAll\": \"Все\",\n \"panel.loadError\": \"Ошибка загрузки\",\n \"panel.retry\": \"Повторить\",\n \"panel.empty\": \"Пока нет отзывов\",\n \"panel.showMore\": \"Показать больше\",\n \"panel.notOnPage\": \"Не видно на этой странице\",\n \"panel.showLess\": \"Показать меньше\",\n \"panel.resolve\": \"Решено\",\n \"panel.reopen\": \"Открыть заново\",\n \"panel.delete\": \"Удалить\",\n \"panel.cancel\": \"Отмена\",\n \"panel.confirmDelete\": \"Удалить\",\n \"panel.loadMore\": \"Показать ещё ({remaining} осталось)\",\n\n // Status filter labels\n \"panel.statusAll\": \"Все\",\n \"panel.statusOpen\": \"Открыт\",\n \"panel.statusResolved\": \"Решён\",\n \"panel.statusInProgress\": \"В работе\",\n \"panel.statusWontFix\": \"Не будет исправлено\",\n \"panel.statusClosed\": \"Закрыт\",\n\n // Feedback type labels\n \"type.label\": \"Тип\",\n \"type.question\": \"Вопрос\",\n \"type.change\": \"Улучшение\",\n \"type.bug\": \"Баг\",\n \"type.other\": \"Другое\",\n\n // Status segmented control label\n \"status.label\": \"Статус\",\n\n // Page scope segmented control\n \"scope.label\": \"Область\",\n \"scope.thisPage\": \"Эта страница\",\n \"scope.thisType\": \"Этот тип\",\n \"scope.all\": \"Все страницы\",\n\n // \"Mine\" toggle\n \"panel.filterMine\": \"Мои\",\n \"panel.filterMineHint\": \"Только отзывы, отправленные из этого браузера\",\n\n // FAB menu\n \"fab.aria\": \"Siteping — Меню обратной связи\",\n \"fab.messages\": \"Показать панель\",\n \"fab.annotate\": \"Создать аннотацию\",\n \"fab.annotations\": \"Показать или скрыть метки\",\n\n // Annotator\n \"annotator.instruction\":\n \"Выделите область для комментария — или нажмите Enter, чтобы прокомментировать последний активный элемент\",\n \"annotator.instantInstruction\": \"Комментарий к выбранной точке\",\n \"annotator.touchInstruction\": \"Коснитесь элемента или проведите пальцем, чтобы выделить область\",\n \"annotator.cancel\": \"Отмена\",\n\n // Popup\n \"popup.ariaLabel\": \"Форма обратной связи\",\n \"popup.placeholder\": \"Опишите проблему или предложение...\",\n \"popup.textareaAria\": \"Сообщение\",\n \"popup.submitHintMac\": \"⌘+Enter — отправить\",\n \"popup.submitHintOther\": \"Ctrl+Enter — отправить\",\n \"popup.cancel\": \"Отмена\",\n \"popup.submit\": \"Отправить\",\n\n // Identity modal\n \"identity.title\": \"Представьтесь\",\n \"identity.nameLabel\": \"Имя\",\n \"identity.namePlaceholder\": \"Ваше имя\",\n \"identity.emailLabel\": \"Email\",\n \"identity.emailPlaceholder\": \"ваш@email.com\",\n \"identity.cancel\": \"Отмена\",\n \"identity.submit\": \"Продолжить\",\n\n // Markers\n \"marker.approximate\": \"Приблизительная позиция (точность: {confidence}%)\",\n \"marker.aria\": \"Отзыв #{number}: {type}, {status} — {message}\",\n \"marker.count\": \"Отображено маркеров отзывов: {count}\",\n\n // FAB badge\n \"fab.badge\": \"Нерешённых отзывов: {count}\",\n\n // Accessibility — screen reader announcements\n \"feedback.sent.confirmation\": \"Отзыв успешно отправлен\",\n \"feedback.error.message\": \"Не удалось отправить отзыв\",\n \"feedback.queued\": \"Сохранено на этом устройстве. Отправится при следующем посещении.\",\n \"feedback.deleted.confirmation\": \"Отзыв удалён\",\n\n // Badge\n \"badge.count\": \"Нерешённых отзывов: {count}\",\n\n // Bulk actions toolbar\n \"bulk.aria\": \"Массовые действия\",\n \"bulk.selectAll\": \"Выбрать все\",\n \"bulk.selectFeedback\": \"Выбрать: {label}\",\n \"bulk.selected\": \"Выбрано: {count}\",\n \"bulk.resolve\": \"Решить\",\n \"bulk.delete\": \"Удалить\",\n \"bulk.deselect\": \"Снять выбор\",\n\n // Sort and group controls\n \"sort.newest\": \"Сначала новые\",\n \"sort.oldest\": \"Сначала старые\",\n \"sort.byType\": \"По типу\",\n \"sort.openFirst\": \"Сначала открытые\",\n \"sort.label\": \"Сортировка\",\n \"group.byPage\": \"По странице\",\n \"group.feedbacks\": \"Отзывов: {count}\",\n\n // Stats bar\n \"stats.aria\": \"Статистика отзывов\",\n \"stats.open\": \"Открытые\",\n \"stats.closed\": \"Закрытые\",\n \"stats.bugs\": \"Баги\",\n \"stats.progress\": \"Закрыто: {percent}%\",\n\n // Detail view\n \"detail.back\": \"Назад\",\n \"detail.aria\": \"Подробности отзыва\",\n \"detail.title\": \"Отзыв #{number}\",\n \"detail.status\": \"Статус\",\n \"detail.message\": \"Сообщение\",\n \"detail.screenshot\": \"Скриншот\",\n \"detail.screenshotAlt\": \"Скриншот выделенной области\",\n \"detail.metadata\": \"Детали\",\n \"detail.annotation\": \"Аннотация\",\n \"detail.page\": \"Страница\",\n \"detail.author\": \"Автор\",\n \"detail.date\": \"Создан\",\n \"detail.viewport\": \"Viewport\",\n \"detail.browser\": \"Браузер\",\n \"detail.resolvedAt\": \"Решён\",\n \"detail.closedAt\": \"Закрыт\",\n \"detail.goToAnnotation\": \"Перейти к аннотации\",\n \"detail.element\": \"Элемент\",\n \"detail.selector\": \"Селектор\",\n \"detail.position\": \"Позиция\",\n \"detail.resolve\": \"Решить\",\n \"detail.reopen\": \"Открыть заново\",\n \"detail.delete\": \"Удалить\",\n \"detail.diagnostics\": \"Диагностика\",\n \"detail.diagnostics.console\": \"Консоль\",\n \"detail.diagnostics.network\": \"Сетевые ошибки\",\n \"detail.diagnostics.expand\": \"Показать диагностику\",\n \"detail.diagnostics.collapse\": \"Скрыть диагностику\",\n \"detail.diagnostics.noEntries\": \"Нет записей\",\n\n // Discussion thread (detail view)\n \"comments.title\": \"Ответы\",\n \"comments.placeholder\": \"Ответить команде...\",\n \"comments.error\": \"Не отправлено. Попробуйте ещё раз.\",\n \"comments.full\": \"Обсуждение заполнено.\",\n \"comments.team\": \"Команда\",\n\n // Keyboard shortcuts overlay\n \"shortcuts.title\": \"Горячие клавиши\",\n \"shortcuts.navigate\": \"Навигация по отзывам\",\n \"shortcuts.resolve\": \"Решить / Переоткрыть\",\n \"shortcuts.delete\": \"Удалить\",\n \"shortcuts.search\": \"Поиск\",\n \"shortcuts.select\": \"Переключить выбор\",\n \"shortcuts.help\": \"Показать клавиши\",\n \"shortcuts.close\": \"Закрыть\",\n \"shortcuts.hint\": \"Горячие клавиши\",\n\n // Export controls\n \"export.label\": \"Экспорт\",\n \"export.csv\": \"Экспорт в CSV\",\n \"export.json\": \"Экспорт в JSON\",\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var e={"panel.title":"\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C","panel.ariaLabel":"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438 Siteping","panel.feedbackList":"\u0421\u043F\u0438\u0441\u043E\u043A \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.loading":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","panel.deleteAll":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmTitle":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmMessage":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u0437\u044B\u0432\u044B \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E.","panel.search":"\u041F\u043E\u0438\u0441\u043A...","panel.searchAria":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","panel.filterAll":"\u0412\u0441\u0435","panel.loadError":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","panel.retry":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","panel.empty":"\u041F\u043E\u043A\u0430 \u043D\u0435\u0442 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.showMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435","panel.notOnPage":"\u041D\u0435 \u0432\u0438\u0434\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","panel.showLess":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044C\u0448\u0435","panel.resolve":"\u0420\u0435\u0448\u0435\u043D\u043E","panel.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","panel.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","panel.confirmDelete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.loadMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 ({remaining} \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C)","panel.statusAll":"\u0412\u0441\u0435","panel.statusOpen":"\u041E\u0442\u043A\u0440\u044B\u0442","panel.statusResolved":"\u0420\u0435\u0448\u0451\u043D","panel.statusInProgress":"\u0412 \u0440\u0430\u0431\u043E\u0442\u0435","panel.statusWontFix":"\u041D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E","panel.statusClosed":"\u0417\u0430\u043A\u0440\u044B\u0442","type.label":"\u0422\u0438\u043F","type.question":"\u0412\u043E\u043F\u0440\u043E\u0441","type.change":"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435","type.bug":"\u0411\u0430\u0433","type.other":"\u0414\u0440\u0443\u0433\u043E\u0435","status.label":"\u0421\u0442\u0430\u0442\u0443\u0441","scope.label":"\u041E\u0431\u043B\u0430\u0441\u0442\u044C","scope.thisPage":"\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430","scope.thisType":"\u042D\u0442\u043E\u0442 \u0442\u0438\u043F","scope.all":"\u0412\u0441\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B","panel.filterMine":"\u041C\u043E\u0438","panel.filterMineHint":"\u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0442\u0437\u044B\u0432\u044B, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0438\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","fab.aria":"Siteping \u2014 \u041C\u0435\u043D\u044E \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","fab.messages":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","fab.annotate":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044E","fab.annotations":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u0442\u043A\u0438","annotator.instruction":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0434\u043B\u044F \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u044F \u2014 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Enter, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442","annotator.instantInstruction":"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435","annotator.touchInstruction":"\u041A\u043E\u0441\u043D\u0438\u0442\u0435\u0441\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u043B\u044C\u0446\u0435\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u043E\u0431\u043B\u0430\u0441\u0442\u044C","annotator.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.ariaLabel":"\u0424\u043E\u0440\u043C\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","popup.placeholder":"\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u0438\u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435...","popup.textareaAria":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","popup.submitHintMac":"\u2318+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.submitHintOther":"Ctrl+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.submit":"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","identity.title":"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044C\u0442\u0435\u0441\u044C","identity.nameLabel":"\u0418\u043C\u044F","identity.namePlaceholder":"\u0412\u0430\u0448\u0435 \u0438\u043C\u044F","identity.emailLabel":"Email","identity.emailPlaceholder":"\u0432\u0430\u0448@email.com","identity.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","identity.submit":"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C","marker.approximate":"\u041F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F (\u0442\u043E\u0447\u043D\u043E\u0441\u0442\u044C: {confidence}%)","marker.aria":"\u041E\u0442\u0437\u044B\u0432 #{number}: {type}, {status} \u2014 {message}","marker.count":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043E \u043C\u0430\u0440\u043A\u0435\u0440\u043E\u0432 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","fab.badge":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","feedback.sent.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D","feedback.error.message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432","feedback.queued":"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435. \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u0438.","feedback.deleted.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0434\u0430\u043B\u0451\u043D","badge.count":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","bulk.aria":"\u041C\u0430\u0441\u0441\u043E\u0432\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F","bulk.selectAll":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","bulk.selectFeedback":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C: {label}","bulk.selected":"\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {count}","bulk.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","bulk.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","bulk.deselect":"\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440","sort.newest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043D\u043E\u0432\u044B\u0435","sort.oldest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u0442\u0430\u0440\u044B\u0435","sort.byType":"\u041F\u043E \u0442\u0438\u043F\u0443","sort.openFirst":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","sort.label":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430","group.byPage":"\u041F\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","group.feedbacks":"\u041E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","stats.aria":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","stats.open":"\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","stats.closed":"\u0417\u0430\u043A\u0440\u044B\u0442\u044B\u0435","stats.bugs":"\u0411\u0430\u0433\u0438","stats.progress":"\u0417\u0430\u043A\u0440\u044B\u0442\u043E: {percent}%","detail.back":"\u041D\u0430\u0437\u0430\u0434","detail.aria":"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043E\u0442\u0437\u044B\u0432\u0430","detail.title":"\u041E\u0442\u0437\u044B\u0432 #{number}","detail.status":"\u0421\u0442\u0430\u0442\u0443\u0441","detail.message":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","detail.screenshot":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442","detail.screenshotAlt":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","detail.metadata":"\u0414\u0435\u0442\u0430\u043B\u0438","detail.annotation":"\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F","detail.page":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430","detail.author":"\u0410\u0432\u0442\u043E\u0440","detail.date":"\u0421\u043E\u0437\u0434\u0430\u043D","detail.viewport":"Viewport","detail.browser":"\u0411\u0440\u0430\u0443\u0437\u0435\u0440","detail.resolvedAt":"\u0420\u0435\u0448\u0451\u043D","detail.closedAt":"\u0417\u0430\u043A\u0440\u044B\u0442","detail.goToAnnotation":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u0438","detail.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","detail.selector":"\u0421\u0435\u043B\u0435\u043A\u0442\u043E\u0440","detail.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","detail.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","detail.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","detail.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","detail.diagnostics":"\u0414\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0430","detail.diagnostics.console":"\u041A\u043E\u043D\u0441\u043E\u043B\u044C","detail.diagnostics.network":"\u0421\u0435\u0442\u0435\u0432\u044B\u0435 \u043E\u0448\u0438\u0431\u043A\u0438","detail.diagnostics.expand":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.collapse":"\u0421\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.noEntries":"\u041D\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0435\u0439","comments.title":"\u041E\u0442\u0432\u0435\u0442\u044B","comments.placeholder":"\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0435...","comments.error":"\u041D\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.","comments.full":"\u041E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u043E.","comments.team":"\u041A\u043E\u043C\u0430\u043D\u0434\u0430","shortcuts.title":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.navigate":"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","shortcuts.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C / \u041F\u0435\u0440\u0435\u043E\u0442\u043A\u0440\u044B\u0442\u044C","shortcuts.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","shortcuts.search":"\u041F\u043E\u0438\u0441\u043A","shortcuts.select":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440","shortcuts.help":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","shortcuts.hint":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","export.label":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442","export.csv":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV","export.json":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 JSON"};exports.ru=e;//# sourceMappingURL=ru-YRXPV57R.cjs.map
|
|
2
|
+
//# sourceMappingURL=ru-YRXPV57R.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/ru.ts"],"names":["ru"],"mappings":"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","file":"ru-YRXPV57R.cjs","sourcesContent":["import type { Translations } from \"./types.js\";\n\nexport const ru: Translations = {\n // Panel\n \"panel.title\": \"Обратная связь\",\n \"panel.ariaLabel\": \"Панель обратной связи Siteping\",\n \"panel.feedbackList\": \"Список отзывов\",\n \"panel.loading\": \"Загрузка отзывов\",\n \"panel.close\": \"Закрыть панель\",\n \"panel.deleteAll\": \"Удалить всё\",\n \"panel.deleteAllConfirmTitle\": \"Удалить всё\",\n \"panel.deleteAllConfirmMessage\": \"Удалить все отзывы этого проекта? Это действие необратимо.\",\n \"panel.search\": \"Поиск...\",\n \"panel.searchAria\": \"Поиск по отзывам\",\n \"panel.filterAll\": \"Все\",\n \"panel.loadError\": \"Ошибка загрузки\",\n \"panel.retry\": \"Повторить\",\n \"panel.empty\": \"Пока нет отзывов\",\n \"panel.showMore\": \"Показать больше\",\n \"panel.notOnPage\": \"Не видно на этой странице\",\n \"panel.showLess\": \"Показать меньше\",\n \"panel.resolve\": \"Решено\",\n \"panel.reopen\": \"Открыть заново\",\n \"panel.delete\": \"Удалить\",\n \"panel.cancel\": \"Отмена\",\n \"panel.confirmDelete\": \"Удалить\",\n \"panel.loadMore\": \"Показать ещё ({remaining} осталось)\",\n\n // Status filter labels\n \"panel.statusAll\": \"Все\",\n \"panel.statusOpen\": \"Открыт\",\n \"panel.statusResolved\": \"Решён\",\n \"panel.statusInProgress\": \"В работе\",\n \"panel.statusWontFix\": \"Не будет исправлено\",\n \"panel.statusClosed\": \"Закрыт\",\n\n // Feedback type labels\n \"type.label\": \"Тип\",\n \"type.question\": \"Вопрос\",\n \"type.change\": \"Улучшение\",\n \"type.bug\": \"Баг\",\n \"type.other\": \"Другое\",\n\n // Status segmented control label\n \"status.label\": \"Статус\",\n\n // Page scope segmented control\n \"scope.label\": \"Область\",\n \"scope.thisPage\": \"Эта страница\",\n \"scope.thisType\": \"Этот тип\",\n \"scope.all\": \"Все страницы\",\n\n // \"Mine\" toggle\n \"panel.filterMine\": \"Мои\",\n \"panel.filterMineHint\": \"Только отзывы, отправленные из этого браузера\",\n\n // FAB menu\n \"fab.aria\": \"Siteping — Меню обратной связи\",\n \"fab.messages\": \"Показать панель\",\n \"fab.annotate\": \"Создать аннотацию\",\n \"fab.annotations\": \"Показать или скрыть метки\",\n\n // Annotator\n \"annotator.instruction\":\n \"Выделите область для комментария — или нажмите Enter, чтобы прокомментировать последний активный элемент\",\n \"annotator.instantInstruction\": \"Комментарий к выбранной точке\",\n \"annotator.touchInstruction\": \"Коснитесь элемента или проведите пальцем, чтобы выделить область\",\n \"annotator.cancel\": \"Отмена\",\n\n // Popup\n \"popup.ariaLabel\": \"Форма обратной связи\",\n \"popup.placeholder\": \"Опишите проблему или предложение...\",\n \"popup.textareaAria\": \"Сообщение\",\n \"popup.submitHintMac\": \"⌘+Enter — отправить\",\n \"popup.submitHintOther\": \"Ctrl+Enter — отправить\",\n \"popup.cancel\": \"Отмена\",\n \"popup.submit\": \"Отправить\",\n\n // Identity modal\n \"identity.title\": \"Представьтесь\",\n \"identity.nameLabel\": \"Имя\",\n \"identity.namePlaceholder\": \"Ваше имя\",\n \"identity.emailLabel\": \"Email\",\n \"identity.emailPlaceholder\": \"ваш@email.com\",\n \"identity.cancel\": \"Отмена\",\n \"identity.submit\": \"Продолжить\",\n\n // Markers\n \"marker.approximate\": \"Приблизительная позиция (точность: {confidence}%)\",\n \"marker.aria\": \"Отзыв #{number}: {type}, {status} — {message}\",\n \"marker.count\": \"Отображено маркеров отзывов: {count}\",\n\n // FAB badge\n \"fab.badge\": \"Нерешённых отзывов: {count}\",\n\n // Accessibility — screen reader announcements\n \"feedback.sent.confirmation\": \"Отзыв успешно отправлен\",\n \"feedback.error.message\": \"Не удалось отправить отзыв\",\n \"feedback.queued\": \"Сохранено на этом устройстве. Отправится при следующем посещении.\",\n \"feedback.deleted.confirmation\": \"Отзыв удалён\",\n\n // Badge\n \"badge.count\": \"Нерешённых отзывов: {count}\",\n\n // Bulk actions toolbar\n \"bulk.aria\": \"Массовые действия\",\n \"bulk.selectAll\": \"Выбрать все\",\n \"bulk.selectFeedback\": \"Выбрать: {label}\",\n \"bulk.selected\": \"Выбрано: {count}\",\n \"bulk.resolve\": \"Решить\",\n \"bulk.delete\": \"Удалить\",\n \"bulk.deselect\": \"Снять выбор\",\n\n // Sort and group controls\n \"sort.newest\": \"Сначала новые\",\n \"sort.oldest\": \"Сначала старые\",\n \"sort.byType\": \"По типу\",\n \"sort.openFirst\": \"Сначала открытые\",\n \"sort.label\": \"Сортировка\",\n \"group.byPage\": \"По странице\",\n \"group.feedbacks\": \"Отзывов: {count}\",\n\n // Stats bar\n \"stats.aria\": \"Статистика отзывов\",\n \"stats.open\": \"Открытые\",\n \"stats.closed\": \"Закрытые\",\n \"stats.bugs\": \"Баги\",\n \"stats.progress\": \"Закрыто: {percent}%\",\n\n // Detail view\n \"detail.back\": \"Назад\",\n \"detail.aria\": \"Подробности отзыва\",\n \"detail.title\": \"Отзыв #{number}\",\n \"detail.status\": \"Статус\",\n \"detail.message\": \"Сообщение\",\n \"detail.screenshot\": \"Скриншот\",\n \"detail.screenshotAlt\": \"Скриншот выделенной области\",\n \"detail.metadata\": \"Детали\",\n \"detail.annotation\": \"Аннотация\",\n \"detail.page\": \"Страница\",\n \"detail.author\": \"Автор\",\n \"detail.date\": \"Создан\",\n \"detail.viewport\": \"Viewport\",\n \"detail.browser\": \"Браузер\",\n \"detail.resolvedAt\": \"Решён\",\n \"detail.closedAt\": \"Закрыт\",\n \"detail.goToAnnotation\": \"Перейти к аннотации\",\n \"detail.element\": \"Элемент\",\n \"detail.selector\": \"Селектор\",\n \"detail.position\": \"Позиция\",\n \"detail.resolve\": \"Решить\",\n \"detail.reopen\": \"Открыть заново\",\n \"detail.delete\": \"Удалить\",\n \"detail.diagnostics\": \"Диагностика\",\n \"detail.diagnostics.console\": \"Консоль\",\n \"detail.diagnostics.network\": \"Сетевые ошибки\",\n \"detail.diagnostics.expand\": \"Показать диагностику\",\n \"detail.diagnostics.collapse\": \"Скрыть диагностику\",\n \"detail.diagnostics.noEntries\": \"Нет записей\",\n\n // Discussion thread (detail view)\n \"comments.title\": \"Ответы\",\n \"comments.placeholder\": \"Ответить команде...\",\n \"comments.error\": \"Не отправлено. Попробуйте ещё раз.\",\n \"comments.full\": \"Обсуждение заполнено.\",\n \"comments.team\": \"Команда\",\n\n // Keyboard shortcuts overlay\n \"shortcuts.title\": \"Горячие клавиши\",\n \"shortcuts.navigate\": \"Навигация по отзывам\",\n \"shortcuts.resolve\": \"Решить / Переоткрыть\",\n \"shortcuts.delete\": \"Удалить\",\n \"shortcuts.search\": \"Поиск\",\n \"shortcuts.select\": \"Переключить выбор\",\n \"shortcuts.help\": \"Показать клавиши\",\n \"shortcuts.close\": \"Закрыть\",\n \"shortcuts.hint\": \"Горячие клавиши\",\n\n // Export controls\n \"export.label\": \"Экспорт\",\n \"export.csv\": \"Экспорт в CSV\",\n \"export.json\": \"Экспорт в JSON\",\n};\n"]}
|
package/dist/schema.d.cts
CHANGED
|
@@ -52,6 +52,13 @@ export interface FieldDef {
|
|
|
52
52
|
isUnique?: boolean;
|
|
53
53
|
/** Prisma native type attribute (e.g. "Text" for @db.Text) — used for MySQL compatibility on long strings */
|
|
54
54
|
nativeType?: PrismaNativeType;
|
|
55
|
+
/**
|
|
56
|
+
* Longest value the HTTP handler accepts for this column, in characters —
|
|
57
|
+
* set on every `String` column filled from a request body, and checked
|
|
58
|
+
* against the handler's own caps. The CLI sizes the column from it where a
|
|
59
|
+
* plain `String` is shorter: on MySQL, a `VARCHAR(191)`.
|
|
60
|
+
*/
|
|
61
|
+
maxLength?: number;
|
|
55
62
|
/** Prisma @updatedAt attribute */
|
|
56
63
|
isUpdatedAt?: boolean;
|
|
57
64
|
}
|
|
@@ -82,6 +89,7 @@ declare const _SITEPING_MODELS: {
|
|
|
82
89
|
};
|
|
83
90
|
readonly projectName: {
|
|
84
91
|
readonly type: "String";
|
|
92
|
+
readonly maxLength: 191;
|
|
85
93
|
};
|
|
86
94
|
readonly type: {
|
|
87
95
|
readonly type: "String";
|
|
@@ -89,6 +97,7 @@ declare const _SITEPING_MODELS: {
|
|
|
89
97
|
readonly message: {
|
|
90
98
|
readonly type: "String";
|
|
91
99
|
readonly nativeType: "Text";
|
|
100
|
+
readonly maxLength: 5000;
|
|
92
101
|
};
|
|
93
102
|
readonly status: {
|
|
94
103
|
readonly type: "String";
|
|
@@ -96,15 +105,18 @@ declare const _SITEPING_MODELS: {
|
|
|
96
105
|
};
|
|
97
106
|
readonly url: {
|
|
98
107
|
readonly type: "String";
|
|
108
|
+
readonly maxLength: 2000;
|
|
99
109
|
};
|
|
100
110
|
readonly urlPattern: {
|
|
101
111
|
readonly type: "String";
|
|
102
112
|
readonly optional: true;
|
|
113
|
+
readonly maxLength: 2000;
|
|
103
114
|
};
|
|
104
115
|
readonly screenshotUrl: {
|
|
105
116
|
readonly type: "String";
|
|
106
117
|
readonly optional: true;
|
|
107
118
|
readonly nativeType: "Text";
|
|
119
|
+
readonly maxLength: 1500000;
|
|
108
120
|
};
|
|
109
121
|
readonly screenshotRegion: {
|
|
110
122
|
readonly type: "Json";
|
|
@@ -116,19 +128,24 @@ declare const _SITEPING_MODELS: {
|
|
|
116
128
|
};
|
|
117
129
|
readonly viewport: {
|
|
118
130
|
readonly type: "String";
|
|
131
|
+
readonly maxLength: 50;
|
|
119
132
|
};
|
|
120
133
|
readonly userAgent: {
|
|
121
134
|
readonly type: "String";
|
|
135
|
+
readonly maxLength: 500;
|
|
122
136
|
};
|
|
123
137
|
readonly authorName: {
|
|
124
138
|
readonly type: "String";
|
|
139
|
+
readonly maxLength: 200;
|
|
125
140
|
};
|
|
126
141
|
readonly authorEmail: {
|
|
127
142
|
readonly type: "String";
|
|
143
|
+
readonly maxLength: 200;
|
|
128
144
|
};
|
|
129
145
|
readonly clientId: {
|
|
130
146
|
readonly type: "String";
|
|
131
147
|
readonly isUnique: true;
|
|
148
|
+
readonly maxLength: 191;
|
|
132
149
|
};
|
|
133
150
|
readonly resolvedAt: {
|
|
134
151
|
readonly type: "DateTime";
|
|
@@ -188,40 +205,50 @@ declare const _SITEPING_MODELS: {
|
|
|
188
205
|
readonly cssSelector: {
|
|
189
206
|
readonly type: "String";
|
|
190
207
|
readonly nativeType: "Text";
|
|
208
|
+
readonly maxLength: 2000;
|
|
191
209
|
};
|
|
192
210
|
readonly xpath: {
|
|
193
211
|
readonly type: "String";
|
|
194
212
|
readonly nativeType: "Text";
|
|
213
|
+
readonly maxLength: 2000;
|
|
195
214
|
};
|
|
196
215
|
readonly textSnippet: {
|
|
197
216
|
readonly type: "String";
|
|
198
217
|
readonly nativeType: "Text";
|
|
218
|
+
readonly maxLength: 500;
|
|
199
219
|
};
|
|
200
220
|
readonly elementTag: {
|
|
201
221
|
readonly type: "String";
|
|
222
|
+
readonly maxLength: 191;
|
|
202
223
|
};
|
|
203
224
|
readonly elementId: {
|
|
204
225
|
readonly type: "String";
|
|
205
226
|
readonly optional: true;
|
|
227
|
+
readonly maxLength: 191;
|
|
206
228
|
};
|
|
207
229
|
readonly textPrefix: {
|
|
208
230
|
readonly type: "String";
|
|
209
231
|
readonly nativeType: "Text";
|
|
232
|
+
readonly maxLength: 200;
|
|
210
233
|
};
|
|
211
234
|
readonly textSuffix: {
|
|
212
235
|
readonly type: "String";
|
|
213
236
|
readonly nativeType: "Text";
|
|
237
|
+
readonly maxLength: 200;
|
|
214
238
|
};
|
|
215
239
|
readonly fingerprint: {
|
|
216
240
|
readonly type: "String";
|
|
241
|
+
readonly maxLength: 200;
|
|
217
242
|
};
|
|
218
243
|
readonly neighborText: {
|
|
219
244
|
readonly type: "String";
|
|
220
245
|
readonly nativeType: "Text";
|
|
246
|
+
readonly maxLength: 500;
|
|
221
247
|
};
|
|
222
248
|
readonly anchorKey: {
|
|
223
249
|
readonly type: "String";
|
|
224
250
|
readonly optional: true;
|
|
251
|
+
readonly maxLength: 200;
|
|
225
252
|
};
|
|
226
253
|
readonly xPct: {
|
|
227
254
|
readonly type: "Float";
|
|
@@ -283,12 +310,15 @@ declare const _SITEPING_MODELS: {
|
|
|
283
310
|
readonly body: {
|
|
284
311
|
readonly type: "String";
|
|
285
312
|
readonly nativeType: "Text";
|
|
313
|
+
readonly maxLength: 5000;
|
|
286
314
|
};
|
|
287
315
|
readonly authorName: {
|
|
288
316
|
readonly type: "String";
|
|
317
|
+
readonly maxLength: 200;
|
|
289
318
|
};
|
|
290
319
|
readonly authorEmail: {
|
|
291
320
|
readonly type: "String";
|
|
321
|
+
readonly maxLength: 200;
|
|
292
322
|
};
|
|
293
323
|
readonly authorRole: {
|
|
294
324
|
readonly type: "String";
|
|
@@ -297,6 +327,7 @@ declare const _SITEPING_MODELS: {
|
|
|
297
327
|
readonly clientId: {
|
|
298
328
|
readonly type: "String";
|
|
299
329
|
readonly isUnique: true;
|
|
330
|
+
readonly maxLength: 191;
|
|
300
331
|
};
|
|
301
332
|
readonly createdAt: {
|
|
302
333
|
readonly type: "DateTime";
|
package/dist/schema.d.ts
CHANGED
|
@@ -52,6 +52,13 @@ export interface FieldDef {
|
|
|
52
52
|
isUnique?: boolean;
|
|
53
53
|
/** Prisma native type attribute (e.g. "Text" for @db.Text) — used for MySQL compatibility on long strings */
|
|
54
54
|
nativeType?: PrismaNativeType;
|
|
55
|
+
/**
|
|
56
|
+
* Longest value the HTTP handler accepts for this column, in characters —
|
|
57
|
+
* set on every `String` column filled from a request body, and checked
|
|
58
|
+
* against the handler's own caps. The CLI sizes the column from it where a
|
|
59
|
+
* plain `String` is shorter: on MySQL, a `VARCHAR(191)`.
|
|
60
|
+
*/
|
|
61
|
+
maxLength?: number;
|
|
55
62
|
/** Prisma @updatedAt attribute */
|
|
56
63
|
isUpdatedAt?: boolean;
|
|
57
64
|
}
|
|
@@ -82,6 +89,7 @@ declare const _SITEPING_MODELS: {
|
|
|
82
89
|
};
|
|
83
90
|
readonly projectName: {
|
|
84
91
|
readonly type: "String";
|
|
92
|
+
readonly maxLength: 191;
|
|
85
93
|
};
|
|
86
94
|
readonly type: {
|
|
87
95
|
readonly type: "String";
|
|
@@ -89,6 +97,7 @@ declare const _SITEPING_MODELS: {
|
|
|
89
97
|
readonly message: {
|
|
90
98
|
readonly type: "String";
|
|
91
99
|
readonly nativeType: "Text";
|
|
100
|
+
readonly maxLength: 5000;
|
|
92
101
|
};
|
|
93
102
|
readonly status: {
|
|
94
103
|
readonly type: "String";
|
|
@@ -96,15 +105,18 @@ declare const _SITEPING_MODELS: {
|
|
|
96
105
|
};
|
|
97
106
|
readonly url: {
|
|
98
107
|
readonly type: "String";
|
|
108
|
+
readonly maxLength: 2000;
|
|
99
109
|
};
|
|
100
110
|
readonly urlPattern: {
|
|
101
111
|
readonly type: "String";
|
|
102
112
|
readonly optional: true;
|
|
113
|
+
readonly maxLength: 2000;
|
|
103
114
|
};
|
|
104
115
|
readonly screenshotUrl: {
|
|
105
116
|
readonly type: "String";
|
|
106
117
|
readonly optional: true;
|
|
107
118
|
readonly nativeType: "Text";
|
|
119
|
+
readonly maxLength: 1500000;
|
|
108
120
|
};
|
|
109
121
|
readonly screenshotRegion: {
|
|
110
122
|
readonly type: "Json";
|
|
@@ -116,19 +128,24 @@ declare const _SITEPING_MODELS: {
|
|
|
116
128
|
};
|
|
117
129
|
readonly viewport: {
|
|
118
130
|
readonly type: "String";
|
|
131
|
+
readonly maxLength: 50;
|
|
119
132
|
};
|
|
120
133
|
readonly userAgent: {
|
|
121
134
|
readonly type: "String";
|
|
135
|
+
readonly maxLength: 500;
|
|
122
136
|
};
|
|
123
137
|
readonly authorName: {
|
|
124
138
|
readonly type: "String";
|
|
139
|
+
readonly maxLength: 200;
|
|
125
140
|
};
|
|
126
141
|
readonly authorEmail: {
|
|
127
142
|
readonly type: "String";
|
|
143
|
+
readonly maxLength: 200;
|
|
128
144
|
};
|
|
129
145
|
readonly clientId: {
|
|
130
146
|
readonly type: "String";
|
|
131
147
|
readonly isUnique: true;
|
|
148
|
+
readonly maxLength: 191;
|
|
132
149
|
};
|
|
133
150
|
readonly resolvedAt: {
|
|
134
151
|
readonly type: "DateTime";
|
|
@@ -188,40 +205,50 @@ declare const _SITEPING_MODELS: {
|
|
|
188
205
|
readonly cssSelector: {
|
|
189
206
|
readonly type: "String";
|
|
190
207
|
readonly nativeType: "Text";
|
|
208
|
+
readonly maxLength: 2000;
|
|
191
209
|
};
|
|
192
210
|
readonly xpath: {
|
|
193
211
|
readonly type: "String";
|
|
194
212
|
readonly nativeType: "Text";
|
|
213
|
+
readonly maxLength: 2000;
|
|
195
214
|
};
|
|
196
215
|
readonly textSnippet: {
|
|
197
216
|
readonly type: "String";
|
|
198
217
|
readonly nativeType: "Text";
|
|
218
|
+
readonly maxLength: 500;
|
|
199
219
|
};
|
|
200
220
|
readonly elementTag: {
|
|
201
221
|
readonly type: "String";
|
|
222
|
+
readonly maxLength: 191;
|
|
202
223
|
};
|
|
203
224
|
readonly elementId: {
|
|
204
225
|
readonly type: "String";
|
|
205
226
|
readonly optional: true;
|
|
227
|
+
readonly maxLength: 191;
|
|
206
228
|
};
|
|
207
229
|
readonly textPrefix: {
|
|
208
230
|
readonly type: "String";
|
|
209
231
|
readonly nativeType: "Text";
|
|
232
|
+
readonly maxLength: 200;
|
|
210
233
|
};
|
|
211
234
|
readonly textSuffix: {
|
|
212
235
|
readonly type: "String";
|
|
213
236
|
readonly nativeType: "Text";
|
|
237
|
+
readonly maxLength: 200;
|
|
214
238
|
};
|
|
215
239
|
readonly fingerprint: {
|
|
216
240
|
readonly type: "String";
|
|
241
|
+
readonly maxLength: 200;
|
|
217
242
|
};
|
|
218
243
|
readonly neighborText: {
|
|
219
244
|
readonly type: "String";
|
|
220
245
|
readonly nativeType: "Text";
|
|
246
|
+
readonly maxLength: 500;
|
|
221
247
|
};
|
|
222
248
|
readonly anchorKey: {
|
|
223
249
|
readonly type: "String";
|
|
224
250
|
readonly optional: true;
|
|
251
|
+
readonly maxLength: 200;
|
|
225
252
|
};
|
|
226
253
|
readonly xPct: {
|
|
227
254
|
readonly type: "Float";
|
|
@@ -283,12 +310,15 @@ declare const _SITEPING_MODELS: {
|
|
|
283
310
|
readonly body: {
|
|
284
311
|
readonly type: "String";
|
|
285
312
|
readonly nativeType: "Text";
|
|
313
|
+
readonly maxLength: 5000;
|
|
286
314
|
};
|
|
287
315
|
readonly authorName: {
|
|
288
316
|
readonly type: "String";
|
|
317
|
+
readonly maxLength: 200;
|
|
289
318
|
};
|
|
290
319
|
readonly authorEmail: {
|
|
291
320
|
readonly type: "String";
|
|
321
|
+
readonly maxLength: 200;
|
|
292
322
|
};
|
|
293
323
|
readonly authorRole: {
|
|
294
324
|
readonly type: "String";
|
|
@@ -297,6 +327,7 @@ declare const _SITEPING_MODELS: {
|
|
|
297
327
|
readonly clientId: {
|
|
298
328
|
readonly type: "String";
|
|
299
329
|
readonly isUnique: true;
|
|
330
|
+
readonly maxLength: 191;
|
|
300
331
|
};
|
|
301
332
|
readonly createdAt: {
|
|
302
333
|
readonly type: "DateTime";
|
|
@@ -42,26 +42,24 @@ export interface ScreenshotStorage {
|
|
|
42
42
|
* Adapters call this synchronously inside `createFeedback` — keep it
|
|
43
43
|
* fast or move to a queue if needed.
|
|
44
44
|
*
|
|
45
|
-
* `ctx.feedbackId`
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* `ctx.feedbackId` is the id the feedback is stored under. The record does
|
|
46
|
+
* not exist yet, so the store draws it before the upload — fresh for each
|
|
47
|
+
* create attempt, never client-supplied — and inserts the row under it.
|
|
48
|
+
* Two submissions of one `clientId` therefore upload under two ids, and
|
|
49
|
+
* only one of them is stored.
|
|
49
50
|
*
|
|
50
51
|
* **URL ownership:** every call must return a URL no other call returns —
|
|
51
52
|
* key the object by a fresh random value (`crypto.randomUUID()`, as the
|
|
52
53
|
* example does), never by `ctx.feedbackId` alone nor by a content hash.
|
|
53
54
|
* Adapters treat each URL as the property of the one record that stores it
|
|
54
55
|
* and may pass it to `delete` once that record is deleted, or once its
|
|
55
|
-
* create lost a race:
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* by it is rewritten by every replay — a retry, or anyone who learns the
|
|
59
|
-
* id — and a URL shared by several records lets deleting one remove the
|
|
60
|
-
* object another still points at.
|
|
56
|
+
* create lost a race: the object of the submission that is not stored is
|
|
57
|
+
* deleted, and a URL shared by several records would let deleting one
|
|
58
|
+
* remove the object another still points at.
|
|
61
59
|
*
|
|
62
|
-
* **Security note:**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
60
|
+
* **Security note:** the bundled stores generate `ctx.feedbackId`, but a
|
|
61
|
+
* third-party one may not honour the contract: sanitize it before using it
|
|
62
|
+
* in a filesystem path or an object key.
|
|
65
63
|
*/
|
|
66
64
|
upload(dataUrl: string, ctx: {
|
|
67
65
|
feedbackId: string;
|
|
@@ -72,10 +70,9 @@ export interface ScreenshotStorage {
|
|
|
72
70
|
/**
|
|
73
71
|
* Optional cleanup hook called when the feedback is deleted, and for an
|
|
74
72
|
* object uploaded by a create whose record was not stored: one rejected
|
|
75
|
-
* because its `clientId` is already stored, or
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
|
|
73
|
+
* because its `clientId` is already stored, or one whose insert failed. An
|
|
74
|
+
* object a stored row still references (a storage that broke URL
|
|
75
|
+
* ownership) is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
|
|
79
76
|
* Adapters call this best-effort and swallow errors — orphaned objects are
|
|
80
77
|
* preferred over failed deletes.
|
|
81
78
|
*/
|
|
@@ -42,26 +42,24 @@ export interface ScreenshotStorage {
|
|
|
42
42
|
* Adapters call this synchronously inside `createFeedback` — keep it
|
|
43
43
|
* fast or move to a queue if needed.
|
|
44
44
|
*
|
|
45
|
-
* `ctx.feedbackId`
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* `ctx.feedbackId` is the id the feedback is stored under. The record does
|
|
46
|
+
* not exist yet, so the store draws it before the upload — fresh for each
|
|
47
|
+
* create attempt, never client-supplied — and inserts the row under it.
|
|
48
|
+
* Two submissions of one `clientId` therefore upload under two ids, and
|
|
49
|
+
* only one of them is stored.
|
|
49
50
|
*
|
|
50
51
|
* **URL ownership:** every call must return a URL no other call returns —
|
|
51
52
|
* key the object by a fresh random value (`crypto.randomUUID()`, as the
|
|
52
53
|
* example does), never by `ctx.feedbackId` alone nor by a content hash.
|
|
53
54
|
* Adapters treat each URL as the property of the one record that stores it
|
|
54
55
|
* and may pass it to `delete` once that record is deleted, or once its
|
|
55
|
-
* create lost a race:
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* by it is rewritten by every replay — a retry, or anyone who learns the
|
|
59
|
-
* id — and a URL shared by several records lets deleting one remove the
|
|
60
|
-
* object another still points at.
|
|
56
|
+
* create lost a race: the object of the submission that is not stored is
|
|
57
|
+
* deleted, and a URL shared by several records would let deleting one
|
|
58
|
+
* remove the object another still points at.
|
|
61
59
|
*
|
|
62
|
-
* **Security note:**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
60
|
+
* **Security note:** the bundled stores generate `ctx.feedbackId`, but a
|
|
61
|
+
* third-party one may not honour the contract: sanitize it before using it
|
|
62
|
+
* in a filesystem path or an object key.
|
|
65
63
|
*/
|
|
66
64
|
upload(dataUrl: string, ctx: {
|
|
67
65
|
feedbackId: string;
|
|
@@ -72,10 +70,9 @@ export interface ScreenshotStorage {
|
|
|
72
70
|
/**
|
|
73
71
|
* Optional cleanup hook called when the feedback is deleted, and for an
|
|
74
72
|
* object uploaded by a create whose record was not stored: one rejected
|
|
75
|
-
* because its `clientId` is already stored, or
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
|
|
73
|
+
* because its `clientId` is already stored, or one whose insert failed. An
|
|
74
|
+
* object a stored row still references (a storage that broke URL
|
|
75
|
+
* ownership) is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
|
|
79
76
|
* Adapters call this best-effort and swallow errors — orphaned objects are
|
|
80
77
|
* preferred over failed deletes.
|
|
81
78
|
*/
|
package/dist/siteping-core.d.cts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
export { settleWithConcurrencyLimit } from "./concurrency.cjs";
|
|
2
|
-
export { buildDeepLink, parseHttpUrl } from "./deep-link.cjs";
|
|
2
|
+
export { buildDeepLink, isSafeImageUrl, parseHttpUrl } from "./deep-link.cjs";
|
|
3
3
|
export { EMAIL_PATTERN, isValidEmail } from "./email.cjs";
|
|
4
|
-
export type { SitepingErrorCode } from "./errors.cjs";
|
|
5
|
-
export { SitepingAuthError, SitepingError, SitepingNetworkError, SitepingValidationError } from "./errors.cjs";
|
|
4
|
+
export type { SitepingClientError, SitepingConfigErrorCode, SitepingErrorCode } from "./errors.cjs";
|
|
5
|
+
export { isSitepingConfigError, isSitepingError, SitepingAuthError, SitepingConfigError, SitepingError, SitepingNetworkError, SitepingValidationError, } from "./errors.cjs";
|
|
6
6
|
export type { FilterResult, Pagination } from "./filters.cjs";
|
|
7
7
|
export { applyFeedbackFilters, clampPagination, DEFAULT_PAGE_LIMIT, isUnreachableOffset, MAX_PAGE_LIMIT, matchesFeedbackQuery, } from "./filters.cjs";
|
|
8
8
|
export type { I18n, LocaleLoaders, TranslateFunction } from "./i18n.cjs";
|
|
9
9
|
export { canonicalizeLocale, createI18n, interpolate, intlLocale, tWithParams } from "./i18n.cjs";
|
|
10
|
+
export type { SitepingLogger, SitepingWarnLogger } from "./logger.cjs";
|
|
11
|
+
export { warnSafely } from "./logger.cjs";
|
|
10
12
|
export type { FieldDef, IndexDef, ModelDef, PrismaNativeType, PrismaScalarType, RelationDef, RelationKind, RelationOnDelete, SitepingModelFieldName, SitepingModelName, } from "./schema.cjs";
|
|
11
13
|
export { isRelationField, isScalarField, SITEPING_MODELS } from "./schema.cjs";
|
|
12
14
|
export type { ScreenshotStorage } from "./screenshot-storage.cjs";
|
|
13
15
|
export { SCREENSHOT_DELETE_CONCURRENCY, screenshotMimeType } from "./screenshot-storage.cjs";
|
|
14
16
|
export type { CollectionStore, CollectionStoreBackend } from "./store-helpers.cjs";
|
|
15
17
|
export { buildAnnotationRecord, buildCommentRecord, buildFeedbackRecord, createCollectionStore, } from "./store-helpers.cjs";
|
|
18
|
+
export { REPLACEMENT_CHARACTER, toStorableText, toStorableValue, UNSTORABLE_CODE_UNITS } from "./text.cjs";
|
|
16
19
|
export type { AssertEqual, IfEquals, Prettify, Serialized } from "./type-utils.cjs";
|
|
17
20
|
export { hasOwn, isRecord } from "./type-utils.cjs";
|
|
18
|
-
export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentDeletePayload, CommentPayload, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.cjs";
|
|
19
|
-
export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.cjs";
|
|
21
|
+
export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentCreateOutcome, CommentDeletePayload, CommentPayload, CommentPermissions, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.cjs";
|
|
22
|
+
export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLIENT_ID_MAX_LENGTH, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, PROJECT_NAME_MAX_LENGTH, SITEPING_PROTOCOL_VERSION, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.cjs";
|
|
20
23
|
export { errorFromResponse, feedbackQueryToSearchParams, isCommentGone, isThreadFull, mergeRequestHeaders, networkErrorFromException, newClientId, withSearchParams, } from "./wire.cjs";
|
package/dist/siteping-core.d.ts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
export { settleWithConcurrencyLimit } from "./concurrency.js";
|
|
2
|
-
export { buildDeepLink, parseHttpUrl } from "./deep-link.js";
|
|
2
|
+
export { buildDeepLink, isSafeImageUrl, parseHttpUrl } from "./deep-link.js";
|
|
3
3
|
export { EMAIL_PATTERN, isValidEmail } from "./email.js";
|
|
4
|
-
export type { SitepingErrorCode } from "./errors.js";
|
|
5
|
-
export { SitepingAuthError, SitepingError, SitepingNetworkError, SitepingValidationError } from "./errors.js";
|
|
4
|
+
export type { SitepingClientError, SitepingConfigErrorCode, SitepingErrorCode } from "./errors.js";
|
|
5
|
+
export { isSitepingConfigError, isSitepingError, SitepingAuthError, SitepingConfigError, SitepingError, SitepingNetworkError, SitepingValidationError, } from "./errors.js";
|
|
6
6
|
export type { FilterResult, Pagination } from "./filters.js";
|
|
7
7
|
export { applyFeedbackFilters, clampPagination, DEFAULT_PAGE_LIMIT, isUnreachableOffset, MAX_PAGE_LIMIT, matchesFeedbackQuery, } from "./filters.js";
|
|
8
8
|
export type { I18n, LocaleLoaders, TranslateFunction } from "./i18n.js";
|
|
9
9
|
export { canonicalizeLocale, createI18n, interpolate, intlLocale, tWithParams } from "./i18n.js";
|
|
10
|
+
export type { SitepingLogger, SitepingWarnLogger } from "./logger.js";
|
|
11
|
+
export { warnSafely } from "./logger.js";
|
|
10
12
|
export type { FieldDef, IndexDef, ModelDef, PrismaNativeType, PrismaScalarType, RelationDef, RelationKind, RelationOnDelete, SitepingModelFieldName, SitepingModelName, } from "./schema.js";
|
|
11
13
|
export { isRelationField, isScalarField, SITEPING_MODELS } from "./schema.js";
|
|
12
14
|
export type { ScreenshotStorage } from "./screenshot-storage.js";
|
|
13
15
|
export { SCREENSHOT_DELETE_CONCURRENCY, screenshotMimeType } from "./screenshot-storage.js";
|
|
14
16
|
export type { CollectionStore, CollectionStoreBackend } from "./store-helpers.js";
|
|
15
17
|
export { buildAnnotationRecord, buildCommentRecord, buildFeedbackRecord, createCollectionStore, } from "./store-helpers.js";
|
|
18
|
+
export { REPLACEMENT_CHARACTER, toStorableText, toStorableValue, UNSTORABLE_CODE_UNITS } from "./text.js";
|
|
16
19
|
export type { AssertEqual, IfEquals, Prettify, Serialized } from "./type-utils.js";
|
|
17
20
|
export { hasOwn, isRecord } from "./type-utils.js";
|
|
18
|
-
export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentDeletePayload, CommentPayload, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.js";
|
|
19
|
-
export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.js";
|
|
21
|
+
export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentCreateOutcome, CommentDeletePayload, CommentPayload, CommentPermissions, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.js";
|
|
22
|
+
export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLIENT_ID_MAX_LENGTH, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, PROJECT_NAME_MAX_LENGTH, SITEPING_PROTOCOL_VERSION, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.js";
|
|
20
23
|
export { errorFromResponse, feedbackQueryToSearchParams, isCommentGone, isThreadFull, mergeRequestHeaders, networkErrorFromException, newClientId, withSearchParams, } from "./wire.js";
|