@octane-xplat/ui 0.2.1 → 0.4.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 (126) hide show
  1. package/README.md +46 -0
  2. package/dist/native/octane-client-build.json +1 -1
  3. package/dist/native/ui.js +52 -19
  4. package/dist/native/ui10.js +25 -45
  5. package/dist/native/ui11.js +52 -57
  6. package/dist/native/ui12.js +47 -16
  7. package/dist/native/ui13.js +24 -18
  8. package/dist/native/ui14.js +117 -12
  9. package/dist/native/ui15.js +78 -17
  10. package/dist/native/ui16.js +88 -115
  11. package/dist/native/ui17.js +29 -19
  12. package/dist/native/ui18.js +34 -12
  13. package/dist/native/ui19.js +244 -8
  14. package/dist/native/ui2.js +10 -48
  15. package/dist/native/ui20.js +28 -0
  16. package/dist/native/ui21.js +383 -0
  17. package/dist/native/ui22.js +36 -0
  18. package/dist/native/ui23.js +55 -0
  19. package/dist/native/ui24.js +83 -0
  20. package/dist/native/ui25.js +141 -0
  21. package/dist/native/ui26.js +12 -0
  22. package/dist/native/ui27.js +61 -0
  23. package/dist/native/ui28.js +40 -0
  24. package/dist/native/ui29.js +108 -0
  25. package/dist/native/ui3.js +17 -20
  26. package/dist/native/ui30.js +18 -0
  27. package/dist/native/ui31.js +58 -0
  28. package/dist/native/ui32.js +58 -0
  29. package/dist/native/ui33.js +38 -0
  30. package/dist/native/ui34.js +53 -0
  31. package/dist/native/ui35.js +105 -0
  32. package/dist/native/ui36.js +10 -0
  33. package/dist/native/ui37.js +44 -0
  34. package/dist/native/ui38.js +197 -0
  35. package/dist/native/ui39.js +105 -0
  36. package/dist/native/ui4.js +23 -48
  37. package/dist/native/ui40.js +58 -0
  38. package/dist/native/ui41.js +19 -0
  39. package/dist/native/ui42.js +8 -0
  40. package/dist/native/ui43.js +38 -0
  41. package/dist/native/ui44.js +267 -0
  42. package/dist/native/ui45.js +28 -0
  43. package/dist/native/ui46.js +35 -0
  44. package/dist/native/ui47.js +41 -0
  45. package/dist/native/ui48.js +72 -0
  46. package/dist/native/ui49.js +66 -0
  47. package/dist/native/ui5.js +37 -34
  48. package/dist/native/ui50.js +27 -0
  49. package/dist/native/ui51.js +13 -0
  50. package/dist/native/ui52.js +92 -0
  51. package/dist/native/ui53.js +34 -0
  52. package/dist/native/ui54.js +17 -0
  53. package/dist/native/ui55.js +156 -0
  54. package/dist/native/ui56.js +33 -0
  55. package/dist/native/ui57.js +14 -0
  56. package/dist/native/ui58.js +22 -0
  57. package/dist/native/ui59.js +8 -0
  58. package/dist/native/ui6.js +79 -20
  59. package/dist/native/ui60.js +108 -0
  60. package/dist/native/ui61.js +76 -0
  61. package/dist/native/ui7.js +44 -65
  62. package/dist/native/ui8.js +25 -17
  63. package/dist/native/ui9.js +24 -12
  64. package/dist/web/octane-client-build.json +1 -1
  65. package/dist/web/ui.js +51 -19
  66. package/dist/web/ui10.js +33 -30
  67. package/dist/web/ui11.js +40 -55
  68. package/dist/web/ui12.js +36 -15
  69. package/dist/web/ui13.js +212 -20
  70. package/dist/web/ui14.js +84 -14
  71. package/dist/web/ui15.js +425 -46
  72. package/dist/web/ui16.js +12 -93
  73. package/dist/web/ui17.js +246 -28
  74. package/dist/web/ui18.js +238 -15
  75. package/dist/web/ui19.js +36 -8
  76. package/dist/web/ui2.js +15 -103
  77. package/dist/web/ui20.js +85 -0
  78. package/dist/web/ui21.js +111 -0
  79. package/dist/web/ui22.js +108 -0
  80. package/dist/web/ui23.js +96 -0
  81. package/dist/web/ui24.js +32 -0
  82. package/dist/web/ui25.js +108 -0
  83. package/dist/web/ui26.js +45 -0
  84. package/dist/web/ui27.js +16 -0
  85. package/dist/web/ui28.js +11 -0
  86. package/dist/web/ui29.js +58 -0
  87. package/dist/web/ui3.js +30 -27
  88. package/dist/web/ui30.js +34 -0
  89. package/dist/web/ui31.js +123 -0
  90. package/dist/web/ui32.js +44 -0
  91. package/dist/web/ui33.js +159 -0
  92. package/dist/web/ui34.js +70 -0
  93. package/dist/web/ui35.js +57 -0
  94. package/dist/web/ui36.js +22 -0
  95. package/dist/web/ui37.js +7 -0
  96. package/dist/web/ui38.js +38 -0
  97. package/dist/web/ui39.js +154 -0
  98. package/dist/web/ui4.js +46 -24
  99. package/dist/web/ui40.js +43 -0
  100. package/dist/web/ui41.js +42 -0
  101. package/dist/web/ui42.js +76 -0
  102. package/dist/web/ui43.js +42 -0
  103. package/dist/web/ui44.js +62 -0
  104. package/dist/web/ui45.js +9 -0
  105. package/dist/web/ui46.js +45 -0
  106. package/dist/web/ui47.js +13 -0
  107. package/dist/web/ui48.js +63 -0
  108. package/dist/web/ui49.js +47 -0
  109. package/dist/web/ui5.js +158 -52
  110. package/dist/web/ui50.js +17 -0
  111. package/dist/web/ui51.js +149 -0
  112. package/dist/web/ui52.js +42 -0
  113. package/dist/web/ui53.js +17 -0
  114. package/dist/web/ui54.js +9 -0
  115. package/dist/web/ui55.js +22 -0
  116. package/dist/web/ui56.js +8 -0
  117. package/dist/web/ui57.js +44 -0
  118. package/dist/web/ui58.js +46 -0
  119. package/dist/web/ui6.js +85 -22
  120. package/dist/web/ui7.js +46 -41
  121. package/dist/web/ui8.js +28 -11
  122. package/dist/web/ui9.js +32 -13
  123. package/package.json +18 -6
  124. package/src/theme/tokens.css +444 -47
  125. package/types/index.d.ts +180 -29
  126. package/types/props.d.ts +553 -8
