@semiont/cli 0.5.10 → 0.5.11

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.
Files changed (105) hide show
  1. package/README.md +1 -0
  2. package/dist/cli.mjs +332 -131
  3. package/dist/dashboard/dashboard.css +1 -1
  4. package/dist/dashboard/dashboard.css.map +2 -2
  5. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-qe5-bw6c.js → ArrowsRightLeftIcon-BAptRmrb.js} +2 -2
  6. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-qe5-bw6c.js.map → ArrowsRightLeftIcon-BAptRmrb.js.map} +1 -1
  7. package/dist/frontend/dist/assets/{ChevronLeftIcon-FJT3xRR7.js → ChevronLeftIcon-AP4JA3_n.js} +2 -2
  8. package/dist/frontend/dist/assets/{ChevronLeftIcon-FJT3xRR7.js.map → ChevronLeftIcon-AP4JA3_n.js.map} +1 -1
  9. package/dist/frontend/dist/assets/{CommandLineIcon-D3DqthqG.js → CommandLineIcon-DkeF_y-i.js} +2 -2
  10. package/dist/frontend/dist/assets/{CommandLineIcon-D3DqthqG.js.map → CommandLineIcon-DkeF_y-i.js.map} +1 -1
  11. package/dist/frontend/dist/assets/{CookiePreferences-Dt8tnn37.js → CookiePreferences-DulRn1Ad.js} +2 -2
  12. package/dist/frontend/dist/assets/{CookiePreferences-Dt8tnn37.js.map → CookiePreferences-DulRn1Ad.js.map} +1 -1
  13. package/dist/frontend/dist/assets/{KeyboardShortcutsContext-DuPrCuAy.js → KeyboardShortcutsContext-_SYsNsgM.js} +2 -2
  14. package/dist/frontend/dist/assets/{KeyboardShortcutsContext-DuPrCuAy.js.map → KeyboardShortcutsContext-_SYsNsgM.js.map} +1 -1
  15. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-KWQ7XDWT-_iZ0YQWT.js +2 -0
  16. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-KWQ7XDWT-_iZ0YQWT.js.map +1 -0
  17. package/dist/frontend/dist/assets/{ToolbarPanels-CafIWhrJ.js → ToolbarPanels-CJP-kOex.js} +2 -2
  18. package/dist/frontend/dist/assets/{ToolbarPanels-CafIWhrJ.js.map → ToolbarPanels-CJP-kOex.js.map} +1 -1
  19. package/dist/frontend/dist/assets/{XMarkIcon-C17nOvTt.js → XMarkIcon-BUKaQwJf.js} +2 -2
  20. package/dist/frontend/dist/assets/{XMarkIcon-C17nOvTt.js.map → XMarkIcon-BUKaQwJf.js.map} +1 -1
  21. package/dist/frontend/dist/assets/{client-D0zS75_0.js → client-BrDEpGKw.js} +2 -2
  22. package/dist/frontend/dist/assets/{client-D0zS75_0.js.map → client-BrDEpGKw.js.map} +1 -1
  23. package/dist/frontend/dist/assets/{client-BIkTmQdO.js → client-C7bo_8D-.js} +2 -2
  24. package/dist/frontend/dist/assets/{client-BIkTmQdO.js.map → client-C7bo_8D-.js.map} +1 -1
  25. package/dist/frontend/dist/assets/{client-BykyYEVk.js → client-DwyJWkCL.js} +2 -2
  26. package/dist/frontend/dist/assets/{client-BykyYEVk.js.map → client-DwyJWkCL.js.map} +1 -1
  27. package/dist/frontend/dist/assets/{client-B-eX6OX_.js → client-szDQ4r9k.js} +2 -2
  28. package/dist/frontend/dist/assets/{client-B-eX6OX_.js.map → client-szDQ4r9k.js.map} +1 -1
  29. package/dist/frontend/dist/assets/{en-P2L4X27N-0z6KilQ7.js → en-P2L4X27N-CUjpZEjK.js} +1 -1
  30. package/dist/frontend/dist/assets/i18n-C4Z9Yn3V.js +2 -0
  31. package/dist/frontend/dist/assets/i18n-C4Z9Yn3V.js.map +1 -0
  32. package/dist/frontend/dist/assets/index-Db2g3DPc.css +1 -0
  33. package/dist/frontend/dist/assets/index-qVNtMzC0.js +140 -0
  34. package/dist/frontend/dist/assets/index-qVNtMzC0.js.map +1 -0
  35. package/dist/frontend/dist/assets/{layout-BY31-yeN.js → layout-DTmqSMaD.js} +2 -2
  36. package/dist/frontend/dist/assets/{layout-BY31-yeN.js.map → layout-DTmqSMaD.js.map} +1 -1
  37. package/dist/frontend/dist/assets/{layout-DGTYBtjJ.js → layout-Du8P32Vd.js} +2 -2
  38. package/dist/frontend/dist/assets/{layout-DGTYBtjJ.js.map → layout-Du8P32Vd.js.map} +1 -1
  39. package/dist/frontend/dist/assets/{layout-Cxdm1QSw.js → layout-bfsd3hAb.js} +2 -2
  40. package/dist/frontend/dist/assets/{layout-Cxdm1QSw.js.map → layout-bfsd3hAb.js.map} +1 -1
  41. package/dist/frontend/dist/assets/{layout-BD701NmF.js → layout-vhDZbfjy.js} +2 -2
  42. package/dist/frontend/dist/assets/{layout-BD701NmF.js.map → layout-vhDZbfjy.js.map} +1 -1
  43. package/dist/frontend/dist/assets/{not-found-Dh1Haw3Q.js → not-found-Bvki2-z5.js} +2 -2
  44. package/dist/frontend/dist/assets/{not-found-Dh1Haw3Q.js.map → not-found-Bvki2-z5.js.map} +1 -1
  45. package/dist/frontend/dist/assets/{page-DIWUAnia.js → page-B2mIxjOM.js} +2 -2
  46. package/dist/frontend/dist/assets/{page-DIWUAnia.js.map → page-B2mIxjOM.js.map} +1 -1
  47. package/dist/frontend/dist/assets/{page-Detb5S1i.js → page-B5mEdf46.js} +2 -2
  48. package/dist/frontend/dist/assets/{page-Detb5S1i.js.map → page-B5mEdf46.js.map} +1 -1
  49. package/dist/frontend/dist/assets/page-BJR7WHXg.js +2 -0
  50. package/dist/frontend/dist/assets/{page-B_8uan5K.js.map → page-BJR7WHXg.js.map} +1 -1
  51. package/dist/frontend/dist/assets/{page-CwXyG2mE.js → page-Baj4wmy7.js} +2 -2
  52. package/dist/frontend/dist/assets/{page-CwXyG2mE.js.map → page-Baj4wmy7.js.map} +1 -1
  53. package/dist/frontend/dist/assets/{page-CbiBBpNp.js → page-BbIr9jHP.js} +2 -2
  54. package/dist/frontend/dist/assets/{page-CbiBBpNp.js.map → page-BbIr9jHP.js.map} +1 -1
  55. package/dist/frontend/dist/assets/{page-BulxfVIh.js → page-Bc9V6mf9.js} +2 -2
  56. package/dist/frontend/dist/assets/{page-BulxfVIh.js.map → page-Bc9V6mf9.js.map} +1 -1
  57. package/dist/frontend/dist/assets/{page-bULE4fbO.js → page-C-3mAlWS.js} +2 -2
  58. package/dist/frontend/dist/assets/{page-bULE4fbO.js.map → page-C-3mAlWS.js.map} +1 -1
  59. package/dist/frontend/dist/assets/{page-CNKRCNFf2.js → page-CECOHOJV2.js} +2 -2
  60. package/dist/frontend/dist/assets/{page-CNKRCNFf2.js.map → page-CECOHOJV2.js.map} +1 -1
  61. package/dist/frontend/dist/assets/{page-DwgJ-g4v.js → page-CFCQC-1H.js} +2 -2
  62. package/dist/frontend/dist/assets/{page-DwgJ-g4v.js.map → page-CFCQC-1H.js.map} +1 -1
  63. package/dist/frontend/dist/assets/{page-D7vCOwQw.js → page-CW-IRz2J.js} +2 -2
  64. package/dist/frontend/dist/assets/{page-D7vCOwQw.js.map → page-CW-IRz2J.js.map} +1 -1
  65. package/dist/frontend/dist/assets/{page-Bu_Nr4-h.js → page-ChXxpqyF.js} +2 -2
  66. package/dist/frontend/dist/assets/{page-Bu_Nr4-h.js.map → page-ChXxpqyF.js.map} +1 -1
  67. package/dist/frontend/dist/assets/{page-BpQsrL4J.js → page-CwVdaXSz.js} +2 -2
  68. package/dist/frontend/dist/assets/{page-BpQsrL4J.js.map → page-CwVdaXSz.js.map} +1 -1
  69. package/dist/frontend/dist/assets/{page-DFLjp4jy.js → page-D3S88nw6.js} +2 -2
  70. package/dist/frontend/dist/assets/{page-DFLjp4jy.js.map → page-D3S88nw6.js.map} +1 -1
  71. package/dist/frontend/dist/assets/{page-ClVer5m1.js → page-DA_80CZf.js} +2 -2
  72. package/dist/frontend/dist/assets/{page-ClVer5m1.js.map → page-DA_80CZf.js.map} +1 -1
  73. package/dist/frontend/dist/assets/{page-D7nHNi_l.js → page-DrjzWWIE.js} +2 -2
  74. package/dist/frontend/dist/assets/{page-D7nHNi_l.js.map → page-DrjzWWIE.js.map} +1 -1
  75. package/dist/frontend/dist/assets/{page-BV7Fcp6v.js → page-DtiXtJ-l.js} +2 -2
  76. package/dist/frontend/dist/assets/{page-BV7Fcp6v.js.map → page-DtiXtJ-l.js.map} +1 -1
  77. package/dist/frontend/dist/assets/{page-CGXJMtNl.js → page-RGbKfKB9.js} +2 -2
  78. package/dist/frontend/dist/assets/{page-CGXJMtNl.js.map → page-RGbKfKB9.js.map} +1 -1
  79. package/dist/frontend/dist/assets/{page-31Agm8Zw.js → page-lMAxop92.js} +2 -2
  80. package/dist/frontend/dist/assets/{page-31Agm8Zw.js.map → page-lMAxop92.js.map} +1 -1
  81. package/dist/frontend/dist/assets/pdf-KENrED1p.js +55 -0
  82. package/dist/frontend/dist/assets/pdf-KENrED1p.js.map +1 -0
  83. package/dist/frontend/dist/assets/pdf.worker.min-DEtVeC4l.mjs +29 -0
  84. package/dist/frontend/dist/assets/{routing-C4nGqdKk.js → routing-DWK3zAt3.js} +2 -2
  85. package/dist/frontend/dist/assets/{routing-C4nGqdKk.js.map → routing-DWK3zAt3.js.map} +1 -1
  86. package/dist/frontend/dist/assets/{routing-BcJzThkn.js → routing-aCi3P9yE.js} +2 -2
  87. package/dist/frontend/dist/assets/{routing-BcJzThkn.js.map → routing-aCi3P9yE.js.map} +1 -1
  88. package/dist/frontend/dist/assets/{vendor-B3B3_s0C.js → vendor-6KmH4nv9.js} +2 -2
  89. package/dist/frontend/dist/assets/{vendor-B3B3_s0C.js.map → vendor-6KmH4nv9.js.map} +1 -1
  90. package/dist/frontend/dist/assets/{web-DBB_8PTg.js → web-BE6xPuyf.js} +2 -2
  91. package/dist/frontend/dist/assets/{web-DBB_8PTg.js.map → web-BE6xPuyf.js.map} +1 -1
  92. package/dist/frontend/dist/index.html +4 -4
  93. package/dist/frontend/package.json +1 -1
  94. package/package.json +24 -24
  95. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js +0 -2
  96. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js.map +0 -1
  97. package/dist/frontend/dist/assets/i18n-SpKnqnTp.js +0 -2
  98. package/dist/frontend/dist/assets/i18n-SpKnqnTp.js.map +0 -1
  99. package/dist/frontend/dist/assets/index-BXSJHlqj.js +0 -140
  100. package/dist/frontend/dist/assets/index-BXSJHlqj.js.map +0 -1
  101. package/dist/frontend/dist/assets/index-Cx0aNta6.css +0 -1
  102. package/dist/frontend/dist/assets/page-B_8uan5K.js +0 -2
  103. package/dist/frontend/dist/assets/pdf-m5kKOgoq.js +0 -55
  104. package/dist/frontend/dist/assets/pdf-m5kKOgoq.js.map +0 -1
  105. package/dist/frontend/dist/assets/pdf.worker.min-CrMmvqMo.mjs +0 -29
