sibujs 1.0.9 → 1.2.0

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 (62) hide show
  1. package/dist/browser.cjs +1 -1
  2. package/dist/browser.js +4 -4
  3. package/dist/build.cjs +53 -18
  4. package/dist/build.js +17 -10
  5. package/dist/cdn.global.js +6 -6
  6. package/dist/chunk-23VV7YD3.js +107 -0
  7. package/dist/chunk-3ARAQO7B.js +398 -0
  8. package/dist/chunk-6SA3QQES.js +61 -0
  9. package/dist/chunk-7BF6TK55.js +1097 -0
  10. package/dist/chunk-B7SWRFUT.js +332 -0
  11. package/dist/chunk-BW3WT46K.js +937 -0
  12. package/dist/chunk-C6KFWOFV.js +616 -0
  13. package/dist/chunk-EVCZO745.js +365 -0
  14. package/dist/chunk-GCOK2LC3.js +282 -0
  15. package/dist/chunk-L6JRBDNS.js +60 -0
  16. package/dist/chunk-LA6KQEDU.js +712 -0
  17. package/dist/chunk-MK4ERFYL.js +2249 -0
  18. package/dist/chunk-NHUC2QWH.js +282 -0
  19. package/dist/chunk-OUZZEE4S.js +365 -0
  20. package/dist/chunk-P6W3STU4.js +2249 -0
  21. package/dist/chunk-RQGQSLQK.js +725 -0
  22. package/dist/chunk-TNQWPPE6.js +37 -0
  23. package/dist/chunk-UNXCEF6S.js +21 -0
  24. package/dist/chunk-V2XTI523.js +347 -0
  25. package/dist/chunk-VMVDTCXB.js +712 -0
  26. package/dist/chunk-WADYRCO2.js +304 -0
  27. package/dist/chunk-WILQZRO4.js +282 -0
  28. package/dist/chunk-WR5D4EGH.js +26 -0
  29. package/dist/chunk-WUHJISPP.js +298 -0
  30. package/dist/chunk-YUTWTI4B.js +654 -0
  31. package/dist/chunk-Z6POF5YC.js +975 -0
  32. package/dist/chunk-ZBJP6WFL.js +482 -0
  33. package/dist/data.cjs +1 -1
  34. package/dist/data.js +6 -6
  35. package/dist/devtools.cjs +1 -1
  36. package/dist/devtools.js +4 -4
  37. package/dist/ecosystem.cjs +46 -18
  38. package/dist/ecosystem.js +7 -7
  39. package/dist/extras.cjs +53 -19
  40. package/dist/extras.js +21 -21
  41. package/dist/index.cjs +46 -18
  42. package/dist/index.d.cts +24 -8
  43. package/dist/index.d.ts +24 -8
  44. package/dist/index.js +10 -10
  45. package/dist/motion.cjs +1 -1
  46. package/dist/motion.js +3 -3
  47. package/dist/patterns.cjs +8 -2
  48. package/dist/patterns.js +5 -5
  49. package/dist/performance.cjs +1 -1
  50. package/dist/performance.js +3 -3
  51. package/dist/plugins.cjs +46 -18
  52. package/dist/plugins.js +9 -9
  53. package/dist/ssr-3RXHP5ES.js +38 -0
  54. package/dist/ssr.cjs +46 -18
  55. package/dist/ssr.d.cts +9 -0
  56. package/dist/ssr.d.ts +9 -0
  57. package/dist/ssr.js +8 -8
  58. package/dist/ui.cjs +1 -1
  59. package/dist/ui.js +6 -6
  60. package/dist/widgets.cjs +1 -1
  61. package/dist/widgets.js +5 -5
  62. package/package.json +1 -1
@@ -33,9 +33,9 @@ import {
33
33
  transitionState,
34
34
  uniqueId,
35
35
  yieldToMain
36
- } from "./chunk-HGMJFBC7.js";
37
- import "./chunk-YECR7UIA.js";
38
- import "./chunk-4MYMUBRS.js";
36
+ } from "./chunk-YUTWTI4B.js";
37
+ import "./chunk-V2XTI523.js";
38
+ import "./chunk-UNXCEF6S.js";
39
39
  import "./chunk-MLKGABMK.js";
