one 1.2.5 → 1.2.7

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 (142) hide show
  1. package/dist/cjs/ui/Slot.cjs +42 -0
  2. package/dist/cjs/ui/Slot.js +27 -0
  3. package/dist/cjs/ui/Slot.js.map +6 -0
  4. package/dist/cjs/ui/Slot.native.js +48 -0
  5. package/dist/cjs/ui/Slot.native.js.map +1 -0
  6. package/dist/cjs/ui/TabContext.cjs +44 -0
  7. package/dist/cjs/ui/TabContext.js +35 -0
  8. package/dist/cjs/ui/TabContext.js.map +6 -0
  9. package/dist/cjs/ui/TabContext.native.js +47 -0
  10. package/dist/cjs/ui/TabContext.native.js.map +1 -0
  11. package/dist/cjs/ui/TabList.cjs +52 -0
  12. package/dist/cjs/ui/TabList.js +38 -0
  13. package/dist/cjs/ui/TabList.js.map +6 -0
  14. package/dist/cjs/ui/TabList.native.js +57 -0
  15. package/dist/cjs/ui/TabList.native.js.map +1 -0
  16. package/dist/cjs/ui/TabRouter.cjs +47 -0
  17. package/dist/cjs/ui/TabRouter.js +41 -0
  18. package/dist/cjs/ui/TabRouter.js.map +6 -0
  19. package/dist/cjs/ui/TabRouter.native.js +57 -0
  20. package/dist/cjs/ui/TabRouter.native.js.map +1 -0
  21. package/dist/cjs/ui/TabSlot.cjs +115 -0
  22. package/dist/cjs/ui/TabSlot.js +91 -0
  23. package/dist/cjs/ui/TabSlot.js.map +6 -0
  24. package/dist/cjs/ui/TabSlot.native.js +120 -0
  25. package/dist/cjs/ui/TabSlot.native.js.map +1 -0
  26. package/dist/cjs/ui/TabTrigger.cjs +151 -0
  27. package/dist/cjs/ui/TabTrigger.js +120 -0
  28. package/dist/cjs/ui/TabTrigger.js.map +6 -0
  29. package/dist/cjs/ui/TabTrigger.native.js +153 -0
  30. package/dist/cjs/ui/TabTrigger.native.js.map +1 -0
  31. package/dist/cjs/ui/Tabs.cjs +175 -0
  32. package/dist/cjs/ui/Tabs.js +121 -0
  33. package/dist/cjs/ui/Tabs.js.map +6 -0
  34. package/dist/cjs/ui/Tabs.native.js +191 -0
  35. package/dist/cjs/ui/Tabs.native.js.map +1 -0
  36. package/dist/cjs/ui/common.cjs +160 -0
  37. package/dist/cjs/ui/common.js +146 -0
  38. package/dist/cjs/ui/common.js.map +6 -0
  39. package/dist/cjs/ui/common.native.js +223 -0
  40. package/dist/cjs/ui/common.native.js.map +1 -0
  41. package/dist/cjs/ui/index.cjs +18 -0
  42. package/dist/cjs/ui/index.js +15 -0
  43. package/dist/cjs/ui/index.js.map +6 -0
  44. package/dist/cjs/ui/index.native.js +21 -0
  45. package/dist/cjs/ui/index.native.js.map +1 -0
  46. package/dist/cjs/ui/useComponent.cjs +46 -0
  47. package/dist/cjs/ui/useComponent.js +37 -0
  48. package/dist/cjs/ui/useComponent.js.map +6 -0
  49. package/dist/cjs/ui/useComponent.native.js +53 -0
  50. package/dist/cjs/ui/useComponent.native.js.map +1 -0
  51. package/dist/esm/ui/Slot.js +17 -0
  52. package/dist/esm/ui/Slot.js.map +6 -0
  53. package/dist/esm/ui/Slot.mjs +19 -0
  54. package/dist/esm/ui/Slot.mjs.map +1 -0
  55. package/dist/esm/ui/Slot.native.js +22 -0
  56. package/dist/esm/ui/Slot.native.js.map +1 -0
  57. package/dist/esm/ui/TabContext.js +19 -0
  58. package/dist/esm/ui/TabContext.js.map +6 -0
  59. package/dist/esm/ui/TabContext.mjs +17 -0
  60. package/dist/esm/ui/TabContext.mjs.map +1 -0
  61. package/dist/esm/ui/TabContext.native.js +17 -0
  62. package/dist/esm/ui/TabContext.native.js.map +1 -0
  63. package/dist/esm/ui/TabList.js +24 -0
  64. package/dist/esm/ui/TabList.js.map +6 -0
  65. package/dist/esm/ui/TabList.mjs +28 -0
  66. package/dist/esm/ui/TabList.mjs.map +1 -0
  67. package/dist/esm/ui/TabList.native.js +30 -0
  68. package/dist/esm/ui/TabList.native.js.map +1 -0
  69. package/dist/esm/ui/TabRouter.js +27 -0
  70. package/dist/esm/ui/TabRouter.js.map +6 -0
  71. package/dist/esm/ui/TabRouter.mjs +24 -0
  72. package/dist/esm/ui/TabRouter.mjs.map +1 -0
  73. package/dist/esm/ui/TabRouter.native.js +31 -0
  74. package/dist/esm/ui/TabRouter.native.js.map +1 -0
  75. package/dist/esm/ui/TabSlot.js +80 -0
  76. package/dist/esm/ui/TabSlot.js.map +6 -0
  77. package/dist/esm/ui/TabSlot.mjs +89 -0
  78. package/dist/esm/ui/TabSlot.mjs.map +1 -0
  79. package/dist/esm/ui/TabSlot.native.js +91 -0
  80. package/dist/esm/ui/TabSlot.native.js.map +1 -0
  81. package/dist/esm/ui/TabTrigger.js +115 -0
  82. package/dist/esm/ui/TabTrigger.js.map +6 -0
  83. package/dist/esm/ui/TabTrigger.mjs +126 -0
  84. package/dist/esm/ui/TabTrigger.mjs.map +1 -0
  85. package/dist/esm/ui/TabTrigger.native.js +125 -0
  86. package/dist/esm/ui/TabTrigger.native.js.map +1 -0
  87. package/dist/esm/ui/Tabs.js +130 -0
  88. package/dist/esm/ui/Tabs.js.map +6 -0
  89. package/dist/esm/ui/Tabs.mjs +149 -0
  90. package/dist/esm/ui/Tabs.mjs.map +1 -0
  91. package/dist/esm/ui/Tabs.native.js +162 -0
  92. package/dist/esm/ui/Tabs.native.js.map +1 -0
  93. package/dist/esm/ui/common.js +133 -0
  94. package/dist/esm/ui/common.js.map +6 -0
  95. package/dist/esm/ui/common.mjs +135 -0
  96. package/dist/esm/ui/common.mjs.map +1 -0
  97. package/dist/esm/ui/common.native.js +195 -0
  98. package/dist/esm/ui/common.native.js.map +1 -0
  99. package/dist/esm/ui/index.js +2 -0
  100. package/dist/esm/ui/index.js.map +6 -0
  101. package/dist/esm/ui/index.mjs +2 -0
  102. package/dist/esm/ui/index.mjs.map +1 -0
  103. package/dist/esm/ui/index.native.js +2 -0
  104. package/dist/esm/ui/index.native.js.map +1 -0
  105. package/dist/esm/ui/useComponent.js +22 -0
  106. package/dist/esm/ui/useComponent.js.map +6 -0
  107. package/dist/esm/ui/useComponent.mjs +23 -0
  108. package/dist/esm/ui/useComponent.mjs.map +1 -0
  109. package/dist/esm/ui/useComponent.native.js +27 -0
  110. package/dist/esm/ui/useComponent.native.js.map +1 -0
  111. package/package.json +18 -9
  112. package/src/ui/README.md +121 -0
  113. package/src/ui/Slot.tsx +34 -0
  114. package/src/ui/TabContext.tsx +115 -0
  115. package/src/ui/TabList.tsx +47 -0
  116. package/src/ui/TabRouter.tsx +79 -0
  117. package/src/ui/TabSlot.tsx +170 -0
  118. package/src/ui/TabTrigger.tsx +282 -0
  119. package/src/ui/Tabs.tsx +313 -0
  120. package/src/ui/common.tsx +277 -0
  121. package/src/ui/index.ts +1 -0
  122. package/src/ui/useComponent.tsx +42 -0
  123. package/types/ui/Slot.d.ts +6 -0
  124. package/types/ui/Slot.d.ts.map +1 -0
  125. package/types/ui/TabContext.d.ts +190 -0
  126. package/types/ui/TabContext.d.ts.map +1 -0
  127. package/types/ui/TabList.d.ts +25 -0
  128. package/types/ui/TabList.d.ts.map +1 -0
  129. package/types/ui/TabRouter.d.ts +103 -0
  130. package/types/ui/TabRouter.d.ts.map +1 -0
  131. package/types/ui/TabSlot.d.ts +73 -0
  132. package/types/ui/TabSlot.d.ts.map +1 -0
  133. package/types/ui/TabTrigger.d.ts +88 -0
  134. package/types/ui/TabTrigger.d.ts.map +1 -0
  135. package/types/ui/Tabs.d.ts +255 -0
  136. package/types/ui/Tabs.d.ts.map +1 -0
  137. package/types/ui/common.d.ts +40 -0
  138. package/types/ui/common.d.ts.map +1 -0
  139. package/types/ui/index.d.ts +2 -0
  140. package/types/ui/index.d.ts.map +1 -0
  141. package/types/ui/useComponent.d.ts +10 -0
  142. package/types/ui/useComponent.d.ts.map +1 -0
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var useComponent_exports = {};
22
+ __export(useComponent_exports, {
23
+ useComponent: () => useComponent
24
+ });
25
+ module.exports = __toCommonJS(useComponent_exports);
26
+ var import_react = require("react"),
27
+ import_jsx_runtime = require("react/jsx-runtime");
28
+ const NavigationContent = ({
29
+ render,
30
+ children
31
+ }) => render(children);
32
+ function useComponent(render) {
33
+ const renderRef = (0, import_react.useRef)(render);
34
+ return renderRef.current = render, (0, import_react.useEffect)(() => {
35
+ renderRef.current = null;
36
+ }), (0, import_react.useRef)((0, import_react.forwardRef)(({
37
+ children
38
+ }, _ref) => {
39
+ const render2 = renderRef.current;
40
+ if (render2 === null) throw new Error("The returned component must be rendered in the same render phase as the hook.");
41
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(NavigationContent, {
42
+ render: render2,
43
+ children
44
+ });
45
+ })).current;
46
+ }
@@ -0,0 +1,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var useComponent_exports = {};
16
+ __export(useComponent_exports, {
17
+ useComponent: () => useComponent
18
+ });
19
+ module.exports = __toCommonJS(useComponent_exports);
20
+ var import_react = require("react"), import_jsx_runtime = require("react/jsx-runtime");
21
+ const NavigationContent = ({ render, children }) => render(children);
22
+ function useComponent(render) {
23
+ const renderRef = (0, import_react.useRef)(render);
24
+ return renderRef.current = render, (0, import_react.useEffect)(() => {
25
+ renderRef.current = null;
26
+ }), (0, import_react.useRef)(
27
+ (0, import_react.forwardRef)(({ children }, _ref) => {
28
+ const render2 = renderRef.current;
29
+ if (render2 === null)
30
+ throw new Error(
31
+ "The returned component must be rendered in the same render phase as the hook."
32
+ );
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NavigationContent, { render: render2, children });
34
+ })
35
+ ).current;
36
+ }
37
+ //# sourceMappingURL=useComponent.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/useComponent.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwD,kBAsC3C;AA1Bb,MAAM,oBAAoB,CAAC,EAAE,QAAQ,SAAS,MACrC,OAAO,QAAQ;AAGjB,SAAS,aAAa,QAAgB;AAC3C,QAAM,gBAAY,qBAAsB,MAAM;AAK9C,mBAAU,UAAU,YAEpB,wBAAU,MAAM;AACd,cAAU,UAAU;AAAA,EACtB,CAAC,OAEM;AAAA,QACL,yBAAW,CAAC,EAAE,SAAS,GAAkC,SAAS;AAChE,YAAMA,UAAS,UAAU;AAEzB,UAAIA,YAAW;AACb,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAGF,aAAO,4CAAC,qBAAkB,QAAQA,SAAS,UAAS;AAAA,IACtD,CAAC;AAAA,EACH,EAAE;AACJ;",
5
+ "names": ["render"]
6
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var useComponent_exports = {};
24
+ __export(useComponent_exports, {
25
+ useComponent: () => useComponent
26
+ });
27
+ module.exports = __toCommonJS(useComponent_exports);
28
+ var import_jsx_runtime = require("react/jsx-runtime"),
29
+ import_react = require("react"),
30
+ NavigationContent = function (param) {
31
+ var {
32
+ render,
33
+ children
34
+ } = param;
35
+ return render(children);
36
+ };
37
+ function useComponent(render) {
38
+ var renderRef = (0, import_react.useRef)(render);
39
+ return renderRef.current = render, (0, import_react.useEffect)(function () {
40
+ renderRef.current = null;
41
+ }), (0, import_react.useRef)(/* @__PURE__ */(0, import_react.forwardRef)(function (param, _ref) {
42
+ var {
43
+ children
44
+ } = param,
45
+ _$render = renderRef.current;
46
+ if (_$render === null) throw new Error("The returned component must be rendered in the same render phase as the hook.");
47
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(NavigationContent, {
48
+ render: _$render,
49
+ children
50
+ });
51
+ })).current;
52
+ }
53
+ //# sourceMappingURL=useComponent.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useComponent_exports","__export","useComponent","module","exports","import_jsx_runtime","require","import_react","NavigationContent","param","render","children","renderRef","useRef","current","useEffect","forwardRef","_ref","_$render","Error","jsx"],"sources":["../../../src/ui/useComponent.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAwD,CAAAK,oBAsC3C;AA1Bb,IAAAK,kBAAM,GAAAC,OAAuB,oBACpB;EAAAC,YAAe,GAAAD,OAAA;EAAAE,iBAAA,YAAAA,CAAAC,KAAA;IAGjB;MAAAC,MAAS;MAAAC;IAAa,IAAAF,KAAgB;IAC3C,OAAMC,MAAA,CAAAC,QAAY;EAKlB;AAGE,SAAAT,YAAUA,CAAAQ,MAAU;EACtB,IAACE,SAEM,OAAAL,YAAA,CAAAM,MAAA,EAAAH,MAAA;EAAA,OACLE,SAAA,CAAAE,OAAA,GAAAJ,MAAY,EAAE,IAAAH,YAA2C,CAAAQ,SAAS;IAChEH,SAAM,CAAAE,OAAA,GAAS;EAEf,QAAIP,YAAW,CAAAM,MAAA,qBAAAN,YAAA,CAAAS,UAAA,YAAAP,KAAA,EAAAQ,IAAA;IACb;QAAAN;MAAU,IAAAF,KAAA;MAAAS,QAAA,GAAAN,SAAA,CAAAE,OAAA;IAAA,IAAAI,QACR,iBACF,IAAAC,KAAA;IAGF,sBAAO,IAAAd,kBAAA,CAAAe,GAAA,EAAAZ,iBAAC;MACTE,MAAA,EAAAQ,QAAA;MACDP;IACJ","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { Slot as RUISlot } from "@radix-ui/react-slot";
2
+ import {
3
+ forwardRef,
4
+ useMemo
5
+ } from "react";
6
+ import { StyleSheet } from "react-native-web";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function ShimSlotForReactNative(Component) {
9
+ return forwardRef(function({ style, ...props }, ref) {
10
+ return style = useMemo(() => StyleSheet.flatten(style), [style]), /* @__PURE__ */ jsx(Component, { ref, ...props, style });
11
+ });
12
+ }
13
+ const Slot = ShimSlotForReactNative(RUISlot);
14
+ export {
15
+ Slot
16
+ };
17
+ //# sourceMappingURL=Slot.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/Slot.tsx"],
4
+ "mappings": "AAAA,SAAS,QAAQ,eAAe;AAChC;AAAA,EACE;AAAA,EACA;AAAA,OAIK;AACP,SAAS,kBAAkC;AAkBhC;AAHX,SAAS,uBAAuB,WAA2C;AACzE,SAAO,WAAW,SAAmB,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK;AAC7D,mBAAQ,QAAQ,MAAM,WAAW,QAAQ,KAAK,GAAG,CAAC,KAAK,CAAC,GACjD,oBAAC,aAAU,KAAW,GAAG,OAAO,OAAc;AAAA,EACvD,CAAC;AACH;AAKO,MAAM,OAAa,uBAAuB,OAAO;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { Slot as RUISlot } from "@radix-ui/react-slot";
2
+ import { forwardRef, useMemo } from "react";
3
+ import { StyleSheet } from "react-native-web";
4
+ import { jsx } from "react/jsx-runtime";
5
+ function ShimSlotForReactNative(Component) {
6
+ return forwardRef(function ({
7
+ style,
8
+ ...props
9
+ }, ref) {
10
+ return style = useMemo(() => StyleSheet.flatten(style), [style]), /* @__PURE__ */jsx(Component, {
11
+ ref,
12
+ ...props,
13
+ style
14
+ });
15
+ });
16
+ }
17
+ const Slot = ShimSlotForReactNative(RUISlot);
18
+ export { Slot };
19
+ //# sourceMappingURL=Slot.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Slot","RUISlot","forwardRef","useMemo","StyleSheet","jsx","ShimSlotForReactNative","Component","style","props","ref","flatten"],"sources":["../../../src/ui/Slot.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,IAAQC,OAAA,QAAe;AAChC,SACEC,UAAA,EACAC,OAAA,QAIK;AACP,SAASC,UAAA,QAAkC;AAkBhC,SAAAC,GAAA;AAHX,SAASC,uBAAuBC,SAAA,EAA2C;EACzE,OAAOL,UAAA,CAAW,UAAmB;IAAEM,KAAA;IAAO,GAAGC;EAAM,GAAGC,GAAA,EAAK;IAC7D,OAAAF,KAAA,GAAQL,OAAA,CAAQ,MAAMC,UAAA,CAAWO,OAAA,CAAQH,KAAK,GAAG,CAACA,KAAK,CAAC,GACjD,eAAAH,GAAA,CAACE,SAAA;MAAUG,GAAA;MAAW,GAAGD,KAAA;MAAOD;IAAA,CAAc;EACvD,CAAC;AACH;AAKO,MAAMR,IAAA,GAAaM,sBAAA,CAAuBL,OAAO","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot as RUISlot } from "@radix-ui/react-slot";
3
+ import { forwardRef, useMemo } from "react";
4
+ import { StyleSheet } from "react-native";
5
+ function ShimSlotForReactNative(Component) {
6
+ return /* @__PURE__ */forwardRef(function (param, ref) {
7
+ var {
8
+ style,
9
+ ...props
10
+ } = param;
11
+ return style = useMemo(function () {
12
+ return StyleSheet.flatten(style);
13
+ }, [style]), /* @__PURE__ */_jsx(Component, {
14
+ ref,
15
+ ...props,
16
+ style
17
+ });
18
+ });
19
+ }
20
+ var Slot = ShimSlotForReactNative(RUISlot);
21
+ export { Slot };
22
+ //# sourceMappingURL=Slot.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Slot","RUISlot","forwardRef","useMemo","StyleSheet","ShimSlotForReactNative","Component","param","ref","style","props","flatten"],"sources":["../../../src/ui/Slot.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAQ,2BAAe;AAChC,SAAAC,IAAA,IAAAC,OAAA;AAAA,SACEC,UAAA,EAAAC,OAAA;AAAA,SACAC,UAAA;AAAA,SAIKC,uBAAAC,SAAA;EACP,OAAS,eAAAJ,UAAkC,WAAAK,KAAA,EAAAC,GAAA;IAkBhC;MAAAC,KAAA;MAAA,GAAAC;IAAA,IAAAH,KAAA;IAHX,OAASE,KAAA,GAAAN,OAAA,aAAuB;MAC9B,OAAOC,UAAW,CAAAO,OAAqB,CAAAF,KAAA,CAAO;IAC5C,IAEDA,KAAA,CACH,kBAAAV,IAAA,CAAAO,SAAA;MAKaE,GAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import { createContext } from "react";
2
+ const TabContext = createContext({}), TabTriggerMapContext = createContext({}), TabsDescriptorsContext = createContext({}), TabsNavigatorContext = createContext(null), TabsStateContext = createContext({
3
+ type: "tab",
4
+ preloadedRouteKeys: [],
5
+ history: [],
6
+ index: -1,
7
+ key: "",
8
+ stale: !1,
9
+ routeNames: [],
10
+ routes: []
11
+ });
12
+ export {
13
+ TabContext,
14
+ TabTriggerMapContext,
15
+ TabsDescriptorsContext,
16
+ TabsNavigatorContext,
17
+ TabsStateContext
18
+ };
19
+ //# sourceMappingURL=TabContext.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/TabContext.tsx"],
4
+ "mappings": "AAWA,SAAS,qBAAqB;AA2EvB,MAAM,aAAa,cAA+B,CAAC,CAAC,GAI9C,uBAAuB,cAA0B,CAAC,CAAC,GAInD,yBAAyB,cAA+C,CAAC,CAAC,GAI1E,uBAAuB,cAAqD,IAAI,GAIhF,mBAAmB,cAAyC;AAAA,EACvE,MAAM;AAAA,EACN,oBAAoB,CAAC;AAAA,EACrB,SAAS,CAAC;AAAA,EACV,OAAO;AAAA,EACP,KAAK;AAAA,EACL,OAAO;AAAA,EACP,YAAY,CAAC;AAAA,EACb,QAAQ,CAAC;AACX,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,17 @@
1
+ import { createContext } from "react";
2
+ const TabContext = createContext({}),
3
+ TabTriggerMapContext = createContext({}),
4
+ TabsDescriptorsContext = createContext({}),
5
+ TabsNavigatorContext = createContext(null),
6
+ TabsStateContext = createContext({
7
+ type: "tab",
8
+ preloadedRouteKeys: [],
9
+ history: [],
10
+ index: -1,
11
+ key: "",
12
+ stale: !1,
13
+ routeNames: [],
14
+ routes: []
15
+ });
16
+ export { TabContext, TabTriggerMapContext, TabsDescriptorsContext, TabsNavigatorContext, TabsStateContext };
17
+ //# sourceMappingURL=TabContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","TabContext","TabTriggerMapContext","TabsDescriptorsContext","TabsNavigatorContext","TabsStateContext","type","preloadedRouteKeys","history","index","key","stale","routeNames","routes"],"sources":["../../../src/ui/TabContext.tsx"],"sourcesContent":[null],"mappings":"AAWA,SAASA,aAAA,QAAqB;AA2EvB,MAAMC,UAAA,GAAaD,aAAA,CAA+B,CAAC,CAAC;EAI9CE,oBAAA,GAAuBF,aAAA,CAA0B,CAAC,CAAC;EAInDG,sBAAA,GAAyBH,aAAA,CAA+C,CAAC,CAAC;EAI1EI,oBAAA,GAAuBJ,aAAA,CAAqD,IAAI;EAIhFK,gBAAA,GAAmBL,aAAA,CAAyC;IACvEM,IAAA,EAAM;IACNC,kBAAA,EAAoB,EAAC;IACrBC,OAAA,EAAS,EAAC;IACVC,KAAA,EAAO;IACPC,GAAA,EAAK;IACLC,KAAA,EAAO;IACPC,UAAA,EAAY,EAAC;IACbC,MAAA,EAAQ;EACV,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { createContext } from "react";
2
+ var TabContext = /* @__PURE__ */createContext({}),
3
+ TabTriggerMapContext = /* @__PURE__ */createContext({}),
4
+ TabsDescriptorsContext = /* @__PURE__ */createContext({}),
5
+ TabsNavigatorContext = /* @__PURE__ */createContext(null),
6
+ TabsStateContext = /* @__PURE__ */createContext({
7
+ type: "tab",
8
+ preloadedRouteKeys: [],
9
+ history: [],
10
+ index: -1,
11
+ key: "",
12
+ stale: !1,
13
+ routeNames: [],
14
+ routes: []
15
+ });
16
+ export { TabContext, TabTriggerMapContext, TabsDescriptorsContext, TabsNavigatorContext, TabsStateContext };
17
+ //# sourceMappingURL=TabContext.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","TabContext","TabTriggerMapContext","TabsDescriptorsContext","TabsNavigatorContext","TabsStateContext","type","preloadedRouteKeys","history","index","key","stale","routeNames","routes"],"sources":["../../../src/ui/TabContext.tsx"],"sourcesContent":[null],"mappings":"AAWA,SAASA,aAAA,QAAqB;AA2EvB,IAAAC,UAAM,kBAA4CD,aAI5C;EAAAE,oBAAuB,GAA0B,eAIjDF,aAAA,CAAyB;EAAAG,sBAIzB,kBAAuBH,aAAqD,CAAI,GAIhF;EAAAI,oBAAmB,kBAAyCJ,aAAA;EAAAK,gBAAA,kBAAAL,aAAA;IACvEM,IAAA,EAAM;IACNC,kBAAA,EAAoB,EAAC;IACrBC,OAAA,EAAS,EAAC;IACVC,KAAA,EAAO;IACPC,GAAA,EAAK;IACLC,KAAA,EAAO;IACPC,UAAA,EAAY,EAAC;IACbC,MAAA,EAAQ;EACV,CAAC","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import { View, StyleSheet } from "react-native-web";
2
+ import { ViewSlot } from "./common";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function TabList({ asChild, style, ...props }) {
5
+ return /* @__PURE__ */ jsx(asChild ? ViewSlot : View, { style: [styles.tabList, style], ...props });
6
+ }
7
+ function isTabList(child) {
8
+ return child.type === TabList;
9
+ }
10
+ const styles = StyleSheet.create({
11
+ tabList: {
12
+ flexDirection: "row",
13
+ justifyContent: "space-between"
14
+ },
15
+ tabTrigger: {
16
+ flexDirection: "row",
17
+ justifyContent: "space-between"
18
+ }
19
+ });
20
+ export {
21
+ TabList,
22
+ isTabList
23
+ };
24
+ //# sourceMappingURL=TabList.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/TabList.tsx"],
4
+ "mappings": "AACA,SAAS,MAAM,kBAAkC;AAEjD,SAAS,gBAAgB;AAsBhB;AAFF,SAAS,QAAQ,EAAE,SAAS,OAAO,GAAG,MAAM,GAAiB;AAElE,SAAO,oBADM,UAAU,WAAW,MAC1B,EAAK,OAAO,CAAC,OAAO,SAAS,KAAK,GAAI,GAAG,OAAO;AAC1D;AAKO,SAAS,UACd,OACuD;AACvD,SAAO,MAAM,SAAS;AACxB;AAEA,MAAM,SAAS,WAAW,OAAO;AAAA,EAC/B,SAAS;AAAA,IACP,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB;AAAA,EACA,YAAY;AAAA,IACV,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB;AACF,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,28 @@
1
+ import { View, StyleSheet } from "react-native-web";
2
+ import { ViewSlot } from "./common.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function TabList({
5
+ asChild,
6
+ style,
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */jsx(asChild ? ViewSlot : View, {
10
+ style: [styles.tabList, style],
11
+ ...props
12
+ });
13
+ }
14
+ function isTabList(child) {
15
+ return child.type === TabList;
16
+ }
17
+ const styles = StyleSheet.create({
18
+ tabList: {
19
+ flexDirection: "row",
20
+ justifyContent: "space-between"
21
+ },
22
+ tabTrigger: {
23
+ flexDirection: "row",
24
+ justifyContent: "space-between"
25
+ }
26
+ });
27
+ export { TabList, isTabList };
28
+ //# sourceMappingURL=TabList.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","StyleSheet","ViewSlot","jsx","TabList","asChild","style","props","styles","tabList","isTabList","child","type","create","flexDirection","justifyContent","tabTrigger"],"sources":["../../../src/ui/TabList.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,IAAA,EAAMC,UAAA,QAAkC;AAEjD,SAASC,QAAA,QAAgB;AAsBhB,SAAAC,GAAA;AAFF,SAASC,QAAQ;EAAEC,OAAA;EAASC,KAAA;EAAO,GAAGC;AAAM,GAAiB;EAElE,OAAO,eAAAJ,GAAA,CADME,OAAA,GAAUH,QAAA,GAAWF,IAAA,EAC1B;IAAKM,KAAA,EAAO,CAACE,MAAA,CAAOC,OAAA,EAASH,KAAK;IAAI,GAAGC;EAAA,CAAO;AAC1D;AAKO,SAASG,UACdC,KAAA,EACuD;EACvD,OAAOA,KAAA,CAAMC,IAAA,KAASR,OAAA;AACxB;AAEA,MAAMI,MAAA,GAASP,UAAA,CAAWY,MAAA,CAAO;EAC/BJ,OAAA,EAAS;IACPK,aAAA,EAAe;IACfC,cAAA,EAAgB;EAClB;EACAC,UAAA,EAAY;IACVF,aAAA,EAAe;IACfC,cAAA,EAAgB;EAClB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { View, StyleSheet } from "react-native";
3
+ import { ViewSlot } from "./common.native.js";
4
+ function TabList(param) {
5
+ var {
6
+ asChild,
7
+ style,
8
+ ...props
9
+ } = param,
10
+ Comp = asChild ? ViewSlot : View;
11
+ return /* @__PURE__ */_jsx(Comp, {
12
+ style: [styles.tabList, style],
13
+ ...props
14
+ });
15
+ }
16
+ function isTabList(child) {
17
+ return child.type === TabList;
18
+ }
19
+ var styles = StyleSheet.create({
20
+ tabList: {
21
+ flexDirection: "row",
22
+ justifyContent: "space-between"
23
+ },
24
+ tabTrigger: {
25
+ flexDirection: "row",
26
+ justifyContent: "space-between"
27
+ }
28
+ });
29
+ export { TabList, isTabList };
30
+ //# sourceMappingURL=TabList.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","View","StyleSheet","ViewSlot","TabList","param","asChild","style","props","Comp","styles","tabList","isTabList","child","type","create","flexDirection"],"sources":["../../../src/ui/TabList.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAMC,IAAA,2BAAkC;AAEjD,SAASC,IAAA,EAAAC,UAAgB;AAsBhB,SAAAC,QAAA;AAFF,SAASC,QAAQC,KAAE;EAExB;MAAAC,OAAO;MAAAC,KAAA;MAAA,GAAAC;IADM,IAAAH,KAAU;IAAAI,IAAA,GAAWH,OACrB,GAAAH,QAAQ,GAAAF,IAAO;EAC9B,sBAAAD,IAAA,CAAAS,IAAA;IAKOF,KAAS,GAGdG,MAAO,CAAAC,OAAM,EACfJ,KAAA,CAEA;IACE,GAAAC;EAAS,EACP;AAAe;AACC,SAClBI,UAAAC,KAAA;EACA,OAAAA,KAAY,CAAAC,IAAA,KAAAV,OAAA;AAAA;AACK,IACfM,MAAA,GAAAR,UAAgB,CAAAa,MAAA;EAClBJ,OAAA;IACDK,aAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import {
2
+ TabRouter as RNTabRouter
3
+ } from "@react-navigation/native";
4
+ function ExpoTabRouter(options) {
5
+ const rnTabRouter = RNTabRouter(options);
6
+ return {
7
+ ...rnTabRouter,
8
+ getStateForAction(state, action, options2) {
9
+ if (action.type !== "JUMP_TO")
10
+ return rnTabRouter.getStateForAction(state, action, options2);
11
+ const route = state.routes.find((route2) => route2.name === action.payload.name);
12
+ if (!route)
13
+ return null;
14
+ let shouldReset = !state.history.some((item) => item.key === route?.key) && !route.state;
15
+ return !shouldReset && "resetOnFocus" in action.payload && action.payload.resetOnFocus && (shouldReset = state.routes[state.index].key !== route.key), shouldReset ? (options2.routeParamList[route.name] = {
16
+ ...options2.routeParamList[route.name]
17
+ }, state = {
18
+ ...state,
19
+ routes: state.routes.map((r) => r.key !== route.key ? r : { ...r, state: void 0 })
20
+ }, rnTabRouter.getStateForAction(state, action, options2)) : rnTabRouter.getStateForRouteFocus(state, route.key);
21
+ }
22
+ };
23
+ }
24
+ export {
25
+ ExpoTabRouter
26
+ };
27
+ //# sourceMappingURL=TabRouter.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/TabRouter.tsx"],
4
+ "mappings": "AAAA;AAAA,EAGE,aAAa;AAAA,OAKR;AAsBA,SAAS,cAAc,SAA+B;AAC3D,QAAM,cAAc,YAAY,OAAO;AA8CvC,SAzCI;AAAA,IACF,GAAG;AAAA,IACH,kBAAkB,OAAO,QAAQA,UAAS;AACxC,UAAI,OAAO,SAAS;AAClB,eAAO,YAAY,kBAAkB,OAAO,QAAQA,QAAO;AAG7D,YAAM,QAAQ,MAAM,OAAO,KAAK,CAACC,WAAUA,OAAM,SAAS,OAAO,QAAQ,IAAI;AAE7E,UAAI,CAAC;AAEH,eAAO;AAIT,UAAI,cAAc,CAAC,MAAM,QAAQ,KAAK,CAAC,SAAS,KAAK,QAAQ,OAAO,GAAG,KAAK,CAAC,MAAM;AAMnF,aAJI,CAAC,eAAe,kBAAkB,OAAO,WAAW,OAAO,QAAQ,iBACrE,cAAc,MAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,MAAM,MAGpD,eACFD,SAAQ,eAAe,MAAM,IAAI,IAAI;AAAA,QACnC,GAAGA,SAAQ,eAAe,MAAM,IAAI;AAAA,MACtC,GACA,QAAQ;AAAA,QACN,GAAG;AAAA,QACH,QAAQ,MAAM,OAAO,IAAI,CAAC,MACpB,EAAE,QAAQ,MAAM,MACX,IAEF,EAAE,GAAG,GAAG,OAAO,OAAU,CACjC;AAAA,MACH,GACO,YAAY,kBAAkB,OAAO,QAAQA,QAAO,KAEpD,YAAY,sBAAsB,OAAO,MAAM,GAAG;AAAA,IAE7D;AAAA,EACF;AAGF;",
5
+ "names": ["options", "route"]
6
+ }
@@ -0,0 +1,24 @@
1
+ import { TabRouter as RNTabRouter } from "@react-navigation/native";
2
+ function ExpoTabRouter(options) {
3
+ const rnTabRouter = RNTabRouter(options);
4
+ return {
5
+ ...rnTabRouter,
6
+ getStateForAction(state, action, options2) {
7
+ if (action.type !== "JUMP_TO") return rnTabRouter.getStateForAction(state, action, options2);
8
+ const route = state.routes.find(route2 => route2.name === action.payload.name);
9
+ if (!route) return null;
10
+ let shouldReset = !state.history.some(item => item.key === route?.key) && !route.state;
11
+ return !shouldReset && "resetOnFocus" in action.payload && action.payload.resetOnFocus && (shouldReset = state.routes[state.index].key !== route.key), shouldReset ? (options2.routeParamList[route.name] = {
12
+ ...options2.routeParamList[route.name]
13
+ }, state = {
14
+ ...state,
15
+ routes: state.routes.map(r => r.key !== route.key ? r : {
16
+ ...r,
17
+ state: void 0
18
+ })
19
+ }, rnTabRouter.getStateForAction(state, action, options2)) : rnTabRouter.getStateForRouteFocus(state, route.key);
20
+ }
21
+ };
22
+ }
23
+ export { ExpoTabRouter };
24
+ //# sourceMappingURL=TabRouter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TabRouter","RNTabRouter","ExpoTabRouter","options","rnTabRouter","getStateForAction","state","action","options2","type","route","routes","find","route2","name","payload","shouldReset","history","some","item","key","resetOnFocus","index","routeParamList","map","r","getStateForRouteFocus"],"sources":["../../../src/ui/TabRouter.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,SAAA,IAAaC,WAAA,QAKR;AAsBA,SAASC,cAAcC,OAAA,EAA+B;EAC3D,MAAMC,WAAA,GAAcH,WAAA,CAAYE,OAAO;EA8CvC,OAzCI;IACF,GAAGC,WAAA;IACHC,kBAAkBC,KAAA,EAAOC,MAAA,EAAQC,QAAA,EAAS;MACxC,IAAID,MAAA,CAAOE,IAAA,KAAS,WAClB,OAAOL,WAAA,CAAYC,iBAAA,CAAkBC,KAAA,EAAOC,MAAA,EAAQC,QAAO;MAG7D,MAAME,KAAA,GAAQJ,KAAA,CAAMK,MAAA,CAAOC,IAAA,CAAMC,MAAA,IAAUA,MAAA,CAAMC,IAAA,KAASP,MAAA,CAAOQ,OAAA,CAAQD,IAAI;MAE7E,IAAI,CAACJ,KAAA,EAEH,OAAO;MAIT,IAAIM,WAAA,GAAc,CAACV,KAAA,CAAMW,OAAA,CAAQC,IAAA,CAAMC,IAAA,IAASA,IAAA,CAAKC,GAAA,KAAQV,KAAA,EAAOU,GAAG,KAAK,CAACV,KAAA,CAAMJ,KAAA;MAMnF,OAJI,CAACU,WAAA,IAAe,kBAAkBT,MAAA,CAAOQ,OAAA,IAAWR,MAAA,CAAOQ,OAAA,CAAQM,YAAA,KACrEL,WAAA,GAAcV,KAAA,CAAMK,MAAA,CAAOL,KAAA,CAAMgB,KAAK,EAAEF,GAAA,KAAQV,KAAA,CAAMU,GAAA,GAGpDJ,WAAA,IACFR,QAAA,CAAQe,cAAA,CAAeb,KAAA,CAAMI,IAAI,IAAI;QACnC,GAAGN,QAAA,CAAQe,cAAA,CAAeb,KAAA,CAAMI,IAAI;MACtC,GACAR,KAAA,GAAQ;QACN,GAAGA,KAAA;QACHK,MAAA,EAAQL,KAAA,CAAMK,MAAA,CAAOa,GAAA,CAAKC,CAAA,IACpBA,CAAA,CAAEL,GAAA,KAAQV,KAAA,CAAMU,GAAA,GACXK,CAAA,GAEF;UAAE,GAAGA,CAAA;UAAGnB,KAAA,EAAO;QAAU,CACjC;MACH,GACOF,WAAA,CAAYC,iBAAA,CAAkBC,KAAA,EAAOC,MAAA,EAAQC,QAAO,KAEpDJ,WAAA,CAAYsB,qBAAA,CAAsBpB,KAAA,EAAOI,KAAA,CAAMU,GAAG;IAE7D;EACF;AAGF","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { TabRouter as RNTabRouter } from "@react-navigation/native";
2
+ function ExpoTabRouter(options) {
3
+ var rnTabRouter = RNTabRouter(options),
4
+ router = {
5
+ ...rnTabRouter,
6
+ getStateForAction(state, action, options2) {
7
+ if (action.type !== "JUMP_TO") return rnTabRouter.getStateForAction(state, action, options2);
8
+ var route = state.routes.find(function (route2) {
9
+ return route2.name === action.payload.name;
10
+ });
11
+ if (!route) return null;
12
+ var shouldReset = !state.history.some(function (item) {
13
+ return item.key === route?.key;
14
+ }) && !route.state;
15
+ return !shouldReset && "resetOnFocus" in action.payload && action.payload.resetOnFocus && (shouldReset = state.routes[state.index].key !== route.key), shouldReset ? (options2.routeParamList[route.name] = {
16
+ ...options2.routeParamList[route.name]
17
+ }, state = {
18
+ ...state,
19
+ routes: state.routes.map(function (r) {
20
+ return r.key !== route.key ? r : {
21
+ ...r,
22
+ state: void 0
23
+ };
24
+ })
25
+ }, rnTabRouter.getStateForAction(state, action, options2)) : rnTabRouter.getStateForRouteFocus(state, route.key);
26
+ }
27
+ };
28
+ return router;
29
+ }
30
+ export { ExpoTabRouter };
31
+ //# sourceMappingURL=TabRouter.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TabRouter","RNTabRouter","ExpoTabRouter","options","rnTabRouter","router","getStateForAction","state","action","options2","type","route","routes","find","route2","name","payload","shouldReset","history","some","item","key","resetOnFocus","index","routeParamList","map","r"],"sources":["../../../src/ui/TabRouter.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,SAAA,IAAAC,WAAA;AAAA,SAGEC,aAAaA,CAAAC,OAAA;EAAA,IAAAC,WAKR,GAAAH,WAAA,CAAAE,OAAA;IAAAE,MAAA;MAsBA,GAAAD,WAAS;MACdE,iBAAMA,CAAcC,KAAA,EAAAC,MAAY,EAAAC,QAAO;QA8CvC,IAzCID,MAAA,CAAAE,IAAA,gBACC,OAAAN,WAAA,CAAAE,iBAAA,CAAAC,KAAA,EAAAC,MAAA,EAAAC,QAAA;QACH,IAAAE,KAAA,GAAAJ,KAAkB,CAAAK,MAAO,CAAAC,IAAA,WAAQC,MAAS;UACxC,OAAIA,MAAO,CAAAC,IAAS,KAAAP,MAAA,CAAAQ,OAAA,CAAAD,IAAA;QAClB;QAGF,KAAAJ,KAAM,EAEN,OAAK;QAEH,IAAAM,WAAO,IAAAV,KAAA,CAAAW,OAAA,CAAAC,IAAA,WAAAC,IAAA;UAIT,OAAIA,IAAA,CAAAC,GAAA,KAAeV,KAAM,EAAAU,GAAA;QAMzB,OAJIV,KAAC,CAAAJ,KAAA;QAKkC,OAChC,CAAAU,WAAQ,kBAAqB,IAAIT,MAAA,CAAAQ,OAAA,IAAAR,MAAA,CAAAQ,OAAA,CAAAM,YAAA,KAAAL,WAAA,GAAAV,KAAA,CAAAK,MAAA,CAAAL,KAAA,CAAAgB,KAAA,EAAAF,GAAA,KAAAV,KAAA,CAAAU,GAAA,GAAAJ,WAAA,IAAAR,QAAA,CAAAe,cAAA,CAAAb,KAAA,CAAAI,IAAA;UACtC,GACAN,QAAQ,CAAAe,cAAA,CAAAb,KAAA,CAAAI,IAAA;QAAA,GACNR,KAAG;UACH,GAAAA,KAAQ;UAMVK,MACO,EAAAL,KAAY,CAAAK,MAAA,CAAAa,GAAA,WAAkBC,CAAA;YAIzC,OAAAA,CAAA,CAAAL,GAAA,KAAAV,KAAA,CAAAU,GAAA,GAAAK,CAAA;cACF,GAAAA,CAAA;cAGFnB,KAAA","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ import { useState } from "react";
2
+ import { Platform, StyleSheet } from "react-native-web";
3
+ import { ScreenContainer, Screen } from "react-native-screens";
4
+ import { TabContext } from "./TabContext";
5
+ import { useNavigatorContext } from "../views/Navigator";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function useTabSlot({
8
+ detachInactiveScreens = ["android", "ios", "web"].includes(Platform.OS),
9
+ style,
10
+ renderFn = defaultTabsSlotRender
11
+ } = {}) {
12
+ const { state, descriptors } = useNavigatorContext(), focusedRouteKey = state.routes[state.index].key, [loaded, setLoaded] = useState({ [focusedRouteKey]: !0 });
13
+ return loaded[focusedRouteKey] || setLoaded({ ...loaded, [focusedRouteKey]: !0 }), /* @__PURE__ */ jsx(
14
+ ScreenContainer,
15
+ {
16
+ enabled: detachInactiveScreens,
17
+ hasTwoStates: !0,
18
+ style: [styles.screenContainer, style],
19
+ children: state.routes.map((route, index) => {
20
+ const descriptor = descriptors[route.key];
21
+ return /* @__PURE__ */ jsx(TabContext.Provider, { value: descriptor.options, children: renderFn(descriptor, {
22
+ index,
23
+ isFocused: state.index === index,
24
+ loaded: loaded[route.key],
25
+ detachInactiveScreens
26
+ }) }, descriptor.route.key);
27
+ })
28
+ }
29
+ );
30
+ }
31
+ function TabSlot(props) {
32
+ return useTabSlot(props);
33
+ }
34
+ function defaultTabsSlotRender(descriptor, { isFocused, loaded, detachInactiveScreens }) {
35
+ const { lazy = !0, unmountOnBlur, freezeOnBlur } = descriptor.options;
36
+ return unmountOnBlur && !isFocused || lazy && !loaded && !isFocused ? null : /* @__PURE__ */ jsx(
37
+ Screen,
38
+ {
39
+ enabled: detachInactiveScreens,
40
+ activityState: isFocused ? 2 : 0,
41
+ freezeOnBlur,
42
+ style: [styles.screen, isFocused ? styles.focused : styles.unfocused],
43
+ children: descriptor.render()
44
+ },
45
+ descriptor.route.key
46
+ );
47
+ }
48
+ function isTabSlot(child) {
49
+ return child.type === TabSlot;
50
+ }
51
+ const styles = StyleSheet.create({
52
+ screen: {
53
+ flex: 1,
54
+ position: "relative",
55
+ height: "100%"
56
+ },
57
+ screenContainer: {
58
+ flexShrink: 0,
59
+ flexGrow: 1
60
+ },
61
+ focused: {
62
+ zIndex: 1,
63
+ display: "flex",
64
+ flexShrink: 0,
65
+ flexGrow: 1
66
+ },
67
+ unfocused: {
68
+ zIndex: -1,
69
+ display: "none",
70
+ flexShrink: 1,
71
+ flexGrow: 0
72
+ }
73
+ });
74
+ export {
75
+ TabSlot,
76
+ defaultTabsSlotRender,
77
+ isTabSlot,
78
+ useTabSlot
79
+ };
80
+ //# sourceMappingURL=TabSlot.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ui/TabSlot.tsx"],
4
+ "mappings": "AAAA,SAAiD,gBAAgB;AACjE,SAAS,UAAU,kBAAkB;AACrC,SAAS,iBAAiB,cAAc;AAExC,SAAS,kBAAuC;AAEhD,SAAS,2BAA2B;AAsE1B;AAvBH,SAAS,WAAW;AAAA,EACzB,wBAAwB,CAAC,WAAW,OAAO,KAAK,EAAE,SAAS,SAAS,EAAE;AAAA,EACtE;AAAA,EACA,WAAW;AACb,IAAkB,CAAC,GAAG;AACpB,QAAM,EAAE,OAAO,YAAY,IAAI,oBAAoB,GAC7C,kBAAkB,MAAM,OAAO,MAAM,KAAK,EAAE,KAC5C,CAAC,QAAQ,SAAS,IAAI,SAAS,EAAE,CAAC,eAAe,GAAG,GAAK,CAAC;AAEhE,SAAK,OAAO,eAAe,KACzB,UAAU,EAAE,GAAG,QAAQ,CAAC,eAAe,GAAG,GAAK,CAAC,GAIhD;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,cAAY;AAAA,MACZ,OAAO,CAAC,OAAO,iBAAiB,KAAK;AAAA,MAEpC,gBAAM,OAAO,IAAI,CAAC,OAAO,UAAU;AAClC,cAAM,aAAa,YAAY,MAAM,GAAG;AAExC,eACE,oBAAC,WAAW,UAAX,EAA+C,OAAO,WAAW,SAC/D,mBAAS,YAAY;AAAA,UACpB;AAAA,UACA,WAAW,MAAM,UAAU;AAAA,UAC3B,QAAQ,OAAO,MAAM,GAAG;AAAA,UACxB;AAAA,QACF,CAAC,KANuB,WAAW,MAAM,GAO3C;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;AAiBO,SAAS,QAAQ,OAAqB;AAC3C,SAAO,WAAW,KAAK;AACzB;AAKO,SAAS,sBACd,YACA,EAAE,WAAW,QAAQ,sBAAsB,GAC3C;AACA,QAAM,EAAE,OAAO,IAAM,eAAe,aAAa,IAAI,WAAW;AAMhE,SAJI,iBAAiB,CAAC,aAIlB,QAAQ,CAAC,UAAU,CAAC,YAEf,OAIP;AAAA,IAAC;AAAA;AAAA,MAEC,SAAS;AAAA,MACT,eAAe,YAAY,IAAI;AAAA,MAC/B;AAAA,MACA,OAAO,CAAC,OAAO,QAAQ,YAAY,OAAO,UAAU,OAAO,SAAS;AAAA,MAEnE,qBAAW,OAAO;AAAA;AAAA,IANd,WAAW,MAAM;AAAA,EAOxB;AAEJ;AAKO,SAAS,UAAU,OAA+D;AACvF,SAAO,MAAM,SAAS;AACxB;AAEA,MAAM,SAAS,WAAW,OAAO;AAAA,EAC/B,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AACF,CAAC;",
5
+ "names": []
6
+ }