@@ -11,11 +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-BXSJHlqj.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-qVNtMzC0.js"></script>
15
15
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
16
- <link rel="modulepreload" crossorigin href="/assets/i18n-SpKnqnTp.js">
17
- <link rel="modulepreload" crossorigin href="/assets/vendor-B3B3_s0C.js">
18
- <link rel="stylesheet" crossorigin href="/assets/index-Cx0aNta6.css">
16
+ <link rel="modulepreload" crossorigin href="/assets/i18n-C4Z9Yn3V.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/vendor-6KmH4nv9.js">
18
+ <link rel="stylesheet" crossorigin href="/assets/index-Db2g3DPc.css">
19
19
  </head>
20
20
  <body>
21
21
  <div id="root"></div>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semiont/frontend",
3
- "version": "0.5.10",
3
+ "version": "0.5.11",
4
4
  "description": "Semiont frontend - pre-built Vite SPA with static file server",
5
5
  "main": "server.js",
6
6
  "bin": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semiont/cli",
3
- "version": "0.5.10",
3
+ "version": "0.5.11",
4
4
  "description": "Semiont CLI - Unified environment management tool",
5
5
  "_comment": "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
6
6
  "type": "module",
@@ -47,19 +47,19 @@
47
47
  "test:watch:unit": "vitest --watch --config vitest.config.unit.ts"
