@octane-xplat/ui 0.3.0 → 0.5.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 (129) hide show
  1. package/README.md +46 -0
  2. package/dist/native/octane-client-build.json +1 -1
  3. package/dist/native/ui.js +55 -40
  4. package/dist/native/ui10.js +20 -11
  5. package/dist/native/ui11.js +42 -109
  6. package/dist/native/ui12.js +17 -84
  7. package/dist/native/ui13.js +11 -41
  8. package/dist/native/ui14.js +133 -76
  9. package/dist/native/ui15.js +43 -92
  10. package/dist/native/ui16.js +106 -45
  11. package/dist/native/ui17.js +29 -42
  12. package/dist/native/ui18.js +34 -53
  13. package/dist/native/ui19.js +246 -32
  14. package/dist/native/ui20.js +27 -16
  15. package/dist/native/ui21.js +376 -86
  16. package/dist/native/ui22.js +26 -114
  17. package/dist/native/ui23.js +49 -97
  18. package/dist/native/ui24.js +79 -53
  19. package/dist/native/ui25.js +138 -16
  20. package/dist/native/ui26.js +8 -23
  21. package/dist/native/ui27.js +60 -34
  22. package/dist/native/ui28.js +36 -142
  23. package/dist/native/ui29.js +101 -21
  24. package/dist/native/ui3.js +22 -1
  25. package/dist/native/ui30.js +14 -31
  26. package/dist/native/ui31.js +55 -36
  27. package/dist/native/ui32.js +49 -61
  28. package/dist/native/ui33.js +36 -28
  29. package/dist/native/ui34.js +51 -8
  30. package/dist/native/ui35.js +98 -20
  31. package/dist/native/ui36.js +9 -33
  32. package/dist/native/ui37.js +42 -15
  33. package/dist/native/ui38.js +186 -57
  34. package/dist/native/ui39.js +96 -26
  35. package/dist/native/ui4.js +22 -20
  36. package/dist/native/ui40.js +179 -8
  37. package/dist/native/ui41.js +52 -98
  38. package/dist/native/ui42.js +14 -145
  39. package/dist/native/ui43.js +16 -19
  40. package/dist/native/ui44.js +6 -6
  41. package/dist/native/ui45.js +38 -0
  42. package/dist/native/ui46.js +267 -0
  43. package/dist/native/ui47.js +28 -0
  44. package/dist/native/ui48.js +35 -0
  45. package/dist/native/ui49.js +41 -0
  46. package/dist/native/ui5.js +37 -77
  47. package/dist/native/ui50.js +72 -0
  48. package/dist/native/ui51.js +66 -0
  49. package/dist/native/ui52.js +64 -0
  50. package/dist/native/ui53.js +27 -0
  51. package/dist/native/ui54.js +13 -0
  52. package/dist/native/ui55.js +92 -0
  53. package/dist/native/ui56.js +34 -0
  54. package/dist/native/ui57.js +19 -0
  55. package/dist/native/ui58.js +156 -0
  56. package/dist/native/ui59.js +33 -0
  57. package/dist/native/ui6.js +94 -9
  58. package/dist/native/ui60.js +14 -0
  59. package/dist/native/ui61.js +22 -0
  60. package/dist/native/ui62.js +8 -0
  61. package/dist/native/ui63.js +108 -0
  62. package/dist/native/ui64.js +76 -0
  63. package/dist/native/ui7.js +42 -26
  64. package/dist/native/ui8.js +22 -12
  65. package/dist/native/ui9.js +18 -9
  66. package/dist/web/octane-client-build.json +1 -1
  67. package/dist/web/ui.js +53 -40
  68. package/dist/web/ui10.js +33 -186
  69. package/dist/web/ui11.js +28 -409
  70. package/dist/web/ui12.js +21 -68
  71. package/dist/web/ui13.js +265 -96
  72. package/dist/web/ui14.js +85 -95
  73. package/dist/web/ui15.js +368 -25
  74. package/dist/web/ui16.js +13 -101
  75. package/dist/web/ui17.js +246 -42
  76. package/dist/web/ui18.js +237 -28
  77. package/dist/web/ui19.js +36 -10
  78. package/dist/web/ui20.js +73 -102
  79. package/dist/web/ui21.js +102 -73
  80. package/dist/web/ui22.js +95 -55
  81. package/dist/web/ui23.js +94 -55
  82. package/dist/web/ui24.js +31 -15
  83. package/dist/web/ui25.js +105 -19
  84. package/dist/web/ui26.js +29 -23
  85. package/dist/web/ui27.js +12 -123
  86. package/dist/web/ui28.js +9 -110
  87. package/dist/web/ui29.js +52 -102
  88. package/dist/web/ui3.js +29 -18
  89. package/dist/web/ui30.js +32 -41
  90. package/dist/web/ui31.js +120 -39
  91. package/dist/web/ui32.js +41 -74
  92. package/dist/web/ui33.js +148 -32
  93. package/dist/web/ui34.js +145 -62
  94. package/dist/web/ui35.js +140 -7
  95. package/dist/web/ui36.js +86 -41
  96. package/dist/web/ui37.js +19 -44
  97. package/dist/web/ui38.js +5 -15
  98. package/dist/web/ui39.js +24 -86
  99. package/dist/web/ui4.js +46 -152
  100. package/dist/web/ui40.js +150 -37
  101. package/dist/web/ui41.js +36 -10
  102. package/dist/web/ui42.js +40 -7
  103. package/dist/web/ui43.js +73 -19
  104. package/dist/web/ui44.js +40 -6
  105. package/dist/web/ui45.js +62 -0
  106. package/dist/web/ui46.js +50 -0
  107. package/dist/web/ui47.js +9 -0
  108. package/dist/web/ui48.js +45 -0
  109. package/dist/web/ui49.js +13 -0
  110. package/dist/web/ui5.js +131 -27
  111. package/dist/web/ui50.js +63 -0
  112. package/dist/web/ui51.js +47 -0
  113. package/dist/web/ui52.js +19 -0
  114. package/dist/web/ui53.js +273 -0
  115. package/dist/web/ui54.js +42 -0
  116. package/dist/web/ui55.js +17 -0
  117. package/dist/web/ui56.js +9 -0
  118. package/dist/web/ui57.js +22 -0
  119. package/dist/web/ui58.js +8 -0
  120. package/dist/web/ui59.js +44 -0
  121. package/dist/web/ui6.js +81 -45
  122. package/dist/web/ui60.js +46 -0
  123. package/dist/web/ui7.js +43 -21
  124. package/dist/web/ui8.js +27 -21
  125. package/dist/web/ui9.js +29 -18
  126. package/package.json +17 -4
  127. package/src/theme/tokens.css +597 -141
  128. package/types/index.d.ts +112 -58
  129. package/types/props.d.ts +291 -16
