solid-intlayer 8.4.10 → 8.5.1

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 (112) hide show
  1. package/dist/cjs/client/IntlayerProvider.cjs +1 -1
  2. package/dist/cjs/client/index.cjs +1 -1
  3. package/dist/cjs/client/t.cjs +1 -1
  4. package/dist/cjs/client/useContent.cjs +1 -1
  5. package/dist/cjs/client/useDictionary.cjs +1 -1
  6. package/dist/cjs/client/useDictionaryAsync.cjs +1 -1
  7. package/dist/cjs/client/useDictionaryDynamic.cjs +1 -1
  8. package/dist/cjs/client/useIntlayer.cjs +1 -1
  9. package/dist/cjs/client/useLocale.cjs +1 -1
  10. package/dist/cjs/client/useLocaleBase.cjs +1 -1
  11. package/dist/cjs/client/useRewriteURL.cjs +1 -1
  12. package/dist/cjs/client/useTraduction.cjs +1 -1
  13. package/dist/cjs/editor/EditorProvider.cjs +1 -1
  14. package/dist/cjs/editor/useEditor.cjs +1 -1
  15. package/dist/cjs/format/index.cjs +1 -0
  16. package/dist/cjs/format/useCompact.cjs +1 -0
  17. package/dist/cjs/format/useCurrency.cjs +1 -0
  18. package/dist/cjs/format/useDate.cjs +1 -0
  19. package/dist/cjs/format/useIntl.cjs +1 -0
  20. package/dist/cjs/format/useList.cjs +1 -0
  21. package/dist/cjs/format/useNumber.cjs +1 -0
  22. package/dist/cjs/format/usePercentage.cjs +1 -0
  23. package/dist/cjs/format/useRelativeTime.cjs +1 -0
  24. package/dist/cjs/format/useUnit.cjs +1 -0
  25. package/dist/cjs/html/index.cjs +1 -1
  26. package/dist/cjs/index.cjs +1 -1
  27. package/dist/cjs/markdown/MarkdownRenderer.cjs +1 -1
  28. package/dist/cjs/markdown/compiler.cjs +1 -1
  29. package/dist/cjs/markdown/index.cjs +1 -1
  30. package/dist/cjs/plugins.cjs +1 -1
  31. package/dist/client-BAX4Q-5b.js +1 -0
  32. package/dist/{client-CM5281g3.mjs → client-BIdlTo6F.mjs} +45 -49
  33. package/dist/esm/client/IntlayerProvider.mjs +2 -2
  34. package/dist/esm/client/index.mjs +4 -4
  35. package/dist/esm/client/t.mjs +1 -1
  36. package/dist/esm/client/useContent.mjs +1 -1
  37. package/dist/esm/client/useDictionary.mjs +1 -1
  38. package/dist/esm/client/useDictionaryAsync.mjs +1 -1
  39. package/dist/esm/client/useDictionaryDynamic.mjs +1 -1
  40. package/dist/esm/client/useIntlayer.mjs +1 -1
  41. package/dist/esm/client/useLocale.mjs +1 -1
  42. package/dist/esm/client/useLocaleBase.mjs +1 -1
  43. package/dist/esm/client/useRewriteURL.mjs +1 -1
  44. package/dist/esm/client/useTraduction.mjs +1 -1
  45. package/dist/esm/editor/EditorProvider.mjs +1 -1
  46. package/dist/esm/editor/useEditor.mjs +1 -1
  47. package/dist/esm/format/index.mjs +10 -0
  48. package/dist/esm/format/useCompact.mjs +12 -0
  49. package/dist/esm/format/useCurrency.mjs +13 -0
  50. package/dist/esm/format/useDate.mjs +19 -0
  51. package/dist/esm/format/useIntl.mjs +10 -0
  52. package/dist/esm/format/useList.mjs +12 -0
  53. package/dist/esm/format/useNumber.mjs +13 -0
  54. package/dist/esm/format/usePercentage.mjs +13 -0
  55. package/dist/esm/format/useRelativeTime.mjs +13 -0
  56. package/dist/esm/format/useUnit.mjs +12 -0
  57. package/dist/esm/html/index.mjs +2 -2
  58. package/dist/esm/index.mjs +4 -11
  59. package/dist/esm/markdown/MarkdownRenderer.mjs +32 -19
  60. package/dist/esm/markdown/compiler.mjs +5 -3
  61. package/dist/esm/markdown/index.mjs +4 -5
  62. package/dist/esm/plugins.mjs +40 -42
  63. package/dist/types/{src/client → client}/index.d.ts +0 -1
  64. package/dist/types/format/index.d.ts +9 -0
  65. package/dist/types/format/useCompact.d.ts +5 -0
  66. package/dist/types/format/useCurrency.d.ts +5 -0
  67. package/dist/types/format/useDate.d.ts +8 -0
  68. package/dist/types/{src/client/format → format}/useIntl.d.ts +1 -1
  69. package/dist/types/format/useList.d.ts +5 -0
  70. package/dist/types/format/useNumber.d.ts +8 -0
  71. package/dist/types/format/usePercentage.d.ts +5 -0
  72. package/dist/types/format/useRelativeTime.d.ts +5 -0
  73. package/dist/types/format/useUnit.d.ts +5 -0
  74. package/dist/types/html/index.d.ts +3 -0
  75. package/dist/types/{src/index.d.ts → index.d.ts} +1 -3
  76. package/dist/types/{src/markdown → markdown}/MarkdownProvider.d.ts +4 -4
  77. package/dist/types/{src/markdown → markdown}/MarkdownRenderer.d.ts +8 -9
  78. package/dist/types/{src/markdown → markdown}/compiler.d.ts +4 -3
  79. package/dist/types/markdown/index.d.ts +3 -0
  80. package/package.json +37 -6
  81. package/dist/cjs/client/format/useIntl.cjs +0 -1
  82. package/dist/client-ITsjcUYQ.js +0 -1
  83. package/dist/esm/client/format/useIntl.mjs +0 -2
  84. package/dist/types/src/html/index.d.ts +0 -3
  85. package/dist/types/src/markdown/index.d.ts +0 -4
  86. /package/dist/types/{src/IntlayerNode.d.ts → IntlayerNode.d.ts} +0 -0
  87. /package/dist/types/{src/UI → UI}/ContentSelector.d.ts +0 -0
  88. /package/dist/types/{src/client → client}/IntlayerProvider.d.ts +0 -0
  89. /package/dist/types/{src/client → client}/getBrowserLocale.d.ts +0 -0
  90. /package/dist/types/{src/client → client}/t.d.ts +0 -0
  91. /package/dist/types/{src/client → client}/useContent.d.ts +0 -0
  92. /package/dist/types/{src/client → client}/useDictionary.d.ts +0 -0
  93. /package/dist/types/{src/client → client}/useDictionaryAsync.d.ts +0 -0
  94. /package/dist/types/{src/client → client}/useDictionaryDynamic.d.ts +0 -0
  95. /package/dist/types/{src/client → client}/useIntlayer.d.ts +0 -0
  96. /package/dist/types/{src/client → client}/useLoadDynamic.d.ts +0 -0
  97. /package/dist/types/{src/client → client}/useLocale.d.ts +0 -0
  98. /package/dist/types/{src/client → client}/useLocaleBase.d.ts +0 -0
  99. /package/dist/types/{src/client → client}/useLocaleStorage.d.ts +0 -0
  100. /package/dist/types/{src/client → client}/useRewriteURL.d.ts +0 -0
  101. /package/dist/types/{src/client → client}/useTraduction.d.ts +0 -0
  102. /package/dist/types/{src/editor → editor}/ContentSelector.d.ts +0 -0
  103. /package/dist/types/{src/editor → editor}/EditorProvider.d.ts +0 -0
  104. /package/dist/types/{src/editor → editor}/useEditor.d.ts +0 -0
  105. /package/dist/types/{src/getDictionary.d.ts → getDictionary.d.ts} +0 -0
  106. /package/dist/types/{src/getIntlayer.d.ts → getIntlayer.d.ts} +0 -0
  107. /package/dist/types/{src/html → html}/HTMLProvider.d.ts +0 -0
  108. /package/dist/types/{src/html → html}/HTMLRenderer.d.ts +0 -0
  109. /package/dist/types/{src/html → html}/types.d.ts +0 -0
  110. /package/dist/types/{src/markdown → markdown}/runtime.d.ts +0 -0
  111. /package/dist/types/{src/plugins.d.ts → plugins.d.ts} +0 -0
  112. /package/dist/types/{src/solidElement → solidElement}/renderSolidElement.d.ts +0 -0
