solid-intlayer 5.5.10 → 5.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/IntlayerNode.cjs +1 -0
  3. package/dist/cjs/UI/ContentSelector.cjs +1 -0
  4. package/dist/cjs/client/IntlayerProvider.cjs +1 -0
  5. package/dist/cjs/client/getBrowserLocale.cjs +1 -0
  6. package/dist/cjs/client/index.cjs +1 -29
  7. package/dist/cjs/client/t.cjs +1 -0
  8. package/dist/cjs/client/useContent.cjs +1 -0
  9. package/dist/cjs/client/useDictionary.cjs +1 -41
  10. package/dist/cjs/client/useDictionaryDynamic.cjs +1 -0
  11. package/dist/cjs/client/useIntlayer.cjs +1 -44
  12. package/dist/cjs/client/useIntlayerAsync.cjs +1 -0
  13. package/dist/cjs/client/useLoadDynamic.cjs +1 -0
  14. package/dist/cjs/client/useLocale.cjs +1 -33
  15. package/dist/cjs/client/useLocaleBase.cjs +1 -0
  16. package/dist/cjs/client/useLocaleCookie.cjs +1 -0
  17. package/dist/cjs/client/useTraduction.cjs +1 -0
  18. package/dist/cjs/editor/ContentSelectorWrapper.cjs +1 -0
  19. package/dist/cjs/editor/IntlayerEditorProvider.cjs +1 -0
  20. package/dist/cjs/editor/contexts/ChangedContentContext.cjs +1 -0
  21. package/dist/cjs/editor/contexts/CommunicatorContext.cjs +1 -0
  22. package/dist/cjs/editor/contexts/ConfigurationContext.cjs +1 -0
  23. package/dist/cjs/editor/contexts/DictionariesRecordContext.cjs +1 -0
  24. package/dist/cjs/editor/contexts/EditedContentContext.cjs +1 -0
  25. package/dist/cjs/editor/contexts/EditorEnabledContext.cjs +1 -0
  26. package/dist/cjs/editor/contexts/EditorProvider.cjs +1 -0
  27. package/dist/cjs/editor/contexts/FocusDictionaryContext.cjs +1 -0
  28. package/dist/cjs/editor/contexts/index.cjs +1 -0
  29. package/dist/cjs/editor/contexts/useCrossFrameMessageListener.cjs +1 -0
  30. package/dist/cjs/editor/contexts/useCrossFrameState.cjs +1 -0
  31. package/dist/cjs/editor/contexts/useCrossURLPathState.cjs +1 -0
  32. package/dist/cjs/editor/contexts/useIframeClickInterceptor.cjs +1 -0
  33. package/dist/cjs/editor/index.cjs +1 -0
  34. package/dist/cjs/editor/useEditedContentRenderer.cjs +1 -0
  35. package/dist/cjs/getDictionary.cjs +1 -42
  36. package/dist/cjs/getIntlayer.cjs +1 -38
  37. package/dist/cjs/index.cjs +1 -31
  38. package/dist/cjs/markdown/MarkdownProvider.cjs +1 -0
  39. package/dist/cjs/markdown/MarkdownRenderer.cjs +1 -0
  40. package/dist/cjs/markdown/index.cjs +1 -36
  41. package/dist/cjs/plugins.cjs +1 -53
  42. package/dist/cjs/solidElement/renderSolidElement.cjs +1 -0
  43. package/dist/esm/IntlayerNode.mjs +17 -0
  44. package/dist/esm/UI/ContentSelector.mjs +58 -0
  45. package/dist/esm/client/IntlayerProvider.mjs +69 -0
  46. package/dist/esm/client/getBrowserLocale.mjs +100 -0
  47. package/dist/esm/client/index.mjs +29 -5
  48. package/dist/esm/client/t.mjs +10 -0
  49. package/dist/esm/client/useContent.mjs +13 -0
  50. package/dist/esm/client/useDictionary.mjs +18 -13
  51. package/dist/esm/client/useDictionaryDynamic.mjs +14 -0
  52. package/dist/esm/client/useIntlayer.mjs +18 -15
  53. package/dist/esm/client/useIntlayerAsync.mjs +15 -0
  54. package/dist/esm/client/useLoadDynamic.mjs +21 -0
  55. package/dist/esm/client/useLocale.mjs +29 -6
  56. package/dist/esm/client/useLocaleBase.mjs +19 -0
  57. package/dist/esm/client/useLocaleCookie.mjs +19 -0
  58. package/dist/esm/client/useTraduction.mjs +10 -0
  59. package/dist/esm/editor/ContentSelectorWrapper.mjs +52 -0
  60. package/dist/esm/editor/IntlayerEditorProvider.mjs +64 -0
  61. package/dist/esm/editor/contexts/ChangedContentContext.mjs +39 -0
  62. package/dist/esm/editor/contexts/CommunicatorContext.mjs +30 -0
  63. package/dist/esm/editor/contexts/ConfigurationContext.mjs +19 -0
  64. package/dist/esm/editor/contexts/DictionariesRecordContext.mjs +44 -0
  65. package/dist/esm/editor/contexts/EditedContentContext.mjs +147 -0
  66. package/dist/esm/editor/contexts/EditorEnabledContext.mjs +27 -0
  67. package/dist/esm/editor/contexts/EditorProvider.mjs +85 -0
  68. package/dist/esm/editor/contexts/FocusDictionaryContext.mjs +47 -0
  69. package/dist/esm/editor/contexts/index.mjs +43 -0
  70. package/dist/esm/editor/contexts/useCrossFrameMessageListener.mjs +35 -0
  71. package/dist/esm/editor/contexts/useCrossFrameState.mjs +57 -0
  72. package/dist/esm/editor/contexts/useCrossURLPathState.mjs +25 -0
  73. package/dist/esm/editor/contexts/useIframeClickInterceptor.mjs +18 -0
  74. package/dist/esm/editor/index.mjs +4 -0
  75. package/dist/esm/editor/useEditedContentRenderer.mjs +29 -0
  76. package/dist/esm/getDictionary.mjs +13 -18
  77. package/dist/esm/getIntlayer.mjs +10 -15
  78. package/dist/esm/index.mjs +41 -6
  79. package/dist/esm/markdown/MarkdownProvider.mjs +24 -0
  80. package/dist/esm/markdown/MarkdownRenderer.mjs +31 -0
  81. package/dist/esm/markdown/index.mjs +7 -10
  82. package/dist/esm/plugins.mjs +113 -20
  83. package/dist/esm/solidElement/renderSolidElement.mjs +31 -0
  84. package/dist/types/IntlayerNode.d.ts +15 -0
  85. package/dist/types/IntlayerNode.d.ts.map +1 -0
  86. package/dist/types/UI/ContentSelector.d.ts +11 -0
  87. package/dist/types/UI/ContentSelector.d.ts.map +1 -0
  88. package/dist/types/client/IntlayerProvider.d.ts +28 -0
  89. package/dist/types/client/IntlayerProvider.d.ts.map +1 -0
  90. package/dist/types/client/getBrowserLocale.d.ts +25 -0
  91. package/dist/types/client/getBrowserLocale.d.ts.map +1 -0
  92. package/dist/types/client/index.d.ts +11 -4
  93. package/dist/types/client/index.d.ts.map +1 -1
  94. package/dist/types/client/t.d.ts +9 -0
  95. package/dist/types/client/t.d.ts.map +1 -0
  96. package/dist/types/client/useContent.d.ts +10 -0
  97. package/dist/types/client/useContent.d.ts.map +1 -0
  98. package/dist/types/client/useDictionary.d.ts +7 -2
  99. package/dist/types/client/useDictionary.d.ts.map +1 -1
  100. package/dist/types/client/useDictionaryDynamic.d.ts +9 -0
  101. package/dist/types/client/useDictionaryDynamic.d.ts.map +1 -0
  102. package/dist/types/client/useIntlayer.d.ts +9 -6
  103. package/dist/types/client/useIntlayer.d.ts.map +1 -1
  104. package/dist/types/client/useIntlayerAsync.d.ts +15 -0
  105. package/dist/types/client/useIntlayerAsync.d.ts.map +1 -0
  106. package/dist/types/client/useLoadDynamic.d.ts +2 -0
  107. package/dist/types/client/useLoadDynamic.d.ts.map +1 -0
  108. package/dist/types/client/useLocale.d.ts +14 -3
  109. package/dist/types/client/useLocale.d.ts.map +1 -1
  110. package/dist/types/client/useLocaleBase.d.ts +10 -0
  111. package/dist/types/client/useLocaleBase.d.ts.map +1 -0
  112. package/dist/types/client/useLocaleCookie.d.ts +17 -0
  113. package/dist/types/client/useLocaleCookie.d.ts.map +1 -0
  114. package/dist/types/client/useTraduction.d.ts +24 -0
  115. package/dist/types/client/useTraduction.d.ts.map +1 -0
  116. package/dist/types/editor/ContentSelectorWrapper.d.ts +7 -0
  117. package/dist/types/editor/ContentSelectorWrapper.d.ts.map +1 -0
  118. package/dist/types/editor/IntlayerEditorProvider.d.ts +3 -0
  119. package/dist/types/editor/IntlayerEditorProvider.d.ts.map +1 -0
  120. package/dist/types/editor/contexts/ChangedContentContext.d.ts +13 -0
  121. package/dist/types/editor/contexts/ChangedContentContext.d.ts.map +1 -0
  122. package/dist/types/editor/contexts/CommunicatorContext.d.ts +10 -0
  123. package/dist/types/editor/contexts/CommunicatorContext.d.ts.map +1 -0
  124. package/dist/types/editor/contexts/ConfigurationContext.d.ts +9 -0
  125. package/dist/types/editor/contexts/ConfigurationContext.d.ts.map +1 -0
  126. package/dist/types/editor/contexts/DictionariesRecordContext.d.ts +16 -0
  127. package/dist/types/editor/contexts/DictionariesRecordContext.d.ts.map +1 -0
  128. package/dist/types/editor/contexts/EditedContentContext.d.ts +33 -0
  129. package/dist/types/editor/contexts/EditedContentContext.d.ts.map +1 -0
  130. package/dist/types/editor/contexts/EditorEnabledContext.d.ts +11 -0
  131. package/dist/types/editor/contexts/EditorEnabledContext.d.ts.map +1 -0
  132. package/dist/types/editor/contexts/EditorProvider.d.ts +6 -0
  133. package/dist/types/editor/contexts/EditorProvider.d.ts.map +1 -0
  134. package/dist/types/editor/contexts/FocusDictionaryContext.d.ts +21 -0
  135. package/dist/types/editor/contexts/FocusDictionaryContext.d.ts.map +1 -0
  136. package/dist/types/editor/contexts/index.d.ts +13 -0
  137. package/dist/types/editor/contexts/index.d.ts.map +1 -0
  138. package/dist/types/editor/contexts/useCrossFrameMessageListener.d.ts +19 -0
  139. package/dist/types/editor/contexts/useCrossFrameMessageListener.d.ts.map +1 -0
  140. package/dist/types/editor/contexts/useCrossFrameState.d.ts +29 -0
  141. package/dist/types/editor/contexts/useCrossFrameState.d.ts.map +1 -0
  142. package/dist/types/editor/contexts/useCrossURLPathState.d.ts +4 -0
  143. package/dist/types/editor/contexts/useCrossURLPathState.d.ts.map +1 -0
  144. package/dist/types/editor/contexts/useIframeClickInterceptor.d.ts +9 -0
  145. package/dist/types/editor/contexts/useIframeClickInterceptor.d.ts.map +1 -0
  146. package/dist/types/editor/index.d.ts +2 -0
  147. package/dist/types/editor/index.d.ts.map +1 -0
  148. package/dist/types/editor/useEditedContentRenderer.d.ts +13 -0
  149. package/dist/types/editor/useEditedContentRenderer.d.ts.map +1 -0
  150. package/dist/types/getDictionary.d.ts +1 -1
  151. package/dist/types/getDictionary.d.ts.map +1 -1
  152. package/dist/types/getIntlayer.d.ts +1 -1
  153. package/dist/types/getIntlayer.d.ts.map +1 -1
  154. package/dist/types/index.d.ts +3 -5
  155. package/dist/types/index.d.ts.map +1 -1
  156. package/dist/types/markdown/MarkdownProvider.d.ts +12 -0
  157. package/dist/types/markdown/MarkdownProvider.d.ts.map +1 -0
  158. package/dist/types/markdown/MarkdownRenderer.d.ts +16 -0
  159. package/dist/types/markdown/MarkdownRenderer.d.ts.map +1 -0
  160. package/dist/types/markdown/index.d.ts +2 -3
  161. package/dist/types/markdown/index.d.ts.map +1 -1
  162. package/dist/types/plugins.d.ts +49 -23
  163. package/dist/types/plugins.d.ts.map +1 -1
  164. package/dist/types/solidElement/renderSolidElement.d.ts +3 -0
  165. package/dist/types/solidElement/renderSolidElement.d.ts.map +1 -0
  166. package/dist/web-BFg6-54-.mjs +443 -0
  167. package/dist/web-qH6jV2Kc.js +1 -0
  168. package/package.json +24 -18
  169. package/dist/cjs/client/index.cjs.map +0 -1
  170. package/dist/cjs/client/installIntlayer.cjs +0 -53
  171. package/dist/cjs/client/installIntlayer.cjs.map +0 -1
  172. package/dist/cjs/client/useDictionary.cjs.map +0 -1
  173. package/dist/cjs/client/useIntlayer.cjs.map +0 -1
  174. package/dist/cjs/client/useLocale.cjs.map +0 -1
  175. package/dist/cjs/getDictionary.cjs.map +0 -1
  176. package/dist/cjs/getIntlayer.cjs.map +0 -1
  177. package/dist/cjs/index.cjs.map +0 -1
  178. package/dist/cjs/markdown/index.cjs.map +0 -1
  179. package/dist/cjs/plugins.cjs.map +0 -1
  180. package/dist/esm/client/index.mjs.map +0 -1
  181. package/dist/esm/client/installIntlayer.mjs +0 -26
  182. package/dist/esm/client/installIntlayer.mjs.map +0 -1
  183. package/dist/esm/client/useDictionary.mjs.map +0 -1
  184. package/dist/esm/client/useIntlayer.mjs.map +0 -1
  185. package/dist/esm/client/useLocale.mjs.map +0 -1
  186. package/dist/esm/getDictionary.mjs.map +0 -1
  187. package/dist/esm/getIntlayer.mjs.map +0 -1
  188. package/dist/esm/index.mjs.map +0 -1
  189. package/dist/esm/markdown/index.mjs.map +0 -1
  190. package/dist/esm/plugins.mjs.map +0 -1
  191. package/dist/types/client/installIntlayer.d.ts +0 -11
  192. package/dist/types/client/installIntlayer.d.ts.map +0 -1
