voodoojs 0.12.1 → 0.12.3

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.
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- import { core, sound, hotkey, palette, registerMask, unmask, applyMask, masks, mask, clearErrors, showFieldError, showFormErrors, messages, serializeForm, validate, validator, dialog, prompt, confirm, alert, modal, VoodooCollection, fromHtml, ready2, query, viewTransition, defineComponent, storage, ensurePalette, instances, storeNames, allStores } from './chunk-RDHYPGH6.js';
2
- export { VoodooCollection, alert, allStores, applyMask, cache, clearErrors, clipboard, confirm, cookie, createApp, createResource, defineComponent, dialog, ready as documentReady, enter, fadeIn, fadeOut, fromHtml, hotkey, installHooks, instances, leave, mask, masks, modal, mountComponent, network, palette, prompt, query, ready2 as ready, registerMask, removeStore, createResource as resource, screen, serializeForm, session, showFormErrors, slideDown, slideUp, sound, efeitos as soundEffects, storage, store, storeNames, theme, toast, unmask, url, useContext, useEffect, useMemo, useRef, useState, validate, validator, viewTransition, whenElement, whenReady } from './chunk-RDHYPGH6.js';
3
- export { gpu, reflectWgsl } from './chunk-AFMCDNYS.js';
4
- import { http } from './chunk-D7675IJG.js';
5
- export { HttpError, http, request } from './chunk-D7675IJG.js';
6
- import { devtoolsBus } from './chunk-HNM3CTBD.js';
7
- export { createSocket, devtoolsBus, socket, socketSupported } from './chunk-HNM3CTBD.js';
8
- import { magic, markSkipChildren, onStart, rootScope, findScope, destroy, readAttr, evaluate, parse, Scope, getScope, walk, unwrap, addCleanup, hadDirectives, collectDirectives, getEffectScopes, evaluateIn } from './chunk-4M4ZXHNY.js';
9
- export { Scope, VoodooRuntimeError, VoodooSyntaxError, addCleanup, allowedGlobals, clearParseCache, destroy, evaluate, findScope, getScope, hook, hooks, magic, magics, parse, refresh, rootScope, start, stringify, tokenize, walk } from './chunk-4M4ZXHNY.js';
10
- import { reactive, warn, handleError, effect, queuePostFlush, nextTick } from './chunk-LLNDLLKV.js';
11
- export { EffectScope, computed, effect, effectScope, flushSync, isReactive, markRaw, nextTick, reactive, ref, shallowRef, stop, toRaw, unref, watch, watchEffect } from './chunk-LLNDLLKV.js';
12
- import { warnAlias } from './chunk-72PMUUMT.js';
13
- import { parseDuration, formatNumber, formatCurrency, formatDate, relativeTime, device, setFormatDefaults, uid, merge, escapeHtml, truncate, get, titleCase } from './chunk-KN7NAKBL.js';
14
- export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-KN7NAKBL.js';
15
- import { ensureTokens, injectStyle } from './chunk-NP66JM2P.js';
16
- export { ensureTokens, injectStyle } from './chunk-NP66JM2P.js';
17
- import { defineDirective, PRIORITY, config } from './chunk-T5ION5NG.js';
18
- export { PRIORITY, config, defineDirective } from './chunk-T5ION5NG.js';
19
- import './chunk-GXPNWCGE.js';
1
+ import { core, sound, hotkey, palette, registerMask, unmask, applyMask, masks, mask, clearErrors, showFieldError, showFormErrors, messages, serializeForm, validate, validator, dialog, prompt, confirm, alert, modal, VoodooCollection, fromHtml, ready2, query, viewTransition, defineComponent, storage, ensurePalette, instances, storeNames, allStores } from './chunk-UFLF4VNQ.js';
2
+ export { VoodooCollection, alert, allStores, applyMask, cache, clearErrors, clipboard, confirm, cookie, createApp, createResource, defineComponent, dialog, ready as documentReady, enter, fadeIn, fadeOut, fromHtml, hotkey, installHooks, instances, leave, mask, masks, modal, mountComponent, network, palette, prompt, query, ready2 as ready, registerMask, removeStore, createResource as resource, screen, serializeForm, session, showFormErrors, slideDown, slideUp, sound, efeitos as soundEffects, storage, store, storeNames, theme, toast, unmask, url, useContext, useEffect, useMemo, useRef, useState, validate, validator, viewTransition, whenElement, whenReady } from './chunk-UFLF4VNQ.js';
3
+ export { gpu, reflectWgsl } from './chunk-WOYGKZ3L.js';
4
+ import { http } from './chunk-ZDLVJ7TA.js';
5
+ export { HttpError, http, request } from './chunk-ZDLVJ7TA.js';
6
+ import { devtoolsBus } from './chunk-EWFY7CJB.js';
7
+ export { createSocket, devtoolsBus, socket, socketSupported } from './chunk-EWFY7CJB.js';
8
+ import { magic, markSkipChildren, onStart, rootScope, findScope, destroy, readAttr, evaluate, parse, Scope, getScope, walk, unwrap, addCleanup, hadDirectives, collectDirectives, getEffectScopes, evaluateIn } from './chunk-NGDOIDR6.js';
9
+ export { Scope, VoodooRuntimeError, VoodooSyntaxError, addCleanup, allowedGlobals, clearParseCache, destroy, evaluate, findScope, getScope, hook, hooks, magic, magics, parse, refresh, rootScope, start, stringify, tokenize, walk } from './chunk-NGDOIDR6.js';
10
+ import { reactive, warn, handleError, effect, queuePostFlush, nextTick } from './chunk-VI27DQRZ.js';
11
+ export { EffectScope, computed, effect, effectScope, flushSync, isReactive, markRaw, nextTick, reactive, ref, shallowRef, stop, toRaw, unref, watch, watchEffect } from './chunk-VI27DQRZ.js';
12
+ import { warnAlias } from './chunk-FRYNZTKW.js';
13
+ import { parseDuration, formatNumber, formatCurrency, formatDate, relativeTime, device, setFormatDefaults, uid, merge, escapeHtml, truncate, get, titleCase } from './chunk-4DLB2RY5.js';
14
+ export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-4DLB2RY5.js';
15
+ import { ensureTokens, injectStyle } from './chunk-NB3JAL4F.js';
16
+ export { ensureTokens, injectStyle } from './chunk-NB3JAL4F.js';
17
+ import { defineDirective, PRIORITY, config } from './chunk-HTBGKRUJ.js';
18
+ export { PRIORITY, config, defineDirective } from './chunk-HTBGKRUJ.js';
19
+ import './chunk-5YP5VMW7.js';
20
20
 
