@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
package/dist/web/ui15.js CHANGED
@@ -1,49 +1,428 @@
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
1
+ import { applyEscapeProps } from "./ui2.js";
2
+ import { glassClassOf, glassStyleOf } from "./ui3.js";
3
+ import { layoutChildProps } from "./ui4.js";
4
+ import { __s, bagOf, clone, snapshotSpread, template } from "octane";
5
+ import { bindSignalChild, bindSignalHostPropSources, enableSignalBindings } from "octane/internal/client";
6
+ //#region src/Pressable.web.tsrx
7
+ enableSignalBindings(1, true);
8
+ var _t$0 = /* @__PURE__ */ template("<div></div>");
9
+ var _rm$1 = [
10
+ "s",
11
+ "w",
12
+ "v"
13
+ ];
14
+ var Pressable = /* @__PURE__ */ __s(function Pressable(props, __s, __extra) {
15
+ let timer = null;
16
+ const cancel = () => {
17
+ if (timer !== null) {
18
+ clearTimeout(timer);
19
+ timer = null;
20
+ }
15
21
  };
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();
22
+ const down = () => {
23
+ if (props.disabled || !props.onLongPress) return;
24
+ cancel();
25
+ timer = setTimeout(() => {
26
+ timer = null;
27
+ props.onLongPress?.();
28
+ }, 500);
29
+ };
30
+ let _b = __s.slots[0];
31
+ if (_b === void 0) {
32
+ let _m0, _m1, _m2, _m3, _m4, _m5, _m6, _m7, _m8, _m9, _m10, _m11, _m12, _m13, _m14, _m15, _m16, _m17, _m18, _m19, _m20, _m21, _m22;
33
+ const _root = clone(_t$0);
34
+ _m0 = (el) => applyEscapeProps(el, props);
35
+ _m1 = props.id;
36
+ _m2 = [
37
+ "vx-pressable",
38
+ props.ignoreTouchAnimation ? "vx-pressable-no-feedback" : "",
39
+ glassClassOf(props.glass),
40
+ props.className
41
+ ];
42
+ _m3 = snapshotSpread(layoutChildProps(props, {
43
+ ...glassStyleOf(props.glass),
44
+ ...props.style,
45
+ ...props.hitSlop ? {
46
+ margin: -props.hitSlop,
47
+ padding: props.hitSlop
48
+ } : {}
49
+ }));
50
+ _m4 = props.accessibilityRole ?? "button";
51
+ _m5 = props.accessibilityLabel;
52
+ _m6 = props.accessibilityHint;
53
+ _m7 = props.accessibilityValue;
54
+ _m8 = props.accessibilityState?.disabled ?? props.disabled ?? void 0;
55
+ _m9 = props.accessibilityState?.selected;
56
+ _m10 = props.accessibilityState?.checked;
57
+ _m11 = props.accessibilityState?.busy;
58
+ _m12 = props.accessibilityState?.expanded;
59
+ _m13 = props.accessibilityLiveRegion === "none" ? "off" : props.accessibilityLiveRegion;
60
+ _m14 = props.accessible === false ? true : void 0;
61
+ _m15 = props.disabled ? void 0 : props.onPress;
62
+ _m16 = props.disabled ? void 0 : props.onDoublePress;
63
+ _m17 = (e) => {
64
+ if (!props.disabled) {
65
+ props.onPressIn?.();
66
+ down();
67
+ }
68
+ };
69
+ _m18 = () => {
70
+ if (!props.disabled) props.onPressOut?.();
71
+ cancel();
72
+ };
73
+ _m19 = () => {
74
+ if (!props.disabled) props.onPressOut?.();
75
+ cancel();
76
+ };
77
+ _m20 = () => {
78
+ if (!props.disabled) props.onPressOut?.();
79
+ cancel();
80
+ };
81
+ _m21 = _root;
82
+ _m22 = bindSignalHostPropSources(__s, void 0, _root, [
83
+ [
84
+ false,
85
+ "ref",
86
+ _m0
87
+ ],
88
+ [
89
+ false,
90
+ "id",
91
+ _m1
92
+ ],
93
+ [
94
+ false,
95
+ "className",
96
+ _m2
97
+ ],
98
+ [true, _m3],
99
+ [
100
+ false,
101
+ "role",
102
+ _m4
103
+ ],
104
+ [
105
+ false,
106
+ "aria-label",
107
+ _m5
108
+ ],
109
+ [
110
+ false,
111
+ "aria-description",
112
+ _m6
113
+ ],
114
+ [
115
+ false,
116
+ "aria-valuetext",
117
+ _m7
118
+ ],
119
+ [
120
+ false,
121
+ "aria-disabled",
122
+ _m8
123
+ ],
124
+ [
125
+ false,
126
+ "aria-selected",
127
+ _m9
128
+ ],
129
+ [
130
+ false,
131
+ "aria-checked",
132
+ _m10
133
+ ],
134
+ [
135
+ false,
136
+ "aria-busy",
137
+ _m11
138
+ ],
139
+ [
140
+ false,
141
+ "aria-expanded",
142
+ _m12
143
+ ],
144
+ [
145
+ false,
146
+ "aria-live",
147
+ _m13
148
+ ],
149
+ [
150
+ false,
151
+ "aria-hidden",
152
+ _m14
153
+ ],
154
+ [
155
+ false,
156
+ "onClick",
157
+ _m15
158
+ ],
159
+ [
160
+ false,
161
+ "onDoubleClick",
162
+ _m16
163
+ ],
164
+ [
165
+ false,
166
+ "onPointerDown",
167
+ _m17
168
+ ],
169
+ [
170
+ false,
171
+ "onPointerUp",
172
+ _m18
173
+ ],
174
+ [
175
+ false,
176
+ "onPointerLeave",
177
+ _m19
178
+ ],
179
+ [
180
+ false,
181
+ "onPointerCancel",
182
+ _m20
183
+ ]
184
+ ], "b:1e96e1c3", true);
185
+ _b = bagOf(__s, _root, {
186
+ a: _m0,
187
+ b: _m1,
188
+ c: _m2,
189
+ d: _m3,
190
+ e: _m4,
191
+ f: _m5,
192
+ g: _m6,
193
+ h: _m7,
194
+ i: _m8,
195
+ j: _m9,
196
+ k: _m10,
197
+ l: _m11,
198
+ m: _m12,
199
+ n: _m13,
200
+ o: _m14,
201
+ p: _m15,
202
+ q: _m16,
203
+ r: _m17,
204
+ s: _m18,
205
+ t: _m19,
206
+ u: _m20,
207
+ v: _m21,
208
+ w: _m22,
209
+ x: null,
210
+ y: void 0
211
+ });
212
+ __s.refFields = _rm$1;
213
+ } else {
214
+ {
215
+ const _v = (el) => applyEscapeProps(el, props);
216
+ if (_b.a !== _v) _b.a = _v;
217
+ }
218
+ {
219
+ const _v = props.id;
220
+ if (_b.b !== _v) _b.b = _v;
221
+ }
222
+ {
223
+ const _v = [
224
+ "vx-pressable",
225
+ props.ignoreTouchAnimation ? "vx-pressable-no-feedback" : "",
226
+ glassClassOf(props.glass),
227
+ props.className
228
+ ];
229
+ if (_b.c !== _v) _b.c = _v;
230
+ }
231
+ _b.d = snapshotSpread(layoutChildProps(props, {
232
+ ...glassStyleOf(props.glass),
233
+ ...props.style,
234
+ ...props.hitSlop ? {
235
+ margin: -props.hitSlop,
236
+ padding: props.hitSlop
237
+ } : {}
238
+ }));
239
+ {
240
+ const _v = props.accessibilityRole ?? "button";
241
+ if (_b.e !== _v) _b.e = _v;
242
+ }
243
+ {
244
+ const _v = props.accessibilityLabel;
245
+ if (_b.f !== _v) _b.f = _v;
246
+ }
247
+ {
248
+ const _v = props.accessibilityHint;
249
+ if (_b.g !== _v) _b.g = _v;
250
+ }
251
+ {
252
+ const _v = props.accessibilityValue;
253
+ if (_b.h !== _v) _b.h = _v;
254
+ }
255
+ {
256
+ const _v = props.accessibilityState?.disabled ?? props.disabled ?? void 0;
257
+ if (_b.i !== _v) _b.i = _v;
258
+ }
259
+ {
260
+ const _v = props.accessibilityState?.selected;
261
+ if (_b.j !== _v) _b.j = _v;
262
+ }
263
+ {
264
+ const _v = props.accessibilityState?.checked;
265
+ if (_b.k !== _v) _b.k = _v;
266
+ }
267
+ {
268
+ const _v = props.accessibilityState?.busy;
269
+ if (_b.l !== _v) _b.l = _v;
270
+ }
271
+ {
272
+ const _v = props.accessibilityState?.expanded;
273
+ if (_b.m !== _v) _b.m = _v;
274
+ }
275
+ {
276
+ const _v = props.accessibilityLiveRegion === "none" ? "off" : props.accessibilityLiveRegion;
277
+ if (_b.n !== _v) _b.n = _v;
278
+ }
279
+ {
280
+ const _v = props.accessible === false ? true : void 0;
281
+ if (_b.o !== _v) _b.o = _v;
282
+ }
283
+ {
284
+ const _v = props.disabled ? void 0 : props.onPress;
285
+ if (_b.p !== _v) _b.p = _v;
286
+ }
287
+ {
288
+ const _v = props.disabled ? void 0 : props.onDoublePress;
289
+ if (_b.q !== _v) _b.q = _v;
290
+ }
291
+ {
292
+ const _v = (e) => {
293
+ if (!props.disabled) {
294
+ props.onPressIn?.();
295
+ down();
296
+ }
297
+ };
298
+ if (_b.r !== _v) _b.r = _v;
299
+ }
300
+ {
301
+ const _v = () => {
302
+ if (!props.disabled) props.onPressOut?.();
303
+ cancel();
304
+ };
305
+ if (_b.s !== _v) _b.s = _v;
306
+ }
307
+ {
308
+ const _v = () => {
309
+ if (!props.disabled) props.onPressOut?.();
310
+ cancel();
311
+ };
312
+ if (_b.t !== _v) _b.t = _v;
313
+ }
314
+ {
315
+ const _v = () => {
316
+ if (!props.disabled) props.onPressOut?.();
317
+ cancel();
318
+ };
319
+ if (_b.u !== _v) _b.u = _v;
320
+ }
321
+ _b.w = bindSignalHostPropSources(__s, _b.w, _b.v, [
322
+ [
323
+ false,
324
+ "ref",
325
+ _b.a
326
+ ],
327
+ [
328
+ false,
329
+ "id",
330
+ _b.b
331
+ ],
332
+ [
333
+ false,
334
+ "className",
335
+ _b.c
336
+ ],
337
+ [true, _b.d],
338
+ [
339
+ false,
340
+ "role",
341
+ _b.e
342
+ ],
343
+ [
344
+ false,
345
+ "aria-label",
346
+ _b.f
347
+ ],
348
+ [
349
+ false,
350
+ "aria-description",
351
+ _b.g
352
+ ],
353
+ [
354
+ false,
355
+ "aria-valuetext",
356
+ _b.h
357
+ ],
358
+ [
359
+ false,
360
+ "aria-disabled",
361
+ _b.i
362
+ ],
363
+ [
364
+ false,
365
+ "aria-selected",
366
+ _b.j
367
+ ],
368
+ [
369
+ false,
370
+ "aria-checked",
371
+ _b.k
372
+ ],
373
+ [
374
+ false,
375
+ "aria-busy",
376
+ _b.l
377
+ ],
378
+ [
379
+ false,
380
+ "aria-expanded",
381
+ _b.m
382
+ ],
383
+ [
384
+ false,
385
+ "aria-live",
386
+ _b.n
387
+ ],
388
+ [
389
+ false,
390
+ "aria-hidden",
391
+ _b.o
392
+ ],
393
+ [
394
+ false,
395
+ "onClick",
396
+ _b.p
397
+ ],
398
+ [
399
+ false,
400
+ "onDoubleClick",
401
+ _b.q
402
+ ],
403
+ [
404
+ false,
405
+ "onPointerDown",
406
+ _b.r
407
+ ],
408
+ [
409
+ false,
410
+ "onPointerUp",
411
+ _b.s
412
+ ],
413
+ [
414
+ false,
415
+ "onPointerLeave",
416
+ _b.t
417
+ ],
418
+ [
419
+ false,
420
+ "onPointerCancel",
421
+ _b.u
422
+ ]
423
+ ], "b:1e96e1c3", true);
424
+ }
425
+ _b.z = bindSignalChild(__s, _b.z, 1, _b.v, props.children, "b:42886232", null, void 0, void 0, void 0, true);
32
426
  });
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
427
  //#endregion