@@ -0,0 +1,443 @@
1
+ import { sharedConfig as u, createMemo as E, createRenderEffect as m, splitProps as M, untrack as L } from "solid-js";
2
+ const P = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"], k = /* @__PURE__ */ new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...P]), O = /* @__PURE__ */ new Set(["innerHTML", "textContent", "innerText", "children"]), D = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
3
+ className: "class",
4
+ htmlFor: "for"
5
+ }), B = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
6
+ class: "className",
7
+ novalidate: {
8
+ $: "noValidate",
9
+ FORM: 1
10
+ },
11
+ formnovalidate: {
12
+ $: "formNoValidate",
13
+ BUTTON: 1,
14
+ INPUT: 1
15
+ },
16
+ ismap: {
17
+ $: "isMap",
18
+ IMG: 1
19
+ },
20
+ nomodule: {
21
+ $: "noModule",
22
+ SCRIPT: 1
23
+ },
24
+ playsinline: {
25
+ $: "playsInline",
26
+ VIDEO: 1
27
+ },
28
+ readonly: {
29
+ $: "readOnly",
30
+ INPUT: 1,
31
+ TEXTAREA: 1
32
+ }
33
+ });
34
+ function I(i, e) {
35
+ const t = B[i];
36
+ return typeof t == "object" ? t[e] ? t.$ : void 0 : t;
37
+ }
38
+ const j = /* @__PURE__ */ new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]), G = /* @__PURE__ */ new Set([
39
+ "altGlyph",
40
+ "altGlyphDef",
41
+ "altGlyphItem",
42
+ "animate",
43
+ "animateColor",
44
+ "animateMotion",
45
+ "animateTransform",
46
+ "circle",
47
+ "clipPath",
48
+ "color-profile",
49
+ "cursor",
50
+ "defs",
51
+ "desc",
52
+ "ellipse",
53
+ "feBlend",
54
+ "feColorMatrix",
55
+ "feComponentTransfer",
56
+ "feComposite",
57
+ "feConvolveMatrix",
58
+ "feDiffuseLighting",
59
+ "feDisplacementMap",
60
+ "feDistantLight",
61
+ "feDropShadow",
62
+ "feFlood",
63
+ "feFuncA",
64
+ "feFuncB",
65
+ "feFuncG",
66
+ "feFuncR",
67
+ "feGaussianBlur",
68
+ "feImage",
69
+ "feMerge",
70
+ "feMergeNode",
71
+ "feMorphology",
72
+ "feOffset",
73
+ "fePointLight",
74
+ "feSpecularLighting",
75
+ "feSpotLight",
76
+ "feTile",
77
+ "feTurbulence",
78
+ "filter",
79
+ "font",
80
+ "font-face",
81
+ "font-face-format",
82
+ "font-face-name",
83
+ "font-face-src",
84
+ "font-face-uri",
85
+ "foreignObject",
86
+ "g",
87
+ "glyph",
88
+ "glyphRef",
89
+ "hkern",
90
+ "image",
91
+ "line",
92
+ "linearGradient",
93
+ "marker",
94
+ "mask",
95
+ "metadata",
96
+ "missing-glyph",
97
+ "mpath",
98
+ "path",
99
+ "pattern",
100
+ "polygon",
101
+ "polyline",
102
+ "radialGradient",
103
+ "rect",
104
+ "set",
105
+ "stop",
106
+ "svg",
107
+ "switch",
108
+ "symbol",
109
+ "text",
110
+ "textPath",
111
+ "tref",
112
+ "tspan",
113
+ "use",
114
+ "view",
115
+ "vkern"
116
+ ]), V = {
117
+ xlink: "http://www.w3.org/1999/xlink",
118
+ xml: "http://www.w3.org/XML/1998/namespace"
119
+ }, ne = (i) => E(() => i());
120
+ function _(i, e, t) {
121
+ let l = t.length, s = e.length, o = l, f = 0, n = 0, c = e[s - 1].nextSibling, r = null;
122
+ for (; f < s || n < o; ) {
123
+ if (e[f] === t[n]) {
124
+ f++, n++;
125
+ continue;
126
+ }
127
+ for (; e[s - 1] === t[o - 1]; )
128
+ s--, o--;
129
+ if (s === f) {
130
+ const d = o < l ? n ? t[n - 1].nextSibling : t[o - n] : c;
131
+ for (; n < o; ) i.insertBefore(t[n++], d);
132
+ } else if (o === n)
133
+ for (; f < s; )
134
+ (!r || !r.has(e[f])) && e[f].remove(), f++;
135
+ else if (e[f] === t[o - 1] && t[n] === e[s - 1]) {
136
+ const d = e[--s].nextSibling;
137
+ i.insertBefore(t[n++], e[f++].nextSibling), i.insertBefore(t[--o], d), e[s] = t[o];
138
+ } else {
139
+ if (!r) {
140
+ r = /* @__PURE__ */ new Map();
141
+ let h = n;
142
+ for (; h < o; ) r.set(t[h], h++);
143
+ }
144
+ const d = r.get(e[f]);
145
+ if (d != null)
146
+ if (n < d && d < o) {
147
+ let h = f, a = 1, g;
148
+ for (; ++h < s && h < o && !((g = r.get(e[h])) == null || g !== d + a); )
149
+ a++;
150
+ if (a > d - n) {
151
+ const b = e[f];
152
+ for (; n < d; ) i.insertBefore(t[n++], b);
153
+ } else i.replaceChild(t[n++], e[f++]);
154
+ } else f++;
155
+ else e[f++].remove();
156
+ }
157
+ }
158
+ }
159
+ const x = "_$DX_DELEGATE";
160
+ function se(i, e, t, l) {
161
+ let s;
162
+ const o = () => {
163
+ const n = document.createElement("template");
164
+ return n.innerHTML = i, n.content.firstChild;
165
+ }, f = () => (s || (s = o())).cloneNode(!0);
166
+ return f.cloneNode = f, f;
167
+ }
168
+ function F(i, e = window.document) {
169
+ const t = e[x] || (e[x] = /* @__PURE__ */ new Set());
170
+ for (let l = 0, s = i.length; l < s; l++) {
171
+ const o = i[l];
172
+ t.has(o) || (t.add(o), e.addEventListener(o, Z));
173
+ }
174
+ }
175
+ function N(i, e, t) {
176
+ y(i) || (t == null ? i.removeAttribute(e) : i.setAttribute(e, t));
177
+ }
178
+ function H(i, e, t, l) {
179
+ y(i) || (l == null ? i.removeAttributeNS(e, t) : i.setAttributeNS(e, t, l));
180
+ }
181
+ function R(i, e, t) {
182
+ y(i) || (t ? i.setAttribute(e, "") : i.removeAttribute(e));
183
+ }
184
+ function U(i, e) {
185
+ y(i) || (e == null ? i.removeAttribute("class") : i.className = e);
186
+ }
187
+ function K(i, e, t, l) {
188
+ if (l)
189
+ Array.isArray(t) ? (i[`$$${e}`] = t[0], i[`$$${e}Data`] = t[1]) : i[`$$${e}`] = t;
190
+ else if (Array.isArray(t)) {
191
+ const s = t[0];
192
+ i.addEventListener(e, t[0] = (o) => s.call(i, t[1], o));
193
+ } else i.addEventListener(e, t, typeof t != "function" && t);
194
+ }
195
+ function X(i, e, t = {}) {
196
+ const l = Object.keys(e || {}), s = Object.keys(t);
197
+ let o, f;
198
+ for (o = 0, f = s.length; o < f; o++) {
199
+ const n = s[o];
200
+ !n || n === "undefined" || e[n] || (T(i, n, !1), delete t[n]);
201
+ }
202
+ for (o = 0, f = l.length; o < f; o++) {
203
+ const n = l[o], c = !!e[n];
204
+ !n || n === "undefined" || t[n] === c || !c || (T(i, n, !0), t[n] = c);
205
+ }
206
+ return t;
207
+ }
208
+ function q(i, e, t) {
209
+ if (!e) return t ? N(i, "style") : e;
210
+ const l = i.style;
211
+ if (typeof e == "string") return l.cssText = e;
212
+ typeof t == "string" && (l.cssText = t = void 0), t || (t = {}), e || (e = {});
213
+ let s, o;
214
+ for (o in t)
215
+ e[o] == null && l.removeProperty(o), delete t[o];
216
+ for (o in e)
217
+ s = e[o], s !== t[o] && (l.setProperty(o, s), t[o] = s);
218
+ return t;
219
+ }
220
+ function Y(i, e = {}, t, l) {
221
+ const s = {};
222
+ return l || m(() => s.children = w(i, e.children, s.children)), m(() => typeof e.ref == "function" && p(e.ref, i)), m(() => J(i, e, t, !0, s, !0)), s;
223
+ }
224
+ function p(i, e, t) {
225
+ return L(() => i(e, t));
226
+ }
227
+ function oe(i, e, t, l) {
228
+ if (typeof e != "function") return w(i, e, l, t);
229
+ m((s) => w(i, e(), s, t), l);
230
+ }
231
+ function J(i, e, t, l, s = {}, o = !1) {
232
+ e || (e = {});
233
+ for (const f in s)
234
+ if (!(f in e)) {
235
+ if (f === "children") continue;
236
+ s[f] = $(i, f, null, s[f], t, o, e);
237
+ }
238
+ for (const f in e) {
239
+ if (f === "children")
240
+ continue;
241
+ const n = e[f];
242
+ s[f] = $(i, f, n, s[f], t, o, e);
243
+ }
244
+ }
245
+ function Q(i) {
246
+ let e, t;
247
+ return !y() || !(e = u.registry.get(t = z())) ? i() : (u.completed && u.completed.add(e), u.registry.delete(t), e);
248
+ }
249
+ function y(i) {
250
+ return !!u.context && !u.done && (!i || i.isConnected);
251
+ }
252
+ function W(i) {
253
+ return i.toLowerCase().replace(/-([a-z])/g, (e, t) => t.toUpperCase());
254
+ }
255
+ function T(i, e, t) {
256
+ const l = e.trim().split(/\s+/);
257
+ for (let s = 0, o = l.length; s < o; s++) i.classList.toggle(l[s], t);
258
+ }
259
+ function $(i, e, t, l, s, o, f) {
260
+ let n, c, r, d, h;
261
+ if (e === "style") return q(i, t, l);
262
+ if (e === "classList") return X(i, t, l);
263
+ if (t === l) return l;
264
+ if (e === "ref")
265
+ o || t(i);
266
+ else if (e.slice(0, 3) === "on:") {
267
+ const a = e.slice(3);
268
+ l && i.removeEventListener(a, l, typeof l != "function" && l), t && i.addEventListener(a, t, typeof t != "function" && t);
269
+ } else if (e.slice(0, 10) === "oncapture:") {
270
+ const a = e.slice(10);
271
+ l && i.removeEventListener(a, l, !0), t && i.addEventListener(a, t, !0);
272
+ } else if (e.slice(0, 2) === "on") {
273
+ const a = e.slice(2).toLowerCase(), g = j.has(a);
274
+ if (!g && l) {
275
+ const b = Array.isArray(l) ? l[0] : l;
276
+ i.removeEventListener(a, b);
277
+ }
278
+ (g || t) && (K(i, a, t, g), g && F([a]));
279
+ } else if (e.slice(0, 5) === "attr:")
280
+ N(i, e.slice(5), t);
281
+ else if (e.slice(0, 5) === "bool:")
282
+ R(i, e.slice(5), t);
283
+ else if ((h = e.slice(0, 5) === "prop:") || (r = O.has(e)) || !s && ((d = I(e, i.tagName)) || (c = k.has(e))) || (n = i.nodeName.includes("-") || "is" in f)) {
284
+ if (h)
285
+ e = e.slice(5), c = !0;
286
+ else if (y(i)) return t;
287
+ e === "class" || e === "className" ? U(i, t) : n && !c && !r ? i[W(e)] = t : i[d || e] = t;
288
+ } else {
289
+ const a = s && e.indexOf(":") > -1 && V[e.split(":")[0]];
290
+ a ? H(i, a, e, t) : N(i, D[e] || e, t);
291
+ }
292
+ return t;
293
+ }
294
+ function Z(i) {
295
+ if (u.registry && u.events && u.events.find(([c, r]) => r === i))
296
+ return;
297
+ let e = i.target;
298
+ const t = `$$${i.type}`, l = i.target, s = i.currentTarget, o = (c) => Object.defineProperty(i, "target", {
299
+ configurable: !0,
300
+ value: c
301
+ }), f = () => {
302
+ const c = e[t];
303
+ if (c && !e.disabled) {
304
+ const r = e[`${t}Data`];
305
+ if (r !== void 0 ? c.call(e, r, i) : c.call(e, i), i.cancelBubble) return;
306
+ }
307
+ return e.host && typeof e.host != "string" && !e.host._$host && e.contains(i.target) && o(e.host), !0;
308
+ }, n = () => {
309
+ for (; f() && (e = e._$host || e.parentNode || e.host); ) ;
310
+ };
311
+ if (Object.defineProperty(i, "currentTarget", {
312
+ configurable: !0,
313
+ get() {
314
+ return e || document;
315
+ }
316
+ }), u.registry && !u.done && (u.done = _$HY.done = !0), i.composedPath) {
317
+ const c = i.composedPath();
318
+ o(c[0]);
319
+ for (let r = 0; r < c.length - 2 && (e = c[r], !!f()); r++) {
320
+ if (e._$host) {
321
+ e = e._$host, n();
322
+ break;
323
+ }
324
+ if (e.parentNode === s)
325
+ break;
326
+ }
327
+ } else n();
328
+ o(l);
329
+ }
330
+ function w(i, e, t, l, s) {
331
+ const o = y(i);
332
+ if (o) {
333
+ !t && (t = [...i.childNodes]);
334
+ let n = [];
335
+ for (let c = 0; c < t.length; c++) {
336
+ const r = t[c];
337
+ r.nodeType === 8 && r.data.slice(0, 2) === "!$" ? r.remove() : n.push(r);
338
+ }
339
+ t = n;
340
+ }
341
+ for (; typeof t == "function"; ) t = t();
342
+ if (e === t) return t;
343
+ const f = typeof e;
344
+ if (i = i, f === "string" || f === "number") {
345
+ if (o || f === "number" && (e = e.toString(), e === t))
346
+ return t;
347
+ t !== "" && typeof t == "string" ? t = i.firstChild.data = e : t = i.textContent = e;
348
+ } else if (e == null || f === "boolean") {
349
+ if (o) return t;
350
+ t = A(i, t, l);
351
+ } else {
352
+ if (f === "function")
353
+ return m(() => {
354
+ let n = e();
355
+ for (; typeof n == "function"; ) n = n();
356
+ t = w(i, n, t, l);
357
+ }), () => t;
358
+ if (Array.isArray(e)) {
359
+ const n = [], c = t && Array.isArray(t);
360
+ if (C(n, e, t, s))
361
+ return m(() => t = w(i, n, t, l, !0)), () => t;
362
+ if (o)
363
+ return n.length ? t = [...i.childNodes] : t;
364
+ n.length === 0 ? t = A(i, t, l) : c ? t.length === 0 ? S(i, n, l) : _(i, t, n) : (t && A(i), S(i, n)), t = n;
365
+ } else if (e.nodeType) {
366
+ if (o && e.parentNode) return t = e;
367
+ Array.isArray(t) ? A(i, t, null, e) : t == null || t === "" || !i.firstChild ? i.appendChild(e) : i.replaceChild(e, i.firstChild), t = e;
368
+ }
369
+ }
370
+ return t;
371
+ }
372
+ function C(i, e, t, l) {
373
+ let s = !1;
374
+ for (let o = 0, f = e.length; o < f; o++) {
375
+ let n = e[o], c = t && t[i.length], r;
376
+ if (!(n == null || n === !0 || n === !1)) if ((r = typeof n) == "object" && n.nodeType)
377
+ i.push(n);
378
+ else if (Array.isArray(n))
379
+ s = C(i, n, c) || s;
380
+ else if (r === "function")
381
+ if (l) {
382
+ for (; typeof n == "function"; ) n = n();
383
+ s = C(i, Array.isArray(n) ? n : [n], Array.isArray(c) ? c : [c]) || s;
384
+ } else
385
+ i.push(n), s = !0;
386
+ else {
387
+ const d = String(n);
388
+ c && c.nodeType === 3 && c.data === d ? i.push(c) : i.push(document.createTextNode(d));
389
+ }
390
+ }
391
+ return s;
392
+ }
393
+ function S(i, e, t = null) {
394
+ for (let l = 0, s = e.length; l < s; l++) i.insertBefore(e[l], t);
395
+ }
396
+ function A(i, e, t, l) {
397
+ if (t === void 0) return i.textContent = "";
398
+ const s = l || document.createTextNode("");
399
+ if (e.length) {
400
+ let o = !1;
401
+ for (let f = e.length - 1; f >= 0; f--) {
402
+ const n = e[f];
403
+ if (s !== n) {
404
+ const c = n.parentNode === i;
405
+ !o && !f ? c ? i.replaceChild(s, n) : i.insertBefore(s, t) : c && n.remove();
406
+ } else o = !0;
407
+ }
408
+ } else i.insertBefore(s, t);
409
+ return [s];
410
+ }
411
+ function z() {
412
+ return u.getNextContextId();
413
+ }
414
+ const v = "http://www.w3.org/2000/svg";
415
+ function ee(i, e = !1) {
416
+ return e ? document.createElementNS(v, i) : document.createElement(i);
417
+ }
418
+ function te(i, e) {
419
+ const t = E(i);
420
+ return E(() => {
421
+ const l = t();
422
+ switch (typeof l) {
423
+ case "function":
424
+ return L(() => l(e));
425
+ case "string":
426
+ const s = G.has(l), o = u.context ? Q() : ee(l, s);
427
+ return Y(o, e, s), o;
428
+ }
429
+ });
430
+ }
431
+ function le(i) {
432
+ const [, e] = M(i, ["component"]);
433
+ return te(() => i.component, e);
434
+ }
435
+ export {
436
+ le as D,
437
+ F as d,
438
+ oe as i,
439
+ ne as m,
440
+ Y as s,
441
+ se as t,
442
+ p as u
443
+ };
@@ -0,0 +1 @@
1
+ "use strict";const a=require("solid-js"),M=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected"],P=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline",...M]),k=new Set(["innerHTML","textContent","innerText","children"]),O=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),D=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1}});function B(n,e){const t=D[n];return typeof t=="object"?t[e]?t.$:void 0:t}const I=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),j=new Set(["altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view","vkern"]),G={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},R=n=>a.createMemo(()=>n());function V(n,e,t){let f=t.length,s=e.length,o=f,l=0,i=0,c=e[s-1].nextSibling,r=null;for(;l<s||i<o;){if(e[l]===t[i]){l++,i++;continue}for(;e[s-1]===t[o-1];)s--,o--;if(s===l){const u=o<f?i?t[i-1].nextSibling:t[o-i]:c;for(;i<o;)n.insertBefore(t[i++],u)}else if(o===i)for(;l<s;)(!r||!r.has(e[l]))&&e[l].remove(),l++;else if(e[l]===t[o-1]&&t[i]===e[s-1]){const u=e[--s].nextSibling;n.insertBefore(t[i++],e[l++].nextSibling),n.insertBefore(t[--o],u),e[s]=t[o]}else{if(!r){r=new Map;let h=i;for(;h<o;)r.set(t[h],h++)}const u=r.get(e[l]);if(u!=null)if(i<u&&u<o){let h=l,d=1,g;for(;++h<s&&h<o&&!((g=r.get(e[h]))==null||g!==u+d);)d++;if(d>u-i){const w=e[l];for(;i<u;)n.insertBefore(t[i++],w)}else n.replaceChild(t[i++],e[l++])}else l++;else e[l++].remove()}}}const b="_$DX_DELEGATE";function _(n,e,t,f){let s;const o=()=>{const i=document.createElement("template");return i.innerHTML=n,i.content.firstChild},l=()=>(s||(s=o())).cloneNode(!0);return l.cloneNode=l,l}function x(n,e=window.document){const t=e[b]||(e[b]=new Set);for(let f=0,s=n.length;f<s;f++){const o=n[f];t.has(o)||(t.add(o),e.addEventListener(o,W))}}function A(n,e,t){y(n)||(t==null?n.removeAttribute(e):n.setAttribute(e,t))}function F(n,e,t,f){y(n)||(f==null?n.removeAttributeNS(e,t):n.setAttributeNS(e,t,f))}function H(n,e,t){y(n)||(t?n.setAttribute(e,""):n.removeAttribute(e))}function U(n,e){y(n)||(e==null?n.removeAttribute("class"):n.className=e)}function K(n,e,t,f){if(f)Array.isArray(t)?(n[`$$${e}`]=t[0],n[`$$${e}Data`]=t[1]):n[`$$${e}`]=t;else if(Array.isArray(t)){const s=t[0];n.addEventListener(e,t[0]=o=>s.call(n,t[1],o))}else n.addEventListener(e,t,typeof t!="function"&&t)}function q(n,e,t={}){const f=Object.keys(e||{}),s=Object.keys(t);let o,l;for(o=0,l=s.length;o<l;o++){const i=s[o];!i||i==="undefined"||e[i]||(N(n,i,!1),delete t[i])}for(o=0,l=f.length;o<l;o++){const i=f[o],c=!!e[i];!i||i==="undefined"||t[i]===c||!c||(N(n,i,!0),t[i]=c)}return t}function X(n,e,t){if(!e)return t?A(n,"style"):e;const f=n.style;if(typeof e=="string")return f.cssText=e;typeof t=="string"&&(f.cssText=t=void 0),t||(t={}),e||(e={});let s,o;for(o in t)e[o]==null&&f.removeProperty(o),delete t[o];for(o in e)s=e[o],s!==t[o]&&(f.setProperty(o,s),t[o]=s);return t}function S(n,e={},t,f){const s={};return f||a.createRenderEffect(()=>s.children=m(n,e.children,s.children)),a.createRenderEffect(()=>typeof e.ref=="function"&&L(e.ref,n)),a.createRenderEffect(()=>Y(n,e,t,!0,s,!0)),s}function L(n,e,t){return a.untrack(()=>n(e,t))}function J(n,e,t,f){if(typeof e!="function")return m(n,e,f,t);a.createRenderEffect(s=>m(n,e(),s,t),f)}function Y(n,e,t,f,s={},o=!1){e||(e={});for(const l in s)if(!(l in e)){if(l==="children")continue;s[l]=T(n,l,null,s[l],t,o,e)}for(const l in e){if(l==="children")continue;const i=e[l];s[l]=T(n,l,i,s[l],t,o,e)}}function p(n){let e,t;return!y()||!(e=a.sharedConfig.registry.get(t=Z()))?n():(a.sharedConfig.completed&&a.sharedConfig.completed.add(e),a.sharedConfig.registry.delete(t),e)}function y(n){return!!a.sharedConfig.context&&!a.sharedConfig.done&&(!n||n.isConnected)}function Q(n){return n.toLowerCase().replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function N(n,e,t){const f=e.trim().split(/\s+/);for(let s=0,o=f.length;s<o;s++)n.classList.toggle(f[s],t)}function T(n,e,t,f,s,o,l){let i,c,r,u,h;if(e==="style")return X(n,t,f);if(e==="classList")return q(n,t,f);if(t===f)return f;if(e==="ref")o||t(n);else if(e.slice(0,3)==="on:"){const d=e.slice(3);f&&n.removeEventListener(d,f,typeof f!="function"&&f),t&&n.addEventListener(d,t,typeof t!="function"&&t)}else if(e.slice(0,10)==="oncapture:"){const d=e.slice(10);f&&n.removeEventListener(d,f,!0),t&&n.addEventListener(d,t,!0)}else if(e.slice(0,2)==="on"){const d=e.slice(2).toLowerCase(),g=I.has(d);if(!g&&f){const w=Array.isArray(f)?f[0]:f;n.removeEventListener(d,w)}(g||t)&&(K(n,d,t,g),g&&x([d]))}else if(e.slice(0,5)==="attr:")A(n,e.slice(5),t);else if(e.slice(0,5)==="bool:")H(n,e.slice(5),t);else if((h=e.slice(0,5)==="prop:")||(r=k.has(e))||!s&&((u=B(e,n.tagName))||(c=P.has(e)))||(i=n.nodeName.includes("-")||"is"in l)){if(h)e=e.slice(5),c=!0;else if(y(n))return t;e==="class"||e==="className"?U(n,t):i&&!c&&!r?n[Q(e)]=t:n[u||e]=t}else{const d=s&&e.indexOf(":")>-1&&G[e.split(":")[0]];d?F(n,d,e,t):A(n,O[e]||e,t)}return t}function W(n){if(a.sharedConfig.registry&&a.sharedConfig.events&&a.sharedConfig.events.find(([c,r])=>r===n))return;let e=n.target;const t=`$$${n.type}`,f=n.target,s=n.currentTarget,o=c=>Object.defineProperty(n,"target",{configurable:!0,value:c}),l=()=>{const c=e[t];if(c&&!e.disabled){const r=e[`${t}Data`];if(r!==void 0?c.call(e,r,n):c.call(e,n),n.cancelBubble)return}return e.host&&typeof e.host!="string"&&!e.host._$host&&e.contains(n.target)&&o(e.host),!0},i=()=>{for(;l()&&(e=e._$host||e.parentNode||e.host););};if(Object.defineProperty(n,"currentTarget",{configurable:!0,get(){return e||document}}),a.sharedConfig.registry&&!a.sharedConfig.done&&(a.sharedConfig.done=_$HY.done=!0),n.composedPath){const c=n.composedPath();o(c[0]);for(let r=0;r<c.length-2&&(e=c[r],!!l());r++){if(e._$host){e=e._$host,i();break}if(e.parentNode===s)break}}else i();o(f)}function m(n,e,t,f,s){const o=y(n);if(o){!t&&(t=[...n.childNodes]);let i=[];for(let c=0;c<t.length;c++){const r=t[c];r.nodeType===8&&r.data.slice(0,2)==="!$"?r.remove():i.push(r)}t=i}for(;typeof t=="function";)t=t();if(e===t)return t;const l=typeof e;if(n=n,l==="string"||l==="number"){if(o||l==="number"&&(e=e.toString(),e===t))return t;t!==""&&typeof t=="string"?t=n.firstChild.data=e:t=n.textContent=e}else if(e==null||l==="boolean"){if(o)return t;t=C(n,t,f)}else{if(l==="function")return a.createRenderEffect(()=>{let i=e();for(;typeof i=="function";)i=i();t=m(n,i,t,f)}),()=>t;if(Array.isArray(e)){const i=[],c=t&&Array.isArray(t);if(E(i,e,t,s))return a.createRenderEffect(()=>t=m(n,i,t,f,!0)),()=>t;if(o)return i.length?t=[...n.childNodes]:t;i.length===0?t=C(n,t,f):c?t.length===0?$(n,i,f):V(n,t,i):(t&&C(n),$(n,i)),t=i}else if(e.nodeType){if(o&&e.parentNode)return t=e;Array.isArray(t)?C(n,t,null,e):t==null||t===""||!n.firstChild?n.appendChild(e):n.replaceChild(e,n.firstChild),t=e}}return t}function E(n,e,t,f){let s=!1;for(let o=0,l=e.length;o<l;o++){let i=e[o],c=t&&t[n.length],r;if(!(i==null||i===!0||i===!1))if((r=typeof i)=="object"&&i.nodeType)n.push(i);else if(Array.isArray(i))s=E(n,i,c)||s;else if(r==="function")if(f){for(;typeof i=="function";)i=i();s=E(n,Array.isArray(i)?i:[i],Array.isArray(c)?c:[c])||s}else n.push(i),s=!0;else{const u=String(i);c&&c.nodeType===3&&c.data===u?n.push(c):n.push(document.createTextNode(u))}}return s}function $(n,e,t=null){for(let f=0,s=e.length;f<s;f++)n.insertBefore(e[f],t)}function C(n,e,t,f){if(t===void 0)return n.textContent="";const s=f||document.createTextNode("");if(e.length){let o=!1;for(let l=e.length-1;l>=0;l--){const i=e[l];if(s!==i){const c=i.parentNode===n;!o&&!l?c?n.replaceChild(s,i):n.insertBefore(s,t):c&&i.remove()}else o=!0}}else n.insertBefore(s,t);return[s]}function Z(){return a.sharedConfig.getNextContextId()}const z="http://www.w3.org/2000/svg";function v(n,e=!1){return e?document.createElementNS(z,n):document.createElement(n)}function ee(n,e){const t=a.createMemo(n);return a.createMemo(()=>{const f=t();switch(typeof f){case"function":return a.untrack(()=>f(e));case"string":const s=j.has(f),o=a.sharedConfig.context?p():v(f,s);return S(o,e,s),o}})}function te(n){const[,e]=a.splitProps(n,["component"]);return ee(()=>n.component,e)}exports.Dynamic=te;exports.delegateEvents=x;exports.insert=J;exports.memo=R;exports.spread=S;exports.template=_;exports.use=L;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-intlayer",
3
- "version": "5.5.10",
3
+ "version": "5.5.11",
4
4
  "private": false,
5
5
  "description": "Easily internationalize i18n your Solid applications with type-safe multilingual content management.",
6
6
  "keywords": [
@@ -57,32 +57,39 @@
57
57
  ],
58
58
  "dependencies": {
59
59
  "js-cookie": "^3.0.5",
60
- "@intlayer/chokidar": "5.5.10",
61
- "@intlayer/config": "5.5.10",
62
- "@intlayer/core": "5.5.10",
63
- "@intlayer/editor": "5.5.10"
60
+ "@intlayer/editor": "5.5.11",
61
+ "@intlayer/api": "5.5.11",
62
+ "@intlayer/config": "5.5.11",
63
+ "@intlayer/core": "5.5.11"
64
64
  },
65
65
  "devDependencies": {
66
+ "@solidjs/testing-library": "^0.8.10",
67
+ "@testing-library/jest-dom": "^6.6.3",
68
+ "@testing-library/user-event": "^14.6.1",
69
+ "@types/js-cookie": "^3.0.6",
66
70
  "@types/node": "^22.15.30",
67
71
  "@typescript-eslint/parser": "^8.33.1",
68
72
  "concurrently": "^9.1.2",
69
73
  "eslint": "^9.28.0",
74
+ "jsdom": "^26.1.0",
70
75
  "prettier": "^3.5.3",
71
76
  "rimraf": "^6.0.1",
72
- "tsc-alias": "^1.8.16",
73
- "tsup": "^8.5.0",
74
77
  "typescript": "^5.8.3",
78
+ "vite": "^6.3.5",
79
+ "vite-plugin-dts": "^4.5.3",
80
+ "vite-plugin-solid": "^2.11.6",
81
+ "vitest": "^3.2.2",
75
82
  "@utils/eslint-config": "1.0.4",
76
- "@utils/tsup-config": "1.0.4",
77
83
  "@utils/ts-config": "1.0.4",
78
- "@utils/ts-config-types": "1.0.4"
84
+ "@utils/ts-config-types": "1.0.4",
85
+ "@utils/tsup-config": "1.0.4"
79
86
  },
80
87
  "peerDependencies": {
81
88
  "solid-js": "^1.9.5",
82
- "@intlayer/config": "5.5.10",
83
- "@intlayer/chokidar": "5.5.10",
84
- "@intlayer/editor": "5.5.10",
85
- "@intlayer/core": "5.5.10"
89
+ "@intlayer/config": "5.5.11",
90
+ "@intlayer/core": "5.5.11",
91
+ "@intlayer/api": "5.5.11",
92
+ "@intlayer/editor": "5.5.11"
86
93
  },
87
94
  "engines": {
88
95
  "node": ">=14.18"
@@ -91,17 +98,16 @@
91
98
  "url": "https://github.com/aymericzip/intlayer/issues"
92
99
  },
93
100
  "scripts": {
94
- "build": "pnpm build:package & pnpm build:types",
95
- "build:package": "tsup",
96
- "build:types": "tsc --project ./tsconfig.types.json && tsc-alias --project ./tsconfig.types.json",
101
+ "build": "vite build",
97
102
  "clean": "rimraf ./dist",
98
- "dev": "concurrently --prefix none \"tsup --watch\" \"tsc --project ./tsconfig.types.json --watch\" \"tsc-alias --project ./tsconfig.types.json --watch\"",
103
+ "dev": "vite build --watch",
99
104
  "lint": "eslint . --cache",
100
105
  "lint:fix": "eslint . --cache --fix",
101
106
  "prettier": "prettier . --check",
102
107
  "prettier:fix": "prettier . --write",
103
108
  "reset": "pnpm clean & pnpm build",
104
- "test": "",
109
+ "test": "vitest run",
110
+ "test:watch": "vitest",
105
111
  "typecheck": "tsup --project ./tsconfig.json --noEmit"
106
112
  }
107
113
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export * from './installIntlayer';\nexport * from './useDictionary';\nexport * from './useIntlayer';\nexport * from './useLocale';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,8BAAd;AACA,2BAAc,4BADd;AAEA,2BAAc,0BAFd;AAGA,2BAAc,wBAHd;","names":[]}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var installIntlayer_exports = {};
20
- __export(installIntlayer_exports, {
21
- INTLAYER_SYMBOL: () => INTLAYER_SYMBOL,
22
- IntlayerContext: () => IntlayerContext,
23
- createIntlayerProvider: () => createIntlayerProvider,
24
- useIntlayerContext: () => useIntlayerContext
25
- });
26
- module.exports = __toCommonJS(installIntlayer_exports);
27
- var import_solid_js = require("solid-js");
28
- const INTLAYER_SYMBOL = Symbol("intlayer");
29
- const IntlayerContext = (0, import_solid_js.createContext)();
30
- const useIntlayerContext = () => {
31
- const context = (0, import_solid_js.useContext)(IntlayerContext);
32
- if (!context) {
33
- throw new Error(
34
- "useIntlayerContext must be used within an IntlayerProvider"
35
- );
36
- }
37
- return context;
38
- };
39
- const createIntlayerProvider = (initialLocale) => {
40
- const [locale, setLocale] = (0, import_solid_js.createSignal)(initialLocale);
41
- return {
42
- locale,
43
- setLocale
44
- };
45
- };
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- INTLAYER_SYMBOL,
49
- IntlayerContext,
50
- createIntlayerProvider,
51
- useIntlayerContext
52
- });
53
- //# sourceMappingURL=installIntlayer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/installIntlayer.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport { Accessor, createContext, createSignal, useContext } from 'solid-js';\n\nexport interface IntlayerProvider {\n locale: Accessor<LocalesValues>;\n setLocale: (locale: LocalesValues) => void;\n}\n\nexport const INTLAYER_SYMBOL = Symbol('intlayer');\n\nexport const IntlayerContext = createContext<IntlayerProvider>();\n\nexport const useIntlayerContext = (): IntlayerProvider => {\n const context = useContext(IntlayerContext);\n if (!context) {\n throw new Error(\n 'useIntlayerContext must be used within an IntlayerProvider'\n );\n }\n return context;\n};\n\nexport const createIntlayerProvider = (\n initialLocale: LocalesValues\n): IntlayerProvider => {\n const [locale, setLocale] = createSignal<LocalesValues>(initialLocale);\n\n return {\n locale,\n setLocale,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAkE;AAO3D,MAAM,kBAAkB,OAAO,UAAU;AAEzC,MAAM,sBAAkB,+BAAgC;AAExD,MAAM,qBAAqB,MAAwB;AACxD,QAAM,cAAU,4BAAW,eAAe;AAC1C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,yBAAyB,CACpC,kBACqB;AACrB,QAAM,CAAC,QAAQ,SAAS,QAAI,8BAA4B,aAAa;AAErE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/useDictionary.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport { Dictionary } from '@intlayer/core';\nimport { createEffect, createMemo, createSignal } from 'solid-js';\nimport { getDictionary } from '../getDictionary';\nimport { useIntlayerContext } from './installIntlayer';\n\nexport const useDictionary = <T extends Dictionary>(\n dictionary: T,\n locale?: LocalesValues\n): any => {\n const intlayer = useIntlayerContext();\n\n /** which locale should we use right now? */\n const localeTarget = createMemo(() => locale ?? intlayer.locale());\n\n /** a reactive signal for the content */\n const [content, setContent] = createSignal<any>({});\n\n /** whenever `dictionary` or `locale` change, refresh the content */\n createEffect(() => {\n const next = getDictionary(dictionary, localeTarget());\n setContent(next as any);\n });\n\n return content();\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAuD;AACvD,2BAA8B;AAC9B,6BAAmC;AAE5B,MAAM,gBAAgB,CAC3B,YACA,WACQ;AACR,QAAM,eAAW,2CAAmB;AAGpC,QAAM,mBAAe,4BAAW,MAAM,UAAU,SAAS,OAAO,CAAC;AAGjE,QAAM,CAAC,SAAS,UAAU,QAAI,8BAAkB,CAAC,CAAC;AAGlD,oCAAa,MAAM;AACjB,UAAM,WAAO,oCAAc,YAAY,aAAa,CAAC;AACrD,eAAW,IAAW;AAAA,EACxB,CAAC;AAED,SAAO,QAAQ;AACjB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/useIntlayer.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport { DictionaryKeys } from '@intlayer/core';\nimport { createEffect, createMemo, createSignal } from 'solid-js';\n// @ts-ignore intlayer declared for module augmentation\nimport { getIntlayer } from '../getIntlayer';\nimport { useIntlayerContext } from './installIntlayer';\n\n/** guard utility — true only for objects generated by `renderIntlayerNode()` */\nexport const isUpdatableNode = (\n val: unknown\n): val is { __update: (n: unknown) => void } =>\n !!val &&\n typeof val === 'object' &&\n typeof (val as any).__update === 'function';\n\nexport const useIntlayer = <T extends DictionaryKeys>(\n key: T,\n locale?: LocalesValues\n): any => {\n const intlayer = useIntlayerContext();\n\n /** which locale should we use right now? */\n const localeTarget = createMemo(() => locale ?? intlayer.locale());\n\n /** a reactive signal for the content */\n const [content, setContent] = createSignal<any>({});\n\n /** whenever `key` or `locale` change, refresh the dictionary */\n createEffect(() => {\n const next = getIntlayer(key, localeTarget());\n setContent(next as any);\n });\n\n return content();\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAuD;AAEvD,yBAA4B;AAC5B,6BAAmC;AAG5B,MAAM,kBAAkB,CAC7B,QAEA,CAAC,CAAC,OACF,OAAO,QAAQ,YACf,OAAQ,IAAY,aAAa;AAE5B,MAAM,cAAc,CACzB,KACA,WACQ;AACR,QAAM,eAAW,2CAAmB;AAGpC,QAAM,mBAAe,4BAAW,MAAM,UAAU,SAAS,OAAO,CAAC;AAGjE,QAAM,CAAC,SAAS,UAAU,QAAI,8BAAkB,CAAC,CAAC;AAGlD,oCAAa,MAAM;AACjB,UAAM,WAAO,gCAAY,KAAK,aAAa,CAAC;AAC5C,eAAW,IAAW;AAAA,EACxB,CAAC;AAED,SAAO,QAAQ;AACjB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/useLocale.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport { Accessor } from 'solid-js';\nimport { useIntlayerContext } from './installIntlayer';\n\nexport const useLocale = (): [\n Accessor<LocalesValues>,\n (locale: LocalesValues) => void,\n] => {\n const intlayer = useIntlayerContext();\n\n return [intlayer.locale, intlayer.setLocale];\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAmC;AAE5B,MAAM,YAAY,MAGpB;AACH,QAAM,eAAW,2CAAmB;AAEpC,SAAO,CAAC,SAAS,QAAQ,SAAS,SAAS;AAC7C;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/getDictionary.ts"],"sourcesContent":["import type { Locales, LocalesValues } from '@intlayer/config/client';\nimport {\n Dictionary,\n Plugins,\n getDictionary as getDictionaryCore,\n} from '@intlayer/core';\nimport {\n DeepTransformContent,\n intlayerNodePlugins,\n markdownPlugin,\n} from './plugins';\n\nexport const getDictionary = <\n T extends Dictionary,\n L extends LocalesValues = Locales,\n>(\n dictionary: T,\n locale?: L,\n additionalPlugins?: Plugins[]\n) => {\n const plugins: Plugins[] = [\n intlayerNodePlugins,\n markdownPlugin,\n ...(additionalPlugins ?? []),\n ];\n\n return getDictionaryCore(\n dictionary,\n locale,\n plugins\n ) as any as DeepTransformContent<T['content']>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAIO;AACP,qBAIO;AAEA,MAAM,gBAAgB,CAI3B,YACA,QACA,sBACG;AACH,QAAM,UAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA,GAAI,qBAAqB,CAAC;AAAA,EAC5B;AAEA,aAAO,YAAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":["getDictionaryCore"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/getIntlayer.ts"],"sourcesContent":["import {\n DictionaryKeys,\n getIntlayer as getIntlayerCore,\n Plugins,\n} from '@intlayer/core';\n// @ts-ignore intlayer declared for module augmentation\nimport type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer';\nimport {\n DeepTransformContent,\n intlayerNodePlugins,\n markdownPlugin,\n} from './plugins';\n\nexport const getIntlayer = <T extends DictionaryKeys, L extends LocalesValues>(\n key: T,\n locale?: L,\n additionalPlugins?: Plugins[]\n) => {\n const plugins: Plugins[] = [\n intlayerNodePlugins,\n markdownPlugin,\n ...(additionalPlugins ?? []),\n ];\n\n return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent<\n IntlayerDictionaryTypesConnector[T]['content']\n >;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAIO;AAGP,qBAIO;AAEA,MAAM,cAAc,CACzB,KACA,QACA,sBACG;AACH,QAAM,UAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA,GAAI,qBAAqB,CAAC;AAAA,EAC5B;AAEA,aAAO,YAAAA,aAAgB,KAAK,QAAQ,OAAO;AAG7C;","names":["getIntlayerCore"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { IInterpreterPluginSolid } from './plugins';\n\ndeclare module '@intlayer/core' {\n interface IInterpreterPlugin<T, S> extends IInterpreterPluginSolid<T> {}\n}\n\nexport * from './client';\nexport * from './getDictionary';\nexport * from './getIntlayer';\nexport * from './markdown';\nexport * from './plugins';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,0BAAc,qBANd;AAOA,0BAAc,4BAPd;AAQA,0BAAc,0BARd;AASA,0BAAc,uBATd;AAUA,0BAAc,sBAVd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/markdown/index.ts"],"sourcesContent":["export const useMarkdown = () => {\n const renderMarkdown = (content: string): string => {\n // Basic markdown rendering - in a real implementation, you'd use a markdown parser\n return content;\n };\n\n return {\n renderMarkdown,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc,MAAM;AAC/B,QAAM,iBAAiB,CAAC,YAA4B;AAElD,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins.tsx"],"sourcesContent":["import type { Plugins } from '@intlayer/core';\n\n/**\n * Interface for Solid-specific plugin functionality\n * This interface can be augmented to add more Solid-specific transformations\n */\nexport interface IInterpreterPluginSolid<T> {\n /** Any Solid-specific properties can be added here */\n solidRendered?: T;\n}\n\n/**\n * Type that represents the deep transformation of content for Solid\n * This applies Solid-specific transformations recursively to all content\n */\nexport type DeepTransformContent<T> = T extends object\n ? {\n [K in keyof T]: DeepTransformContent<T[K]>;\n } & IInterpreterPluginSolid<T>\n : T;\n\n/**\n * Solid-specific node plugins for handling basic content types\n * These plugins handle strings, numbers, and bigints in Solid applications\n */\nexport const solidNodePlugins: Plugins = {\n id: 'solid-node-plugin',\n canHandle: (node) =>\n typeof node === 'bigint' ||\n typeof node === 'string' ||\n typeof node === 'number',\n transform: (node, { children, ...rest }) => {\n // For Solid, we can return the raw content as Solid handles reactivity automatically\n // In more complex scenarios, you might want to wrap content in Solid components\n return children ?? node;\n },\n};\n\n/**\n * Basic Intlayer node plugins for content handling\n * These handle the core content transformation logic\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, ...rest }) => {\n // Return the processed children or the node itself\n return children ?? node;\n },\n};\n\n/**\n * Markdown plugin for handling markdown content in Solid\n * This can be extended to integrate with Solid markdown processors\n */\nexport const markdownPlugin: Plugins = {\n id: 'markdown-plugin',\n canHandle: (node) => typeof node === 'string',\n transform: (node, props) => {\n // Basic markdown handling - can be extended with proper markdown parser\n return node;\n },\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBO,MAAM,mBAA4B;AAAA,EACvC,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAChB,OAAO,SAAS,YAChB,OAAO,SAAS;AAAA,EAClB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,MAAM;AAG1C,WAAO,YAAY;AAAA,EACrB;AACF;AAMO,MAAM,sBAA+B;AAAA,EAC1C,IAAI;AAAA,EACJ,WAAW,CAAC,SACV,OAAO,SAAS,YAChB,OAAO,SAAS,YAChB,OAAO,SAAS;AAAA,EAClB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,MAAM;AAE1C,WAAO,YAAY;AAAA,EACrB;AACF;AAMO,MAAM,iBAA0B;AAAA,EACrC,IAAI;AAAA,EACJ,WAAW,CAAC,SAAS,OAAO,SAAS;AAAA,EACrC,WAAW,CAAC,MAAM,UAAU;AAE1B,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export * from './installIntlayer';\nexport * from './useDictionary';\nexport * from './useIntlayer';\nexport * from './useLocale';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}