angular-intlayer 5.5.9 → 5.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 (262) hide show
  1. package/README.md +44 -11
  2. package/dist/cjs/UI/ContentSelector.component.cjs +141 -0
  3. package/dist/cjs/UI/ContentSelector.component.cjs.map +1 -0
  4. package/dist/cjs/client/index.cjs +13 -27
  5. package/dist/cjs/client/index.cjs.map +1 -1
  6. package/dist/cjs/client/installIntlayer.cjs +72 -0
  7. package/dist/cjs/client/installIntlayer.cjs.map +1 -0
  8. package/dist/cjs/client/{getDictionary.cjs → useDictionary.cjs} +15 -19
  9. package/dist/cjs/client/useDictionary.cjs.map +1 -0
  10. package/dist/cjs/client/useDictionaryDynamic.cjs +42 -0
  11. package/dist/cjs/client/useDictionaryDynamic.cjs.map +1 -0
  12. package/dist/cjs/client/{getBrowserLocale.cjs → useIntlayer.cjs} +17 -11
  13. package/dist/cjs/client/useIntlayer.cjs.map +1 -0
  14. package/dist/cjs/client/{intlayer.service.cjs → useLoadDynamic.cjs} +21 -19
  15. package/dist/cjs/client/useLoadDynamic.cjs.map +1 -0
  16. package/dist/cjs/client/useLocale.cjs +69 -0
  17. package/dist/cjs/client/useLocale.cjs.map +1 -0
  18. package/dist/cjs/client/useLocaleCookie.cjs +60 -0
  19. package/dist/cjs/client/useLocaleCookie.cjs.map +1 -0
  20. package/dist/cjs/editor/ContentSelectorWrapper.component.cjs +73 -0
  21. package/dist/cjs/editor/ContentSelectorWrapper.component.cjs.map +1 -0
  22. package/dist/cjs/editor/EditedContentRenderer.component.cjs +77 -0
  23. package/dist/cjs/editor/EditedContentRenderer.component.cjs.map +1 -0
  24. package/dist/cjs/editor/EditorSelectorRenderer.component.cjs +58 -0
  25. package/dist/cjs/editor/EditorSelectorRenderer.component.cjs.map +1 -0
  26. package/dist/cjs/editor/changedContent.cjs +62 -0
  27. package/dist/cjs/editor/changedContent.cjs.map +1 -0
  28. package/dist/cjs/editor/communicator.cjs +82 -0
  29. package/dist/cjs/editor/communicator.cjs.map +1 -0
  30. package/dist/cjs/editor/configuration.cjs +57 -0
  31. package/dist/cjs/editor/configuration.cjs.map +1 -0
  32. package/dist/cjs/editor/createSharedComposable.cjs +68 -0
  33. package/dist/cjs/editor/createSharedComposable.cjs.map +1 -0
  34. package/dist/cjs/editor/dictionariesRecord.cjs +83 -0
  35. package/dist/cjs/editor/dictionariesRecord.cjs.map +1 -0
  36. package/dist/cjs/editor/editedContent.cjs +77 -0
  37. package/dist/cjs/editor/editedContent.cjs.map +1 -0
  38. package/dist/cjs/editor/editorEnabled.cjs +76 -0
  39. package/dist/cjs/editor/editorEnabled.cjs.map +1 -0
  40. package/dist/cjs/editor/editorLocale.cjs +47 -0
  41. package/dist/cjs/editor/editorLocale.cjs.map +1 -0
  42. package/dist/cjs/editor/focusDictionary.cjs +80 -0
  43. package/dist/cjs/editor/focusDictionary.cjs.map +1 -0
  44. package/dist/cjs/editor/index.cjs +38 -0
  45. package/dist/cjs/editor/index.cjs.map +1 -0
  46. package/dist/cjs/editor/installIntlayerEditor.cjs +72 -0
  47. package/dist/cjs/editor/installIntlayerEditor.cjs.map +1 -0
  48. package/dist/cjs/editor/useCrossFrameMessageListener.cjs +83 -0
  49. package/dist/cjs/editor/useCrossFrameMessageListener.cjs.map +1 -0
  50. package/dist/cjs/editor/useCrossFrameState.cjs +95 -0
  51. package/dist/cjs/editor/useCrossFrameState.cjs.map +1 -0
  52. package/dist/cjs/editor/useCrossURLPathState.cjs +72 -0
  53. package/dist/cjs/editor/useCrossURLPathState.cjs.map +1 -0
  54. package/dist/cjs/editor/useEditedContentRenderer.cjs +58 -0
  55. package/dist/cjs/editor/useEditedContentRenderer.cjs.map +1 -0
  56. package/dist/cjs/editor/useEditor.cjs +46 -0
  57. package/dist/cjs/editor/useEditor.cjs.map +1 -0
  58. package/dist/cjs/editor/useIframeClickInterceptor.cjs +62 -0
  59. package/dist/cjs/editor/useIframeClickInterceptor.cjs.map +1 -0
  60. package/dist/cjs/getDictionary.cjs +15 -2
  61. package/dist/cjs/getDictionary.cjs.map +1 -1
  62. package/dist/cjs/getIntlayer.cjs +9 -2
  63. package/dist/cjs/getIntlayer.cjs.map +1 -1
  64. package/dist/cjs/markdown/index.cjs +3 -16
  65. package/dist/cjs/markdown/index.cjs.map +1 -1
  66. package/dist/cjs/markdown/installIntlayerMarkdown.cjs +66 -0
  67. package/dist/cjs/markdown/installIntlayerMarkdown.cjs.map +1 -0
  68. package/dist/cjs/plugins.cjs +27 -18
  69. package/dist/cjs/plugins.cjs.map +1 -1
  70. package/dist/cjs/renderIntlayerNode.cjs +58 -0
  71. package/dist/cjs/renderIntlayerNode.cjs.map +1 -0
  72. package/dist/cjs/{client/getLocale.cjs → webpack/index.cjs} +6 -14
  73. package/dist/cjs/webpack/index.cjs.map +1 -0
  74. package/dist/cjs/webpack/mergeConfig.cjs +83 -0
  75. package/dist/cjs/webpack/mergeConfig.cjs.map +1 -0
  76. package/dist/esm/UI/ContentSelector.component.mjs +126 -0
  77. package/dist/esm/UI/ContentSelector.component.mjs.map +1 -0
  78. package/dist/esm/client/index.mjs +6 -16
  79. package/dist/esm/client/index.mjs.map +1 -1
  80. package/dist/esm/client/installIntlayer.mjs +35 -0
  81. package/dist/esm/client/installIntlayer.mjs.map +1 -0
  82. package/dist/esm/client/useDictionary.mjs +15 -0
  83. package/dist/esm/client/useDictionary.mjs.map +1 -0
  84. package/dist/esm/client/useDictionaryDynamic.mjs +18 -0
  85. package/dist/esm/client/useDictionaryDynamic.mjs.map +1 -0
  86. package/dist/esm/client/useIntlayer.mjs +15 -0
  87. package/dist/esm/client/useIntlayer.mjs.map +1 -0
  88. package/dist/esm/client/useLoadDynamic.mjs +21 -0
  89. package/dist/esm/client/useLoadDynamic.mjs.map +1 -0
  90. package/dist/esm/client/useLocale.mjs +35 -0
  91. package/dist/esm/client/useLocale.mjs.map +1 -0
  92. package/dist/esm/client/useLocaleCookie.mjs +24 -0
  93. package/dist/esm/client/useLocaleCookie.mjs.map +1 -0
  94. package/dist/esm/editor/ContentSelectorWrapper.component.mjs +49 -0
  95. package/dist/esm/editor/ContentSelectorWrapper.component.mjs.map +1 -0
  96. package/dist/esm/editor/EditedContentRenderer.component.mjs +53 -0
  97. package/dist/esm/editor/EditedContentRenderer.component.mjs.map +1 -0
  98. package/dist/esm/editor/EditorSelectorRenderer.component.mjs +34 -0
  99. package/dist/esm/editor/EditorSelectorRenderer.component.mjs.map +1 -0
  100. package/dist/esm/editor/changedContent.mjs +36 -0
  101. package/dist/esm/editor/changedContent.mjs.map +1 -0
  102. package/dist/esm/editor/communicator.mjs +46 -0
  103. package/dist/esm/editor/communicator.mjs.map +1 -0
  104. package/dist/esm/editor/configuration.mjs +23 -0
  105. package/dist/esm/editor/configuration.mjs.map +1 -0
  106. package/dist/esm/editor/createSharedComposable.mjs +43 -0
  107. package/dist/esm/editor/createSharedComposable.mjs.map +1 -0
  108. package/dist/esm/editor/dictionariesRecord.mjs +47 -0
  109. package/dist/esm/editor/dictionariesRecord.mjs.map +1 -0
  110. package/dist/esm/editor/editedContent.mjs +51 -0
  111. package/dist/esm/editor/editedContent.mjs.map +1 -0
  112. package/dist/esm/editor/editorEnabled.mjs +50 -0
  113. package/dist/esm/editor/editorEnabled.mjs.map +1 -0
  114. package/dist/esm/editor/editorLocale.mjs +23 -0
  115. package/dist/esm/editor/editorLocale.mjs.map +1 -0
  116. package/dist/esm/editor/focusDictionary.mjs +54 -0
  117. package/dist/esm/editor/focusDictionary.mjs.map +1 -0
  118. package/dist/esm/editor/index.mjs +10 -0
  119. package/dist/esm/editor/index.mjs.map +1 -0
  120. package/dist/esm/editor/installIntlayerEditor.mjs +38 -0
  121. package/dist/esm/editor/installIntlayerEditor.mjs.map +1 -0
  122. package/dist/esm/editor/useCrossFrameMessageListener.mjs +59 -0
  123. package/dist/esm/editor/useCrossFrameMessageListener.mjs.map +1 -0
  124. package/dist/esm/editor/useCrossFrameState.mjs +71 -0
  125. package/dist/esm/editor/useCrossFrameState.mjs.map +1 -0
  126. package/dist/esm/editor/useCrossURLPathState.mjs +47 -0
  127. package/dist/esm/editor/useCrossURLPathState.mjs.map +1 -0
  128. package/dist/esm/editor/useEditedContentRenderer.mjs +37 -0
  129. package/dist/esm/editor/useEditedContentRenderer.mjs.map +1 -0
  130. package/dist/esm/editor/useEditor.mjs +22 -0
  131. package/dist/esm/editor/useEditor.mjs.map +1 -0
  132. package/dist/esm/editor/useIframeClickInterceptor.mjs +37 -0
  133. package/dist/esm/editor/useIframeClickInterceptor.mjs.map +1 -0
  134. package/dist/esm/getDictionary.mjs +19 -1
  135. package/dist/esm/getDictionary.mjs.map +1 -1
  136. package/dist/esm/getIntlayer.mjs +14 -2
  137. package/dist/esm/getIntlayer.mjs.map +1 -1
  138. package/dist/esm/markdown/index.mjs +1 -10
  139. package/dist/esm/markdown/index.mjs.map +1 -1
  140. package/dist/esm/markdown/installIntlayerMarkdown.mjs +39 -0
  141. package/dist/esm/markdown/installIntlayerMarkdown.mjs.map +1 -0
  142. package/dist/esm/plugins.mjs +27 -17
  143. package/dist/esm/plugins.mjs.map +1 -1
  144. package/dist/esm/renderIntlayerNode.mjs +34 -0
  145. package/dist/esm/renderIntlayerNode.mjs.map +1 -0
  146. package/dist/esm/webpack/index.mjs +2 -0
  147. package/dist/esm/webpack/index.mjs.map +1 -0
  148. package/dist/esm/webpack/mergeConfig.mjs +49 -0
  149. package/dist/esm/webpack/mergeConfig.mjs.map +1 -0
  150. package/dist/types/UI/ContentSelector.component.d.ts +32 -0
  151. package/dist/types/UI/ContentSelector.component.d.ts.map +1 -0
  152. package/dist/types/client/index.d.ts +6 -7
  153. package/dist/types/client/index.d.ts.map +1 -1
  154. package/dist/types/client/installIntlayer.d.ts +17 -0
  155. package/dist/types/client/installIntlayer.d.ts.map +1 -0
  156. package/dist/types/client/useDictionary.d.ts +5 -0
  157. package/dist/types/client/useDictionary.d.ts.map +1 -0
  158. package/dist/types/client/useDictionaryDynamic.d.ts +9 -0
  159. package/dist/types/client/useDictionaryDynamic.d.ts.map +1 -0
  160. package/dist/types/client/useIntlayer.d.ts +10 -0
  161. package/dist/types/client/useIntlayer.d.ts.map +1 -0
  162. package/dist/types/client/useLoadDynamic.d.ts +8 -0
  163. package/dist/types/client/useLoadDynamic.d.ts.map +1 -0
  164. package/dist/types/client/useLocale.d.ts +15 -0
  165. package/dist/types/client/useLocale.d.ts.map +1 -0
  166. package/dist/types/client/useLocaleCookie.d.ts +17 -0
  167. package/dist/types/client/useLocaleCookie.d.ts.map +1 -0
  168. package/dist/types/editor/ContentSelectorWrapper.component.d.ts +19 -0
  169. package/dist/types/editor/ContentSelectorWrapper.component.d.ts.map +1 -0
  170. package/dist/types/editor/EditedContentRenderer.component.d.ts +19 -0
  171. package/dist/types/editor/EditedContentRenderer.component.d.ts.map +1 -0
  172. package/dist/types/editor/EditorSelectorRenderer.component.d.ts +13 -0
  173. package/dist/types/editor/EditorSelectorRenderer.component.d.ts.map +1 -0
  174. package/dist/types/editor/changedContent.d.ts +14 -0
  175. package/dist/types/editor/changedContent.d.ts.map +1 -0
  176. package/dist/types/editor/communicator.d.ts +28 -0
  177. package/dist/types/editor/communicator.d.ts.map +1 -0
  178. package/dist/types/editor/configuration.d.ts +2 -0
  179. package/dist/types/editor/configuration.d.ts.map +1 -0
  180. package/dist/types/editor/createSharedComposable.d.ts +14 -0
  181. package/dist/types/editor/createSharedComposable.d.ts.map +1 -0
  182. package/dist/types/editor/dictionariesRecord.d.ts +16 -0
  183. package/dist/types/editor/dictionariesRecord.d.ts.map +1 -0
  184. package/dist/types/editor/editedContent.d.ts +19 -0
  185. package/dist/types/editor/editedContent.d.ts.map +1 -0
  186. package/dist/types/editor/editorEnabled.d.ts +16 -0
  187. package/dist/types/editor/editorEnabled.d.ts.map +1 -0
  188. package/dist/types/editor/editorLocale.d.ts +3 -0
  189. package/dist/types/editor/editorLocale.d.ts.map +1 -0
  190. package/dist/types/editor/focusDictionary.d.ts +24 -0
  191. package/dist/types/editor/focusDictionary.d.ts.map +1 -0
  192. package/dist/types/editor/index.d.ts +5 -0
  193. package/dist/types/editor/index.d.ts.map +1 -0
  194. package/dist/types/editor/installIntlayerEditor.d.ts +18 -0
  195. package/dist/types/editor/installIntlayerEditor.d.ts.map +1 -0
  196. package/dist/types/editor/useCrossFrameMessageListener.d.ts +11 -0
  197. package/dist/types/editor/useCrossFrameMessageListener.d.ts.map +1 -0
  198. package/dist/types/editor/useCrossFrameState.d.ts +24 -0
  199. package/dist/types/editor/useCrossFrameState.d.ts.map +1 -0
  200. package/dist/types/editor/useCrossURLPathState.d.ts +16 -0
  201. package/dist/types/editor/useCrossURLPathState.d.ts.map +1 -0
  202. package/dist/types/editor/useEditedContentRenderer.d.ts +17 -0
  203. package/dist/types/editor/useEditedContentRenderer.d.ts.map +1 -0
  204. package/dist/types/editor/useEditor.d.ts +2 -0
  205. package/dist/types/editor/useEditor.d.ts.map +1 -0
  206. package/dist/types/editor/useIframeClickInterceptor.d.ts +11 -0
  207. package/dist/types/editor/useIframeClickInterceptor.d.ts.map +1 -0
  208. package/dist/types/getDictionary.d.ts +4 -1
  209. package/dist/types/getDictionary.d.ts.map +1 -1
  210. package/dist/types/getIntlayer.d.ts +4 -6
  211. package/dist/types/getIntlayer.d.ts.map +1 -1
  212. package/dist/types/markdown/index.d.ts +1 -4
  213. package/dist/types/markdown/index.d.ts.map +1 -1
  214. package/dist/types/markdown/installIntlayerMarkdown.d.ts +26 -0
  215. package/dist/types/markdown/installIntlayerMarkdown.d.ts.map +1 -0
  216. package/dist/types/plugins.d.ts +0 -9
  217. package/dist/types/plugins.d.ts.map +1 -1
  218. package/dist/types/renderIntlayerNode.d.ts +13 -0
  219. package/dist/types/renderIntlayerNode.d.ts.map +1 -0
  220. package/dist/types/webpack/index.d.ts +2 -0
  221. package/dist/types/webpack/index.d.ts.map +1 -0
  222. package/dist/types/webpack/mergeConfig.d.ts +3 -0
  223. package/dist/types/webpack/mergeConfig.d.ts.map +1 -0
  224. package/package.json +27 -11
  225. package/dist/cjs/client/dictionary.service.cjs +0 -70
  226. package/dist/cjs/client/dictionary.service.cjs.map +0 -1
  227. package/dist/cjs/client/getBrowserLocale.cjs.map +0 -1
  228. package/dist/cjs/client/getDictionary.cjs.map +0 -1
  229. package/dist/cjs/client/getLocale.cjs.map +0 -1
  230. package/dist/cjs/client/intlayer.service.cjs.map +0 -1
  231. package/dist/cjs/client/locale.service.cjs +0 -66
  232. package/dist/cjs/client/locale.service.cjs.map +0 -1
  233. package/dist/cjs/client/t.cjs +0 -32
  234. package/dist/cjs/client/t.cjs.map +0 -1
  235. package/dist/esm/client/dictionary.service.mjs +0 -46
  236. package/dist/esm/client/dictionary.service.mjs.map +0 -1
  237. package/dist/esm/client/getBrowserLocale.mjs +0 -10
  238. package/dist/esm/client/getBrowserLocale.mjs.map +0 -1
  239. package/dist/esm/client/getDictionary.mjs +0 -25
  240. package/dist/esm/client/getDictionary.mjs.map +0 -1
  241. package/dist/esm/client/getLocale.mjs +0 -7
  242. package/dist/esm/client/getLocale.mjs.map +0 -1
  243. package/dist/esm/client/intlayer.service.mjs +0 -19
  244. package/dist/esm/client/intlayer.service.mjs.map +0 -1
  245. package/dist/esm/client/locale.service.mjs +0 -42
  246. package/dist/esm/client/locale.service.mjs.map +0 -1
  247. package/dist/esm/client/t.mjs +0 -8
  248. package/dist/esm/client/t.mjs.map +0 -1
  249. package/dist/types/client/dictionary.service.d.ts +0 -21
  250. package/dist/types/client/dictionary.service.d.ts.map +0 -1
  251. package/dist/types/client/getBrowserLocale.d.ts +0 -6
  252. package/dist/types/client/getBrowserLocale.d.ts.map +0 -1
  253. package/dist/types/client/getDictionary.d.ts +0 -8
  254. package/dist/types/client/getDictionary.d.ts.map +0 -1
  255. package/dist/types/client/getLocale.d.ts +0 -7
  256. package/dist/types/client/getLocale.d.ts.map +0 -1
  257. package/dist/types/client/intlayer.service.d.ts +0 -8
  258. package/dist/types/client/intlayer.service.d.ts.map +0 -1
  259. package/dist/types/client/locale.service.d.ts +0 -12
  260. package/dist/types/client/locale.service.d.ts.map +0 -1
  261. package/dist/types/client/t.d.ts +0 -8
  262. package/dist/types/client/t.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/markdown/index.ts"],"sourcesContent":["// Basic markdown support for Angular\n// This could be extended with Angular-specific markdown components\n\nexport const renderMarkdown = (content: string): string => {\n // Basic implementation - in a real app this might use a markdown library\n return content;\n};\n\nexport const MarkdownModule = {\n renderMarkdown,\n};\n"],"mappings":"AAGO,MAAM,iBAAiB,CAAC,YAA4B;AAEzD,SAAO;AACT;AAEO,MAAM,iBAAiB;AAAA,EAC5B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/markdown/index.ts"],"sourcesContent":["export * from './installIntlayerMarkdown';\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,39 @@