@@ -0,0 +1,8 @@
1
+ import { hookSlots, useSyncExternalStore } from "octane";
2
+ //#region src/use-store.web.tsrx
3
+ var _h$0 = /* @__PURE__ */ Symbol(/* @__PURE__ */ hookSlots(1));
4
+ function useStore(store, select) {
5
+ return useSyncExternalStore(store.subscribe, select === void 0 ? store.get : () => select(store.get()), _h$0);
6
+ }
7
+ //#endregion
8
+ export { useStore };
@@ -0,0 +1,44 @@
1
+ import { cx } from "./ui28.js";
2
+ import { useThemeScheme } from "./ui29.js";
3
+ import { bag4, child, clone, createElement, createPortal, createScopedElement, createScopedValue, drainFrag, hookSlots, ifBlock, positionalChildren, template, withSlot } from "octane";
4
+ import { textHoleUpdate } from "octane/internal/client";
5
+ //#region src/Sheet.web.tsrx
6
+ var _t$0 = /* @__PURE__ */ template("<!>", 0, 1);
7
+ var _h$0 = /* @__PURE__ */ Symbol(/* @__PURE__ */ hookSlots(2));
8
+ function __then$0(__props, __s, __extra) {
9
+ const __block = __s.block;
10
+ const dark = __extra[0];
11
+ const props = __extra[1];
12
+ let _b = __s.slots[0];
13
+ if (_b === void 0) {
14
+ let _m0, _m1;
15
+ const _root = clone(_t$0);
16
+ _m0 = __block.parentNode;
17
+ _m1 = child(_root);
18
+ drainFrag(_root, __block.parentNode, __block.endMarker);
19
+ _b = bag4(__s, null, _m0, _m1, null, void 0);
20
+ }
21
+ {
22
+ const _v = /* @__PURE__ */ createPortal(createScopedValue(() => createScopedElement("div", { className: cx("vx-sheet-layer", dark && "dark") }, () => positionalChildren([(props.shadeCover ?? true) && createScopedValue(() => createElement("div", {
23
+ className: "vx-sheet-backdrop",
24
+ onClick: props.onDismiss
25
+ })), createScopedValue(() => createScopedElement("div", {
26
+ className: cx("vx-sheet", props.className),
27
+ style: { ...props.style },
28
+ ...props.web
29
+ }, () => props.children))]))), document.body);
30
+ _b.c = textHoleUpdate(__s, 1, _b.a, _v, _b.c, _b.d, _b.b, true, true);
31
+ _b.d = _v;
32
+ }
33
+ }
34
+ var Sheet = function Sheet(props, __s, __extra) {
35
+ const __block = __s.block;
36
+ const dark = withSlot(_h$0, useThemeScheme) === "dark";
37
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
38
+ {
39
+ const __ifCondition = props.open;
40
+ ifBlock(__s, 0, __block.parentNode, __ifCondition, __then$0, null, __block.endMarker, __ifCondition ? [dark, props] : void 0);
41
+ }
42
+ };
43
+ //#endregion
44
+ export { Sheet };
package/dist/web/ui6.js CHANGED
@@ -1,58 +1,94 @@
1
1
  import { applyEscapeProps } from "./ui2.js";
