vanilla-intlayer 9.7.0 → 9.7.2

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 (136) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
  2. package/dist/cjs/client/index.cjs +8 -8
  3. package/dist/cjs/client/installIntlayer.cjs +3 -4
  4. package/dist/cjs/client/useDictionary.cjs +3 -4
  5. package/dist/cjs/client/useDictionary.cjs.map +1 -1
  6. package/dist/cjs/client/useDictionaryDynamic.cjs +4 -5
  7. package/dist/cjs/client/useIntlayer.cjs +3 -4
  8. package/dist/cjs/client/useLocale.cjs +3 -4
  9. package/dist/cjs/client/useLocaleStorage.cjs +1 -2
  10. package/dist/cjs/client/usePathname.cjs +1 -2
  11. package/dist/cjs/client/useRewriteURL.cjs +2 -3
  12. package/dist/cjs/editor/useEditor.cjs +3 -4
  13. package/dist/cjs/format/index.cjs +9 -9
  14. package/dist/cjs/format/useCompact.cjs +2 -3
  15. package/dist/cjs/format/useCurrency.cjs +2 -3
  16. package/dist/cjs/format/useDate.cjs +2 -3
  17. package/dist/cjs/format/useIntl.cjs +2 -3
  18. package/dist/cjs/format/useList.cjs +2 -3
  19. package/dist/cjs/format/useNumber.cjs +2 -3
  20. package/dist/cjs/format/usePercentage.cjs +2 -3
  21. package/dist/cjs/format/useRelativeTime.cjs +2 -3
  22. package/dist/cjs/format/useUnit.cjs +2 -3
  23. package/dist/cjs/getDictionary.cjs +2 -3
  24. package/dist/cjs/getDictionary.cjs.map +1 -1
  25. package/dist/cjs/getIntlayer.cjs +2 -3
  26. package/dist/cjs/html/HTMLRenderer.cjs +2 -3
  27. package/dist/cjs/html/HTMLRenderer.cjs.map +1 -1
  28. package/dist/cjs/html/index.cjs +2 -2
  29. package/dist/cjs/html/installIntlayerHTML.cjs +1 -2
  30. package/dist/cjs/index.cjs +12 -12
  31. package/dist/cjs/markdown/MarkdownRenderer.cjs +3 -4
  32. package/dist/cjs/markdown/compiler.cjs +2 -3
  33. package/dist/cjs/markdown/index.cjs +3 -3
  34. package/dist/cjs/markdown/installIntlayerMarkdown.cjs +2 -3
  35. package/dist/cjs/markdown/runtime.cjs +1 -2
  36. package/dist/cjs/plugins.cjs +4 -5
  37. package/dist/cjs/plugins.cjs.map +1 -1
  38. package/dist/cjs/renderIntlayerNode.cjs +1 -2
  39. package/dist/esm/client/index.mjs +1 -1
  40. package/dist/esm/client/installIntlayer.mjs +2 -3
  41. package/dist/esm/client/useDictionary.mjs +1 -2
  42. package/dist/esm/client/useDictionary.mjs.map +1 -1
  43. package/dist/esm/client/useDictionaryDynamic.mjs +2 -3
  44. package/dist/esm/client/useIntlayer.mjs +1 -2
  45. package/dist/esm/client/useLocale.mjs +2 -3
  46. package/dist/esm/client/useLocaleStorage.mjs +1 -2
  47. package/dist/esm/client/usePathname.mjs +1 -2
  48. package/dist/esm/client/useRewriteURL.mjs +1 -2
  49. package/dist/esm/editor/useEditor.mjs +2 -3
  50. package/dist/esm/format/index.mjs +5 -5
  51. package/dist/esm/format/useCompact.mjs +1 -2
  52. package/dist/esm/format/useCurrency.mjs +1 -2
  53. package/dist/esm/format/useDate.mjs +1 -2
  54. package/dist/esm/format/useIntl.mjs +1 -2
  55. package/dist/esm/format/useList.mjs +1 -2
  56. package/dist/esm/format/useNumber.mjs +1 -2
  57. package/dist/esm/format/usePercentage.mjs +1 -2
  58. package/dist/esm/format/useRelativeTime.mjs +1 -2
  59. package/dist/esm/format/useUnit.mjs +1 -2
  60. package/dist/esm/getDictionary.mjs +1 -2
  61. package/dist/esm/getDictionary.mjs.map +1 -1
  62. package/dist/esm/getIntlayer.mjs +1 -2
  63. package/dist/esm/html/HTMLRenderer.mjs +1 -2
  64. package/dist/esm/html/HTMLRenderer.mjs.map +1 -1
  65. package/dist/esm/html/index.mjs +1 -1
  66. package/dist/esm/html/installIntlayerHTML.mjs +1 -2
  67. package/dist/esm/index.mjs +3 -3
  68. package/dist/esm/markdown/MarkdownRenderer.mjs +1 -2
  69. package/dist/esm/markdown/compiler.mjs +1 -2
  70. package/dist/esm/markdown/installIntlayerMarkdown.mjs +1 -2
  71. package/dist/esm/markdown/runtime.mjs +1 -2
  72. package/dist/esm/plugins.mjs +2 -3
  73. package/dist/esm/plugins.mjs.map +1 -1
  74. package/dist/esm/renderIntlayerNode.mjs +1 -2
  75. package/dist/types/client/installIntlayer.d.ts +1 -2
  76. package/dist/types/client/installIntlayer.d.ts.map +1 -1
  77. package/dist/types/client/useDictionary.d.ts +0 -2
  78. package/dist/types/client/useDictionary.d.ts.map +1 -1
  79. package/dist/types/client/useDictionaryDynamic.d.ts +0 -2
  80. package/dist/types/client/useDictionaryDynamic.d.ts.map +1 -1
  81. package/dist/types/client/useIntlayer.d.ts +0 -2
  82. package/dist/types/client/useIntlayer.d.ts.map +1 -1
  83. package/dist/types/client/useLocale.d.ts +0 -2
  84. package/dist/types/client/useLocale.d.ts.map +1 -1
  85. package/dist/types/client/useLocaleStorage.d.ts +0 -2
  86. package/dist/types/client/useLocaleStorage.d.ts.map +1 -1
  87. package/dist/types/client/usePathname.d.ts +0 -2
  88. package/dist/types/client/usePathname.d.ts.map +1 -1
  89. package/dist/types/client/useRewriteURL.d.ts +0 -2
  90. package/dist/types/client/useRewriteURL.d.ts.map +1 -1
  91. package/dist/types/editor/useEditor.d.ts +0 -2
  92. package/dist/types/editor/useEditor.d.ts.map +1 -1
  93. package/dist/types/format/useCompact.d.ts +0 -2
  94. package/dist/types/format/useCompact.d.ts.map +1 -1
  95. package/dist/types/format/useCurrency.d.ts +0 -2
  96. package/dist/types/format/useCurrency.d.ts.map +1 -1
  97. package/dist/types/format/useDate.d.ts +0 -2
  98. package/dist/types/format/useDate.d.ts.map +1 -1
  99. package/dist/types/format/useIntl.d.ts +0 -2
  100. package/dist/types/format/useIntl.d.ts.map +1 -1
  101. package/dist/types/format/useList.d.ts +0 -2
  102. package/dist/types/format/useList.d.ts.map +1 -1
  103. package/dist/types/format/useNumber.d.ts +0 -2
  104. package/dist/types/format/useNumber.d.ts.map +1 -1
  105. package/dist/types/format/usePercentage.d.ts +0 -2
  106. package/dist/types/format/usePercentage.d.ts.map +1 -1
  107. package/dist/types/format/useRelativeTime.d.ts +0 -2
  108. package/dist/types/format/useRelativeTime.d.ts.map +1 -1
  109. package/dist/types/format/useUnit.d.ts +0 -2
  110. package/dist/types/format/useUnit.d.ts.map +1 -1
  111. package/dist/types/getDictionary.d.ts +0 -2
  112. package/dist/types/getDictionary.d.ts.map +1 -1
  113. package/dist/types/getIntlayer.d.ts +0 -2
  114. package/dist/types/getIntlayer.d.ts.map +1 -1
  115. package/dist/types/html/HTMLRenderer.d.ts +0 -2
  116. package/dist/types/html/HTMLRenderer.d.ts.map +1 -1
  117. package/dist/types/html/index.d.ts +1 -1
  118. package/dist/types/html/installIntlayerHTML.d.ts +0 -2
  119. package/dist/types/html/installIntlayerHTML.d.ts.map +1 -1
  120. package/dist/types/html/types.d.ts +1 -2
  121. package/dist/types/html/types.d.ts.map +1 -1
  122. package/dist/types/index.d.ts +1 -3
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/markdown/MarkdownRenderer.d.ts +0 -2
  125. package/dist/types/markdown/MarkdownRenderer.d.ts.map +1 -1
  126. package/dist/types/markdown/compiler.d.ts +6 -2
  127. package/dist/types/markdown/compiler.d.ts.map +1 -1
  128. package/dist/types/markdown/installIntlayerMarkdown.d.ts +0 -2
  129. package/dist/types/markdown/installIntlayerMarkdown.d.ts.map +1 -1
  130. package/dist/types/markdown/runtime.d.ts +6 -2
  131. package/dist/types/markdown/runtime.d.ts.map +1 -1
  132. package/dist/types/plugins.d.ts +0 -2
  133. package/dist/types/plugins.d.ts.map +1 -1
  134. package/dist/types/renderIntlayerNode.d.ts +1 -2
  135. package/dist/types/renderIntlayerNode.d.ts.map +1 -1
  136. package/package.json +48 -48