@@ -1,29 +1,42 @@
1
1
  import { compileMarkdown as e } from "./compiler.mjs";
2
2
  import { MarkdownContext as t, useMarkdown as n } from "./MarkdownProvider.mjs";
3
- import { createMemo as r, useContext as i } from "solid-js";
4
- import { getMarkdownMetadata as a } from "@intlayer/core/markdown";
5
- import { getContentNodeByKeyPath as o } from "@intlayer/core/dictionaryManipulator";
3
+ import { createComponent as r } from "solid-js/web";
4
+ import { getMarkdownMetadata as i } from "@intlayer/core/markdown";
5
+ import { Suspense as a, createMemo as o, createResource as s, useContext as c } from "solid-js";
6
+ import { getContentNodeByKeyPath as l } from "@intlayer/core/dictionaryManipulator";
6
7
  //#region src/markdown/MarkdownRenderer.tsx
7
- var s = (t, n = {}) => e(t, n), c = (e = {}) => {
8
- let n = i(t);
8
+ var u = (t, n = {}) => e(t, n), d = (e = {}) => {
9
+ let n = c(t);
9
10
  return (t) => n ? n.renderMarkdown(t, {
10
11
  forceBlock: e.forceBlock,
11
12
  preserveFrontmatter: e.preserveFrontmatter,
12
13
  tagfilter: e.tagfilter
13
- }, e.components, e.wrapper) : s(t, e);
14
- }, l = (e) => {
15
- let r = i(t), { renderMarkdown: a } = n();
16
- return a(e.children, {
17
- forceBlock: e.forceBlock,
18
- preserveFrontmatter: e.preserveFrontmatter,
19
- tagfilter: e.tagfilter
14
+ }, e.components, e.wrapper) : u(t, e);
15
+ }, f = (e) => {
16
+ let i = c(t), { renderMarkdown: o } = n(), [l] = s(() => [
17
+ e.children,
18
+ e.forceBlock,
19
+ e.preserveFrontmatter,
20
+ e.tagfilter,
21
+ e.components,
22
+ e.wrapper
23
+ ], ([e, t, n, r, a, s]) => o(e, {
24
+ forceBlock: t,
25
+ preserveFrontmatter: n,
26
+ tagfilter: r
20
27
  }, {
21
- ...r?.components ?? {},
22
- ...e.components ?? {}
23
- }, e.wrapper);
24
- }, u = (e) => {
25
- let t = r(() => a(e.children));
26
- return r(() => o(t(), e.metadataKeyPath))();
28
+ ...i?.components ?? {},
29
+ ...a ?? {}
30
+ }, s));
31
+ return r(a, {
32
+ fallback: null,
33
+ get children() {
34
+ return l();
35
+ }
36
+ });
37
+ }, p = (e) => {
38
+ let t = o(() => i(e.children));
39
+ return o(() => l(t(), e.metadataKeyPath))();
27
40
  };
