@servlyadmin/runtime-core 0.1.42 → 0.1.43

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.
@@ -152,18 +152,45 @@ function injectTailwind(config = {}) {
152
152
  const existingScript = document.querySelector('script[src*="tailwindcss.com"]');
153
153
  console.log("[Servly Tailwind] Existing script check:", { existingScript: !!existingScript, windowTailwind: !!window.tailwind });
154
154
  if (existingScript || window.tailwind) {
155
- console.log("[Servly Tailwind] Tailwind already exists");
155
+ console.log("[Servly Tailwind] Tailwind script already exists, waiting for window.tailwind...");
156
156
  tailwindInjected = true;
157
157
  markTailwindAsLoaded();
158
- if (shouldPreventFOUC) {
159
- removeFOUCPrevention();
160
- }
161
- if (tailwindReadyResolve) {
162
- tailwindReadyResolve();
163
- tailwindReadyResolve = null;
158
+ if (window.tailwind) {
159
+ console.log("[Servly Tailwind] window.tailwind already available");
160
+ if (shouldPreventFOUC) {
161
+ removeFOUCPrevention();
162
+ }
163
+ if (tailwindReadyResolve) {
164
+ tailwindReadyResolve();
165
+ tailwindReadyResolve = null;
166
+ }
167
+ config.onReady?.();
168
+ resolve();
169
+ return;
164
170
  }
165
- config.onReady?.();
166
- resolve();
171
+ let pollCount2 = 0;
172
+ const maxPolls2 = 100;
173
+ const pollForTailwind2 = () => {
174
+ pollCount2++;
175
+ if (window.tailwind) {
176
+ console.log("[Servly Tailwind] window.tailwind now available after", pollCount2 * 100, "ms");
177
+ if (shouldPreventFOUC) {
178
+ removeFOUCPrevention();
179
+ }
180
+ if (tailwindReadyResolve) {
181
+ tailwindReadyResolve();
182
+ tailwindReadyResolve = null;
183
+ }
184
+ config.onReady?.();
185
+ resolve();
186
+ } else if (pollCount2 < maxPolls2) {
187
+ setTimeout(pollForTailwind2, 100);
188
+ } else {
189
+ console.warn("[Servly Tailwind] window.tailwind never became available");
190
+ resolve();
191
+ }
192
+ };
193
+ setTimeout(pollForTailwind2, 100);
167
194
  return;
168
195
  }
169
196
  const scriptUrl = usePlayCdn ? `${cdnUrl}?plugins=forms,typography,aspect-ratio` : cdnUrl;
@@ -171,7 +198,6 @@ function injectTailwind(config = {}) {
171
198
  const script = document.createElement("script");
172
199
  script.src = scriptUrl;
173
200
  script.async = true;
174
- script.crossOrigin = "anonymous";
175
201
  script.onload = () => {
176
202
  console.log("[Servly Tailwind] Script loaded successfully!");
177
203
  tailwindInjected = true;
@@ -209,6 +235,33 @@ function injectTailwind(config = {}) {
209
235
  console.log("[Servly Tailwind] Appending script to head");
210
236
  document.head.appendChild(script);
211
237
  console.log("[Servly Tailwind] Script appended, head now has:", document.head.querySelectorAll("script").length, "scripts");
238
+ let pollCount = 0;
239
+ const maxPolls = 100;
240
+ const pollForTailwind = () => {
241
+ pollCount++;
242
+ if (window.tailwind) {
243
+ console.log("[Servly Tailwind] Tailwind detected via polling after", pollCount * 100, "ms");
244
+ if (!tailwindInjected) {
245
+ tailwindInjected = true;
246
+ tailwindScript = script;
247
+ markTailwindAsLoaded();
248
+ if (shouldPreventFOUC) {
249
+ removeFOUCPrevention();
250
+ }
251
+ if (tailwindReadyResolve) {
252
+ tailwindReadyResolve();
253
+ tailwindReadyResolve = null;
254
+ }
255
+ onReady?.();
256
+ resolve();
257
+ }
258
+ } else if (pollCount < maxPolls) {
259
+ setTimeout(pollForTailwind, 100);
260
+ } else {
261
+ console.warn("[Servly Tailwind] Tailwind not detected after polling, giving up");
262
+ }
263
+ };
264
+ setTimeout(pollForTailwind, 100);
212
265
  });
213
266
  }
214
267
  function removeTailwind() {
package/dist/index.cjs CHANGED
@@ -180,18 +180,45 @@ function injectTailwind(config = {}) {
180
180
  const existingScript = document.querySelector('script[src*="tailwindcss.com"]');
181
181
  console.log("[Servly Tailwind] Existing script check:", { existingScript: !!existingScript, windowTailwind: !!window.tailwind });
182
182
  if (existingScript || window.tailwind) {
183
- console.log("[Servly Tailwind] Tailwind already exists");
183
+ console.log("[Servly Tailwind] Tailwind script already exists, waiting for window.tailwind...");
184
184
  tailwindInjected = true;
185
185
  markTailwindAsLoaded();
186
- if (shouldPreventFOUC) {
187
- removeFOUCPrevention();
188
- }
189
- if (tailwindReadyResolve) {
190
- tailwindReadyResolve();
191
- tailwindReadyResolve = null;
186
+ if (window.tailwind) {
187
+ console.log("[Servly Tailwind] window.tailwind already available");
188
+ if (shouldPreventFOUC) {
189
+ removeFOUCPrevention();
190
+ }
191
+ if (tailwindReadyResolve) {
192
+ tailwindReadyResolve();
193
+ tailwindReadyResolve = null;
194
+ }
195
+ config.onReady?.();
196
+ resolve();
197
+ return;
192
198
  }
193
- config.onReady?.();
194
- resolve();
199
+ let pollCount2 = 0;
200
+ const maxPolls2 = 100;
201
+ const pollForTailwind2 = () => {
202
+ pollCount2++;
203
+ if (window.tailwind) {
204
+ console.log("[Servly Tailwind] window.tailwind now available after", pollCount2 * 100, "ms");
205
+ if (shouldPreventFOUC) {
206
+ removeFOUCPrevention();
207
+ }
208
+ if (tailwindReadyResolve) {
209
+ tailwindReadyResolve();
210
+ tailwindReadyResolve = null;
211
+ }
212
+ config.onReady?.();
213
+ resolve();
214
+ } else if (pollCount2 < maxPolls2) {
215
+ setTimeout(pollForTailwind2, 100);
216
+ } else {
217
+ console.warn("[Servly Tailwind] window.tailwind never became available");
218
+ resolve();
219
+ }
220
+ };
221
+ setTimeout(pollForTailwind2, 100);
195
222
  return;
196
223
  }
197
224
  const scriptUrl = usePlayCdn ? `${cdnUrl}?plugins=forms,typography,aspect-ratio` : cdnUrl;
@@ -199,7 +226,6 @@ function injectTailwind(config = {}) {
199
226
  const script = document.createElement("script");
200
227
  script.src = scriptUrl;
201
228
  script.async = true;
202
- script.crossOrigin = "anonymous";
203
229
  script.onload = () => {
204
230
  console.log("[Servly Tailwind] Script loaded successfully!");
205
231
  tailwindInjected = true;
@@ -237,6 +263,33 @@ function injectTailwind(config = {}) {
237
263
  console.log("[Servly Tailwind] Appending script to head");
238
264
  document.head.appendChild(script);
239
265
  console.log("[Servly Tailwind] Script appended, head now has:", document.head.querySelectorAll("script").length, "scripts");
266
+ let pollCount = 0;
267
+ const maxPolls = 100;
268
+ const pollForTailwind = () => {
269
+ pollCount++;
270
+ if (window.tailwind) {
271
+ console.log("[Servly Tailwind] Tailwind detected via polling after", pollCount * 100, "ms");
272
+ if (!tailwindInjected) {
273
+ tailwindInjected = true;
274
+ tailwindScript = script;
275
+ markTailwindAsLoaded();
276
+ if (shouldPreventFOUC) {
277
+ removeFOUCPrevention();
278
+ }
279
+ if (tailwindReadyResolve) {
280
+ tailwindReadyResolve();
281
+ tailwindReadyResolve = null;
282
+ }
283
+ onReady?.();
284
+ resolve();
285
+ }
286
+ } else if (pollCount < maxPolls) {
287
+ setTimeout(pollForTailwind, 100);
288
+ } else {
289
+ console.warn("[Servly Tailwind] Tailwind not detected after polling, giving up");
290
+ }
291
+ };
292
+ setTimeout(pollForTailwind, 100);
240
293
  });
241
294
  }
242
295
  function removeTailwind() {
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  scheduleRefresh,
18
18
  updateTailwindConfig,
19
19
  waitForTailwind
20
- } from "./chunk-L5RPU26D.js";
20
+ } from "./chunk-TXHGJYYM.js";
21
21
  import {
22
22
  buildRegistryFromBundle,
23
23
  collectAllDependencies,
@@ -3613,7 +3613,7 @@ async function createServlyRenderer(options) {
3613
3613
  container = containerOption;
3614
3614
  }
3615
3615
  if (shouldInjectTailwind) {
3616
- const { initServlyTailwind: initServlyTailwind2 } = await import("./tailwind-MU3YZM2C.js");
3616
+ const { initServlyTailwind: initServlyTailwind2 } = await import("./tailwind-GU53TXCZ.js");
3617
3617
  await initServlyTailwind2(tailwindConfig);
3618
3618
  }
3619
3619
  const activeRenders = [];
@@ -18,7 +18,7 @@ import {
18
18
  tailwind_default,
19
19
  updateTailwindConfig,
20
20
  waitForTailwind
21
- } from "./chunk-L5RPU26D.js";
21
+ } from "./chunk-TXHGJYYM.js";
22
22
  export {
23
23
  DEFAULT_SERVLY_TAILWIND_CONFIG,
24
24
  addCustomStyles,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servlyadmin/runtime-core",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "description": "Framework-agnostic core renderer for Servly components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",