40
40
  export {
41
41
  DOMPool,
package/dist/plugins.cjs CHANGED
@@ -22,7 +22,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
22
22
 
23
23
  // src/core/dev.ts
24
24
  function isDev() {
25
- return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : true;
25
+ return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : typeof process !== "undefined" && process.env?.NODE_ENV !== "production";
26
26
  }
27
27
  function devAssert(condition, message) {
28
28
  if (_isDev && !condition) {
@@ -699,11 +699,11 @@ function bindChildNode(placeholder, getter) {
699
699
  if (_isDev4) devWarn(`bindChildNode: getter threw: ${err instanceof Error ? err.message : String(err)}`);
700
700
  return;
701
701
  }
702
- for (let i2 = 0; i2 < lastNodes.length; i2++) {
703
- const node = lastNodes[i2];
704
- if (node.parentNode) node.parentNode.removeChild(node);
705
- }
706
702
  if (result == null || typeof result === "boolean") {
703
+ for (let i2 = 0; i2 < lastNodes.length; i2++) {
704
+ const node = lastNodes[i2];
705
+ if (node.parentNode) node.parentNode.removeChild(node);
706
+ }
707
707
  lastNodes.length = 0;
708
708
  return;
709
709
  }
@@ -712,24 +712,46 @@ function bindChildNode(placeholder, getter) {
712
712
  lastNodes.length = 0;
713
713
  return;
714
714
  }
715
- const anchor = placeholder.nextSibling;
716
- let count = 0;
715
+ let newNodes;
717
716
  if (Array.isArray(result)) {
718
- if (lastNodes.length < result.length) lastNodes = new Array(result.length);
717
+ newNodes = [];
719
718
  for (let i2 = 0; i2 < result.length; i2++) {
720
719
  const item = result[i2];
721
720
  if (item == null || typeof item === "boolean") continue;
722
- const node = item instanceof Node ? item : document.createTextNode(String(item));
723
- parent.insertBefore(node, anchor);
724
- lastNodes[count++] = node;
721
+ newNodes.push(item instanceof Node ? item : document.createTextNode(String(item)));
725
722
  }
726
723
  } else {
727
- if (lastNodes.length < 1) lastNodes = [null];
728
724
  const node = result instanceof Node ? result : document.createTextNode(String(result));
729
- parent.insertBefore(node, anchor);
730
- lastNodes[count++] = node;
725
+ newNodes = [node];
726
+ }
727
+ const reused = lastNodes.length > 0 && newNodes.length > 0 ? /* @__PURE__ */ new Set() : void 0;
728
+ if (reused) {
729
+ for (let i2 = 0; i2 < newNodes.length; i2++) {
730
+ for (let j = 0; j < lastNodes.length; j++) {
731
+ if (newNodes[i2] === lastNodes[j]) {
732
+ reused.add(newNodes[i2]);
733
+ break;
734
+ }
735
+ }
736
+ }
731
737
  }
732
- lastNodes.length = count;
738
+ for (let i2 = 0; i2 < lastNodes.length; i2++) {
739
+ const node = lastNodes[i2];
740
+ if (reused?.has(node)) continue;
741
+ if (node.parentNode) node.parentNode.removeChild(node);
742
+ }
743
+ const anchor = placeholder.nextSibling;
744
+ for (let i2 = 0; i2 < newNodes.length; i2++) {
745
+ const node = newNodes[i2];
746
+ if (reused?.has(node) && node.parentNode === parent) {
747
+ if (node.nextSibling !== anchor) {
748
+ parent.insertBefore(node, anchor);
749
+ }
750
+ } else {
751
+ parent.insertBefore(node, anchor);
752
+ }
753
+ }
754
+ lastNodes = newNodes;
733
755
  }
734
756
  return track(commit);
735
757
  }
@@ -942,12 +964,18 @@ var tagFactory = (tag, ns) => (first, second) => {
942
964
  // already handled above / below
943
965
  default: {
944
966
  const value = props[key];
945
- if (value == null || value === false) continue;
967
+ if (value == null) continue;
946
968
  if (key[0] === "o" && key[1] === "n") continue;
947
969
  if (typeof value === "function") {
948
970
  registerDisposer(el, bindAttribute(el, key, value));
949
- } else if (value === true) {
950
- el.setAttribute(key, "");
971
+ } else if (typeof value === "boolean") {
972
+ if (key in el && (key === "checked" || key === "disabled" || key === "selected")) {
973
+ el[key] = value;
974
+ } else if (value) {
975
+ el.setAttribute(key, "");
976
+ } else {
977
+ el.removeAttribute(key);
978
+ }
951
979
  } else {
952
980
  const str = String(value);
953
981
  el.setAttribute(key, isUrlAttribute(key) ? sanitizeUrl(str) : str);
package/dist/plugins.js CHANGED
@@ -18,10 +18,10 @@ import {
18
18
  preloadCritical,
19
19
  prerenderRoutes,
20
20
  satisfies
21
- } from "./chunk-OF7UZIVB.js";
21
+ } from "./chunk-RQGQSLQK.js";
22
22
  import {
23
23
  renderToString
24
- } from "./chunk-AZ3ISID5.js";
24
+ } from "./chunk-WUHJISPP.js";
25
25
  import {
26
26
  createPlugin,
27
27
  inject,
@@ -33,21 +33,21 @@ import {
33
33
  } from "./chunk-K5ZUMYVS.js";
34
34
  import {
35
35
  span
36
- } from "./chunk-EWFVA3TJ.js";
36
+ } from "./chunk-GCOK2LC3.js";
37
37
  import {
38
38
  dispose,
39
39
  registerDisposer
40
- } from "./chunk-MDVXJWFN.js";
41
- import "./chunk-SDLZDHKP.js";
40
+ } from "./chunk-B7SWRFUT.js";
41
+ import "./chunk-23VV7YD3.js";
42
42
  import {
43
43
  effect
44
- } from "./chunk-PZEGYCF5.js";
44
+ } from "./chunk-6SA3QQES.js";
45
45
  import "./chunk-CHJ27IGK.js";
