@lattice-php/lattice 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +8 -0
  2. package/dist/action/components/action-form.d.ts +24 -0
  3. package/dist/action/components/action-form.js +270 -0
  4. package/dist/action/components/action-form.js.map +1 -0
  5. package/dist/action/components/action-group.d.ts +1 -8
  6. package/dist/action/components/action-group.js +24 -66
  7. package/dist/action/components/action-group.js.map +1 -1
  8. package/dist/action/components/action.d.ts +1 -24
  9. package/dist/action/components/action.js +61 -46
  10. package/dist/action/components/action.js.map +1 -1
  11. package/dist/action/effects.d.ts +6 -25
  12. package/dist/action/effects.js +2 -2
  13. package/dist/action/effects.js.map +1 -1
  14. package/dist/action/index.d.ts +1 -1
  15. package/dist/core/components/badge.d.ts +1 -8
  16. package/dist/core/components/badge.js +2 -3
  17. package/dist/core/components/badge.js.map +1 -1
  18. package/dist/core/components/button.d.ts +4 -12
  19. package/dist/core/components/button.js +6 -9
  20. package/dist/core/components/button.js.map +1 -1
  21. package/dist/core/components/card.d.ts +1 -9
  22. package/dist/core/components/card.js +1 -3
  23. package/dist/core/components/card.js.map +1 -1
  24. package/dist/core/components/confirm-dialog.d.ts +2 -3
  25. package/dist/core/components/confirm-dialog.js +19 -13
  26. package/dist/core/components/confirm-dialog.js.map +1 -1
  27. package/dist/core/components/fragment.d.ts +1 -10
  28. package/dist/core/components/fragment.js +5 -6
  29. package/dist/core/components/fragment.js.map +1 -1
  30. package/dist/core/components/grid.d.ts +1 -8
  31. package/dist/core/components/grid.js +1 -2
  32. package/dist/core/components/grid.js.map +1 -1
  33. package/dist/core/components/heading.d.ts +1 -9
  34. package/dist/core/components/heading.js +2 -3
  35. package/dist/core/components/heading.js.map +1 -1
  36. package/dist/core/components/icon.d.ts +3 -0
  37. package/dist/core/components/icon.js +30 -0
  38. package/dist/core/components/icon.js.map +1 -0
  39. package/dist/core/components/index.d.ts +1 -1
  40. package/dist/core/components/index.js +4 -0
  41. package/dist/core/components/index.js.map +1 -1
  42. package/dist/core/components/link.d.ts +1 -12
  43. package/dist/core/components/link.js +4 -9
  44. package/dist/core/components/link.js.map +1 -1
  45. package/dist/core/components/modal.d.ts +1 -11
  46. package/dist/core/components/modal.js +27 -31
  47. package/dist/core/components/modal.js.map +1 -1
  48. package/dist/core/components/section.d.ts +3 -0
  49. package/dist/core/components/section.js +79 -0
  50. package/dist/core/components/section.js.map +1 -0
  51. package/dist/core/components/segmented-control.d.ts +1 -14
  52. package/dist/core/components/segmented-control.js +4 -7
  53. package/dist/core/components/segmented-control.js.map +1 -1
  54. package/dist/core/components/segmented-pills.d.ts +4 -2
  55. package/dist/core/components/segmented-pills.js +10 -1
  56. package/dist/core/components/segmented-pills.js.map +1 -1
  57. package/dist/core/components/spinner.js +8 -4
  58. package/dist/core/components/spinner.js.map +1 -1
  59. package/dist/core/components/stack.d.ts +1 -11
  60. package/dist/core/components/stack.js +5 -5
  61. package/dist/core/components/stack.js.map +1 -1
  62. package/dist/core/components/tabs.d.ts +1 -19
  63. package/dist/core/components/tabs.js +45 -21
  64. package/dist/core/components/tabs.js.map +1 -1
  65. package/dist/core/components/text.d.ts +1 -9
  66. package/dist/core/components/text.js +2 -3
  67. package/dist/core/components/text.js.map +1 -1
  68. package/dist/core/registry.d.ts +9 -3
  69. package/dist/core/registry.js +21 -5
  70. package/dist/core/registry.js.map +1 -1
  71. package/dist/core/renderer.js +7 -13
  72. package/dist/core/renderer.js.map +1 -1
  73. package/dist/core/types.d.ts +54 -26
  74. package/dist/form/components/base/checkbox.js +5 -2
  75. package/dist/form/components/base/checkbox.js.map +1 -1
  76. package/dist/form/components/base/field.d.ts +2 -1
  77. package/dist/form/components/base/field.js +5 -1
  78. package/dist/form/components/base/field.js.map +1 -1
  79. package/dist/form/components/base/password-input.js +9 -2
  80. package/dist/form/components/base/password-input.js.map +1 -1
  81. package/dist/form/components/base/submit-button.d.ts +4 -4
  82. package/dist/form/components/base/submit-button.js +2 -2
  83. package/dist/form/components/base/submit-button.js.map +1 -1
  84. package/dist/form/components/conditions.d.ts +6 -9
  85. package/dist/form/components/conditions.js +10 -2
  86. package/dist/form/components/conditions.js.map +1 -1
  87. package/dist/form/components/context.d.ts +0 -4
  88. package/dist/form/components/context.js +1 -5
  89. package/dist/form/components/context.js.map +1 -1
  90. package/dist/form/components/field-props.d.ts +24 -0
  91. package/dist/form/components/field-props.js +15 -0
  92. package/dist/form/components/field-props.js.map +1 -0
  93. package/dist/form/components/fields/checkbox.d.ts +1 -15
  94. package/dist/form/components/fields/checkbox.js +16 -21
  95. package/dist/form/components/fields/checkbox.js.map +1 -1
  96. package/dist/form/components/fields/choice.d.ts +1 -13
  97. package/dist/form/components/fields/choice.js +13 -20
  98. package/dist/form/components/fields/choice.js.map +1 -1
  99. package/dist/form/components/fields/date-input.d.ts +1 -19
  100. package/dist/form/components/fields/date-input.js +11 -16
  101. package/dist/form/components/fields/date-input.js.map +1 -1
  102. package/dist/form/components/fields/hidden-input.d.ts +1 -9
  103. package/dist/form/components/fields/hidden-input.js +2 -3
  104. package/dist/form/components/fields/hidden-input.js.map +1 -1
  105. package/dist/form/components/fields/number-input.d.ts +1 -22
  106. package/dist/form/components/fields/number-input.js +38 -41
  107. package/dist/form/components/fields/number-input.js.map +1 -1
  108. package/dist/form/components/fields/password-input.d.ts +1 -28
  109. package/dist/form/components/fields/password-input.js +15 -24
  110. package/dist/form/components/fields/password-input.js.map +1 -1
  111. package/dist/form/components/fields/rich-editor.d.ts +1 -16
  112. package/dist/form/components/fields/rich-editor.js +57 -47
  113. package/dist/form/components/fields/rich-editor.js.map +1 -1
  114. package/dist/form/components/fields/select.d.ts +1 -22
  115. package/dist/form/components/fields/select.js +85 -74
  116. package/dist/form/components/fields/select.js.map +1 -1
  117. package/dist/form/components/fields/simple-field.d.ts +9 -0
  118. package/dist/form/components/fields/simple-field.js +22 -0
  119. package/dist/form/components/fields/simple-field.js.map +1 -0
  120. package/dist/form/components/fields/text-input.d.ts +1 -20
  121. package/dist/form/components/fields/text-input.js +12 -17
  122. package/dist/form/components/fields/text-input.js.map +1 -1
  123. package/dist/form/components/fields/textarea.d.ts +1 -19
  124. package/dist/form/components/fields/textarea.js +11 -16
  125. package/dist/form/components/fields/textarea.js.map +1 -1
  126. package/dist/form/components/form.d.ts +1 -20
  127. package/dist/form/components/form.js +29 -36
  128. package/dist/form/components/form.js.map +1 -1
  129. package/dist/form/components/index.d.ts +0 -1
  130. package/dist/form/components/index.js +1 -2
  131. package/dist/form/components/resolved-nodes.d.ts +1 -1
  132. package/dist/form/components/resolved-nodes.js +2 -2
  133. package/dist/form/components/resolved-nodes.js.map +1 -1
  134. package/dist/form/components/types.d.ts +1 -0
  135. package/dist/form/components/use-controlled-field.d.ts +3 -9
  136. package/dist/form/components/use-controlled-field.js +5 -9
  137. package/dist/form/components/use-controlled-field.js.map +1 -1
  138. package/dist/form/components/use-dependent-field.d.ts +1 -1
  139. package/dist/form/components/use-dependent-field.js +8 -8
  140. package/dist/form/components/use-dependent-field.js.map +1 -1
  141. package/dist/form/components/use-form-resolver.d.ts +1 -1
  142. package/dist/form/components/use-form-resolver.js +8 -13
  143. package/dist/form/components/use-form-resolver.js.map +1 -1
  144. package/dist/form/components/use-seed-default.d.ts +5 -0
  145. package/dist/form/components/use-seed-default.js +23 -0
  146. package/dist/form/components/use-seed-default.js.map +1 -0
  147. package/dist/form/index.d.ts +1 -1
  148. package/dist/form/index.js +0 -1
  149. package/dist/form/index.js.map +1 -1
  150. package/dist/form/skeleton.d.ts +1 -1
  151. package/dist/form/skeleton.js +1 -1
  152. package/dist/form/skeleton.js.map +1 -1
  153. package/dist/i18n/backend.d.ts +24 -0
  154. package/dist/i18n/backend.js +39 -0
  155. package/dist/i18n/backend.js.map +1 -0
  156. package/dist/i18n/index.d.ts +3 -0
  157. package/dist/i18n/index.js +3 -0
  158. package/dist/i18n/instance.js +48 -0
  159. package/dist/i18n/instance.js.map +1 -0
  160. package/dist/icons/icon-renderer.js +30 -5
  161. package/dist/icons/icon-renderer.js.map +1 -1
  162. package/dist/icons/index.d.ts +2 -0
  163. package/dist/icons/index.js +2 -1
  164. package/dist/icons/sprite.d.ts +30 -0
  165. package/dist/icons/sprite.js +40 -0
  166. package/dist/icons/sprite.js.map +1 -0
  167. package/dist/index.d.ts +9 -5
  168. package/dist/index.js +7 -3
  169. package/dist/inertia.d.ts +1 -6
  170. package/dist/inertia.js +4 -8
  171. package/dist/inertia.js.map +1 -1
  172. package/dist/lattice.css +129 -5
  173. package/dist/layout/components.d.ts +1 -0
  174. package/dist/layout/components.js +19 -0
  175. package/dist/layout/components.js.map +1 -0
  176. package/dist/layout/context.d.ts +12 -0
  177. package/dist/layout/context.js +19 -0
  178. package/dist/layout/context.js.map +1 -0
  179. package/dist/layout/index.d.ts +3 -0
  180. package/dist/layout/index.js +4 -0
  181. package/dist/layout/menu-item.d.ts +3 -0
  182. package/dist/layout/menu-item.js +130 -0
  183. package/dist/layout/menu-item.js.map +1 -0
  184. package/dist/layout/menu.d.ts +3 -0
  185. package/dist/layout/menu.js +13 -0
  186. package/dist/layout/menu.js.map +1 -0
  187. package/dist/layout/outlet.d.ts +6 -0
  188. package/dist/layout/outlet.js +14 -0
  189. package/dist/layout/outlet.js.map +1 -0
  190. package/dist/layout/schema-layout.d.ts +10 -0
  191. package/dist/layout/schema-layout.js +30 -0
  192. package/dist/layout/schema-layout.js.map +1 -0
  193. package/dist/layout/sidebar.d.ts +3 -0
  194. package/dist/layout/sidebar.js +48 -0
  195. package/dist/layout/sidebar.js.map +1 -0
  196. package/dist/lib/utils.d.ts +0 -2
  197. package/dist/lib/utils.js +1 -4
  198. package/dist/lib/utils.js.map +1 -1
  199. package/dist/node_modules/i18next/dist/esm/i18next.js +1982 -0
  200. package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -0
  201. package/dist/node_modules/i18next-http-backend/esm/index.js +352 -0
  202. package/dist/node_modules/i18next-http-backend/esm/index.js.map +1 -0
  203. package/dist/node_modules/react-i18next/dist/es/context.js +23 -0
  204. package/dist/node_modules/react-i18next/dist/es/context.js.map +1 -0
  205. package/dist/node_modules/react-i18next/dist/es/defaults.js +29 -0
  206. package/dist/node_modules/react-i18next/dist/es/defaults.js.map +1 -0
  207. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js +10 -0
  208. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js.map +1 -0
  209. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js +14 -0
  210. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js.map +1 -0
  211. package/dist/node_modules/react-i18next/dist/es/unescape.js +30 -0
  212. package/dist/node_modules/react-i18next/dist/es/unescape.js.map +1 -0
  213. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +157 -0
  214. package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -0
  215. package/dist/node_modules/react-i18next/dist/es/utils.js +58 -0
  216. package/dist/node_modules/react-i18next/dist/es/utils.js.map +1 -0
  217. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +70 -0
  218. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  219. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +61 -0
  220. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  221. package/dist/node_modules/use-sync-external-store/shim/index.js +13 -0
  222. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  223. package/dist/page.d.ts +1 -1
  224. package/dist/page.js +2 -2
  225. package/dist/page.js.map +1 -1
  226. package/dist/provider.d.ts +8 -3
  227. package/dist/provider.js +17 -9
  228. package/dist/provider.js.map +1 -1
  229. package/dist/registry.d.ts +1 -1
  230. package/dist/registry.js +2 -1
  231. package/dist/registry.js.map +1 -1
  232. package/dist/table/bulk.d.ts +6 -10
  233. package/dist/table/bulk.js +13 -35
  234. package/dist/table/bulk.js.map +1 -1
  235. package/dist/table/column-registry.d.ts +9 -0
  236. package/dist/table/components/bulk-bar.js +34 -3
  237. package/dist/table/components/bulk-bar.js.map +1 -1
  238. package/dist/table/components/cells/badge-cell.d.ts +5 -0
  239. package/dist/table/components/cells/badge-cell.js +16 -0
  240. package/dist/table/components/cells/badge-cell.js.map +1 -0
  241. package/dist/table/components/cells/icon-cell.d.ts +5 -0
  242. package/dist/table/components/cells/icon-cell.js +22 -0
  243. package/dist/table/components/cells/icon-cell.js.map +1 -0
  244. package/dist/table/components/cells/image-cell.d.ts +5 -0
  245. package/dist/table/components/cells/image-cell.js +24 -0
  246. package/dist/table/components/cells/image-cell.js.map +1 -0
  247. package/dist/table/components/cells/text-cell.d.ts +6 -0
  248. package/dist/table/components/cells/text-cell.js +50 -0
  249. package/dist/table/components/cells/text-cell.js.map +1 -0
  250. package/dist/table/components/column-filter-control.js +59 -96
  251. package/dist/table/components/column-filter-control.js.map +1 -1
  252. package/dist/table/components/column-header.js +22 -11
  253. package/dist/table/components/column-header.js.map +1 -1
  254. package/dist/table/components/filter-stack-bar.d.ts +2 -2
  255. package/dist/table/components/filter-stack-bar.js +10 -8
  256. package/dist/table/components/filter-stack-bar.js.map +1 -1
  257. package/dist/table/components/filter-value-input.d.ts +5 -3
  258. package/dist/table/components/filter-value-input.js +25 -16
  259. package/dist/table/components/filter-value-input.js.map +1 -1
  260. package/dist/table/components/pagination.d.ts +1 -1
  261. package/dist/table/components/pagination.js +20 -8
  262. package/dist/table/components/pagination.js.map +1 -1
  263. package/dist/table/components/sort-bar.d.ts +2 -2
  264. package/dist/table/components/sort-bar.js +12 -10
  265. package/dist/table/components/sort-bar.js.map +1 -1
  266. package/dist/table/components/table-action-node.d.ts +1 -1
  267. package/dist/table/components/table-action-node.js +1 -1
  268. package/dist/table/components/table-action-node.js.map +1 -1
  269. package/dist/table/components/table-cell.d.ts +1 -1
  270. package/dist/table/components/table-cell.js +24 -43
  271. package/dist/table/components/table-cell.js.map +1 -1
  272. package/dist/table/components/table.d.ts +6 -2
  273. package/dist/table/components/table.js +40 -17
  274. package/dist/table/components/table.js.map +1 -1
  275. package/dist/table/format.js +5 -3
  276. package/dist/table/format.js.map +1 -1
  277. package/dist/table/index.d.ts +1 -1
  278. package/dist/table/index.js.map +1 -1
  279. package/dist/table/payload.d.ts +1 -1
  280. package/dist/table/query.d.ts +0 -1
  281. package/dist/table/query.js +8 -9
  282. package/dist/table/query.js.map +1 -1
  283. package/dist/table/types.d.ts +38 -42
  284. package/dist/table/use-table.d.ts +3 -4
  285. package/dist/table/use-table.js +12 -23
  286. package/dist/table/use-table.js.map +1 -1
  287. package/dist/test-support.d.ts +14 -0
  288. package/dist/test-support.js +14 -0
  289. package/dist/test-support.js.map +1 -0
  290. package/dist/toast/index.d.ts +1 -0
  291. package/dist/toast/index.js +2 -0
  292. package/dist/toast/toaster.d.ts +3 -0
  293. package/dist/toast/toaster.js +126 -0
  294. package/dist/toast/toaster.js.map +1 -0
  295. package/dist/types/generated.d.ts +677 -0
  296. package/dist/types/generated.js +0 -0
  297. package/dist/types/index.d.ts +1 -1
  298. package/package.json +18 -3
  299. package/resources/icons/align-center.svg +17 -0
  300. package/resources/icons/align-justify.svg +17 -0
  301. package/resources/icons/align-left.svg +17 -0
  302. package/resources/icons/align-right.svg +17 -0
  303. package/resources/icons/arrow-down.svg +16 -0
  304. package/resources/icons/arrow-up.svg +16 -0
  305. package/resources/icons/bold.svg +15 -0
  306. package/resources/icons/check.svg +15 -0
  307. package/resources/icons/chevron-down.svg +15 -0
  308. package/resources/icons/chevron-right.svg +15 -0
  309. package/resources/icons/chevrons-up-down.svg +16 -0
  310. package/resources/icons/circle-alert.svg +17 -0
  311. package/resources/icons/circle-check.svg +16 -0
  312. package/resources/icons/circle-help.svg +17 -0
  313. package/resources/icons/circle-x.svg +17 -0
  314. package/resources/icons/code.svg +16 -0
  315. package/resources/icons/columns-3.svg +17 -0
  316. package/resources/icons/copy.svg +16 -0
  317. package/resources/icons/external-link.svg +17 -0
  318. package/resources/icons/eye-off.svg +18 -0
  319. package/resources/icons/eye.svg +16 -0
  320. package/resources/icons/filter.svg +15 -0
  321. package/resources/icons/heading-1.svg +18 -0
  322. package/resources/icons/heading-2.svg +18 -0
  323. package/resources/icons/heading-3.svg +19 -0
  324. package/resources/icons/highlighter.svg +16 -0
  325. package/resources/icons/info.svg +17 -0
  326. package/resources/icons/italic.svg +17 -0
  327. package/resources/icons/layout-dashboard.svg +18 -0
  328. package/resources/icons/link.svg +16 -0
  329. package/resources/icons/list-ordered.svg +20 -0
  330. package/resources/icons/list.svg +20 -0
  331. package/resources/icons/loader-2.svg +15 -0
  332. package/resources/icons/minus.svg +15 -0
  333. package/resources/icons/more-horizontal.svg +17 -0
  334. package/resources/icons/panel-left.svg +16 -0
  335. package/resources/icons/pencil-line.svg +17 -0
  336. package/resources/icons/pencil.svg +16 -0
  337. package/resources/icons/plus.svg +16 -0
  338. package/resources/icons/quote.svg +16 -0
  339. package/resources/icons/rows-3.svg +17 -0
  340. package/resources/icons/search.svg +16 -0
  341. package/resources/icons/send.svg +16 -0
  342. package/resources/icons/settings.svg +16 -0
  343. package/resources/icons/smile.svg +18 -0
  344. package/resources/icons/strikethrough.svg +17 -0
  345. package/resources/icons/table.svg +18 -0
  346. package/resources/icons/trash-2.svg +19 -0
  347. package/resources/icons/underline.svg +16 -0
  348. package/resources/icons/x.svg +16 -0
  349. package/dist/core/props.d.ts +0 -14
  350. package/dist/core/props.js +0 -30
  351. package/dist/core/props.js.map +0 -1
  352. package/dist/form/components/fields/submit-button.d.ts +0 -10
  353. package/dist/form/components/fields/submit-button.js +0 -14
  354. package/dist/form/components/fields/submit-button.js.map +0 -1
  355. package/dist/generated/types.d.ts +0 -17
  356. package/dist/icons/default-icons.d.ts +0 -3
  357. package/dist/icons/default-icons.js +0 -44
  358. package/dist/icons/default-icons.js.map +0 -1
  359. package/dist/icons/dynamic-lucide-renderer.d.ts +0 -2
  360. package/dist/icons/dynamic-lucide-renderer.js +0 -18
  361. package/dist/icons/dynamic-lucide-renderer.js.map +0 -1
  362. package/dist/menu/index.d.ts +0 -1
  363. package/dist/menu/index.js +0 -2
  364. package/dist/menu/use-menu.d.ts +0 -2
  365. package/dist/menu/use-menu.js +0 -9
  366. package/dist/menu/use-menu.js.map +0 -1
  367. /package/dist/{generated/types.js → table/column-registry.js} +0 -0