21
21
  /**
22
- * Voodoo.js v0.12.1
22
+ * Voodoo.js v0.12.3
23
23
  * JavaScript feels like magic.
24
24
  * (c) 2026 Voodoo.js contributors. MIT License.
25
25
  */
@@ -4704,8 +4704,22 @@ register("v-table", {
4704
4704
  }
4705
4705
  },
4706
4706
  methods: {
4707
- cell(row, column) {
4708
- const value = get(row, column.key);
4707
+ /**
4708
+ * A row may be an object keyed by column, or a positional array.
4709
+ *
4710
+ * Only the object form was ever read. The documentation's own example on
4711
+ * the components page passes `[['Ada', 'Engineer']]` against columns
4712
+ * `['Name', 'Role']`, and looking `'Name'` up on an array finds nothing, so
4713
+ * every cell rendered empty while the header row and the row count both
4714
+ * looked perfectly right — which is a hard failure to even notice, let
4715
+ * alone diagnose.
4716
+ *
4717
+ * The index comes from the template rather than `cols.indexOf(column)`,
4718
+ * because `cols` is a computed and identity is not guaranteed to survive a
4719
+ * recomputation.
4720
+ */
4721
+ cell(row, column, index) {
4722
+ const value = Array.isArray(row) && typeof index === "number" ? row[index] : get(row, column.key);
4709
4723
  if (value === null || value === void 0) return "";
4710
4724
  return String(value);
4711
4725
  },
@@ -4753,8 +4767,8 @@ register("v-table", {
4753
4767
  </thead>
4754
4768
  <tbody>
4755
4769
  <tr v-for="(row, index) in sorted" :key="index">
4756
- <td v-for="column in cols" :key="column.key" :style="alignStyle(column)"
4757
- v-text="cell(row, column)"></td>
4770
+ <td v-for="(column, ci) in cols" :key="column.key" :style="alignStyle(column)"
4771
+ v-text="cell(row, column, ci)"></td>
4758
4772
  </tr>
4759
4773
  <tr v-if="!sorted.length">
4760
4774
  <td class="v-table-empty" :colspan="cols.length || 1" v-text="empty"></td>
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * Voodoo.js v0.12.1
4
+ * Voodoo.js v0.12.3
5
5
  * JavaScript feels like magic.
6
6
  * (c) 2026 Voodoo.js contributors. MIT License.
7
7
  */
@@ -1,4 +1,4 @@
1
- export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-LLNDLLKV.js';
2
- import './chunk-GXPNWCGE.js';
1
+ export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-VI27DQRZ.js';
2
+ import './chunk-5YP5VMW7.js';
3
3
  //# sourceMappingURL=reactivity.js.map
4
4
  //# sourceMappingURL=reactivity.js.map
package/dist/socket.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  /**
6
- * Voodoo.js v0.12.1
6
+ * Voodoo.js v0.12.3
7
7
  * JavaScript feels like magic.
8
8
  * (c) 2026 Voodoo.js contributors. MIT License.
9
9
  */
@@ -383,6 +383,23 @@ var DELIBERATELY_WITHHELD = /* @__PURE__ */ new Set([
383
383
  "SharedWorker",
384
384
  "ServiceWorker"
385
385
  ]);
386
+ function guardedTimer(name) {
387
+ return function(handler, timeout, ...rest) {
388
+ if (typeof handler !== "function") {
389
+ throw new VoodooRuntimeError(
390
+ `${name} needs a function. Passing a string would compile it, which this library never does.`
391
+ );
392
+ }
393
+ const timer = globalThis[name];
394
+ return timer(handler, timeout, ...rest);
395
+ };
396
+ }
397
+ function forwardGlobal(name) {
398
+ return function(...args) {
399
+ const fn = globalThis[name];
400
+ return fn(...args);
401
+ };
402
+ }
386
403
  var allowedGlobals = {
387
404
  Math,
388
405
  JSON,
@@ -401,7 +418,17 @@ var allowedGlobals = {
401
418
  isFinite,
402
419
  encodeURIComponent,
403
420
  decodeURIComponent,
404
- console
421
+ console,
422
+ ...typeof setTimeout !== "undefined" ? {
423
+ setTimeout: guardedTimer("setTimeout"),
424
+ setInterval: guardedTimer("setInterval"),
425
+ clearTimeout: forwardGlobal("clearTimeout"),
426
+ clearInterval: forwardGlobal("clearInterval")
427
+ } : {},
428
+ ...typeof requestAnimationFrame !== "undefined" ? {
429
+ requestAnimationFrame: forwardGlobal("requestAnimationFrame"),
430
+ cancelAnimationFrame: forwardGlobal("cancelAnimationFrame")
431
+ } : {}
405
432
  };
406
433
  var VoodooRuntimeError = class extends Error {
407
434
  constructor(message, expression) {
package/dist/socket.js CHANGED
@@ -1,14 +1,14 @@
1
- import { socketSupported, createSocket, socket } from './chunk-HNM3CTBD.js';
2
- export { ENGINE, SIO, createSocket, decodeEngine, decodeSocketIo, encodeSocketIo, engineURL, resolveSocketURL, socket, socketSupported } from './chunk-HNM3CTBD.js';
3
- import { evaluateIn, readAttr } from './chunk-4M4ZXHNY.js';
4
- import { reactive } from './chunk-LLNDLLKV.js';
5
- import { warnAlias } from './chunk-72PMUUMT.js';
6
- import { parseDuration } from './chunk-KN7NAKBL.js';
7
- import { defineDirective, PRIORITY, config } from './chunk-T5ION5NG.js';
8
- import './chunk-GXPNWCGE.js';
1
+ import { socketSupported, createSocket, socket } from './chunk-EWFY7CJB.js';
2
+ export { ENGINE, SIO, createSocket, decodeEngine, decodeSocketIo, encodeSocketIo, engineURL, resolveSocketURL, socket, socketSupported } from './chunk-EWFY7CJB.js';
3
+ import { evaluateIn, readAttr } from './chunk-NGDOIDR6.js';
4
+ import { reactive } from './chunk-VI27DQRZ.js';
5
+ import { warnAlias } from './chunk-FRYNZTKW.js';
6
+ import { parseDuration } from './chunk-4DLB2RY5.js';
7
+ import { defineDirective, PRIORITY, config } from './chunk-HTBGKRUJ.js';
8
+ import './chunk-5YP5VMW7.js';
9
9
 
10
10
  /**
11
- * Voodoo.js v0.12.1
11
+ * Voodoo.js v0.12.3
12
12
  * JavaScript feels like magic.
13
13
  * (c) 2026 Voodoo.js contributors. MIT License.
14
14
  */
@@ -0,0 +1,5 @@
1
+ export { BASE_TOKENS, ensureTokens, injectStyle } from './chunk-NB3JAL4F.js';
2
+ import './chunk-HTBGKRUJ.js';
3
+ import './chunk-5YP5VMW7.js';
4
+ //# sourceMappingURL=style-JJTTJNSI.js.map
5
+ //# sourceMappingURL=style-JJTTJNSI.js.map
package/dist/utils.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * Voodoo.js v0.12.1
4
+ * Voodoo.js v0.12.3
5
5
  * JavaScript feels like magic.
6
6
  * (c) 2026 Voodoo.js contributors. MIT License.
7
7
  */
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-KN7NAKBL.js';
2
- import './chunk-GXPNWCGE.js';
1
+ export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-4DLB2RY5.js';
2
+ import './chunk-5YP5VMW7.js';
3
3
  //# sourceMappingURL=utils.js.map
4
4
  //# sourceMappingURL=utils.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Voodoo.js v0.12.1
2
+ * Voodoo.js v0.12.3
3
3
  * JavaScript feels like magic.
4
4
  * (c) 2026 Voodoo.js contributors. MIT License.
5
5
  */
@@ -1798,6 +1798,23 @@ ${pointer}`);
1798
1798
  "SharedWorker",
1799
1799
  "ServiceWorker"
1800
1800
  ]);
1801
+ function guardedTimer(name) {
1802
+ return function(handler, timeout, ...rest) {
1803
+ if (typeof handler !== "function") {
1804
+ throw new VoodooRuntimeError(
1805
+ `${name} needs a function. Passing a string would compile it, which this library never does.`
1806
+ );
1807
+ }
1808
+ const timer = globalThis[name];
1809
+ return timer(handler, timeout, ...rest);
1810
+ };
1811
+ }
1812
+ function forwardGlobal(name) {
1813
+ return function(...args) {
1814
+ const fn = globalThis[name];
1815
+ return fn(...args);
1816
+ };
1817
+ }
1801
1818
  var allowedGlobals = {
1802
1819
  Math,
1803
1820
  JSON,
@@ -1816,7 +1833,17 @@ ${pointer}`);
1816
1833
  isFinite,
1817
1834
  encodeURIComponent,
1818
1835
  decodeURIComponent,
1819
- console
1836
+ console,
1837
+ ...typeof setTimeout !== "undefined" ? {
1838
+ setTimeout: guardedTimer("setTimeout"),
1839
+ setInterval: guardedTimer("setInterval"),
1840
+ clearTimeout: forwardGlobal("clearTimeout"),
1841
+ clearInterval: forwardGlobal("clearInterval")
1842
+ } : {},
1843
+ ...typeof requestAnimationFrame !== "undefined" ? {
1844
+ requestAnimationFrame: forwardGlobal("requestAnimationFrame"),
1845
+ cancelAnimationFrame: forwardGlobal("cancelAnimationFrame")
1846
+ } : {}
1820
1847
  };
1821
1848
  var VoodooRuntimeError = class extends Error {
1822
1849
  constructor(message, expression) {
@@ -7051,7 +7078,7 @@ Suggestion: attribute expressions accept a single value. If the logic spans more
7051
7078
  Object.defineProperties(rootScope.data, Object.getOwnPropertyDescriptors(values));
7052
7079
  return rootScope.data;
7053
7080
  }
7054
- var version2 = "0.12.1";
7081
+ var version2 = "0.12.3";
7055
7082
  var core = {
7056
7083
  // Utilities first: Voodoo's own names can override.
7057
7084
  ...utils_exports,
@@ -8687,9 +8714,14 @@ ${block(':root:not([data-theme="light"])', dark.vars)}
8687
8714
  allowedGlobals.V = V2;
8688
8715
  allowedGlobals.Voodoo = V2;
8689
8716
  if (config.baseURL && ((_a2 = V2.http) == null ? void 0 : _a2.setBaseURL)) V2.http.setBaseURL(config.baseURL);
8690
- if (options.manual || !config.autoStart) return;
8717
+ theme.init();
8718
+ if (options.manual || !config.autoStart) {
8719
+ whenReady(() => {
8720
+ applySavedPalette();
8721
+ });
8722
+ return;
8723
+ }
8691
8724
  const boot = () => {
8692
- theme.init();
8693
8725
  applySavedPalette();
8694
8726
  V2.start();
8695
8727
  if (typeof V2.enableXrayShortcut === "function") V2.enableXrayShortcut();