49
- export { currentRoute, pushRoute, routeFor, useRoute };
428
+ export { Pressable };
package/dist/web/ui16.js CHANGED
@@ -1,101 +1,20 @@
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
1
+ import { __s, bag6, clone, template } from "octane";
2
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, setPlainAttribute, setURLAttribute } from "octane/internal/client";
3
+ //#region src/Link.web.tsrx
5
4
  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];
5
+ var _t$0 = /* @__PURE__ */ template("<a rel=\"noreferrer\"></a>", 3);
6
+ var Link = /* @__PURE__ */ __s(function Link(props, __s, __extra) {
34
7
  let _b = __s.slots[0];
35
8
  if (_b === void 0) {
36
9
  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:6a83ceed", 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);
10
+ const _root = clone(_t$0);
62
11
  _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:dd012c22", "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
- }
12
+ _b = bag6(__s, _root, void 0, _m1, void 0, void 0, null, void 0);
77
13
  }
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:945751f6", 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
- ]);
14
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "href", props.href, "b:72eb02fd", setURLAttribute);
15
+ _b.c = bindSignalAttribute(__s, _b.c, _b.b, "target", props.target ?? "_blank", "b:8bb4cc0f", setPlainAttribute);
16
+ _b.d = bindSignalAttribute(__s, _b.d, _b.b, "class", props.className, "b:e1c761ba", "class");
17
+ _b.g = bindSignalChild(__s, _b.g, 1, _b.b, props.children, "b:664239d9", null, void 0, void 0, void 0, true);
99
18
  });
100
19
  //#endregion
101
- export { Tabs };
20
+ export { Link };