@semiont/frontend 0.5.5 → 0.5.6
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/dist/assets/{ArrowsRightLeftIcon-eQUXtsyS.js → ArrowsRightLeftIcon-C7eE1lVN.js} +2 -2
- package/dist/assets/{ArrowsRightLeftIcon-eQUXtsyS.js.map → ArrowsRightLeftIcon-C7eE1lVN.js.map} +1 -1
- package/dist/assets/{ChevronLeftIcon-QLs1eT1j.js → ChevronLeftIcon-BItMAxjy.js} +2 -2
- package/dist/assets/{ChevronLeftIcon-QLs1eT1j.js.map → ChevronLeftIcon-BItMAxjy.js.map} +1 -1
- package/dist/assets/{CommandLineIcon-BEeeWFhQ.js → CommandLineIcon-BxjxKXBi.js} +2 -2
- package/dist/assets/{CommandLineIcon-BEeeWFhQ.js.map → CommandLineIcon-BxjxKXBi.js.map} +1 -1
- package/dist/assets/CookiePreferences-D8IJVuy6.js +2 -0
- package/dist/assets/CookiePreferences-D8IJVuy6.js.map +1 -0
- package/dist/assets/KeyboardShortcutsContext-CK1G6PDA.js +2 -0
- package/dist/assets/KeyboardShortcutsContext-CK1G6PDA.js.map +1 -0
- package/dist/assets/PdfAnnotationCanvas.client-NIMALXNZ-DSgLF5FC.js +2 -0
- package/dist/assets/PdfAnnotationCanvas.client-NIMALXNZ-DSgLF5FC.js.map +1 -0
- package/dist/assets/ToolbarPanels-NRWKiMDt.js +2 -0
- package/dist/assets/ToolbarPanels-NRWKiMDt.js.map +1 -0
- package/dist/assets/{XMarkIcon-CddZGiiz.js → XMarkIcon-D1vU4NLc.js} +2 -2
- package/dist/assets/{XMarkIcon-CddZGiiz.js.map → XMarkIcon-D1vU4NLc.js.map} +1 -1
- package/dist/assets/{ar-U2EXWUMQ-Ds9Pt3_I.js → ar-U2EXWUMQ-DLzNfNaf.js} +1 -1
- package/dist/assets/{ar-U2EXWUMQ-Ds9Pt3_I.js.map → ar-U2EXWUMQ-DLzNfNaf.js.map} +1 -1
- package/dist/assets/{bn-DRJGV772-BUYrNEk8.js → bn-DRJGV772-DCr9yExq.js} +1 -1
- package/dist/assets/{bn-DRJGV772-BUYrNEk8.js.map → bn-DRJGV772-DCr9yExq.js.map} +1 -1
- package/dist/assets/client-BO0_JrNY.js +2 -0
- package/dist/assets/{client-C54EWgTc.js.map → client-BO0_JrNY.js.map} +1 -1
- package/dist/assets/client-CAT3EReo.js +2 -0
- package/dist/assets/{client-myF3ozNf.js.map → client-CAT3EReo.js.map} +1 -1
- package/dist/assets/client-Dy6LkcEO.js +2 -0
- package/dist/assets/client-Dy6LkcEO.js.map +1 -0
- package/dist/assets/client-U9wADwaz.js +2 -0
- package/dist/assets/client-U9wADwaz.js.map +1 -0
- package/dist/assets/{cs-PTWDM23V-DfbMzFEw.js → cs-PTWDM23V-B-bd38Gd.js} +1 -1
- package/dist/assets/{cs-PTWDM23V-DfbMzFEw.js.map → cs-PTWDM23V-B-bd38Gd.js.map} +1 -1
- package/dist/assets/{da-KSNIKYSS-BMtq201F.js → da-KSNIKYSS-PYsa_WK_.js} +1 -1
- package/dist/assets/{da-KSNIKYSS-BMtq201F.js.map → da-KSNIKYSS-PYsa_WK_.js.map} +1 -1
- package/dist/assets/{de-F2XBEWFY-ChjoYEH0.js → de-F2XBEWFY-nteWWMw7.js} +1 -1
- package/dist/assets/{de-F2XBEWFY-ChjoYEH0.js.map → de-F2XBEWFY-nteWWMw7.js.map} +1 -1
- package/dist/assets/{el-DLD2GWAP-ClFunpNV.js → el-DLD2GWAP-BsnAib-u.js} +1 -1
- package/dist/assets/{el-DLD2GWAP-ClFunpNV.js.map → el-DLD2GWAP-BsnAib-u.js.map} +1 -1
- package/dist/assets/en-L45VK7BS-CYlxuSdI.js +1 -0
- package/dist/assets/{es-WLPYWGB5-C53vYarX.js → es-WLPYWGB5-CJcYln9_.js} +1 -1
- package/dist/assets/{es-WLPYWGB5-C53vYarX.js.map → es-WLPYWGB5-CJcYln9_.js.map} +1 -1
- package/dist/assets/{fa-BAXHSDZG-DJia4XF_.js → fa-BAXHSDZG-CrevfoWS.js} +1 -1
- package/dist/assets/{fa-BAXHSDZG-DJia4XF_.js.map → fa-BAXHSDZG-CrevfoWS.js.map} +1 -1
- package/dist/assets/{fi-FCHSYVOT-D2etzjyC.js → fi-FCHSYVOT-CDPbzSNL.js} +1 -1
- package/dist/assets/{fi-FCHSYVOT-D2etzjyC.js.map → fi-FCHSYVOT-CDPbzSNL.js.map} +1 -1
- package/dist/assets/{fr-3UERBSL6-Bi8o9u26.js → fr-3UERBSL6-DQW-5XX3.js} +1 -1
- package/dist/assets/{fr-3UERBSL6-Bi8o9u26.js.map → fr-3UERBSL6-DQW-5XX3.js.map} +1 -1
- package/dist/assets/{he-F6F3FV2K-CwGkucCK.js → he-F6F3FV2K-Dx6fB_nt.js} +1 -1
- package/dist/assets/{he-F6F3FV2K-CwGkucCK.js.map → he-F6F3FV2K-Dx6fB_nt.js.map} +1 -1
- package/dist/assets/{hi-4BK6IK7Q-fsSpyO-Z.js → hi-4BK6IK7Q-DFKESnIA.js} +1 -1
- package/dist/assets/{hi-4BK6IK7Q-fsSpyO-Z.js.map → hi-4BK6IK7Q-DFKESnIA.js.map} +1 -1
- package/dist/assets/i18n-X0oNIUcF.js +2 -0
- package/dist/assets/i18n-X0oNIUcF.js.map +1 -0
- package/dist/assets/{id-7ECCWP3J-MhvUbYNG.js → id-7ECCWP3J-DW6nWlLy.js} +1 -1
- package/dist/assets/{id-7ECCWP3J-MhvUbYNG.js.map → id-7ECCWP3J-DW6nWlLy.js.map} +1 -1
- package/dist/assets/index-4ZdXX6QX.js +141 -0
- package/dist/assets/index-4ZdXX6QX.js.map +1 -0
- package/dist/assets/index-D8uACGGo.css +1 -0
- package/dist/assets/{it-234Z6XK6-n-8MkFtz.js → it-234Z6XK6-Bk6UsHAr.js} +1 -1
- package/dist/assets/{it-234Z6XK6-n-8MkFtz.js.map → it-234Z6XK6-Bk6UsHAr.js.map} +1 -1
- package/dist/assets/{ja-PJWQI4OQ-CbrcVSYZ.js → ja-PJWQI4OQ-DriKTV93.js} +1 -1
- package/dist/assets/{ja-PJWQI4OQ-CbrcVSYZ.js.map → ja-PJWQI4OQ-DriKTV93.js.map} +1 -1
- package/dist/assets/{ko-APUEW2RS-CLubHAbf.js → ko-APUEW2RS-Dtb4rfsd.js} +1 -1
- package/dist/assets/{ko-APUEW2RS-CLubHAbf.js.map → ko-APUEW2RS-Dtb4rfsd.js.map} +1 -1
- package/dist/assets/layout-CULnxUJ3.js +2 -0
- package/dist/assets/{layout-WUjhuEFR.js.map → layout-CULnxUJ3.js.map} +1 -1
- package/dist/assets/layout-CvFPeLpC.js +2 -0
- package/dist/assets/layout-CvFPeLpC.js.map +1 -0
- package/dist/assets/layout-Dc6P9OQi.js +2 -0
- package/dist/assets/{layout-DGddEk2F.js.map → layout-Dc6P9OQi.js.map} +1 -1
- package/dist/assets/layout-jEsUSQuF.js +2 -0
- package/dist/assets/layout-jEsUSQuF.js.map +1 -0
- package/dist/assets/{ms-PJBZWZWD-Bu45eJYe.js → ms-PJBZWZWD-DO0k7uWp.js} +1 -1
- package/dist/assets/{ms-PJBZWZWD-Bu45eJYe.js.map → ms-PJBZWZWD-DO0k7uWp.js.map} +1 -1
- package/dist/assets/{nl-L4C3ZBCU-bLU3oN_N.js → nl-L4C3ZBCU-CJP-Eqv_.js} +1 -1
- package/dist/assets/{nl-L4C3ZBCU-bLU3oN_N.js.map → nl-L4C3ZBCU-CJP-Eqv_.js.map} +1 -1
- package/dist/assets/{no-QE5N5KNG-BCG75Nm1.js → no-QE5N5KNG-bwKXK3U3.js} +1 -1
- package/dist/assets/{no-QE5N5KNG-BCG75Nm1.js.map → no-QE5N5KNG-bwKXK3U3.js.map} +1 -1
- package/dist/assets/not-found-s74NFmqb.js +2 -0
- package/dist/assets/not-found-s74NFmqb.js.map +1 -0
- package/dist/assets/page-6nYrYD6e.js +2 -0
- package/dist/assets/page-6nYrYD6e.js.map +1 -0
- package/dist/assets/page-B7FPl-yZ.js +2 -0
- package/dist/assets/{page-ClOO6d4L.js.map → page-B7FPl-yZ.js.map} +1 -1
- package/dist/assets/page-BDMoqEKR.js +2 -0
- package/dist/assets/page-BDMoqEKR.js.map +1 -0
- package/dist/assets/page-BFFn9Is-.js +2 -0
- package/dist/assets/page-BFFn9Is-.js.map +1 -0
- package/dist/assets/page-BXLfU1Yt.js +2 -0
- package/dist/assets/{page-vxSCIznX.js.map → page-BXLfU1Yt.js.map} +1 -1
- package/dist/assets/{page-DWTT4pP82.js → page-BwSljb_b2.js} +2 -2
- package/dist/assets/page-BwSljb_b2.js.map +1 -0
- package/dist/assets/page-BxKo1QmK.js +2 -0
- package/dist/assets/page-BxKo1QmK.js.map +1 -0
- package/dist/assets/page-ByC3SzfF.js +2 -0
- package/dist/assets/{page-A0bP7R9_.js.map → page-ByC3SzfF.js.map} +1 -1
- package/dist/assets/{page-Crea7MLa.js → page-CIqeAC82.js} +2 -2
- package/dist/assets/page-CIqeAC82.js.map +1 -0
- package/dist/assets/page-CQJ6mG0Q.js +2 -0
- package/dist/assets/{page-3_orURnj.js.map → page-CQJ6mG0Q.js.map} +1 -1
- package/dist/assets/page-CwwGdzWc.js +8 -0
- package/dist/assets/page-CwwGdzWc.js.map +1 -0
- package/dist/assets/page-D2bs8Qye.js +2 -0
- package/dist/assets/{page-D9VjQ4Ci.js.map → page-D2bs8Qye.js.map} +1 -1
- package/dist/assets/page-DEnKQojs.js +2 -0
- package/dist/assets/{page-Db8QDovL.js.map → page-DEnKQojs.js.map} +1 -1
- package/dist/assets/page-DHe0RTHk.js +2 -0
- package/dist/assets/{page-BXDwcCLI.js.map → page-DHe0RTHk.js.map} +1 -1
- package/dist/assets/page-DIlYsvOT.js +2 -0
- package/dist/assets/{page-DGGXDS8h.js.map → page-DIlYsvOT.js.map} +1 -1
- package/dist/assets/page-DrOU7JkL.js +2 -0
- package/dist/assets/{page-V3GB89Xa.js.map → page-DrOU7JkL.js.map} +1 -1
- package/dist/assets/page-Vfo8w1RS.js +2 -0
- package/dist/assets/{page-D3vt40lt.js.map → page-Vfo8w1RS.js.map} +1 -1
- package/dist/assets/page-dVggAE3y.js +2 -0
- package/dist/assets/{page-CoU19X7P.js.map → page-dVggAE3y.js.map} +1 -1
- package/dist/assets/{pl-5Q2D23PD-DgP2517z.js → pl-5Q2D23PD-zmHOkhlb.js} +1 -1
- package/dist/assets/{pl-5Q2D23PD-DgP2517z.js.map → pl-5Q2D23PD-zmHOkhlb.js.map} +1 -1
- package/dist/assets/{pt-AIGUOIOC-CN21pR38.js → pt-AIGUOIOC-q0F8hEMQ.js} +1 -1
- package/dist/assets/{pt-AIGUOIOC-CN21pR38.js.map → pt-AIGUOIOC-q0F8hEMQ.js.map} +1 -1
- package/dist/assets/{ro-T56CSHTY-mCdsn9QL.js → ro-T56CSHTY-B5UVxb8p.js} +1 -1
- package/dist/assets/{ro-T56CSHTY-mCdsn9QL.js.map → ro-T56CSHTY-B5UVxb8p.js.map} +1 -1
- package/dist/assets/{routing-CcetIVef.js → routing-B8sg1WUP.js} +2 -2
- package/dist/assets/{routing-CcetIVef.js.map → routing-B8sg1WUP.js.map} +1 -1
- package/dist/assets/routing-CfZBmnyE.js +2 -0
- package/dist/assets/{routing-Dqgz2rV4.js.map → routing-CfZBmnyE.js.map} +1 -1
- package/dist/assets/{sv-L4TJQ2UH-Cj1jmTXz.js → sv-L4TJQ2UH-BP84WWpf.js} +1 -1
- package/dist/assets/{sv-L4TJQ2UH-Cj1jmTXz.js.map → sv-L4TJQ2UH-BP84WWpf.js.map} +1 -1
- package/dist/assets/{th-6O7Y6O2Q-Db0HgJLY.js → th-6O7Y6O2Q-DkoryWDb.js} +1 -1
- package/dist/assets/{th-6O7Y6O2Q-Db0HgJLY.js.map → th-6O7Y6O2Q-DkoryWDb.js.map} +1 -1
- package/dist/assets/{tr-D4CQCSNO-B0u3f4nL.js → tr-D4CQCSNO-DT8ORhAV.js} +1 -1
- package/dist/assets/{tr-D4CQCSNO-B0u3f4nL.js.map → tr-D4CQCSNO-DT8ORhAV.js.map} +1 -1
- package/dist/assets/{uk-2HMQG6ND-Dx2FfvV4.js → uk-2HMQG6ND-ItxxukFO.js} +1 -1
- package/dist/assets/{uk-2HMQG6ND-Dx2FfvV4.js.map → uk-2HMQG6ND-ItxxukFO.js.map} +1 -1
- package/dist/assets/{vendor-0HjOURbh.js → vendor-Bd-5Ya9C.js} +5 -5
- package/dist/assets/{vendor-0HjOURbh.js.map → vendor-Bd-5Ya9C.js.map} +1 -1
- package/dist/assets/{vi-XVJ4RUEJ-CeoZ1h3m.js → vi-XVJ4RUEJ-D1cjj8yP.js} +1 -1
- package/dist/assets/{vi-XVJ4RUEJ-CeoZ1h3m.js.map → vi-XVJ4RUEJ-D1cjj8yP.js.map} +1 -1
- package/dist/assets/web-BxhHxuus.js +2 -0
- package/dist/assets/web-BxhHxuus.js.map +1 -0
- package/dist/assets/{zh-K2KDPGHK-BriluvPe.js → zh-K2KDPGHK-j1v7CkF4.js} +1 -1
- package/dist/assets/{zh-K2KDPGHK-BriluvPe.js.map → zh-K2KDPGHK-j1v7CkF4.js.map} +1 -1
- package/dist/index.html +5 -7
- package/package.json +1 -1
- package/dist/assets/CookiePreferences-Vt05bBY7.js +0 -2
- package/dist/assets/CookiePreferences-Vt05bBY7.js.map +0 -1
- package/dist/assets/KeyboardShortcutsContext-CK7NFEft.js +0 -2
- package/dist/assets/KeyboardShortcutsContext-CK7NFEft.js.map +0 -1
- package/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js +0 -2
- package/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js.map +0 -1
- package/dist/assets/ToolbarPanels-wzZqAqCQ.js +0 -2
- package/dist/assets/ToolbarPanels-wzZqAqCQ.js.map +0 -1
- package/dist/assets/chunk-GERSK2DY-D2Q8aVeK.js +0 -2
- package/dist/assets/chunk-GERSK2DY-D2Q8aVeK.js.map +0 -1
- package/dist/assets/chunk-K6BJDL2I-CcwOtHVB.js +0 -2
- package/dist/assets/chunk-K6BJDL2I-CcwOtHVB.js.map +0 -1
- package/dist/assets/client-C54EWgTc.js +0 -2
- package/dist/assets/client-D5yyxFbt.js +0 -2
- package/dist/assets/client-D5yyxFbt.js.map +0 -1
- package/dist/assets/client-DgzjF497.js +0 -2
- package/dist/assets/client-DgzjF497.js.map +0 -1
- package/dist/assets/client-myF3ozNf.js +0 -2
- package/dist/assets/en-L45VK7BS-C9ArL-E1.js +0 -1
- package/dist/assets/i18n-B53Yefbh.js +0 -2
- package/dist/assets/i18n-B53Yefbh.js.map +0 -1
- package/dist/assets/index-95t-6XJg.css +0 -1
- package/dist/assets/index-DojEUBpq.js +0 -141
- package/dist/assets/index-DojEUBpq.js.map +0 -1
- package/dist/assets/layout-CpxxVgZl.js +0 -2
- package/dist/assets/layout-CpxxVgZl.js.map +0 -1
- package/dist/assets/layout-DGddEk2F.js +0 -2
- package/dist/assets/layout-WUjhuEFR.js +0 -2
- package/dist/assets/layout-osn4jTJF.js +0 -2
- package/dist/assets/layout-osn4jTJF.js.map +0 -1
- package/dist/assets/not-found-CXjr3aHk.js +0 -2
- package/dist/assets/not-found-CXjr3aHk.js.map +0 -1
- package/dist/assets/page-3_orURnj.js +0 -2
- package/dist/assets/page-A0bP7R9_.js +0 -2
- package/dist/assets/page-BXDwcCLI.js +0 -2
- package/dist/assets/page-CR97hIaP.js +0 -2
- package/dist/assets/page-CR97hIaP.js.map +0 -1
- package/dist/assets/page-ClOO6d4L.js +0 -2
- package/dist/assets/page-CoU19X7P.js +0 -2
- package/dist/assets/page-Crea7MLa.js.map +0 -1
- package/dist/assets/page-D3vt40lt.js +0 -2
- package/dist/assets/page-D74-p81B.js +0 -8
- package/dist/assets/page-D74-p81B.js.map +0 -1
- package/dist/assets/page-D9VjQ4Ci.js +0 -2
- package/dist/assets/page-DAaiG0_S.js +0 -2
- package/dist/assets/page-DAaiG0_S.js.map +0 -1
- package/dist/assets/page-DGGXDS8h.js +0 -2
- package/dist/assets/page-DWTT4pP82.js.map +0 -1
- package/dist/assets/page-Db8QDovL.js +0 -2
- package/dist/assets/page-V3GB89Xa.js +0 -2
- package/dist/assets/page-pid5J2JR.js +0 -2
- package/dist/assets/page-pid5J2JR.js.map +0 -1
- package/dist/assets/page-vxSCIznX.js +0 -2
- package/dist/assets/page-yaV9evoV.js +0 -2
- package/dist/assets/page-yaV9evoV.js.map +0 -1
- package/dist/assets/routing-Dqgz2rV4.js +0 -2
- package/dist/assets/web-DAgGdiC_.js +0 -2
- package/dist/assets/web-DAgGdiC_.js.map +0 -1
- /package/dist/assets/{rolldown-runtime-jpDsebLB.js → rolldown-runtime-Bh1tDfsg.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var e={annotations:`注释`,history:`历史`,resourceInfo:`资源信息`,collaboration:`协作`,userAccount:`用户帐户`,settings:`设置`,knowledgeBase:`知识库`},t={title:`资源信息`,locale:`区域设置`,notSpecified:`未指定`,entityTypeTags:`实体类型标签`,representation:`表示形式`,mediaType:`媒体类型`,byteSize:`大小`,clone:`克隆`,cloneDescription:`为此资源生成可共享的克隆链接`,archive:`归档`,archiveDescription:`将此资源移至已归档状态`,unarchive:`取消归档`,unarchiveDescription:`将此资源恢复为活跃状态`,provenance:`来源`,createdAt:`创建时间`,modifiedAt:`修改时间`,attributedTo:`归属于`,derivedFrom:`派生自`,storageUri:`存储`},n={title:`协作`,connectionStatus:`连接状态`,live:`实时`,disconnected:`已断开`,events:`{{count}} 个事件`,lastSync:`上次同步:`,noActivity:`暂无活动`,justNow:`刚刚`,secondsAgo:`{{count}} 秒前`,minuteAgo:`1 分钟前`,minutesAgo:`{{count}} 分钟前`,hourAgo:`1 小时前`,hoursAgo:`{{count}} 小时前`,realtimeActive:`实时更新已激活`,reconnecting:`正在重新连接服务器...`,sharing:`共享`,collaborationComingSoon:`协作功能即将推出`},r={history:`历史`,loading:`加载中...`,user:`用户`,viewOriginal:`查看原文`,viewAnnotation:`查看注释:{{content}}`,resourceCreated:`已创建资源`,resourceCloned:`已克隆`,resourceArchived:`已归档`,resourceUnarchived:`已取消归档`,highlightAdded:`已添加高亮`,highlightRemoved:`已移除高亮`,referenceCreated:`已创建引用`,referenceResolved:`已解析引用`,referenceDeleted:`已删除引用`,entitytagAdded:`已添加标签`,entitytagRemoved:`已移除标签`,assessmentAdded:`已添加评估`,assessmentRemoved:`已移除评估`,annotationAdded:`已添加注释`,annotationRemoved:`已移除注释`,annotationBodyUpdated:`已更新注释`,jobEvent:`任务事件`,justNow:`刚刚`,minutesAgo:`{{count}}分钟前`,hoursAgo:`{{count}}小时前`,daysAgo:`{{count}}天前`},i={title:`评论`,noComments:`暂无评论。选择文本并点击评论来添加。`,commentPlaceholder:`在此输入您的评论...`,save:`保存`,cancel:`取消`,edit:`编辑`,annotateComments:`注释评论`,instructions:`说明`,optional:`(可选)`,instructionsPlaceholder:`例如,关注技术术语...`,annotate:`注释`,annotating:`正在注释...`,toneLabel:`语气`,toneOptional:`(可选)`,toneScholarly:`学术`,toneExplanatory:`解释性`,toneConversational:`对话式`,toneTechnical:`技术性`,densityLabel:`密度`,densitySparse:`稀疏`,densityDense:`密集`,fragmentSelected:`已选择片段`,imageRegionSelected:`已选择图像区域`,closeProgress:`关闭`},a={title:`高亮`,noHighlights:`暂无高亮。使用 AI 注释查找重要段落。`,annotateHighlights:`注释高亮`,instructions:`说明`,optional:`(可选)`,instructionsPlaceholder:`例如,关注关键技术概念...`,annotate:`注释`,annotating:`正在注释...`,cancel:`取消`,densityLabel:`密度`,densitySparse:`稀疏`,densityDense:`密集`,closeProgress:`关闭`},o={title:`评估`,noAssessments:`暂无评估。使用 AI 注释评价段落。`,assessmentPlaceholder:`在此输入您的评估...`,save:`保存`,cancel:`取消`,annotateAssessments:`注释评估`,instructions:`说明`,optional:`(可选)`,instructionsPlaceholder:`例如,评估声明的准确性和证据...`,annotate:`注释`,annotating:`正在注释...`,toneLabel:`语气`,toneOptional:`(可选)`,toneAnalytical:`分析性`,toneCritical:`批判性`,toneBalanced:`平衡`,toneConstructive:`建设性`,densityLabel:`密度`,densitySparse:`稀疏`,densityDense:`密集`,fragmentSelected:`已选择片段`,imageRegionSelected:`已选择图像区域`,closeProgress:`关闭`},s={title:`标签`,noTags:`暂无标签。使用 AI 注释识别结构角色。`,noSchemas:"此知识库尚未注册任何标签模式。KB 管理员必须先注册至少一个结构分析模式(例如通过 `register-tag-schemas` 技能),然后才能使用标签功能。",annotateTags:`注释标签`,selectSchema:`选择框架`,selectCategories:`选择分类`,annotate:`注释`,annotating:`正在注释...`,cancel:`取消`,selectAll:`全选`,deselectAll:`取消全选`,categoriesSelected:`{count, plural, =0 {未选择分类} =1 {已选择 1 个分类} other {已选择 # 个分类}}`,createTagForSelection:`为选择内容创建标签`,selectCategory:`选择分类`,chooseCategory:`选择一个分类...`,fragmentSelected:`已选择片段`,imageRegionSelected:`已选择图像区域`},c={title:`注释`,statistics:`统计`,highlight:`高亮`,reference:`引用`,assessment:`评估`,comment:`评论`,tag:`标签`},l={title:`统计`,highlights:`高亮`,comments:`评论`,assessments:`评估`,tags:`标签`,references:`引用`,stub:`存根`,resolved:`已解析`,entityTypes:`实体类型`},u={title:`引用`,noReferences:`暂无引用。选择文本以创建对其他资源的引用。`,outgoingReferences:`外部引用`,incomingReferences:`传入引用`,noIncomingReferences:`无传入引用`,stub:`存根引用(未链接)`,resolved:`已解析引用(已链接)`,open:`打开`,unlink:`取消链接`,resolve:`解析引用`,cancel:`取消`,createReference:`创建引用`,entityTypesOptional:`实体类型(可选)`,fragmentSelected:`已选择片段`,imageRegionSelected:`已选择图像区域`,annotateReferences:`注释引用`,selectEntityTypes:`实体类型:`,select:`选择`,deselect:`取消选择`,noEntityTypes:`没有可用的实体类型`,typesSelected:`{count, plural, =1 {已选择 1 个类型} other {已选择 # 个类型}}`,annotate:`注释`,annotating:`正在注释...`,includeDescriptiveReferences:`包含描述性引用`,descriptiveReferencesTooltip:`同时查找诸如「首席执行官」、「科技巨头」、「物理学家」等短语(除名称外)`,annotationProgressTitle:`正在注释实体引用`,cancelAnnotation:`取消注释`,found:`找到 {{count}} 个`,complete:`注释完成!`,failed:`注释失败`,current:`当前:{{entityType}}`,closeProgress:`关闭`,loading:`加载中...`,loadingEllipsis:`加载中...`,untitledResource:`无标题资源`,noText:`无文本`},d={title:`键盘快捷键`,closeDialog:`关闭对话框`,or:`或`,navigationTitle:`导航`,navOpenSearch:`打开全局搜索`,navOpenSearchAlt:`打开全局搜索(备选方式)`,navCreateResource:`创建新资源`,navCloseOverlays:`关闭所有覆盖层(双击)`,navShowHelp:`显示键盘快捷键帮助`,sidebarTitle:`知识侧边栏`,sidebarCollapse:`折叠侧边栏`,sidebarExpand:`展开侧边栏`,sidebarPickup:`拾取资源标签页(聚焦时)`,sidebarMove:`移动资源标签页(拖动时)`,sidebarDrop:`放下资源标签页(拖动时)`,sidebarCancel:`取消拖动操作`,annotationsTitle:`资源注释`,annotHighlight:`从注释创建高亮(直接)`,annotReference:`打开注释的引用弹窗`,annotDelete:`删除聚焦的注释`,annotNavigate:`浏览注释`,annotNavigateBack:`向后浏览注释`,listsTitle:`列表与网格`,listsFilterNav:`浏览实体类型筛选器`,listsGridNav:`浏览资源网格`,listsJumpFirst:`跳转到第一项`,listsJumpLast:`跳转到最后一项`,searchModalTitle:`在搜索模态框中`,searchNav:`浏览搜索结果`,searchSelect:`选择结果`,searchClose:`关闭搜索`,modalTitle:`模态框控制`,modalClose:`关闭活动模态框`,modalNavForward:`向前浏览按钮`,modalNavBackward:`向后浏览按钮`,modalActivate:`激活聚焦的按钮`,accessibilityTitle:`无障碍`,a11ySkipLinks:`导航到跳转链接(在页面顶部时)`,a11yFollowLink:`跟随跳转链接`,macNote:`使用 Mac 键盘快捷键。Command 是 Command 键。`,windowsNote:`使用 Windows/Linux 键盘快捷键。Ctrl 是 Ctrl 键。`,footerHint:`随时按 {{key}} 显示此帮助`,close:`关闭`},f={modeGroup:`模式`,browse:`浏览`,annotate:`注释`,selectionGroup:`动机`,clickGroup:`点击`,shapeGroup:`形状`,none:`无`,linking:`引用`,highlighting:`高亮`,assessing:`评估`,commenting:`评论`,tagging:`标签`,detail:`详情`,follow:`跟随`,deleting:`删除`,jsonld:`JSON-LD`,rectangle:`矩形`,circle:`圆形`,polygon:`多边形`},p={title:`导航`,collapseSidebar:`折叠侧边栏`,expandSidebar:`展开侧边栏`,dragToReorder:`拖动以重新排序`,dragToReorderDoc:`拖动以重新排序 {{name}}`,closeResource:`关闭资源`,dragInstructions:`要重新排序资源:使用 Tab 导航到资源。按 Alt+上箭头向上移动或 Alt+下箭头向下移动。对于拖放操作:按空格键拾取项目。使用方向键移动它。再次按空格键放下。`},m={deleteConfirmationTitle:`删除注释`,deleteConfirmationMessage:`您确定要删除此注释吗?此操作无法撤消。`,deleteConfirmationCancel:`取消`,deleteConfirmationDelete:`删除`},h={title:`设置`,lineNumbers:`行号`,lineNumbersVisible:`显示`,lineNumbersHidden:`隐藏`,theme:`主题`,themeLight:`浅色`,themeDark:`深色`,themeSystem:`系统`,themeSystemActive:`系统({{mode}})`,themeModeActive:`使用{{mode}}模式`,language:`语言`,languageHint:`在主导航中更改语言`,languageChanging:`正在更改语言...`,hoverDelay:`悬停延迟`,hoverDelayFast:`快速`,hoverDelaySlow:`慢速`,hoverDelayDescription:`悬停效果出现前延迟 {{delay}}ms`},g={},_={gatherTitle:`已收集的上下文`,configureGenerationTitle:`配置生成`,configureSearchTitle:`配置搜索`,searchResultsTitle:`搜索结果`,sourceContextLabel:`资源中的注释上下文`,connectionsLabel:`对等注释`,citedByLabel:`资源被引用`,userHintLabel:`提示`,userHintPlaceholder:`描述此注释所指的内容...`,loadingContext:`正在收集上下文...`,failedContext:`收集上下文失败`,cancel:`取消`,generate:`生成`,compose:`编写`,resolutionStrategyLabel:`解析策略`,back:`返回`,link:`链接`,score:`评分`,noResults:`未找到结果`,resourceTitle:`资源标题`,resourceTitlePlaceholder:`输入资源标题...`,additionalInstructions:`附加说明`,additionalInstructionsPlaceholder:`输入附加说明...`,language:`语言`,languageHelp:`生成内容的语言`,creativity:`创造力`,creativityFocused:`专注`,creativityCreative:`创造性`,maxLength:`最大长度`,maxLengthHelp:`最大令牌数`,maxResults:`最大结果数`,semanticScoring:`语义评分`,semanticScoringHelp:`使用 AI 按语义相关性对结果进行评分`,searching:`搜索中...`,search:`搜索`},v={embeddingComputed:`嵌入计算完成`},y={Toolbar:e,ResourceInfoPanel:t,CollaborationPanel:n,AnnotationHistory:r,CommentsPanel:i,HighlightPanel:a,AssessmentPanel:o,TaggingPanel:s,UnifiedAnnotationsPanel:c,StatisticsPanel:l,ReferencesPanel:u,KeyboardShortcuts:d,AnnotateToolbar:f,CollapsibleResourceNavigation:p,ResourceViewer:m,Settings:h,AnnotateView:g,ReferenceWizard:_,History:v};export{f as AnnotateToolbar,g as AnnotateView,r as AnnotationHistory,o as AssessmentPanel,n as CollaborationPanel,p as CollapsibleResourceNavigation,i as CommentsPanel,a as HighlightPanel,v as History,d as KeyboardShortcuts,_ as ReferenceWizard,u as ReferencesPanel,t as ResourceInfoPanel,m as ResourceViewer,h as Settings,l as StatisticsPanel,s as TaggingPanel,e as Toolbar,c as UnifiedAnnotationsPanel,y as default};
|
|
2
|
-
//# sourceMappingURL=zh-K2KDPGHK-
|
|
2
|
+
//# sourceMappingURL=zh-K2KDPGHK-j1v7CkF4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-K2KDPGHK-BriluvPe.js","names":[],"sources":["../../../../packages/react-ui/dist/zh-K2KDPGHK.js"],"sourcesContent":["'use client';\nimport \"./chunk-K6BJDL2I.js\";\n\n// translations/zh.json\nvar Toolbar = {\n annotations: \"\\u6CE8\\u91CA\",\n history: \"\\u5386\\u53F2\",\n resourceInfo: \"\\u8D44\\u6E90\\u4FE1\\u606F\",\n collaboration: \"\\u534F\\u4F5C\",\n userAccount: \"\\u7528\\u6237\\u5E10\\u6237\",\n settings: \"\\u8BBE\\u7F6E\",\n knowledgeBase: \"\\u77E5\\u8BC6\\u5E93\"\n};\nvar ResourceInfoPanel = {\n title: \"\\u8D44\\u6E90\\u4FE1\\u606F\",\n locale: \"\\u533A\\u57DF\\u8BBE\\u7F6E\",\n notSpecified: \"\\u672A\\u6307\\u5B9A\",\n entityTypeTags: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\u6807\\u7B7E\",\n representation: \"\\u8868\\u793A\\u5F62\\u5F0F\",\n mediaType: \"\\u5A92\\u4F53\\u7C7B\\u578B\",\n byteSize: \"\\u5927\\u5C0F\",\n clone: \"\\u514B\\u9686\",\n cloneDescription: \"\\u4E3A\\u6B64\\u8D44\\u6E90\\u751F\\u6210\\u53EF\\u5171\\u4EAB\\u7684\\u514B\\u9686\\u94FE\\u63A5\",\n archive: \"\\u5F52\\u6863\",\n archiveDescription: \"\\u5C06\\u6B64\\u8D44\\u6E90\\u79FB\\u81F3\\u5DF2\\u5F52\\u6863\\u72B6\\u6001\",\n unarchive: \"\\u53D6\\u6D88\\u5F52\\u6863\",\n unarchiveDescription: \"\\u5C06\\u6B64\\u8D44\\u6E90\\u6062\\u590D\\u4E3A\\u6D3B\\u8DC3\\u72B6\\u6001\",\n provenance: \"\\u6765\\u6E90\",\n createdAt: \"\\u521B\\u5EFA\\u65F6\\u95F4\",\n modifiedAt: \"\\u4FEE\\u6539\\u65F6\\u95F4\",\n attributedTo: \"\\u5F52\\u5C5E\\u4E8E\",\n derivedFrom: \"\\u6D3E\\u751F\\u81EA\",\n storageUri: \"\\u5B58\\u50A8\"\n};\nvar CollaborationPanel = {\n title: \"\\u534F\\u4F5C\",\n connectionStatus: \"\\u8FDE\\u63A5\\u72B6\\u6001\",\n live: \"\\u5B9E\\u65F6\",\n disconnected: \"\\u5DF2\\u65AD\\u5F00\",\n events: \"{{count}} \\u4E2A\\u4E8B\\u4EF6\",\n lastSync: \"\\u4E0A\\u6B21\\u540C\\u6B65\\uFF1A\",\n noActivity: \"\\u6682\\u65E0\\u6D3B\\u52A8\",\n justNow: \"\\u521A\\u521A\",\n secondsAgo: \"{{count}} \\u79D2\\u524D\",\n minuteAgo: \"1 \\u5206\\u949F\\u524D\",\n minutesAgo: \"{{count}} \\u5206\\u949F\\u524D\",\n hourAgo: \"1 \\u5C0F\\u65F6\\u524D\",\n hoursAgo: \"{{count}} \\u5C0F\\u65F6\\u524D\",\n realtimeActive: \"\\u5B9E\\u65F6\\u66F4\\u65B0\\u5DF2\\u6FC0\\u6D3B\",\n reconnecting: \"\\u6B63\\u5728\\u91CD\\u65B0\\u8FDE\\u63A5\\u670D\\u52A1\\u5668...\",\n sharing: \"\\u5171\\u4EAB\",\n collaborationComingSoon: \"\\u534F\\u4F5C\\u529F\\u80FD\\u5373\\u5C06\\u63A8\\u51FA\"\n};\nvar AnnotationHistory = {\n history: \"\\u5386\\u53F2\",\n loading: \"\\u52A0\\u8F7D\\u4E2D...\",\n user: \"\\u7528\\u6237\",\n viewOriginal: \"\\u67E5\\u770B\\u539F\\u6587\",\n viewAnnotation: \"\\u67E5\\u770B\\u6CE8\\u91CA\\uFF1A{{content}}\",\n resourceCreated: \"\\u5DF2\\u521B\\u5EFA\\u8D44\\u6E90\",\n resourceCloned: \"\\u5DF2\\u514B\\u9686\",\n resourceArchived: \"\\u5DF2\\u5F52\\u6863\",\n resourceUnarchived: \"\\u5DF2\\u53D6\\u6D88\\u5F52\\u6863\",\n highlightAdded: \"\\u5DF2\\u6DFB\\u52A0\\u9AD8\\u4EAE\",\n highlightRemoved: \"\\u5DF2\\u79FB\\u9664\\u9AD8\\u4EAE\",\n referenceCreated: \"\\u5DF2\\u521B\\u5EFA\\u5F15\\u7528\",\n referenceResolved: \"\\u5DF2\\u89E3\\u6790\\u5F15\\u7528\",\n referenceDeleted: \"\\u5DF2\\u5220\\u9664\\u5F15\\u7528\",\n entitytagAdded: \"\\u5DF2\\u6DFB\\u52A0\\u6807\\u7B7E\",\n entitytagRemoved: \"\\u5DF2\\u79FB\\u9664\\u6807\\u7B7E\",\n assessmentAdded: \"\\u5DF2\\u6DFB\\u52A0\\u8BC4\\u4F30\",\n assessmentRemoved: \"\\u5DF2\\u79FB\\u9664\\u8BC4\\u4F30\",\n annotationAdded: \"\\u5DF2\\u6DFB\\u52A0\\u6CE8\\u91CA\",\n annotationRemoved: \"\\u5DF2\\u79FB\\u9664\\u6CE8\\u91CA\",\n annotationBodyUpdated: \"\\u5DF2\\u66F4\\u65B0\\u6CE8\\u91CA\",\n jobEvent: \"\\u4EFB\\u52A1\\u4E8B\\u4EF6\",\n justNow: \"\\u521A\\u521A\",\n minutesAgo: \"{{count}}\\u5206\\u949F\\u524D\",\n hoursAgo: \"{{count}}\\u5C0F\\u65F6\\u524D\",\n daysAgo: \"{{count}}\\u5929\\u524D\"\n};\nvar CommentsPanel = {\n title: \"\\u8BC4\\u8BBA\",\n noComments: \"\\u6682\\u65E0\\u8BC4\\u8BBA\\u3002\\u9009\\u62E9\\u6587\\u672C\\u5E76\\u70B9\\u51FB\\u8BC4\\u8BBA\\u6765\\u6DFB\\u52A0\\u3002\",\n commentPlaceholder: \"\\u5728\\u6B64\\u8F93\\u5165\\u60A8\\u7684\\u8BC4\\u8BBA...\",\n save: \"\\u4FDD\\u5B58\",\n cancel: \"\\u53D6\\u6D88\",\n edit: \"\\u7F16\\u8F91\",\n annotateComments: \"\\u6CE8\\u91CA\\u8BC4\\u8BBA\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u5173\\u6CE8\\u6280\\u672F\\u672F\\u8BED...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n toneLabel: \"\\u8BED\\u6C14\",\n toneOptional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n toneScholarly: \"\\u5B66\\u672F\",\n toneExplanatory: \"\\u89E3\\u91CA\\u6027\",\n toneConversational: \"\\u5BF9\\u8BDD\\u5F0F\",\n toneTechnical: \"\\u6280\\u672F\\u6027\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar HighlightPanel = {\n title: \"\\u9AD8\\u4EAE\",\n noHighlights: \"\\u6682\\u65E0\\u9AD8\\u4EAE\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u67E5\\u627E\\u91CD\\u8981\\u6BB5\\u843D\\u3002\",\n annotateHighlights: \"\\u6CE8\\u91CA\\u9AD8\\u4EAE\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u5173\\u6CE8\\u5173\\u952E\\u6280\\u672F\\u6982\\u5FF5...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n cancel: \"\\u53D6\\u6D88\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar AssessmentPanel = {\n title: \"\\u8BC4\\u4F30\",\n noAssessments: \"\\u6682\\u65E0\\u8BC4\\u4F30\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u8BC4\\u4EF7\\u6BB5\\u843D\\u3002\",\n assessmentPlaceholder: \"\\u5728\\u6B64\\u8F93\\u5165\\u60A8\\u7684\\u8BC4\\u4F30...\",\n save: \"\\u4FDD\\u5B58\",\n cancel: \"\\u53D6\\u6D88\",\n annotateAssessments: \"\\u6CE8\\u91CA\\u8BC4\\u4F30\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u8BC4\\u4F30\\u58F0\\u660E\\u7684\\u51C6\\u786E\\u6027\\u548C\\u8BC1\\u636E...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n toneLabel: \"\\u8BED\\u6C14\",\n toneOptional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n toneAnalytical: \"\\u5206\\u6790\\u6027\",\n toneCritical: \"\\u6279\\u5224\\u6027\",\n toneBalanced: \"\\u5E73\\u8861\",\n toneConstructive: \"\\u5EFA\\u8BBE\\u6027\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar TaggingPanel = {\n title: \"\\u6807\\u7B7E\",\n noTags: \"\\u6682\\u65E0\\u6807\\u7B7E\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u8BC6\\u522B\\u7ED3\\u6784\\u89D2\\u8272\\u3002\",\n noSchemas: \"\\u6B64\\u77E5\\u8BC6\\u5E93\\u5C1A\\u672A\\u6CE8\\u518C\\u4EFB\\u4F55\\u6807\\u7B7E\\u6A21\\u5F0F\\u3002KB \\u7BA1\\u7406\\u5458\\u5FC5\\u987B\\u5148\\u6CE8\\u518C\\u81F3\\u5C11\\u4E00\\u4E2A\\u7ED3\\u6784\\u5206\\u6790\\u6A21\\u5F0F\\uFF08\\u4F8B\\u5982\\u901A\\u8FC7 `register-tag-schemas` \\u6280\\u80FD\\uFF09\\uFF0C\\u7136\\u540E\\u624D\\u80FD\\u4F7F\\u7528\\u6807\\u7B7E\\u529F\\u80FD\\u3002\",\n annotateTags: \"\\u6CE8\\u91CA\\u6807\\u7B7E\",\n selectSchema: \"\\u9009\\u62E9\\u6846\\u67B6\",\n selectCategories: \"\\u9009\\u62E9\\u5206\\u7C7B\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n cancel: \"\\u53D6\\u6D88\",\n selectAll: \"\\u5168\\u9009\",\n deselectAll: \"\\u53D6\\u6D88\\u5168\\u9009\",\n categoriesSelected: \"{count, plural, =0 {\\u672A\\u9009\\u62E9\\u5206\\u7C7B} =1 {\\u5DF2\\u9009\\u62E9 1 \\u4E2A\\u5206\\u7C7B} other {\\u5DF2\\u9009\\u62E9 # \\u4E2A\\u5206\\u7C7B}}\",\n createTagForSelection: \"\\u4E3A\\u9009\\u62E9\\u5185\\u5BB9\\u521B\\u5EFA\\u6807\\u7B7E\",\n selectCategory: \"\\u9009\\u62E9\\u5206\\u7C7B\",\n chooseCategory: \"\\u9009\\u62E9\\u4E00\\u4E2A\\u5206\\u7C7B...\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"\\u6CE8\\u91CA\",\n statistics: \"\\u7EDF\\u8BA1\",\n highlight: \"\\u9AD8\\u4EAE\",\n reference: \"\\u5F15\\u7528\",\n assessment: \"\\u8BC4\\u4F30\",\n comment: \"\\u8BC4\\u8BBA\",\n tag: \"\\u6807\\u7B7E\"\n};\nvar StatisticsPanel = {\n title: \"\\u7EDF\\u8BA1\",\n highlights: \"\\u9AD8\\u4EAE\",\n comments: \"\\u8BC4\\u8BBA\",\n assessments: \"\\u8BC4\\u4F30\",\n tags: \"\\u6807\\u7B7E\",\n references: \"\\u5F15\\u7528\",\n stub: \"\\u5B58\\u6839\",\n resolved: \"\\u5DF2\\u89E3\\u6790\",\n entityTypes: \"\\u5B9E\\u4F53\\u7C7B\\u578B\"\n};\nvar ReferencesPanel = {\n title: \"\\u5F15\\u7528\",\n noReferences: \"\\u6682\\u65E0\\u5F15\\u7528\\u3002\\u9009\\u62E9\\u6587\\u672C\\u4EE5\\u521B\\u5EFA\\u5BF9\\u5176\\u4ED6\\u8D44\\u6E90\\u7684\\u5F15\\u7528\\u3002\",\n outgoingReferences: \"\\u5916\\u90E8\\u5F15\\u7528\",\n incomingReferences: \"\\u4F20\\u5165\\u5F15\\u7528\",\n noIncomingReferences: \"\\u65E0\\u4F20\\u5165\\u5F15\\u7528\",\n stub: \"\\u5B58\\u6839\\u5F15\\u7528\\uFF08\\u672A\\u94FE\\u63A5\\uFF09\",\n resolved: \"\\u5DF2\\u89E3\\u6790\\u5F15\\u7528\\uFF08\\u5DF2\\u94FE\\u63A5\\uFF09\",\n open: \"\\u6253\\u5F00\",\n unlink: \"\\u53D6\\u6D88\\u94FE\\u63A5\",\n resolve: \"\\u89E3\\u6790\\u5F15\\u7528\",\n cancel: \"\\u53D6\\u6D88\",\n createReference: \"\\u521B\\u5EFA\\u5F15\\u7528\",\n entityTypesOptional: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\uFF08\\u53EF\\u9009\\uFF09\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n annotateReferences: \"\\u6CE8\\u91CA\\u5F15\\u7528\",\n selectEntityTypes: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\uFF1A\",\n select: \"\\u9009\\u62E9\",\n deselect: \"\\u53D6\\u6D88\\u9009\\u62E9\",\n noEntityTypes: \"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5B9E\\u4F53\\u7C7B\\u578B\",\n typesSelected: \"{count, plural, =1 {\\u5DF2\\u9009\\u62E9 1 \\u4E2A\\u7C7B\\u578B} other {\\u5DF2\\u9009\\u62E9 # \\u4E2A\\u7C7B\\u578B}}\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n includeDescriptiveReferences: \"\\u5305\\u542B\\u63CF\\u8FF0\\u6027\\u5F15\\u7528\",\n descriptiveReferencesTooltip: \"\\u540C\\u65F6\\u67E5\\u627E\\u8BF8\\u5982\\u300C\\u9996\\u5E2D\\u6267\\u884C\\u5B98\\u300D\\u3001\\u300C\\u79D1\\u6280\\u5DE8\\u5934\\u300D\\u3001\\u300C\\u7269\\u7406\\u5B66\\u5BB6\\u300D\\u7B49\\u77ED\\u8BED\\uFF08\\u9664\\u540D\\u79F0\\u5916\\uFF09\",\n annotationProgressTitle: \"\\u6B63\\u5728\\u6CE8\\u91CA\\u5B9E\\u4F53\\u5F15\\u7528\",\n cancelAnnotation: \"\\u53D6\\u6D88\\u6CE8\\u91CA\",\n found: \"\\u627E\\u5230 {{count}} \\u4E2A\",\n complete: \"\\u6CE8\\u91CA\\u5B8C\\u6210\\uFF01\",\n failed: \"\\u6CE8\\u91CA\\u5931\\u8D25\",\n current: \"\\u5F53\\u524D\\uFF1A{{entityType}}\",\n closeProgress: \"\\u5173\\u95ED\",\n loading: \"\\u52A0\\u8F7D\\u4E2D...\",\n loadingEllipsis: \"\\u52A0\\u8F7D\\u4E2D...\",\n untitledResource: \"\\u65E0\\u6807\\u9898\\u8D44\\u6E90\",\n noText: \"\\u65E0\\u6587\\u672C\"\n};\nvar KeyboardShortcuts = {\n title: \"\\u952E\\u76D8\\u5FEB\\u6377\\u952E\",\n closeDialog: \"\\u5173\\u95ED\\u5BF9\\u8BDD\\u6846\",\n or: \"\\u6216\",\n navigationTitle: \"\\u5BFC\\u822A\",\n navOpenSearch: \"\\u6253\\u5F00\\u5168\\u5C40\\u641C\\u7D22\",\n navOpenSearchAlt: \"\\u6253\\u5F00\\u5168\\u5C40\\u641C\\u7D22\\uFF08\\u5907\\u9009\\u65B9\\u5F0F\\uFF09\",\n navCreateResource: \"\\u521B\\u5EFA\\u65B0\\u8D44\\u6E90\",\n navCloseOverlays: \"\\u5173\\u95ED\\u6240\\u6709\\u8986\\u76D6\\u5C42\\uFF08\\u53CC\\u51FB\\uFF09\",\n navShowHelp: \"\\u663E\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u5E2E\\u52A9\",\n sidebarTitle: \"\\u77E5\\u8BC6\\u4FA7\\u8FB9\\u680F\",\n sidebarCollapse: \"\\u6298\\u53E0\\u4FA7\\u8FB9\\u680F\",\n sidebarExpand: \"\\u5C55\\u5F00\\u4FA7\\u8FB9\\u680F\",\n sidebarPickup: \"\\u62FE\\u53D6\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u805A\\u7126\\u65F6\\uFF09\",\n sidebarMove: \"\\u79FB\\u52A8\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u62D6\\u52A8\\u65F6\\uFF09\",\n sidebarDrop: \"\\u653E\\u4E0B\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u62D6\\u52A8\\u65F6\\uFF09\",\n sidebarCancel: \"\\u53D6\\u6D88\\u62D6\\u52A8\\u64CD\\u4F5C\",\n annotationsTitle: \"\\u8D44\\u6E90\\u6CE8\\u91CA\",\n annotHighlight: \"\\u4ECE\\u6CE8\\u91CA\\u521B\\u5EFA\\u9AD8\\u4EAE\\uFF08\\u76F4\\u63A5\\uFF09\",\n annotReference: \"\\u6253\\u5F00\\u6CE8\\u91CA\\u7684\\u5F15\\u7528\\u5F39\\u7A97\",\n annotDelete: \"\\u5220\\u9664\\u805A\\u7126\\u7684\\u6CE8\\u91CA\",\n annotNavigate: \"\\u6D4F\\u89C8\\u6CE8\\u91CA\",\n annotNavigateBack: \"\\u5411\\u540E\\u6D4F\\u89C8\\u6CE8\\u91CA\",\n listsTitle: \"\\u5217\\u8868\\u4E0E\\u7F51\\u683C\",\n listsFilterNav: \"\\u6D4F\\u89C8\\u5B9E\\u4F53\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\",\n listsGridNav: \"\\u6D4F\\u89C8\\u8D44\\u6E90\\u7F51\\u683C\",\n listsJumpFirst: \"\\u8DF3\\u8F6C\\u5230\\u7B2C\\u4E00\\u9879\",\n listsJumpLast: \"\\u8DF3\\u8F6C\\u5230\\u6700\\u540E\\u4E00\\u9879\",\n searchModalTitle: \"\\u5728\\u641C\\u7D22\\u6A21\\u6001\\u6846\\u4E2D\",\n searchNav: \"\\u6D4F\\u89C8\\u641C\\u7D22\\u7ED3\\u679C\",\n searchSelect: \"\\u9009\\u62E9\\u7ED3\\u679C\",\n searchClose: \"\\u5173\\u95ED\\u641C\\u7D22\",\n modalTitle: \"\\u6A21\\u6001\\u6846\\u63A7\\u5236\",\n modalClose: \"\\u5173\\u95ED\\u6D3B\\u52A8\\u6A21\\u6001\\u6846\",\n modalNavForward: \"\\u5411\\u524D\\u6D4F\\u89C8\\u6309\\u94AE\",\n modalNavBackward: \"\\u5411\\u540E\\u6D4F\\u89C8\\u6309\\u94AE\",\n modalActivate: \"\\u6FC0\\u6D3B\\u805A\\u7126\\u7684\\u6309\\u94AE\",\n accessibilityTitle: \"\\u65E0\\u969C\\u788D\",\n a11ySkipLinks: \"\\u5BFC\\u822A\\u5230\\u8DF3\\u8F6C\\u94FE\\u63A5\\uFF08\\u5728\\u9875\\u9762\\u9876\\u90E8\\u65F6\\uFF09\",\n a11yFollowLink: \"\\u8DDF\\u968F\\u8DF3\\u8F6C\\u94FE\\u63A5\",\n macNote: \"\\u4F7F\\u7528 Mac \\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u3002Command \\u662F Command \\u952E\\u3002\",\n windowsNote: \"\\u4F7F\\u7528 Windows/Linux \\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u3002Ctrl \\u662F Ctrl \\u952E\\u3002\",\n footerHint: \"\\u968F\\u65F6\\u6309 {{key}} \\u663E\\u793A\\u6B64\\u5E2E\\u52A9\",\n close: \"\\u5173\\u95ED\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"\\u6A21\\u5F0F\",\n browse: \"\\u6D4F\\u89C8\",\n annotate: \"\\u6CE8\\u91CA\",\n selectionGroup: \"\\u52A8\\u673A\",\n clickGroup: \"\\u70B9\\u51FB\",\n shapeGroup: \"\\u5F62\\u72B6\",\n none: \"\\u65E0\",\n linking: \"\\u5F15\\u7528\",\n highlighting: \"\\u9AD8\\u4EAE\",\n assessing: \"\\u8BC4\\u4F30\",\n commenting: \"\\u8BC4\\u8BBA\",\n tagging: \"\\u6807\\u7B7E\",\n detail: \"\\u8BE6\\u60C5\",\n follow: \"\\u8DDF\\u968F\",\n deleting: \"\\u5220\\u9664\",\n jsonld: \"JSON-LD\",\n rectangle: \"\\u77E9\\u5F62\",\n circle: \"\\u5706\\u5F62\",\n polygon: \"\\u591A\\u8FB9\\u5F62\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"\\u5BFC\\u822A\",\n collapseSidebar: \"\\u6298\\u53E0\\u4FA7\\u8FB9\\u680F\",\n expandSidebar: \"\\u5C55\\u5F00\\u4FA7\\u8FB9\\u680F\",\n dragToReorder: \"\\u62D6\\u52A8\\u4EE5\\u91CD\\u65B0\\u6392\\u5E8F\",\n dragToReorderDoc: \"\\u62D6\\u52A8\\u4EE5\\u91CD\\u65B0\\u6392\\u5E8F {{name}}\",\n closeResource: \"\\u5173\\u95ED\\u8D44\\u6E90\",\n dragInstructions: \"\\u8981\\u91CD\\u65B0\\u6392\\u5E8F\\u8D44\\u6E90\\uFF1A\\u4F7F\\u7528 Tab \\u5BFC\\u822A\\u5230\\u8D44\\u6E90\\u3002\\u6309 Alt+\\u4E0A\\u7BAD\\u5934\\u5411\\u4E0A\\u79FB\\u52A8\\u6216 Alt+\\u4E0B\\u7BAD\\u5934\\u5411\\u4E0B\\u79FB\\u52A8\\u3002\\u5BF9\\u4E8E\\u62D6\\u653E\\u64CD\\u4F5C\\uFF1A\\u6309\\u7A7A\\u683C\\u952E\\u62FE\\u53D6\\u9879\\u76EE\\u3002\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u79FB\\u52A8\\u5B83\\u3002\\u518D\\u6B21\\u6309\\u7A7A\\u683C\\u952E\\u653E\\u4E0B\\u3002\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"\\u5220\\u9664\\u6CE8\\u91CA\",\n deleteConfirmationMessage: \"\\u60A8\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u6B64\\u6CE8\\u91CA\\u5417\\uFF1F\\u6B64\\u64CD\\u4F5C\\u65E0\\u6CD5\\u64A4\\u6D88\\u3002\",\n deleteConfirmationCancel: \"\\u53D6\\u6D88\",\n deleteConfirmationDelete: \"\\u5220\\u9664\"\n};\nvar Settings = {\n title: \"\\u8BBE\\u7F6E\",\n lineNumbers: \"\\u884C\\u53F7\",\n lineNumbersVisible: \"\\u663E\\u793A\",\n lineNumbersHidden: \"\\u9690\\u85CF\",\n theme: \"\\u4E3B\\u9898\",\n themeLight: \"\\u6D45\\u8272\",\n themeDark: \"\\u6DF1\\u8272\",\n themeSystem: \"\\u7CFB\\u7EDF\",\n themeSystemActive: \"\\u7CFB\\u7EDF\\uFF08{{mode}}\\uFF09\",\n themeModeActive: \"\\u4F7F\\u7528{{mode}}\\u6A21\\u5F0F\",\n language: \"\\u8BED\\u8A00\",\n languageHint: \"\\u5728\\u4E3B\\u5BFC\\u822A\\u4E2D\\u66F4\\u6539\\u8BED\\u8A00\",\n languageChanging: \"\\u6B63\\u5728\\u66F4\\u6539\\u8BED\\u8A00...\",\n hoverDelay: \"\\u60AC\\u505C\\u5EF6\\u8FDF\",\n hoverDelayFast: \"\\u5FEB\\u901F\",\n hoverDelaySlow: \"\\u6162\\u901F\",\n hoverDelayDescription: \"\\u60AC\\u505C\\u6548\\u679C\\u51FA\\u73B0\\u524D\\u5EF6\\u8FDF {{delay}}ms\"\n};\nvar AnnotateView = {};\nvar ReferenceWizard = {\n gatherTitle: \"\\u5DF2\\u6536\\u96C6\\u7684\\u4E0A\\u4E0B\\u6587\",\n configureGenerationTitle: \"\\u914D\\u7F6E\\u751F\\u6210\",\n configureSearchTitle: \"\\u914D\\u7F6E\\u641C\\u7D22\",\n searchResultsTitle: \"\\u641C\\u7D22\\u7ED3\\u679C\",\n sourceContextLabel: \"\\u8D44\\u6E90\\u4E2D\\u7684\\u6CE8\\u91CA\\u4E0A\\u4E0B\\u6587\",\n connectionsLabel: \"\\u5BF9\\u7B49\\u6CE8\\u91CA\",\n citedByLabel: \"\\u8D44\\u6E90\\u88AB\\u5F15\\u7528\",\n userHintLabel: \"\\u63D0\\u793A\",\n userHintPlaceholder: \"\\u63CF\\u8FF0\\u6B64\\u6CE8\\u91CA\\u6240\\u6307\\u7684\\u5185\\u5BB9...\",\n loadingContext: \"\\u6B63\\u5728\\u6536\\u96C6\\u4E0A\\u4E0B\\u6587...\",\n failedContext: \"\\u6536\\u96C6\\u4E0A\\u4E0B\\u6587\\u5931\\u8D25\",\n cancel: \"\\u53D6\\u6D88\",\n generate: \"\\u751F\\u6210\",\n compose: \"\\u7F16\\u5199\",\n resolutionStrategyLabel: \"\\u89E3\\u6790\\u7B56\\u7565\",\n back: \"\\u8FD4\\u56DE\",\n link: \"\\u94FE\\u63A5\",\n score: \"\\u8BC4\\u5206\",\n noResults: \"\\u672A\\u627E\\u5230\\u7ED3\\u679C\",\n resourceTitle: \"\\u8D44\\u6E90\\u6807\\u9898\",\n resourceTitlePlaceholder: \"\\u8F93\\u5165\\u8D44\\u6E90\\u6807\\u9898...\",\n additionalInstructions: \"\\u9644\\u52A0\\u8BF4\\u660E\",\n additionalInstructionsPlaceholder: \"\\u8F93\\u5165\\u9644\\u52A0\\u8BF4\\u660E...\",\n language: \"\\u8BED\\u8A00\",\n languageHelp: \"\\u751F\\u6210\\u5185\\u5BB9\\u7684\\u8BED\\u8A00\",\n creativity: \"\\u521B\\u9020\\u529B\",\n creativityFocused: \"\\u4E13\\u6CE8\",\n creativityCreative: \"\\u521B\\u9020\\u6027\",\n maxLength: \"\\u6700\\u5927\\u957F\\u5EA6\",\n maxLengthHelp: \"\\u6700\\u5927\\u4EE4\\u724C\\u6570\",\n maxResults: \"\\u6700\\u5927\\u7ED3\\u679C\\u6570\",\n semanticScoring: \"\\u8BED\\u4E49\\u8BC4\\u5206\",\n semanticScoringHelp: \"\\u4F7F\\u7528 AI \\u6309\\u8BED\\u4E49\\u76F8\\u5173\\u6027\\u5BF9\\u7ED3\\u679C\\u8FDB\\u884C\\u8BC4\\u5206\",\n searching: \"\\u641C\\u7D22\\u4E2D...\",\n search: \"\\u641C\\u7D22\"\n};\nvar History = {\n embeddingComputed: \"\\u5D4C\\u5165\\u8BA1\\u7B97\\u5B8C\\u6210\"\n};\nvar zh_default = {\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ReferenceWizard,\n History\n};\nexport {\n AnnotateToolbar,\n AnnotateView,\n AnnotationHistory,\n AssessmentPanel,\n CollaborationPanel,\n CollapsibleResourceNavigation,\n CommentsPanel,\n HighlightPanel,\n History,\n KeyboardShortcuts,\n ReferenceWizard,\n ReferencesPanel,\n ResourceInfoPanel,\n ResourceViewer,\n Settings,\n StatisticsPanel,\n TaggingPanel,\n Toolbar,\n UnifiedAnnotationsPanel,\n zh_default as default\n};\n//# sourceMappingURL=zh-K2KDPGHK.js.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zh-K2KDPGHK-j1v7CkF4.js","names":[],"sources":["../../../../packages/react-ui/dist/zh-K2KDPGHK.js"],"sourcesContent":["'use client';\nimport \"./chunk-K6BJDL2I.js\";\n\n// translations/zh.json\nvar Toolbar = {\n annotations: \"\\u6CE8\\u91CA\",\n history: \"\\u5386\\u53F2\",\n resourceInfo: \"\\u8D44\\u6E90\\u4FE1\\u606F\",\n collaboration: \"\\u534F\\u4F5C\",\n userAccount: \"\\u7528\\u6237\\u5E10\\u6237\",\n settings: \"\\u8BBE\\u7F6E\",\n knowledgeBase: \"\\u77E5\\u8BC6\\u5E93\"\n};\nvar ResourceInfoPanel = {\n title: \"\\u8D44\\u6E90\\u4FE1\\u606F\",\n locale: \"\\u533A\\u57DF\\u8BBE\\u7F6E\",\n notSpecified: \"\\u672A\\u6307\\u5B9A\",\n entityTypeTags: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\u6807\\u7B7E\",\n representation: \"\\u8868\\u793A\\u5F62\\u5F0F\",\n mediaType: \"\\u5A92\\u4F53\\u7C7B\\u578B\",\n byteSize: \"\\u5927\\u5C0F\",\n clone: \"\\u514B\\u9686\",\n cloneDescription: \"\\u4E3A\\u6B64\\u8D44\\u6E90\\u751F\\u6210\\u53EF\\u5171\\u4EAB\\u7684\\u514B\\u9686\\u94FE\\u63A5\",\n archive: \"\\u5F52\\u6863\",\n archiveDescription: \"\\u5C06\\u6B64\\u8D44\\u6E90\\u79FB\\u81F3\\u5DF2\\u5F52\\u6863\\u72B6\\u6001\",\n unarchive: \"\\u53D6\\u6D88\\u5F52\\u6863\",\n unarchiveDescription: \"\\u5C06\\u6B64\\u8D44\\u6E90\\u6062\\u590D\\u4E3A\\u6D3B\\u8DC3\\u72B6\\u6001\",\n provenance: \"\\u6765\\u6E90\",\n createdAt: \"\\u521B\\u5EFA\\u65F6\\u95F4\",\n modifiedAt: \"\\u4FEE\\u6539\\u65F6\\u95F4\",\n attributedTo: \"\\u5F52\\u5C5E\\u4E8E\",\n derivedFrom: \"\\u6D3E\\u751F\\u81EA\",\n storageUri: \"\\u5B58\\u50A8\"\n};\nvar CollaborationPanel = {\n title: \"\\u534F\\u4F5C\",\n connectionStatus: \"\\u8FDE\\u63A5\\u72B6\\u6001\",\n live: \"\\u5B9E\\u65F6\",\n disconnected: \"\\u5DF2\\u65AD\\u5F00\",\n events: \"{{count}} \\u4E2A\\u4E8B\\u4EF6\",\n lastSync: \"\\u4E0A\\u6B21\\u540C\\u6B65\\uFF1A\",\n noActivity: \"\\u6682\\u65E0\\u6D3B\\u52A8\",\n justNow: \"\\u521A\\u521A\",\n secondsAgo: \"{{count}} \\u79D2\\u524D\",\n minuteAgo: \"1 \\u5206\\u949F\\u524D\",\n minutesAgo: \"{{count}} \\u5206\\u949F\\u524D\",\n hourAgo: \"1 \\u5C0F\\u65F6\\u524D\",\n hoursAgo: \"{{count}} \\u5C0F\\u65F6\\u524D\",\n realtimeActive: \"\\u5B9E\\u65F6\\u66F4\\u65B0\\u5DF2\\u6FC0\\u6D3B\",\n reconnecting: \"\\u6B63\\u5728\\u91CD\\u65B0\\u8FDE\\u63A5\\u670D\\u52A1\\u5668...\",\n sharing: \"\\u5171\\u4EAB\",\n collaborationComingSoon: \"\\u534F\\u4F5C\\u529F\\u80FD\\u5373\\u5C06\\u63A8\\u51FA\"\n};\nvar AnnotationHistory = {\n history: \"\\u5386\\u53F2\",\n loading: \"\\u52A0\\u8F7D\\u4E2D...\",\n user: \"\\u7528\\u6237\",\n viewOriginal: \"\\u67E5\\u770B\\u539F\\u6587\",\n viewAnnotation: \"\\u67E5\\u770B\\u6CE8\\u91CA\\uFF1A{{content}}\",\n resourceCreated: \"\\u5DF2\\u521B\\u5EFA\\u8D44\\u6E90\",\n resourceCloned: \"\\u5DF2\\u514B\\u9686\",\n resourceArchived: \"\\u5DF2\\u5F52\\u6863\",\n resourceUnarchived: \"\\u5DF2\\u53D6\\u6D88\\u5F52\\u6863\",\n highlightAdded: \"\\u5DF2\\u6DFB\\u52A0\\u9AD8\\u4EAE\",\n highlightRemoved: \"\\u5DF2\\u79FB\\u9664\\u9AD8\\u4EAE\",\n referenceCreated: \"\\u5DF2\\u521B\\u5EFA\\u5F15\\u7528\",\n referenceResolved: \"\\u5DF2\\u89E3\\u6790\\u5F15\\u7528\",\n referenceDeleted: \"\\u5DF2\\u5220\\u9664\\u5F15\\u7528\",\n entitytagAdded: \"\\u5DF2\\u6DFB\\u52A0\\u6807\\u7B7E\",\n entitytagRemoved: \"\\u5DF2\\u79FB\\u9664\\u6807\\u7B7E\",\n assessmentAdded: \"\\u5DF2\\u6DFB\\u52A0\\u8BC4\\u4F30\",\n assessmentRemoved: \"\\u5DF2\\u79FB\\u9664\\u8BC4\\u4F30\",\n annotationAdded: \"\\u5DF2\\u6DFB\\u52A0\\u6CE8\\u91CA\",\n annotationRemoved: \"\\u5DF2\\u79FB\\u9664\\u6CE8\\u91CA\",\n annotationBodyUpdated: \"\\u5DF2\\u66F4\\u65B0\\u6CE8\\u91CA\",\n jobEvent: \"\\u4EFB\\u52A1\\u4E8B\\u4EF6\",\n justNow: \"\\u521A\\u521A\",\n minutesAgo: \"{{count}}\\u5206\\u949F\\u524D\",\n hoursAgo: \"{{count}}\\u5C0F\\u65F6\\u524D\",\n daysAgo: \"{{count}}\\u5929\\u524D\"\n};\nvar CommentsPanel = {\n title: \"\\u8BC4\\u8BBA\",\n noComments: \"\\u6682\\u65E0\\u8BC4\\u8BBA\\u3002\\u9009\\u62E9\\u6587\\u672C\\u5E76\\u70B9\\u51FB\\u8BC4\\u8BBA\\u6765\\u6DFB\\u52A0\\u3002\",\n commentPlaceholder: \"\\u5728\\u6B64\\u8F93\\u5165\\u60A8\\u7684\\u8BC4\\u8BBA...\",\n save: \"\\u4FDD\\u5B58\",\n cancel: \"\\u53D6\\u6D88\",\n edit: \"\\u7F16\\u8F91\",\n annotateComments: \"\\u6CE8\\u91CA\\u8BC4\\u8BBA\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u5173\\u6CE8\\u6280\\u672F\\u672F\\u8BED...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n toneLabel: \"\\u8BED\\u6C14\",\n toneOptional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n toneScholarly: \"\\u5B66\\u672F\",\n toneExplanatory: \"\\u89E3\\u91CA\\u6027\",\n toneConversational: \"\\u5BF9\\u8BDD\\u5F0F\",\n toneTechnical: \"\\u6280\\u672F\\u6027\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar HighlightPanel = {\n title: \"\\u9AD8\\u4EAE\",\n noHighlights: \"\\u6682\\u65E0\\u9AD8\\u4EAE\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u67E5\\u627E\\u91CD\\u8981\\u6BB5\\u843D\\u3002\",\n annotateHighlights: \"\\u6CE8\\u91CA\\u9AD8\\u4EAE\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u5173\\u6CE8\\u5173\\u952E\\u6280\\u672F\\u6982\\u5FF5...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n cancel: \"\\u53D6\\u6D88\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar AssessmentPanel = {\n title: \"\\u8BC4\\u4F30\",\n noAssessments: \"\\u6682\\u65E0\\u8BC4\\u4F30\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u8BC4\\u4EF7\\u6BB5\\u843D\\u3002\",\n assessmentPlaceholder: \"\\u5728\\u6B64\\u8F93\\u5165\\u60A8\\u7684\\u8BC4\\u4F30...\",\n save: \"\\u4FDD\\u5B58\",\n cancel: \"\\u53D6\\u6D88\",\n annotateAssessments: \"\\u6CE8\\u91CA\\u8BC4\\u4F30\",\n instructions: \"\\u8BF4\\u660E\",\n optional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n instructionsPlaceholder: \"\\u4F8B\\u5982\\uFF0C\\u8BC4\\u4F30\\u58F0\\u660E\\u7684\\u51C6\\u786E\\u6027\\u548C\\u8BC1\\u636E...\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n toneLabel: \"\\u8BED\\u6C14\",\n toneOptional: \"\\uFF08\\u53EF\\u9009\\uFF09\",\n toneAnalytical: \"\\u5206\\u6790\\u6027\",\n toneCritical: \"\\u6279\\u5224\\u6027\",\n toneBalanced: \"\\u5E73\\u8861\",\n toneConstructive: \"\\u5EFA\\u8BBE\\u6027\",\n densityLabel: \"\\u5BC6\\u5EA6\",\n densitySparse: \"\\u7A00\\u758F\",\n densityDense: \"\\u5BC6\\u96C6\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n closeProgress: \"\\u5173\\u95ED\"\n};\nvar TaggingPanel = {\n title: \"\\u6807\\u7B7E\",\n noTags: \"\\u6682\\u65E0\\u6807\\u7B7E\\u3002\\u4F7F\\u7528 AI \\u6CE8\\u91CA\\u8BC6\\u522B\\u7ED3\\u6784\\u89D2\\u8272\\u3002\",\n noSchemas: \"\\u6B64\\u77E5\\u8BC6\\u5E93\\u5C1A\\u672A\\u6CE8\\u518C\\u4EFB\\u4F55\\u6807\\u7B7E\\u6A21\\u5F0F\\u3002KB \\u7BA1\\u7406\\u5458\\u5FC5\\u987B\\u5148\\u6CE8\\u518C\\u81F3\\u5C11\\u4E00\\u4E2A\\u7ED3\\u6784\\u5206\\u6790\\u6A21\\u5F0F\\uFF08\\u4F8B\\u5982\\u901A\\u8FC7 `register-tag-schemas` \\u6280\\u80FD\\uFF09\\uFF0C\\u7136\\u540E\\u624D\\u80FD\\u4F7F\\u7528\\u6807\\u7B7E\\u529F\\u80FD\\u3002\",\n annotateTags: \"\\u6CE8\\u91CA\\u6807\\u7B7E\",\n selectSchema: \"\\u9009\\u62E9\\u6846\\u67B6\",\n selectCategories: \"\\u9009\\u62E9\\u5206\\u7C7B\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n cancel: \"\\u53D6\\u6D88\",\n selectAll: \"\\u5168\\u9009\",\n deselectAll: \"\\u53D6\\u6D88\\u5168\\u9009\",\n categoriesSelected: \"{count, plural, =0 {\\u672A\\u9009\\u62E9\\u5206\\u7C7B} =1 {\\u5DF2\\u9009\\u62E9 1 \\u4E2A\\u5206\\u7C7B} other {\\u5DF2\\u9009\\u62E9 # \\u4E2A\\u5206\\u7C7B}}\",\n createTagForSelection: \"\\u4E3A\\u9009\\u62E9\\u5185\\u5BB9\\u521B\\u5EFA\\u6807\\u7B7E\",\n selectCategory: \"\\u9009\\u62E9\\u5206\\u7C7B\",\n chooseCategory: \"\\u9009\\u62E9\\u4E00\\u4E2A\\u5206\\u7C7B...\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"\\u6CE8\\u91CA\",\n statistics: \"\\u7EDF\\u8BA1\",\n highlight: \"\\u9AD8\\u4EAE\",\n reference: \"\\u5F15\\u7528\",\n assessment: \"\\u8BC4\\u4F30\",\n comment: \"\\u8BC4\\u8BBA\",\n tag: \"\\u6807\\u7B7E\"\n};\nvar StatisticsPanel = {\n title: \"\\u7EDF\\u8BA1\",\n highlights: \"\\u9AD8\\u4EAE\",\n comments: \"\\u8BC4\\u8BBA\",\n assessments: \"\\u8BC4\\u4F30\",\n tags: \"\\u6807\\u7B7E\",\n references: \"\\u5F15\\u7528\",\n stub: \"\\u5B58\\u6839\",\n resolved: \"\\u5DF2\\u89E3\\u6790\",\n entityTypes: \"\\u5B9E\\u4F53\\u7C7B\\u578B\"\n};\nvar ReferencesPanel = {\n title: \"\\u5F15\\u7528\",\n noReferences: \"\\u6682\\u65E0\\u5F15\\u7528\\u3002\\u9009\\u62E9\\u6587\\u672C\\u4EE5\\u521B\\u5EFA\\u5BF9\\u5176\\u4ED6\\u8D44\\u6E90\\u7684\\u5F15\\u7528\\u3002\",\n outgoingReferences: \"\\u5916\\u90E8\\u5F15\\u7528\",\n incomingReferences: \"\\u4F20\\u5165\\u5F15\\u7528\",\n noIncomingReferences: \"\\u65E0\\u4F20\\u5165\\u5F15\\u7528\",\n stub: \"\\u5B58\\u6839\\u5F15\\u7528\\uFF08\\u672A\\u94FE\\u63A5\\uFF09\",\n resolved: \"\\u5DF2\\u89E3\\u6790\\u5F15\\u7528\\uFF08\\u5DF2\\u94FE\\u63A5\\uFF09\",\n open: \"\\u6253\\u5F00\",\n unlink: \"\\u53D6\\u6D88\\u94FE\\u63A5\",\n resolve: \"\\u89E3\\u6790\\u5F15\\u7528\",\n cancel: \"\\u53D6\\u6D88\",\n createReference: \"\\u521B\\u5EFA\\u5F15\\u7528\",\n entityTypesOptional: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\uFF08\\u53EF\\u9009\\uFF09\",\n fragmentSelected: \"\\u5DF2\\u9009\\u62E9\\u7247\\u6BB5\",\n imageRegionSelected: \"\\u5DF2\\u9009\\u62E9\\u56FE\\u50CF\\u533A\\u57DF\",\n annotateReferences: \"\\u6CE8\\u91CA\\u5F15\\u7528\",\n selectEntityTypes: \"\\u5B9E\\u4F53\\u7C7B\\u578B\\uFF1A\",\n select: \"\\u9009\\u62E9\",\n deselect: \"\\u53D6\\u6D88\\u9009\\u62E9\",\n noEntityTypes: \"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5B9E\\u4F53\\u7C7B\\u578B\",\n typesSelected: \"{count, plural, =1 {\\u5DF2\\u9009\\u62E9 1 \\u4E2A\\u7C7B\\u578B} other {\\u5DF2\\u9009\\u62E9 # \\u4E2A\\u7C7B\\u578B}}\",\n annotate: \"\\u6CE8\\u91CA\",\n annotating: \"\\u6B63\\u5728\\u6CE8\\u91CA...\",\n includeDescriptiveReferences: \"\\u5305\\u542B\\u63CF\\u8FF0\\u6027\\u5F15\\u7528\",\n descriptiveReferencesTooltip: \"\\u540C\\u65F6\\u67E5\\u627E\\u8BF8\\u5982\\u300C\\u9996\\u5E2D\\u6267\\u884C\\u5B98\\u300D\\u3001\\u300C\\u79D1\\u6280\\u5DE8\\u5934\\u300D\\u3001\\u300C\\u7269\\u7406\\u5B66\\u5BB6\\u300D\\u7B49\\u77ED\\u8BED\\uFF08\\u9664\\u540D\\u79F0\\u5916\\uFF09\",\n annotationProgressTitle: \"\\u6B63\\u5728\\u6CE8\\u91CA\\u5B9E\\u4F53\\u5F15\\u7528\",\n cancelAnnotation: \"\\u53D6\\u6D88\\u6CE8\\u91CA\",\n found: \"\\u627E\\u5230 {{count}} \\u4E2A\",\n complete: \"\\u6CE8\\u91CA\\u5B8C\\u6210\\uFF01\",\n failed: \"\\u6CE8\\u91CA\\u5931\\u8D25\",\n current: \"\\u5F53\\u524D\\uFF1A{{entityType}}\",\n closeProgress: \"\\u5173\\u95ED\",\n loading: \"\\u52A0\\u8F7D\\u4E2D...\",\n loadingEllipsis: \"\\u52A0\\u8F7D\\u4E2D...\",\n untitledResource: \"\\u65E0\\u6807\\u9898\\u8D44\\u6E90\",\n noText: \"\\u65E0\\u6587\\u672C\"\n};\nvar KeyboardShortcuts = {\n title: \"\\u952E\\u76D8\\u5FEB\\u6377\\u952E\",\n closeDialog: \"\\u5173\\u95ED\\u5BF9\\u8BDD\\u6846\",\n or: \"\\u6216\",\n navigationTitle: \"\\u5BFC\\u822A\",\n navOpenSearch: \"\\u6253\\u5F00\\u5168\\u5C40\\u641C\\u7D22\",\n navOpenSearchAlt: \"\\u6253\\u5F00\\u5168\\u5C40\\u641C\\u7D22\\uFF08\\u5907\\u9009\\u65B9\\u5F0F\\uFF09\",\n navCreateResource: \"\\u521B\\u5EFA\\u65B0\\u8D44\\u6E90\",\n navCloseOverlays: \"\\u5173\\u95ED\\u6240\\u6709\\u8986\\u76D6\\u5C42\\uFF08\\u53CC\\u51FB\\uFF09\",\n navShowHelp: \"\\u663E\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u5E2E\\u52A9\",\n sidebarTitle: \"\\u77E5\\u8BC6\\u4FA7\\u8FB9\\u680F\",\n sidebarCollapse: \"\\u6298\\u53E0\\u4FA7\\u8FB9\\u680F\",\n sidebarExpand: \"\\u5C55\\u5F00\\u4FA7\\u8FB9\\u680F\",\n sidebarPickup: \"\\u62FE\\u53D6\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u805A\\u7126\\u65F6\\uFF09\",\n sidebarMove: \"\\u79FB\\u52A8\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u62D6\\u52A8\\u65F6\\uFF09\",\n sidebarDrop: \"\\u653E\\u4E0B\\u8D44\\u6E90\\u6807\\u7B7E\\u9875\\uFF08\\u62D6\\u52A8\\u65F6\\uFF09\",\n sidebarCancel: \"\\u53D6\\u6D88\\u62D6\\u52A8\\u64CD\\u4F5C\",\n annotationsTitle: \"\\u8D44\\u6E90\\u6CE8\\u91CA\",\n annotHighlight: \"\\u4ECE\\u6CE8\\u91CA\\u521B\\u5EFA\\u9AD8\\u4EAE\\uFF08\\u76F4\\u63A5\\uFF09\",\n annotReference: \"\\u6253\\u5F00\\u6CE8\\u91CA\\u7684\\u5F15\\u7528\\u5F39\\u7A97\",\n annotDelete: \"\\u5220\\u9664\\u805A\\u7126\\u7684\\u6CE8\\u91CA\",\n annotNavigate: \"\\u6D4F\\u89C8\\u6CE8\\u91CA\",\n annotNavigateBack: \"\\u5411\\u540E\\u6D4F\\u89C8\\u6CE8\\u91CA\",\n listsTitle: \"\\u5217\\u8868\\u4E0E\\u7F51\\u683C\",\n listsFilterNav: \"\\u6D4F\\u89C8\\u5B9E\\u4F53\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\",\n listsGridNav: \"\\u6D4F\\u89C8\\u8D44\\u6E90\\u7F51\\u683C\",\n listsJumpFirst: \"\\u8DF3\\u8F6C\\u5230\\u7B2C\\u4E00\\u9879\",\n listsJumpLast: \"\\u8DF3\\u8F6C\\u5230\\u6700\\u540E\\u4E00\\u9879\",\n searchModalTitle: \"\\u5728\\u641C\\u7D22\\u6A21\\u6001\\u6846\\u4E2D\",\n searchNav: \"\\u6D4F\\u89C8\\u641C\\u7D22\\u7ED3\\u679C\",\n searchSelect: \"\\u9009\\u62E9\\u7ED3\\u679C\",\n searchClose: \"\\u5173\\u95ED\\u641C\\u7D22\",\n modalTitle: \"\\u6A21\\u6001\\u6846\\u63A7\\u5236\",\n modalClose: \"\\u5173\\u95ED\\u6D3B\\u52A8\\u6A21\\u6001\\u6846\",\n modalNavForward: \"\\u5411\\u524D\\u6D4F\\u89C8\\u6309\\u94AE\",\n modalNavBackward: \"\\u5411\\u540E\\u6D4F\\u89C8\\u6309\\u94AE\",\n modalActivate: \"\\u6FC0\\u6D3B\\u805A\\u7126\\u7684\\u6309\\u94AE\",\n accessibilityTitle: \"\\u65E0\\u969C\\u788D\",\n a11ySkipLinks: \"\\u5BFC\\u822A\\u5230\\u8DF3\\u8F6C\\u94FE\\u63A5\\uFF08\\u5728\\u9875\\u9762\\u9876\\u90E8\\u65F6\\uFF09\",\n a11yFollowLink: \"\\u8DDF\\u968F\\u8DF3\\u8F6C\\u94FE\\u63A5\",\n macNote: \"\\u4F7F\\u7528 Mac \\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u3002Command \\u662F Command \\u952E\\u3002\",\n windowsNote: \"\\u4F7F\\u7528 Windows/Linux \\u952E\\u76D8\\u5FEB\\u6377\\u952E\\u3002Ctrl \\u662F Ctrl \\u952E\\u3002\",\n footerHint: \"\\u968F\\u65F6\\u6309 {{key}} \\u663E\\u793A\\u6B64\\u5E2E\\u52A9\",\n close: \"\\u5173\\u95ED\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"\\u6A21\\u5F0F\",\n browse: \"\\u6D4F\\u89C8\",\n annotate: \"\\u6CE8\\u91CA\",\n selectionGroup: \"\\u52A8\\u673A\",\n clickGroup: \"\\u70B9\\u51FB\",\n shapeGroup: \"\\u5F62\\u72B6\",\n none: \"\\u65E0\",\n linking: \"\\u5F15\\u7528\",\n highlighting: \"\\u9AD8\\u4EAE\",\n assessing: \"\\u8BC4\\u4F30\",\n commenting: \"\\u8BC4\\u8BBA\",\n tagging: \"\\u6807\\u7B7E\",\n detail: \"\\u8BE6\\u60C5\",\n follow: \"\\u8DDF\\u968F\",\n deleting: \"\\u5220\\u9664\",\n jsonld: \"JSON-LD\",\n rectangle: \"\\u77E9\\u5F62\",\n circle: \"\\u5706\\u5F62\",\n polygon: \"\\u591A\\u8FB9\\u5F62\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"\\u5BFC\\u822A\",\n collapseSidebar: \"\\u6298\\u53E0\\u4FA7\\u8FB9\\u680F\",\n expandSidebar: \"\\u5C55\\u5F00\\u4FA7\\u8FB9\\u680F\",\n dragToReorder: \"\\u62D6\\u52A8\\u4EE5\\u91CD\\u65B0\\u6392\\u5E8F\",\n dragToReorderDoc: \"\\u62D6\\u52A8\\u4EE5\\u91CD\\u65B0\\u6392\\u5E8F {{name}}\",\n closeResource: \"\\u5173\\u95ED\\u8D44\\u6E90\",\n dragInstructions: \"\\u8981\\u91CD\\u65B0\\u6392\\u5E8F\\u8D44\\u6E90\\uFF1A\\u4F7F\\u7528 Tab \\u5BFC\\u822A\\u5230\\u8D44\\u6E90\\u3002\\u6309 Alt+\\u4E0A\\u7BAD\\u5934\\u5411\\u4E0A\\u79FB\\u52A8\\u6216 Alt+\\u4E0B\\u7BAD\\u5934\\u5411\\u4E0B\\u79FB\\u52A8\\u3002\\u5BF9\\u4E8E\\u62D6\\u653E\\u64CD\\u4F5C\\uFF1A\\u6309\\u7A7A\\u683C\\u952E\\u62FE\\u53D6\\u9879\\u76EE\\u3002\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u79FB\\u52A8\\u5B83\\u3002\\u518D\\u6B21\\u6309\\u7A7A\\u683C\\u952E\\u653E\\u4E0B\\u3002\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"\\u5220\\u9664\\u6CE8\\u91CA\",\n deleteConfirmationMessage: \"\\u60A8\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u6B64\\u6CE8\\u91CA\\u5417\\uFF1F\\u6B64\\u64CD\\u4F5C\\u65E0\\u6CD5\\u64A4\\u6D88\\u3002\",\n deleteConfirmationCancel: \"\\u53D6\\u6D88\",\n deleteConfirmationDelete: \"\\u5220\\u9664\"\n};\nvar Settings = {\n title: \"\\u8BBE\\u7F6E\",\n lineNumbers: \"\\u884C\\u53F7\",\n lineNumbersVisible: \"\\u663E\\u793A\",\n lineNumbersHidden: \"\\u9690\\u85CF\",\n theme: \"\\u4E3B\\u9898\",\n themeLight: \"\\u6D45\\u8272\",\n themeDark: \"\\u6DF1\\u8272\",\n themeSystem: \"\\u7CFB\\u7EDF\",\n themeSystemActive: \"\\u7CFB\\u7EDF\\uFF08{{mode}}\\uFF09\",\n themeModeActive: \"\\u4F7F\\u7528{{mode}}\\u6A21\\u5F0F\",\n language: \"\\u8BED\\u8A00\",\n languageHint: \"\\u5728\\u4E3B\\u5BFC\\u822A\\u4E2D\\u66F4\\u6539\\u8BED\\u8A00\",\n languageChanging: \"\\u6B63\\u5728\\u66F4\\u6539\\u8BED\\u8A00...\",\n hoverDelay: \"\\u60AC\\u505C\\u5EF6\\u8FDF\",\n hoverDelayFast: \"\\u5FEB\\u901F\",\n hoverDelaySlow: \"\\u6162\\u901F\",\n hoverDelayDescription: \"\\u60AC\\u505C\\u6548\\u679C\\u51FA\\u73B0\\u524D\\u5EF6\\u8FDF {{delay}}ms\"\n};\nvar AnnotateView = {};\nvar ReferenceWizard = {\n gatherTitle: \"\\u5DF2\\u6536\\u96C6\\u7684\\u4E0A\\u4E0B\\u6587\",\n configureGenerationTitle: \"\\u914D\\u7F6E\\u751F\\u6210\",\n configureSearchTitle: \"\\u914D\\u7F6E\\u641C\\u7D22\",\n searchResultsTitle: \"\\u641C\\u7D22\\u7ED3\\u679C\",\n sourceContextLabel: \"\\u8D44\\u6E90\\u4E2D\\u7684\\u6CE8\\u91CA\\u4E0A\\u4E0B\\u6587\",\n connectionsLabel: \"\\u5BF9\\u7B49\\u6CE8\\u91CA\",\n citedByLabel: \"\\u8D44\\u6E90\\u88AB\\u5F15\\u7528\",\n userHintLabel: \"\\u63D0\\u793A\",\n userHintPlaceholder: \"\\u63CF\\u8FF0\\u6B64\\u6CE8\\u91CA\\u6240\\u6307\\u7684\\u5185\\u5BB9...\",\n loadingContext: \"\\u6B63\\u5728\\u6536\\u96C6\\u4E0A\\u4E0B\\u6587...\",\n failedContext: \"\\u6536\\u96C6\\u4E0A\\u4E0B\\u6587\\u5931\\u8D25\",\n cancel: \"\\u53D6\\u6D88\",\n generate: \"\\u751F\\u6210\",\n compose: \"\\u7F16\\u5199\",\n resolutionStrategyLabel: \"\\u89E3\\u6790\\u7B56\\u7565\",\n back: \"\\u8FD4\\u56DE\",\n link: \"\\u94FE\\u63A5\",\n score: \"\\u8BC4\\u5206\",\n noResults: \"\\u672A\\u627E\\u5230\\u7ED3\\u679C\",\n resourceTitle: \"\\u8D44\\u6E90\\u6807\\u9898\",\n resourceTitlePlaceholder: \"\\u8F93\\u5165\\u8D44\\u6E90\\u6807\\u9898...\",\n additionalInstructions: \"\\u9644\\u52A0\\u8BF4\\u660E\",\n additionalInstructionsPlaceholder: \"\\u8F93\\u5165\\u9644\\u52A0\\u8BF4\\u660E...\",\n language: \"\\u8BED\\u8A00\",\n languageHelp: \"\\u751F\\u6210\\u5185\\u5BB9\\u7684\\u8BED\\u8A00\",\n creativity: \"\\u521B\\u9020\\u529B\",\n creativityFocused: \"\\u4E13\\u6CE8\",\n creativityCreative: \"\\u521B\\u9020\\u6027\",\n maxLength: \"\\u6700\\u5927\\u957F\\u5EA6\",\n maxLengthHelp: \"\\u6700\\u5927\\u4EE4\\u724C\\u6570\",\n maxResults: \"\\u6700\\u5927\\u7ED3\\u679C\\u6570\",\n semanticScoring: \"\\u8BED\\u4E49\\u8BC4\\u5206\",\n semanticScoringHelp: \"\\u4F7F\\u7528 AI \\u6309\\u8BED\\u4E49\\u76F8\\u5173\\u6027\\u5BF9\\u7ED3\\u679C\\u8FDB\\u884C\\u8BC4\\u5206\",\n searching: \"\\u641C\\u7D22\\u4E2D...\",\n search: \"\\u641C\\u7D22\"\n};\nvar History = {\n embeddingComputed: \"\\u5D4C\\u5165\\u8BA1\\u7B97\\u5B8C\\u6210\"\n};\nvar zh_default = {\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ReferenceWizard,\n History\n};\nexport {\n AnnotateToolbar,\n AnnotateView,\n AnnotationHistory,\n AssessmentPanel,\n CollaborationPanel,\n CollapsibleResourceNavigation,\n CommentsPanel,\n HighlightPanel,\n History,\n KeyboardShortcuts,\n ReferenceWizard,\n ReferencesPanel,\n ResourceInfoPanel,\n ResourceViewer,\n Settings,\n StatisticsPanel,\n TaggingPanel,\n Toolbar,\n UnifiedAnnotationsPanel,\n zh_default as default\n};\n//# sourceMappingURL=zh-K2KDPGHK.js.map"],"mappings":"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"}
|
package/dist/index.html
CHANGED
|
@@ -11,13 +11,11 @@
|
|
|
11
11
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
12
12
|
<link rel="manifest" href="/favicons/site.webmanifest" />
|
|
13
13
|
<meta name="theme-color" content="#00FFFF" />
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/i18n-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/vendor-
|
|
18
|
-
<link rel="
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-K6BJDL2I-CcwOtHVB.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/assets/index-95t-6XJg.css">
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-4ZdXX6QX.js"></script>
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Bh1tDfsg.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/i18n-X0oNIUcF.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/vendor-Bd-5Ya9C.js">
|
|
18
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D8uACGGo.css">
|
|
21
19
|
</head>
|
|
22
20
|
<body>
|
|
23
21
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{c as i,i as a,r as o,s,u as c}from"./KeyboardShortcutsContext-CK7NFEft.js";import{n as l,t as u}from"./XMarkIcon-CddZGiiz.js";var d=e(t());function f({title:e,titleId:t,...n},r){return d.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?d.createElement(`title`,{id:t},e):null,d.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3`}))}var p=d.forwardRef(f);function m({title:e,titleId:t,...n},r){return d.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?d.createElement(`title`,{id:t},e):null,d.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M4.5 12a7.5 7.5 0 0 0 15 0m-15 0a7.5 7.5 0 1 1 15 0m-15 0H3m16.5 0H21m-1.5 0H12m-8.457 3.077 1.41-.513m14.095-5.13 1.41-.513M5.106 17.785l1.15-.964m11.49-9.642 1.149-.964M7.501 19.795l.75-1.3m7.5-12.99.75-1.3m-6.063 16.658.26-1.477m2.605-14.772.26-1.477m0 17.726-.26-1.477M10.698 4.614l-.26-1.477M16.5 19.794l-.75-1.299M7.5 4.205 12 12m6.894 5.785-1.149-.964M6.256 7.178l-1.15-.964m15.352 8.864-1.41-.513M4.954 9.435l-1.41-.514M12.002 12l-3.75 6.495`}))}var h=d.forwardRef(m);function g({title:e,titleId:t,...n},r){return d.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?d.createElement(`title`,{id:t},e):null,d.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z`}))}var _=d.forwardRef(g),v=r();function y({isOpen:e,onClose:t}){let{t:r}=n(),f=(e,t)=>r(`CookiePreferences.${e}`,t),[m,g]=(0,d.useState)(null),[y,b]=(0,d.useState)(!1),[x,S]=(0,d.useState)(!1),C=(0,d.useRef)(t);(0,d.useEffect)(()=>{C.current=t}),(0,d.useEffect)(()=>{e&&g(s()||{necessary:!0,analytics:!1,marketing:!1,preferences:!1,timestamp:new Date().toISOString(),version:`1.0`})},[e]),(0,d.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&C.current()};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e]);let w=async()=>{m&&(b(!0),i(m),b(!1),t())},T=e=>{e===`necessary`||!m||g(t=>t?{...t,[e]:!t[e]}:null)};return!e||!m?null:(0,v.jsxs)(`div`,{className:`fixed inset-0 z-50 overflow-y-auto`,children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0`,children:[(0,v.jsx)(`div`,{className:`fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75`,onClick:t}),(0,v.jsxs)(`div`,{className:`inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-2xl sm:w-full sm:p-6 relative`,children:[(0,v.jsx)(`button`,{onClick:t,className:`absolute top-4 right-4 text-gray-400 hover:text-gray-600 transition-colors focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded-lg p-1`,"aria-label":`Close`,children:(0,v.jsx)(u,{className:`h-6 w-6`})}),(0,v.jsxs)(`div`,{className:`sm:flex sm:items-start`,children:[(0,v.jsx)(`div`,{className:`mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10`,children:(0,v.jsx)(h,{className:`h-6 w-6 text-blue-600`})}),(0,v.jsxs)(`div`,{className:`mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left flex-1 pr-8`,children:[(0,v.jsx)(`h3`,{className:`text-lg leading-6 font-medium text-gray-900`,children:f(`title`)}),(0,v.jsx)(`div`,{className:`mt-2`,children:(0,v.jsx)(`p`,{className:`text-sm text-gray-500`,children:f(`description`)})})]})]}),(0,v.jsx)(`div`,{className:`mt-6`,children:(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsxs)(`div`,{className:`bg-gray-50 rounded-lg p-4`,children:[(0,v.jsxs)(`div`,{className:`flex items-center`,children:[(0,v.jsx)(_,{className:`h-5 w-5 text-green-500 mr-2`}),(0,v.jsx)(`span`,{className:`text-sm font-medium text-gray-900`,children:f(`currentSettings`)})]}),(0,v.jsxs)(`div`,{className:`mt-2 text-xs text-gray-600`,children:[(0,v.jsx)(`p`,{children:f(`lastUpdated`,{date:new Date(m.timestamp).toLocaleDateString()})}),(0,v.jsx)(`p`,{children:f(`version`,{version:m.version})})]})]}),(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsx)(`h4`,{className:`text-base font-medium text-gray-900`,children:f(`cookieCategories`)}),c.map(e=>(0,v.jsx)(`div`,{className:`border border-gray-200 rounded-lg p-4`,children:(0,v.jsx)(`div`,{className:`flex items-start justify-between`,children:(0,v.jsxs)(`div`,{className:`flex-1`,children:[(0,v.jsxs)(`div`,{className:`flex items-center`,children:[(0,v.jsx)(`input`,{id:`pref-${e.id}`,type:`checkbox`,checked:m[e.id]||!1,onChange:()=>T(e.id),disabled:e.required||y,className:`h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded-sm disabled:opacity-50`}),(0,v.jsxs)(`label`,{htmlFor:`pref-${e.id}`,className:`ml-3 text-sm font-medium text-gray-900 cursor-pointer`,children:[e.name,e.required&&(0,v.jsx)(`span`,{className:`text-xs text-gray-500 ml-1`,children:f(`required`)})]})]}),(0,v.jsx)(`p`,{className:`mt-1 text-sm text-gray-600`,children:e.description}),(0,v.jsxs)(`details`,{className:`mt-2`,children:[(0,v.jsx)(`summary`,{className:`text-xs text-blue-600 cursor-pointer hover:text-blue-800`,children:f(`viewCookies`,{count:e.cookies.length})}),(0,v.jsx)(`div`,{className:`mt-1 text-xs text-gray-500 bg-gray-50 rounded-sm p-2`,children:(0,v.jsx)(`ul`,{className:`list-disc list-inside space-y-1`,children:e.cookies.map(e=>(0,v.jsx)(`li`,{children:e},e))})})]})]})})},e.id))]}),(0,v.jsxs)(`div`,{className:`border-t border-gray-200 pt-6`,children:[(0,v.jsx)(`h4`,{className:`text-base font-medium text-gray-900 mb-4`,children:f(`dataManagement`)}),(0,v.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,v.jsxs)(`button`,{onClick:()=>{let e=a(),t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`semiont-user-data-${new Date().toISOString().split(`T`)[0]}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},className:`flex items-center justify-center px-4 py-2 border border-gray-300 rounded-md shadow-xs text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500`,children:[(0,v.jsx)(p,{className:`h-4 w-4 mr-2`}),f(`exportMyData`)]}),(0,v.jsxs)(`button`,{onClick:()=>S(!0),className:`flex items-center justify-center px-4 py-2 border border-red-300 rounded-md shadow-xs text-sm font-medium text-red-700 bg-white hover:bg-red-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500`,children:[(0,v.jsx)(l,{className:`h-4 w-4 mr-2`}),f(`deleteAllData`)]})]}),(0,v.jsx)(`p`,{className:`mt-2 text-xs text-gray-500`,children:f(`dataManagementDescription`)})]})]})}),(0,v.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 justify-center`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e?{...e,necessary:!0,analytics:!1,marketing:!1,preferences:!1}:null)},disabled:y,className:`px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 transition-colors`,children:f(`rejectAll`)}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e?{...e,necessary:!0,analytics:!0,marketing:!0,preferences:!0}:null)},disabled:y,className:`px-4 py-2 text-sm font-medium text-white bg-blue-600 border border-transparent rounded-md hover:bg-blue-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 transition-colors`,children:f(`acceptAll`)})]}),(0,v.jsxs)(`div`,{className:`mt-6 sm:flex sm:flex-row-reverse`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:w,disabled:y,className:`w-full inline-flex justify-center rounded-md border border-transparent shadow-xs px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm disabled:opacity-50`,children:f(y?`saving`:`saveChanges`)}),(0,v.jsx)(`button`,{type:`button`,onClick:t,className:`mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xs px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:w-auto sm:text-sm`,children:f(`cancel`)})]})]})]}),x&&(0,v.jsx)(`div`,{className:`fixed inset-0 z-60 overflow-y-auto`,children:(0,v.jsxs)(`div`,{className:`flex items-center justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0`,children:[(0,v.jsx)(`div`,{className:`fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75`}),(0,v.jsxs)(`div`,{className:`inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full sm:p-6`,children:[(0,v.jsxs)(`div`,{className:`sm:flex sm:items-start`,children:[(0,v.jsx)(`div`,{className:`mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10`,children:(0,v.jsx)(l,{className:`h-6 w-6 text-red-600`})}),(0,v.jsxs)(`div`,{className:`mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left`,children:[(0,v.jsx)(`h3`,{className:`text-lg leading-6 font-medium text-gray-900`,children:f(`deleteConfirmTitle`)}),(0,v.jsx)(`div`,{className:`mt-2`,children:(0,v.jsx)(`p`,{className:`text-sm text-gray-500`,children:f(`deleteConfirmDescription`)})})]})]}),(0,v.jsxs)(`div`,{className:`mt-5 sm:mt-4 sm:flex sm:flex-row-reverse`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>{o()},className:`w-full inline-flex justify-center rounded-md border border-transparent shadow-xs px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm`,children:f(`deleteAllData`)}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>S(!1),className:`mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xs px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:w-auto sm:text-sm`,children:f(`cancel`)})]})]})]})})]})}export{_ as n,y as t};
|
|
2
|
-
//# sourceMappingURL=CookiePreferences-Vt05bBY7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CookiePreferences-Vt05bBY7.js","names":["ForwardRef","ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ArrowDownTrayIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/CogIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ShieldCheckIcon.js","../../src/components/CookiePreferences.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ArrowDownTrayIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ArrowDownTrayIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CogIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M4.5 12a7.5 7.5 0 0 0 15 0m-15 0a7.5 7.5 0 1 1 15 0m-15 0H3m16.5 0H21m-1.5 0H12m-8.457 3.077 1.41-.513m14.095-5.13 1.41-.513M5.106 17.785l1.15-.964m11.49-9.642 1.149-.964M7.501 19.795l.75-1.3m7.5-12.99.75-1.3m-6.063 16.658.26-1.477m2.605-14.772.26-1.477m0 17.726-.26-1.477M10.698 4.614l-.26-1.477M16.5 19.794l-.75-1.299M7.5 4.205 12 12m6.894 5.785-1.149-.964M6.256 7.178l-1.15-.964m15.352 8.864-1.41-.513M4.954 9.435l-1.41-.514M12.002 12l-3.75 6.495\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CogIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ShieldCheckIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ShieldCheckIcon);\nexport default ForwardRef;","\"use client\";\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n getCookieConsent,\n setCookieConsent,\n COOKIE_CATEGORIES,\n CookieConsent,\n exportUserData,\n deleteAllUserData,\n type CookieCategory\n} from '@/lib/cookies';\nimport {\n CogIcon,\n TrashIcon,\n ArrowDownTrayIcon,\n ShieldCheckIcon,\n XMarkIcon\n} from '@heroicons/react/24/outline';\n\ninterface CookiePreferencesProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nexport function CookiePreferences({ isOpen, onClose }: CookiePreferencesProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`CookiePreferences.${k}`, p as any) as string;\n const [consent, setConsent] = useState<CookieConsent | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);\n\n // Store callback in ref to avoid including in dependency arrays\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n });\n\n useEffect(() => {\n if (isOpen) {\n const currentConsent = getCookieConsent();\n setConsent(currentConsent || {\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false,\n timestamp: new Date().toISOString(),\n version: '1.0'\n });\n }\n }, [isOpen]);\n\n // Handle ESC key to close modal\n useEffect(() => {\n if (!isOpen) {\n return undefined;\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n onCloseRef.current();\n }\n };\n\n document.addEventListener('keydown', handleEsc);\n return () => {\n document.removeEventListener('keydown', handleEsc);\n };\n }, [isOpen]);\n\n const handleSave = async () => {\n if (!consent) return;\n \n setIsLoading(true);\n setCookieConsent(consent);\n setIsLoading(false);\n onClose();\n };\n\n const handleCategoryToggle = (categoryId: keyof Omit<CookieConsent, 'timestamp' | 'version'>) => {\n if (categoryId === 'necessary' || !consent) return;\n \n setConsent(prev => prev ? {\n ...prev,\n [categoryId]: !prev[categoryId]\n } : null);\n };\n\n const handleExportData = () => {\n const data = exportUserData();\n const blob = new Blob([JSON.stringify(data, null, 2)], { \n type: 'application/json' \n });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `semiont-user-data-${new Date().toISOString().split('T')[0]}.json`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n };\n\n const handleDeleteAllData = () => {\n deleteAllUserData();\n };\n\n if (!isOpen || !consent) return null;\n\n return (\n <div className=\"fixed inset-0 z-50 overflow-y-auto\">\n <div className=\"flex items-center justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0\">\n {/* Background overlay */}\n <div \n className=\"fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75\"\n onClick={onClose}\n />\n\n {/* Modal panel */}\n <div className=\"inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-2xl sm:w-full sm:p-6 relative\">\n {/* Close button in upper right */}\n <button\n onClick={onClose}\n className=\"absolute top-4 right-4 text-gray-400 hover:text-gray-600 transition-colors focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded-lg p-1\"\n aria-label=\"Close\"\n >\n <XMarkIcon className=\"h-6 w-6\" />\n </button>\n\n <div className=\"sm:flex sm:items-start\">\n <div className=\"mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10\">\n <CogIcon className=\"h-6 w-6 text-blue-600\" />\n </div>\n <div className=\"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left flex-1 pr-8\">\n <h3 className=\"text-lg leading-6 font-medium text-gray-900\">\n {t('title')}\n </h3>\n <div className=\"mt-2\">\n <p className=\"text-sm text-gray-500\">\n {t('description')}\n </p>\n </div>\n </div>\n </div>\n\n <div className=\"mt-6\">\n <div className=\"space-y-6\">\n {/* Current consent info */}\n <div className=\"bg-gray-50 rounded-lg p-4\">\n <div className=\"flex items-center\">\n <ShieldCheckIcon className=\"h-5 w-5 text-green-500 mr-2\" />\n <span className=\"text-sm font-medium text-gray-900\">\n {t('currentSettings')}\n </span>\n </div>\n <div className=\"mt-2 text-xs text-gray-600\">\n <p>{t('lastUpdated', { date: new Date(consent.timestamp).toLocaleDateString() })}</p>\n <p>{t('version', { version: consent.version })}</p>\n </div>\n </div>\n\n {/* Cookie categories */}\n <div className=\"space-y-4\">\n <h4 className=\"text-base font-medium text-gray-900\">\n {t('cookieCategories')}\n </h4>\n \n {COOKIE_CATEGORIES.map((category: CookieCategory) => (\n <div key={category.id} className=\"border border-gray-200 rounded-lg p-4\">\n <div className=\"flex items-start justify-between\">\n <div className=\"flex-1\">\n <div className=\"flex items-center\">\n <input\n id={`pref-${category.id}`}\n type=\"checkbox\"\n checked={consent[category.id] || false}\n onChange={() => handleCategoryToggle(category.id)}\n disabled={category.required || isLoading}\n className=\"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded-sm disabled:opacity-50\"\n />\n <label\n htmlFor={`pref-${category.id}`}\n className=\"ml-3 text-sm font-medium text-gray-900 cursor-pointer\"\n >\n {category.name}\n {category.required && (\n <span className=\"text-xs text-gray-500 ml-1\">{t('required')}</span>\n )}\n </label>\n </div>\n <p className=\"mt-1 text-sm text-gray-600\">\n {category.description}\n </p>\n <details className=\"mt-2\">\n <summary className=\"text-xs text-blue-600 cursor-pointer hover:text-blue-800\">\n {t('viewCookies', { count: category.cookies.length })}\n </summary>\n <div className=\"mt-1 text-xs text-gray-500 bg-gray-50 rounded-sm p-2\">\n <ul className=\"list-disc list-inside space-y-1\">\n {category.cookies.map(cookie => (\n <li key={cookie}>{cookie}</li>\n ))}\n </ul>\n </div>\n </details>\n </div>\n </div>\n </div>\n ))}\n </div>\n\n {/* Data management section */}\n <div className=\"border-t border-gray-200 pt-6\">\n <h4 className=\"text-base font-medium text-gray-900 mb-4\">\n {t('dataManagement')}\n </h4>\n\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n <button\n onClick={handleExportData}\n className=\"flex items-center justify-center px-4 py-2 border border-gray-300 rounded-md shadow-xs text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\"\n >\n <ArrowDownTrayIcon className=\"h-4 w-4 mr-2\" />\n {t('exportMyData')}\n </button>\n\n <button\n onClick={() => setShowDeleteConfirm(true)}\n className=\"flex items-center justify-center px-4 py-2 border border-red-300 rounded-md shadow-xs text-sm font-medium text-red-700 bg-white hover:bg-red-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500\"\n >\n <TrashIcon className=\"h-4 w-4 mr-2\" />\n {t('deleteAllData')}\n </button>\n </div>\n\n <p className=\"mt-2 text-xs text-gray-500\">\n {t('dataManagementDescription')}\n </p>\n </div>\n </div>\n </div>\n\n {/* Quick Actions */}\n <div className=\"mt-6 flex flex-wrap gap-2 justify-center\">\n <button\n type=\"button\"\n onClick={() => {\n setConsent(prev => prev ? {\n ...prev,\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false\n } : null);\n }}\n disabled={isLoading}\n className=\"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 transition-colors\"\n >\n {t('rejectAll')}\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setConsent(prev => prev ? {\n ...prev,\n necessary: true,\n analytics: true,\n marketing: true,\n preferences: true\n } : null);\n }}\n disabled={isLoading}\n className=\"px-4 py-2 text-sm font-medium text-white bg-blue-600 border border-transparent rounded-md hover:bg-blue-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 transition-colors\"\n >\n {t('acceptAll')}\n </button>\n </div>\n\n {/* Action buttons */}\n <div className=\"mt-6 sm:flex sm:flex-row-reverse\">\n <button\n type=\"button\"\n onClick={handleSave}\n disabled={isLoading}\n className=\"w-full inline-flex justify-center rounded-md border border-transparent shadow-xs px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm disabled:opacity-50\"\n >\n {isLoading ? t('saving') : t('saveChanges')}\n </button>\n <button\n type=\"button\"\n onClick={onClose}\n className=\"mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xs px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:w-auto sm:text-sm\"\n >\n {t('cancel')}\n </button>\n </div>\n </div>\n </div>\n\n {/* Delete confirmation modal */}\n {showDeleteConfirm && (\n <div className=\"fixed inset-0 z-60 overflow-y-auto\">\n <div className=\"flex items-center justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0\">\n <div className=\"fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75\" />\n <div className=\"inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full sm:p-6\">\n <div className=\"sm:flex sm:items-start\">\n <div className=\"mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10\">\n <TrashIcon className=\"h-6 w-6 text-red-600\" />\n </div>\n <div className=\"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left\">\n <h3 className=\"text-lg leading-6 font-medium text-gray-900\">\n {t('deleteConfirmTitle')}\n </h3>\n <div className=\"mt-2\">\n <p className=\"text-sm text-gray-500\">\n {t('deleteConfirmDescription')}\n </p>\n </div>\n </div>\n </div>\n <div className=\"mt-5 sm:mt-4 sm:flex sm:flex-row-reverse\">\n <button\n type=\"button\"\n onClick={handleDeleteAllData}\n className=\"w-full inline-flex justify-center rounded-md border border-transparent shadow-xs px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm\"\n >\n {t('deleteAllData')}\n </button>\n <button\n type=\"button\"\n onClick={() => setShowDeleteConfirm(false)}\n className=\"mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xs px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:w-auto sm:text-sm\"\n >\n {t('cancel')}\n </button>\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport default CookiePreferences;"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{C as i,K as a,Y as o,d as s}from"./index-DojEUBpq.js";import{i as c}from"./routing-Dqgz2rV4.js";var l=[{id:`necessary`,name:`Strictly Necessary`,description:`These cookies are essential for the website to function properly. They enable core functionality such as security, network management, and accessibility.`,required:!0,cookies:[`semiont-token`,`consent-preferences`]},{id:`analytics`,name:`Analytics`,description:`These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously.`,required:!1,cookies:[`_ga`,`_ga_*`,`_gid`,`_gat`,`lighthouse-*`]},{id:`marketing`,name:`Marketing`,description:`These cookies are used to track visitors across websites to display relevant advertisements and measure campaign effectiveness.`,required:!1,cookies:[`_fbp`,`_fbc`,`fr`,`ads-*`]},{id:`preferences`,name:`Preferences`,description:`These cookies remember your choices and preferences to provide a more personalized experience.`,required:!1,cookies:[`theme-preference`,`language-preference`,`ui-settings`]}],u=`semiont-cookie-consent`,d={necessary:!0,analytics:!1,marketing:!1,preferences:!1,timestamp:new Date().toISOString(),version:`1.0`},f=e=>{typeof window>`u`||l.forEach(t=>{t.required||e[t.id]||t.cookies.forEach(e=>{if(e.includes(`*`)){let t=e.replace(`*`,``);document.cookie.split(`;`).forEach(e=>{let n=e.split(`=`)[0]?.trim();n&&n.startsWith(t)&&p(n)})}else p(e)})})},p=e=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`,document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.location.hostname}`;let t=window.location.hostname.split(`.`).slice(-2).join(`.`);document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=.${t}`},m=()=>{if(typeof window>`u`)return null;try{let e=localStorage.getItem(u);if(!e)return null;let t=JSON.parse(e);return t.version===`1.0`?t:null}catch(e){return console.warn(`Failed to parse cookie consent:`,e),null}},h=e=>{if(typeof window>`u`)return;let t={...d,...e,necessary:!0,timestamp:new Date().toISOString(),version:`1.0`};try{localStorage.setItem(u,JSON.stringify(t)),f(t),window.dispatchEvent(new CustomEvent(`cookieConsentChanged`,{detail:t}))}catch(e){console.error(`Failed to save cookie consent:`,e)}},g=()=>{let e=m();if(!e)return!1;let t=new Date(e.timestamp),n=new Date;return n.setMonth(n.getMonth()-13),t>n},_=()=>typeof window>`u`?!1:!g(),v=async()=>{try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e.includes(`Europe/`)?`EU`:e.includes(`America/Los_Angeles`)||e.includes(`America/Vancouver`)?`CA`:e.includes(`America/`)?`US`:`OTHER`}catch{return`OTHER`}},y=async()=>await v()===`CA`,b=async()=>await v()===`EU`,x=()=>{if(typeof window>`u`)return{};let e={};document.cookie.split(`;`).forEach(t=>{let[n,r]=t.trim().split(`=`);n&&r&&(e[`cookie_${n}`]=decodeURIComponent(r))});for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&(e[`localStorage_${n}`]=localStorage.getItem(n)||``)}for(let t=0;t<sessionStorage.length;t++){let n=sessionStorage.key(t);n&&(e[`sessionStorage_${n}`]=sessionStorage.getItem(n)||``)}return e},S=()=>{typeof window>`u`||(localStorage.clear(),sessionStorage.clear(),document.cookie.split(`;`).forEach(e=>{let t=e.split(`=`)[0]?.trim();t&&p(t)}),window.location.reload())},C=e(t()),w=r();function T({isOpen:e,onClose:t}){let r=c(),{t:a}=n(),o=(e,t)=>a(`Search.${e}`,t);return(0,w.jsx)(i,{isOpen:e,onClose:t,onNavigate:(e,t)=>{e===`resource`?r.push(`/know/resource/${encodeURIComponent(t)}`):r.push(`/know/entity/${t}`)},translations:{placeholder:o(`placeholder`),searching:o(`searching`),noResults:o(`noResults`),startTyping:o(`startTyping`),navigate:o(`navigate`),select:o(`select`),close:o(`close`),enter:o(`enter`),esc:o(`esc`)}})}var E=(0,C.createContext)(null);function D({children:e}){let t=c(),[n,r]=(0,C.useState)(!1),[i,l]=(0,C.useState)(!1),[u,d]=(0,C.useState)([]),f=(0,C.useCallback)(()=>{r(!0)},[]),p=(0,C.useCallback)(()=>{l(!0)},[]),m=(0,C.useCallback)(()=>{r(!1),l(!1),u.forEach(e=>e()),d([])},[u]);o([{key:`k`,ctrlOrCmd:!0,handler:()=>{f()},description:`Open global search`},{key:`n`,ctrlOrCmd:!0,handler:()=>{t.push(`/know/compose`)},description:`Create new resource`},{key:`/`,handler:()=>{f()},description:`Open global search (alternative)`},{key:`?`,shift:!0,handler:()=>{p()},description:`Show keyboard shortcuts help`}]),a(`Escape`,m,300);let h={openGlobalSearch:f,openKeyboardHelp:p,closeAllOverlays:m};return(0,w.jsxs)(E.Provider,{value:h,children:[e,n&&(0,w.jsx)(T,{isOpen:n,onClose:()=>r(!1)}),i&&(0,w.jsx)(s,{isOpen:i,onClose:()=>l(!1)})]})}export{y as a,h as c,x as i,_ as l,D as n,b as o,S as r,m as s,E as t,l as u};
|
|
2
|
-
//# sourceMappingURL=KeyboardShortcutsContext-CK7NFEft.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardShortcutsContext-CK7NFEft.js","names":[],"sources":["../../src/lib/cookies/constants.ts","../../src/lib/cookies/cleanup.ts","../../src/lib/cookies/consent.ts","../../src/lib/cookies/privacy.ts","../../src/components/modals/GlobalSearchModal.tsx","../../src/contexts/KeyboardShortcutsContext.tsx"],"sourcesContent":["import type { CookieCategory, CookieConsent } from './types';\n\n// Cookie categories with descriptions\nexport const COOKIE_CATEGORIES: CookieCategory[] = [\n {\n id: 'necessary',\n name: 'Strictly Necessary',\n description: 'These cookies are essential for the website to function properly. They enable core functionality such as security, network management, and accessibility.',\n required: true,\n cookies: ['semiont-token', 'consent-preferences']\n },\n {\n id: 'analytics',\n name: 'Analytics',\n description: 'These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously.',\n required: false,\n cookies: ['_ga', '_ga_*', '_gid', '_gat', 'lighthouse-*']\n },\n {\n id: 'marketing',\n name: 'Marketing',\n description: 'These cookies are used to track visitors across websites to display relevant advertisements and measure campaign effectiveness.',\n required: false,\n cookies: ['_fbp', '_fbc', 'fr', 'ads-*']\n },\n {\n id: 'preferences',\n name: 'Preferences',\n description: 'These cookies remember your choices and preferences to provide a more personalized experience.',\n required: false,\n cookies: ['theme-preference', 'language-preference', 'ui-settings']\n }\n];\n\n// Current consent version (increment when privacy policy changes)\nexport const CONSENT_VERSION = '1.0';\n\n// Cookie names\nexport const CONSENT_COOKIE_NAME = 'semiont-cookie-consent';\nexport const PREFERENCES_COOKIE_NAME = 'semiont-cookie-preferences';\n\n// Default consent state\nexport const DEFAULT_CONSENT: CookieConsent = {\n necessary: true, // Always true, required for functionality\n analytics: false,\n marketing: false,\n preferences: false,\n timestamp: new Date().toISOString(),\n version: CONSENT_VERSION\n};\n","import type { CookieConsent } from './types';\nimport { COOKIE_CATEGORIES } from './constants';\n\n// Clean up cookies based on consent\nexport const cleanupCookies = (consent: CookieConsent): void => {\n if (typeof window === 'undefined') return;\n\n COOKIE_CATEGORIES.forEach(category => {\n if (category.required) return; // Never clean up required cookies\n\n const hasConsent = consent[category.id];\n if (!hasConsent) {\n // Remove cookies for this category\n category.cookies.forEach(cookieName => {\n if (cookieName.includes('*')) {\n // Handle wildcard cookies\n const prefix = cookieName.replace('*', '');\n document.cookie.split(';').forEach(cookie => {\n const name = cookie.split('=')[0]?.trim();\n if (name && name.startsWith(prefix)) {\n deleteCookie(name);\n }\n });\n } else {\n deleteCookie(cookieName);\n }\n });\n }\n });\n};\n\n// Delete a specific cookie\nexport const deleteCookie = (name: string): void => {\n // Delete for current domain\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`;\n // Delete for parent domain\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.location.hostname}`;\n // Delete for root domain\n const rootDomain = window.location.hostname.split('.').slice(-2).join('.');\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=.${rootDomain}`;\n};\n","import type { CookieConsent } from './types';\nimport { CONSENT_COOKIE_NAME, CONSENT_VERSION, DEFAULT_CONSENT } from './constants';\nimport { cleanupCookies } from './cleanup';\n\nexport const getCookieConsent = (): CookieConsent | null => {\n if (typeof window === 'undefined') return null;\n\n try {\n const consent = localStorage.getItem(CONSENT_COOKIE_NAME);\n if (!consent) return null;\n\n const parsed = JSON.parse(consent) as CookieConsent;\n\n // Check if consent is for current version\n if (parsed.version !== CONSENT_VERSION) {\n return null; // Force re-consent for new version\n }\n\n return parsed;\n } catch (error) {\n console.warn('Failed to parse cookie consent:', error);\n return null;\n }\n};\n\nexport const setCookieConsent = (consent: Partial<CookieConsent>): void => {\n if (typeof window === 'undefined') return;\n\n const fullConsent: CookieConsent = {\n ...DEFAULT_CONSENT,\n ...consent,\n necessary: true, // Always true\n timestamp: new Date().toISOString(),\n version: CONSENT_VERSION\n };\n\n try {\n localStorage.setItem(CONSENT_COOKIE_NAME, JSON.stringify(fullConsent));\n\n // Clean up cookies based on consent\n cleanupCookies(fullConsent);\n\n // Dispatch custom event for components to react to consent changes\n window.dispatchEvent(new CustomEvent('cookieConsentChanged', {\n detail: fullConsent\n }));\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n }\n};\n\nexport const hasValidConsent = (): boolean => {\n const consent = getCookieConsent();\n if (!consent) return false;\n\n // Check if consent is less than 13 months old (GDPR requirement)\n const consentDate = new Date(consent.timestamp);\n const thirteenMonthsAgo = new Date();\n thirteenMonthsAgo.setMonth(thirteenMonthsAgo.getMonth() - 13);\n\n return consentDate > thirteenMonthsAgo;\n};\n\nexport const shouldShowBanner = (): boolean => {\n if (typeof window === 'undefined') return false;\n return !hasValidConsent();\n};\n","import { deleteCookie } from './cleanup';\n\n// Get user's location for CCPA vs GDPR detection (simplified)\nexport const getUserLocation = async (): Promise<'EU' | 'CA' | 'US' | 'OTHER'> => {\n try {\n // In a real implementation, you'd use a geolocation service\n // For now, we'll detect based on timezone as a rough approximation\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n if (timezone.includes('Europe/')) return 'EU';\n if (timezone.includes('America/Los_Angeles') || timezone.includes('America/Vancouver')) return 'CA';\n if (timezone.includes('America/')) return 'US';\n\n return 'OTHER';\n } catch {\n return 'OTHER';\n }\n};\n\n// Check if CCPA applies (California residents)\nexport const isCCPAApplicable = async (): Promise<boolean> => {\n const location = await getUserLocation();\n return location === 'CA';\n};\n\n// Check if GDPR applies (EU residents)\nexport const isGDPRApplicable = async (): Promise<boolean> => {\n const location = await getUserLocation();\n return location === 'EU';\n};\n\n// Export all cookies currently set\nexport const exportUserData = (): Record<string, string> => {\n if (typeof window === 'undefined') return {};\n\n const data: Record<string, string> = {};\n\n // Get all cookies\n document.cookie.split(';').forEach(cookie => {\n const [name, value] = cookie.trim().split('=');\n if (name && value) {\n data[`cookie_${name}`] = decodeURIComponent(value);\n }\n });\n\n // Get localStorage data\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key) {\n data[`localStorage_${key}`] = localStorage.getItem(key) || '';\n }\n }\n\n // Get sessionStorage data\n for (let i = 0; i < sessionStorage.length; i++) {\n const key = sessionStorage.key(i);\n if (key) {\n data[`sessionStorage_${key}`] = sessionStorage.getItem(key) || '';\n }\n }\n\n return data;\n};\n\n// Delete all user data (GDPR right to be forgotten)\nexport const deleteAllUserData = (): void => {\n if (typeof window === 'undefined') return;\n\n // Clear all localStorage\n localStorage.clear();\n\n // Clear all sessionStorage\n sessionStorage.clear();\n\n // Delete all cookies\n document.cookie.split(';').forEach(cookie => {\n const name = cookie.split('=')[0]?.trim();\n if (name) {\n deleteCookie(name);\n }\n });\n\n // Reload page to ensure clean state\n window.location.reload();\n};\n","import React from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { SearchModal } from '@semiont/react-ui';\nimport { useTranslation } from 'react-i18next';\n\ninterface GlobalSearchModalProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nexport function GlobalSearchModal({ isOpen, onClose }: GlobalSearchModalProps) {\n const router = useRouter();\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Search.${k}`, p as any) as string;\n\n const handleNavigate = (type: 'resource' | 'entity', id: string) => {\n if (type === 'resource') {\n router.push(`/know/resource/${encodeURIComponent(id)}`);\n } else {\n router.push(`/know/entity/${id}`);\n }\n };\n\n return (\n <SearchModal\n isOpen={isOpen}\n onClose={onClose}\n onNavigate={handleNavigate}\n translations={{\n placeholder: t('placeholder'),\n searching: t('searching'),\n noResults: t('noResults'),\n startTyping: t('startTyping'),\n navigate: t('navigate'),\n select: t('select'),\n close: t('close'),\n enter: t('enter'),\n esc: t('esc'),\n }}\n />\n );\n}","import React, { createContext, useContext, useState, useCallback } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useKeyboardShortcuts, useDoubleKeyPress, KeyboardShortcutsHelpModal } from '@semiont/react-ui';\nimport { GlobalSearchModal } from '../components/modals/GlobalSearchModal';\n\ninterface KeyboardShortcutsContextType {\n openGlobalSearch: () => void;\n openKeyboardHelp: () => void;\n closeAllOverlays: () => void;\n}\n\nexport const KeyboardShortcutsContext = createContext<KeyboardShortcutsContextType | null>(null);\n\nexport function useKeyboardShortcutsContext() {\n const context = useContext(KeyboardShortcutsContext);\n if (!context) {\n throw new Error('useKeyboardShortcutsContext must be used within KeyboardShortcutsProvider');\n }\n return context;\n}\n\ninterface KeyboardShortcutsProviderProps {\n children: React.ReactNode;\n}\n\nexport function KeyboardShortcutsProvider({ children }: KeyboardShortcutsProviderProps) {\n const router = useRouter();\n const [isSearchOpen, setIsSearchOpen] = useState(false);\n const [isHelpOpen, setIsHelpOpen] = useState(false);\n const [overlayCloseCallbacks, setOverlayCloseCallbacks] = useState<(() => void)[]>([]);\n\n // Open global search\n const openGlobalSearch = useCallback(() => {\n setIsSearchOpen(true);\n }, []);\n\n // Open keyboard help\n const openKeyboardHelp = useCallback(() => {\n setIsHelpOpen(true);\n }, []);\n\n // Close all overlays\n const closeAllOverlays = useCallback(() => {\n // Close all modals\n setIsSearchOpen(false);\n setIsHelpOpen(false);\n\n // Call all registered overlay close callbacks\n overlayCloseCallbacks.forEach(callback => callback());\n\n // Clear the callbacks\n setOverlayCloseCallbacks([]);\n }, [overlayCloseCallbacks]);\n\n // Register global keyboard shortcuts\n useKeyboardShortcuts([\n {\n key: 'k',\n ctrlOrCmd: true,\n handler: () => {\n openGlobalSearch();\n },\n description: 'Open global search'\n },\n {\n key: 'n',\n ctrlOrCmd: true,\n handler: () => {\n // Navigate to compose page to create new resource\n router.push('/know/compose');\n },\n description: 'Create new resource'\n },\n {\n key: '/',\n handler: () => {\n // Alternative search trigger (like GitHub)\n openGlobalSearch();\n },\n description: 'Open global search (alternative)'\n },\n {\n key: '?',\n shift: true,\n handler: () => {\n // Open keyboard shortcuts help\n openKeyboardHelp();\n },\n description: 'Show keyboard shortcuts help'\n }\n ]);\n\n // Double Escape to close all overlays\n useDoubleKeyPress('Escape', closeAllOverlays, 300);\n\n const contextValue: KeyboardShortcutsContextType = {\n openGlobalSearch,\n openKeyboardHelp,\n closeAllOverlays\n };\n\n return (\n <KeyboardShortcutsContext.Provider value={contextValue}>\n {children}\n {isSearchOpen && (\n <GlobalSearchModal\n isOpen={isSearchOpen}\n onClose={() => setIsSearchOpen(false)}\n />\n )}\n {isHelpOpen && (\n <KeyboardShortcutsHelpModal\n isOpen={isHelpOpen}\n onClose={() => setIsHelpOpen(false)}\n />\n )}\n </KeyboardShortcutsContext.Provider>\n );\n}"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t}from"./i18n-B53Yefbh.js";import{t as n}from"./vendor-0HjOURbh.js";import{kt as r,lt as i}from"./index-DojEUBpq.js";var a=e(t(),1),o=n();function s(e,t,n,r,i=1){let a=Math.min(e.startX,e.endX),o=Math.min(e.startY,e.endY),s=Math.max(e.startX,e.endX),c=Math.max(e.startY,e.endY),l=a/i,u=(s-a)/i,d=r-c/i,f=(c-o)/i;return{page:t,x:Math.round(l),y:Math.round(d),width:Math.round(u),height:Math.round(f)}}function c(e,t,n=1){let r=e.x*n,i=e.width*n;return{x:r,y:(t-e.y-e.height)*n,width:i,height:e.height*n}}function l(e){return`page=${e.page}&viewrect=${e.x},${e.y},${e.width},${e.height}`}function u(e){try{let t=e.match(/page=(\d+)/);if(!t)return null;let n=parseInt(t[1],10),r=e.match(/viewrect=([\d.]+),([\d.]+),([\d.]+),([\d.]+)/);return r?{page:n,x:parseFloat(r[1]),y:parseFloat(r[2]),width:parseFloat(r[3]),height:parseFloat(r[4])}:null}catch{return null}}function d(e){let t=e.match(/page=(\d+)/);return t?parseInt(t[1],10):null}async function f(){return typeof window<`u`&&window.pdfjsLib?window.pdfjsLib:new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`/pdfjs/pdf.min.mjs`,n.type=`module`,n.onload=()=>{let n=window.pdfjsLib;if(!n){t(Error(`PDF.js loaded but pdfjsLib not available`));return}n.GlobalWorkerOptions.workerSrc=`/pdfjs/pdf.worker.min.mjs`,e(n)},n.onerror=()=>{t(Error(`Failed to load PDF.js from /pdfjs/pdf.min.mjs`))},document.head.appendChild(n)})}async function p(e){return(await f()).getDocument({url:e}).promise}async function m(e,t=1){let n=e.getViewport({scale:t}),r=document.createElement(`canvas`),i=r.getContext(`2d`);if(!i)throw Error(`Failed to get 2D context`);return r.width=n.width,r.height=n.height,await e.render({canvasContext:i,viewport:n}).promise,{dataUrl:r.toDataURL(`image/png`),width:n.width,height:n.height}}function h(e){if(!e)return{stroke:`rgb(156, 163, 175)`,fill:`rgba(156, 163, 175, 0.2)`};switch(e){case`highlighting`:return{stroke:`rgb(250, 204, 21)`,fill:`rgba(250, 204, 21, 0.3)`};case`linking`:return{stroke:`rgb(59, 130, 246)`,fill:`rgba(59, 130, 246, 0.2)`};case`assessing`:return{stroke:`rgb(239, 68, 68)`,fill:`rgba(239, 68, 68, 0.2)`};case`commenting`:return{stroke:`rgb(255, 255, 255)`,fill:`rgba(255, 255, 255, 0.2)`};default:return{stroke:`rgb(156, 163, 175)`,fill:`rgba(156, 163, 175, 0.2)`}}}function g({pdfUrl:e,existingAnnotations:t=[],drawingMode:n,selectedMotivation:f,session:g,hoveredAnnotationId:_,selectedAnnotationId:v,hoverDelayMs:y=150}){let[b,x]=(0,a.useState)(null),[S,C]=(0,a.useState)(0),[w,T]=(0,a.useState)(1),[E,D]=(0,a.useState)(null),[O,k]=(0,a.useState)(!0),[A,j]=(0,a.useState)(null),[M,N]=(0,a.useState)(null),[P,F]=(0,a.useState)(null),[I]=(0,a.useState)(1.5),[L,R]=(0,a.useState)(!1),[z,B]=(0,a.useState)(null),V=(0,a.useRef)(null),H=(0,a.useRef)(null);(0,a.useEffect)(()=>{let t=!1;async function n(){try{k(!0),j(null);let n=await p(e);if(t)return;x(n),C(n.numPages),k(!1)}catch(e){if(t)return;console.error(`Error loading PDF:`,e),j(`Failed to load PDF`),k(!1)}}return n(),()=>{t=!0}},[e]),(0,a.useEffect)(()=>{if(!b)return;let e=!1,t=b;async function n(){try{let n=await t.getPage(w);if(e)return;let r=n.getViewport({scale:1});N({width:r.width,height:r.height});let{dataUrl:i}=await m(n,I);if(e)return;D(i)}catch(t){if(e)return;console.error(`Error loading page:`,t),j(`Failed to load page`)}}return n(),()=>{e=!0}},[b,w,I]),(0,a.useEffect)(()=>{let e=()=>{H.current&&F({width:H.current.clientWidth,height:H.current.clientHeight})};e();let t=null;try{t=new ResizeObserver(e),H.current&&t.observe(H.current)}catch{console.warn(`ResizeObserver not supported, falling back to window resize listener`),window.addEventListener(`resize`,e)}return()=>{t?t.disconnect():window.removeEventListener(`resize`,e)}},[E]);let U=(0,a.useCallback)(e=>{if(!n||!H.current)return;let t=H.current.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top;R(!0),B({startX:r,startY:i,endX:r,endY:i})},[n]),W=(0,a.useCallback)(e=>{if(!L||!z||!H.current)return;let t=H.current.getBoundingClientRect();B({...z,endX:e.clientX-t.left,endY:e.clientY-t.top})},[L,z]),G=(0,a.useCallback)(()=>{if(!L||!z||!M||!P||!g){R(!1),B(null);return}if(Math.sqrt((z.endX-z.startX)**2+(z.endY-z.startY)**2)<10){if(t.length>0){let e=q.find(e=>{let t=K(e.target);if(!t)return!1;let n=u(t.value);if(!n)return!1;let r=c(n,M.height,1),i=P.width/M.width,a=P.height/M.height,o=r.x*i,s=r.y*a,l=r.width*i,d=r.height*a;return z.endX>=o&&z.endX<=o+l&&z.endY>=s&&z.endY<=s+d});if(e){g?.client.browse.click(e.id,e.motivation),R(!1),B(null);return}}R(!1),B(null);return}let e=M.width/P.width,n=M.height/P.height,r=l(s({startX:z.startX*e,startY:z.startY*n,endX:z.endX*e,endY:z.endY*n},w,M.width,M.height,1));f&&g.client.mark.request({type:`FragmentSelector`,conformsTo:`http://tools.ietf.org/rfc/rfc3778`,value:r},f),R(!1)},[L,z,w,M,P,f,t]),K=e=>{let t=r(e);if(!t)return null;let n=(Array.isArray(t)?t:[t]).find(e=>e.type===`FragmentSelector`);return!n||n.type!==`FragmentSelector`?null:n},q=t.filter(e=>{let t=K(e.target);return t?d(t.value)===w:!1}),{handleMouseEnter:J,handleMouseLeave:Y}=(0,a.useMemo)(()=>i(e=>g?.client.beckon.hover(e),y),[g,y]),{stroke:X,fill:Z}=h(f??null);return A?(0,o.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__error`,children:A}):(0,o.jsxs)(`div`,{className:`semiont-pdf-annotation-canvas`,children:[O&&(0,o.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__loading`,children:`Loading PDF...`}),(0,o.jsxs)(`div`,{ref:V,className:`semiont-pdf-annotation-canvas__container`,style:{display:O?`none`:void 0},onMouseDown:U,onMouseMove:W,onMouseUp:G,onMouseLeave:()=>{L&&(R(!1),B(null))},"data-drawing-mode":n||`none`,children:[E&&(0,o.jsx)(`img`,{ref:H,src:E,alt:`PDF page ${w}`,className:`semiont-pdf-annotation-canvas__image`,draggable:!1,style:{pointerEvents:`none`},onLoad:()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{H.current&&F({width:H.current.clientWidth,height:H.current.clientHeight})})})}}),P&&M&&(0,o.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__overlay-container`,children:(0,o.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__overlay`,children:(0,o.jsxs)(`svg`,{className:`semiont-pdf-annotation-canvas__svg`,width:P.width,height:P.height,children:[q.map(e=>{let t=K(e.target);if(!t)return null;let n=u(t.value);if(!n)return null;let r=c(n,M.height,1),i=P.width/M.width,a=P.height/M.height,s=e.id===_,l=e.id===v,d=e.motivation,{stroke:f,fill:p}=h(d);return(0,o.jsx)(`rect`,{x:r.x*i,y:r.y*a,width:r.width*i,height:r.height*a,stroke:f,strokeWidth:l?4:s?3:2,fill:p,style:{pointerEvents:`auto`,cursor:`pointer`,opacity:l?1:s?.9:.7},onClick:()=>g?.client.browse.click(e.id,e.motivation),onMouseEnter:()=>J(e.id),onMouseLeave:Y},e.id)}),z&&(0,o.jsx)(`rect`,{x:Math.min(z.startX,z.endX),y:Math.min(z.startY,z.endY),width:Math.abs(z.endX-z.startX),height:Math.abs(z.endY-z.startY),stroke:X,strokeWidth:2,strokeDasharray:`5,5`,fill:Z,pointerEvents:`none`})]})})})]}),S>0&&(0,o.jsxs)(`div`,{className:`semiont-pdf-annotation-canvas__controls`,children:[(0,o.jsx)(`button`,{disabled:w<=1,onClick:()=>T(w-1),className:`semiont-pdf-annotation-canvas__button`,children:`Previous`}),(0,o.jsxs)(`span`,{className:`semiont-pdf-annotation-canvas__page-info`,children:[`Page `,w,` of `,S]}),(0,o.jsx)(`button`,{disabled:w>=S,onClick:()=>T(w+1),className:`semiont-pdf-annotation-canvas__button`,children:`Next`})]})]})}export{g as PdfAnnotationCanvas};
|
|
2
|
-
//# sourceMappingURL=PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js","names":[],"sources":["../../../../packages/react-ui/dist/PdfAnnotationCanvas.client-CN3C3S55.js"],"sourcesContent":["'use client';\n\"use client\";\nimport \"./chunk-K6BJDL2I.js\";\n\n// src/components/pdf-annotation/PdfAnnotationCanvas.tsx\nimport { useRef, useState, useCallback, useEffect, useMemo } from \"react\";\nimport { getTargetSelector } from \"@semiont/core\";\nimport { createHoverHandlers } from \"@semiont/sdk\";\n\n// src/lib/pdf-coordinates.ts\nfunction canvasToPdfCoordinates(canvasRect, page, _pageWidth, pageHeight, scale = 1) {\n const x1 = Math.min(canvasRect.startX, canvasRect.endX);\n const y1 = Math.min(canvasRect.startY, canvasRect.endY);\n const x2 = Math.max(canvasRect.startX, canvasRect.endX);\n const y2 = Math.max(canvasRect.startY, canvasRect.endY);\n const pdfX = x1 / scale;\n const pdfWidth = (x2 - x1) / scale;\n const pdfY = pageHeight - y2 / scale;\n const pdfHeight = (y2 - y1) / scale;\n return {\n page,\n x: Math.round(pdfX),\n y: Math.round(pdfY),\n width: Math.round(pdfWidth),\n height: Math.round(pdfHeight)\n };\n}\nfunction pdfToCanvasCoordinates(pdfCoord, pageHeight, scale = 1) {\n const canvasX = pdfCoord.x * scale;\n const canvasWidth = pdfCoord.width * scale;\n const canvasY = (pageHeight - pdfCoord.y - pdfCoord.height) * scale;\n const canvasHeight = pdfCoord.height * scale;\n return {\n x: canvasX,\n y: canvasY,\n width: canvasWidth,\n height: canvasHeight\n };\n}\nfunction createFragmentSelector(coord) {\n return `page=${coord.page}&viewrect=${coord.x},${coord.y},${coord.width},${coord.height}`;\n}\nfunction parseFragmentSelector(fragment) {\n try {\n const pageMatch = fragment.match(/page=(\\d+)/);\n if (!pageMatch) return null;\n const page = parseInt(pageMatch[1], 10);\n const viewrectMatch = fragment.match(/viewrect=([\\d.]+),([\\d.]+),([\\d.]+),([\\d.]+)/);\n if (!viewrectMatch) return null;\n return {\n page,\n x: parseFloat(viewrectMatch[1]),\n y: parseFloat(viewrectMatch[2]),\n width: parseFloat(viewrectMatch[3]),\n height: parseFloat(viewrectMatch[4])\n };\n } catch {\n return null;\n }\n}\nfunction getPageFromFragment(fragment) {\n const match = fragment.match(/page=(\\d+)/);\n return match ? parseInt(match[1], 10) : null;\n}\n\n// src/lib/browser-pdfjs.ts\nasync function ensurePdfJs() {\n if (typeof window !== \"undefined\" && window.pdfjsLib) {\n return window.pdfjsLib;\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = \"/pdfjs/pdf.min.mjs\";\n script.type = \"module\";\n script.onload = () => {\n const pdfjsLib = window.pdfjsLib;\n if (!pdfjsLib) {\n reject(new Error(\"PDF.js loaded but pdfjsLib not available\"));\n return;\n }\n pdfjsLib.GlobalWorkerOptions.workerSrc = \"/pdfjs/pdf.worker.min.mjs\";\n resolve(pdfjsLib);\n };\n script.onerror = () => {\n reject(new Error(\"Failed to load PDF.js from /pdfjs/pdf.min.mjs\"));\n };\n document.head.appendChild(script);\n });\n}\nasync function loadPdfDocument(url) {\n const pdfjsLib = await ensurePdfJs();\n const loadingTask = pdfjsLib.getDocument({ url });\n return loadingTask.promise;\n}\nasync function renderPdfPageToDataUrl(page, scale = 1) {\n const viewport = page.getViewport({ scale });\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n if (!context) {\n throw new Error(\"Failed to get 2D context\");\n }\n canvas.width = viewport.width;\n canvas.height = viewport.height;\n const renderTask = page.render({\n canvasContext: context,\n viewport\n });\n await renderTask.promise;\n return {\n dataUrl: canvas.toDataURL(\"image/png\"),\n width: viewport.width,\n height: viewport.height\n };\n}\n\n// src/components/pdf-annotation/PdfAnnotationCanvas.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction getMotivationColor(motivation) {\n if (!motivation) {\n return { stroke: \"rgb(156, 163, 175)\", fill: \"rgba(156, 163, 175, 0.2)\" };\n }\n switch (motivation) {\n case \"highlighting\":\n return { stroke: \"rgb(250, 204, 21)\", fill: \"rgba(250, 204, 21, 0.3)\" };\n case \"linking\":\n return { stroke: \"rgb(59, 130, 246)\", fill: \"rgba(59, 130, 246, 0.2)\" };\n case \"assessing\":\n return { stroke: \"rgb(239, 68, 68)\", fill: \"rgba(239, 68, 68, 0.2)\" };\n case \"commenting\":\n return { stroke: \"rgb(255, 255, 255)\", fill: \"rgba(255, 255, 255, 0.2)\" };\n default:\n return { stroke: \"rgb(156, 163, 175)\", fill: \"rgba(156, 163, 175, 0.2)\" };\n }\n}\nfunction PdfAnnotationCanvas({\n pdfUrl,\n existingAnnotations = [],\n drawingMode,\n selectedMotivation,\n session,\n hoveredAnnotationId,\n selectedAnnotationId,\n hoverDelayMs = 150\n}) {\n const [pdfDoc, setPdfDoc] = useState(null);\n const [numPages, setNumPages] = useState(0);\n const [pageNumber, setPageNumber] = useState(1);\n const [pageImageUrl, setPageImageUrl] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n const [error, setError] = useState(null);\n const [pageDimensions, setPageDimensions] = useState(null);\n const [displayDimensions, setDisplayDimensions] = useState(null);\n const [scale] = useState(1.5);\n const [isDrawing, setIsDrawing] = useState(false);\n const [selection, setSelection] = useState(null);\n const containerRef = useRef(null);\n const imageRef = useRef(null);\n useEffect(() => {\n let cancelled = false;\n async function loadPdf() {\n try {\n setIsLoading(true);\n setError(null);\n const doc = await loadPdfDocument(pdfUrl);\n if (cancelled) return;\n setPdfDoc(doc);\n setNumPages(doc.numPages);\n setIsLoading(false);\n } catch (err) {\n if (cancelled) return;\n console.error(\"Error loading PDF:\", err);\n setError(\"Failed to load PDF\");\n setIsLoading(false);\n }\n }\n loadPdf();\n return () => {\n cancelled = true;\n };\n }, [pdfUrl]);\n useEffect(() => {\n if (!pdfDoc) return;\n let cancelled = false;\n const doc = pdfDoc;\n async function loadPage() {\n try {\n const page = await doc.getPage(pageNumber);\n if (cancelled) return;\n const viewport = page.getViewport({ scale: 1 });\n setPageDimensions({\n width: viewport.width,\n height: viewport.height\n });\n const { dataUrl } = await renderPdfPageToDataUrl(page, scale);\n if (cancelled) return;\n setPageImageUrl(dataUrl);\n } catch (err) {\n if (cancelled) return;\n console.error(\"Error loading page:\", err);\n setError(\"Failed to load page\");\n }\n }\n loadPage();\n return () => {\n cancelled = true;\n };\n }, [pdfDoc, pageNumber, scale]);\n useEffect(() => {\n const updateDisplayDimensions = () => {\n if (imageRef.current) {\n setDisplayDimensions({\n width: imageRef.current.clientWidth,\n height: imageRef.current.clientHeight\n });\n }\n };\n updateDisplayDimensions();\n let resizeObserver = null;\n try {\n resizeObserver = new ResizeObserver(updateDisplayDimensions);\n if (imageRef.current) {\n resizeObserver.observe(imageRef.current);\n }\n } catch (error2) {\n console.warn(\"ResizeObserver not supported, falling back to window resize listener\");\n window.addEventListener(\"resize\", updateDisplayDimensions);\n }\n return () => {\n if (resizeObserver) {\n resizeObserver.disconnect();\n } else {\n window.removeEventListener(\"resize\", updateDisplayDimensions);\n }\n };\n }, [pageImageUrl]);\n const handleMouseDown = useCallback((e) => {\n if (!drawingMode) return;\n if (!imageRef.current) return;\n const rect = imageRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n setIsDrawing(true);\n setSelection({\n startX: x,\n startY: y,\n endX: x,\n endY: y\n });\n }, [drawingMode]);\n const handleMouseMove = useCallback((e) => {\n if (!isDrawing || !selection || !imageRef.current) return;\n const rect = imageRef.current.getBoundingClientRect();\n setSelection({\n ...selection,\n endX: e.clientX - rect.left,\n endY: e.clientY - rect.top\n });\n }, [isDrawing, selection]);\n const handleMouseUp = useCallback(() => {\n if (!isDrawing || !selection || !pageDimensions || !displayDimensions || !session) {\n setIsDrawing(false);\n setSelection(null);\n return;\n }\n const dragDistance = Math.sqrt(\n Math.pow(selection.endX - selection.startX, 2) + Math.pow(selection.endY - selection.startY, 2)\n );\n const MIN_DRAG_DISTANCE = 10;\n if (dragDistance < MIN_DRAG_DISTANCE) {\n if (existingAnnotations.length > 0) {\n const clickedAnnotation = pageAnnotations.find((ann) => {\n const fragmentSel = getFragmentSelector(ann.target);\n if (!fragmentSel) return false;\n const pdfCoord2 = parseFragmentSelector(fragmentSel.value);\n if (!pdfCoord2) return false;\n const rect = pdfToCanvasCoordinates(pdfCoord2, pageDimensions.height, 1);\n const scaleX2 = displayDimensions.width / pageDimensions.width;\n const scaleY2 = displayDimensions.height / pageDimensions.height;\n const displayX = rect.x * scaleX2;\n const displayY = rect.y * scaleY2;\n const displayWidth = rect.width * scaleX2;\n const displayHeight = rect.height * scaleY2;\n return selection.endX >= displayX && selection.endX <= displayX + displayWidth && selection.endY >= displayY && selection.endY <= displayY + displayHeight;\n });\n if (clickedAnnotation) {\n session?.client.browse.click(clickedAnnotation.id, clickedAnnotation.motivation);\n setIsDrawing(false);\n setSelection(null);\n return;\n }\n }\n setIsDrawing(false);\n setSelection(null);\n return;\n }\n const scaleX = pageDimensions.width / displayDimensions.width;\n const scaleY = pageDimensions.height / displayDimensions.height;\n const nativeSelection = {\n startX: selection.startX * scaleX,\n startY: selection.startY * scaleY,\n endX: selection.endX * scaleX,\n endY: selection.endY * scaleY\n };\n const pdfCoord = canvasToPdfCoordinates(\n nativeSelection,\n pageNumber,\n pageDimensions.width,\n pageDimensions.height,\n 1\n // Use scale 1.0 since we already scaled to native coords\n );\n const fragmentSelector = createFragmentSelector(pdfCoord);\n if (selectedMotivation) {\n session.client.mark.request(\n {\n type: \"FragmentSelector\",\n conformsTo: \"http://tools.ietf.org/rfc/rfc3778\",\n value: fragmentSelector\n },\n selectedMotivation\n );\n }\n setIsDrawing(false);\n }, [isDrawing, selection, pageNumber, pageDimensions, displayDimensions, selectedMotivation, existingAnnotations]);\n const getFragmentSelector = (target) => {\n const selector = getTargetSelector(target);\n if (!selector) return null;\n const selectors = Array.isArray(selector) ? selector : [selector];\n const found = selectors.find((s) => s.type === \"FragmentSelector\");\n if (!found || found.type !== \"FragmentSelector\") return null;\n return found;\n };\n const pageAnnotations = existingAnnotations.filter((ann) => {\n const fragmentSel = getFragmentSelector(ann.target);\n if (!fragmentSel) return false;\n const page = getPageFromFragment(fragmentSel.value);\n return page === pageNumber;\n });\n const { handleMouseEnter, handleMouseLeave } = useMemo(\n () => createHoverHandlers((id) => session?.client.beckon.hover(id), hoverDelayMs),\n [session, hoverDelayMs]\n );\n const { stroke, fill } = getMotivationColor(selectedMotivation ?? null);\n if (error) {\n return /* @__PURE__ */ jsx(\"div\", { className: \"semiont-pdf-annotation-canvas__error\", children: error });\n }\n return /* @__PURE__ */ jsxs(\"div\", { className: \"semiont-pdf-annotation-canvas\", children: [\n isLoading && /* @__PURE__ */ jsx(\"div\", { className: \"semiont-pdf-annotation-canvas__loading\", children: \"Loading PDF...\" }),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n ref: containerRef,\n className: \"semiont-pdf-annotation-canvas__container\",\n style: { display: isLoading ? \"none\" : void 0 },\n onMouseDown: handleMouseDown,\n onMouseMove: handleMouseMove,\n onMouseUp: handleMouseUp,\n onMouseLeave: () => {\n if (isDrawing) {\n setIsDrawing(false);\n setSelection(null);\n }\n },\n \"data-drawing-mode\": drawingMode || \"none\",\n children: [\n pageImageUrl && /* @__PURE__ */ jsx(\n \"img\",\n {\n ref: imageRef,\n src: pageImageUrl,\n alt: `PDF page ${pageNumber}`,\n className: \"semiont-pdf-annotation-canvas__image\",\n draggable: false,\n style: { pointerEvents: \"none\" },\n onLoad: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (imageRef.current) {\n setDisplayDimensions({\n width: imageRef.current.clientWidth,\n height: imageRef.current.clientHeight\n });\n }\n });\n });\n }\n }\n ),\n displayDimensions && pageDimensions && /* @__PURE__ */ jsx(\"div\", { className: \"semiont-pdf-annotation-canvas__overlay-container\", children: /* @__PURE__ */ jsx(\"div\", { className: \"semiont-pdf-annotation-canvas__overlay\", children: /* @__PURE__ */ jsxs(\n \"svg\",\n {\n className: \"semiont-pdf-annotation-canvas__svg\",\n width: displayDimensions.width,\n height: displayDimensions.height,\n children: [\n pageAnnotations.map((ann) => {\n const fragmentSel = getFragmentSelector(ann.target);\n if (!fragmentSel) return null;\n const pdfCoord = parseFragmentSelector(fragmentSel.value);\n if (!pdfCoord) return null;\n const rect = pdfToCanvasCoordinates(pdfCoord, pageDimensions.height, 1);\n const scaleX = displayDimensions.width / pageDimensions.width;\n const scaleY = displayDimensions.height / pageDimensions.height;\n const isHovered = ann.id === hoveredAnnotationId;\n const isSelected = ann.id === selectedAnnotationId;\n const annMotivation = ann.motivation;\n const { stroke: annStroke, fill: annFill } = getMotivationColor(annMotivation);\n return /* @__PURE__ */ jsx(\n \"rect\",\n {\n x: rect.x * scaleX,\n y: rect.y * scaleY,\n width: rect.width * scaleX,\n height: rect.height * scaleY,\n stroke: annStroke,\n strokeWidth: isSelected ? 4 : isHovered ? 3 : 2,\n fill: annFill,\n style: {\n pointerEvents: \"auto\",\n cursor: \"pointer\",\n opacity: isSelected ? 1 : isHovered ? 0.9 : 0.7\n },\n onClick: () => session?.client.browse.click(ann.id, ann.motivation),\n onMouseEnter: () => handleMouseEnter(ann.id),\n onMouseLeave: handleMouseLeave\n },\n ann.id\n );\n }),\n selection && (() => {\n const rectX = Math.min(selection.startX, selection.endX);\n const rectY = Math.min(selection.startY, selection.endY);\n const rectWidth = Math.abs(selection.endX - selection.startX);\n const rectHeight = Math.abs(selection.endY - selection.startY);\n return /* @__PURE__ */ jsx(\n \"rect\",\n {\n x: rectX,\n y: rectY,\n width: rectWidth,\n height: rectHeight,\n stroke,\n strokeWidth: 2,\n strokeDasharray: \"5,5\",\n fill,\n pointerEvents: \"none\"\n }\n );\n })()\n ]\n }\n ) }) })\n ]\n }\n ),\n numPages > 0 && /* @__PURE__ */ jsxs(\"div\", { className: \"semiont-pdf-annotation-canvas__controls\", children: [\n /* @__PURE__ */ jsx(\n \"button\",\n {\n disabled: pageNumber <= 1,\n onClick: () => setPageNumber(pageNumber - 1),\n className: \"semiont-pdf-annotation-canvas__button\",\n children: \"Previous\"\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: \"semiont-pdf-annotation-canvas__page-info\", children: [\n \"Page \",\n pageNumber,\n \" of \",\n numPages\n ] }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n disabled: pageNumber >= numPages,\n onClick: () => setPageNumber(pageNumber + 1),\n className: \"semiont-pdf-annotation-canvas__button\",\n children: \"Next\"\n }\n )\n ] })\n ] });\n}\nexport {\n PdfAnnotationCanvas\n};\n//# sourceMappingURL=PdfAnnotationCanvas.client-CN3C3S55.js.map"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{$ as i,G as a,H as o,J as s,Ot as c,Q as l,T as u,W as d,Z as f,_ as p,ct as m,dt as h,ft as g,o as _,ot as v,pt as y,q as b,tt as x,ut as S}from"./index-DojEUBpq.js";import{n as C,t as w}from"./XMarkIcon-CddZGiiz.js";import{i as T,n as E,r as D}from"./routing-Dqgz2rV4.js";var O=e(t());function k({title:e,titleId:t,...n},r){return O.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?O.createElement(`title`,{id:t},e):null,O.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9`}))}var A=O.forwardRef(k);function j({title:e,titleId:t,...n},r){return O.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?O.createElement(`title`,{id:t},e):null,O.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`m4.5 12.75 6 6 9-13.5`}))}var M=O.forwardRef(j);function N({title:e,titleId:t,...n},r){return O.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?O.createElement(`title`,{id:t},e):null,O.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 4.5v15m7.5-7.5h-15`}))}var P=O.forwardRef(N),F=r(),I=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiM2QjcyODAiLz4KPHBhdGggZD0iTTE2IDE2QzE4LjIwOTEgMTYgMjAgMTQuMjA5MSAyMCAxMkMyMCA5Ljc5MDg2IDE4LjIwOTEgOCAxNiA4QzEzLjc5MDkgOCAxMiA5Ljc5MDg2IDEyIDEyQzEyIDE0LjIwOTEgMTMuNzkwOSAxNiAxNiAxNloiIGZpbGw9IiNFNUU3RUIiLz4KPHBhdGggZD0iTTI0IDI1QzI0IDIxLjY4NjMgMjAuNDE4MyAxOSAxNiAxOUMxMS41ODE3IDE5IDggMjEuNjg2MyA4IDI1IiBzdHJva2U9IiNFNUU3RUIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPg==`;function L(){let{t:e}=n(),t=(t,n)=>e(`UserPanel.${t}`,n),r=v(),s=f(r.activeSession$),c=f(s?.user$)??null,l=s?.kb??null,u=c?.name??c?.email?.split(`@`)[0]??`User`,p=c?.image??null,m=c?.domain||c?.email?.split(`@`)[1],h=c?.isAdmin??!1,g=c?.isModerator??!1,_=s?.client,y=x(()=>o(_)),b=T(),[S,C]=(0,O.useState)(!1),{timeRemaining:w}=i(),E=d(w)??`Unknown`,D=!p||S?I:a(p)||(console.warn(`Invalid profile image URL detected, using fallback`),I);return(0,F.jsxs)(`div`,{className:`semiont-user-panel`,children:[(0,F.jsx)(`h3`,{className:`semiont-user-panel__title`,children:t(`account`)}),l&&(0,F.jsx)(`div`,{style:{padding:`0 0.75rem 0.5rem`,fontSize:`0.8rem`,color:`var(--semiont-color-neutral-400)`},children:l.label}),(0,F.jsxs)(`div`,{className:`space-y-4`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,F.jsx)(`img`,{src:D,alt:t(`profileAlt`,{name:u||t(`user`)}),width:48,height:48,className:`w-12 h-12 rounded-full object-cover`,onError:()=>C(!0)}),(0,F.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,F.jsx)(`div`,{className:`semiont-panel-text`,children:u||t(`user`)}),m&&(0,F.jsxs)(`div`,{className:`semiont-panel-text-secondary`,children:[`@`,m]})]})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`label`,{className:`semiont-panel-label`,children:t(`session`)}),(0,F.jsx)(`div`,{className:`semiont-session-box`,children:(0,F.jsx)(`div`,{className:`semiont-panel-hint`,children:t(`expiresIn`,{time:E})})})]}),(h||g)&&(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`label`,{className:`semiont-panel-label`,children:t(`privileges`)}),(0,F.jsxs)(`div`,{className:`space-y-1`,children:[h&&(0,F.jsx)(`div`,{className:`semiont-privilege-badge semiont-privilege-badge--admin`,children:(0,F.jsx)(`span`,{className:`semiont-privilege-text`,children:t(`administrator`)})}),g&&(0,F.jsx)(`div`,{className:`semiont-privilege-badge semiont-privilege-badge--moderator`,children:(0,F.jsx)(`span`,{className:`semiont-privilege-text`,children:t(`moderator`)})})]})]}),(0,F.jsx)(`div`,{className:`semiont-panel-divider`,children:(0,F.jsx)(`button`,{onClick:async()=>{await y.logout(),l&&await r.signOut(l.id),b.push(`/`)},className:`semiont-signout-button`,children:t(`signOut`)})})]})]})}var R={authenticated:`var(--semiont-color-success-500, #22c55e)`,expired:`var(--semiont-color-warning-500, #eab308)`,"signed-out":`var(--semiont-color-neutral-400, #9ca3af)`,unreachable:`var(--semiont-color-error-500, #ef4444)`},z={authenticated:`statusConnected`,expired:`statusExpired`,"signed-out":`statusSignedOut`,unreachable:`statusUnreachable`};function B({status:e,t}){return(0,F.jsx)(`span`,{title:t(z[e]),style:{width:`0.5rem`,height:`0.5rem`,borderRadius:`50%`,backgroundColor:R[e],flexShrink:0}})}function V({t:e,onSubmit:t,onCancel:n,error:r,isSubmitting:i,autoFocus:a,pulsing:o,initialHost:s=`localhost`,initialPort:c=4e3,initialEmail:l=`admin@example.com`}){let[u,d]=(0,O.useState)(s),[f,p]=(0,O.useState)(String(c)),[m,g]=(0,O.useState)(S(s)),[_,v]=(0,O.useState)(l),[y,b]=(0,O.useState)(``),x=e=>{d(e),g(S(e))};return(0,F.jsxs)(`div`,{className:o?`semiont-panel__login-form--pulsing`:``,style:{margin:`0.5rem`,padding:`0.75rem`,border:`1px solid var(--semiont-color-neutral-200, #e5e7eb)`,borderRadius:`var(--semiont-panel-border-radius, 0.5rem)`,background:`var(--semiont-bg-secondary, transparent)`},children:[(0,F.jsx)(`h3`,{style:{fontSize:`0.8rem`,fontWeight:600,marginBottom:`0.5rem`},children:e(`connectTitle`)}),(0,F.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),h(u)&&t(u,parseInt(f,10)||4e3,m,_,y)},style:{display:`flex`,flexDirection:`column`,gap:`0.5rem`},children:[(0,F.jsxs)(`select`,{value:m,onChange:e=>g(e.target.value),className:`semiont-input`,children:[(0,F.jsx)(`option`,{value:`http`,children:`HTTP`}),(0,F.jsx)(`option`,{value:`https`,children:`HTTPS`})]}),(0,F.jsx)(`input`,{type:`text`,value:u,onChange:e=>x(e.target.value),placeholder:`Host`,className:`semiont-input`,autoFocus:a}),(0,F.jsx)(`input`,{type:`number`,value:f,onChange:e=>p(e.target.value),placeholder:`Port`,className:`semiont-input`}),u&&!h(u)&&(0,F.jsx)(`div`,{style:{color:`var(--semiont-color-error-500, #ef4444)`,fontSize:`0.75rem`},children:e(`invalidHost`)}),(0,F.jsx)(`input`,{type:`email`,value:_,onChange:e=>v(e.target.value),placeholder:`Email`,className:`semiont-input`}),(0,F.jsx)(`input`,{type:`password`,value:y,onChange:e=>b(e.target.value),placeholder:`Password`,className:`semiont-input`}),r&&(0,F.jsx)(`div`,{style:{color:`var(--semiont-color-error-500, #ef4444)`,fontSize:`0.75rem`},children:r}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`0.5rem`},children:[(0,F.jsx)(`button`,{type:`submit`,className:`semiont-button semiont-button--primary`,style:{flex:1},disabled:i||!h(u),children:e(i?`connecting`:`connect`)}),(0,F.jsx)(`button`,{type:`button`,className:`semiont-button`,onClick:n,children:(0,F.jsx)(w,{style:{width:`1rem`,height:`1rem`}})})]})]})]})}function H({t:e,kb:t,onSubmit:n,onCancel:r,error:i,isSubmitting:a}){let[o,s]=(0,O.useState)(``);return(0,F.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n(o)},style:{padding:`0.5rem 0.75rem`,display:`flex`,flexDirection:`column`,gap:`0.375rem`},children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,color:`var(--semiont-color-neutral-400)`},children:t.email}),(0,F.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:`Password`,className:`semiont-input`,style:{fontSize:`0.8rem`},autoFocus:!0}),i&&(0,F.jsx)(`div`,{style:{color:`var(--semiont-color-error-500, #ef4444)`,fontSize:`0.75rem`},children:i}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`0.375rem`},children:[(0,F.jsx)(`button`,{type:`submit`,className:`semiont-button semiont-button--primary`,style:{flex:1,fontSize:`0.8rem`},disabled:a,children:e(a?`signingIn`:`signIn`)}),(0,F.jsx)(`button`,{type:`button`,className:`semiont-button`,onClick:r,style:{fontSize:`0.8rem`},children:e(`cancel`)})]})]})}async function U(e,t,n,r,i){let a=new y({baseUrl:c(`${n}://${e}:${t}`)}),o=new m(a,new g(a),a),s=await o.auth.password(r,i),l=s.token??s.accessToken,u=s.refreshToken;if(!l)throw Error(`No access token received`);if(!u)throw Error(`No refresh token received`);let d=`${e}:${t}`,f;try{let e=await o.admin.status();e.projectName&&(d=e.projectName),e.gitBranch&&(f=e.gitBranch)}catch{}return{token:l,refreshToken:u,label:d,...f?{gitBranch:f}:{}}}function W(){let{t:e}=n(),t=(t,n)=>e(`KnowledgeBasePanel.${t}`,n),r=v(),i=f(r.kbs$)??[],a=f(r.activeSession$)?.kb??null,o=e=>{r.setActiveKb(e)},s=r.addKb.bind(r),c=r.removeKb.bind(r),l=r.updateKb.bind(r),u=(e,t,n)=>{r.signIn(e,t,n)},d=e=>{r.signOut(e)},[p,m]=(0,O.useState)(!1),[h,g]=(0,O.useState)(null),[_,y]=(0,O.useState)(!1),[b,x]=(0,O.useState)(null),[S,w]=(0,O.useState)(null),[T,E]=(0,O.useState)(!1),[D,k]=(0,O.useState)(null),[,j]=(0,O.useState)(0);(0,O.useEffect)(()=>{i.length===0&&m(!0)},[i.length]),(0,O.useEffect)(()=>{let e=setInterval(()=>j(e=>e+1),3e4);return()=>clearInterval(e)},[]);let N=()=>{m(!0),x(null),g(null)},I=async(e,t,n,r,a)=>{g(null),y(!0);let o=i.find(n=>n.endpoint.kind===`http`&&n.endpoint.host===e&&n.endpoint.port===t);if(o){try{let{token:i,refreshToken:s,gitBranch:c}=await U(e,t,n,r,a);l(o.id,{...c?{gitBranch:c}:{}}),u(o.id,i,s),m(!1)}catch(e){g(e instanceof Error?e.message:String(e))}finally{y(!1)}return}try{let{token:i,refreshToken:o,label:c,gitBranch:l}=await U(e,t,n,r,a);s({label:c,email:r,endpoint:{kind:`http`,host:e,port:t,protocol:n},...l?{gitBranch:l}:{}},i,o),m(!1)}catch(e){g(e instanceof Error?e.message:String(e))}finally{y(!1)}},L=async(e,t)=>{let n=i.find(t=>t.id===e);if(n){if(w(null),E(!0),n.endpoint.kind!==`http`){w(`Re-auth is HTTP-only; KB endpoint kind "${n.endpoint.kind}" is not supported here.`),E(!1);return}try{let{token:r,refreshToken:i,label:a,gitBranch:o}=await U(n.endpoint.host,n.endpoint.port,n.endpoint.protocol,n.email,t);l(e,{label:a,...o?{gitBranch:o}:{}}),u(e,r,i),x(null)}catch(e){w(e instanceof Error?e.message:String(e))}finally{E(!1)}}},R=e=>{r.getKbSessionStatus(e.id)===`authenticated`?o(e.id):(x(e.id),m(!1),w(null))};return(0,F.jsxs)(`div`,{className:`semiont-panel`,children:[(0,F.jsx)(`div`,{className:`semiont-panel-header`,children:(0,F.jsxs)(`h2`,{className:`semiont-panel-header__title`,children:[(0,F.jsx)(`span`,{className:`semiont-panel-header__text`,children:t(`title`)}),(0,F.jsxs)(`span`,{className:`semiont-panel-header__count`,children:[`(`,i.length,`)`]})]})}),(0,F.jsxs)(`div`,{className:`semiont-panel__content`,children:[(0,F.jsx)(`div`,{className:`semiont-panel__list`,children:i.map(e=>{let n=r.getKbSessionStatus(e.id),i=e.id===a?.id,o=b===e.id;return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`semiont-panel-item semiont-panel-item--clickable${i?` semiont-panel-item--selected`:``}`,style:{display:`flex`,flexDirection:`column`,gap:`0.25rem`,cursor:`pointer`,padding:`0.5rem 0.75rem`},onClick:()=>R(e),children:[(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.5rem`},children:[(0,F.jsx)(B,{status:n,t}),(0,F.jsx)(`span`,{className:`semiont-panel-text`,style:{flex:1,fontWeight:500},children:e.label}),i&&(0,F.jsx)(M,{style:{width:`1rem`,height:`1rem`,color:`var(--semiont-color-primary-500)`,flexShrink:0}}),n===`authenticated`&&(0,F.jsx)(`button`,{onClick:t=>{t.stopPropagation(),d(e.id)},title:t(`signOut`),style:{background:`none`,border:`none`,cursor:`pointer`,padding:`0.125rem`,color:`var(--semiont-color-neutral-400)`},children:(0,F.jsx)(A,{style:{width:`0.875rem`,height:`0.875rem`}})}),(0,F.jsx)(`button`,{onClick:t=>{t.stopPropagation(),k(e.id)},title:t(`remove`),style:{background:`none`,border:`none`,cursor:`pointer`,padding:`0.125rem`,color:`var(--semiont-color-neutral-400)`},children:(0,F.jsx)(C,{style:{width:`0.875rem`,height:`0.875rem`}})})]}),(0,F.jsxs)(`span`,{className:`semiont-panel-text-secondary`,style:{fontSize:`0.7rem`,paddingLeft:`1rem`},children:[e.endpoint.kind===`http`?`${e.endpoint.host}:${e.endpoint.port}`:`local:${e.endpoint.kbId}`,e.gitBranch?` · ${e.gitBranch}`:``]})]}),D===e.id&&(0,F.jsxs)(`div`,{style:{padding:`0.5rem 0.75rem`,fontSize:`0.8rem`,display:`flex`,alignItems:`center`,gap:`0.5rem`,background:`var(--semiont-bg-secondary, #f9fafb)`,borderBottom:`1px solid var(--semiont-color-neutral-200, #e5e7eb)`},children:[(0,F.jsx)(`span`,{style:{flex:1,color:`var(--semiont-color-neutral-500)`},children:t(`removeConfirm`,{label:e.label})}),(0,F.jsx)(`button`,{onClick:()=>{c(e.id),k(null)},className:`semiont-button`,style:{fontSize:`0.75rem`,padding:`0.2rem 0.5rem`,color:`var(--semiont-color-error-500, #ef4444)`},children:t(`remove`)}),(0,F.jsx)(`button`,{onClick:()=>k(null),className:`semiont-button`,style:{fontSize:`0.75rem`,padding:`0.2rem 0.5rem`},children:t(`cancel`)})]}),o&&(0,F.jsx)(H,{t,kb:e,onSubmit:t=>L(e.id,t),onCancel:()=>x(null),error:S,isSubmitting:T})]},e.id)})}),p&&(0,F.jsx)(V,{t,onSubmit:I,onCancel:()=>m(!1),error:h,isSubmitting:_,autoFocus:i.length===0,pulsing:i.length===0})]}),!p&&(0,F.jsx)(`div`,{className:`semiont-panel-footer`,children:(0,F.jsxs)(`button`,{onClick:N,className:`semiont-panel-item semiont-panel-item--clickable`,style:{width:`100%`,display:`flex`,alignItems:`center`,gap:`0.5rem`,color:`var(--semiont-color-primary-600)`},children:[(0,F.jsx)(P,{style:{width:`1rem`,height:`1rem`,flexShrink:0}}),(0,F.jsx)(`span`,{className:`semiont-panel-text`,style:{color:`inherit`},children:t(`addKnowledgeBase`)})]})})]})}function G({activePanel:e,theme:t,showLineNumbers:r,children:i}){let{hoverDelayMs:a}=s(),{t:o}=n(),c=!!f(f(v().activeSession$)?.user$),d=E(),m=T(),h=D(),[g,y]=(0,O.useTransition)(),{width:x,setWidth:S,minWidth:C,maxWidth:w}=l();return b({"settings:locale-changed":(0,O.useCallback)(({locale:e})=>{h&&y(()=>{m.replace(h,{locale:e})})},[h,m,y])}),!e||!i&&!_.includes(e)?null:(0,F.jsxs)(`div`,{className:`semiont-toolbar-panels`,style:{width:`${x}px`,position:`relative`},children:[(0,F.jsx)(p,{onResize:S,minWidth:C,maxWidth:w,position:`left`,ariaLabel:`Resize right panel`}),(0,F.jsxs)(`div`,{className:`semiont-toolbar-panels__content`,children:[i,e===`knowledge-base`&&(0,F.jsx)(W,{}),e===`user`&&(c?(0,F.jsx)(L,{}):(0,F.jsxs)(`div`,{className:`semiont-panel`,children:[(0,F.jsx)(`div`,{className:`semiont-panel-header`,children:(0,F.jsx)(`h2`,{className:`semiont-panel-header__title`,children:(0,F.jsx)(`span`,{className:`semiont-panel-header__text`,children:o(`UserPanel.account`)})})}),(0,F.jsx)(`div`,{className:`semiont-panel__content`,style:{padding:`1rem`,textAlign:`center`},children:(0,F.jsx)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5},children:o(`AccountPanel.notAuthenticated`)})})]})),e===`settings`&&(0,F.jsx)(u,{showLineNumbers:r,theme:t,hoverDelayMs:a,locale:d,isPendingLocaleChange:g})]})]})}export{P as n,G as t};
|
|
2
|
-
//# sourceMappingURL=ToolbarPanels-wzZqAqCQ.js.map
|