28
41
  //#endregion
29
- export { u as MarkdownMetadataRenderer, l as MarkdownRenderer, s as renderMarkdown, c as useMarkdownRenderer };
42
+ export { p as MarkdownMetadataRenderer, f as MarkdownRenderer, u as renderMarkdown, d as useMarkdownRenderer };
@@ -1,6 +1,8 @@
1
1
  import e from "./runtime.mjs";
2
- import { compileWithOptions as t } from "@intlayer/core/markdown";
3
2
  //#region src/markdown/compiler.tsx
4
- var n = (n = "", r = {}) => t(n, e, r), r = n, i = n;
3
+ var t = async (t = "", n = {}) => {
4
+ let { compileWithOptions: r } = await import("@intlayer/core/markdown");
5
+ return r(t, e, n);
6
+ }, n = t, r = t;
5
7
  //#endregion
6
- export { i as compile, n as compileMarkdown, r as compiler };
8
+ export { r as compile, t as compileMarkdown, n as compiler };
@@ -1,5 +1,4 @@
1
- import e from "./runtime.mjs";
2
- import { compile as t, compileMarkdown as n, compiler as r } from "./compiler.mjs";
3
- import { MarkdownContext as i, MarkdownProvider as a, useMarkdown as o } from "./MarkdownProvider.mjs";
4
- import { MarkdownMetadataRenderer as s, MarkdownRenderer as c, renderMarkdown as l, useMarkdownRenderer as u } from "./MarkdownRenderer.mjs";
5
- export { i as MarkdownContext, s as MarkdownMetadataRenderer, a as MarkdownProvider, c as MarkdownRenderer, t as compile, n as compileMarkdown, r as compiler, l as renderMarkdown, e as solidRuntime, o as useMarkdown, u as useMarkdownRenderer };
1
+ import { compileMarkdown as e } from "./compiler.mjs";
2
+ import { MarkdownProvider as t, useMarkdown as n } from "./MarkdownProvider.mjs";
3
+ import { MarkdownRenderer as r, renderMarkdown as i, useMarkdownRenderer as a } from "./MarkdownRenderer.mjs";
4
+ export { t as MarkdownProvider, r as MarkdownRenderer, e as compileMarkdown, i as renderMarkdown, n as useMarkdown, a as useMarkdownRenderer };
@@ -4,48 +4,46 @@ import { renderSolidElement as n } from "./solidElement/renderSolidElement.mjs";
4
4
  import { conditionPlugin as r, enumerationPlugin as i, filePlugin as a, genderPlugin as o, getHTML as s, nestedPlugin as c, splitInsertionTemplate as l, translationPlugin as u } from "@intlayer/core/interpreter";
5
5
  import { Dynamic as d, createComponent as f, mergeProps as p } from "solid-js/web";
6
6
  import m from "@intlayer/config/built";
7
- import { HTML_TAGS as h } from "@intlayer/core/transpiler";
8
- import * as g from "@intlayer/types/nodeType";
9
- import { Suspense as _, lazy as v } from "solid-js";
7
+ import { getMarkdownMetadata as h } from "@intlayer/core/markdown";
8
+ import { HTML_TAGS as g } from "@intlayer/core/transpiler";
9
+ import { isEnabled as _ } from "@intlayer/editor/isEnabled";
10
+ import * as v from "@intlayer/types/nodeType";
11
+ import { Suspense as y, lazy as b } from "solid-js";
10
12
  //#region src/plugins.tsx