1
+ import { inject, Injectable, InjectionToken } from "@angular/core";
2
+ const INTLAYER_MARKDOWN_TOKEN = new InjectionToken("intlayerMarkdown");
3
+ const defaultMarkdownRenderer = (markdown) => markdown;
4
+ const createIntlayerMarkdownProvider = (renderMarkdown = defaultMarkdownRenderer) => ({
5
+ provide: INTLAYER_MARKDOWN_TOKEN,
6
+ useValue: {
7
+ renderMarkdown
8
+ }
9
+ });
10
+ @Injectable({
11
+ providedIn: "root"
12
+ })
13
+ class IntlayerMarkdownService {
14
+ markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, {
15
+ optional: true
16
+ });
17
+ renderMarkdown(markdown) {
18
+ if (!this.markdownProvider) {
19
+ return markdown;
20
+ }
21
+ return this.markdownProvider.renderMarkdown(markdown);
22
+ }
23
+ }
24
+ const useMarkdown = () => {
25
+ const markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, { optional: true });
26
+ if (!markdownProvider) {
27
+ return {
28
+ renderMarkdown: defaultMarkdownRenderer
29
+ };
30
+ }
31
+ return markdownProvider;
32
+ };
33
+ export {
34
+ INTLAYER_MARKDOWN_TOKEN,
35
+ IntlayerMarkdownService,
36
+ createIntlayerMarkdownProvider,
37
+ useMarkdown
38
+ };
39
+ //# sourceMappingURL=installIntlayerMarkdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/markdown/installIntlayerMarkdown.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const INTLAYER_MARKDOWN_TOKEN =\n new InjectionToken<IntlayerMarkdownProvider>('intlayerMarkdown');\n\ntype RenderMarkdownFunction = (markdown: string) => string | TemplateRef<any>;\n\nexport type IntlayerMarkdownProvider = {\n renderMarkdown: RenderMarkdownFunction;\n};\n\n/**\n * Default markdown renderer that returns the markdown as is\n */\nconst defaultMarkdownRenderer: RenderMarkdownFunction = (markdown: string) =>\n markdown;\n\n/**\n * Create IntlayerMarkdown provider configuration\n */\nexport const createIntlayerMarkdownProvider = (\n renderMarkdown: RenderMarkdownFunction = defaultMarkdownRenderer\n) => ({\n provide: INTLAYER_MARKDOWN_TOKEN,\n useValue: {\n renderMarkdown,\n } as IntlayerMarkdownProvider,\n});\n\n/**\n * Injectable service for markdown rendering\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class IntlayerMarkdownService {\n private markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, {\n optional: true,\n });\n\n renderMarkdown(markdown: string): string | TemplateRef<any> {\n if (!this.markdownProvider) {\n return markdown; // Fallback to returning markdown as is\n }\n return this.markdownProvider.renderMarkdown(markdown);\n }\n}\n\n/**\n * Function to inject markdown provider\n */\nexport const useMarkdown = (): IntlayerMarkdownProvider => {\n const markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, { optional: true });\n\n if (!markdownProvider) {\n return {\n renderMarkdown: defaultMarkdownRenderer,\n };\n }\n\n return markdownProvider;\n};\n"],"mappings":"AAAA,SAAS,QAAQ,YAAY,sBAAmC;AAEzD,MAAM,0BACX,IAAI,eAAyC,kBAAkB;AAWjE,MAAM,0BAAkD,CAAC,aACvD;AAKK,MAAM,iCAAiC,CAC5C,iBAAyC,6BACrC;AAAA,EACJ,SAAS;AAAA,EACT,UAAU;AAAA,IACR;AAAA,EACF;AACF;AAKA,CAAC,WAAW;AAAA,EACV,YAAY;AACd,CAAC;AACM,MAAM,wBAAwB;AAAA,EAC3B,mBAAmB,OAAO,yBAAyB;AAAA,IACzD,UAAU;AAAA,EACZ,CAAC;AAAA,EAED,eAAe,UAA6C;AAC1D,QAAI,CAAC,KAAK,kBAAkB;AAC1B,aAAO;AAAA,IACT;AACA,WAAO,KAAK,iBAAiB,eAAe,QAAQ;AAAA,EACtD;AACF;AAKO,MAAM,cAAc,MAAgC;AACzD,QAAM,mBAAmB,OAAO,yBAAyB,EAAE,UAAU,KAAK,CAAC;AAE3E,MAAI,CAAC,kBAAkB;AACrB,WAAO;AAAA,MACL,gBAAgB;AAAA,IAClB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -2,22 +2,23 @@ import {
2
2
  getMarkdownMetadata,