48
48
  },
49
49
  "dependencies": {
50
- "@semiont/content": "0.5.10",
51
- "@semiont/core": "0.5.10",
52
- "@semiont/event-sourcing": "0.5.10",
53
- "@semiont/graph": "0.5.10",
54
- "@semiont/http-transport": "0.5.10",
55
- "@semiont/make-meaning": "0.5.10",
56
- "@semiont/sdk": "0.5.10",
50
+ "@semiont/content": "0.5.11",
51
+ "@semiont/core": "0.5.11",
52
+ "@semiont/event-sourcing": "0.5.11",
53
+ "@semiont/graph": "0.5.11",
54
+ "@semiont/http-transport": "0.5.11",
55
+ "@semiont/make-meaning": "0.5.11",
56
+ "@semiont/sdk": "0.5.11",
57
57
  "arg": "^5.0.2",
58
58
  "argon2": "^0.44.0",
59
59
  "express": "^5.2.1",
60
60
  "ink": "^7.0.5",
61
61
  "js-yaml": "^4.2.0",
62
- "neo4j-driver": "^6.1.0",
62
+ "neo4j-driver": "^6.2.0",
63
63
  "react": "^19.2.6",
64
64
  "smol-toml": "^1.7.0",
65
65
  "socket.io": "^4.5.4",
@@ -76,21 +76,21 @@
76
76
  "vitest": "^4.1.8"
77
77
  },