11
- var y = null;
12
- import("@intlayer/core/markdown").then((e) => {
13
- y = e.getMarkdownMetadata;
14
- });
15
- var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.MarkdownMetadataRenderer }))), x = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.MarkdownRenderer }))), S = {
13
+ var x = b(() => import("./markdown/MarkdownRenderer.mjs").then((e) => ({ default: e.MarkdownMetadataRenderer }))), S = b(() => import("./markdown/MarkdownRenderer.mjs").then((e) => ({ default: e.MarkdownRenderer }))), C = {
16
14
  id: "intlayer-node-plugin",
17
15
  canHandle: (e) => typeof e == "bigint" || typeof e == "string" || typeof e == "number",
18
16
  transform: (n, { plugins: r, ...i }) => e({
19
17
  ...i,
20
18
  value: i.children,
21
- children: m?.editor.enabled ? f(t, p(i, { get children() {
19
+ children: _ ? f(t, p(i, { get children() {
22
20
  return i.children;
23
21
  } })) : i.children
24
22
  })
25
- }, C = {
23
+ }, w = {
26
24
  id: "solid-node-plugin",
27
25
  canHandle: (e) => typeof e == "object" && e?.props !== void 0 || typeof Node < "u" && e instanceof Node,
28
26
  transform: (r, { plugins: i, ...a }) => e({
29
27
  ...a,
30
28
  value: "[[solid-element]]",
31
- children: m?.editor.enabled ? f(t, p(a, { get children() {
29
+ children: _ ? f(t, p(a, { get children() {
32
30
  return typeof Node < "u" && r instanceof Node ? r : n(r);
33
31
  } })) : typeof Node < "u" && r instanceof Node ? r : n(r)
34
32
  })
35
- }, w = (e, t) => {
33
+ }, T = (e, t) => {
36
34
  let n = l(e, t);
37
35
  return n.isSimple, n.parts;
38
- }, T = {
36
+ }, E = {
39
37
  id: "insertion-plugin",
40
- canHandle: (e) => typeof e == "object" && e?.nodeType === g.INSERTION,
38
+ canHandle: (e) => typeof e == "object" && e?.nodeType === v.INSERTION,
41
39
  transform: (e, t, n) => {
42
- let r = [...t.keyPath, { type: g.INSERTION }], i = e[g.INSERTION];
40
+ let r = [...t.keyPath, { type: v.INSERTION }], i = e[v.INSERTION];
43
41
  return (e) => {
44
42
  let a = {
45
43
  id: "insertion-string-plugin",
46
44
  canHandle: (e) => typeof e == "string",
47
45
  transform: (n, r, i) => {
48
- let a = w(i(n, {
46
+ let a = T(i(n, {
49
47
  ...r,
50
48
  children: n,
51
49
  plugins: [...(t.plugins ?? []).filter((e) => e.id !== "intlayer-node-plugin")]
@@ -65,11 +63,11 @@ var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.Markdow
65
63
  });
66
64
  };
67
65
  }
68
- }, E = {
66
+ }, D = {
69
67
  id: "markdown-string-plugin",
70
68
  canHandle: (e) => typeof e == "string",
71
69
  transform: (n, r, i) => {
72
- let { plugins: a, ...o } = r, s = i(y?.(n) ?? {}, {
70
+ let { plugins: a, ...o } = r, s = i(h(n) ?? {}, {
73
71
  plugins: [{
74
72
  id: "markdown-metadata-plugin",
75
73
  canHandle: (e) => typeof e == "string" || typeof e == "number" || typeof e == "boolean" || !e,
@@ -77,10 +75,10 @@ var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.Markdow
77
75
  ...i,
78
76
  value: r,
79
77
  children: m.editor.enabled ? f(t, p(o, { get children() {
80
- return f(_, {
78
+ return f(y, {
81
79
  fallback: n,
82
80
  get children() {
83
- return f(b, p(o, {
81
+ return f(x, p(o, {
84
82
  get metadataKeyPath() {
85
83
  return i.keyPath;
86
84
  },
@@ -88,10 +86,10 @@ var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.Markdow
88
86
  }));
89
87
  }
90
88
  });
91
- } })) : f(_, {
89
+ } })) : f(y, {
92
90
  fallback: n,
93
91
  get children() {
94
- return f(b, p(o, {
92
+ return f(x, p(o, {
95
93
  get metadataKeyPath() {
96
94
  return i.keyPath;
97
95
  },
@@ -107,19 +105,19 @@ var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.Markdow
107
105
  ...r,
108
106
  value: n,
109
107
  children: m.editor.enabled ? f(t, p(o, { get children() {
110
- return f(_, {
108
+ return f(y, {
111
109
  fallback: n,
112
110
  get children() {
113
- return f(x, p(o, {
111
+ return f(S, p(o, {
114
112
  components: i,
115
113
  children: n
116
114
  }));
117
115
  }
118
116
  });
119
- } })) : f(_, {
117
+ } })) : f(y, {
120
118
  fallback: n,
121
119
  get children() {
122
- return f(x, p(o, {
120
+ return f(S, p(o, {
123
121
  components: i,
124
122
  children: n
125
123
  }));
@@ -131,46 +129,46 @@ var b = v(() => import("./markdown/index.mjs").then((e) => ({ default: e.Markdow
131
129
  return t === "value" ? n : t === "metadata" ? s : t === "use" ? (e) => c(e) : Reflect.get(e, t, r);
132
130
  } });
133
131
  }
134
- }, D = {
132
+ }, O = {
135
133
  id: "markdown-plugin",
136
- canHandle: (e) => typeof e == "object" && e?.nodeType === g.MARKDOWN,
134
+ canHandle: (e) => typeof e == "object" && e?.nodeType === v.MARKDOWN,
137
135
  transform: (e, t, n) => {
138
- let r = [...t.keyPath, { type: g.MARKDOWN }], i = e[g.MARKDOWN];
136
+ let r = [...t.keyPath, { type: v.MARKDOWN }], i = e[v.MARKDOWN];
139
137
  return n(i, {
140
138
  ...t,
141
139
  children: i,
142
140
  keyPath: r,
143
- plugins: [E, ...t.plugins ?? []]
141
+ plugins: [D, ...t.plugins ?? []]
144
142
  });
145
143
  }
146
- }, O = (() => {
144
+ }, k = (() => {
147
145
  let e = {};
148
- for (let t of h) e[t] = ({ children: e, ...n }) => f(d, p({ component: t }, n, { children: e }));
146
+ for (let t of g) e[t] = ({ children: e, ...n }) => f(d, p({ component: t }, n, { children: e }));
149
147
  return e;
150
- })(), k = {
148
+ })(), A = {
151
149
  id: "html-plugin",
152
- canHandle: (e) => typeof e == "object" && e?.nodeType === g.HTML,
150
+ canHandle: (e) => typeof e == "object" && e?.nodeType === v.HTML,
153
151
  transform: (e) => {
154
- let t = e[g.HTML], n = (e) => s(t, {
155
- ...O,
152
+ let t = e[v.HTML], n = (e) => s(t, {
153
+ ...k,
156
154
  ...e
157
155
  }), r = [n()];
158
156
  return new Proxy(r, { get(e, r, i) {
159
157
  return r === "value" ? t : r === "use" ? (e) => n(e) : Reflect.get(e, r, i);
160
158
  } });
161
159
  }
162
- }, A = (e, t = !0) => [
160
+ }, j = (e, t = !0) => [
163
161
  u(e ?? m.internationalization.defaultLocale, t ? m.internationalization.defaultLocale : void 0),
164
162
  i,
165
163
  r,
166
164
  c(e ?? m.internationalization.defaultLocale),
167
165
  a,
168
166
  o,
169
- S,
170
167
  C,
171
- T,
172
- D,
173
- k
168
+ w,
169
+ E,
170
+ O,
171
+ A
174
172
  ];
175
173
  //#endregion
176
- export { A as getPlugins, k as htmlPlugin, T as insertionPlugin, S as intlayerNodePlugins, D as markdownPlugin, E as markdownStringPlugin, C as solidNodePlugins };
174
+ export { j as getPlugins, A as htmlPlugin, E as insertionPlugin, C as intlayerNodePlugins, O as markdownPlugin, D as markdownStringPlugin, w as solidNodePlugins };
@@ -1,4 +1,3 @@
1
- export { useIntl } from './format/useIntl';
2
1
  export { getBrowserLocale } from './getBrowserLocale';
3
2
  export { IntlayerClientContext, IntlayerProvider, IntlayerProviderContent, type IntlayerProviderProps, useIntlayerContext, } from './IntlayerProvider';
4
3
  export { t } from './t';
@@ -0,0 +1,9 @@
1
+ export * from './useCompact';
2
+ export * from './useCurrency';
3
+ export * from './useDate';
4
+ export * from './useIntl';
5
+ export * from './useList';
6
+ export * from './useNumber';
7
+ export * from './usePercentage';
8
+ export * from './useRelativeTime';
9
+ export * from './useUnit';
@@ -0,0 +1,5 @@
1
+ import { compact } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized compact number formatter.
4
+ */
5
+ export declare const useCompact: () => (...args: Parameters<typeof compact>) => string;
@@ -0,0 +1,5 @@
1
+ import { currency } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized currency formatter.
4
+ */
5
+ export declare const useCurrency: () => (...args: Parameters<typeof currency>) => string;
@@ -0,0 +1,8 @@
1
+ import { date } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized date/time formatter.
4
+ *
5
+ * @returns {(date: Date | string | number, options?: DateProps) => string}
6
+ * A function to format dates into localized strings.
7
+ */
8
+ export declare const useDate: () => (...args: Parameters<typeof date>) => string;
@@ -12,7 +12,7 @@ import { LocalesValues } from '@intlayer/types/module_augmentation';
12
12
  * const intl = useIntl(); // uses context locale
13
13
  *
14
14
  * // Standard API, but no need to pass locale as the first argument
15
- * const formatted = new intl().NumberFormat({
15
+ * const formatted = new (intl().NumberFormat)({
16
16
  * style: 'currency',
17
17
  * currency: 'USD'
18
18
  * }).format(123.45);
@@ -0,0 +1,5 @@
1
+ import { list } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized list formatter.
4
+ */
5
+ export declare const useList: () => (...args: Parameters<typeof list>) => string;
@@ -0,0 +1,8 @@
1
+ import { number } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized number formatter.
4
+ *
5
+ * @returns {(value: string | number, options?: import("@intlayer/core/formatters").NumberProps) => string}
6
+ * A function to format numbers into localized strings.
7
+ */
8
+ export declare const useNumber: () => (...args: Parameters<typeof number>) => string;
@@ -0,0 +1,5 @@
1
+ import { percentage } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized percentage formatter.
4
+ */
5
+ export declare const usePercentage: () => (...args: Parameters<typeof percentage>) => string;
@@ -0,0 +1,5 @@
1
+ import { relativeTime } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized relative time formatter.
4
+ */
5
+ export declare const useRelativeTime: () => (...args: Parameters<typeof relativeTime>) => string;
@@ -0,0 +1,5 @@
1
+ import { units } from '@intlayer/core/formatters';
2
+ /**
3
+ * Solid client hook that provides a localized unit formatter.
4
+ */
5
+ export declare const useUnit: () => (...args: Parameters<typeof units>) => string;
@@ -0,0 +1,3 @@
1
+ export { HTMLProvider, useHTMLContext } from './HTMLProvider';
2
+ export { HTMLRenderer, type HTMLRendererProps, type RenderHTMLProps, renderHTML, useHTMLRenderer, } from './HTMLRenderer';
3
+ export type { HTMLComponents } from './types';
@@ -4,9 +4,7 @@ declare module '@intlayer/core/interpreter' {
4
4
  interface IInterpreterPlugin<T, S, L extends LocalesValues> extends IInterpreterPluginSolid<T, S, L> {
5
5
  }
6
6
  }
7
- export { getBrowserLocale, IntlayerClientContext, IntlayerProvider, IntlayerProviderContent, type IntlayerProviderProps, localeCookie, localeInStorage, setLocaleCookie, setLocaleInStorage, t, useDictionary, useDictionaryAsync, useDictionaryDynamic, useIntl, useIntlayer, useIntlayerContext, useLoadDynamic, useLocale, useLocaleBase, useLocaleCookie, useLocaleStorage, useRewriteURL, } from './client/index';
7
+ export { getBrowserLocale, IntlayerClientContext, IntlayerProvider, IntlayerProviderContent, type IntlayerProviderProps, localeCookie, localeInStorage, setLocaleCookie, setLocaleInStorage, t, useDictionary, useDictionaryAsync, useDictionaryDynamic, useIntlayer, useIntlayerContext, useLoadDynamic, useLocale, useLocaleBase, useLocaleCookie, useLocaleStorage, useRewriteURL, } from './client/index';
8
8
  export { getDictionary } from './getDictionary';
9
9
  export { getIntlayer } from './getIntlayer';
10
- export { HTMLProvider, HTMLRenderer, type HTMLRendererProps, type RenderHTMLProps, renderHTML, useHTMLRenderer, } from './html/index';
11
10
  export type { IntlayerNode } from './IntlayerNode';
12
- export { compileMarkdown, MarkdownProvider, MarkdownRenderer, useMarkdown, } from './markdown/index';
@@ -1,4 +1,4 @@
1
- import { Component, JSXElement, ParentProps } from 'solid-js';
1
+ import { Component, JSXElement, ParentProps, ValidComponent } from 'solid-js';
2
2
  import { HTMLComponents } from '../html/types';
3
3
  export type MarkdownProviderOptions = {
4
4
  /** Forces the compiler to always output content with a block-level wrapper. */
@@ -10,16 +10,16 @@ export type MarkdownProviderOptions = {
10
10
  };
11
11
  type MarkdownProviderValue = {
12
12
  components?: HTMLComponents<'permissive', {}>;
13
- renderMarkdown: (content: string, options?: MarkdownProviderOptions, components?: HTMLComponents<'permissive', {}>, wrapper?: any) => JSXElement;
13
+ renderMarkdown: (content: string, options?: MarkdownProviderOptions, components?: HTMLComponents<'permissive', {}>, wrapper?: ValidComponent) => JSXElement | Promise<JSXElement>;
14
14
  };
15
15
  export declare const MarkdownContext: import('solid-js').Context<MarkdownProviderValue | undefined>;
16
16
  export type MarkdownProviderProps = ParentProps<{
17
17
  components?: HTMLComponents<'permissive', {}>;
18
- wrapper?: any;
18
+ wrapper?: ValidComponent;
19
19
  forceBlock?: boolean;
20
20
  preserveFrontmatter?: boolean;
21
21
  tagfilter?: boolean;
22
- renderMarkdown?: (content: string, options?: MarkdownProviderOptions, components?: HTMLComponents<'permissive', {}>, wrapper?: any) => JSXElement;
22
+ renderMarkdown?: (content: string, options?: MarkdownProviderOptions, components?: HTMLComponents<'permissive', {}>, wrapper?: ValidComponent) => JSXElement | Promise<JSXElement>;
23
23
  }>;
24
24
  export declare const MarkdownProvider: Component<MarkdownProviderProps>;
25
25
  export declare const useMarkdown: () => MarkdownProviderValue;
@@ -1,25 +1,24 @@
1
1
  import { KeyPath } from '@intlayer/types/keyPath';
2
2
  import { LocalesValues } from '@intlayer/types/module_augmentation';
3
- import { Component, JSX } from 'solid-js';
3
+ import { Component, JSX, ValidComponent } from 'solid-js';
4
4
  import { HTMLComponents } from '../html/types';
5
- type RenderMarkdownOptions = {
5
+ export type RenderMarkdownOptions = {
6
6
  components?: HTMLComponents<'permissive', {}>;
7
- wrapper?: any;
7
+ wrapper?: ValidComponent;
8
8
  forceBlock?: boolean;
9
9
  preserveFrontmatter?: boolean;
10
10
  tagfilter?: boolean;
11
11
  };
12
- export declare const renderMarkdown: (content: string, options?: RenderMarkdownOptions) => JSX.Element;
13
- export declare const useMarkdownRenderer: (options?: RenderMarkdownOptions) => (content: string) => JSX.Element;
14
- type MarkdownRendererProps = RenderMarkdownOptions & {
12
+ export declare const renderMarkdown: (content: string, options?: RenderMarkdownOptions) => Promise<JSX.Element>;
13
+ export declare const useMarkdownRenderer: (options?: RenderMarkdownOptions) => (content: string) => Promise<JSX.Element>;
14
+ export type MarkdownRendererProps = RenderMarkdownOptions & {
15
15
  dictionaryKey: string;
16
16
  keyPath: KeyPath[];
17
17
  locale?: LocalesValues;
18
18
  children: string;
19
19
  };
20
- export declare const MarkdownRenderer: Component<MarkdownRendererProps>;
21
- type MarkdownMetadataRendererProps = MarkdownRendererProps & {
20
+ export declare const MarkdownRenderer: (props: MarkdownRendererProps) => JSX.Element;
21
+ export type MarkdownMetadataRendererProps = MarkdownRendererProps & {
22
22
  metadataKeyPath: KeyPath[];
23
23
  };
24
24
  export declare const MarkdownMetadataRenderer: Component<MarkdownMetadataRendererProps>;
25
- export {};
@@ -2,10 +2,11 @@ import { CompileOptions } from '@intlayer/core/markdown';
2
2
  import { JSX } from 'solid-js';
3
3
  /**
4
4
  * Compile markdown to Solid JSX elements.
5
+ * Lazily imports the heavy markdown library to enable code splitting.
5
6
  */
6
- export declare const compileMarkdown: (markdown?: string, options?: CompileOptions) => JSX.Element;
7
+ export declare const compileMarkdown: (markdown?: string, options?: CompileOptions) => Promise<JSX.Element>;
7
8
  /**
8
9
  * Solid component that renders markdown to JSX.
9
10
  */
10
- export declare const compiler: (markdown?: string, options?: CompileOptions) => JSX.Element;
11
- export declare const compile: (markdown?: string, options?: CompileOptions) => JSX.Element;
11
+ export declare const compiler: (markdown?: string, options?: CompileOptions) => Promise<JSX.Element>;
12
+ export declare const compile: (markdown?: string, options?: CompileOptions) => Promise<JSX.Element>;
@@ -0,0 +1,3 @@
1
+ export { compileMarkdown } from './compiler';
2
+ export { MarkdownProvider, type MarkdownProviderOptions, useMarkdown, } from './MarkdownProvider';
3
+ export { MarkdownRenderer, type MarkdownRendererProps, renderMarkdown, useMarkdownRenderer, } from './MarkdownRenderer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-intlayer",
3
- "version": "8.4.10",
3
+ "version": "8.5.1",
4
4
  "private": false,
5
5
  "description": "Easily internationalize i18n your Solid applications with type-safe multilingual content management.",
6
6
  "keywords": [
@@ -36,9 +36,28 @@
36
36
  "exports": {
37
37
  ".": {
38
38
  "types": "./dist/types/index.d.ts",
39
+ "solid": "./dist/esm/index.mjs",
39
40
  "require": "./dist/cjs/index.cjs",
40
41
  "import": "./dist/esm/index.mjs"
41
42
  },
43
+ "./html": {
44
+ "types": "./dist/types/html/index.d.ts",
45
+ "solid": "./dist/esm/html/index.mjs",
46
+ "require": "./dist/cjs/html/index.cjs",
47
+ "import": "./dist/esm/html/index.mjs"
48
+ },
49
+ "./markdown": {
50
+ "types": "./dist/types/markdown/index.d.ts",
51
+ "solid": "./dist/esm/markdown/index.mjs",
52
+ "require": "./dist/cjs/markdown/index.cjs",
53
+ "import": "./dist/esm/markdown/index.mjs"
54
+ },
55
+ "./format": {
56
+ "types": "./dist/types/format/index.d.ts",
57
+ "solid": "./dist/esm/format/index.mjs",
58
+ "require": "./dist/cjs/format/index.cjs",
59
+ "import": "./dist/esm/format/index.mjs"
60
+ },
42
61
  "./package.json": "./package.json"
43
62
  },
44
63
  "main": "dist/cjs/index.cjs",
@@ -46,6 +65,18 @@
46
65
  "types": "dist/types/index.d.ts",
47
66
  "typesVersions": {
48
67
  "*": {
68
+ ".": [
69
+ "./dist/types/index.d.ts"
70
+ ],
71
+ "html": [
72
+ "./dist/types/html/index.d.ts"
73
+ ],
74
+ "markdown": [
75
+ "./dist/types/markdown/index.d.ts"
76
+ ],
77
+ "format": [
78
+ "./dist/types/format/index.d.ts"
79
+ ],
49
80
  "package.json": [
50
81
  "./package.json"
51
82
  ]
@@ -73,11 +104,11 @@
73
104
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
74
105
  },
75
106
  "dependencies": {
76
- "@intlayer/api": "8.4.10",
77
- "@intlayer/config": "8.4.10",
78
- "@intlayer/core": "8.4.10",
79
- "@intlayer/editor": "8.4.10",
80
- "@intlayer/types": "8.4.10"
107
+ "@intlayer/api": "8.5.1",
108
+ "@intlayer/config": "8.5.1",
109
+ "@intlayer/core": "8.5.1",
110
+ "@intlayer/editor": "8.5.1",
111
+ "@intlayer/types": "8.5.1"
81
112
  },
82
113
  "devDependencies": {
83
114
  "@solidjs/testing-library": "0.8.10",
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../../client-ITsjcUYQ.js`);exports.useIntl=e.l;
@@ -1 +0,0 @@
1
- const e=require(`./chunk-C91j1N6u.js`),t=require(`./cjs/getDictionary.cjs`),n=require(`./cjs/getIntlayer.cjs`),r=require(`./cjs/client/useLocaleStorage.cjs`),i=require(`./cjs/client/useLoadDynamic.cjs`);let a=require(`@intlayer/core/interpreter`),o=require(`solid-js/web`),s=require(`@intlayer/config/built`);s=e.t(s);let c=require(`solid-js`),l=require(`@intlayer/editor/isEnabled`),u=require(`@intlayer/core/formatters`),d=require(`@intlayer/core/localization`);var f=()=>{if(process.env.INTLAYER_EDITOR_ENABLED===`false`||!l.isEnabled)return;let{locale:e}=h(),[t,n]=(0,c.createSignal)(null);(0,c.onMount)(()=>{import(`@intlayer/editor`).then(({initEditorClient:e})=>{n(e())})}),(0,c.createEffect)(()=>{let n=t(),r=e();n&&r&&n.currentLocale.set(r)}),(0,c.onCleanup)(()=>{import(`@intlayer/editor`).then(({stopEditorClient:e})=>{e()})})},p=({children:e})=>(f(),e),m=(0,c.createContext)({locale:()=>r.localeInStorage??s.default?.internationalization?.defaultLocale,setLocale:()=>null}),h=()=>(0,c.useContext)(m),g=e=>{let{internationalization:t}=s.default??{},{defaultLocale:n,locales:i}=t??{},[a,l]=(0,c.createSignal)(e.locale??r.localeInStorage??e.defaultLocale??n),u=e.setLocale??(t=>{if(a().toString()!==t.toString()){if(!i?.map(String).includes(t)){console.error(`Locale ${t} is not available`);return}l(t),r.setLocaleInStorage(t,e.isCookieEnabled)}}),f=(0,c.createMemo)(()=>(0,d.localeResolver)(a()));return(0,c.createEffect)((0,c.on)(()=>e.locale,e=>{e&&e!==(0,c.untrack)(a)&&l(e)},{defer:!0})),(0,o.createComponent)(m.Provider,{value:{locale:f,setLocale:u},get children(){return e.children}})},_=e=>(0,o.createComponent)(g,(0,o.mergeProps)(e,{get children(){return[(0,o.createComponent)(p,{}),(0,o.memo)(()=>e.children)]}})),v=e=>{let t=(0,c.useContext)(m);return(0,c.createMemo)(()=>(0,u.bindIntl)(e??t.locale()))},y=(e,t)=>{let{locale:n}=(0,c.useContext)(m);return(0,a.getTranslation)(e,t??(typeof n==`function`?n():n))},b=(e,n)=>{let r=(0,c.useContext)(m);return(0,c.createMemo)(()=>t.getDictionary(e,n??r?.locale?.()))},x=async(e,t)=>{let{locale:n}=(0,c.useContext)(m),r=s.default?.internationalization.defaultLocale,i=t??n()??r;return b(await e[i]?.(),i)},S=(e,t,n)=>{let{locale:r}=(0,c.useContext)(m)??{},a=s.default?.internationalization.defaultLocale,o=n??r?.()??a;return b(i.useLoadDynamic(`${String(t)}.${o}`,e[o]?.()),o)},C=(e,t)=>{let r=(0,c.useContext)(m);return(0,c.createMemo)(()=>{let i=r?.locale();return n.getIntlayer(e,t??i)})},w=({isCookieEnabled:e,onLocaleChange:t}={})=>{let{defaultLocale:n,locales:i}=s.default?.internationalization??{},a=(0,c.useContext)(m);return(0,c.createEffect)((0,c.on)(()=>a?.locale?.(),e=>{t&&e!==void 0&&t(e)},{defer:!0})),{locale:a?.locale,defaultLocale:n,availableLocales:i,setLocale:t=>{if(!i?.map(String).includes(t)){console.error(`Locale ${t} is not available`);return}a?.setLocale(t),r.setLocaleInStorage(t,e??a?.isCookieEnabled??!0)}}},{defaultLocale:T,locales:E}=s.default.internationalization,D=()=>{let{locale:e,setLocale:t}=(0,c.useContext)(m);return{locale:e,defaultLocale:T,availableLocales:E,setLocale:t}},O=()=>{let{locale:e}=w(),t=s.default?.routing?.rewrite;(0,c.createEffect)(()=>{if(typeof window>`u`||!t)return;let n=e(),r=window.location.pathname,i=(0,d.getRewritePath)(r,n,t);i&&i!==r&&window.history.replaceState(window.history.state,``,i+window.location.search+window.location.hash)})};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return m}});
@@ -1,2 +0,0 @@
1
- import { l as e } from "../../../client-CM5281g3.mjs";
2
- export { e as useIntl };
@@ -1,3 +0,0 @@
1
- export * from './HTMLProvider';
2
- export * from './HTMLRenderer';
3
- export type * from './types';
@@ -1,4 +0,0 @@
1
- export * from './compiler';
2
- export * from './MarkdownProvider';
3
- export * from './MarkdownRenderer';
4
- export * from './runtime';
File without changes
File without changes
File without changes
File without changes