@octane-xplat/ui 0.1.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.
@@ -0,0 +1,33 @@
1
+ import { defineUniversalComponent, universalPlan, universalValue } from "@nativescript-community/octane";
2
+ //#region src/ScrollView.native.tsrx
3
+ var __octaneUniversalPlan0 = universalPlan("nativescript", {
4
+ "kind": "host",
5
+ "type": "scrollview",
6
+ "bindings": [
7
+ ["id", 0],
8
+ ["className", 1],
9
+ ["style", 2],
10
+ ["orientation", 3]
11
+ ],
12
+ "children": [{
13
+ "kind": "host",
14
+ "type": "flexboxlayout",
15
+ "bindings": [["flexDirection", 4]],
16
+ "children": [{
17
+ "kind": "slot",
18
+ "slot": 5
19
+ }]
20
+ }]
21
+ });
22
+ var ScrollView = defineUniversalComponent("nativescript", function ScrollView(props) {
23
+ return universalValue(__octaneUniversalPlan0, [
24
+ props.id,
25
+ props.className,
26
+ props.style,
27
+ props.horizontal ? "horizontal" : "vertical",
28
+ props.horizontal ? "row" : "column",
29
+ props.children
30
+ ]);
31
+ }, { "module": "@nativescript-community/octane" });
32
+ //#endregion
33
+ export { ScrollView };
@@ -0,0 +1,24 @@
1
+ import { defineUniversalComponent, universalPlan, universalValue } from "@nativescript-community/octane";
2
+ //#region src/Image.native.tsrx
3
+ var __octaneUniversalPlan0 = universalPlan("nativescript", {
4
+ "kind": "host",
5
+ "type": "image",
6
+ "bindings": [
7
+ ["id", 0],
8
+ ["className", 1],
9
+ ["style", 2],
10
+ ["src", 3],
11
+ ["accessibilityLabel", 4]
12
+ ]
13
+ });
14
+ var Image = defineUniversalComponent("nativescript", function Image(props) {
15
+ return universalValue(__octaneUniversalPlan0, [
16
+ props.id,
17
+ props.className,
18
+ props.style,
19
+ props.src,
20
+ props.alt
21
+ ]);
22
+ }, { "module": "@nativescript-community/octane" });
23
+ //#endregion
24
+ export { Image };
@@ -0,0 +1,8 @@
1
+ {
2
+ "version": 1,
3
+ "buildId": "f5e9483c-f0d0-4d47-91c8-407f37bf9a88",
4
+ "mode": "production",
5
+ "capabilities": {
6
+ "independentHydration": false
7
+ }
8
+ }
package/dist/web/ui.js ADDED
@@ -0,0 +1,19 @@
1
+ import { View } from "./ui2.js";
2
+ import { Row } from "./ui3.js";
3
+ import { Text } from "./ui4.js";
4
+ import { Pressable } from "./ui5.js";
5
+ import { TextInput } from "./ui6.js";
6
+ import { List } from "./ui7.js";
7
+ import { ScrollView } from "./ui8.js";
8
+ import { Image } from "./ui9.js";
9
+ import { Modal } from "./ui10.js";
10
+ import { useAnimation } from "./ui11.js";
11
+ import { getColorScheme, useColorScheme } from "./ui12.js";
12
+ import { styled } from "./ui13.js";
13
+ import { Screen } from "./ui14.js";
14
+ import { currentRoute, pushRoute, routeFor, useRoute } from "./ui15.js";
15
+ import { Tabs } from "./ui16.js";
16
+ import { Switch } from "./ui17.js";
17
+ import { PlatformBadge } from "./ui18.js";
18
+ import { getStack, registerStack } from "./ui19.js";
19
+ export { View as Column, Image, List, Modal, PlatformBadge, Pressable, Row, Screen, ScrollView, Switch, Tabs, Text, TextInput, View, currentRoute, getColorScheme, getStack, pushRoute, registerStack, routeFor, styled, useAnimation, useColorScheme, useRoute };
@@ -0,0 +1,43 @@
1
+ import { __s, bag4, clone, delegateEvents, hookSlots, queueRefAttach, queueRefDetach, setEventHandler, template, useEffect, useRef } from "octane";
2
+ import { childTextHoleUpdate, replaceRef } from "octane/internal/client";
3
+ //#region src/Modal.web.tsrx
4
+ delegateEvents(["close"]);
5
+ var _t$0 = /* @__PURE__ */ template("<dialog class=\"vx-modal\"></dialog>");
6
+ var _hs$ = /* @__PURE__ */ hookSlots(2);
7
+ var _rm$1 = [
8
+ "r",
9
+ "b",
10
+ "a"
11
+ ];
12
+ var Modal = /* @__PURE__ */ __s(function Modal(props, __s, __extra) {
13
+ const el = useRef(null, _hs$ + 0);
14
+ useEffect(() => {
15
+ const d = el.current;
16
+ if (!d) return;
17
+ if (props.open && !d.open) d.showModal();
18
+ else if (!props.open && d.open) d.close();
19
+ }, [props.open], _hs$ + 1);
20
+ let _b = __s.slots[0];
21
+ if (_b === void 0) {
22
+ let _m0, _m1;
23
+ const _root = clone(_t$0);
24
+ queueRefAttach(__s, _m1 = el, _m0 = _root);
25
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.b, _b.a));
26
+ setEventHandler(_root, "$$close", props.onClose);
27
+ _b = bag4(__s, _root, _m0, _m1, null, void 0);
28
+ __s.refFields = _rm$1;
29
+ } else {
30
+ {
31
+ const _r = el;
32
+ if (_r !== _b.b) _b.b = replaceRef(__s, _b.b, _r, _b.a);
33
+ }
34
+ setEventHandler(_b.a, "$$close", props.onClose);
35
+ }
36
+ {
37
+ const _v = props.children;
38
+ _b.c = childTextHoleUpdate(__s, 1, _b.a, _v, _b.c, _b.d);
39
+ _b.d = _v;
40
+ }
41
+ });
42
+ //#endregion
43
+ export { Modal };
@@ -0,0 +1,57 @@
1
+ import { hookSlots, useRef } from "octane";
2
+ //#region src/anim.web.tsrx
3
+ var _h$0 = /* @__PURE__ */ Symbol(/* @__PURE__ */ hookSlots(1));
4
+ function createAnimated(initial, prop) {
5
+ let el = null;
6
+ let current = initial;
7
+ let raf = 0;
8
+ const apply = (v) => {
9
+ current = v;
10
+ if (el) el.style.transform = `translateX(${v}px)`;
11
+ };
12
+ const run = (step) => {
13
+ cancelAnimationFrame(raf);
14
+ const start = Date.now();
15
+ const tick = () => {
16
+ const v = step(Date.now() - start);
17
+ if (v === null) return;
18
+ apply(v);
19
+ raf = requestAnimationFrame(tick);
20
+ };
21
+ raf = requestAnimationFrame(tick);
22
+ };
23
+ return {
24
+ get value() {
25
+ return current;
26
+ },
27
+ bind(e) {
28
+ el = e;
29
+ if (el) el.style.transform = `translateX(${current}px)`;
30
+ },
31
+ to(target, opts) {
32
+ const dur = opts?.duration ?? 300;
33
+ const from = current;
34
+ run((t) => t >= dur ? (apply(target), null) : from + (target - from) * (t / dur));
35
+ },
36
+ spring(target, opts) {
37
+ const damping = opts?.damping ?? 14, stiffness = opts?.stiffness ?? 120;
38
+ let v = 0, x = current;
39
+ run(() => {
40
+ const dt = 1 / 60;
41
+ v += (-stiffness * (x - target) - damping * v) * dt;
42
+ x += v * dt;
43
+ return Math.abs(v) < .5 && Math.abs(x - target) < .5 ? (apply(target), null) : x;
44
+ });
45
+ },
46
+ stop() {
47
+ cancelAnimationFrame(raf);
48
+ }
49
+ };
50
+ }
51
+ function useAnimation(initial = 0, prop = "translateX") {
52
+ const c = useRef(null, _h$0);
53
+ if (!c.current) c.current = createAnimated(initial, prop);
54
+ return c.current;
55
+ }
56
+ //#endregion
57
+ export { useAnimation };
@@ -0,0 +1,16 @@
1
+ import { hookSlots, useSyncExternalStore } from "octane";
2
+ //#region src/theme/colorScheme.web.tsrx
3
+ var _h$0 = /* @__PURE__ */ Symbol(/* @__PURE__ */ hookSlots(1));
4
+ function getColorScheme() {
5
+ return typeof matchMedia === "function" && matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
6
+ }
7
+ function subscribe(cb) {
8
+ const mq = matchMedia("(prefers-color-scheme: dark)");
9
+ mq.addEventListener("change", cb);
10
+ return () => mq.removeEventListener("change", cb);
11
+ }
12
+ function useColorScheme() {
13
+ return useSyncExternalStore(subscribe, getColorScheme, _h$0);
14
+ }
15
+ //#endregion
16
+ export { getColorScheme, useColorScheme };
@@ -0,0 +1,22 @@
1
+ import { componentSlot } from "octane";
2
+ //#region src/styled.web.tsrx
3
+ function styled(Base, def) {
4
+ function Styled(props, __s, __extra) {
5
+ const __block = __s.block;
6
+ const cls = [def.base];
7
+ const rest = { ...props };
8
+ for (const k of Object.keys(def.variants ?? {})) {
9
+ if (props[k]) cls.push(def.variants[k]);
10
+ delete rest[k];
11
+ }
12
+ if (props.className) cls.push(props.className);
13
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
14
+ componentSlot(__s, 0, __block.parentNode, Base, {
15
+ ...rest,
16
+ "className": cls
17
+ }, __block.endMarker, void 0, void 0, true, void 0, "c:5d3d2b58");
18
+ }
19
+ return Styled;
20
+ }
21
+ //#endregion
22
+ export { styled };
@@ -0,0 +1,28 @@
1
+ import { __s, bag5, clone, setStyle, template } from "octane";
2
+ import { childTextHoleUpdate, updateFreshClassName } from "octane/internal/client";
3
+ //#region src/Screen.web.tsrx
4
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
5
+ var Screen = /* @__PURE__ */ __s(function Screen(props, __s, __extra) {
6
+ let _b = __s.slots[0];
7
+ if (_b === void 0) {
8
+ let _m1;
9
+ const _root = clone(_t$0);
10
+ _m1 = _root;
11
+ _b = bag5(__s, _root, void 0, _m1, void 0, null, void 0);
12
+ }
13
+ _b.a = updateFreshClassName(["vx-screen", props.className], _b.a, _b.b);
14
+ {
15
+ const _v = props.style;
16
+ if (_b.c !== _v) {
17
+ setStyle(_b.b, _v, _b.c);
18
+ _b.c = _v;
19
+ }
20
+ }
21
+ {
22
+ const _v = props.children;
23
+ _b.d = childTextHoleUpdate(__s, 1, _b.b, _v, _b.d, _b.e);
24
+ _b.e = _v;
25
+ }
26
+ });
27
+ //#endregion
28
+ export { Screen };
@@ -0,0 +1,49 @@
1
+ import { hookSlots, useSyncExternalStore } from "octane";
2
+ //#region src/route.web.ts
3
+ var listeners = /* @__PURE__ */ new Set();
4
+ var current = parse();
5
+ function parse() {
6
+ const parts = location.pathname.split("/").filter(Boolean);
7
+ if (!parts.length) return null;
8
+ const [name, stack] = parts.length === 1 ? [parts[0], "root"] : [parts[1], parts[0]];
9
+ const params = {};
10
+ new URLSearchParams(location.search).forEach((v, k) => params[k] = v);
11
+ return {
12
+ stack,
13
+ name,
14
+ params
15
+ };
16
+ }
17
+ function build(r) {
18
+ const q = new URLSearchParams(r.params).toString();
19
+ return (r.stack === "root" ? "/" + r.name : "/" + r.stack + "/" + r.name) + (q ? "?" + q : "");
20
+ }
21
+ function emit() {
22
+ listeners.forEach((l) => l());
23
+ }
24
+ function pushRoute(r) {
25
+ history.pushState(null, "", build(r));
26
+ current = r;
27
+ emit();
28
+ }
29
+ window.addEventListener("popstate", () => {
30
+ current = parse();
31
+ emit();
32
+ });
33
+ /** Current route if it targets `stack`, else null. */
34
+ function routeFor(stack) {
35
+ return current && current.stack === stack ? current : null;
36
+ }
37
+ /** The route active at boot — for deep-link tab selection. */
38
+ function currentRoute() {
39
+ return current;
40
+ }
41
+ function useRoute(stack) {
42
+ return useSyncExternalStore((cb) => {
43
+ listeners.add(cb);
44
+ return () => listeners.delete(cb);
45
+ }, () => routeFor(stack), _h$0);
46
+ }
47
+ var _h$0 = /* @__PURE__ */ Symbol(/* @__PURE__ */ hookSlots(1));
48
+ //#endregion
49
+ export { currentRoute, pushRoute, routeFor, useRoute };
@@ -0,0 +1,101 @@
1
+ import { useRoute } from "./ui15.js";
2
+ import { __s, bag3, bag4, bag9, child, clone, delegateEvents, forBlock, hookSlots, ifBlock, setEventHandler, setStyle, sibling, template, useState, withSlot } from "octane";
3
+ import { bindSignalAttribute, bindSignalChild, childTextHoleUpdate, enableSignalBindings, updateFreshClassName } from "octane/internal/client";
4
+ //#region src/Tabs.web.tsrx
5
+ enableSignalBindings(1, true);
6
+ delegateEvents(["click"]);
7
+ var _t$0 = /* @__PURE__ */ template("<div class=\"vx-route\"></div>");
8
+ var _t$1 = /* @__PURE__ */ template("<button></button>");
9
+ var _t$2 = /* @__PURE__ */ template("<div><div class=\"vx-tabbar\"><!></div><div class=\"vx-tabpane\"></div></div>");
10
+ var _hs$ = /* @__PURE__ */ hookSlots(4);
11
+ var _h$1 = /* @__PURE__ */ Symbol(_hs$ + 1);
12
+ var _h$2 = /* @__PURE__ */ Symbol(_hs$ + 2);
13
+ function __then$0(__props, __s, __extra) {
14
+ const props = __extra[2];
15
+ const rootRoute = __extra[3];
16
+ let _b = __s.slots[0];
17
+ if (_b === void 0) {
18
+ let _m0;
19
+ const _root = clone(_t$0);
20
+ _m0 = _root;
21
+ _b = bag3(__s, _root, _m0, null, void 0);
22
+ }
23
+ {
24
+ const _v = props.resolveScreen(rootRoute.name, rootRoute.params);
25
+ _b.b = childTextHoleUpdate(__s, 1, _b.a, _v, _b.b, _b.c);
26
+ _b.c = _v;
27
+ }
28
+ }
29
+ var _key$3 = (t) => t.title;
30
+ function __item$4(t, __s, __extra) {
31
+ const active = __extra[0];
32
+ const props = __extra[1];
33
+ const setInternal = __extra[2];
34
+ let _b = __s.slots[0];
35
+ if (_b === void 0) {
36
+ let _m1;
37
+ const _root = clone(_t$1);
38
+ _m1 = _root;
39
+ setEventHandler(_root, "$$click", () => {
40
+ const i = props.tabs.indexOf(t);
41
+ setInternal(i);
42
+ props.onSelectedIndexChanged?.(i);
43
+ });
44
+ _b = bag4(__s, _root, void 0, _m1, null, void 0);
45
+ } else setEventHandler(_b.b, "$$click", () => {
46
+ const i = props.tabs.indexOf(t);
47
+ setInternal(i);
48
+ props.onSelectedIndexChanged?.(i);
49
+ });
50
+ _b.a = updateFreshClassName(["vx-tab", active === props.tabs.indexOf(t) ? "active" : ""], _b.a, _b.b);
51
+ _b.e = bindSignalChild(__s, _b.e, 1, _b.b, t.title, "b:6348b8b3", null, void 0, void 0, void 0, true);
52
+ }
53
+ function __else$2(__props, __s, __extra) {
54
+ const active = __extra[0];
55
+ const paneRoute = __extra[1];
56
+ const props = __extra[2];
57
+ const setInternal = __extra[4];
58
+ let _b = __s.slots[0];
59
+ if (_b === void 0) {
60
+ let _m1, _m4, _m5, _m6;
61
+ const _root = clone(_t$2);
62
+ _m1 = _root;
63
+ const _el0 = child(_root);
64
+ _m4 = _el0;
65
+ _m5 = child(_el0);
66
+ _m6 = sibling(_el0, 1);
67
+ _b = bag9(__s, _root, void 0, _m1, void 0, void 0, _m4, _m5, _m6, null, void 0);
68
+ }
69
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:aa84790a", "attr");
70
+ _b.c = updateFreshClassName(["vx-tabs", props.className], _b.c, _b.b);
71
+ {
72
+ const _v = props.style;
73
+ if (_b.d !== _v) {
74
+ setStyle(_b.b, _v, _b.d);
75
+ _b.d = _v;
76
+ }
77
+ }
78
+ forBlock(__s, 1, _b.e, props.tabs, _key$3, __item$4, 26, [
79
+ active,
80
+ props,
81
+ setInternal
82
+ ], null, _b.f, true);
83
+ _b.j = bindSignalChild(__s, _b.j, 2, _b.g, paneRoute && props.resolveScreen ? props.resolveScreen(paneRoute.name, paneRoute.params) : props.tabs[active]?.render(), "b:f2154571", null, void 0, void 0, void 0, true);
84
+ }
85
+ var Tabs = /* @__PURE__ */ __s(function Tabs(props, __s, __extra) {
86
+ const __block = __s.block;
87
+ const [internal, setInternal] = useState(0, _hs$ + 0);
88
+ const active = props.selectedIndex ?? internal;
89
+ const rootRoute = withSlot(_h$1, useRoute, "root");
90
+ const paneRoute = withSlot(_h$2, useRoute, props.tabs[active]?.stack ?? "");
91
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
92
+ ifBlock(__s, 0, __block.parentNode, rootRoute && props.resolveScreen, __then$0, __else$2, __block.endMarker, [
93
+ active,
94
+ paneRoute,
95
+ props,
96
+ rootRoute,
97
+ setInternal
98
+ ]);
99
+ });
100
+ //#endregion
101
+ export { Tabs };
@@ -0,0 +1,31 @@
1
+ import { __s, bag5, clone, delegateEvents, setEventHandler, setStyle, template } from "octane";
2
+ import { bindSignalAttribute, bindSignalChecked, enableSignalBindings, updateFreshClassName } from "octane/internal/client";
3
+ //#region src/Switch.web.tsrx
4
+ enableSignalBindings(1, true);
5
+ delegateEvents(["change"]);
6
+ var _t$0 = /* @__PURE__ */ template("<input type=\"checkbox\" data-octane-input=\"i:bf25de07\"/>");
7
+ var Switch = /* @__PURE__ */ __s(function Switch(props, __s, __extra) {
8
+ let _b = __s.slots[0];
9
+ if (_b === void 0) {
10
+ let _m1, _m4;
11
+ const _root = clone(_t$0);
12
+ _m1 = _root;
13
+ _m4 = bindSignalChecked(__s, void 0, _root, props.checked, "i:bf25de07");
14
+ setEventHandler(_root, "$$change", (e) => props.onCheckedChange?.(e.target.checked));
15
+ _b = bag5(__s, _root, void 0, _m1, void 0, void 0, _m4);
16
+ } else {
17
+ _b.e = bindSignalChecked(__s, _b.e, _b.b, props.checked, "i:bf25de07");
18
+ setEventHandler(_b.b, "$$change", (e) => props.onCheckedChange?.(e.target.checked));
19
+ }
20
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:dddb26c5", "attr");
21
+ _b.c = updateFreshClassName(["vx-switch", props.className], _b.c, _b.b);
22
+ {
23
+ const _v = props.style;
24
+ if (_b.d !== _v) {
25
+ setStyle(_b.b, _v, _b.d);
26
+ _b.d = _v;
27
+ }
28
+ }
29
+ });
30
+ //#endregion
31
+ export { Switch };
@@ -0,0 +1,17 @@
1
+ import { __s, bag2, clone, template } from "octane";
2
+ import { bindSignalAttribute, enableSignalBindings } from "octane/internal/client";
3
+ //#region src/PlatformBadge.web.tsrx
4
+ enableSignalBindings(1, true);
5
+ var _t$0 = /* @__PURE__ */ template("<span>web</span>");
6
+ var PlatformBadge = /* @__PURE__ */ __s(function PlatformBadge(props, __s, __extra) {
7
+ let _b = __s.slots[0];
8
+ if (_b === void 0) {
9
+ let _m1;
10
+ const _root = clone(_t$0);
11
+ _m1 = _root;
12
+ _b = bag2(__s, _root, void 0, _m1);
13
+ }
14
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "class", props.className, "b:d2333534", "class");
15
+ });
16
+ //#endregion
17
+ export { PlatformBadge };
@@ -0,0 +1,6 @@
1
+ //#region src/stacks.web.ts
2
+ /** Web twin — one linear URL stack; named stacks don't apply. */
3
+ function registerStack(_name, _frame) {}
4
+ function getStack(_name) {}
5
+ //#endregion
6
+ export { getStack, registerStack };
@@ -0,0 +1,105 @@
1
+ import { __s, bag7, clone, hookSlots, queueRefAttach, queueRefDetach, setStyle, template, useEffect, useRef } from "octane";
2
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, replaceRef, updateFreshClassName } from "octane/internal/client";
3
+ //#region src/View.web.tsrx
4
+ enableSignalBindings(1, true);
5
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
6
+ var _hs$ = /* @__PURE__ */ hookSlots(2);
7
+ var _rm$1 = [
8
+ "r",
9
+ "c",
10
+ "b"
11
+ ];
12
+ var View = /* @__PURE__ */ __s(function View(props, __s, __extra) {
13
+ const el = useRef(null, _hs$ + 0);
14
+ useEffect(() => {
15
+ const node = el.current;
16
+ const cb = props.onPan;
17
+ if (!node || !cb) return;
18
+ let sx = 0, sy = 0, active = false, last = 0, lx = 0, t0 = 0;
19
+ const emit = (e, state) => {
20
+ const now = performance.now();
21
+ const dt = Math.max(now - t0, 1) / 1e3;
22
+ const vx = (e.clientX - lx) / dt;
23
+ const vy = (e.clientY - last) / dt;
24
+ lx = e.clientX;
25
+ last = e.clientY;
26
+ t0 = now;
27
+ cb({
28
+ x: e.clientX - sx,
29
+ y: e.clientY - sy,
30
+ dx: e.clientX - sx,
31
+ dy: e.clientY - sy,
32
+ vx,
33
+ vy,
34
+ state,
35
+ target: node
36
+ });
37
+ };
38
+ const down = (e) => {
39
+ active = true;
40
+ sx = e.clientX;
41
+ sy = e.clientY;
42
+ t0 = performance.now();
43
+ lx = sx;
44
+ last = sy;
45
+ node.setPointerCapture?.(e.pointerId);
46
+ emit(e, "began");
47
+ };
48
+ const move = (e) => {
49
+ if (active) emit(e, "moved");
50
+ };
51
+ const up = (e) => {
52
+ if (active) {
53
+ active = false;
54
+ emit(e, "ended");
55
+ }
56
+ };
57
+ const cancel = (e) => {
58
+ if (active) {
59
+ active = false;
60
+ emit(e, "cancelled");
61
+ }
62
+ };
63
+ node.addEventListener("pointerdown", down);
64
+ node.addEventListener("pointermove", move);
65
+ node.addEventListener("pointerup", up);
66
+ node.addEventListener("pointercancel", cancel);
67
+ return () => {
68
+ node.removeEventListener("pointerdown", down);
69
+ node.removeEventListener("pointermove", move);
70
+ node.removeEventListener("pointerup", up);
71
+ node.removeEventListener("pointercancel", cancel);
72
+ };
73
+ }, [props.onPan], _hs$ + 1);
74
+ let _b = __s.slots[0];
75
+ if (_b === void 0) {
76
+ let _m1, _m2;
77
+ const _root = clone(_t$0);
78
+ _m1 = _root;
79
+ queueRefAttach(__s, _m2 = (e) => {
80
+ el.current = e;
81
+ props.bind?.(e);
82
+ }, _m1);
83
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.c, _b.b));
84
+ _b = bag7(__s, _root, void 0, _m1, _m2, void 0, void 0, null, void 0);
85
+ __s.refFields = _rm$1;
86
+ } else {
87
+ const _r = (e) => {
88
+ el.current = e;
89
+ props.bind?.(e);
90
+ };
91
+ if (_r !== _b.c) _b.c = replaceRef(__s, _b.c, _r, _b.b);
92
+ }
93
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:ae8eb435", "attr");
94
+ _b.d = updateFreshClassName(["vx-view", props.className], _b.d, _b.b);
95
+ {
96
+ const _v = props.style;
97
+ if (_b.e !== _v) {
98
+ setStyle(_b.b, _v, _b.e);
99
+ _b.e = _v;
100
+ }
101
+ }
102
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.b, props.children, "b:0277c7de", null, void 0, void 0, void 0, true);
103
+ });
104
+ //#endregion
105
+ export { View };
@@ -0,0 +1,28 @@
1
+ import { __s, bag5, clone, setStyle, template } from "octane";
2
+ import { childTextHoleUpdate, updateFreshClassName } from "octane/internal/client";
3
+ //#region src/Row.web.tsrx
4
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
5
+ var Row = /* @__PURE__ */ __s(function Row(props, __s, __extra) {
6
+ let _b = __s.slots[0];
7
+ if (_b === void 0) {
8
+ let _m1;
9
+ const _root = clone(_t$0);
10
+ _m1 = _root;
11
+ _b = bag5(__s, _root, void 0, _m1, void 0, null, void 0);
12
+ }
13
+ _b.a = updateFreshClassName(["vx-row", props.className], _b.a, _b.b);
14
+ {
15
+ const _v = props.style;
16
+ if (_b.c !== _v) {
17
+ setStyle(_b.b, _v, _b.c);
18
+ _b.c = _v;
19
+ }
20
+ }
21
+ {
22
+ const _v = props.children;
23
+ _b.d = childTextHoleUpdate(__s, 1, _b.b, _v, _b.d, _b.e);
24
+ _b.e = _v;
25
+ }
26
+ });
27
+ //#endregion
28
+ export { Row };
@@ -0,0 +1,25 @@
1
+ import { __s, bag5, clone, setStyle, template } from "octane";
2
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings } from "octane/internal/client";
3
+ //#region src/Text.web.tsrx
4
+ enableSignalBindings(1, true);
5
+ var _t$0 = /* @__PURE__ */ template("<span></span>");
6
+ var Text = /* @__PURE__ */ __s(function Text(props, __s, __extra) {
7
+ let _b = __s.slots[0];
8
+ if (_b === void 0) {
9
+ let _m1;
10
+ const _root = clone(_t$0);
11
+ _m1 = _root;
12
+ _b = bag5(__s, _root, void 0, _m1, void 0, null, void 0);
13
+ }
14
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "class", props.className, "b:fa2421a2", "class");
15
+ {
16
+ const _v = props.style;
17
+ if (_b.c !== _v) {
18
+ setStyle(_b.b, _v, _b.c);
19
+ _b.c = _v;
20
+ }
21
+ }
22
+ _b.f = bindSignalChild(__s, _b.f, 1, _b.b, props.children, "b:7ee97a4e", null, void 0, void 0, void 0, true);
23
+ });
24
+ //#endregion
25
+ export { Text };
@@ -0,0 +1,31 @@
1
+ import { __s, bag9, clone, delegateEvents, setEventHandler, setStyle, template } from "octane";
2
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, updateFreshClassName } from "octane/internal/client";
3
+ //#region src/Pressable.web.tsrx
4
+ enableSignalBindings(1, true);
5
+ delegateEvents(["click"]);
6
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
7
+ var Pressable = /* @__PURE__ */ __s(function Pressable(props, __s, __extra) {
8
+ let _b = __s.slots[0];
9
+ if (_b === void 0) {
10
+ let _m1;
11
+ const _root = clone(_t$0);
12
+ _m1 = _root;
13
+ setEventHandler(_root, "$$click", props.disabled ? void 0 : props.onPress);
14
+ _b = bag9(__s, _root, void 0, _m1, void 0, void 0, void 0, void 0, void 0, null, void 0);
15
+ } else setEventHandler(_b.b, "$$click", props.disabled ? void 0 : props.onPress);
16
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "id", props.id, "b:832122ac", "attr");
17
+ _b.c = updateFreshClassName(["vx-pressable", props.className], _b.c, _b.b);
18
+ {
19
+ const _v = props.style;
20
+ if (_b.d !== _v) {
21
+ setStyle(_b.b, _v, _b.d);
22
+ _b.d = _v;
23
+ }
24
+ }
25
+ _b.e = bindSignalAttribute(__s, _b.e, _b.b, "role", props.accessibilityRole ?? "button", "b:6aeb41d8", "attr");
26
+ _b.f = bindSignalAttribute(__s, _b.f, _b.b, "aria-label", props.accessibilityLabel, "b:0b7c731e", "ariaAttr");
27
+ _b.g = bindSignalAttribute(__s, _b.g, _b.b, "aria-hidden", props.accessible === false ? true : void 0, "b:d6cc8abe", "ariaAttr");
28
+ _b.j = bindSignalChild(__s, _b.j, 1, _b.b, props.children, "b:e3f0e733", null, void 0, void 0, void 0, true);
29
+ });
30
+ //#endregion
31
+ export { Pressable };