78
78
  "optionalDependencies": {
79
- "@aws-sdk/client-cloudformation": "^3.1075.0",
80
- "@aws-sdk/client-cloudwatch": "^3.1075.0",
81
- "@aws-sdk/client-cloudwatch-logs": "^3.1075.0",
82
- "@aws-sdk/client-cost-explorer": "^3.1075.0",
83
- "@aws-sdk/client-ecr": "^3.1075.0",
84
- "@aws-sdk/client-ecs": "^3.1075.0",
85
- "@aws-sdk/client-efs": "^3.1075.0",
86
- "@aws-sdk/client-elastic-load-balancing-v2": "^3.1075.0",
87
- "@aws-sdk/client-lambda": "^3.1075.0",
88
- "@aws-sdk/client-neptune": "^3.1075.0",
89
- "@aws-sdk/client-rds": "^3.1075.0",
90
- "@aws-sdk/client-route-53": "^3.1075.0",
91
- "@aws-sdk/client-secrets-manager": "^3.1075.0",
92
- "@aws-sdk/client-sts": "^3.1075.0",
93
- "@aws-sdk/client-wafv2": "^3.1075.0"
79
+ "@aws-sdk/client-cloudformation": "^3.1077.0",
80
+ "@aws-sdk/client-cloudwatch": "^3.1077.0",
81
+ "@aws-sdk/client-cloudwatch-logs": "^3.1077.0",
82
+ "@aws-sdk/client-cost-explorer": "^3.1077.0",
83
+ "@aws-sdk/client-ecr": "^3.1077.0",
84
+ "@aws-sdk/client-ecs": "^3.1077.0",
85
+ "@aws-sdk/client-efs": "^3.1077.0",
86
+ "@aws-sdk/client-elastic-load-balancing-v2": "^3.1077.0",
87
+ "@aws-sdk/client-lambda": "^3.1077.0",
88
+ "@aws-sdk/client-neptune": "^3.1077.0",
89
+ "@aws-sdk/client-rds": "^3.1077.0",
90
+ "@aws-sdk/client-route-53": "^3.1077.0",
91
+ "@aws-sdk/client-secrets-manager": "^3.1077.0",
92
+ "@aws-sdk/client-sts": "^3.1077.0",
93
+ "@aws-sdk/client-wafv2": "^3.1077.0"
94
94
  },