@@ -1,4 +1,4 @@
1
- import { installIntlayerHTML, installIntlayerHTMLDynamic, useHTML } from "./installIntlayerHTML.mjs";
2
1
  import { renderHTML, useHTMLRenderer } from "./HTMLRenderer.mjs";
2
+ import { installIntlayerHTML, installIntlayerHTMLDynamic, useHTML } from "./installIntlayerHTML.mjs";
3
3
 
4
4
  export { installIntlayerHTML, installIntlayerHTMLDynamic, renderHTML, useHTML, useHTMLRenderer };
@@ -1,4 +1,4 @@
1
- //#region src/html/installIntlayerHTML.ts
1
+ // src/html/installIntlayerHTML.ts
2
2
  /**
3
3
  * Singleton instance
4
4
  */
@@ -82,6 +82,5 @@ const installIntlayerHTMLDynamic = async (loader) => {
82
82
  return installIntlayerHTML(pluginOptions);
83
83
  };
84
84
 
85
- //#endregion
86
85
  export { createIntlayerHTMLClient, installIntlayerHTML, installIntlayerHTMLDynamic, useHTML };
87
86
  //# sourceMappingURL=installIntlayerHTML.mjs.map
@@ -1,11 +1,11 @@
1
- import { getPlugins, htmlPlugin, insertionPlugin, intlayerNodePlugins, markdownPlugin, markdownStringPlugin } from "./plugins.mjs";
2
- import { getDictionary } from "./getDictionary.mjs";
3
- import { getIntlayer } from "./getIntlayer.mjs";
4
1
  import { getLocaleInStorage, localeCookie, localeInStorage, setLocaleCookie, setLocaleInStorage, useLocaleCookie, useLocaleStorage } from "./client/useLocaleStorage.mjs";
5
2
  import { useEditor } from "./editor/useEditor.mjs";
6
3
  import { IntlayerClient, createIntlayerClient, getIntlayerClient, installIntlayer } from "./client/installIntlayer.mjs";
4
+ import { getDictionary } from "./getDictionary.mjs";
5
+ import { getIntlayer } from "./getIntlayer.mjs";
7
6
  import { useDictionary } from "./client/useDictionary.mjs";
8
7
  import { useDictionaryDynamic } from "./client/useDictionaryDynamic.mjs";
8
+ import { getPlugins, htmlPlugin, insertionPlugin, intlayerNodePlugins, markdownPlugin, markdownStringPlugin } from "./plugins.mjs";
9
9
  import { useIntlayer } from "./client/useIntlayer.mjs";
10
10
  import { useLocale } from "./client/useLocale.mjs";
11
11
  import { usePathname } from "./client/usePathname.mjs";
@@ -1,7 +1,7 @@
1
1
  import { compileMarkdown } from "./compiler.mjs";
2
2
  import { useMarkdown } from "./installIntlayerMarkdown.mjs";
3
3
 
4
- //#region src/markdown/MarkdownRenderer.ts
4
+ // src/markdown/MarkdownRenderer.ts
5
5
  /**
6
6
  * Renders markdown to an HTML string without using the global provider.
7
7
  *
@@ -34,6 +34,5 @@ const useMarkdownRenderer = (props = {}) => {
34
34
  }, props.components, props.wrapper);
35
35
  };
36
36
 
37
- //#endregion
38
37
  export { renderMarkdown, useMarkdownRenderer };
39
38
  //# sourceMappingURL=MarkdownRenderer.mjs.map
@@ -1,7 +1,7 @@
1
1
  import vanillaRuntime from "./runtime.mjs";
2
2
  import { compileWithOptions, parseMarkdown as parseMarkdown$1, renderMarkdownAst } from "@intlayer/core/markdown";
3
3
 
4
- //#region src/markdown/compiler.ts
4
+ // src/markdown/compiler.ts
5
5
  /**
6
6
  * Vanilla JS adapter for the framework-agnostic markdown processor.
7
7
  *
@@ -64,6 +64,5 @@ const compileMarkdown = (input = "", options = {}) => {
64
64
  }, compilerOptions);
65
65
  };
66
66
 
67
- //#endregion
68
67
  export { compileMarkdown, parseMarkdown };
69
68
  //# sourceMappingURL=compiler.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { compileMarkdown } from "./compiler.mjs";
2
2
 
3
- //#region src/markdown/installIntlayerMarkdown.ts
3
+ // src/markdown/installIntlayerMarkdown.ts
4
4
  /**
5
5
  * Singleton instance
6
6
  */
@@ -90,6 +90,5 @@ const installIntlayerMarkdownDynamic = async (loader) => {
90
90
  return installIntlayerMarkdown(pluginOptions);
91
91
  };
92
92
 
93
- //#endregion
94
93
  export { createIntlayerMarkdownClient, installIntlayerMarkdown, installIntlayerMarkdownDynamic, useMarkdown };
95
94
  //# sourceMappingURL=installIntlayerMarkdown.mjs.map
