@mbrain/epic-react-native-lib 0.0.9 → 0.0.11
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/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var se=Object.create;var
|
|
1
|
+
"use strict";var se=Object.create;var k=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty;var ue=(e,t)=>{for(var r in t)k(e,r,{get:t[r],enumerable:!0})},B=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of le(t))!me.call(e,n)&&n!==r&&k(e,n,{get:()=>t[n],enumerable:!(o=ce(t,n))||o.enumerable});return e};var d=(e,t,r)=>(r=e!=null?se(de(e)):{},B(t||!e||!e.__esModule?k(r,"default",{value:e,enumerable:!0}):r,e)),Se=e=>B(k({},"__esModule",{value:!0}),e);var he={};ue(he,{Box1:()=>E,ScreenContent:()=>Y,createLocalStorage:()=>j,useAndroidNavigationBar:()=>F,useLogRouteChange:()=>_,useOrientation:()=>M,useThemeNativewind4:()=>oe});module.exports=Se(he);var h=d(require("react"),1),y=require("react-native");function E({style:e,children:t}){let[r,o]=(0,h.useState)(0);return h.default.createElement(y.View,{style:e},h.default.createElement(y.Text,{style:ye.text,onPress:()=>{o(n=>n+1)}},"Box1 ",r),t)}var ye=y.StyleSheet.create({text:{fontSize:20,padding:15,borderRadius:10,color:"#ffffff",backgroundColor:"#0a234a"}});var C=require("react"),p=d(require("expo-screen-orientation"),1);function M(){let[e,t]=(0,C.useState)({orientation:void 0,orientationLock:void 0});return(0,C.useEffect)(()=>{Promise.all([p.getOrientationAsync(),p.getOrientationLockAsync()]).then(([o,n])=>{t({orientation:o,orientationLock:n})});let r=p.addOrientationChangeListener(o=>{t({orientation:o.orientationInfo.orientation,orientationLock:o.orientationLock})});return()=>r.remove()},[]),e}var H=d(require("react"),1),T=require("react-native"),m=d(require("expo-navigation-bar"),1);function F(e){let t=(0,T.useColorScheme)();H.default.useEffect(()=>{if(T.Platform.OS!=="android")return;m.setStyle(t==="dark"?"dark":"light");let r=t==="dark"?e==null?void 0:e.dark:e==null?void 0:e.light;if(!r)return;(async()=>{let n=[];r.backgroundColor&&(m.setBackgroundColorAsync(r.backgroundColor),n.push(m.setBackgroundColorAsync(r.backgroundColor))),r.borderColor&&n.push(m.setBorderColorAsync(r.borderColor)),n.length&&await Promise.all(n)})()},[t,e==null?void 0:e.dark,e==null?void 0:e.light])}var $=require("react"),x=require("react-native-mmkv");function j({defaults:e,storage:t=(0,x.createMMKV)()}){let r=a=>{try{let s=t.getString(String(a));return s!==void 0?JSON.parse(s):e[a]}catch(s){return console.warn(s),e[a]}};return{useLocalStorage:a=>{let[s,l]=(0,$.useState)(()=>r(a));return(0,x.useMMKVListener)(K=>{String(a)===K&&l(r(a))},t),s},setLocalStorage:(a,s)=>{try{let l=JSON.stringify(s);t.set(String(a),l)}catch(l){console.warn(l)}},getLocalStorage:a=>r(a),removeLocalStorage:a=>{try{t.remove(String(a))}catch(s){console.warn(s)}},clearAllLocalStorage:()=>{try{t.clearAll()}catch(a){console.warn(a)}},storage:t}}var D=d(require("react"),1),I=require("expo-router"),G=d(require("lodash/isEmpty"),1);function _(){let e=(0,I.useNavigationContainerRef)();D.default.useEffect(()=>{if(__DEV__)return e.addListener("state",()=>{let r=e.getState(),o=J(r);o&&((0,G.default)(o.params)?console.log(`ROUTE CHANGED : ${o.name}`):console.log(`ROUTE CHANGED : ${o.name}`,o.params))})},[e])}function J(e){var t;if(!e)return null;if(e.routes&&e.routes.length>0){let r=(t=e.index)!=null?t:0,o=e.routes[r];if(!o)return null;if(o.state){let n=J(o.state);if(n)return n}return{name:o.name,params:o.params}}return null}var u=d(require("react"),1),S=require("react-native"),q=require("nativewind"),Q=require("react-native-safe-area-context"),X=require("react-native-keyboard-controller");var f=d(require("react"),1),b=require("react-native"),L=require("@react-navigation/elements");function V(e){return(0,f.useMemo)(()=>e?typeof e=="function"?f.default.createElement(e,null):e:null,[e])}function U(e,t){let r=(0,L.useHeaderHeight)();return(0,f.useMemo)(()=>{let o=b.StyleSheet.flatten(e),n=o==null?void 0:o.padding,c=o==null?void 0:o.paddingTop,i=typeof c=="number"?c:typeof n=="number"?n:void 0;return t&&(i=(i!=null?i:0)+r),[W.flex,e,{paddingTop:i}]},[r,t,e])}function z(e,t){let r=(0,L.useHeaderHeight)();return(0,f.useMemo)(()=>{let o=b.StyleSheet.flatten(e),n=o==null?void 0:o.padding,c=o==null?void 0:o.paddingTop,i=typeof c=="number"?c:typeof n=="number"?n:void 0;return t&&(i=(i!=null?i:0)+r),[W.scrollContentStyle,e,{paddingTop:i}]},[e,r,t])}var W=b.StyleSheet.create({flex:{flex:1},scrollContentStyle:{flexGrow:1}});var pe=u.default.memo(function({scroll:t=!1,edges:r=[],headerTransparent:o=!1,scrollViewProps:n,scrollRef:c,style:i={},contentContainerStyle:g={},backgroundStyle:a={},HeaderComponent:s,FooterComponent:l,BackgroundComponent:K,children:O}){let re=U(i,o),ne=z(g,o),ae=V(s),ie=V(l),A=V(K);return u.default.createElement(S.View,{style:[w.flex,a]},A&&u.default.createElement(S.View,{style:w.background},A),u.default.createElement(Q.SafeAreaView,{edges:r,style:w.flex},ae,t&&u.default.createElement(X.KeyboardAwareScrollView,{ref:c,enabled:!0,scrollEnabled:!0,style:[w.flex,i],contentContainerStyle:ne,bottomOffset:40,disableScrollOnKeyboardHide:!0,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:!1,...n},O),!t&&u.default.createElement(S.View,{style:[{overflow:"hidden"},re]},O),ie))}),w=S.StyleSheet.create({flex:{flex:1},background:{alignItems:"stretch",pointerEvents:"none",...S.StyleSheet.absoluteFill}}),Y=(0,q.cssInterop)(pe,{className:"style",contentContainerClassName:"contentContainerStyle",backgroundClassName:"backgroundStyle"});var N=d(require("react"),1),P=require("colord"),R=require("nativewind"),v=require("@react-navigation/native");function oe({themeTokens:e,themeColors:t}){let{colorScheme:r,setColorScheme:o}=(0,R.useColorScheme)(),n=r==="light"?"light":"dark",{formattedColors:c,globalStyle:i,navTheme:g}=N.default.useMemo(()=>{let a={light:Z(t.light),dark:Z(t.dark)},s={light:te("light",e,t),dark:te("dark",e,t)},l={light:ee(v.DefaultTheme,a.light),dark:ee(v.DarkTheme,a.dark)};return{formattedColors:a,globalStyle:s,navTheme:l}},[t,e]);return N.default.useMemo(()=>({theme:{...e,colors:c[n]},navTheme:g[n],globalStyle:i[n],setColorScheme:o}),[c,i,g,n,o,e])}function fe(e){let t=e.includes(" ")&&!e.startsWith("hsl")?`hsl(${e})`:e;return(0,P.colord)(t).toHex()}function Z(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[t,fe(r)]))}function ee(e,t){return{...e,colors:{background:t.background,border:t.border,card:t.card,notification:t.destructive,primary:t.primary,text:t.foreground}}}function ge(e){let{h:t,s:r,l:o}=(0,P.colord)(e).toHsl();return`${t} ${r}% ${o}%`}function te(e,t,r){return(0,R.vars)(Object.fromEntries([...Object.entries(t).map(([o,n])=>[`--${o}`,n]),...Object.entries(r[e]).map(([o,n])=>[`--${o}`,ge(n)])]))}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import x,{useState as F}from"react";import{View as $,Text as j,StyleSheet as D}from"react-native";function I({style:e,children:t}){let[r,o]=F(0);return x.createElement($,{style:e},x.createElement(j,{style:G.text,onPress:()=>{o(n=>n+1)}},"Box1 ",r),t)}var G=D.create({text:{fontSize:20,padding:15,borderRadius:10,color:"#ffffff",backgroundColor:"#0a234a"}});import{useEffect as _,useState as J}from"react";import*as m from"expo-screen-orientation";function U(){let[e,t]=J({orientation:void 0,orientationLock:void 0});return _(()=>{Promise.all([m.getOrientationAsync(),m.getOrientationLockAsync()]).then(([o,n])=>{t({orientation:o,orientationLock:n})});let r=m.addOrientationChangeListener(o=>{t({orientation:o.orientationInfo.orientation,orientationLock:o.orientationLock})});return()=>r.remove()},[]),e}import z from"react";import{Platform as W,useColorScheme as q}from"react-native";import*as d from"expo-navigation-bar";function Q(e){let t=q();z.useEffect(()=>{if(W.OS!=="android")return;d.setStyle(t==="dark"?"dark":"light");let r=t==="dark"?e==null?void 0:e.dark:e==null?void 0:e.light;if(!r)return;(async()=>{let n=[];r.backgroundColor&&(d.setBackgroundColorAsync(r.backgroundColor),n.push(d.setBackgroundColorAsync(r.backgroundColor))),r.borderColor&&n.push(d.setBorderColorAsync(r.borderColor)),n.length&&await Promise.all(n)})()},[t,e==null?void 0:e.dark,e==null?void 0:e.light])}import{useState as X}from"react";import{createMMKV as Y,useMMKVListener as Z}from"react-native-mmkv";function ee({defaults:e,storage:t=Y()}){let r=a=>{try{let
|
|
1
|
+
import x,{useState as F}from"react";import{View as $,Text as j,StyleSheet as D}from"react-native";function I({style:e,children:t}){let[r,o]=F(0);return x.createElement($,{style:e},x.createElement(j,{style:G.text,onPress:()=>{o(n=>n+1)}},"Box1 ",r),t)}var G=D.create({text:{fontSize:20,padding:15,borderRadius:10,color:"#ffffff",backgroundColor:"#0a234a"}});import{useEffect as _,useState as J}from"react";import*as m from"expo-screen-orientation";function U(){let[e,t]=J({orientation:void 0,orientationLock:void 0});return _(()=>{Promise.all([m.getOrientationAsync(),m.getOrientationLockAsync()]).then(([o,n])=>{t({orientation:o,orientationLock:n})});let r=m.addOrientationChangeListener(o=>{t({orientation:o.orientationInfo.orientation,orientationLock:o.orientationLock})});return()=>r.remove()},[]),e}import z from"react";import{Platform as W,useColorScheme as q}from"react-native";import*as d from"expo-navigation-bar";function Q(e){let t=q();z.useEffect(()=>{if(W.OS!=="android")return;d.setStyle(t==="dark"?"dark":"light");let r=t==="dark"?e==null?void 0:e.dark:e==null?void 0:e.light;if(!r)return;(async()=>{let n=[];r.backgroundColor&&(d.setBackgroundColorAsync(r.backgroundColor),n.push(d.setBackgroundColorAsync(r.backgroundColor))),r.borderColor&&n.push(d.setBorderColorAsync(r.borderColor)),n.length&&await Promise.all(n)})()},[t,e==null?void 0:e.dark,e==null?void 0:e.light])}import{useState as X}from"react";import{createMMKV as Y,useMMKVListener as Z}from"react-native-mmkv";function ee({defaults:e,storage:t=Y()}){let r=a=>{try{let s=t.getString(String(a));return s!==void 0?JSON.parse(s):e[a]}catch(s){return console.warn(s),e[a]}};return{useLocalStorage:a=>{let[s,l]=X(()=>r(a));return Z(f=>{String(a)===f&&l(r(a))},t),s},setLocalStorage:(a,s)=>{try{let l=JSON.stringify(s);t.set(String(a),l)}catch(l){console.warn(l)}},getLocalStorage:a=>r(a),removeLocalStorage:a=>{try{t.remove(String(a))}catch(s){console.warn(s)}},clearAllLocalStorage:()=>{try{t.clearAll()}catch(a){console.warn(a)}},storage:t}}import te from"react";import{useNavigationContainerRef as oe}from"expo-router";import re from"lodash/isEmpty";function ne(){let e=oe();te.useEffect(()=>{if(__DEV__)return e.addListener("state",()=>{let r=e.getState(),o=b(r);o&&(re(o.params)?console.log(`ROUTE CHANGED : ${o.name}`):console.log(`ROUTE CHANGED : ${o.name}`,o.params))})},[e])}function b(e){var t;if(!e)return null;if(e.routes&&e.routes.length>0){let r=(t=e.index)!=null?t:0,o=e.routes[r];if(!o)return null;if(o.state){let n=b(o.state);if(n)return n}return{name:o.name,params:o.params}}return null}import u from"react";import{StyleSheet as K,View as k}from"react-native";import{cssInterop as ie}from"nativewind";import{SafeAreaView as se}from"react-native-safe-area-context";import{KeyboardAwareScrollView as ce}from"react-native-keyboard-controller";import ae,{useMemo as g}from"react";import{StyleSheet as h}from"react-native";import{useHeaderHeight as V}from"@react-navigation/elements";function y(e){return g(()=>e?typeof e=="function"?ae.createElement(e,null):e:null,[e])}function w(e,t){let r=V();return g(()=>{let o=h.flatten(e),n=o==null?void 0:o.padding,c=o==null?void 0:o.paddingTop,i=typeof c=="number"?c:typeof n=="number"?n:void 0;return t&&(i=(i!=null?i:0)+r),[v.flex,e,{paddingTop:i}]},[r,t,e])}function R(e,t){let r=V();return g(()=>{let o=h.flatten(e),n=o==null?void 0:o.padding,c=o==null?void 0:o.paddingTop,i=typeof c=="number"?c:typeof n=="number"?n:void 0;return t&&(i=(i!=null?i:0)+r),[v.scrollContentStyle,e,{paddingTop:i}]},[e,r,t])}var v=h.create({flex:{flex:1},scrollContentStyle:{flexGrow:1}});var le=u.memo(function({scroll:t=!1,edges:r=[],headerTransparent:o=!1,scrollViewProps:n,scrollRef:c,style:i={},contentContainerStyle:S={},backgroundStyle:a={},HeaderComponent:s,FooterComponent:l,BackgroundComponent:f,children:C}){let B=w(i,o),E=R(S,o),M=y(s),H=y(l),T=y(f);return u.createElement(k,{style:[p.flex,a]},T&&u.createElement(k,{style:p.background},T),u.createElement(se,{edges:r,style:p.flex},M,t&&u.createElement(ce,{ref:c,enabled:!0,scrollEnabled:!0,style:[p.flex,i],contentContainerStyle:E,bottomOffset:40,disableScrollOnKeyboardHide:!0,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:!1,...n},C),!t&&u.createElement(k,{style:[{overflow:"hidden"},B]},C),H))}),p=K.create({flex:{flex:1},background:{alignItems:"stretch",pointerEvents:"none",...K.absoluteFill}}),de=ie(le,{className:"style",contentContainerClassName:"contentContainerStyle",backgroundClassName:"backgroundStyle"});import L from"react";import{colord as A}from"colord";import{useColorScheme as me,vars as ue}from"nativewind";import{DarkTheme as Se,DefaultTheme as ye}from"@react-navigation/native";function pe({themeTokens:e,themeColors:t}){let{colorScheme:r,setColorScheme:o}=me(),n=r==="light"?"light":"dark",{formattedColors:c,globalStyle:i,navTheme:S}=L.useMemo(()=>{let a={light:N(t.light),dark:N(t.dark)},s={light:O("light",e,t),dark:O("dark",e,t)},l={light:P(ye,a.light),dark:P(Se,a.dark)};return{formattedColors:a,globalStyle:s,navTheme:l}},[t,e]);return L.useMemo(()=>({theme:{...e,colors:c[n]},navTheme:S[n],globalStyle:i[n],setColorScheme:o}),[c,i,S,n,o,e])}function fe(e){let t=e.includes(" ")&&!e.startsWith("hsl")?`hsl(${e})`:e;return A(t).toHex()}function N(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[t,fe(r)]))}function P(e,t){return{...e,colors:{background:t.background,border:t.border,card:t.card,notification:t.destructive,primary:t.primary,text:t.foreground}}}function ge(e){let{h:t,s:r,l:o}=A(e).toHsl();return`${t} ${r}% ${o}%`}function O(e,t,r){return ue(Object.fromEntries([...Object.entries(t).map(([o,n])=>[`--${o}`,n]),...Object.entries(r[e]).map(([o,n])=>[`--${o}`,ge(n)])]))}export{I as Box1,de as ScreenContent,ee as createLocalStorage,Q as useAndroidNavigationBar,ne as useLogRouteChange,U as useOrientation,pe as useThemeNativewind4};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mbrain/epic-react-native-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "A set of helpful, battle-tested utilities that simplify common React Native workflows and speed up app development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|