46
46
  import {
47
47
  signal,
48
48
  track
49
- } from "./chunk-YECR7UIA.js";
50
- import "./chunk-4MYMUBRS.js";
49
+ } from "./chunk-V2XTI523.js";
50
+ import "./chunk-UNXCEF6S.js";
51
51
  import "./chunk-MLKGABMK.js";
52
52
 
53
53
  // src/plugins/i18n.ts
@@ -1612,7 +1612,7 @@ function hydrateRouter(routes, options) {
1612
1612
  if (container && serverState.path) {
1613
1613
  const resolved = resolveServerRoute(serverState.path, routes);
1614
1614
  if (resolved.component) {
1615
- import("./ssr-6GIMY5MX.js").then(({ hydrate }) => {
1615
+ import("./ssr-3RXHP5ES.js").then(({ hydrate }) => {
1616
1616
  if (resolved.component) {
1617
1617
  hydrate(resolved.component, container);
1618
1618
  }
@@ -0,0 +1,38 @@
1
+ import {
2
+ collectStream,
3
+ deserializeState,
4
+ hydrate,
5
+ hydrateIslands,
6
+ hydrateProgressively,
7
+ island,
8
+ renderToDocument,
9
+ renderToReadableStream,
10
+ renderToStream,
11
+ renderToString,
12
+ renderToSuspenseStream,
13
+ resetSSRState,
14
+ serializeState,
15
+ ssrSuspense,
16
+ suspenseSwapScript,
17
+ trustHTML
18
+ } from "./chunk-WUHJISPP.js";
19
+ import "./chunk-UNXCEF6S.js";
20
+ import "./chunk-MLKGABMK.js";
21
+ export {
22
+ collectStream,
23
+ deserializeState,
24
+ hydrate,
25
+ hydrateIslands,
26
+ hydrateProgressively,
27
+ island,
28
+ renderToDocument,
29
+ renderToReadableStream,
30
+ renderToStream,
31
+ renderToString,
32
+ renderToSuspenseStream,
33
+ resetSSRState,
34
+ serializeState,
35
+ ssrSuspense,
36
+ suspenseSwapScript,
37
+ trustHTML
38
+ };
package/dist/ssr.cjs CHANGED
@@ -64,7 +64,7 @@ module.exports = __toCommonJS(ssr_exports);
64
64
 
65
65
  // src/core/dev.ts
66
66
  function isDev() {
67
- return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : true;
67
+ return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : typeof process !== "undefined" && process.env?.NODE_ENV !== "production";
68
68
  }
69
69
  var _isDev = isDev();
70
70
  function devAssert(condition, message) {
@@ -1000,11 +1000,11 @@ function bindChildNode(placeholder, getter) {
1000
1000
  if (_isDev6) devWarn(`bindChildNode: getter threw: ${err instanceof Error ? err.message : String(err)}`);
1001
1001
  return;
1002
1002
  }
1003
- for (let i2 = 0; i2 < lastNodes.length; i2++) {
1004
- const node = lastNodes[i2];
1005
- if (node.parentNode) node.parentNode.removeChild(node);
1006
- }
1007
1003
  if (result == null || typeof result === "boolean") {
1004
+ for (let i2 = 0; i2 < lastNodes.length; i2++) {
1005
+ const node = lastNodes[i2];
1006
+ if (node.parentNode) node.parentNode.removeChild(node);
1007
+ }
1008
1008
  lastNodes.length = 0;
1009
1009
  return;
1010
1010
  }
@@ -1013,24 +1013,46 @@ function bindChildNode(placeholder, getter) {
1013
1013
  lastNodes.length = 0;
1014
1014
  return;
1015
1015
  }
1016
- const anchor = placeholder.nextSibling;
1017
- let count = 0;
1016
+ let newNodes;
1018
1017
  if (Array.isArray(result)) {
1019
- if (lastNodes.length < result.length) lastNodes = new Array(result.length);
1018
+ newNodes = [];
1020
1019
  for (let i2 = 0; i2 < result.length; i2++) {
1021
1020
  const item = result[i2];
1022
1021
  if (item == null || typeof item === "boolean") continue;
1023
- const node = item instanceof Node ? item : document.createTextNode(String(item));
1024
- parent.insertBefore(node, anchor);
1025
- lastNodes[count++] = node;
1022
+ newNodes.push(item instanceof Node ? item : document.createTextNode(String(item)));
1026
1023
  }
1027
1024
  } else {
1028
- if (lastNodes.length < 1) lastNodes = [null];
1029
1025
  const node = result instanceof Node ? result : document.createTextNode(String(result));
1030
- parent.insertBefore(node, anchor);
1031
- lastNodes[count++] = node;
1026
+ newNodes = [node];
1027
+ }
1028
+ const reused = lastNodes.length > 0 && newNodes.length > 0 ? /* @__PURE__ */ new Set() : void 0;
1029
+ if (reused) {
1030
+ for (let i2 = 0; i2 < newNodes.length; i2++) {
1031
+ for (let j = 0; j < lastNodes.length; j++) {
1032
+ if (newNodes[i2] === lastNodes[j]) {
1033
+ reused.add(newNodes[i2]);
1034
+ break;
1035
+ }
1036
+ }
1037
+ }
1032
1038
  }
1033
- lastNodes.length = count;
1039
+ for (let i2 = 0; i2 < lastNodes.length; i2++) {
1040
+ const node = lastNodes[i2];
1041
+ if (reused?.has(node)) continue;
1042
+ if (node.parentNode) node.parentNode.removeChild(node);
1043
+ }
1044
+ const anchor = placeholder.nextSibling;
1045
+ for (let i2 = 0; i2 < newNodes.length; i2++) {
1046
+ const node = newNodes[i2];
1047
+ if (reused?.has(node) && node.parentNode === parent) {
1048
+ if (node.nextSibling !== anchor) {
1049
+ parent.insertBefore(node, anchor);
1050
+ }
1051
+ } else {
1052
+ parent.insertBefore(node, anchor);
1053
+ }
1054
+ }
1055
+ lastNodes = newNodes;
1034
1056
  }
1035
1057
  return track(commit);
1036
1058
  }
@@ -1221,12 +1243,18 @@ var tagFactory = (tag, ns) => (first, second) => {
1221
1243
  // already handled above / below
1222
1244
  default: {
1223
1245
  const value = props[key];
1224
- if (value == null || value === false) continue;
1246
+ if (value == null) continue;
1225
1247
  if (key[0] === "o" && key[1] === "n") continue;
1226
1248
  if (typeof value === "function") {
1227
1249
  registerDisposer(el, bindAttribute(el, key, value));
1228
- } else if (value === true) {
1229
- el.setAttribute(key, "");
1250
+ } else if (typeof value === "boolean") {
1251
+ if (key in el && (key === "checked" || key === "disabled" || key === "selected")) {
1252
+ el[key] = value;
1253
+ } else if (value) {
1254
+ el.setAttribute(key, "");
1255
+ } else {
1256
+ el.removeAttribute(key);
1257
+ }
1230
1258
  } else {
1231
1259
  const str = String(value);
1232
1260
  el.setAttribute(key, isUrlAttribute(key) ? sanitizeUrl(str) : str);
package/dist/ssr.d.cts CHANGED
@@ -40,6 +40,15 @@ interface UseWorkerReturn<TInput, TOutput> {
40
40
  * and should call `postMessage` to send results back. It is serialized
41
41
  * into a Blob URL, so it must be self-contained (no closures).
42
42
  *
43
+ * **CSP Warning:** This function serializes the provided function via `.toString()`
44
+ * and executes it inside a `blob:` URL Worker. This is equivalent to `eval()` and
45
+ * is incompatible with strict Content Security Policies that restrict
46
+ * `worker-src 'self'` or block `blob:` URLs. Additionally:
47
+ * - Minifiers may break captured variable references (closures silently fail).
48
+ * - Module-level imports are NOT accessible inside the worker.
49
+ * - Never pass user-controlled or dynamically constructed functions — this
50
+ * would be equivalent to `eval()` on untrusted input.
51
+ *
43
52
  * @param workerFn The function body to run inside the worker.
44
53
  * It receives `self` as the worker global scope.
45
54
  * @returns An object with post, result, error, loading, and terminate.
package/dist/ssr.d.ts CHANGED
@@ -40,6 +40,15 @@ interface UseWorkerReturn<TInput, TOutput> {
40
40
  * and should call `postMessage` to send results back. It is serialized
41
41
  * into a Blob URL, so it must be self-contained (no closures).
42
42
  *
43
+ * **CSP Warning:** This function serializes the provided function via `.toString()`
44
+ * and executes it inside a `blob:` URL Worker. This is equivalent to `eval()` and
45
+ * is incompatible with strict Content Security Policies that restrict
46
+ * `worker-src 'self'` or block `blob:` URLs. Additionally:
47
+ * - Minifiers may break captured variable references (closures silently fail).
48
+ * - Module-level imports are NOT accessible inside the worker.
49
+ * - Never pass user-controlled or dynamically constructed functions — this
50
+ * would be equivalent to `eval()` on untrusted input.
51
+ *
43
52
  * @param workerFn The function body to run inside the worker.
44
53
  * It receives `self` as the worker global scope.
45
54
  * @returns An object with post, result, error, loading, and terminate.
package/dist/ssr.js CHANGED
@@ -22,7 +22,7 @@ import {
22
22
  wasm,
23
23
  worker,
24
24
  workerFn
25
- } from "./chunk-7V26P53V.js";
25
+ } from "./chunk-VMVDTCXB.js";
26
26
  import {
27
27
  collectStream,
28
28
  deserializeState,
@@ -40,14 +40,14 @@ import {
40
40
  ssrSuspense,
41
41
  suspenseSwapScript,
42
42
  trustHTML
43
- } from "./chunk-AZ3ISID5.js";
44
- import "./chunk-EWFVA3TJ.js";
45
- import "./chunk-MDVXJWFN.js";
46
- import "./chunk-SDLZDHKP.js";
47
- import "./chunk-PZEGYCF5.js";
43
+ } from "./chunk-WUHJISPP.js";
44
+ import "./chunk-GCOK2LC3.js";
45
+ import "./chunk-B7SWRFUT.js";
46
+ import "./chunk-23VV7YD3.js";
47
+ import "./chunk-6SA3QQES.js";
48
48
  import "./chunk-CHJ27IGK.js";
49
- import "./chunk-YECR7UIA.js";
50
- import "./chunk-4MYMUBRS.js";
49
+ import "./chunk-V2XTI523.js";
50
+ import "./chunk-UNXCEF6S.js";
51
51
  import "./chunk-MLKGABMK.js";
52
52
  export {
53
53
  Head,
package/dist/ui.cjs CHANGED
@@ -79,7 +79,7 @@ module.exports = __toCommonJS(ui_exports);
79
79
 
80
80
  // src/core/dev.ts
81
81
  function isDev() {
82
- return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : true;
82
+ return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : typeof process !== "undefined" && process.env?.NODE_ENV !== "production";
83
83
  }
84
84
  var _isDev = isDev();
85
85
  function devAssert(condition, message) {
package/dist/ui.js CHANGED
@@ -37,7 +37,7 @@ import {
37
37
  toast,
38
38
  withScopedStyle,
39
39
  zipMask
40
- } from "./chunk-6LSNVCS2.js";
40
+ } from "./chunk-BW3WT46K.js";
41
41
  import {
42
42
  RenderProp,
43
43
  assertType,
@@ -55,14 +55,14 @@ import {
55
55
  withProps,
56
56
  withWrapper
57
57
  } from "./chunk-XYU6TZOW.js";
58
- import "./chunk-SDLZDHKP.js";
59
- import "./chunk-FGOEVHY3.js";
58
+ import "./chunk-23VV7YD3.js";
59
+ import "./chunk-L6JRBDNS.js";
60
60
  import {
61
61
  effect
62
- } from "./chunk-PZEGYCF5.js";
62
+ } from "./chunk-6SA3QQES.js";
63
63
  import "./chunk-CHJ27IGK.js";
64
- import "./chunk-YECR7UIA.js";
65
- import "./chunk-4MYMUBRS.js";
64
+ import "./chunk-V2XTI523.js";
65
+ import "./chunk-UNXCEF6S.js";
66
66
  import "./chunk-MLKGABMK.js";
67
67
 
68
68
  // src/ui/lazyEffect.ts
package/dist/widgets.cjs CHANGED
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(widgets_exports);
34
34
 
35
35
  // src/core/dev.ts
36
36
  function isDev() {
37
- return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : true;
37
+ return typeof globalThis.__SIBU_DEV__ !== "undefined" ? !!globalThis.__SIBU_DEV__ : typeof __SIBU_DEV__ !== "undefined" ? __SIBU_DEV__ : typeof process !== "undefined" && process.env?.NODE_ENV !== "production";
38
38
  }
39
39
  var _isDev = isDev();
40
40
  function devAssert(condition, message) {
package/dist/widgets.js CHANGED
@@ -8,12 +8,12 @@ import {
8
8
  select,
9
9
  tabs,
10
10
  tooltip
11
- } from "./chunk-PBHF5WKN.js";
12
- import "./chunk-CZUGLNJS.js";
13
- import "./chunk-FGOEVHY3.js";
11
+ } from "./chunk-C6KFWOFV.js";
12
+ import "./chunk-TNQWPPE6.js";
13
+ import "./chunk-L6JRBDNS.js";
14
14
  import "./chunk-CHJ27IGK.js";
15
- import "./chunk-YECR7UIA.js";
16
- import "./chunk-4MYMUBRS.js";
15
+ import "./chunk-V2XTI523.js";
16
+ import "./chunk-UNXCEF6S.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
  export {
19
19
  accordion,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sibujs",
3
- "version": "1.0.9",
3
+ "version": "1.2.0",
4
4
  "description": "A lightweight, function-based frontend framework that combines the best of React, Svelte, and Vue — with zero VDOM and maximum simplicity. Designed for developers who want fine-grained reactivity and full control without compilation or magic.",
5
5
  "keywords": [
6
6
  "frontend",