3
3
  NodeType
4
4
  } from "@intlayer/core";
5
+ import { ContentSelectorWrapperComponent } from "./editor/index.mjs";
6
+ import { useMarkdown } from "./markdown/installIntlayerMarkdown.mjs";
7
+ import { renderIntlayerNode } from "./renderIntlayerNode.mjs";
5
8
  const intlayerNodePlugins = {
6
9
  id: "intlayer-node-plugin",
7
10
  canHandle: (node) => typeof node === "bigint" || typeof node === "string" || typeof node === "number",
8
- transform: (_node, { children, ...rest }) => ({
11
+ transform: (_node, { children, ...rest }) => renderIntlayerNode({
9
12
  ...rest,
10
13
  value: children,
11
- children
12
- })
13
- };
14
- const angularTemplatePlugin = {
15
- id: "angular-template-plugin",
16
- canHandle: (node) => typeof node === "object" && node && typeof node.createEmbeddedView === "function",
17
- transform: (node, { plugins, ...rest }) => ({
18
- ...rest,
19
- value: "[[angular-template]]",
20
- children: node
14
+ children: () => ({
15
+ component: ContentSelectorWrapperComponent,
16
+ props: {
17
+ dictionaryKey: rest.dictionaryKey,
18
+ keyPath: rest.keyPath
19
+ },
20
+ children
21
+ })
21
22
  })
22
23
  };
23
24
  const markdownStringPlugin = {
@@ -26,14 +27,14 @@ const markdownStringPlugin = {
26
27
  transform: (node, props, deepTransformNode) => {
27
28
  const {
28
29
  plugins,
29
- // Removed to avoid circular dependencies
30
+ // Removed to avoid next error - Functions cannot be passed directly to Client Components
30
31
  ...rest
31
32
  } = props;
32
33
  const metadata = getMarkdownMetadata(node);
33
34
  const metadataPlugins = {
34
35
  id: "markdown-metadata-plugin",
35
36
  canHandle: (metadataNode) => typeof metadataNode === "string" || typeof metadataNode === "number" || typeof metadataNode === "boolean" || !metadataNode,
36
- transform: (metadataNode, props2) => ({
37
+ transform: (metadataNode, props2) => renderIntlayerNode({
37
38
  ...props2,
38
39
  value: metadataNode,
39
40
  children: node
@@ -44,14 +45,24 @@ const markdownStringPlugin = {
44
45
  dictionaryKey: rest.dictionaryKey,
45
46
  keyPath: []
46
47
  });
47
- return {
48
+ return renderIntlayerNode({
48
49
  ...props,
49
50
  value: node,
50
- children: node,
51
+ children: () => ({
52
+ component: ContentSelectorWrapperComponent,
53
+ props: {
54
+ dictionaryKey: rest.dictionaryKey,
55
+ keyPath: rest.keyPath
56
+ },
57
+ children: () => {
58
+ const { renderMarkdown } = useMarkdown();
59
+ return renderMarkdown(node);
60
+ }
61
+ }),
51
62
  additionalProps: {
52
63
  metadata: metadataNodes
53
64
  }
54
- };
65
+ });
55
66
  }
56
67
  };
57
68
  const markdownPlugin = {
@@ -74,7 +85,6 @@ const markdownPlugin = {
74
85
  }
75
86
  };
76
87
  export {
77
- angularTemplatePlugin,
78
88
  intlayerNodePlugins,
79
89
  markdownPlugin,
80
90
  markdownStringPlugin
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugins.ts"],"sourcesContent":["import type { TemplateRef } from '@angular/core';\nimport {\n getMarkdownMetadata,\n KeyPath,\n MarkdownContent,\n NodeType,\n type DeepTransformContent as DeepTransformContentCore,\n type IInterpreterPluginState as IInterpreterPluginStateCore,\n type Plugins,\n} from '@intlayer/core';\n\n/** ---------------------------------------------\n * INTLAYER NODE PLUGIN\n * --------------------------------------------- */\n\nexport type IntlayerNodeCond<T> = T extends number | string\n ? IntlayerNode<T>\n : never;\n\nexport interface IntlayerNode<T, P = {}> {\n value: T;\n children?: any;\n additionalProps?: P;\n}\n\n/** Translation plugin. Replaces node with a locale string if nodeType = Translation. */\nexport const intlayerNodePlugins: Plugins = {\n id: 'intlayer-node-plugin',\n canHandle: (node) =>\n typeof node === 'bigint' ||\n typeof node === 'string' ||\n typeof node === 'number',\n transform: (_node, { children, ...rest }) => ({\n ...rest,\n value: children,\n children,\n }),\n};\n\n/** ---------------------------------------------\n * ANGULAR TEMPLATE PLUGIN\n * --------------------------------------------- */\n\nexport type AngularTemplateCond<T> =\n T extends TemplateRef<any> ? TemplateRef<any> : never;\n\n/** Angular template plugin. Handles Angular TemplateRef objects. */\nexport const angularTemplatePlugin: Plugins = {\n id: 'angular-template-plugin',\n canHandle: (node) =>\n typeof node === 'object' &&\n node &&\n typeof node.createEmbeddedView === 'function',\n transform: (node, { plugins, ...rest }) => ({\n ...rest,\n value: '[[angular-template]]',\n children: node,\n }),\n};\n\n/**\n * MARKDOWN PLUGIN\n */\n\nexport type MarkdownStringCond<T> = T extends string\n ? IntlayerNode<string, { metadata: DeepTransformContent<string> }>\n : never;\n\n/** Markdown string plugin. Replaces string node with a component that render the markdown. */\nexport const markdownStringPlugin: Plugins = {\n id: 'markdown-string-plugin',\n canHandle: (node) => typeof node === 'string',\n transform: (node: string, props, deepTransformNode) => {\n const {\n plugins, // Removed to avoid circular dependencies\n ...rest\n } = props;\n\n const metadata = getMarkdownMetadata(node);\n\n const metadataPlugins: Plugins = {\n id: 'markdown-metadata-plugin',\n canHandle: (metadataNode) =>\n typeof metadataNode === 'string' ||\n typeof metadataNode === 'number' ||\n typeof metadataNode === 'boolean' ||\n !metadataNode,\n transform: (metadataNode, props) => ({\n ...props,\n value: metadataNode,\n children: node,\n }),\n };\n\n // Transform metadata while keeping the same structure\n const metadataNodes = deepTransformNode(metadata, {\n plugins: [metadataPlugins],\n dictionaryKey: rest.dictionaryKey,\n keyPath: [],\n });\n\n return {\n ...props,\n value: node,\n children: node,\n additionalProps: {\n metadata: metadataNodes,\n },\n };\n },\n};\n\nexport type MarkdownCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeType.Markdown]: infer M;\n metadata?: infer U;\n}\n ? IntlayerNode<DeepTransformContent<M>, { metadata: DeepTransformContent<U> }>\n : never;\n\nexport const markdownPlugin: Plugins = {\n id: 'markdown-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeType.Markdown,\n transform: (node: MarkdownContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n {\n type: NodeType.Markdown,\n },\n ];\n\n const children = node[NodeType.Markdown];\n\n return deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [markdownStringPlugin, ...(props.plugins ?? [])],\n });\n },\n};\n\n/** ---------------------------------------------\n * PLUGINS RESULT\n * --------------------------------------------- */\n\nexport interface IInterpreterPluginAngular<T> {\n angularTemplate: AngularTemplateCond<T>;\n intlayerNode: IntlayerNodeCond<T>;\n markdown: MarkdownCond<T>;\n}\n\n/**\n * Insert this type as param of `DeepTransformContent` to avoid `intlayer` package pollution.\n *\n * Otherwise the the `angular-intlayer` plugins will override the types of `intlayer` functions.\n */\nexport type IInterpreterPluginState = IInterpreterPluginStateCore & {\n angularTemplate: true;\n intlayerNode: true;\n markdown: true;\n};\n\nexport type DeepTransformContent<T> = DeepTransformContentCore<\n T,\n IInterpreterPluginState\n>;\n"],"mappings":"AACA;AAAA,EACE;AAAA,EAGA;AAAA,OAIK;AAiBA,MAAM,sBAA+B;AAAA,EAC1C,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAChB,OAAO,SAAS,YAChB,OAAO,SAAS;AAAA,EAClB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,OAAO;AAAA,IAC5C,GAAG;AAAA,IACH,OAAO;AAAA,IACP;AAAA,EACF;AACF;AAUO,MAAM,wBAAiC;AAAA,EAC5C,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAChB,QACA,OAAO,KAAK,uBAAuB;AAAA,EACrC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,OAAO;AAAA,IAC1C,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF;AAWO,MAAM,uBAAgC;AAAA,EAC3C,IAAI;AAAA,EACJ,WAAW,CAAC,SAAS,OAAO,SAAS;AAAA,EACrC,WAAW,CAAC,MAAc,OAAO,sBAAsB;AACrD,UAAM;AAAA,MACJ;AAAA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AAEJ,UAAM,WAAW,oBAAoB,IAAI;AAEzC,UAAM,kBAA2B;AAAA,MAC/B,IAAI;AAAA,MACJ,WAAW,CAAC,iBACV,OAAO,iBAAiB,YACxB,OAAO,iBAAiB,YACxB,OAAO,iBAAiB,aACxB,CAAC;AAAA,MACH,WAAW,CAAC,cAAcA,YAAW;AAAA,QACnC,GAAGA;AAAA,QACH,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IACF;AAGA,UAAM,gBAAgB,kBAAkB,UAAU;AAAA,MAChD,SAAS,CAAC,eAAe;AAAA,MACzB,eAAe,KAAK;AAAA,MACpB,SAAS,CAAC;AAAA,IACZ,CAAC;AAED,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,MACP,UAAU;AAAA,MACV,iBAAiB;AAAA,QACf,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AACF;AAUO,MAAM,iBAA0B;AAAA,EACrC,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAAY,MAAM,aAAa,SAAS;AAAA,EAC1D,WAAW,CAAC,MAAuB,OAAO,sBAAsB;AAC9D,UAAM,aAAwB;AAAA,MAC5B,GAAG,MAAM;AAAA,MACT;AAAA,QACE,MAAM,SAAS;AAAA,MACjB;AAAA,IACF;AAEA,UAAM,WAAW,KAAK,SAAS,QAAQ;AAEvC,WAAO,kBAAkB,UAAU;AAAA,MACjC,GAAG;AAAA,MACH;AAAA,MACA,SAAS;AAAA,MACT,SAAS,CAAC,sBAAsB,GAAI,MAAM,WAAW,CAAC,CAAE;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;","names":["props"]}
1
+ {"version":3,"sources":["../../src/plugins.ts"],"sourcesContent":["import {\n getMarkdownMetadata,\n KeyPath,\n MarkdownContent,\n NodeType,\n type DeepTransformContent as DeepTransformContentCore,\n type IInterpreterPluginState as IInterpreterPluginStateCore,\n type Plugins,\n} from '@intlayer/core';\nimport { ContentSelectorWrapperComponent } from './editor';\nimport { useMarkdown } from './markdown/installIntlayerMarkdown';\nimport { renderIntlayerNode } from './renderIntlayerNode';\n\n/** ---------------------------------------------\n * INTLAYER NODE PLUGIN\n * --------------------------------------------- */\n\nexport type IntlayerNodeCond<T> = T extends number | string\n ? IntlayerNode<T>\n : never;\n\nexport interface IntlayerNode<T, P = {}> {\n value: T;\n children?: any;\n additionalProps?: P;\n}\n\n/** Translation plugin. Replaces node with a locale string if nodeType = Translation. */\nexport const intlayerNodePlugins: Plugins = {\n id: 'intlayer-node-plugin',\n canHandle: (node) =>\n typeof node === 'bigint' ||\n typeof node === 'string' ||\n typeof node === 'number',\n transform: (_node, { children, ...rest }) =>\n renderIntlayerNode({\n ...rest,\n value: children,\n children: () => ({\n component: ContentSelectorWrapperComponent,\n props: {\n dictionaryKey: rest.dictionaryKey,\n keyPath: rest.keyPath,\n },\n children: children,\n }),\n }),\n};\n\n/**\n * MARKDOWN PLUGIN\n */\n\nexport type MarkdownStringCond<T> = T extends string\n ? IntlayerNode<string, { metadata: DeepTransformContent<string> }>\n : never;\n\n/** Markdown string plugin. Replaces string node with a component that render the markdown. */\nexport const markdownStringPlugin: Plugins = {\n id: 'markdown-string-plugin',\n canHandle: (node) => typeof node === 'string',\n transform: (node: string, props, deepTransformNode) => {\n const {\n plugins, // Removed to avoid next error - Functions cannot be passed directly to Client Components\n ...rest\n } = props;\n\n const metadata = getMarkdownMetadata(node);\n\n const metadataPlugins: Plugins = {\n id: 'markdown-metadata-plugin',\n canHandle: (metadataNode) =>\n typeof metadataNode === 'string' ||\n typeof metadataNode === 'number' ||\n typeof metadataNode === 'boolean' ||\n !metadataNode,\n transform: (metadataNode, props) =>\n renderIntlayerNode({\n ...props,\n value: metadataNode,\n children: node,\n }),\n };\n\n // Transform metadata while keeping the same structure\n const metadataNodes = deepTransformNode(metadata, {\n plugins: [metadataPlugins],\n dictionaryKey: rest.dictionaryKey,\n keyPath: [],\n });\n\n return renderIntlayerNode({\n ...props,\n value: node,\n children: () => ({\n component: ContentSelectorWrapperComponent,\n props: {\n dictionaryKey: rest.dictionaryKey,\n keyPath: rest.keyPath,\n },\n children: () => {\n const { renderMarkdown } = useMarkdown();\n return renderMarkdown(node);\n },\n }),\n additionalProps: {\n metadata: metadataNodes,\n },\n });\n },\n};\n\nexport type MarkdownCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeType.Markdown]: infer M;\n metadata?: infer U;\n}\n ? IntlayerNode<DeepTransformContent<M>, { metadata: DeepTransformContent<U> }>\n : never;\n\nexport const markdownPlugin: Plugins = {\n id: 'markdown-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeType.Markdown,\n transform: (node: MarkdownContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n {\n type: NodeType.Markdown,\n },\n ];\n\n const children = node[NodeType.Markdown];\n\n return deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [markdownStringPlugin, ...(props.plugins ?? [])],\n });\n },\n};\n\n/** ---------------------------------------------\n * PLUGINS RESULT\n * --------------------------------------------- */\n\nexport interface IInterpreterPluginAngular<T> {\n intlayerNode: IntlayerNodeCond<T>;\n markdown: MarkdownCond<T>;\n}\n\n/**\n * Insert this type as param of `DeepTransformContent` to avoid `intlayer` package pollution.\n *\n * Otherwise the the `angular-intlayer` plugins will override the types of `intlayer` functions.\n */\nexport type IInterpreterPluginState = IInterpreterPluginStateCore & {\n intlayerNode: true;\n markdown: true;\n};\n\nexport type DeepTransformContent<T> = DeepTransformContentCore<\n T,\n IInterpreterPluginState\n>;\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EAGA;AAAA,OAIK;AACP,SAAS,uCAAuC;AAChD,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AAiB5B,MAAM,sBAA+B;AAAA,EAC1C,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAChB,OAAO,SAAS,YAChB,OAAO,SAAS;AAAA,EAClB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,MACrC,mBAAmB;AAAA,IACjB,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU,OAAO;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,QACL,eAAe,KAAK;AAAA,QACpB,SAAS,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACL;AAWO,MAAM,uBAAgC;AAAA,EAC3C,IAAI;AAAA,EACJ,WAAW,CAAC,SAAS,OAAO,SAAS;AAAA,EACrC,WAAW,CAAC,MAAc,OAAO,sBAAsB;AACrD,UAAM;AAAA,MACJ;AAAA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AAEJ,UAAM,WAAW,oBAAoB,IAAI;AAEzC,UAAM,kBAA2B;AAAA,MAC/B,IAAI;AAAA,MACJ,WAAW,CAAC,iBACV,OAAO,iBAAiB,YACxB,OAAO,iBAAiB,YACxB,OAAO,iBAAiB,aACxB,CAAC;AAAA,MACH,WAAW,CAAC,cAAcA,WACxB,mBAAmB;AAAA,QACjB,GAAGA;AAAA,QACH,OAAO;AAAA,QACP,UAAU;AAAA,MACZ,CAAC;AAAA,IACL;AAGA,UAAM,gBAAgB,kBAAkB,UAAU;AAAA,MAChD,SAAS,CAAC,eAAe;AAAA,MACzB,eAAe,KAAK;AAAA,MACpB,SAAS,CAAC;AAAA,IACZ,CAAC;AAED,WAAO,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,OAAO;AAAA,MACP,UAAU,OAAO;AAAA,QACf,WAAW;AAAA,QACX,OAAO;AAAA,UACL,eAAe,KAAK;AAAA,UACpB,SAAS,KAAK;AAAA,QAChB;AAAA,QACA,UAAU,MAAM;AACd,gBAAM,EAAE,eAAe,IAAI,YAAY;AACvC,iBAAO,eAAe,IAAI;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,UAAU;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAUO,MAAM,iBAA0B;AAAA,EACrC,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAAY,MAAM,aAAa,SAAS;AAAA,EAC1D,WAAW,CAAC,MAAuB,OAAO,sBAAsB;AAC9D,UAAM,aAAwB;AAAA,MAC5B,GAAG,MAAM;AAAA,MACT;AAAA,QACE,MAAM,SAAS;AAAA,MACjB;AAAA,IACF;AAEA,UAAM,WAAW,KAAK,SAAS,QAAQ;AAEvC,WAAO,kBAAkB,UAAU;AAAA,MACjC,GAAG;AAAA,MACH;AAAA,MACA,SAAS;AAAA,MACT,SAAS,CAAC,sBAAsB,GAAI,MAAM,WAAW,CAAC,CAAE;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;","names":["props"]}
@@ -0,0 +1,34 @@
1
+ const renderIntlayerNode = ({
2
+ children,
3
+ value,
4
+ additionalProps = {}
5
+ }) => {
6
+ if (children == null) {
7
+ return new Proxy({}, {
8
+ get(target, prop, receiver) {
9
+ if (prop === "value") {
10
+ return value;
11
+ }
12
+ if (additionalProps && Object.keys(additionalProps).includes(prop)) {
13
+ return additionalProps[prop];
14
+ }
15
+ return Reflect.get(target, prop, receiver);
16
+ }
17
+ });
18
+ }
19
+ return new Proxy(children, {
20
+ get(target, prop, receiver) {
21
+ if (prop === "value") {
22
+ return value;
23
+ }
24
+ if (additionalProps && Object.keys(additionalProps).includes(prop)) {
25
+ return additionalProps[prop];
26
+ }
27
+ return Reflect.get(target, prop, receiver);
28
+ }
29
+ });
30
+ };
31
+ export {
32
+ renderIntlayerNode
33
+ };
34
+ //# sourceMappingURL=renderIntlayerNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/renderIntlayerNode.ts"],"sourcesContent":["export type IntlayerNode<T = string, AdditionalProps = {}> = any & {\n value: T;\n} & AdditionalProps;\n\ntype RenderIntlayerNodeProps<T> = {\n value: T;\n children: any;\n additionalProps?: { [key: string]: any };\n};\n\nexport const renderIntlayerNode = <\n T extends number | string | boolean | undefined | null,\n>({\n children,\n value,\n additionalProps = {},\n}: RenderIntlayerNodeProps<T>): IntlayerNode<T> => {\n // If children is null or undefined, return a simple object with the value\n if (children == null) {\n return new Proxy({} as any, {\n get(target, prop, receiver) {\n if (prop === 'value') {\n return value;\n }\n\n if (\n additionalProps &&\n Object.keys(additionalProps).includes(prop as string)\n ) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n }\n\n // Return a Proxy that pretends to be the original content\n // but also has a .value getter and additional props.\n return new Proxy(children, {\n get(target, prop, receiver) {\n if (prop === 'value') {\n return value;\n }\n\n if (\n additionalProps &&\n Object.keys(additionalProps).includes(prop as string)\n ) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n};\n"],"mappings":"AAUO,MAAM,qBAAqB,CAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB,CAAC;AACrB,MAAmD;AAEjD,MAAI,YAAY,MAAM;AACpB,WAAO,IAAI,MAAM,CAAC,GAAU;AAAA,MAC1B,IAAI,QAAQ,MAAM,UAAU;AAC1B,YAAI,SAAS,SAAS;AACpB,iBAAO;AAAA,QACT;AAEA,YACE,mBACA,OAAO,KAAK,eAAe,EAAE,SAAS,IAAc,GACpD;AACA,iBAAO,gBAAgB,IAAoC;AAAA,QAC7D;AAEA,eAAO,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAAA,MAC3C;AAAA,IACF,CAAC;AAAA,EACH;AAIA,SAAO,IAAI,MAAM,UAAU;AAAA,IACzB,IAAI,QAAQ,MAAM,UAAU;AAC1B,UAAI,SAAS,SAAS;AACpB,eAAO;AAAA,MACT;AAEA,UACE,mBACA,OAAO,KAAK,eAAe,EAAE,SAAS,IAAc,GACpD;AACA,eAAO,gBAAgB,IAAoC;AAAA,MAC7D;AAEA,aAAO,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAAA,IAC3C;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./mergeConfig.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/webpack/index.ts"],"sourcesContent":["export * from './mergeConfig';\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,49 @@
1
+ import { getConfiguration } from "@intlayer/config";
2
+ import { IntlayerPlugin } from "@intlayer/webpack";
3
+ import merge from "deepmerge";
4
+ import { join, relative, resolve } from "path";
5
+ const mergeConfig = (baseConfig) => {
6
+ const intlayerConfig = getConfiguration();
7
+ const { mainDir, configDir, baseDir } = intlayerConfig.content;
8
+ const dictionariesPath = join(mainDir, "dictionaries.mjs");
9
+ const relativeDictionariesPath = relative(baseDir, dictionariesPath);
10
+ const unmergedDictionariesPath = join(mainDir, "unmerged_dictionaries.mjs");
11
+ const relativeUnmergedDictionariesPath = relative(
12
+ baseDir,
13
+ unmergedDictionariesPath
14
+ );
15
+ const configurationPath = join(configDir, "configuration.json");
16
+ const relativeConfigurationPath = relative(baseDir, configurationPath);
17
+ const config = {
18
+ resolve: {
19
+ alias: {
20
+ "@intlayer/dictionaries-entry": resolve(relativeDictionariesPath),
21
+ "@intlayer/unmerged-dictionaries-entry": resolve(
22
+ relativeUnmergedDictionariesPath
23
+ ),
24
+ "@intlayer/config/built": resolve(relativeConfigurationPath)
25
+ }
26
+ },
27
+ externals: {
28
+ esbuild: "esbuild",
29
+ module: "module",
30
+ fs: "fs",
31
+ chokidar: "chokidar",
32
+ fsevents: "fsevents"
33
+ },
34
+ module: {
35
+ rules: [
36
+ {
37
+ test: /\.node$/,
38
+ loader: "node-loader"
39
+ }
40
+ ]
41
+ },
42
+ plugins: [new IntlayerPlugin()]
43
+ };
44
+ return merge(baseConfig, config);
45
+ };
46
+ export {
47
+ mergeConfig
48
+ };
49
+ //# sourceMappingURL=mergeConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/webpack/mergeConfig.ts"],"sourcesContent":["import { getConfiguration } from '@intlayer/config';\nimport { IntlayerPlugin } from '@intlayer/webpack'; // adjust path if needed\nimport merge from 'deepmerge';\nimport { join, relative, resolve } from 'path';\nimport type { Configuration as WebpackConfig } from 'webpack';\n\nexport const mergeConfig = (baseConfig: WebpackConfig): WebpackConfig => {\n const intlayerConfig = getConfiguration();\n\n // Format all configuration values as environment variables\n const { mainDir, configDir, baseDir } = intlayerConfig.content;\n\n const dictionariesPath = join(mainDir, 'dictionaries.mjs');\n const relativeDictionariesPath = relative(baseDir, dictionariesPath);\n\n const unmergedDictionariesPath = join(mainDir, 'unmerged_dictionaries.mjs');\n const relativeUnmergedDictionariesPath = relative(\n baseDir,\n unmergedDictionariesPath\n );\n\n const configurationPath = join(configDir, 'configuration.json');\n const relativeConfigurationPath = relative(baseDir, configurationPath);\n\n const config = {\n resolve: {\n alias: {\n '@intlayer/dictionaries-entry': resolve(relativeDictionariesPath),\n '@intlayer/unmerged-dictionaries-entry': resolve(\n relativeUnmergedDictionariesPath\n ),\n '@intlayer/config/built': resolve(relativeConfigurationPath),\n },\n },\n externals: {\n esbuild: 'esbuild',\n module: 'module',\n fs: 'fs',\n chokidar: 'chokidar',\n fsevents: 'fsevents',\n },\n module: {\n rules: [\n {\n test: /\\.node$/,\n loader: 'node-loader',\n },\n ],\n },\n plugins: [new IntlayerPlugin()],\n };\n\n return merge(baseConfig, config);\n};\n"],"mappings":"AAAA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,OAAO,WAAW;AAClB,SAAS,MAAM,UAAU,eAAe;AAGjC,MAAM,cAAc,CAAC,eAA6C;AACvE,QAAM,iBAAiB,iBAAiB;AAGxC,QAAM,EAAE,SAAS,WAAW,QAAQ,IAAI,eAAe;AAEvD,QAAM,mBAAmB,KAAK,SAAS,kBAAkB;AACzD,QAAM,2BAA2B,SAAS,SAAS,gBAAgB;AAEnE,QAAM,2BAA2B,KAAK,SAAS,2BAA2B;AAC1E,QAAM,mCAAmC;AAAA,IACvC;AAAA,IACA;AAAA,EACF;AAEA,QAAM,oBAAoB,KAAK,WAAW,oBAAoB;AAC9D,QAAM,4BAA4B,SAAS,SAAS,iBAAiB;AAErE,QAAM,SAAS;AAAA,IACb,SAAS;AAAA,MACP,OAAO;AAAA,QACL,gCAAgC,QAAQ,wBAAwB;AAAA,QAChE,yCAAyC;AAAA,UACvC;AAAA,QACF;AAAA,QACA,0BAA0B,QAAQ,yBAAyB;AAAA,MAC7D;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS,CAAC,IAAI,eAAe,CAAC;AAAA,EAChC;AAEA,SAAO,MAAM,YAAY,MAAM;AACjC;","names":[]}
@@ -0,0 +1,32 @@
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ export declare class ContentSelectorComponent implements OnInit, OnDestroy {
3
+ private cdr;
4
+ onClickOutside?: () => void;
5
+ pressDuration?: number;
6
+ isSelecting?: boolean;
7
+ click: EventEmitter<MouseEvent>;
8
+ press: EventEmitter<void>;
9
+ containerRef: ElementRef<HTMLSpanElement>;
10
+ private isHovered;
11
+ private isSelectingState;
12
+ private pressTimerRef;
13
+ private readonly isSelectingComputed;
14
+ private readonly isStringSlot;
15
+ constructor(cdr: ChangeDetectorRef);
16
+ ngOnInit(): void;
17
+ ngOnDestroy(): void;
18
+ onDocumentMouseDown(event: MouseEvent): void;
19
+ private handleOnLongPress;
20
+ private startPressTimer;
21
+ private clearPressTimer;
22
+ handleMouseDown(): void;
23
+ handleMouseUp(): void;
24
+ private handleClickOutside;
25
+ handleClick(e: MouseEvent): void;
26
+ handleBlur(): void;
27
+ onMouseEnter(): void;
28
+ getContainerStyle(): {
29
+ [key: string]: any;
30
+ };
31
+ }
32
+ //# sourceMappingURL=ContentSelector.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentSelector.component.d.ts","sourceRoot":"","sources":["../../../src/UI/ContentSelector.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAGjB,UAAU,EACV,YAAY,EAGZ,SAAS,EACT,MAAM,EAIP,MAAM,eAAe,CAAC;AAIvB,qBAwBa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IAyBpD,OAAO,CAAC,GAAG;IAxBd,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAErB,KAAK,2BAAkC;IACvC,KAAK,qBAA4B;IAG3C,YAAY,EAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE3C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI1B;gBAEiB,GAAG,EAAE,iBAAiB;IAE1C,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAKnB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI5C,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAOvB,eAAe,IAAI,IAAI;IAKvB,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,kBAAkB;IAU1B,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAQhC,UAAU,IAAI,IAAI;IAIlB,YAAY,IAAI,IAAI;IAIpB,iBAAiB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAgB5C"}
@@ -1,8 +1,7 @@
1
- export { DictionaryService } from './dictionary.service';
2
- export { getBrowserLocale } from './getBrowserLocale';
3
- export { getDictionary } from './getDictionary';
4
- export { getLocale } from './getLocale';
5
- export { IntlayerService } from './intlayer.service';
6
- export { LocaleService } from './locale.service';
7
- export { t } from './t';
1
+ export * from './installIntlayer';
2
+ export * from './useDictionary';
3
+ export * from './useDictionaryDynamic';
4
+ export * from './useIntlayer';
5
+ export * from './useLoadDynamic';
6
+ export * from './useLocale';
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { InjectionToken, Signal } from '@angular/core';
2
+ import type { Locales, LocalesValues } from '@intlayer/config/client';
3
+ export declare const INTLAYER_TOKEN: InjectionToken<IntlayerProvider>;
4
+ export declare class IntlayerProvider {
5
+ private _locale;
6
+ readonly locale: Signal<Locales>;
7
+ setLocale: (locale: LocalesValues) => void;
8
+ }
9
+ /**
10
+ * Create and return a single IntlayerProvider instance
11
+ */
12
+ export declare const createIntlayerClient: (locale?: LocalesValues) => IntlayerProvider;
13
+ /**
14
+ * Helper to install the Intlayer provider
15
+ */
16
+ export declare const installIntlayer: (locale?: LocalesValues) => IntlayerProvider;
17
+ //# sourceMappingURL=installIntlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installIntlayer.d.ts","sourceRoot":"","sources":["../../../src/client/installIntlayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEtE,eAAO,MAAM,cAAc,kCAAmD,CAAC;AAO/E,qBAGa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAEb;IAEF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAA6B;IAE7D,SAAS,GAAI,QAAQ,aAAa,UAEhC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,KACrB,gBAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,qBAOrD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { LocalesValues } from '@intlayer/config/client';
2
+ import { type Dictionary } from '@intlayer/core';
3
+ import { DeepTransformContent } from '../plugins';
4
+ export declare const useDictionary: <T extends Dictionary>(dictionary: T, locale?: LocalesValues) => DeepTransformContent<T["content"]>;
5
+ //# sourceMappingURL=useDictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDictionary.d.ts","sourceRoot":"","sources":["../../../src/client/useDictionary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,EAChD,YAAY,CAAC,EACb,SAAS,aAAa,KACrB,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAWnC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LocalesValues } from '@intlayer/config/client';
2
+ import type { Dictionary, DictionaryKeys, LanguageContent } from '@intlayer/core';
3
+ /**
4
+ * On the server side, Hook that transform a dictionary and return the content
5
+ *
6
+ * If the locale is not provided, it will use the locale from the client context
7
+ */
8
+ export declare const useDictionaryDynamic: <T extends Dictionary, K extends DictionaryKeys>(dictionaryPromise: LanguageContent<() => Promise<T>>, key: K, locale?: LocalesValues) => import("@intlayer/core").DeepTransformContent<T["content"], import("..").IInterpreterPluginState>;
9
+ //# sourceMappingURL=useDictionaryDynamic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDictionaryDynamic.d.ts","sourceRoot":"","sources":["../../../src/client/useDictionaryDynamic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAKxB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,cAAc,EAExB,mBAAmB,eAAe,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACpD,KAAK,CAAC,EACN,SAAS,aAAa,sGAYvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { LocalesValues } from '@intlayer/config/client';
2
+ import { DictionaryKeys } from '@intlayer/core';
3
+ import type { IntlayerDictionaryTypesConnector } from 'intlayer';
4
+ import { DeepTransformContent } from '../plugins';
5
+ /** guard utility — true only for objects generated by `renderIntlayerNode()` */
6
+ export declare const isUpdatableNode: (val: unknown) => val is {
7
+ __update: (n: unknown) => void;
8
+ };
9
+ export declare const useIntlayer: <T extends DictionaryKeys>(key: T, locale?: LocalesValues) => DeepTransformContent<IntlayerDictionaryTypesConnector[T]["content"]>;
10
+ //# sourceMappingURL=useIntlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIntlayer.d.ts","sourceRoot":"","sources":["../../../src/client/useIntlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,gFAAgF;AAChF,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,KACX,GAAG,IAAI;IAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAGG,CAAC;AAE9C,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,cAAc,EAClD,KAAK,CAAC,EACN,SAAS,aAAa,KACrB,oBAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAYrE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A "synchronous" loader for a dynamically‐imported JSON (or anything).
3
+ *
4
+ * - Immediately returns a reactive signal so that Angular can properly track changes.
5
+ * - When the Promise resolves, it replaces the signal's value with the real data.
6
+ */
7
+ export declare const useLoadDynamic: <T extends Record<string, any>>(key: string, promise: Promise<T>) => T;
8
+ //# sourceMappingURL=useLoadDynamic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadDynamic.d.ts","sourceRoot":"","sources":["../../../src/client/useLoadDynamic.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,MAAM,EACX,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,CA0BF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { LocalesValues } from '@intlayer/config/client';
2
+ type useLocaleProps = {
3
+ onLocaleChange?: (locale: LocalesValues) => void;
4
+ };
5
+ /**
6
+ * On the client side, composable to get the current locale and all related fields
7
+ */
8
+ export declare const useLocale: ({ onLocaleChange }?: useLocaleProps) => {
9
+ locale: import("@angular/core").Signal<import("intlayer").Locales>;
10
+ defaultLocale: import("intlayer").Locales;
11
+ availableLocales: import("intlayer").Locales[];
12
+ setLocale: (newLocale: LocalesValues) => void;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=useLocale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocale.d.ts","sourceRoot":"","sources":["../../../src/client/useLocale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,KAAK,cAAc,GAAG;IACpB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,qBAAoB,cAAmB;;;;2BASjC,aAAa;CAmB5C,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { LocalesValues } from '@intlayer/config/client';
2
+ /**
3
+ * Get the locale cookie
4
+ */
5
+ export declare const localeCookie: LocalesValues | undefined;
6
+ /**
7
+ * Set the locale cookie
8
+ */
9
+ export declare const setLocaleCookie: (locale: LocalesValues) => void;
10
+ /**
11
+ * Hook that provides the locale cookie and a function to set it
12
+ */
13
+ export declare const useLocaleCookie: () => {
14
+ localeCookie: LocalesValues;
15
+ setLocaleCookie: (locale: LocalesValues) => void;
16
+ };
17
+ //# sourceMappingURL=useLocaleCookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocaleCookie.d.ts","sourceRoot":"","sources":["../../../src/client/useLocaleCookie.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAc7D;;GAEG;AACH,eAAO,MAAM,YAAY,EACrB,aAAa,GACb,SAAS,CAAC;AAEd;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,aAAa,SAEpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;8BAPY,aAAa;CAUnD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type NodeProps } from '@intlayer/core';
2
+ /**
3
+ * Combine your NodeProps (which include dictionaryKey & keyPath)
4
+ * with any other div-like attributes.
5
+ */
6
+ export interface ContentSelectorWrapperProps extends NodeProps {
7
+ [key: string]: any;
8
+ }
9
+ export declare class ContentSelectorWrapperComponent {
10
+ dictionaryKey: string;
11
+ keyPath: any[];
12
+ private focusDictionary;
13
+ private editorEnabled;
14
+ constructor();
15
+ isSelected: import("@angular/core").Signal<boolean>;
16
+ enabled: import("@angular/core").Signal<boolean>;
17
+ handleSelect(): void;
18
+ }
19
+ //# sourceMappingURL=ContentSelectorWrapper.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentSelectorWrapper.component.d.ts","sourceRoot":"","sources":["../../../src/editor/ContentSelectorWrapper.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM/D;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,SAAS;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAea,+BAA+B;IACjC,aAAa,EAAG,MAAM,CAAC;IACvB,OAAO,EAAG,GAAG,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,aAAa,CAAsB;;IAO3C,UAAU,0CAOP;IAEH,OAAO,0CAAgD;IAGvD,YAAY;CAMb"}
@@ -0,0 +1,19 @@
1
+ import type { Locales } from '@intlayer/config/client';
2
+ import { type KeyPath } from '@intlayer/core';
3
+ export interface EditedContentRendererProps {
4
+ dictionaryKey: string;
5
+ keyPath: KeyPath[];
6
+ locale?: Locales;
7
+ }
8
+ export declare class EditedContentRendererComponent {
9
+ dictionaryKey: string;
10
+ keyPath: KeyPath[];
11
+ locale?: Locales;
12
+ private fallback;
13
+ private rawContent;
14
+ /**
15
+ * Object → getContent → string, same as the React version.
16
+ */
17
+ renderedContent: import("@angular/core").Signal<string>;
18
+ }
19
+ //# sourceMappingURL=EditedContentRenderer.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditedContentRenderer.component.d.ts","sourceRoot":"","sources":["../../../src/editor/EditedContentRenderer.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGvE,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAMa,8BAA8B;IAChC,aAAa,EAAG,MAAM,CAAC;IACvB,OAAO,EAAG,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAc;IAE9B,OAAO,CAAC,UAAU,CAMf;IAEH;;OAEG;IACH,eAAe,yCAyBZ;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { type NodeProps } from '@intlayer/core';
2
+ /**
3
+ * Combine your NodeProps (which include dictionaryKey & keyPath)
4
+ * with any other div-like attributes.
5
+ */
6
+ export interface EditorSelectorRendererProps extends NodeProps {
7
+ [key: string]: any;
8
+ }
9
+ export declare class EditorSelectorRendererComponent {
10
+ dictionaryKey: string;
11
+ keyPath: any[];
12
+ }
13
+ //# sourceMappingURL=EditorSelectorRenderer.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorSelectorRenderer.component.d.ts","sourceRoot":"","sources":["../../../src/editor/EditorSelectorRenderer.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,SAAS;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAsBa,+BAA+B;IACjC,aAAa,EAAG,MAAM,CAAC;IACvB,OAAO,EAAG,GAAG,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,14 @@
1
+ import { Injector } from '@angular/core';
2
+ import type { Dictionary } from '@intlayer/core';
3
+ type ChangedContent = {
4
+ content: Record<Dictionary['key'], Dictionary>;
5
+ setContent: (key: Dictionary['key'], newValue: Dictionary['content']) => void;
6
+ };
7
+ export declare const createChangedContentClient: () => ChangedContent;
8
+ /**
9
+ * Helper to install the Intlayer provider into the injector
10
+ */
11
+ export declare const installChangedContent: (injector: Injector) => void;
12
+ export declare const useChangedContent: () => ChangedContent;
13
+ export {};
14
+ //# sourceMappingURL=changedContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changedContent.d.ts","sourceRoot":"","sources":["../../../src/editor/changedContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/C,UAAU,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,eAAO,MAAM,0BAA0B,sBAgCtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,QAAQ,SAKvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,sBAE7B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Injector } from '@angular/core';
2
+ /**
3
+ * Interface defining a cross-frame communicator
4
+ */
5
+ export type Communicator = {
6
+ postMessage: typeof window.postMessage;
7
+ allowedOrigins?: string[];
8
+ senderId: string;
9
+ };
10
+ /**
11
+ * Configuration options for the communicator
12
+ */
13
+ export type CommunicatorOptions = Omit<Communicator, 'senderId'>;
14
+ /**
15
+ * Creates a communicator client
16
+ * @param options - Options for configuring the communicator
17
+ */
18
+ export declare const createCommunicator: (options?: CommunicatorOptions) => Communicator;
19
+ /**
20
+ * Helper to install the Intlayer communicator into the injector
21
+ */
22
+ export declare const installCommunicator: (injector: Injector, options?: CommunicatorOptions) => void;
23
+ /**
24
+ * Hook to access the communicator
25
+ * @returns The communicator instance
26
+ */
27
+ export declare const useCommunicator: () => Communicator;
28
+ //# sourceMappingURL=communicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../../src/editor/communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAwBjE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAS,mBAAiD,iBAW3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,QAAQ,EAClB,UAAS,mBAAiD,SAM3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,YAalC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const useConfiguration: () => void;
2
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/editor/configuration.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,YAoB5B,CAAC"}
@@ -0,0 +1,14 @@
1
+ type AnyFn = (...args: any[]) => any;
2
+ export type SharedComposableReturn<T extends AnyFn = AnyFn> = T;
3
+ /**
4
+ * Angular replacement for Vue's tryOnScopeDispose
5
+ * Uses Angular's DestroyRef to handle cleanup when the injection context is destroyed
6
+ */
7
+ export declare function tryOnScopeDispose(fn: () => void): boolean;
8
+ /**
9
+ * Angular equivalent of Vue's createSharedComposable
10
+ * Creates a singleton pattern for services/composables
11
+ */
12
+ export declare const createSharedComposable: <Fn extends AnyFn>(composable: Fn) => SharedComposableReturn<Fn>;
13
+ export {};
14
+ //# sourceMappingURL=createSharedComposable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSharedComposable.d.ts","sourceRoot":"","sources":["../../../src/editor/createSharedComposable.ts"],"names":[],"mappings":"AAEA,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAErC,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,WAY/C;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,EAAE,SAAS,KAAK,EACrD,YAAY,EAAE,KACb,sBAAsB,CAAC,EAAE,CA4B3B,CAAC"}