@@ -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/ui6.js CHANGED
@@ -1,31 +1,94 @@
1
- import { __s, bag5, clone, delegateEvents, setEventHandler, setStyle, template } from "octane";
2
- import { bindSignalAttribute, bindSignalValue, enableSignalBindings } from "octane/internal/client";
3
- //#region src/TextInput.web.tsrx
1
+ import { applyEscapeProps } from "./ui2.js";
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
4
7
  enableSignalBindings(1, true);
5
- delegateEvents(["input"]);
6
- var _t$0 = /* @__PURE__ */ template("<input data-octane-input=\"i:ab65f8a8\"/>");
7
- var TextInput = /* @__PURE__ */ __s(function TextInput(props, __s, __extra) {
8
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
9
+ var _rm$1 = [
10
+ "s",
11
+ "f",
12
+ "e"
13
+ ];
14
+ var Row = /* @__PURE__ */ __s(function Row(props, __s, __extra) {
8
15
  let _b = __s.slots[0];
9
16
  if (_b === void 0) {
10
- let _m1, _m3;
17
+ let _m0, _m1, _m2, _m3, _m4, _m5;
11
18
  const _root = clone(_t$0);
12
- _m1 = _root;
13
- _m3 = bindSignalValue(__s, void 0, _root, props.value, "i:ab65f8a8");
14
- setEventHandler(_root, "$$input", (e) => props.onChange?.(e.target.value));
15
- _b = bag5(__s, _root, void 0, _m1, void 0, _m3, 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);
50
+ __s.refFields = _rm$1;
16
51
  } else {
17
- _b.d = bindSignalValue(__s, _b.d, _b.b, props.value, "i:ab65f8a8");
18
- setEventHandler(_b.b, "$$input", (e) => props.onChange?.(e.target.value));
19
- }
20
- _b.a = bindSignalAttribute(__s, _b.a, _b.b, "class", props.className, "b:f09620ef", "class");
21
- {
22
- const _v = props.style;
23
- if (_b.c !== _v) {
24
- setStyle(_b.b, _v, _b.c);
25
- _b.c = _v;
52
+ {
53
+ const _v = props.id;
54
+ if (_b.a !== _v) _b.a = _v;
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;
26
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);
27
90
  }
28
- _b.e = bindSignalAttribute(__s, _b.e, _b.b, "placeholder", props.placeholder ?? props.hint, "b:f03e01a9", "attr");
91
+ _b.i = bindSignalChild(__s, _b.i, 1, _b.e, props.children, "b:24a4d1fc", null, void 0, void 0, void 0, true);
29
92
  });
30
93
  //#endregion
31
- export { TextInput };
94
+ export { Row };
package/dist/web/ui7.js CHANGED
@@ -1,57 +1,62 @@
1
- import { __s, bag4, bag5, child, clone, drainFrag, forBlock, setStyle, template } from "octane";
2
- import { bindSignalAttribute, bindSignalChild, enableSignalBindings, updateFreshClassName } from "octane/internal/client";
3
- //#region src/List.web.tsrx
1
+ import { applyEscapeProps } from "./ui2.js";
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
4
6
  enableSignalBindings(1, true);
5
- var _t$0 = /* @__PURE__ */ template("<!>", 0, 1);
6
- var _t$1 = /* @__PURE__ */ template("<div><!></div>");
7
- var _key$0 = (item) => item.id;
8
- function __empty$1(__props, __s, __extra) {
9
- const __block = __s.block;
10
- const props = __extra[0];
11
- let _b = __s.slots[0];
12
- if (_b === void 0) {
13
- let _m0, _m1;
14
- const _root = clone(_t$0);
15
- _m0 = __block.parentNode;
16
- _m1 = child(_root);
17
- drainFrag(_root, __block.parentNode, __block.endMarker);
18
- _b = bag4(__s, null, _m0, _m1, null, void 0);
19
- }
20
- _b.e = bindSignalChild(__s, _b.e, 1, _b.a, props.renderEmpty?.(), "b:dbd88467", _b.b, true, void 0, true, void 0);
7
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
8
+ var _rm$1 = [
9
+ "r",
10
+ "e",
11
+ "b"
12
+ ];
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(" ");
21
20
  }
22
- function __item$3(item, __s, __extra) {
23
- const __block = __s.block;
24
- const props = __extra[0];
25
- let _b = __s.slots[0];
26
- if (_b === void 0) {
27
- let _m0, _m1;
28
- const _root = clone(_t$0);
29
- _m0 = __block.parentNode;
30
- _m1 = child(_root);
31
- drainFrag(_root, __block.parentNode, __block.endMarker);
32
- _b = bag4(__s, null, _m0, _m1, null, void 0);
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.");
33
26
  }
34
- _b.e = bindSignalChild(__s, _b.e, 1, _b.a, props.renderItem(item), "b:a4298d20", _b.b, true, void 0, true, void 0);
35
- }
36
- var List = /* @__PURE__ */ __s(function List(props, __s, __extra) {
27
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
37
28
  let _b = __s.slots[0];
38
29
  if (_b === void 0) {
39
30
  let _m1, _m4;
40
- const _root = clone(_t$1);
31
+ const _root = clone(_t$0);
41
32
  _m1 = _root;
42
- _m4 = child(_root);
43
- _b = bag5(__s, _root, void 0, _m1, void 0, void 0, _m4);
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);
36
+ __s.refFields = _rm$1;
37
+ } else {
38
+ const _r = (el) => applyEscapeProps(el, props);
39
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
44
40
  }
45
- _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:22ff36f2", "attr");
46
- _b.c = updateFreshClassName(["vx-list", props.className], _b.c, _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);
47
47
  {
48
- const _v = props.style;
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
+ };
49
54
  if (_b.d !== _v) {
50
55
  setStyle(_b.b, _v, _b.d);
51
56
  _b.d = _v;
52
57
  }
53
58
  }
54
- forBlock(__s, 1, _b.b, props.items, _key$0, __item$3, 8, [props], __empty$1, _b.e, true);
59
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:2e517120", null, void 0, void 0, void 0, true);
55
60
  });
56
61
  //#endregion
57
- export { List };
62
+ export { Grid };
package/dist/web/ui8.js CHANGED
@@ -1,21 +1,38 @@
1
- import { __s, bag6, clone, setStyle, template } from "octane";
2
- import { bindSignalAttribute, bindSignalChild, enableSignalBindings, updateFreshClassName } from "octane/internal/client";
3
- //#region src/ScrollView.web.tsrx
1
+ import { applyEscapeProps } from "./ui2.js";
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
4
6
  enableSignalBindings(1, true);
5
7
  var _t$0 = /* @__PURE__ */ template("<div></div>");
6
- var ScrollView = /* @__PURE__ */ __s(function ScrollView(props, __s, __extra) {
8
+ var _rm$1 = [
9
+ "r",
10
+ "e",
11
+ "b"
12
+ ];
13
+ var Stack = /* @__PURE__ */ __s(function Stack(props, __s, __extra) {
7
14
  let _b = __s.slots[0];
8
15
  if (_b === void 0) {
9
- let _m1;
16
+ let _m1, _m4;
10
17
  const _root = clone(_t$0);
11
18
  _m1 = _root;
12
- _b = bag6(__s, _root, void 0, _m1, void 0, void 0, 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);
22
+ __s.refFields = _rm$1;
23
+ } else {
24
+ const _r = (el) => applyEscapeProps(el, props);
25
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
13
26
  }
14
- _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:79e2ec85", "attr");
15
- _b.c = updateFreshClassName(["vx-scroll", props.className], _b.c, _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);
16
33
  {
17
34
  const _v = {
18
- ...props.horizontal ? { overflowX: "auto" } : { overflowY: "auto" },
35
+ ...glassStyleOf(props.glass),
19
36
  ...props.style
20
37
  };
21
38
  if (_b.d !== _v) {
@@ -23,7 +40,7 @@ var ScrollView = /* @__PURE__ */ __s(function ScrollView(props, __s, __extra) {
23
40
  _b.d = _v;
24
41
  }
25
42
  }
26
- _b.g = bindSignalChild(__s, _b.g, 1, _b.b, props.children, "b:142a2a1c", null, void 0, void 0, void 0, true);
43
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:3a94ba9c", null, void 0, void 0, void 0, true);
27
44
  });
28
45
  //#endregion
29
- export { ScrollView };
46
+ export { Stack };
package/dist/web/ui9.js CHANGED
@@ -1,27 +1,46 @@
1
- import { __s, bag6, clone, setStyle, template } from "octane";
2
- import { bindSignalAttribute, enableSignalBindings } from "octane/internal/client";
3
- //#region src/Image.web.tsrx
1
+ import { applyEscapeProps } from "./ui2.js";
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
4
6
  enableSignalBindings(1, true);
5
- var _t$0 = /* @__PURE__ */ template("<img/>");
6
- var Image = /* @__PURE__ */ __s(function Image(props, __s, __extra) {
7
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
8
+ var _rm$1 = [
9
+ "r",
10
+ "e",
11
+ "b"
12
+ ];
13
+ var Absolute = /* @__PURE__ */ __s(function Absolute(props, __s, __extra) {
7
14
  let _b = __s.slots[0];
8
15
  if (_b === void 0) {
9
- let _m1;
16
+ let _m1, _m4;
10
17
  const _root = clone(_t$0);
11
18
  _m1 = _root;
12
- _b = bag6(__s, _root, void 0, _m1, void 0, void 0, void 0, 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);
22
+ __s.refFields = _rm$1;
23
+ } else {
24
+ const _r = (el) => applyEscapeProps(el, props);
25
+ if (_r !== _b.e) _b.e = replaceRef(__s, _b.e, _r, _b.b);
13
26
  }
14
- _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:dac1f500", "attr");
15
- _b.c = bindSignalAttribute(__s, _b.c, _b.b, "class", props.className, "b:dee59c6d", "class");
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);
16
33
  {
17
- const _v = props.style;
34
+ const _v = {
35
+ ...glassStyleOf(props.glass),
36
+ ...props.style
37
+ };
18
38
  if (_b.d !== _v) {
19
39
  setStyle(_b.b, _v, _b.d);
20
40
  _b.d = _v;
21
41
  }
22
42
  }
23
- _b.e = bindSignalAttribute(__s, _b.e, _b.b, "src", props.src, "b:1951fade", "attr");
24
- _b.f = bindSignalAttribute(__s, _b.f, _b.b, "alt", props.alt, "b:0b6f5f10", "attr");
43
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:55e1bd7a", null, void 0, void 0, void 0, true);
25
44
  });
26
45
  //#endregion
27
- export { Image };
46
+ export { Absolute };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@octane-xplat/ui",
3
- "version": "0.2.1",
4
- "type": "module",
3
+ "version": "0.4.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,13 +18,21 @@
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",
23
- "octane": "0.4.0",
24
- "vite": "8.3.0"
25
+ "@octanejs/vite-plugin": "0.1.60",
26
+ "jsdom": "30.1.1",
27
+ "octane": "0.5.0",
28
+ "vite": "8.3.0",
29
+ "vitest": "5.0.1"
25
30
  },
26
31
  "peerDependencies": {
27
32
  "@nativescript-community/octane": ">=0.2.1 <1",
33
+ "@nativescript-community/ui-canvas": ">=4.6.52 <5",
34
+ "@nativescript-community/ui-drawer": ">=0.1.32 <1",
35
+ "@nativescript-community/ui-svg": ">=0.2.24 <1",
28
36
  "@nativescript/core": ">=9.1.0 <10",
29
37
  "octane": ">=0.1.51 <1"
30
38
  },
@@ -32,11 +40,15 @@
32
40
  "@nativescript-community/octane": {
33
41
  "optional": true
34
42
  },
43
+ "@nativescript-community/ui-drawer": {
44
+ "optional": true
45
+ },
35
46
  "@nativescript/core": {
36
47
  "optional": true
37
48
  }
38
49
  },
39
50
  "scripts": {
40
- "build": "vite build && vite build --mode native && tsc -p tsconfig.types.json"
51
+ "build": "vite build && vite build --mode native && tsc -p tsconfig.types.json",
52
+ "test:native": "vitest run --config vitest.native.config.mts"
41
53
  }
42
54
  }