@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.
- package/dist/native/octane-client-build.json +8 -0
- package/dist/native/ui.js +19 -0
- package/dist/native/ui10.js +52 -0
- package/dist/native/ui11.js +58 -0
- package/dist/native/ui12.js +17 -0
- package/dist/native/ui13.js +19 -0
- package/dist/native/ui14.js +20 -0
- package/dist/native/ui15.js +19 -0
- package/dist/native/ui16.js +143 -0
- package/dist/native/ui17.js +24 -0
- package/dist/native/ui18.js +13 -0
- package/dist/native/ui19.js +13 -0
- package/dist/native/ui2.js +49 -0
- package/dist/native/ui3.js +21 -0
- package/dist/native/ui4.js +49 -0
- package/dist/native/ui5.js +35 -0
- package/dist/native/ui6.js +25 -0
- package/dist/native/ui7.js +73 -0
- package/dist/native/ui8.js +33 -0
- package/dist/native/ui9.js +24 -0
- package/dist/web/octane-client-build.json +8 -0
- package/dist/web/ui.js +19 -0
- package/dist/web/ui10.js +43 -0
- package/dist/web/ui11.js +57 -0
- package/dist/web/ui12.js +16 -0
- package/dist/web/ui13.js +22 -0
- package/dist/web/ui14.js +28 -0
- package/dist/web/ui15.js +49 -0
- package/dist/web/ui16.js +101 -0
- package/dist/web/ui17.js +31 -0
- package/dist/web/ui18.js +17 -0
- package/dist/web/ui19.js +6 -0
- package/dist/web/ui2.js +105 -0
- package/dist/web/ui3.js +28 -0
- package/dist/web/ui4.js +25 -0
- package/dist/web/ui5.js +31 -0
- package/dist/web/ui6.js +31 -0
- package/dist/web/ui7.js +47 -0
- package/dist/web/ui8.js +29 -0
- package/dist/web/ui9.js +27 -0
- package/package.json +32 -0
- package/src/theme/tokens.css +110 -0
|
@@ -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 };
|
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 };
|
package/dist/web/ui10.js
ADDED
|
@@ -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 };
|
package/dist/web/ui11.js
ADDED
|
@@ -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 };
|
package/dist/web/ui12.js
ADDED
|
@@ -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 };
|
package/dist/web/ui13.js
ADDED
|
@@ -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 };
|
package/dist/web/ui14.js
ADDED
|
@@ -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 };
|
package/dist/web/ui15.js
ADDED
|
@@ -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 };
|
package/dist/web/ui16.js
ADDED
|
@@ -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 };
|
package/dist/web/ui17.js
ADDED
|
@@ -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 };
|
package/dist/web/ui18.js
ADDED
|
@@ -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 };
|
package/dist/web/ui19.js
ADDED
package/dist/web/ui2.js
ADDED
|
@@ -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 };
|
package/dist/web/ui3.js
ADDED
|
@@ -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 };
|
package/dist/web/ui4.js
ADDED
|
@@ -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 };
|
package/dist/web/ui5.js
ADDED
|
@@ -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 };
|