2
- import { __s, bag6, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
3
- import { childTextHoleUpdate, replaceRef, updateFreshClassName } from "octane/internal/client";
4
- //#region src/Grid.web.tsrx
2
+ import { glassClassOf, glassStyleOf } from "./ui3.js";
3
+ import { layoutChildProps } from "./ui4.js";
4
+ import { __s, bag8, clone, snapshotSpread, template } from "octane";
5
+ import { bindSignalChild, bindSignalHostPropSources, enableSignalBindings } from "octane/internal/client";
6
+ //#region src/Row.web.tsrx
7
+ enableSignalBindings(1, true);
5
8
  var _t$0 = /* @__PURE__ */ template("<div></div>");
6
9
  var _rm$1 = [
7
- "r",
8
- "d",
9
- "b"
10
+ "s",
11
+ "f",
12
+ "e"
10
13
  ];
11
- function parseTracks(spec) {
12
- return spec?.split(",").map((part) => {
13
- const track = part.trim();
14
- if (track === "auto") return "auto";
15
- if (track.endsWith("*")) return `${track.slice(0, -1) || "1"}fr`;
16
- return /^\d+(?:\.\d+)?$/.test(track) ? `${track}px` : track;
17
- }).join(" ");
18
- }
19
- var warnedAboutGap = false;
20
- var Grid = /* @__PURE__ */ __s(function Grid(props, __s, __extra) {
21
- if (props.gap != null && !warnedAboutGap) {
22
- warnedAboutGap = true;
23
- console.warn("[Grid] gap is not supported; use child margins instead.");
24
- }
25
- if (__s.block.pending && !__s.block.crossRenderUpdate) return;
14
+ var Row = /* @__PURE__ */ __s(function Row(props, __s, __extra) {
26
15
  let _b = __s.slots[0];
27
16
  if (_b === void 0) {
28
- let _m1, _m3;
17
+ let _m0, _m1, _m2, _m3, _m4, _m5;
29
18
  const _root = clone(_t$0);
30
- _m1 = _root;
31
- queueRefAttach(__s, _m3 = (el) => applyEscapeProps(el, props), _m1);
32
- (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.d, _b.b));
33
- _b = bag6(__s, _root, void 0, _m1, void 0, _m3, null, void 0);
19
+ _m0 = props.id;
20
+ _m1 = (e) => applyEscapeProps(e, props);
21
+ _m2 = [
22
+ "vx-row",
23
+ glassClassOf(props.glass),
24
+ props.className
25
+ ];
26
+ _m3 = snapshotSpread(layoutChildProps(props, {
27
+ ...glassStyleOf(props.glass),
28
+ ...props.style
29
+ }));
30
+ _m4 = _root;
31
+ _m5 = bindSignalHostPropSources(__s, void 0, _root, [
32
+ [
33
+ false,
34
+ "id",
35
+ _m0
36
+ ],
37
+ [
38
+ false,
39
+ "ref",
40
+ _m1
41
+ ],
42
+ [
43
+ false,
44
+ "className",
45
+ _m2
46
+ ],
47
+ [true, _m3]
48
+ ], "b:3863ef97", true);
49
+ _b = bag8(__s, _root, _m0, _m1, _m2, _m3, _m4, _m5, null, void 0);
34
50
  __s.refFields = _rm$1;
35
51
  } else {
36
- const _r = (el) => applyEscapeProps(el, props);
37
- if (_r !== _b.d) _b.d = replaceRef(__s, _b.d, _r, _b.b);
38
- }
39
- _b.a = updateFreshClassName(["vx-grid", props.className], _b.a, _b.b);
40
- {
41
- const _v = {
42
- ...props.style,
43
- ...props.rows ? { gridTemplateRows: parseTracks(props.rows) } : {},
44
- ...props.columns ? { gridTemplateColumns: parseTracks(props.columns) } : {}
45
- };
46
- if (_b.c !== _v) {
47
- setStyle(_b.b, _v, _b.c);
48
- _b.c = _v;
52
+ {
53
+ const _v = props.id;
54
+ if (_b.a !== _v) _b.a = _v;
49
55
  }
56
+ {
57
+ const _v = (e) => applyEscapeProps(e, props);
58
+ if (_b.b !== _v) _b.b = _v;
59
+ }
60
+ {
61
+ const _v = [
62
+ "vx-row",
63
+ glassClassOf(props.glass),
64
+ props.className
65
+ ];
66
+ if (_b.c !== _v) _b.c = _v;
67
+ }
68
+ _b.d = snapshotSpread(layoutChildProps(props, {
69
+ ...glassStyleOf(props.glass),
70
+ ...props.style
71
+ }));
72
+ _b.f = bindSignalHostPropSources(__s, _b.f, _b.e, [
73
+ [
74
+ false,
75
+ "id",
76
+ _b.a
77
+ ],
78
+ [
79
+ false,
80
+ "ref",
81
+ _b.b
82
+ ],
83
+ [
84
+ false,
85
+ "className",
86
+ _b.c
87
+ ],
88
+ [true, _b.d]
89
+ ], "b:3863ef97", true);
50
90
  }
51
- {
52
- const _v = props.children;
53
- _b.e = childTextHoleUpdate(__s, 1, _b.b, _v, _b.e, _b.f);
54
- _b.f = _v;
55
- }
91
+ _b.i = bindSignalChild(__s, _b.i, 1, _b.e, props.children, "b:24a4d1fc", null, void 0, void 0, void 0, true);
56
92
  });
57
93
  //#endregion
58
- export { Grid };
94
+ export { Row };
@@ -0,0 +1,46 @@
1
+ import { applyThemeClasses } from "./ui29.js";
2
+ import { createRoot } from "octane";
3
+ //#region src/sheet-service.web.ts
4
+ var active = /* @__PURE__ */ new Set();
5
+ /** Close the most recently opened sheet (resolve with `result`). */
6
+ function closeSheet(result) {
7
+ [...active].pop()?.finish(result);
8
+ }
9
+ /** Imperative in-window sheet: portal layer at document root, bottom-
10
+ * anchored panel, dedicated Octane root. Resolves when the sheet closes. */
11
+ var openSheet = (Component, params, options = {}) => new Promise((resolve) => {
12
+ const layer = document.createElement("div");
13
+ const unbindTheme = applyThemeClasses(layer, "vx-sheet-layer");
14
+ const panel = document.createElement("div");
15
+ panel.className = "vx-sheet";
16
+ let finished = false;
17
+ const finish = (result) => {
18
+ if (finished) return;
19
+ finished = true;
20
+ active.delete(entry);
21
+ unbindTheme();
22
+ root.unmount();
23
+ layer.remove();
24
+ resolve(result);
25
+ };
26
+ const entry = {
27
+ layer,
28
+ finish
29
+ };
30
+ if (options.shadeCover ?? true) {
31
+ const backdrop = document.createElement("div");
32
+ backdrop.className = "vx-sheet-backdrop";
33
+ backdrop.addEventListener("click", () => finish());
34
+ layer.appendChild(backdrop);
35
+ }
36
+ layer.appendChild(panel);
37
+ document.body.appendChild(layer);
38
+ const root = createRoot(panel);
39
+ root.render(Component, {
40
+ params,
41
+ close: finish
42
+ });
43
+ active.add(entry);
44
+ });
45
+ //#endregion
46
+ export { closeSheet, openSheet };
package/dist/web/ui7.js CHANGED
@@ -1,40 +1,62 @@
1
1
  import { applyEscapeProps } from "./ui2.js";
2
- import { __s, bag6, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
3
- import { childTextHoleUpdate, replaceRef, updateFreshClassName } from "octane/internal/client";
4
- //#region src/Stack.web.tsrx
2
+ import { glassClassOf, glassStyleOf } from "./ui3.js";
3
+ import { __s, bag7, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
4
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
5
+ //#region src/Grid.web.tsrx
6
+ enableSignalBindings(1, true);
5
7
  var _t$0 = /* @__PURE__ */ template("<div></div>");
6
8
  var _rm$1 = [
7
9
  "r",
8
- "d",
10
+ "e",
9
11
  "b"
10
12
  ];
11
- var Stack = /* @__PURE__ */ __s(function Stack(props, __s, __extra) {
13
+ function parseTracks(spec) {
14
+ return spec?.split(",").map((part) => {
15
+ const track = part.trim();
16
+ if (track === "auto") return "auto";
17
+ if (track.endsWith("*")) return `${track.slice(0, -1) || "1"}fr`;
18
+ return /^\d+(?:\.\d+)?$/.test(track) ? `${track}px` : track;
19
+ }).join(" ");
20
+ }
21
+ var warnedAboutGap = false;
22
+ var Grid = /* @__PURE__ */ __s(function Grid(props, __s, __extra) {
23
+ if (props.gap != null && !warnedAboutGap) {
24
+ warnedAboutGap = true;
25
+ console.warn("[Grid] gap is not supported; use child margins instead.");
26
+ }
27
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
12
28
  let _b = __s.slots[0];
13
29
  if (_b === void 0) {
14
- let _m1, _m3;
30
+ let _m1, _m4;
15
31
  const _root = clone(_t$0);
16
32
  _m1 = _root;
17
- queueRefAttach(__s, _m3 = (el) => applyEscapeProps(el, props), _m1);
18
- (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.d, _b.b));
19
- _b = bag6(__s, _root, void 0, _m1, void 0, _m3, null, void 0);
33
+ queueRefAttach(__s, _m4 = (el) => applyEscapeProps(el, props), _m1);
34
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.e, _b.b));
35
+ _b = bag7(__s, _root, void 0, _m1, void 0, void 0, _m4, null, void 0);
20
36
  __s.refFields = _rm$1;
21
37
  } else {
22
38
  const _r = (el) => applyEscapeProps(el, props);
23
- if (_r !== _b.d) _b.d = replaceRef(__s, _b.d, _r, _b.b);
39
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
24
40
  }
25
- _b.a = updateFreshClassName(["vx-stack", props.className], _b.a, _b.b);
41
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:8088bcf9", setPlainAttribute);
42
+ _b.c = updateFreshClassName([
43
+ "vx-grid",
44
+ glassClassOf(props.glass),
45
+ props.className
46
+ ], _b.c, _b.b);
26
47
  {
27
- const _v = props.style;
28
- if (_b.c !== _v) {
29
- setStyle(_b.b, _v, _b.c);
30
- _b.c = _v;
48
+ const _v = {
49
+ ...glassStyleOf(props.glass),
50
+ ...props.style,
51
+ ...props.rows ? { gridTemplateRows: parseTracks(props.rows) } : {},
52
+ ...props.columns ? { gridTemplateColumns: parseTracks(props.columns) } : {}
53
+ };
54
+ if (_b.d !== _v) {
55
+ setStyle(_b.b, _v, _b.d);
56
+ _b.d = _v;
31
57
  }
32
58
  }
33
- {
34
- const _v = props.children;
35
- _b.e = childTextHoleUpdate(__s, 1, _b.b, _v, _b.e, _b.f);
36
- _b.f = _v;
37
- }
59
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:2e517120", null, void 0, void 0, void 0, true);
38
60
  });
39
61
  //#endregion
40
- export { Stack };
62
+ export { Grid };
package/dist/web/ui8.js CHANGED
@@ -1,40 +1,46 @@
1
1
  import { applyEscapeProps } from "./ui2.js";
2
- import { __s, bag6, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
3
- import { childTextHoleUpdate, replaceRef, updateFreshClassName } from "octane/internal/client";
4
- //#region src/Absolute.web.tsrx
2
+ import { glassClassOf, glassStyleOf } from "./ui3.js";
3
+ import { __s, bag7, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
4
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
5
+ //#region src/Stack.web.tsrx
6
+ enableSignalBindings(1, true);
5
7
  var _t$0 = /* @__PURE__ */ template("<div></div>");
6
8
  var _rm$1 = [
7
9
  "r",
8
- "d",
10
+ "e",
9
11
  "b"
10
12
  ];
11
- var Absolute = /* @__PURE__ */ __s(function Absolute(props, __s, __extra) {
13
+ var Stack = /* @__PURE__ */ __s(function Stack(props, __s, __extra) {
12
14
  let _b = __s.slots[0];
13
15
  if (_b === void 0) {
14
- let _m1, _m3;
16
+ let _m1, _m4;
15
17
  const _root = clone(_t$0);
16
18
  _m1 = _root;
17
- queueRefAttach(__s, _m3 = (el) => applyEscapeProps(el, props), _m1);
18
- (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.d, _b.b));
19
- _b = bag6(__s, _root, void 0, _m1, void 0, _m3, null, void 0);
19
+ queueRefAttach(__s, _m4 = (el) => applyEscapeProps(el, props), _m1);
20
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.e, _b.b));
21
+ _b = bag7(__s, _root, void 0, _m1, void 0, void 0, _m4, null, void 0);
20
22
  __s.refFields = _rm$1;
21
23
  } else {
22
24
  const _r = (el) => applyEscapeProps(el, props);
23
- if (_r !== _b.d) _b.d = replaceRef(__s, _b.d, _r, _b.b);
25
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
24
26
  }
25
- _b.a = updateFreshClassName(["vx-absolute", props.className], _b.a, _b.b);
27
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:c5a2da88", setPlainAttribute);
28
+ _b.c = updateFreshClassName([
29
+ "vx-stack",
30
+ glassClassOf(props.glass),
31
+ props.className
32
+ ], _b.c, _b.b);
26
33
  {
27
- const _v = props.style;
28
- if (_b.c !== _v) {
29
- setStyle(_b.b, _v, _b.c);
30
- _b.c = _v;
34
+ const _v = {
35
+ ...glassStyleOf(props.glass),
36
+ ...props.style
37
+ };
38
+ if (_b.d !== _v) {
39
+ setStyle(_b.b, _v, _b.d);
40
+ _b.d = _v;
31
41
  }
32
42
  }
33
- {
34
- const _v = props.children;
35
- _b.e = childTextHoleUpdate(__s, 1, _b.b, _v, _b.e, _b.f);
36
- _b.f = _v;
37
- }
43
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:3a94ba9c", null, void 0, void 0, void 0, true);
38
44
  });
39
45
  //#endregion
40
- export { Absolute };
46
+ export { Stack };
package/dist/web/ui9.js CHANGED
@@ -1,35 +1,46 @@
1
1
  import { applyEscapeProps } from "./ui2.js";
2
- import { __s, bag4, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
3
- import { replaceRef, updateFreshClassName } from "octane/internal/client";
4
- //#region src/Spacer.web.tsrx
2
+ import { glassClassOf, glassStyleOf } from "./ui3.js";
3
+ import { __s, bag7, clone, queueRefAttach, queueRefDetach, setStyle, template } from "octane";
4
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
5
+ //#region src/Absolute.web.tsrx
6
+ enableSignalBindings(1, true);
5
7
  var _t$0 = /* @__PURE__ */ template("<div></div>");
6
- var _rm$0 = [
8
+ var _rm$1 = [
7
9
  "r",
8
- "d",
10
+ "e",
9
11
  "b"
10
12
  ];
11
- var Spacer = /* @__PURE__ */ __s(function Spacer(props, __s, __extra) {
13
+ var Absolute = /* @__PURE__ */ __s(function Absolute(props, __s, __extra) {
12
14
  let _b = __s.slots[0];
13
15
  if (_b === void 0) {
14
- let _m1, _m3;
16
+ let _m1, _m4;
15
17
  const _root = clone(_t$0);
16
18
  _m1 = _root;
17
- queueRefAttach(__s, _m3 = (el) => applyEscapeProps(el, props), _m1);
18
- (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.d, _b.b));
19
- _b = bag4(__s, _root, void 0, _m1, void 0, _m3);
20
- __s.refFields = _rm$0;
19
+ queueRefAttach(__s, _m4 = (el) => applyEscapeProps(el, props), _m1);
20
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.e, _b.b));
21
+ _b = bag7(__s, _root, void 0, _m1, void 0, void 0, _m4, null, void 0);
22
+ __s.refFields = _rm$1;
21
23
  } else {
22
24
  const _r = (el) => applyEscapeProps(el, props);
23
- if (_r !== _b.d) _b.d = replaceRef(__s, _b.d, _r, _b.b);
25
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
24
26
  }
25
- _b.a = updateFreshClassName(["vx-spacer", props.className], _b.a, _b.b);
27
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:f8caef47", setPlainAttribute);
28
+ _b.c = updateFreshClassName([
29
+ "vx-absolute",
30
+ glassClassOf(props.glass),
31
+ props.className
32
+ ], _b.c, _b.b);
26
33
  {
27
- const _v = props.style;
28
- if (_b.c !== _v) {
29
- setStyle(_b.b, _v, _b.c);
30
- _b.c = _v;
34
+ const _v = {
35
+ ...glassStyleOf(props.glass),
36
+ ...props.style
37
+ };
38
+ if (_b.d !== _v) {
39
+ setStyle(_b.b, _v, _b.d);
40
+ _b.d = _v;
31
41
  }
32
42
  }
43
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:55e1bd7a", null, void 0, void 0, void 0, true);
33
44
  });
34
45
  //#endregion
35
- export { Spacer };
46
+ export { Absolute };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@octane-xplat/ui",
3
- "version": "0.3.0",
4
- "type": "module",
3
+ "version": "0.5.0",
5
4
  "files": [
6
5
  "dist",
7
6
  "types",
8
7
  "src/theme/tokens.css"
9
8
  ],
9
+ "type": "module",
10
10
  "exports": {
11
11
  ".": {
12
12
  "types": "./types/index.d.ts",
@@ -18,22 +18,35 @@
18
18
  },
19
19
  "devDependencies": {
20
20
  "@nativescript-community/octane": "0.2.1",
21
+ "@nativescript-community/ui-canvas": "4.6.52",
22
+ "@nativescript-community/ui-drawer": "0.1.32",
23
+ "@nativescript-community/ui-svg": "0.2.24",
21
24
  "@nativescript/core": "9.1.2",
22
- "@octanejs/vite-plugin": "0.1.58",
25
+ "@octanejs/vite-plugin": "0.1.60",
23
26
  "jsdom": "30.1.1",
24
- "octane": "0.4.0",
27
+ "octane": "0.5.0",
25
28
  "vite": "8.3.0",
26
29
  "vitest": "5.0.1"
27
30
  },
28
31
  "peerDependencies": {
32
+ "@nativescript-community/gesturehandler": ">=2.0.8 <3",
29
33
  "@nativescript-community/octane": ">=0.2.1 <1",
34
+ "@nativescript-community/ui-canvas": ">=4.6.52 <5",
35
+ "@nativescript-community/ui-drawer": ">=0.1.32 <1",
36
+ "@nativescript-community/ui-svg": ">=0.2.24 <1",
30
37
  "@nativescript/core": ">=9.1.0 <10",
31
38
  "octane": ">=0.1.51 <1"
32
39
  },
33
40
  "peerDependenciesMeta": {
41
+ "@nativescript-community/gesturehandler": {
42
+ "optional": true
43
+ },
34
44
  "@nativescript-community/octane": {
35
45
  "optional": true
36
46
  },
47
+ "@nativescript-community/ui-drawer": {
48
+ "optional": true
49
+ },
37
50
  "@nativescript/core": {
38
51
  "optional": true
39
52
  }