95
95
  "overrides": {
96
96
  "esbuild": "0.27.2"
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t}from"./i18n-SpKnqnTp.js";import{t as n}from"./vendor-B3B3_s0C.js";import{At as r,Mt as i,Nt as a,jt as o,nn as s,tn as c,ut as l}from"./index-BXSJHlqj.js";var u=e(t(),1),d=n();function f(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 p(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 m(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 h({pdfUrl:e,existingAnnotations:t=[],drawingMode:n,selectedMotivation:h,session:g,hoveredAnnotationId:_,selectedAnnotationId:v,hoverDelayMs:y=150}){let[b,x]=(0,u.useState)(null),[S,C]=(0,u.useState)(0),[w,T]=(0,u.useState)(1),[E,D]=(0,u.useState)(null),[O,k]=(0,u.useState)(!0),[A,j]=(0,u.useState)(null),[M,N]=(0,u.useState)(null),[P,F]=(0,u.useState)(null),[I]=(0,u.useState)(1.5),[L,R]=(0,u.useState)(!1),[z,B]=(0,u.useState)(null),V=(0,u.useRef)(null),H=(0,u.useRef)(null);(0,u.useEffect)(()=>{let t=!1;async function n(){try{k(!0),j(null);let n=await c(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,u.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 s(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,u.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,u.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,u.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,u.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=a(t.value);if(!n)return!1;let r=p(n,M.height,1),i=P.width/M.width,o=P.height/M.height,s=r.x*i,c=r.y*o,l=r.width*i,u=r.height*o;return z.endX>=s&&z.endX<=s+l&&z.endY>=c&&z.endY<=c+u});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,i=r(f({startX:z.startX*e,startY:z.startY*n,endX:z.endX*e,endY:z.endY*n},w,M.width,M.height,1));h&&g.client.mark.request({type:`FragmentSelector`,conformsTo:`http://tools.ietf.org/rfc/rfc3778`,value:i},h),R(!1)},[L,z,w,M,P,h,t]),K=e=>{let t=i(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?o(t.value)===w:!1}),{handleMouseEnter:J,handleMouseLeave:Y}=(0,u.useMemo)(()=>l(e=>g?.client.beckon.hover(e),y),[g,y]),{stroke:X,fill:Z}=m(h??null);return A?(0,d.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__error`,children:A}):(0,d.jsxs)(`div`,{className:`semiont-pdf-annotation-canvas`,children:[O&&(0,d.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__loading`,children:`Loading PDF...`}),(0,d.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,d.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,d.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__overlay-container`,children:(0,d.jsx)(`div`,{className:`semiont-pdf-annotation-canvas__overlay`,children:(0,d.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=a(t.value);if(!n)return null;let r=p(n,M.height,1),i=P.width/M.width,o=P.height/M.height,s=e.id===_,c=e.id===v,l=e.motivation,{stroke:u,fill:f}=m(l);return(0,d.jsx)(`rect`,{x:r.x*i,y:r.y*o,width:r.width*i,height:r.height*o,stroke:u,strokeWidth:c?4:s?3:2,fill:f,style:{pointerEvents:`auto`,cursor:`pointer`,opacity:c?1:s?.9:.7},onClick:()=>g?.client.browse.click(e.id,e.motivation),onMouseEnter:()=>J(e.id),onMouseLeave:Y},e.id)}),z&&(0,d.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,d.jsxs)(`div`,{className:`semiont-pdf-annotation-canvas__controls`,children:[(0,d.jsx)(`button`,{disabled:w<=1,onClick:()=>T(w-1),className:`semiont-pdf-annotation-canvas__button`,children:`Previous`}),(0,d.jsxs)(`span`,{className:`semiont-pdf-annotation-canvas__page-info`,children:[`Page `,w,` of `,S]}),(0,d.jsx)(`button`,{disabled:w>=S,onClick:()=>T(w+1),className:`semiont-pdf-annotation-canvas__button`,children:`Next`})]})]})}export{h as PdfAnnotationCanvas};
2
- //# sourceMappingURL=PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js","names":[],"sources":["../../../../packages/react-ui/dist/PdfAnnotationCanvas.client-P37SXBWQ.js"],"sourcesContent":["'use client';\n\"use client\";\nimport {\n loadPdfDocument,\n renderPdfPageToDataUrl\n} from \"./chunk-O2MD7TGE.js\";\nimport \"./chunk-O23TLLXW.js\";\n\n// src/components/pdf-annotation/PdfAnnotationCanvas.tsx\nimport { useRef, useState, useCallback, useEffect, useMemo } from \"react\";\nimport {\n getTargetSelector,\n createFragmentSelector,\n parseFragmentSelector,\n getPageFromFragment\n} 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}\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-P37SXBWQ.js.map"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function j(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function M(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,M(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+A(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(k,`$&/`)+`/`),M(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+A(a,u),c+=M(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+A(a,u++),c+=M(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return M(j(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return M(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function P(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:P}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),r=t(((e,t)=>{t.exports=n()})),i=t((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),a=t(((e,t)=>{t.exports=i()})),o=e(r()),s=a(),c=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,l={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":` `,"&#160;":` `,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},u=e=>l[e],d={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:e=>e.replace(c,u),transDefaultProps:void 0},f=(e={})=>{d={...d,...e}},p=()=>d,m,h=e=>{m=e},g=()=>m,_={type:`3rdParty`,init(e){f(e.options.react),h(e)}},v=(0,o.createContext)(),y=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},b=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);D(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},x={},S=(e,t,n,r)=>{D(n)&&x[n]||(D(n)&&(x[n]=new Date),b(e,t,n,r))},C=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},w=(e,t,n)=>{e.loadNamespaces(t,C(e,n))},T=(e,t,n,r)=>{if(D(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return w(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,C(e,r))},E=(e,t,n={})=>!t.languages||!t.languages.length?(S(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),D=e=>typeof e==`string`,O=e=>typeof e==`object`&&!!e,ee={t:(e,t)=>{if(D(t))return t;if(O(t)&&D(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},k=()=>()=>{},A=(e,t={})=>{let{i18n:n}=t,{i18n:r,defaultNS:i}=(0,o.useContext)(v)||{},a=n||r||g();a&&!a.reportNamespaces&&(a.reportNamespaces=new y),a||S(a,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next`);let c=(0,o.useMemo)(()=>({...p(),...a?.options?.react,...t}),[a,t]),{useSuspense:l,keyPrefix:u}=c,d=e||i||a?.options?.defaultNS,f=D(d)?[d]:d||[`translation`],m=(0,o.useMemo)(()=>f,f);a?.reportNamespaces?.addUsedNamespaces?.(m);let h=(0,o.useRef)(0),_=(0,o.useCallback)(e=>{if(!a)return k;let{bindI18n:t,bindI18nStore:n}=c,r=()=>{h.current+=1,e()};return t&&a.on(t,r),n&&a.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>a.off(e,r)),n&&n.split(` `).forEach(e=>a.store.off(e,r))}},[a,c]),b=(0,o.useRef)(),x=(0,o.useCallback)(()=>{if(!a)return ee;let e=!!(a.isInitialized||a.initializedStoreOnce)&&m.every(e=>E(e,a,c)),n=t.lng||a.language,r=h.current,i=b.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===u&&i.revision===r)return i;let o={t:a.getFixedT(n,c.nsMode===`fallback`?m:m[0],u,{scopeNs:m}),ready:e,lng:n,keyPrefix:u,revision:r};return b.current=o,o},[a,m,u,c,t.lng]),[C,O]=(0,o.useState)(0),{t:A,ready:j}=(0,s.useSyncExternalStore)(_,x,x);(0,o.useEffect)(()=>{if(a&&!j&&!l){let e=()=>O(e=>e+1);t.lng?T(a,t.lng,m,e):w(a,m,e)}},[a,t.lng,m,j,l,C]);let M=a||{},N=(0,o.useRef)(null),P=(0,o.useRef)(),F=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,"__original",{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},I=(0,o.useMemo)(()=>{let e=M,t=e?.language,n=e;e&&(N.current&&N.current.__original===e&&P.current===t?n=N.current:(n=F(e),N.current=n,P.current=t));let r=!j&&!l?(...e)=>(S(a,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),A(...e)):A,i=[r,n,j];return i.t=r,i.i18n=n,i.ready=j,i},[A,M,j,M.resolvedLanguage,M.language,M.languages]);if(a&&l&&!j)throw new Promise(e=>{let n=()=>e();t.lng?T(a,t.lng,m,n):w(a,m,n)});return I},j=e=>typeof e==`string`,M=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},N=e=>e==null?``:String(e),P=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},F=/###/g,I=e=>e&&e.includes(`###`)?e.replace(F,`.`):e,L=e=>!e||j(e),R=(e,t,n)=>{let r=j(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(L(e))return{};let t=I(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return L(e)?{}:{obj:e,k:I(r[i])}},z=(e,t,n)=>{let{obj:r,k:i}=R(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=R(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=R(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},te=(e,t,n,r)=>{let{obj:i,k:a}=R(e,t,Object);i[a]=i[a]||[],i[a].push(n)},B=(e,t)=>{let{obj:n,k:r}=R(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},ne=(e,t,n)=>{let r=B(e,n);return r===void 0?B(t,n):r},re=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?j(e[r])||e[r]instanceof String||j(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):re(e[r],t[r],n):e[r]=t[r]);return e},V=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),ie={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},ae=e=>j(e)?e.replace(/[&<>"'\/]/g,e=>ie[e]):e,oe=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},se=[` `,`,`,`?`,`!`,`;`],ce=new oe(20),le=(e,t,n)=>{t||=``,n||=``;let r=se.filter(e=>!t.includes(e)&&!n.includes(e));if(r.length===0)return!0;let i=ce.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},H=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].includes(typeof t)&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},U=e=>e?.replace(/_/g,`-`),ue={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},W=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||ue,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(e=e.map(e=>j(e)?e.replace(/[\r\n\x00-\x1F\x7F]/g,` `):e),j(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},G=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n(e,...t)})}},K=class extends G{constructor(e,t={ns:[`translation`],defaultNS:`translation`}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.includes(`.`)?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):j(n)&&i?o.push(...n.split(i)):o.push(n)));let s=B(this.data,o);return!s&&!t&&!n&&e.includes(`.`)&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!j(n)?s:H(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.includes(`.`)&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),z(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(j(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(`.`)&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=B(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?re(s,n,i):s={...s,...n},z(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},de={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},fe=Symbol(`i18next/PATH_KEY`);function pe(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===fe?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function q(e,t){let{[fe]:n}=e(pe()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`,a=t?.enableSelector===`strict`;if(n.length>1&&i){let e=t?.ns,o=a?Array.isArray(e)?e:e?[e]:null:Array.isArray(e)?e:null;if(o&&(a?o:o.length>1?o.slice(1):[]).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var J=e=>!j(e)&&typeof e!=`boolean`&&typeof e!=`number`,me=class e extends G{constructor(e,t={}){super(),P([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=W.create(`translator`),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=J(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.includes(n),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!le(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:j(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.includes(a[0]))&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:j(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=q(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?q(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!j(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let D=J(E),O=Object.prototype.toString.apply(E);if(y&&E&&D&&!_.includes(O)&&!(j(v)&&Array.isArray(E))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,E,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:J(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&j(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,b&&!c?`${s}${this.pluralResolver.getSuffix(d,i.count,i)}`:s,c?T:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(i.lng||this.language):e.push(i.lng||this.language);let n=(e,t,n)=>{let r=x&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!t.includes(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=j(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!j(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;o<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...e)=>i?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=j(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=de.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return j(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?q(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!j(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(j(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!this.checkedLoadedFor[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.startsWith(i)&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.startsWith(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!j(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.startsWith(`defaultValue`)&&e[t]!==void 0)return!0;return!1}},he=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=W.create(`languageUtils`)}getScriptPartFromCode(e){if(e=U(e),!e||!e.includes(`-`))return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=U(e),!e||!e.includes(`-`))return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(j(e)&&e.includes(`-`)){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?!0:!e.includes(`-`)&&!r.includes(`-`)?!1:!!(e.includes(`-`)&&!r.includes(`-`)&&e.slice(0,e.indexOf(`-`))===r||e.startsWith(r)&&r.length>1))}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),j(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return j(e)&&(e.includes(`-`)||e.includes(`_`))?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):j(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.includes(e)||i(this.formatLanguageCode(e))}),r}},ge={zero:0,one:1,two:2,few:3,many:4,other:5},_e={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},ve=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=W.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=U(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),_e;if(!e.match(/-|_/))return _e;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>ge[e]-ge[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},ye=(e,t,n,r=`.`,i=!0)=>{let a=ne(e,t,n);return!a&&i&&j(n)&&(a=H(e,n,r),a===void 0&&(a=H(t,n,r))),a},Y=e=>e.replace(/\$/g,`$$$$`),X=class{constructor(e={}){this.logger=W.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?ae:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?V(i):a||`{{`,this.suffix=o?V(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u?V(u):`-`,this.unescapeSuffix=this.unescapePrefix?``:l?V(l):``,this.nestingPrefix=d?V(d):f||V(`$t(`),this.nestingSuffix=p?V(p):m||V(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_===void 0?!1:_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(!e.includes(this.formatSeparator)){let i=ye(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(ye(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp(),!this.escapeValue&&typeof e==`string`&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn(`nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.`);let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>Y(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?Y(this.escape(e)):Y(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=j(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else!j(a)&&!this.useRawValueToEscape&&(a=N(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(!e.includes(n))return e;let r=e.split(RegExp(`${V(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!j(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!j(i))return i;j(i)||(i=N(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},be=e=>{let t=e.toLowerCase().trim(),n={};if(e.includes(`(`)){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);t===`currency`&&!i.includes(`:`)?n.currency||=i.trim():t===`relativetime`&&!i.includes(`:`)?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},xe=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(U(r),i),t[o]=s),s(n)}},Se=e=>(t,n,r)=>e(U(n),r)(t),Ce=class{constructor(e={}){this.logger=W.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?xe:Se;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=xe(t)}format(e,t,n,r={}){if(!t||e==null)return e;let i=t.split(this.formatSeparator),a=[];for(let e=0;e<i.length;e++){let t=i[e];for(;t.indexOf(`(`)>-1&&!t.includes(`)`)&&e+1<i.length;)t=`${t}${this.formatSeparator}${i[++e]}`;a.push(t)}return a.reduce((e,t)=>{let{formatName:i,formatOptions:a}=be(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},we=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},Te=class extends G{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=W.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{te(n.loaded,[i],a),we(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read(e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();j(e)&&(e=this.languageUtils.toResolveHierarchy(e)),j(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},Z=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),j(e[1])&&(t.defaultValue=e[1]),j(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ee=e=>(j(e.ns)&&(e.ns=[e.ns]),j(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),j(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&!e.supportedLngs.includes(`cimode`)&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),e),Q=()=>{},De=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},$=class e extends G{constructor(e={},t){if(super(),this.options=Ee(e),this.services={},this.logger=W,this.modules={external:[]},De(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(j(e.ns)?e.defaultNS=e.ns:e.ns.includes(`translation`)||(e.defaultNS=e.ns[0]));let n=Z();this.options={...n,...this.options,...Ee(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?W.init(r(this.modules.logger),this.options):W.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:Ce;let t=new he(this.options);this.store=new K(this.options.resources,this.options);let n=this.services;n.logger=W,n.resourceStore=this.store,n.languageUtils=t,n.pluralResolver=new ve(t,{prepend:this.options.pluralSeparator}),e&&(n.formatter=r(e),n.formatter.init&&n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new X(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new Te(r(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(n.languageDetector=r(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=r(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new me(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=Q,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=M(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=Q){let n=t,r=j(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&(e.includes(t)||e.push(t))})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=M();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=Q,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&de.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&![`cimode`,`dev`].includes(e)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(![`cimode`,`dev`].includes(t)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=M();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=j(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(j(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n,r){let i=r?.scopeNs,a=(e,t,...r)=>{let o;o=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(r)),o.lng=o.lng||a.lng,o.lngs=o.lngs||a.lngs;let s=o.ns!==void 0&&o.ns!==null;o.ns=o.ns||a.ns,o.keyPrefix!==``&&(o.keyPrefix=o.keyPrefix||n||a.keyPrefix);let c={...this.options,...o};Array.isArray(i)&&!s&&(c.ns=i),typeof o.keyPrefix==`function`&&(o.keyPrefix=q(o.keyPrefix,c));let l=this.options.keySeparator||`.`,u;return o.keyPrefix&&Array.isArray(e)?u=e.map(e=>(typeof e==`function`&&(e=q(e,c)),`${o.keyPrefix}${l}${e}`)):(typeof e==`function`&&(e=q(e,c)),u=o.keyPrefix?`${o.keyPrefix}${l}${e}`:e),this.t(u,o)};return j(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=n,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=M();return this.options.ns?(j(e)&&(e=[e]),e.forEach(e=>{this.options.ns.includes(e)||this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=M();j(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>!r.includes(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new he(Z());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.includes(n.getLanguagePartFromCode(e))||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=Q){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new K(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...Z().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new X(n)}return a.translator=new me(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();$.createInstance,$.dir,$.init,$.loadResources,$.reloadResources,$.use,$.changeLanguage,$.getFixedT,$.t,$.exists,$.setDefaultNamespace,$.hasLoadedNamespace,$.loadNamespaces,$.loadLanguages;export{r as i,A as n,_ as r,$ as t};
2
- //# sourceMappingURL=i18n-SpKnqnTp.js.map