@@ -1,4 +1,4 @@
1
- //#region src/markdown/runtime.ts
1
+ // src/markdown/runtime.ts
2
2
  const SELF_CLOSING_TAGS = /* @__PURE__ */ new Set([
3
3
  "area",
4
4
  "base",
@@ -78,6 +78,5 @@ const createVanillaRuntime = (options = {}) => {
78
78
  return vanillaRuntime;
79
79
  };
80
80
 
81
- //#endregion
82
81
  export { createVanillaRuntime, vanillaRuntime as default, vanillaRuntime };
83
82
  //# sourceMappingURL=runtime.mjs.map
@@ -1,10 +1,10 @@
1
1
  import { renderIntlayerNode } from "./renderIntlayerNode.mjs";
2
- import { conditionPlugin, enumerationPlugin, fallbackPlugin, filePlugin, genderPlugin, getHTML, isInterpolableWrapperNode, nestedPlugin, pluralPlugin, resolveInsertedSelector, resolveInterpreterLocale, selectPlugin, splitInsertionTemplate, transformInterpolableNode, translationPlugin } from "@intlayer/core/interpreter";
3
2
  import { editor, internationalization } from "@intlayer/config/built";
3
+ import { conditionPlugin, enumerationPlugin, fallbackPlugin, filePlugin, genderPlugin, getHTML, isInterpolableWrapperNode, nestedPlugin, pluralPlugin, resolveInsertedSelector, resolveInterpreterLocale, selectPlugin, splitInsertionTemplate, transformInterpolableNode, translationPlugin } from "@intlayer/core/interpreter";
4
4
  import { compileWithOptions, getMarkdownMetadata } from "@intlayer/core/markdown";
5
5
  import * as NodeTypes from "@intlayer/types/nodeType";
6
6
 
7
- //#region src/plugins.ts
7
+ // src/plugins.ts
8
8
  const escapeHtmlAttr = (str) => str.replace(/&/g, "&").replace(/"/g, """);
9
9
  const escapeHtmlText = (str) => str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
10
10
  const intlayerNodePlugins = {
@@ -225,6 +225,5 @@ const getPlugins = (locale, fallback = true) => {
225
225
  return enabledPlugins;
226
226
  };
227
227
 
228
- //#endregion
229
228
  export { getPlugins, htmlPlugin, insertionPlugin, intlayerNodePlugins, markdownPlugin, markdownStringPlugin };
230
229
  //# sourceMappingURL=plugins.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.mjs","names":[],"sources":["../../src/plugins.ts"],"sourcesContent":["import { editor, internationalization } from '@intlayer/config/built';\nimport {\n conditionPlugin,\n type DeepTransformContent as DeepTransformContentCore,\n enumerationPlugin,\n fallbackPlugin,\n filePlugin,\n genderPlugin,\n getHTML,\n type IInterpreterPluginState as IInterpreterPluginStateCore,\n isInterpolableWrapperNode,\n nestedPlugin,\n type Plugins,\n pluralPlugin,\n resolveInsertedSelector,\n resolveInterpreterLocale,\n selectPlugin,\n splitInsertionTemplate,\n transformInterpolableNode,\n translationPlugin,\n} from '@intlayer/core/interpreter';\nimport {\n compileWithOptions,\n getMarkdownMetadata,\n} from '@intlayer/core/markdown';\nimport type {\n HTMLContent,\n InsertionContent,\n MarkdownContent,\n} from '@intlayer/core/transpiler';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport type {\n DeclaredLocales,\n LocalesValues,\n} from '@intlayer/types/module_augmentation';\nimport type { NodeType } from '@intlayer/types/nodeType';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { HTMLComponents } from './html/types';\nimport {\n type IntlayerNode as IntlayerNodeCore,\n renderIntlayerNode,\n} 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 type IntlayerNode<T, P = {}> = IntlayerNodeCore<T> & P;\n\nconst escapeHtmlAttr = (str: string): string =>\n str.replace(/&/g, '&amp;').replace(/\"/g, '&quot;');\n\nconst escapeHtmlText = (str: string): string =>\n str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n\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, keyPath, dictionaryKey }) => {\n if (process.env.INTLAYER_EDITOR_ENABLED !== 'false' && editor.enabled) {\n const rawStr = String(children ?? '');\n const keyPathJson = JSON.stringify(keyPath ?? []);\n const dictKey = String(dictionaryKey ?? '');\n\n /**\n * In editor mode, string coercion returns the wrapper HTML so that\n * `element.innerHTML = content.title` automatically inserts the\n * `<intlayer-content-selector-wrapper>` into the DOM.\n */\n const htmlStr = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(rawStr)}</intlayer-content-selector-wrapper>`;\n\n return renderIntlayerNode({\n value: children as string,\n children: htmlStr,\n keyPath,\n dictionaryKey,\n additionalProps: {\n toElement: (): HTMLElement => {\n const wrapper = document.createElement(\n 'intlayer-content-selector-wrapper'\n );\n wrapper.setAttribute('key-path', keyPathJson);\n wrapper.setAttribute('dictionary-key', dictKey);\n wrapper.textContent = rawStr;\n return wrapper;\n },\n },\n });\n }\n\n return renderIntlayerNode({\n value: children as string,\n children,\n });\n },\n};\n\n/** ---------------------------------------------\n * INSERTION PLUGIN\n * --------------------------------------------- */\n\nexport type InsertionCond<T, _S, L extends LocalesValues> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.INSERTION]: infer I;\n fields: readonly (infer F)[];\n}\n ? <V extends { [K in Extract<F, string>]: string | number }>(\n values: V\n ) => I extends string ? IntlayerNode<string> : DeepTransformContent<I, L>\n : never;\n\nexport const insertionPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_INSERTION === 'false'\n ? fallbackPlugin\n : {\n id: 'insertion-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.INSERTION,\n transform: (node: InsertionContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n { type: NodeTypes.INSERTION },\n ];\n\n const children = node[NodeTypes.INSERTION];\n\n const insertionStringPlugin: Plugins = {\n id: 'insertion-string-plugin',\n canHandle: (node) =>\n typeof node === 'string' || isInterpolableWrapperNode(node),\n transform: (node, subProps, deepTransformNode) => {\n // `html()`/`markdown()` nodes carry their `{{ … }}` placeholders\n // inside a raw string. Interpolate into that string, then re-run\n // the transform so the html/markdown renderer applies afterwards.\n if (isInterpolableWrapperNode(node)) {\n return (\n values: {\n [K in InsertionContent['fields'][number]]: string | number;\n }\n ) =>\n transformInterpolableNode(\n node,\n values,\n subProps,\n props.plugins,\n deepTransformNode\n );\n }\n\n const transformedResult = deepTransformNode(node, {\n ...subProps,\n children: node,\n plugins: (props.plugins ?? ([] as Plugins[])).filter(\n (plugin) => plugin.id !== 'intlayer-node-plugin'\n ),\n });\n\n return (\n values: {\n [K in InsertionContent['fields'][number]]: string | number;\n }\n ) => {\n const result = splitInsertionTemplate(\n transformedResult,\n values\n );\n const resultStr = result.isSimple\n ? (result.parts as string)\n : (result.parts as string[]).join('');\n\n return deepTransformNode(resultStr, {\n ...subProps,\n plugins: props.plugins,\n children: resultStr,\n });\n };\n },\n };\n\n const transformed = deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [insertionStringPlugin, ...(props.plugins ?? [])],\n });\n\n return resolveInsertedSelector(children, transformed);\n },\n };\n\n/** ---------------------------------------------\n * MARKDOWN PLUGIN\n * --------------------------------------------- */\n\nconst vanillaRuntime = {\n createElement: (tag: string, props: any, ...children: any[]) => {\n const attrs = Object.entries(props || {})\n .filter(\n ([key]) => key !== 'children' && key !== 'key' && key !== '_innerHTML'\n )\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n const innerHTML = props?._innerHTML;\n const childrenStr =\n innerHTML !== undefined ? innerHTML : children.flat(Infinity).join('');\n return `<${tag}${attrs ? ` ${attrs}` : ''}>${childrenStr}</${tag}>`;\n },\n normalizeProps: (_tag: string, props: Record<string, any>) => {\n const normalized: Record<string, any> = {};\n for (const [key, value] of Object.entries(props)) {\n if (key === 'className') {\n normalized.class = value;\n } else if (key === 'htmlFor') {\n normalized.for = value;\n } else if (key === 'dangerouslySetInnerHTML' && (value as any)?.__html) {\n normalized._innerHTML = (value as any).__html;\n } else {\n normalized[key] = value;\n }\n }\n return normalized;\n },\n};\n\nexport type MarkdownStringCond<T> = T extends string\n ? IntlayerNode<\n string,\n {\n metadata: DeepTransformContent<string>;\n /** Returns the rendered markdown; render with .use(). */\n use: (components?: HTMLComponents<'permissive', {}>) => string;\n }\n >\n : never;\n\nexport const markdownStringPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_MARKDOWN === 'false'\n ? fallbackPlugin\n : {\n id: 'markdown-string-plugin',\n canHandle: (node) => typeof node === 'string',\n transform: (node: string, props, deepTransformNode) => {\n const { plugins: _plugins, ...rest } = props;\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, subProps) =>\n renderIntlayerNode({\n ...subProps,\n value: metadataNode,\n children: node,\n }),\n };\n\n const metadataNodes = deepTransformNode(metadata, {\n plugins: [metadataPlugins],\n dictionaryKey: rest.dictionaryKey,\n keyPath: [],\n });\n\n const compile = (components: any = {}) =>\n compileWithOptions(\n node,\n {\n ...vanillaRuntime,\n createElement: (tag: any, props: any, ...children: any[]) => {\n const override = components[tag];\n if (typeof override === 'function') {\n return override({ ...props, children: children.join('') });\n }\n return vanillaRuntime.createElement(tag, props, ...children);\n },\n },\n {}\n ) as any;\n\n const value = compile();\n let children = node;\n\n if (\n process.env.INTLAYER_EDITOR_ENABLED !== 'false' &&\n editor.enabled\n ) {\n const keyPathJson = JSON.stringify(props.keyPath ?? []);\n const dictKey = String(props.dictionaryKey ?? '');\n children = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(value)}</intlayer-content-selector-wrapper>`;\n }\n\n return renderIntlayerNode({\n ...props,\n value,\n children,\n additionalProps: {\n metadata: metadataNodes,\n use: (components?: any) => compile(components),\n },\n }) as any;\n },\n };\n\nexport type MarkdownCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.MARKDOWN]: infer M;\n metadata?: infer U;\n tags?: infer U;\n}\n ? {\n use: (components?: HTMLComponents<'permissive', U>) => IntlayerNode<M>;\n metadata: DeepTransformContent<U>;\n }\n : never;\n\nexport const markdownPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_MARKDOWN === 'false'\n ? fallbackPlugin\n : {\n id: 'markdown-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.MARKDOWN,\n transform: (node: MarkdownContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n { type: NodeTypes.MARKDOWN },\n ];\n const children = node[NodeTypes.MARKDOWN];\n\n return deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [markdownStringPlugin, ...(props.plugins ?? [])],\n });\n },\n };\n\n/** ---------------------------------------------\n * HTML PLUGIN\n * --------------------------------------------- */\n\nexport type HTMLPluginCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.HTML]: infer I;\n tags?: infer U;\n}\n ? {\n use: (components?: HTMLComponents<'permissive', U>) => IntlayerNode<I>;\n }\n : never;\n\nexport const htmlPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_HTML === 'false'\n ? fallbackPlugin\n : {\n id: 'html-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.HTML,\n transform: (node: HTMLContent<string>, props) => {\n const htmlStr = node[NodeTypes.HTML];\n\n const use = (components: Record<string, any> = {}) => {\n const wrappedComponents = new Proxy(components, {\n get(target, prop) {\n if (typeof prop === 'string' && prop in target) {\n const Component = target[prop];\n return (props: any) => {\n const children = Array.isArray(props.children)\n ? props.children.join('')\n : props.children;\n return Component({ ...props, children });\n };\n }\n if (typeof prop === 'string' && /^[a-z][a-z0-9]*$/.test(prop)) {\n return (props: any) => {\n const attrs = Object.entries(props)\n .filter(([key]) => key !== 'children' && key !== 'key')\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n const children = Array.isArray(props.children)\n ? props.children.join('')\n : props.children;\n return `<${prop}${attrs ? ` ${attrs}` : ''}>${children}</${prop}>`;\n };\n }\n return undefined;\n },\n });\n\n const result = getHTML(htmlStr, wrappedComponents as any);\n return Array.isArray(result) ? result.join('') : result;\n };\n\n const value = use();\n let children = htmlStr;\n\n if (\n process.env.INTLAYER_EDITOR_ENABLED !== 'false' &&\n editor.enabled\n ) {\n const keyPathJson = JSON.stringify(props.keyPath ?? []);\n const dictKey = String(props.dictionaryKey ?? '');\n children = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(value)}</intlayer-content-selector-wrapper>`;\n }\n\n return renderIntlayerNode({\n ...props,\n value,\n children,\n additionalProps: {\n use: (components?: any) => use(components),\n },\n });\n },\n };\n\n/** ---------------------------------------------\n * PLUGINS RESULT\n * --------------------------------------------- */\n\nexport interface IInterpreterPluginVanilla<T, S, L extends LocalesValues> {\n vanillaIntlayerNode: IntlayerNodeCond<T>;\n vanillaInsertion: InsertionCond<T, S, L>;\n vanillaMarkdown: MarkdownCond<T>;\n vanillaHtml: HTMLPluginCond<T>;\n}\n\n/**\n * Insert this type as param of `DeepTransformContent` to avoid `intlayer` package pollution.\n *\n * Otherwise the `vanilla-intlayer` plugins will override the types of `intlayer` functions.\n * Use `getIntlayer` from `vanilla-intlayer` (not from `intlayer`) to get properly typed\n * `IntlayerNode` wrappers with `.value` access on string/number content.\n */\nexport type IInterpreterPluginState = Omit<\n IInterpreterPluginStateCore,\n 'insertion'\n> & {\n vanillaIntlayerNode: true;\n vanillaInsertion: true;\n vanillaMarkdown: true;\n vanillaHtml: true;\n};\n\nexport type DeepTransformContent<\n T,\n L extends LocalesValues = DeclaredLocales,\n> = DeepTransformContentCore<T, IInterpreterPluginState, L>;\n\nconst pluginsCache = new Map<string, Plugins[]>();\n\n/**\n * Get the plugins array for Vanilla content transformation.\n * This function is used by both getIntlayer and getDictionary to ensure consistent plugin configuration.\n */\nexport const getPlugins = (\n locale?: LocalesValues,\n fallback = true\n): Plugins[] => {\n const currentLocale = resolveInterpreterLocale(locale);\n const cacheKey = `${currentLocale}_${fallback}`;\n\n if (pluginsCache.has(cacheKey)) {\n return pluginsCache.get(cacheKey)!;\n }\n\n const plugins = [\n // First: most nodes are plain strings, which every other plugin rejects\n intlayerNodePlugins,\n translationPlugin(\n currentLocale,\n fallback ? internationalization.defaultLocale : undefined\n ),\n enumerationPlugin,\n pluralPlugin(currentLocale),\n conditionPlugin,\n nestedPlugin(currentLocale),\n filePlugin,\n genderPlugin,\n selectPlugin,\n insertionPlugin,\n markdownPlugin,\n htmlPlugin,\n ] as Plugins[];\n\n // Plugins disabled at build time never match: skip them on every node\n const enabledPlugins = plugins.filter((plugin) => plugin !== fallbackPlugin);\n\n pluginsCache.set(cacheKey, enabledPlugins);\n\n return enabledPlugins;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugins.mjs","names":[],"sources":["../../src/plugins.ts"],"sourcesContent":["import { editor, internationalization } from '@intlayer/config/built';\nimport {\n conditionPlugin,\n type DeepTransformContent as DeepTransformContentCore,\n enumerationPlugin,\n fallbackPlugin,\n filePlugin,\n genderPlugin,\n getHTML,\n type IInterpreterPluginState as IInterpreterPluginStateCore,\n isInterpolableWrapperNode,\n nestedPlugin,\n type Plugins,\n pluralPlugin,\n resolveInsertedSelector,\n resolveInterpreterLocale,\n selectPlugin,\n splitInsertionTemplate,\n transformInterpolableNode,\n translationPlugin,\n} from '@intlayer/core/interpreter';\nimport {\n compileWithOptions,\n getMarkdownMetadata,\n} from '@intlayer/core/markdown';\nimport type {\n HTMLContent,\n InsertionContent,\n MarkdownContent,\n} from '@intlayer/core/transpiler';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport type {\n DeclaredLocales,\n LocalesValues,\n} from '@intlayer/types/module_augmentation';\nimport type { NodeType } from '@intlayer/types/nodeType';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { HTMLComponents } from './html/types';\nimport {\n type IntlayerNode as IntlayerNodeCore,\n renderIntlayerNode,\n} 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 type IntlayerNode<T, P = {}> = IntlayerNodeCore<T> & P;\n\nconst escapeHtmlAttr = (str: string): string =>\n str.replace(/&/g, '&amp;').replace(/\"/g, '&quot;');\n\nconst escapeHtmlText = (str: string): string =>\n str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n\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, keyPath, dictionaryKey }) => {\n if (process.env.INTLAYER_EDITOR_ENABLED !== 'false' && editor.enabled) {\n const rawStr = String(children ?? '');\n const keyPathJson = JSON.stringify(keyPath ?? []);\n const dictKey = String(dictionaryKey ?? '');\n\n /**\n * In editor mode, string coercion returns the wrapper HTML so that\n * `element.innerHTML = content.title` automatically inserts the\n * `<intlayer-content-selector-wrapper>` into the DOM.\n */\n const htmlStr = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(rawStr)}</intlayer-content-selector-wrapper>`;\n\n return renderIntlayerNode({\n value: children as string,\n children: htmlStr,\n keyPath,\n dictionaryKey,\n additionalProps: {\n toElement: (): HTMLElement => {\n const wrapper = document.createElement(\n 'intlayer-content-selector-wrapper'\n );\n wrapper.setAttribute('key-path', keyPathJson);\n wrapper.setAttribute('dictionary-key', dictKey);\n wrapper.textContent = rawStr;\n return wrapper;\n },\n },\n });\n }\n\n return renderIntlayerNode({\n value: children as string,\n children,\n });\n },\n};\n\n/** ---------------------------------------------\n * INSERTION PLUGIN\n * --------------------------------------------- */\n\nexport type InsertionCond<T, _S, L extends LocalesValues> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.INSERTION]: infer I;\n fields: readonly (infer F)[];\n}\n ? <V extends { [K in Extract<F, string>]: string | number }>(\n values: V\n ) => I extends string ? IntlayerNode<string> : DeepTransformContent<I, L>\n : never;\n\nexport const insertionPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_INSERTION === 'false'\n ? fallbackPlugin\n : {\n id: 'insertion-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.INSERTION,\n transform: (node: InsertionContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n { type: NodeTypes.INSERTION },\n ];\n\n const children = node[NodeTypes.INSERTION];\n\n const insertionStringPlugin: Plugins = {\n id: 'insertion-string-plugin',\n canHandle: (node) =>\n typeof node === 'string' || isInterpolableWrapperNode(node),\n transform: (node, subProps, deepTransformNode) => {\n // `html()`/`markdown()` nodes carry their `{{ … }}` placeholders\n // inside a raw string. Interpolate into that string, then re-run\n // the transform so the html/markdown renderer applies afterwards.\n if (isInterpolableWrapperNode(node)) {\n return (values: {\n [K in InsertionContent['fields'][number]]: string | number;\n }) =>\n transformInterpolableNode(\n node,\n values,\n subProps,\n props.plugins,\n deepTransformNode\n );\n }\n\n const transformedResult = deepTransformNode(node, {\n ...subProps,\n children: node,\n plugins: (props.plugins ?? ([] as Plugins[])).filter(\n (plugin) => plugin.id !== 'intlayer-node-plugin'\n ),\n });\n\n return (values: {\n [K in InsertionContent['fields'][number]]: string | number;\n }) => {\n const result = splitInsertionTemplate(\n transformedResult,\n values\n );\n const resultStr = result.isSimple\n ? (result.parts as string)\n : (result.parts as string[]).join('');\n\n return deepTransformNode(resultStr, {\n ...subProps,\n plugins: props.plugins,\n children: resultStr,\n });\n };\n },\n };\n\n const transformed = deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [insertionStringPlugin, ...(props.plugins ?? [])],\n });\n\n return resolveInsertedSelector(children, transformed);\n },\n };\n\n/** ---------------------------------------------\n * MARKDOWN PLUGIN\n * --------------------------------------------- */\n\nconst vanillaRuntime = {\n createElement: (tag: string, props: any, ...children: any[]) => {\n const attrs = Object.entries(props || {})\n .filter(\n ([key]) => key !== 'children' && key !== 'key' && key !== '_innerHTML'\n )\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n const innerHTML = props?._innerHTML;\n const childrenStr =\n innerHTML !== undefined ? innerHTML : children.flat(Infinity).join('');\n return `<${tag}${attrs ? ` ${attrs}` : ''}>${childrenStr}</${tag}>`;\n },\n normalizeProps: (_tag: string, props: Record<string, any>) => {\n const normalized: Record<string, any> = {};\n for (const [key, value] of Object.entries(props)) {\n if (key === 'className') {\n normalized.class = value;\n } else if (key === 'htmlFor') {\n normalized.for = value;\n } else if (key === 'dangerouslySetInnerHTML' && (value as any)?.__html) {\n normalized._innerHTML = (value as any).__html;\n } else {\n normalized[key] = value;\n }\n }\n return normalized;\n },\n};\n\nexport type MarkdownStringCond<T> = T extends string\n ? IntlayerNode<\n string,\n {\n metadata: DeepTransformContent<string>;\n /** Returns the rendered markdown; render with .use(). */\n use: (components?: HTMLComponents<'permissive', {}>) => string;\n }\n >\n : never;\n\nexport const markdownStringPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_MARKDOWN === 'false'\n ? fallbackPlugin\n : {\n id: 'markdown-string-plugin',\n canHandle: (node) => typeof node === 'string',\n transform: (node: string, props, deepTransformNode) => {\n const { plugins: _plugins, ...rest } = props;\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, subProps) =>\n renderIntlayerNode({\n ...subProps,\n value: metadataNode,\n children: node,\n }),\n };\n\n const metadataNodes = deepTransformNode(metadata, {\n plugins: [metadataPlugins],\n dictionaryKey: rest.dictionaryKey,\n keyPath: [],\n });\n\n const compile = (components: any = {}) =>\n compileWithOptions(\n node,\n {\n ...vanillaRuntime,\n createElement: (tag: any, props: any, ...children: any[]) => {\n const override = components[tag];\n if (typeof override === 'function') {\n return override({ ...props, children: children.join('') });\n }\n return vanillaRuntime.createElement(tag, props, ...children);\n },\n },\n {}\n ) as any;\n\n const value = compile();\n let children = node;\n\n if (\n process.env.INTLAYER_EDITOR_ENABLED !== 'false' &&\n editor.enabled\n ) {\n const keyPathJson = JSON.stringify(props.keyPath ?? []);\n const dictKey = String(props.dictionaryKey ?? '');\n children = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(value)}</intlayer-content-selector-wrapper>`;\n }\n\n return renderIntlayerNode({\n ...props,\n value,\n children,\n additionalProps: {\n metadata: metadataNodes,\n use: (components?: any) => compile(components),\n },\n }) as any;\n },\n };\n\nexport type MarkdownCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.MARKDOWN]: infer M;\n metadata?: infer U;\n tags?: infer U;\n}\n ? {\n use: (components?: HTMLComponents<'permissive', U>) => IntlayerNode<M>;\n metadata: DeepTransformContent<U>;\n }\n : never;\n\nexport const markdownPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_MARKDOWN === 'false'\n ? fallbackPlugin\n : {\n id: 'markdown-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.MARKDOWN,\n transform: (node: MarkdownContent, props, deepTransformNode) => {\n const newKeyPath: KeyPath[] = [\n ...props.keyPath,\n { type: NodeTypes.MARKDOWN },\n ];\n const children = node[NodeTypes.MARKDOWN];\n\n return deepTransformNode(children, {\n ...props,\n children,\n keyPath: newKeyPath,\n plugins: [markdownStringPlugin, ...(props.plugins ?? [])],\n });\n },\n };\n\n/** ---------------------------------------------\n * HTML PLUGIN\n * --------------------------------------------- */\n\nexport type HTMLPluginCond<T> = T extends {\n nodeType: NodeType | string;\n [NodeTypes.HTML]: infer I;\n tags?: infer U;\n}\n ? {\n use: (components?: HTMLComponents<'permissive', U>) => IntlayerNode<I>;\n }\n : never;\n\nexport const htmlPlugin: Plugins =\n process.env.INTLAYER_NODE_TYPE_HTML === 'false'\n ? fallbackPlugin\n : {\n id: 'html-plugin',\n canHandle: (node) =>\n typeof node === 'object' && node?.nodeType === NodeTypes.HTML,\n transform: (node: HTMLContent<string>, props) => {\n const htmlStr = node[NodeTypes.HTML];\n\n const use = (components: Record<string, any> = {}) => {\n const wrappedComponents = new Proxy(components, {\n get(target, prop) {\n if (typeof prop === 'string' && prop in target) {\n const Component = target[prop];\n return (props: any) => {\n const children = Array.isArray(props.children)\n ? props.children.join('')\n : props.children;\n return Component({ ...props, children });\n };\n }\n if (typeof prop === 'string' && /^[a-z][a-z0-9]*$/.test(prop)) {\n return (props: any) => {\n const attrs = Object.entries(props)\n .filter(([key]) => key !== 'children' && key !== 'key')\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n const children = Array.isArray(props.children)\n ? props.children.join('')\n : props.children;\n return `<${prop}${attrs ? ` ${attrs}` : ''}>${children}</${prop}>`;\n };\n }\n return undefined;\n },\n });\n\n const result = getHTML(htmlStr, wrappedComponents as any);\n return Array.isArray(result) ? result.join('') : result;\n };\n\n const value = use();\n let children = htmlStr;\n\n if (\n process.env.INTLAYER_EDITOR_ENABLED !== 'false' &&\n editor.enabled\n ) {\n const keyPathJson = JSON.stringify(props.keyPath ?? []);\n const dictKey = String(props.dictionaryKey ?? '');\n children = `<intlayer-content-selector-wrapper key-path=\"${escapeHtmlAttr(keyPathJson)}\" dictionary-key=\"${escapeHtmlAttr(dictKey)}\">${escapeHtmlText(value)}</intlayer-content-selector-wrapper>`;\n }\n\n return renderIntlayerNode({\n ...props,\n value,\n children,\n additionalProps: {\n use: (components?: any) => use(components),\n },\n });\n },\n };\n\n/** ---------------------------------------------\n * PLUGINS RESULT\n * --------------------------------------------- */\n\nexport interface IInterpreterPluginVanilla<T, S, L extends LocalesValues> {\n vanillaIntlayerNode: IntlayerNodeCond<T>;\n vanillaInsertion: InsertionCond<T, S, L>;\n vanillaMarkdown: MarkdownCond<T>;\n vanillaHtml: HTMLPluginCond<T>;\n}\n\n/**\n * Insert this type as param of `DeepTransformContent` to avoid `intlayer` package pollution.\n *\n * Otherwise the `vanilla-intlayer` plugins will override the types of `intlayer` functions.\n * Use `getIntlayer` from `vanilla-intlayer` (not from `intlayer`) to get properly typed\n * `IntlayerNode` wrappers with `.value` access on string/number content.\n */\nexport type IInterpreterPluginState = Omit<\n IInterpreterPluginStateCore,\n 'insertion'\n> & {\n vanillaIntlayerNode: true;\n vanillaInsertion: true;\n vanillaMarkdown: true;\n vanillaHtml: true;\n};\n\nexport type DeepTransformContent<\n T,\n L extends LocalesValues = DeclaredLocales,\n> = DeepTransformContentCore<T, IInterpreterPluginState, L>;\n\nconst pluginsCache = new Map<string, Plugins[]>();\n\n/**\n * Get the plugins array for Vanilla content transformation.\n * This function is used by both getIntlayer and getDictionary to ensure consistent plugin configuration.\n */\nexport const getPlugins = (\n locale?: LocalesValues,\n fallback = true\n): Plugins[] => {\n const currentLocale = resolveInterpreterLocale(locale);\n const cacheKey = `${currentLocale}_${fallback}`;\n\n if (pluginsCache.has(cacheKey)) {\n return pluginsCache.get(cacheKey)!;\n }\n\n const plugins = [\n // First: most nodes are plain strings, which every other plugin rejects\n intlayerNodePlugins,\n translationPlugin(\n currentLocale,\n fallback ? internationalization.defaultLocale : undefined\n ),\n enumerationPlugin,\n pluralPlugin(currentLocale),\n conditionPlugin,\n nestedPlugin(currentLocale),\n filePlugin,\n genderPlugin,\n selectPlugin,\n insertionPlugin,\n markdownPlugin,\n htmlPlugin,\n ] as Plugins[];\n\n // Plugins disabled at build time never match: skip them on every node\n const enabledPlugins = plugins.filter((plugin) => plugin !== fallbackPlugin);\n\n pluginsCache.set(cacheKey, enabledPlugins);\n\n return enabledPlugins;\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { getIntlayerNodePrototype } from "@intlayer/core/utils";
2
2
 
3
- //#region src/renderIntlayerNode.ts
3
+ // src/renderIntlayerNode.ts
4
4
  const renderIntlayerNode = ({ value, children, additionalProps = {} }) => {
5
5
  let _value = value;
6
6
  const displayOverride = typeof children === "string" && children !== String(value ?? "") ? children : null;
@@ -26,6 +26,5 @@ const renderIntlayerNode = ({ value, children, additionalProps = {} }) => {
26
26
  };
27
27
  };
28
28
 
29
- //#endregion
30
29
  export { renderIntlayerNode };
31
30
  //# sourceMappingURL=renderIntlayerNode.mjs.map
@@ -1,5 +1,4 @@
1
1
  import { LocalesValues, ProviderVariant } from "@intlayer/types/module_augmentation";
2
- //#region src/client/installIntlayer.d.ts
3
2
  type LocaleListener = (locale: LocalesValues) => void;
4
3
  export declare class IntlayerClient {
5
4
  private _locale;
@@ -71,5 +70,5 @@ export declare const installIntlayer: ({ locale, isCookieEnabled, variant }?: {
71
70
  isCookieEnabled?: boolean;
72
71
  variant?: ProviderVariant;
73
72
  }) => IntlayerClient;
74
- //#endregion
73
+ export {};
75
74
  //# sourceMappingURL=installIntlayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installIntlayer.d.ts","names":[],"sources":["../../../src/client/installIntlayer.ts"],"mappings":";;KASK,kBAAkB,QAAQ;qBAElB;UACH;UACA;UACA;EACR;EAEA,YACE,SAAS,eACT,2BACA,UAAU;MAeR,UAAU;;;;;MAQV,WAAW;EAIf,UAAU,WAAW;EAOrB,WAAW,YAAY;EAKvB,UAAU,UAAU;;;;;EAWpB;;;;;qBAeW,uBAAoB,SACtB,eAAa,2BAAA,UAEZ,oBACT;;;;qBAUU,yBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA2CxB,oBAAe,QAAA,iBAAA;EAK1B,SAAS;EACT;EACA,UAAU;MACH"}
1
+ {"version":3,"file":"installIntlayer.d.ts","names":[],"sources":["../../../src/client/installIntlayer.ts"],"mappings":";KASK,kBAAkB,QAAQ;qBAElB;UACH;UACA;UACA;EACR;EAEA,YACE,SAAS,eACT,2BACA,UAAU;MAeR,UAAU;;;;;MAQV,WAAW;EAIf,UAAU,WAAW;EAOrB,WAAW,YAAY;EAKvB,UAAU,UAAU;;;;;EAWpB;;;;;qBAeW,uBAAoB,SACtB,eAAa,2BAAA,UAEZ,oBACT;;;;qBAUU,yBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA2CxB,oBAAe,QAAA,iBAAA;EAK1B,SAAS;EACT;EACA,UAAU;MACH"}
@@ -1,7 +1,6 @@
1
1
  import { DeepTransformContent } from "../plugins.js";
2
2
  import { DeclaredLocales, ExtractSelectorLocale, LocalesValues } from "@intlayer/types/module_augmentation";
3
3
  import { Dictionary, DictionarySelectorForGroup, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent } from "@intlayer/types/dictionary";
4
- //#region src/client/useDictionary.d.ts
5
4
  export type WithOnChange<T> = T & {
6
5
  /**
7
6
  * Subscribe to locale changes. The callback receives the fresh content
@@ -29,5 +28,4 @@ export type WithOnChange<T> = T & {
29
28
  * @returns The current content with an `.onChange()` method.
30
29
  */
31
30
  export declare const useDictionary: <const T extends Dictionary | QualifiedDictionaryGroup, const A extends LocalesValues | DictionarySelectorForGroup<T> = DeclaredLocales>(dictionary: T, localeOrSelector?: A) => WithOnChange<DeepTransformContent<ResolveQualifiedDictionaryContent<T, A>, ExtractSelectorLocale<A>>>;
32
- //#endregion
33
31
  //# sourceMappingURL=useDictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionary.d.ts","names":[],"sources":["../../../src/client/useDictionary.ts"],"mappings":";;;;YAiBY,aAAa,KAAK;;;;;;;;;;;;EAY5B,WAAW,WAAW,0BAA0B,aAAa;;;;;;;;;;;;;;qBAelD,sBACL,UAAU,aAAa,gCACvB,UACF,gBACA,2BAA2B,KAAK,iBAAe,YAEvC,GAAC,mBACM,MAClB,aACD,qBACE,kCAAkC,GAAG,IACrC,sBAAsB"}
1
+ {"version":3,"file":"useDictionary.d.ts","names":[],"sources":["../../../src/client/useDictionary.ts"],"mappings":";;;YAiBY,aAAa,KAAK;;;;;;;;;;;;EAY5B,WAAW,WAAW,0BAA0B,aAAa;;;;;;;;;;;;;;qBAelD,sBACL,UAAU,aAAa,gCACvB,UAAU,gBAAgB,2BAA2B,KACzD,iBAAe,YAEL,GAAC,mBACM,MAClB,aACD,qBACE,kCAAkC,GAAG,IACrC,sBAAsB"}
@@ -3,7 +3,6 @@ import { WithOnChange } from "./useDictionary.js";
3
3
  import { DeclaredLocales, DictionaryKeys, DictionarySelectorForKey, LocalesValues, StrictModeLocaleMap } from "@intlayer/types/module_augmentation";
4
4
  import { Dictionary } from "@intlayer/types/dictionary";
5
5
  import { QualifiedDynamicLoaderMap } from "@intlayer/core/dictionaryManipulator";
6
- //#region src/client/useDictionaryDynamic.d.ts
7
6
  /**
8
7
  * Dynamically load and transform a dictionary (plain or qualified).
9
8
  *
@@ -18,5 +17,4 @@ import { QualifiedDynamicLoaderMap } from "@intlayer/core/dictionaryManipulator"
18
17
  * @param localeOrSelector - Optional locale or selector.
19
18
  */
20
19
  export declare const useDictionaryDynamic: <const T extends Dictionary, const K extends DictionaryKeys, const A extends LocalesValues | DictionarySelectorForKey<K> = DeclaredLocales>(dictionaryLoaders: StrictModeLocaleMap<() => Promise<T>> | QualifiedDynamicLoaderMap, key: K, localeOrSelector?: A) => WithOnChange<DeepTransformContent<T['content']>>;
21
- //#endregion
22
20
  //# sourceMappingURL=useDictionaryDynamic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDynamic.d.ts","names":[],"sources":["../../../src/client/useDictionaryDynamic.ts"],"mappings":";;;;;;;;;;;;;;;;;;;qBA2Ea,6BACL,UAAU,kBACV,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,mBAGzE,0BAA0B,QAAQ,MAClC,2BAAyB,KACxB,GAAC,mBACa,MAClB,aAAa,qBAAqB"}
1
+ {"version":3,"file":"useDictionaryDynamic.d.ts","names":[],"sources":["../../../src/client/useDictionaryDynamic.ts"],"mappings":";;;;;;;;;;;;;;;;;;qBA2Ea,6BACL,UAAU,kBACV,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,mBAGzE,0BAA0B,QAAQ,MAClC,2BAAyB,KACxB,GAAC,mBACa,MAClB,aAAa,qBAAqB"}
@@ -1,7 +1,6 @@
1
1
  import { DeepTransformContent } from "../plugins.js";
2
2
  import { WithOnChange } from "./useDictionary.js";
3
3
  import { DeclaredLocales, DictionaryKeys, DictionaryRegistryResult, DictionarySelectorForKey, ExtractSelectorLocale, LocalesValues } from "@intlayer/types/module_augmentation";
4
- //#region src/client/useIntlayer.d.ts
5
4
  /**
6
5
  * Get the translated content for the given key and optionally subscribe to
7
6
  * locale changes via the chainable `.onChange()` method — mirroring the API
@@ -30,5 +29,4 @@ import { DeclaredLocales, DictionaryKeys, DictionaryRegistryResult, DictionarySe
30
29
  * ```
31
30
  */
32
31
  export declare const useIntlayer: <const T extends DictionaryKeys, const A extends LocalesValues | DictionarySelectorForKey<T> = DeclaredLocales>(key: T, localeOrSelector?: A) => WithOnChange<DeepTransformContent<DictionaryRegistryResult<T, A>, ExtractSelectorLocale<A>>>;
33
- //#endregion
34
32
  //# sourceMappingURL=useIntlayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIntlayer.d.ts","names":[],"sources":["../../../src/client/useIntlayer.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0Ca,oBACL,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,KAExE,GAAC,mBACa,MAClB,aACD,qBAAqB,yBAAyB,GAAG,IAAI,sBAAsB"}
1
+ {"version":3,"file":"useIntlayer.d.ts","names":[],"sources":["../../../src/client/useIntlayer.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0Ca,oBACL,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,KAExE,GAAC,mBACa,MAClB,aACD,qBAAqB,yBAAyB,GAAG,IAAI,sBAAsB"}
@@ -1,5 +1,4 @@
1
1
  import { DeclaredLocales, LocalesValues } from "@intlayer/types/module_augmentation";
2
- //#region src/client/useLocale.d.ts
3
2
  export type UseLocaleProps = {
4
3
  isCookieEnabled?: boolean;
5
4
  onLocaleChange?: (locale: DeclaredLocales) => void;
@@ -39,5 +38,4 @@ export type UseLocaleResult = {
39
38
  * ```
40
39
  */
41
40
  export declare const useLocale: (props?: UseLocaleProps) => UseLocaleResult;
42
- //#endregion
43
41
  //# sourceMappingURL=useLocale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocale.d.ts","names":[],"sources":["../../../src/client/useLocale.ts"],"mappings":";;YAQY;EACV;EACA,kBAAkB,QAAQ;;YAGhB;EACV,QAAQ;EACR,eAAe;EACf,kBAAkB;EAClB,YAAY,QAAQ;EACpB,YAAY,WAAW,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgCpB,YAAS,QAAW,mBAAsB"}
1
+ {"version":3,"file":"useLocale.d.ts","names":[],"sources":["../../../src/client/useLocale.ts"],"mappings":";YAQY;EACV;EACA,kBAAkB,QAAQ;;YAGhB;EACV,QAAQ;EACR,eAAe;EACf,kBAAkB;EAClB,YAAY,QAAQ;EACpB,YAAY,WAAW,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgCpB,YAAS,QAAW,mBAAsB"}
@@ -1,5 +1,4 @@
1
1
  import { LocalesValues } from "@intlayer/types/module_augmentation";
2
- //#region src/client/useLocaleStorage.d.ts
3
2
  /**
4
3
  * Reads the locale persisted in the browser storage (cookie, localStorage…).
5
4
  *
@@ -37,5 +36,4 @@ export declare const useLocaleStorage: (isCookieEnabled?: boolean) => {
37
36
  * @deprecated Use useLocaleStorage instead.
38
37
  */
39
38
  export declare const useLocaleCookie: typeof useLocaleStorage;
40
- //#endregion
41
39
  //# sourceMappingURL=useLocaleStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocaleStorage.d.ts","names":[],"sources":["../../../src/client/useLocaleStorage.ts"],"mappings":";;;;;;;;qBAea,oDAAkB;;;;;;;qBAQlB,2CAAe;;;;qBAMf,wCAAY;;;;qBAKZ,qBAAkB,QACrB,eAAa;;;;qBAWV,wBAAe;;;;qBAKf,mBAAgB;EAOzB,yCAAa;EACb,mBAAgB,QAAA;;;;;qBAOP,wBAAe"}
1
+ {"version":3,"file":"useLocaleStorage.d.ts","names":[],"sources":["../../../src/client/useLocaleStorage.ts"],"mappings":";;;;;;;qBAea,oDAAkB;;;;;;;qBAQlB,2CAAe;;;;qBAMf,wCAAY;;;;qBAKZ,qBAAkB,QACrB,eAAa;;;;qBAWV,wBAAe;;;;qBAKf,mBAAgB;EAOzB,yCAAa;EACb,mBAAgB,QAAA;;;;;qBAOP,wBAAe"}
@@ -1,4 +1,3 @@
1
- //#region src/client/usePathname.d.ts
2
1
  export type UsePathnameResult = {
3
2
  /** Current pathname without the locale prefix. */
4
3
  pathname: string;
@@ -31,5 +30,4 @@ export type UsePathnameResult = {
31
30
  * ```
32
31
  */
33
32
  export declare const usePathname: () => UsePathnameResult;
34
- //#endregion
35
33
  //# sourceMappingURL=usePathname.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePathname.d.ts","names":[],"sources":["../../../src/client/usePathname.ts"],"mappings":";YAEY;;EAEV;;;;;;;EAOA,YAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;qBAuBZ,mBAAkB"}
1
+ {"version":3,"file":"usePathname.d.ts","names":[],"sources":["../../../src/client/usePathname.ts"],"mappings":"A,YAEY;;EAEV;;;;;;;EAOA,YAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;qBAuBZ,mBAAkB"}
@@ -1,4 +1,3 @@
1
- //#region src/client/useRewriteURL.d.ts
2
1
  /**
3
2
  * Keep the browser URL in sync with the current locale.
4
3
  *
@@ -22,5 +21,4 @@
22
21
  * ```
23
22
  */
24
23
  export declare const useRewriteURL: () => (() => void);
25
- //#endregion
26
24
  //# sourceMappingURL=useRewriteURL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRewriteURL.d.ts","names":[],"sources":["../../../src/client/useRewriteURL.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;qBA8Ca"}
1
+ {"version":3,"file":"useRewriteURL.d.ts","names":[],"sources":["../../../src/client/useRewriteURL.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;qBA8Ca"}
@@ -1,4 +1,3 @@
1
- //#region src/editor/useEditor.d.ts
2
1
  /**
3
2
  * Initialises the Intlayer visual editor client.
4
3
  *
@@ -18,5 +17,4 @@
18
17
  * ```
19
18
  */
20
19
  export declare const useEditor: () => (() => void);
21
- //#endregion
22
20
  //# sourceMappingURL=useEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEditor.d.ts","names":[],"sources":["../../../src/editor/useEditor.ts"],"mappings":";;;;;;;;;;;;;;;;;;;qBAyBa"}
1
+ {"version":3,"file":"useEditor.d.ts","names":[],"sources":["../../../src/editor/useEditor.ts"],"mappings":";;;;;;;;;;;;;;;;;;qBAyBa"}
@@ -1,5 +1,3 @@
1
1
  import { compact } from "@intlayer/core/formatters";
2
- //#region src/format/useCompact.d.ts
3
2
  export declare const useCompact: () => (...args: Parameters<typeof compact>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=useCompact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCompact.d.ts","names":[],"sources":["../../../src/format/useCompact.ts"],"mappings":";;qBAGa,sBAAU,MAGJ,kBAAkB"}
1
+ {"version":3,"file":"useCompact.d.ts","names":[],"sources":["../../../src/format/useCompact.ts"],"mappings":";qBAGa,sBAAU,MAGJ,kBAAkB"}
@@ -1,5 +1,3 @@
1
1
  import { currency } from "@intlayer/core/formatters";
2
- //#region src/format/useCurrency.d.ts
3
2
  export declare const useCurrency: () => (...args: Parameters<typeof currency>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=useCurrency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrency.d.ts","names":[],"sources":["../../../src/format/useCurrency.ts"],"mappings":";;qBAGa,uBAAW,MAGL,kBAAkB"}
1
+ {"version":3,"file":"useCurrency.d.ts","names":[],"sources":["../../../src/format/useCurrency.ts"],"mappings":";qBAGa,uBAAW,MAGL,kBAAkB"}
@@ -1,8 +1,6 @@
1
1
  import { date } from "@intlayer/core/formatters";
2
- //#region src/format/useDate.d.ts
3
2
  /**
4
3
  * Vanilla JS hook that provides a localized date/time formatter.
5
4
  */
6
5
  export declare const useDate: () => (...args: Parameters<typeof date>) => string;
7
- //#endregion
8
6
  //# sourceMappingURL=useDate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDate.d.ts","names":[],"sources":["../../../src/format/useDate.ts"],"mappings":";;;;;qBAMa,mBAAO,MAGD,kBAAkB"}
1
+ {"version":3,"file":"useDate.d.ts","names":[],"sources":["../../../src/format/useDate.ts"],"mappings":";;;;qBAMa,mBAAO,MAGD,kBAAkB"}
@@ -1,6 +1,5 @@
1
1
  import { LocalesValues } from "@intlayer/types/module_augmentation";
2
2
  import { WrappedIntl } from "@intlayer/core/utils";
3
- //#region src/format/useIntl.d.ts
4
3
  /**
5
4
  * Get a locale-bound `Intl` object and subscribe to locale changes.
6
5
  *
@@ -30,5 +29,4 @@ export declare const useIntl: (locale?: LocalesValues) => {
30
29
  intl: WrappedIntl;
31
30
  subscribe: (callback: (intl: WrappedIntl) => void) => () => void;
32
31
  };
33
- //#endregion
34
32
  //# sourceMappingURL=useIntl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIntl.d.ts","names":[],"sources":["../../../src/format/useIntl.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6Ba,UAAO,SACT;EAET,MAAM;EACN,YAAY,WAAW,MAAM"}
1
+ {"version":3,"file":"useIntl.d.ts","names":[],"sources":["../../../src/format/useIntl.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6Ba,UAAO,SACT;EAET,MAAM;EACN,YAAY,WAAW,MAAM"}
@@ -1,5 +1,3 @@
1
1
  import { list } from "@intlayer/core/formatters";
2
- //#region src/format/useList.d.ts
3
2
  export declare const useList: () => (...args: Parameters<typeof list>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=useList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useList.d.ts","names":[],"sources":["../../../src/format/useList.ts"],"mappings":";;qBAGa,mBAAO,MAGD,kBAAkB"}
1
+ {"version":3,"file":"useList.d.ts","names":[],"sources":["../../../src/format/useList.ts"],"mappings":";qBAGa,mBAAO,MAGD,kBAAkB"}
@@ -1,8 +1,6 @@
1
1
  import { number } from "@intlayer/core/formatters";
2
- //#region src/format/useNumber.d.ts
3
2
  /**
4
3
  * Vanilla JS hook that provides a localized number formatter.
5
4
  */
6
5
  export declare const useNumber: () => (...args: Parameters<typeof number>) => string;
7
- //#endregion
8
6
  //# sourceMappingURL=useNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNumber.d.ts","names":[],"sources":["../../../src/format/useNumber.ts"],"mappings":";;;;;qBAMa,qBAAS,MAGH,kBAAkB"}
1
+ {"version":3,"file":"useNumber.d.ts","names":[],"sources":["../../../src/format/useNumber.ts"],"mappings":";;;;qBAMa,qBAAS,MAGH,kBAAkB"}
@@ -1,5 +1,3 @@
1
1
  import { percentage } from "@intlayer/core/formatters";
2
- //#region src/format/usePercentage.d.ts
3
2
  export declare const usePercentage: () => (...args: Parameters<typeof percentage>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=usePercentage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePercentage.d.ts","names":[],"sources":["../../../src/format/usePercentage.ts"],"mappings":";;qBAGa,yBAAa,MAGP,kBAAkB"}
1
+ {"version":3,"file":"usePercentage.d.ts","names":[],"sources":["../../../src/format/usePercentage.ts"],"mappings":";qBAGa,yBAAa,MAGP,kBAAkB"}
@@ -1,5 +1,3 @@
1
1
  import { relativeTime } from "@intlayer/core/formatters";
2
- //#region src/format/useRelativeTime.d.ts
3
2
  export declare const useRelativeTime: () => (...args: Parameters<typeof relativeTime>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=useRelativeTime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRelativeTime.d.ts","names":[],"sources":["../../../src/format/useRelativeTime.ts"],"mappings":";;qBAGa,2BAAe,MAGT,kBAAkB"}
1
+ {"version":3,"file":"useRelativeTime.d.ts","names":[],"sources":["../../../src/format/useRelativeTime.ts"],"mappings":";qBAGa,2BAAe,MAGT,kBAAkB"}
@@ -1,5 +1,3 @@
1
1
  import { units } from "@intlayer/core/formatters";
2
- //#region src/format/useUnit.d.ts
3
2
  export declare const useUnit: () => (...args: Parameters<typeof units>) => string;
4
- //#endregion
5
3
  //# sourceMappingURL=useUnit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnit.d.ts","names":[],"sources":["../../../src/format/useUnit.ts"],"mappings":";;qBAGa,mBAAO,MAGD,kBAAkB"}
1
+ {"version":3,"file":"useUnit.d.ts","names":[],"sources":["../../../src/format/useUnit.ts"],"mappings":";qBAGa,mBAAO,MAGD,kBAAkB"}
@@ -1,12 +1,10 @@
1
1
  import { DeepTransformContent } from "./plugins.js";
2
2
  import { DeclaredLocales, ExtractSelectorLocale, LocalesValues } from "@intlayer/types/module_augmentation";
3
3
  import { Dictionary, DictionarySelectorForGroup, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent } from "@intlayer/types/dictionary";
4
- //#region src/getDictionary.d.ts
5
4
  /**
6
5
  * Transforms a dictionary (or qualified dictionary group) and returns its
7
6
  * content for the given locale or selector (`{ item }`, `{ variant }`,
8
7
  * optionally combined with `locale`).
9
8
  */
10
9
  export declare const getDictionary: <const T extends Dictionary | QualifiedDictionaryGroup, const A extends LocalesValues | DictionarySelectorForGroup<T> = DeclaredLocales>(dictionary: T, localeOrSelector?: A) => DeepTransformContent<ResolveQualifiedDictionaryContent<T, A>, ExtractSelectorLocale<A>>;
11
- //#endregion
12
10
  //# sourceMappingURL=getDictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDictionary.d.ts","names":[],"sources":["../../src/getDictionary.ts"],"mappings":";;;;;;;;;qBAmBa,sBACL,UAAU,aAAa,gCACvB,UACF,gBACA,2BAA2B,KAAK,iBAAe,YAEvC,GAAC,mBACM,MAClB,qBACD,kCAAkC,GAAG,IACrC,sBAAsB"}
1
+ {"version":3,"file":"getDictionary.d.ts","names":[],"sources":["../../src/getDictionary.ts"],"mappings":";;;;;;;;qBAmBa,sBACL,UAAU,aAAa,gCACvB,UAAU,gBAAgB,2BAA2B,KACzD,iBAAe,YAEL,GAAC,mBACM,MAClB,qBACD,kCAAkC,GAAG,IACrC,sBAAsB"}
@@ -1,11 +1,9 @@
1
1
  import { DeepTransformContent } from "./plugins.js";
2
2
  import { DeclaredLocales, DictionaryKeys, DictionaryRegistryResult, DictionarySelectorForKey, ExtractSelectorLocale, LocalesValues } from "@intlayer/types/module_augmentation";
3
- //#region src/getIntlayer.d.ts
4
3
  /**
5
4
  * Picks one dictionary by its key and returns its content for the given
6
5
  * locale or selector (`{ item }`, `{ variant }`,
7
6
  * optionally combined with `locale`).
8
7
  */
9
8
  export declare const getIntlayer: <const T extends DictionaryKeys, const A extends LocalesValues | DictionarySelectorForKey<T> = DeclaredLocales>(key: T, localeOrSelector?: A) => DeepTransformContent<DictionaryRegistryResult<T, A>, ExtractSelectorLocale<A>>;
10
- //#endregion
11
9
  //# sourceMappingURL=getIntlayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getIntlayer.d.ts","names":[],"sources":["../../src/getIntlayer.ts"],"mappings":";;;;;;;;qBAgBa,oBACL,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,KAExE,GAAC,mBACa,MAClB,qBACD,yBAAyB,GAAG,IAC5B,sBAAsB"}
1
+ {"version":3,"file":"getIntlayer.d.ts","names":[],"sources":["../../src/getIntlayer.ts"],"mappings":";;;;;;;qBAgBa,oBACL,UAAU,sBACV,UAAU,gBAAgB,yBAAyB,KAAK,iBAAe,KAExE,GAAC,mBACa,MAClB,qBACD,yBAAyB,GAAG,IAC5B,sBAAsB"}
@@ -1,5 +1,4 @@
1
1
  import { HTMLComponents } from "./types.js";
2
- //#region src/html/HTMLRenderer.d.ts
3
2
  export type RenderHTMLProps = {
4
3
  components?: HTMLComponents<'permissive', {}>;
5
4
  };
@@ -13,5 +12,4 @@ export declare const renderHTML: (content: string, _props?: RenderHTMLProps) =>
13
12
  * (installed via `installIntlayerHTML`), falling back to identity.
14
13
  */
15
14
  export declare const useHTMLRenderer: ({ components }?: RenderHTMLProps) => ((content: string) => string);
16
- //#endregion
17
15
  //# sourceMappingURL=HTMLRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLRenderer.d.ts","names":[],"sources":["../../../src/html/HTMLRenderer.ts"],"mappings":";;YAGY;EACV,aAAa;;;;;;qBAOF,aAAU,iBACN,SACP;;;;;qBAOG,oBAAe,eAEzB,sBAAyB"}
1
+ {"version":3,"file":"HTMLRenderer.d.ts","names":[],"sources":["../../../src/html/HTMLRenderer.ts"],"mappings":";YAGY;EACV,aAAa;;;;;;qBAOF,aAAU,iBACN,SACP;;;;;qBAOG,oBAAe,eAAoB,sBAC9C"}
@@ -1,4 +1,4 @@
1
- import { HTMLComponents } from "./types.js";
2
1
  import { RenderHTMLProps, renderHTML, useHTMLRenderer } from "./HTMLRenderer.js";
3
2
  import { IntlayerHTMLPluginOptions, IntlayerHTMLProvider, RenderHTMLFunction, RenderHTMLOptions, installIntlayerHTML, installIntlayerHTMLDynamic, useHTML } from "./installIntlayerHTML.js";
3
+ import { HTMLComponents } from "./types.js";
4
4
  export { type HTMLComponents, type IntlayerHTMLPluginOptions, type IntlayerHTMLProvider, type RenderHTMLFunction, type RenderHTMLOptions, type RenderHTMLProps, installIntlayerHTML, installIntlayerHTMLDynamic, renderHTML, useHTML, useHTMLRenderer };