@@ -0,0 +1,352 @@
1
+ //#region node_modules/i18next-http-backend/esm/index.js
2
+ var arr = [];
3
+ arr.forEach;
4
+ arr.slice;
5
+ var UNSAFE_KEYS$1 = [
6
+ "__proto__",
7
+ "constructor",
8
+ "prototype"
9
+ ];
10
+ function isSafeUrlSegmentBase(v) {
11
+ if (typeof v !== "string") return false;
12
+ if (v.length === 0 || v.length > 128) return false;
13
+ if (UNSAFE_KEYS$1.indexOf(v) > -1) return false;
14
+ if (v.indexOf("..") > -1) return false;
15
+ if (v.indexOf("\\") > -1) return false;
16
+ if (/[?#%\s@]/.test(v)) return false;
17
+ if (/[\x00-\x1F\x7F]/.test(v)) return false;
18
+ return true;
19
+ }
20
+ function isSafeLangUrlSegment(v) {
21
+ if (!isSafeUrlSegmentBase(v)) return false;
22
+ if (v.indexOf("/") > -1) return false;
23
+ return true;
24
+ }
25
+ function isSafeNsUrlSegment(v) {
26
+ return isSafeUrlSegmentBase(v);
27
+ }
28
+ var SAFETY_CHECK_BY_KEY = {
29
+ lng: isSafeLangUrlSegment,
30
+ ns: isSafeNsUrlSegment
31
+ };
32
+ function sanitizeLogValue(v) {
33
+ if (typeof v !== "string") return v;
34
+ return v.replace(/[\r\n\x00-\x1F\x7F]/g, " ");
35
+ }
36
+ function redactUrlCredentials(u) {
37
+ if (typeof u !== "string" || u.length === 0) return u;
38
+ try {
39
+ const parsed = new URL(u);
40
+ if (parsed.username || parsed.password) {
41
+ parsed.username = "";
42
+ parsed.password = "";
43
+ return parsed.toString();
44
+ }
45
+ return u;
46
+ } catch (e) {
47
+ return u.replace(/(\/\/)[^/@\s]+@/g, "$1");
48
+ }
49
+ }
50
+ function hasXMLHttpRequest() {
51
+ return typeof XMLHttpRequest === "function" || typeof XMLHttpRequest === "object";
52
+ }
53
+ /**
54
+ * Determine whether the given `maybePromise` is a Promise.
55
+ *
56
+ * @param {*} maybePromise
57
+ *
58
+ * @returns {Boolean}
59
+ */
60
+ function isPromise(maybePromise) {
61
+ return !!maybePromise && typeof maybePromise.then === "function";
62
+ }
63
+ /**
64
+ * Convert any value to a Promise than will resolve to this value.
65
+ *
66
+ * @param {*} maybePromise
67
+ *
68
+ * @returns {Promise}
69
+ */
70
+ function makePromise(maybePromise) {
71
+ if (isPromise(maybePromise)) return maybePromise;
72
+ return Promise.resolve(maybePromise);
73
+ }
74
+ var interpolationRegexp = /\{\{(.+?)\}\}/g;
75
+ function interpolateUrl(str, data) {
76
+ let unsafe = false;
77
+ const result = str.replace(interpolationRegexp, (match, key) => {
78
+ const k = key.trim();
79
+ if (UNSAFE_KEYS$1.indexOf(k) > -1) return match;
80
+ const value = data[k];
81
+ if (value == null) return match;
82
+ const check = SAFETY_CHECK_BY_KEY[k] || isSafeLangUrlSegment;
83
+ const segments = String(value).split("+");
84
+ for (const seg of segments) if (!check(seg)) {
85
+ unsafe = true;
86
+ return match;
87
+ }
88
+ return segments.join("+");
89
+ });
90
+ return unsafe ? null : result;
91
+ }
92
+ var g = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : void 0;
93
+ var fetchApi;
94
+ if (typeof fetch === "function") fetchApi = fetch;
95
+ else if (g && typeof g.fetch === "function") fetchApi = g.fetch;
96
+ var XmlHttpRequestApi = hasXMLHttpRequest() && g ? g.XMLHttpRequest : void 0;
97
+ var ActiveXObjectApi = typeof ActiveXObject === "function" && g ? g.ActiveXObject : void 0;
98
+ var UNSAFE_KEYS = [
99
+ "__proto__",
100
+ "constructor",
101
+ "prototype"
102
+ ];
103
+ var addQueryString = (url, params) => {
104
+ if (params && typeof params === "object") {
105
+ let queryString = "";
106
+ for (const paramName of Object.keys(params)) {
107
+ if (UNSAFE_KEYS.indexOf(paramName) > -1) continue;
108
+ queryString += "&" + encodeURIComponent(paramName) + "=" + encodeURIComponent(params[paramName]);
109
+ }
110
+ if (!queryString) return url;
111
+ url = url + (url.indexOf("?") !== -1 ? "&" : "?") + queryString.slice(1);
112
+ }
113
+ return url;
114
+ };
115
+ var fetchIt = (url, fetchOptions, callback, altFetch) => {
116
+ const resolver = (response) => {
117
+ if (!response.ok) return callback(response.statusText || "Error", { status: response.status });
118
+ response.text().then((data) => {
119
+ callback(null, {
120
+ status: response.status,
121
+ data
122
+ });
123
+ }).catch(callback);
124
+ };
125
+ if (altFetch) {
126
+ const altResponse = altFetch(url, fetchOptions);
127
+ if (altResponse instanceof Promise) {
128
+ altResponse.then(resolver).catch(callback);
129
+ return;
130
+ }
131
+ }
132
+ if (typeof fetch === "function") fetch(url, fetchOptions).then(resolver).catch(callback);
133
+ else fetchApi(url, fetchOptions).then(resolver).catch(callback);
134
+ };
135
+ var requestWithFetch = (options, url, payload, callback) => {
136
+ if (options.queryStringParams) url = addQueryString(url, options.queryStringParams);
137
+ const headers = { ...typeof options.customHeaders === "function" ? options.customHeaders() : options.customHeaders };
138
+ if (typeof window === "undefined" && typeof global !== "undefined" && typeof global.process !== "undefined" && global.process.versions && global.process.versions.node) headers["User-Agent"] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})`;
139
+ if (payload) headers["Content-Type"] = "application/json";
140
+ const reqOptions = typeof options.requestOptions === "function" ? options.requestOptions(payload) : options.requestOptions;
141
+ const fetchOptions = {
142
+ method: payload ? "POST" : "GET",
143
+ body: payload ? options.stringify(payload) : void 0,
144
+ headers,
145
+ ...options._omitFetchOptions ? {} : reqOptions
146
+ };
147
+ const altFetch = typeof options.alternateFetch === "function" && options.alternateFetch.length >= 1 ? options.alternateFetch : void 0;
148
+ try {
149
+ fetchIt(url, fetchOptions, callback, altFetch);
150
+ } catch (e) {
151
+ if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf("not implemented") < 0) return callback(e);
152
+ try {
153
+ Object.keys(reqOptions).forEach((opt) => {
154
+ delete fetchOptions[opt];
155
+ });
156
+ fetchIt(url, fetchOptions, callback, altFetch);
157
+ options._omitFetchOptions = true;
158
+ } catch (err) {
159
+ callback(err);
160
+ }
161
+ }
162
+ };
163
+ var requestWithXmlHttpRequest = (options, url, payload, callback) => {
164
+ if (payload && typeof payload === "object") payload = addQueryString("", payload).slice(1);
165
+ if (options.queryStringParams) url = addQueryString(url, options.queryStringParams);
166
+ try {
167
+ const x = XmlHttpRequestApi ? new XmlHttpRequestApi() : new ActiveXObjectApi("MSXML2.XMLHTTP.3.0");
168
+ x.open(payload ? "POST" : "GET", url, 1);
169
+ if (!options.crossDomain) x.setRequestHeader("X-Requested-With", "XMLHttpRequest");
170
+ x.withCredentials = !!options.withCredentials;
171
+ if (payload) x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
172
+ if (x.overrideMimeType) x.overrideMimeType("application/json");
173
+ let h = options.customHeaders;
174
+ h = typeof h === "function" ? h() : h;
175
+ if (h) for (const i of Object.keys(h)) {
176
+ if (UNSAFE_KEYS.indexOf(i) > -1) continue;
177
+ x.setRequestHeader(i, h[i]);
178
+ }
179
+ x.onreadystatechange = () => {
180
+ x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {
181
+ status: x.status,
182
+ data: x.responseText
183
+ });
184
+ };
185
+ x.send(payload);
186
+ } catch (e) {
187
+ console && console.log(e);
188
+ }
189
+ };
190
+ var request = (options, url, payload, callback) => {
191
+ if (typeof payload === "function") {
192
+ callback = payload;
193
+ payload = void 0;
194
+ }
195
+ callback = callback || (() => {});
196
+ if (fetchApi && url.indexOf("file:") !== 0) return requestWithFetch(options, url, payload, callback);
197
+ if (hasXMLHttpRequest() || typeof ActiveXObject === "function") return requestWithXmlHttpRequest(options, url, payload, callback);
198
+ callback(/* @__PURE__ */ new Error("No fetch and no xhr implementation found!"));
199
+ };
200
+ var getDefaults = () => {
201
+ return {
202
+ loadPath: "/locales/{{lng}}/{{ns}}.json",
203
+ addPath: "/locales/add/{{lng}}/{{ns}}",
204
+ parse: (data) => JSON.parse(data),
205
+ stringify: JSON.stringify,
206
+ parsePayload: (namespace, key, fallbackValue) => ({ [key]: fallbackValue || "" }),
207
+ parseLoadPayload: (languages, namespaces) => void 0,
208
+ request,
209
+ reloadInterval: typeof window !== "undefined" ? false : 3600 * 1e3,
210
+ customHeaders: {},
211
+ queryStringParams: {},
212
+ crossDomain: false,
213
+ withCredentials: false,
214
+ overrideMimeType: false,
215
+ requestOptions: {
216
+ mode: "cors",
217
+ credentials: "same-origin",
218
+ cache: "default"
219
+ }
220
+ };
221
+ };
222
+ var Backend = class {
223
+ constructor(services, options = {}, allOptions = {}) {
224
+ this.services = services;
225
+ this.options = options;
226
+ this.allOptions = allOptions;
227
+ this.type = "backend";
228
+ this.init(services, options, allOptions);
229
+ }
230
+ init(services, options = {}, allOptions = {}) {
231
+ this.services = services;
232
+ this.options = {
233
+ ...getDefaults(),
234
+ ...this.options || {},
235
+ ...options
236
+ };
237
+ this.allOptions = allOptions;
238
+ if (this.services && this.options.reloadInterval) {
239
+ const timer = setInterval(() => this.reload(), this.options.reloadInterval);
240
+ if (typeof timer === "object" && typeof timer.unref === "function") timer.unref();
241
+ }
242
+ }
243
+ readMulti(languages, namespaces, callback) {
244
+ this._readAny(languages, languages, namespaces, namespaces, callback);
245
+ }
246
+ read(language, namespace, callback) {
247
+ this._readAny([language], language, [namespace], namespace, callback);
248
+ }
249
+ _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {
250
+ let loadPath = this.options.loadPath;
251
+ if (typeof this.options.loadPath === "function") loadPath = this.options.loadPath(languages, namespaces);
252
+ loadPath = makePromise(loadPath);
253
+ loadPath.then((resolvedLoadPath) => {
254
+ if (!resolvedLoadPath) return callback(null, {});
255
+ const url = interpolateUrl(resolvedLoadPath, {
256
+ lng: languages.join("+"),
257
+ ns: namespaces.join("+")
258
+ });
259
+ if (url == null) {
260
+ const safeLngs = languages.map(sanitizeLogValue).join(", ");
261
+ const safeNss = namespaces.map(sanitizeLogValue).join(", ");
262
+ return callback(/* @__PURE__ */ new Error("i18next-http-backend: unsafe lng/ns value — refusing to build request URL for languages=[" + safeLngs + "] namespaces=[" + safeNss + "]"), false);
263
+ }
264
+ this.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);
265
+ });
266
+ }
267
+ loadUrl(url, callback, languages, namespaces) {
268
+ const lng = typeof languages === "string" ? [languages] : languages;
269
+ const ns = typeof namespaces === "string" ? [namespaces] : namespaces;
270
+ const payload = this.options.parseLoadPayload(lng, ns);
271
+ const safeUrl = sanitizeLogValue(redactUrlCredentials(url));
272
+ this.options.request(this.options, url, payload, (err, res) => {
273
+ if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback("failed loading " + safeUrl + "; status code: " + res.status, true);
274
+ if (res && res.status >= 400 && res.status < 500) return callback("failed loading " + safeUrl + "; status code: " + res.status, false);
275
+ if (!res && err && err.message) {
276
+ const errorMessage = err.message.toLowerCase();
277
+ if ([
278
+ "failed",
279
+ "fetch",
280
+ "network",
281
+ "load"
282
+ ].find((term) => errorMessage.indexOf(term) > -1)) return callback("failed loading " + safeUrl + ": " + sanitizeLogValue(err.message), true);
283
+ }
284
+ if (err) return callback(err, false);
285
+ let ret, parseErr;
286
+ try {
287
+ if (typeof res.data === "string") ret = this.options.parse(res.data, languages, namespaces);
288
+ else ret = res.data;
289
+ } catch (e) {
290
+ parseErr = "failed parsing " + safeUrl + " to json";
291
+ }
292
+ if (parseErr) return callback(parseErr, false);
293
+ callback(null, ret);
294
+ });
295
+ }
296
+ create(languages, namespace, key, fallbackValue, callback) {
297
+ if (!this.options.addPath) return;
298
+ if (typeof languages === "string") languages = [languages];
299
+ const payload = this.options.parsePayload(namespace, key, fallbackValue);
300
+ let finished = 0;
301
+ const dataArray = [];
302
+ const resArray = [];
303
+ languages.forEach((lng) => {
304
+ let addPath = this.options.addPath;
305
+ if (typeof this.options.addPath === "function") addPath = this.options.addPath(lng, namespace);
306
+ const url = interpolateUrl(addPath, {
307
+ lng,
308
+ ns: namespace
309
+ });
310
+ if (url == null) {
311
+ finished += 1;
312
+ if (callback && finished === languages.length) callback(dataArray, resArray);
313
+ return;
314
+ }
315
+ this.options.request(this.options, url, payload, (data, res) => {
316
+ finished += 1;
317
+ dataArray.push(data);
318
+ resArray.push(res);
319
+ if (finished === languages.length) {
320
+ if (typeof callback === "function") callback(dataArray, resArray);
321
+ }
322
+ });
323
+ });
324
+ }
325
+ reload() {
326
+ const { backendConnector, languageUtils, logger } = this.services;
327
+ const currentLanguage = backendConnector.language;
328
+ if (currentLanguage && currentLanguage.toLowerCase() === "cimode") return;
329
+ const toLoad = [];
330
+ const append = (lng) => {
331
+ languageUtils.toResolveHierarchy(lng).forEach((l) => {
332
+ if (toLoad.indexOf(l) < 0) toLoad.push(l);
333
+ });
334
+ };
335
+ append(currentLanguage);
336
+ if (this.allOptions.preload) this.allOptions.preload.forEach((l) => append(l));
337
+ toLoad.forEach((lng) => {
338
+ this.allOptions.ns.forEach((ns) => {
339
+ backendConnector.read(lng, ns, "read", null, null, (err, data) => {
340
+ if (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err);
341
+ if (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data);
342
+ backendConnector.loaded(`${lng}|${ns}`, err, data);
343
+ });
344
+ });
345
+ });
346
+ }
347
+ };
348
+ Backend.type = "backend";
349
+ //#endregion
350
+ export { Backend };
351
+
352
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../node_modules/i18next-http-backend/esm/index.js"],"sourcesContent":["//#region lib/utils.js\nconst arr = [];\narr.forEach;\narr.slice;\nconst UNSAFE_KEYS$1 = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nfunction isSafeUrlSegmentBase(v) {\n\tif (typeof v !== \"string\") return false;\n\tif (v.length === 0 || v.length > 128) return false;\n\tif (UNSAFE_KEYS$1.indexOf(v) > -1) return false;\n\tif (v.indexOf(\"..\") > -1) return false;\n\tif (v.indexOf(\"\\\\\") > -1) return false;\n\tif (/[?#%\\s@]/.test(v)) return false;\n\tif (/[\\x00-\\x1F\\x7F]/.test(v)) return false;\n\treturn true;\n}\nfunction isSafeLangUrlSegment(v) {\n\tif (!isSafeUrlSegmentBase(v)) return false;\n\tif (v.indexOf(\"/\") > -1) return false;\n\treturn true;\n}\nfunction isSafeNsUrlSegment(v) {\n\treturn isSafeUrlSegmentBase(v);\n}\nconst SAFETY_CHECK_BY_KEY = {\n\tlng: isSafeLangUrlSegment,\n\tns: isSafeNsUrlSegment\n};\nfunction sanitizeLogValue(v) {\n\tif (typeof v !== \"string\") return v;\n\treturn v.replace(/[\\r\\n\\x00-\\x1F\\x7F]/g, \" \");\n}\nfunction redactUrlCredentials(u) {\n\tif (typeof u !== \"string\" || u.length === 0) return u;\n\ttry {\n\t\tconst parsed = new URL(u);\n\t\tif (parsed.username || parsed.password) {\n\t\t\tparsed.username = \"\";\n\t\t\tparsed.password = \"\";\n\t\t\treturn parsed.toString();\n\t\t}\n\t\treturn u;\n\t} catch (e) {\n\t\treturn u.replace(/(\\/\\/)[^/@\\s]+@/g, \"$1\");\n\t}\n}\nfunction hasXMLHttpRequest() {\n\treturn typeof XMLHttpRequest === \"function\" || typeof XMLHttpRequest === \"object\";\n}\n/**\n* Determine whether the given `maybePromise` is a Promise.\n*\n* @param {*} maybePromise\n*\n* @returns {Boolean}\n*/\nfunction isPromise(maybePromise) {\n\treturn !!maybePromise && typeof maybePromise.then === \"function\";\n}\n/**\n* Convert any value to a Promise than will resolve to this value.\n*\n* @param {*} maybePromise\n*\n* @returns {Promise}\n*/\nfunction makePromise(maybePromise) {\n\tif (isPromise(maybePromise)) return maybePromise;\n\treturn Promise.resolve(maybePromise);\n}\nconst interpolationRegexp = /\\{\\{(.+?)\\}\\}/g;\nfunction interpolateUrl(str, data) {\n\tlet unsafe = false;\n\tconst result = str.replace(interpolationRegexp, (match, key) => {\n\t\tconst k = key.trim();\n\t\tif (UNSAFE_KEYS$1.indexOf(k) > -1) return match;\n\t\tconst value = data[k];\n\t\tif (value == null) return match;\n\t\tconst check = SAFETY_CHECK_BY_KEY[k] || isSafeLangUrlSegment;\n\t\tconst segments = String(value).split(\"+\");\n\t\tfor (const seg of segments) if (!check(seg)) {\n\t\t\tunsafe = true;\n\t\t\treturn match;\n\t\t}\n\t\treturn segments.join(\"+\");\n\t});\n\treturn unsafe ? null : result;\n}\n//#endregion\n//#region lib/request.js\nconst g = typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : void 0;\nlet fetchApi;\nif (typeof fetch === \"function\") fetchApi = fetch;\nelse if (g && typeof g.fetch === \"function\") fetchApi = g.fetch;\nconst XmlHttpRequestApi = hasXMLHttpRequest() && g ? g.XMLHttpRequest : void 0;\nconst ActiveXObjectApi = typeof ActiveXObject === \"function\" && g ? g.ActiveXObject : void 0;\nconst UNSAFE_KEYS = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nconst addQueryString = (url, params) => {\n\tif (params && typeof params === \"object\") {\n\t\tlet queryString = \"\";\n\t\tfor (const paramName of Object.keys(params)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(paramName) > -1) continue;\n\t\t\tqueryString += \"&\" + encodeURIComponent(paramName) + \"=\" + encodeURIComponent(params[paramName]);\n\t\t}\n\t\tif (!queryString) return url;\n\t\turl = url + (url.indexOf(\"?\") !== -1 ? \"&\" : \"?\") + queryString.slice(1);\n\t}\n\treturn url;\n};\nconst fetchIt = (url, fetchOptions, callback, altFetch) => {\n\tconst resolver = (response) => {\n\t\tif (!response.ok) return callback(response.statusText || \"Error\", { status: response.status });\n\t\tresponse.text().then((data) => {\n\t\t\tcallback(null, {\n\t\t\t\tstatus: response.status,\n\t\t\t\tdata\n\t\t\t});\n\t\t}).catch(callback);\n\t};\n\tif (altFetch) {\n\t\tconst altResponse = altFetch(url, fetchOptions);\n\t\tif (altResponse instanceof Promise) {\n\t\t\taltResponse.then(resolver).catch(callback);\n\t\t\treturn;\n\t\t}\n\t}\n\tif (typeof fetch === \"function\") fetch(url, fetchOptions).then(resolver).catch(callback);\n\telse fetchApi(url, fetchOptions).then(resolver).catch(callback);\n};\nconst requestWithFetch = (options, url, payload, callback) => {\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\tconst headers = { ...typeof options.customHeaders === \"function\" ? options.customHeaders() : options.customHeaders };\n\tif (typeof window === \"undefined\" && typeof global !== \"undefined\" && typeof global.process !== \"undefined\" && global.process.versions && global.process.versions.node) headers[\"User-Agent\"] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})`;\n\tif (payload) headers[\"Content-Type\"] = \"application/json\";\n\tconst reqOptions = typeof options.requestOptions === \"function\" ? options.requestOptions(payload) : options.requestOptions;\n\tconst fetchOptions = {\n\t\tmethod: payload ? \"POST\" : \"GET\",\n\t\tbody: payload ? options.stringify(payload) : void 0,\n\t\theaders,\n\t\t...options._omitFetchOptions ? {} : reqOptions\n\t};\n\tconst altFetch = typeof options.alternateFetch === \"function\" && options.alternateFetch.length >= 1 ? options.alternateFetch : void 0;\n\ttry {\n\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t} catch (e) {\n\t\tif (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf(\"not implemented\") < 0) return callback(e);\n\t\ttry {\n\t\t\tObject.keys(reqOptions).forEach((opt) => {\n\t\t\t\tdelete fetchOptions[opt];\n\t\t\t});\n\t\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t\t\toptions._omitFetchOptions = true;\n\t\t} catch (err) {\n\t\t\tcallback(err);\n\t\t}\n\t}\n};\nconst requestWithXmlHttpRequest = (options, url, payload, callback) => {\n\tif (payload && typeof payload === \"object\") payload = addQueryString(\"\", payload).slice(1);\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\ttry {\n\t\tconst x = XmlHttpRequestApi ? new XmlHttpRequestApi() : new ActiveXObjectApi(\"MSXML2.XMLHTTP.3.0\");\n\t\tx.open(payload ? \"POST\" : \"GET\", url, 1);\n\t\tif (!options.crossDomain) x.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\t\tx.withCredentials = !!options.withCredentials;\n\t\tif (payload) x.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\t\tif (x.overrideMimeType) x.overrideMimeType(\"application/json\");\n\t\tlet h = options.customHeaders;\n\t\th = typeof h === \"function\" ? h() : h;\n\t\tif (h) for (const i of Object.keys(h)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(i) > -1) continue;\n\t\t\tx.setRequestHeader(i, h[i]);\n\t\t}\n\t\tx.onreadystatechange = () => {\n\t\t\tx.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n\t\t\t\tstatus: x.status,\n\t\t\t\tdata: x.responseText\n\t\t\t});\n\t\t};\n\t\tx.send(payload);\n\t} catch (e) {\n\t\tconsole && console.log(e);\n\t}\n};\nconst request = (options, url, payload, callback) => {\n\tif (typeof payload === \"function\") {\n\t\tcallback = payload;\n\t\tpayload = void 0;\n\t}\n\tcallback = callback || (() => {});\n\tif (fetchApi && url.indexOf(\"file:\") !== 0) return requestWithFetch(options, url, payload, callback);\n\tif (hasXMLHttpRequest() || typeof ActiveXObject === \"function\") return requestWithXmlHttpRequest(options, url, payload, callback);\n\tcallback(/* @__PURE__ */ new Error(\"No fetch and no xhr implementation found!\"));\n};\n//#endregion\n//#region lib/index.js\nconst getDefaults = () => {\n\treturn {\n\t\tloadPath: \"/locales/{{lng}}/{{ns}}.json\",\n\t\taddPath: \"/locales/add/{{lng}}/{{ns}}\",\n\t\tparse: (data) => JSON.parse(data),\n\t\tstringify: JSON.stringify,\n\t\tparsePayload: (namespace, key, fallbackValue) => ({ [key]: fallbackValue || \"\" }),\n\t\tparseLoadPayload: (languages, namespaces) => void 0,\n\t\trequest,\n\t\treloadInterval: typeof window !== \"undefined\" ? false : 3600 * 1e3,\n\t\tcustomHeaders: {},\n\t\tqueryStringParams: {},\n\t\tcrossDomain: false,\n\t\twithCredentials: false,\n\t\toverrideMimeType: false,\n\t\trequestOptions: {\n\t\t\tmode: \"cors\",\n\t\t\tcredentials: \"same-origin\",\n\t\t\tcache: \"default\"\n\t\t}\n\t};\n};\nvar Backend = class {\n\tconstructor(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = options;\n\t\tthis.allOptions = allOptions;\n\t\tthis.type = \"backend\";\n\t\tthis.init(services, options, allOptions);\n\t}\n\tinit(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = {\n\t\t\t...getDefaults(),\n\t\t\t...this.options || {},\n\t\t\t...options\n\t\t};\n\t\tthis.allOptions = allOptions;\n\t\tif (this.services && this.options.reloadInterval) {\n\t\t\tconst timer = setInterval(() => this.reload(), this.options.reloadInterval);\n\t\t\tif (typeof timer === \"object\" && typeof timer.unref === \"function\") timer.unref();\n\t\t}\n\t}\n\treadMulti(languages, namespaces, callback) {\n\t\tthis._readAny(languages, languages, namespaces, namespaces, callback);\n\t}\n\tread(language, namespace, callback) {\n\t\tthis._readAny([language], language, [namespace], namespace, callback);\n\t}\n\t_readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n\t\tlet loadPath = this.options.loadPath;\n\t\tif (typeof this.options.loadPath === \"function\") loadPath = this.options.loadPath(languages, namespaces);\n\t\tloadPath = makePromise(loadPath);\n\t\tloadPath.then((resolvedLoadPath) => {\n\t\t\tif (!resolvedLoadPath) return callback(null, {});\n\t\t\tconst url = interpolateUrl(resolvedLoadPath, {\n\t\t\t\tlng: languages.join(\"+\"),\n\t\t\t\tns: namespaces.join(\"+\")\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tconst safeLngs = languages.map(sanitizeLogValue).join(\", \");\n\t\t\t\tconst safeNss = namespaces.map(sanitizeLogValue).join(\", \");\n\t\t\t\treturn callback(/* @__PURE__ */ new Error(\"i18next-http-backend: unsafe lng/ns value — refusing to build request URL for languages=[\" + safeLngs + \"] namespaces=[\" + safeNss + \"]\"), false);\n\t\t\t}\n\t\t\tthis.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n\t\t});\n\t}\n\tloadUrl(url, callback, languages, namespaces) {\n\t\tconst lng = typeof languages === \"string\" ? [languages] : languages;\n\t\tconst ns = typeof namespaces === \"string\" ? [namespaces] : namespaces;\n\t\tconst payload = this.options.parseLoadPayload(lng, ns);\n\t\tconst safeUrl = sanitizeLogValue(redactUrlCredentials(url));\n\t\tthis.options.request(this.options, url, payload, (err, res) => {\n\t\t\tif (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, true);\n\t\t\tif (res && res.status >= 400 && res.status < 500) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, false);\n\t\t\tif (!res && err && err.message) {\n\t\t\t\tconst errorMessage = err.message.toLowerCase();\n\t\t\t\tif ([\n\t\t\t\t\t\"failed\",\n\t\t\t\t\t\"fetch\",\n\t\t\t\t\t\"network\",\n\t\t\t\t\t\"load\"\n\t\t\t\t].find((term) => errorMessage.indexOf(term) > -1)) return callback(\"failed loading \" + safeUrl + \": \" + sanitizeLogValue(err.message), true);\n\t\t\t}\n\t\t\tif (err) return callback(err, false);\n\t\t\tlet ret, parseErr;\n\t\t\ttry {\n\t\t\t\tif (typeof res.data === \"string\") ret = this.options.parse(res.data, languages, namespaces);\n\t\t\t\telse ret = res.data;\n\t\t\t} catch (e) {\n\t\t\t\tparseErr = \"failed parsing \" + safeUrl + \" to json\";\n\t\t\t}\n\t\t\tif (parseErr) return callback(parseErr, false);\n\t\t\tcallback(null, ret);\n\t\t});\n\t}\n\tcreate(languages, namespace, key, fallbackValue, callback) {\n\t\tif (!this.options.addPath) return;\n\t\tif (typeof languages === \"string\") languages = [languages];\n\t\tconst payload = this.options.parsePayload(namespace, key, fallbackValue);\n\t\tlet finished = 0;\n\t\tconst dataArray = [];\n\t\tconst resArray = [];\n\t\tlanguages.forEach((lng) => {\n\t\t\tlet addPath = this.options.addPath;\n\t\t\tif (typeof this.options.addPath === \"function\") addPath = this.options.addPath(lng, namespace);\n\t\t\tconst url = interpolateUrl(addPath, {\n\t\t\t\tlng,\n\t\t\t\tns: namespace\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tfinished += 1;\n\t\t\t\tif (callback && finished === languages.length) callback(dataArray, resArray);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.options.request(this.options, url, payload, (data, res) => {\n\t\t\t\tfinished += 1;\n\t\t\t\tdataArray.push(data);\n\t\t\t\tresArray.push(res);\n\t\t\t\tif (finished === languages.length) {\n\t\t\t\t\tif (typeof callback === \"function\") callback(dataArray, resArray);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\treload() {\n\t\tconst { backendConnector, languageUtils, logger } = this.services;\n\t\tconst currentLanguage = backendConnector.language;\n\t\tif (currentLanguage && currentLanguage.toLowerCase() === \"cimode\") return;\n\t\tconst toLoad = [];\n\t\tconst append = (lng) => {\n\t\t\tlanguageUtils.toResolveHierarchy(lng).forEach((l) => {\n\t\t\t\tif (toLoad.indexOf(l) < 0) toLoad.push(l);\n\t\t\t});\n\t\t};\n\t\tappend(currentLanguage);\n\t\tif (this.allOptions.preload) this.allOptions.preload.forEach((l) => append(l));\n\t\ttoLoad.forEach((lng) => {\n\t\t\tthis.allOptions.ns.forEach((ns) => {\n\t\t\t\tbackendConnector.read(lng, ns, \"read\", null, null, (err, data) => {\n\t\t\t\t\tif (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err);\n\t\t\t\t\tif (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data);\n\t\t\t\t\tbackendConnector.loaded(`${lng}|${ns}`, err, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n};\nBackend.type = \"backend\";\n//#endregion\nexport { Backend as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import "./defaults.js";
2
+ import "./i18nInstance.js";
3
+ import "./initReactI18next.js";
4
+ import { createContext } from "react";
5
+ //#region node_modules/react-i18next/dist/es/context.js
6
+ var I18nContext = createContext();
7
+ var ReportNamespaces = class {
8
+ constructor() {
9
+ this.usedNamespaces = {};
10
+ }
11
+ addUsedNamespaces(namespaces) {
12
+ namespaces.forEach((ns) => {
13
+ if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;
14
+ });
15
+ }
16
+ getUsedNamespaces() {
17
+ return Object.keys(this.usedNamespaces);
18
+ }
19
+ };
20
+ //#endregion
21
+ export { I18nContext, ReportNamespaces };
22
+
23
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../../node_modules/react-i18next/dist/es/context.js"],"sourcesContent":["import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n if (!i18n) {\n console.warn('react-i18next:: getInitialProps: You will need to pass in an i18next instance by using initReactI18next');\n return {};\n }\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};"],"x_google_ignoreList":[0],"mappings":";;;;;AAKA,IAAa,cAAc,cAAc;AACzC,IAAa,mBAAb,MAA8B;CAC5B,cAAc;EACZ,KAAK,iBAAiB,CAAC;CACzB;CACA,kBAAkB,YAAY;EAC5B,WAAW,SAAQ,OAAM;GACvB,IAAI,CAAC,KAAK,eAAe,KAAK,KAAK,eAAe,MAAM;EAC1D,CAAC;CACH;CACA,oBAAoB;EAClB,OAAO,OAAO,KAAK,KAAK,cAAc;CACxC;AACF"}
@@ -0,0 +1,29 @@
1
+ import { unescape } from "./unescape.js";
2
+ //#region node_modules/react-i18next/dist/es/defaults.js
3
+ var defaultOptions = {
4
+ bindI18n: "languageChanged",
5
+ bindI18nStore: "",
6
+ transEmptyNodeValue: "",
7
+ transSupportBasicHtmlNodes: true,
8
+ transWrapTextNodes: "",
9
+ transKeepBasicHtmlNodesFor: [
10
+ "br",
11
+ "strong",
12
+ "i",
13
+ "p"
14
+ ],
15
+ useSuspense: true,
16
+ unescape,
17
+ transDefaultProps: void 0
18
+ };
19
+ var setDefaults = (options = {}) => {
20
+ defaultOptions = {
21
+ ...defaultOptions,
22
+ ...options
23
+ };
24
+ };
25
+ var getDefaults = () => defaultOptions;
26
+ //#endregion
27
+ export { getDefaults, setDefaults };
28
+
29
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","names":[],"sources":["../../../../../node_modules/react-i18next/dist/es/defaults.js"],"sourcesContent":["import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape,\n transDefaultProps: undefined\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;"],"x_google_ignoreList":[0],"mappings":";;AACA,IAAI,iBAAiB;CACnB,UAAU;CACV,eAAe;CACf,qBAAqB;CACrB,4BAA4B;CAC5B,oBAAoB;CACpB,4BAA4B;EAAC;EAAM;EAAU;EAAK;CAAG;CACrD,aAAa;CACb;CACA,mBAAmB,KAAA;AACrB;AACA,IAAa,eAAe,UAAU,CAAC,MAAM;CAC3C,iBAAiB;EACf,GAAG;EACH,GAAG;CACL;AACF;AACA,IAAa,oBAAoB"}
@@ -0,0 +1,10 @@
1
+ //#region node_modules/react-i18next/dist/es/i18nInstance.js
2
+ var i18nInstance;
3
+ var setI18n = (instance) => {
4
+ i18nInstance = instance;
5
+ };
6
+ var getI18n = () => i18nInstance;
7
+ //#endregion
8
+ export { getI18n, setI18n };
9
+
10
+ //# sourceMappingURL=i18nInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nInstance.js","names":[],"sources":["../../../../../node_modules/react-i18next/dist/es/i18nInstance.js"],"sourcesContent":["let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAI;AACJ,IAAa,WAAU,aAAY;CACjC,eAAe;AACjB;AACA,IAAa,gBAAgB"}
@@ -0,0 +1,14 @@
1
+ import { setDefaults } from "./defaults.js";
2
+ import { setI18n } from "./i18nInstance.js";
3
+ //#region node_modules/react-i18next/dist/es/initReactI18next.js
4
+ var initReactI18next = {
5
+ type: "3rdParty",
6
+ init(instance) {
7
+ setDefaults(instance.options.react);
8
+ setI18n(instance);
9
+ }
10
+ };
11
+ //#endregion
12
+ export { initReactI18next };
13
+
14
+ //# sourceMappingURL=initReactI18next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initReactI18next.js","names":[],"sources":["../../../../../node_modules/react-i18next/dist/es/initReactI18next.js"],"sourcesContent":["import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};"],"x_google_ignoreList":[0],"mappings":";;;AAEA,IAAa,mBAAmB;CAC9B,MAAM;CACN,KAAK,UAAU;EACb,YAAY,SAAS,QAAQ,KAAK;EAClC,QAAQ,QAAQ;CAClB;AACF"}
@@ -0,0 +1,30 @@
1
+ //#region node_modules/react-i18next/dist/es/unescape.js
2
+ var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
3
+ var htmlEntities = {
4
+ "&amp;": "&",
5
+ "&#38;": "&",
6
+ "&lt;": "<",
7
+ "&#60;": "<",
8
+ "&gt;": ">",
9
+ "&#62;": ">",
10
+ "&apos;": "'",
11
+ "&#39;": "'",
12
+ "&quot;": "\"",
13
+ "&#34;": "\"",
14
+ "&nbsp;": " ",
15
+ "&#160;": " ",
16
+ "&copy;": "©",
17
+ "&#169;": "©",
18
+ "&reg;": "®",
19
+ "&#174;": "®",
20
+ "&hellip;": "…",
21
+ "&#8230;": "…",
22
+ "&#x2F;": "/",
23
+ "&#47;": "/"
24
+ };
25
+ var unescapeHtmlEntity = (m) => htmlEntities[m];
26
+ var unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
27
+ //#endregion
28
+ export { unescape };
29
+
30
+ //# sourceMappingURL=unescape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unescape.js","names":[],"sources":["../../../../../node_modules/react-i18next/dist/es/unescape.js"],"sourcesContent":["const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAM,kBAAkB;AACxB,IAAM,eAAe;CACnB,SAAS;CACT,SAAS;CACT,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,SAAS;CACT,UAAU;CACV,SAAS;CACT,UAAU;CACV,SAAS;CACT,UAAU;CACV,UAAU;CACV,UAAU;CACV,UAAU;CACV,SAAS;CACT,UAAU;CACV,YAAY;CACZ,WAAW;CACX,UAAU;CACV,SAAS;AACX;AACA,IAAM,sBAAqB,MAAK,aAAa;AAC7C,IAAa,YAAW,SAAQ,KAAK,QAAQ,iBAAiB,kBAAkB"}