瀏覽代碼

fu you yalk

sxoinas12 5 年之前
父節點
當前提交
04d1c70775
共有 68 個文件被更改,包括 31 次插入2509 次删除
  1. 0 6
      .yalc/trapilib/.babelrc
  2. 0 1
      .yalc/trapilib/.watchmanconfig
  3. 0 220
      .yalc/trapilib/App.js
  4. 0 30
      .yalc/trapilib/app.json
  5. 二進制
      .yalc/trapilib/assets/default.jpg
  6. 二進制
      .yalc/trapilib/assets/icon.png
  7. 二進制
      .yalc/trapilib/assets/splash.png
  8. 0 6
      .yalc/trapilib/babel.config.js
  9. 0 0
      .yalc/trapilib/dist/lib/Module.js
  10. 0 0
      .yalc/trapilib/dist/lib/Types.js
  11. 0 0
      .yalc/trapilib/dist/lib/helpers/graph.js
  12. 0 0
      .yalc/trapilib/dist/lib/helpers/tree.js
  13. 0 1
      .yalc/trapilib/dist/lib/index.js
  14. 0 0
      .yalc/trapilib/dist/lib/systems/CoreSystem.js
  15. 0 1
      .yalc/trapilib/dist/lib/systems/EventSystem.js
  16. 0 1
      .yalc/trapilib/dist/lib/systems/InjectionSystem.js
  17. 0 1
      .yalc/trapilib/dist/lib/systems/LinkManager.js
  18. 0 0
      .yalc/trapilib/dist/lib/systems/ModuleSystem.js
  19. 0 0
      .yalc/trapilib/dist/lib/systems/RoutingSystem.js
  20. 0 0
      .yalc/trapilib/dist/lib/systems/ViewSystem.js
  21. 0 1
      .yalc/trapilib/dist/modules/BaseContainer.js
  22. 0 0
      .yalc/trapilib/dist/modules/BaseHolder.js
  23. 0 0
      .yalc/trapilib/dist/modules/Button.js
  24. 0 0
      .yalc/trapilib/dist/modules/Col.js
  25. 0 0
      .yalc/trapilib/dist/modules/DatePicker.js
  26. 0 0
      .yalc/trapilib/dist/modules/Form.js
  27. 0 0
      .yalc/trapilib/dist/modules/Image.js
  28. 0 1
      .yalc/trapilib/dist/modules/RootComp.js
  29. 0 0
      .yalc/trapilib/dist/modules/Row.js
  30. 0 1
      .yalc/trapilib/dist/modules/Text.js
  31. 0 1
      .yalc/trapilib/dist/modules/View.js
  32. 0 1
      .yalc/trapilib/dist/modules/ViewComp.js
  33. 二進制
      .yalc/trapilib/dist/modules/assets/default.jpg
  34. 0 1
      .yalc/trapilib/dist/modules/index.js
  35. 0 40
      .yalc/trapilib/lib/Module.js
  36. 0 199
      .yalc/trapilib/lib/Types.js
  37. 0 282
      .yalc/trapilib/lib/helpers/graph.js
  38. 0 205
      .yalc/trapilib/lib/helpers/tree.js
  39. 0 14
      .yalc/trapilib/lib/index.js
  40. 0 116
      .yalc/trapilib/lib/systems/CoreSystem.js
  41. 0 23
      .yalc/trapilib/lib/systems/EventSystem.js
  42. 0 9
      .yalc/trapilib/lib/systems/InjectionSystem.js
  43. 0 5
      .yalc/trapilib/lib/systems/LinkManager.js
  44. 0 76
      .yalc/trapilib/lib/systems/ModuleSystem.js
  45. 0 144
      .yalc/trapilib/lib/systems/RoutingSystem.js
  46. 0 305
      .yalc/trapilib/lib/systems/ViewSystem.js
  47. 0 25
      .yalc/trapilib/modules/BaseContainer.js
  48. 0 109
      .yalc/trapilib/modules/BaseHolder.js
  49. 0 41
      .yalc/trapilib/modules/Button.js
  50. 0 36
      .yalc/trapilib/modules/Col.js
  51. 0 34
      .yalc/trapilib/modules/DatePicker.js
  52. 0 112
      .yalc/trapilib/modules/Form.js
  53. 0 36
      .yalc/trapilib/modules/Image.js
  54. 0 23
      .yalc/trapilib/modules/RootComp.js
  55. 0 44
      .yalc/trapilib/modules/Row.js
  56. 0 35
      .yalc/trapilib/modules/Text.js
  57. 0 24
      .yalc/trapilib/modules/View.js
  58. 0 20
      .yalc/trapilib/modules/ViewComp.js
  59. 二進制
      .yalc/trapilib/modules/assets/default.jpg
  60. 0 15
      .yalc/trapilib/modules/index.js
  61. 0 31
      .yalc/trapilib/package.json
  62. 0 8
      .yalc/trapilib/setup.sh
  63. 0 6
      .yalc/trapilib/updateLocal.sh
  64. 0 1
      .yalc/trapilib/yalc.sig
  65. 25 0
      Systems/SideBar.js
  66. 2 214
      package-lock.json
  67. 1 1
      yalc.lock
  68. 3 3
      yarn.lock

+ 0 - 6
.yalc/trapilib/.babelrc

@@ -1,6 +0,0 @@
-{
-	"presets": [
-    	"@babel/preset-env",
-	    "@babel/preset-react"
-  	]
-}

+ 0 - 1
.yalc/trapilib/.watchmanconfig

@@ -1 +0,0 @@
-{}

+ 0 - 220
.yalc/trapilib/App.js

@@ -1,220 +0,0 @@
-import React , { useState } from 'react';
-import { StyleSheet, Text, View as Div, TextInput, Button } from 'react-native';
-import RoutingSystem from './lib/systems/RoutingSystem.js';
-import ViewSystem, { View, Node, ViewNode, RowNode, ColNode } from './lib/systems/ViewSystem.js';
-import CoreSystem from './lib/systems/CoreSystem.js';
-
-/*********** Custom View Tree ****/
-import { Tree } from './lib/helpers/tree';
-
-import FormComp from './modules/Form';
-
-import  TextComp  from './modules/Text';
-import RootComp from './modules/RootComp';
-import ImageComp from './modules/Image';
-import ButtonComp from './modules/Button';
-
-
-const CustomStyle = StyleSheet.create({
-  container:{
-    flex:1,
-    backgroundColor:'red'
-  },
-  text:{
-    color:'blue'
-  }
-})
-
-const RootStyle = StyleSheet.create({
-  container:{
-    flex:1,
-    backgroundColor:'blue'
-  },
-  text:{
-    color:'black'
-  }
-})
-let RootNode = new ViewNode("A","RootComp",{text:"This is the   asd asd asd asd asd asd sda asdaasdasd asd  asdasd asd asd  dasasdasd asd  adsasd asd asd  asdasd asd asd asd asd asd asd asd asd sda asdaasdasd asd  asdasd asd asd  dasasdasd asd  adsasd asd asd  asdasd asd asd asd asd asd asd asd asd sda asdaasdasd asd  asdasd asd asd  dasasdasd asd  adsasd asd asd  asdasd asd asd asd asd asd asd asd asd sda asdStarting point!!!Try add on me ",style:RootStyle});
-
-let TestNode = new ViewNode("H","Text",{style:CustomStyle,text:"Edited  Text Node Will be here"})
-
-let ImageNode = new ViewNode("asdasd","Image");
-
-// let Row1 = new RowNode("RootRow");
-// let Col11 = new ColNode("Col11");
-// let Col12 = new ColNode("Col12");
-// let Row2 = new RowNode("RootRow2");
-// let Col21 = new ColNode("Col21");
-// let Col22 = new ColNode("Col22");
-// Col21.content = RootNode;
-// Col12.content = TestNode;
-
-let nodeA = new Node("A", {justifyContent: 'flex-end', stretchContainer: true, selected: true});
-let nodeB = new Node("B", {justifyContent: 'flex-end' , selected: true}, ImageNode);
-let nodeC = new Node("C", {alignSelf: 'flex-end' , selected: true}, ImageNode);
-let nodeD = new Node("D");
-let nodeE = new Node("E", {alignSelf: 'flex-end' , selected: true}, ImageNode);
-
-let VS = new View();
-let root = VS.defaultContainer;
-
-VS
-.addViewNode(nodeA, root)
-.addViewNode(nodeB, nodeA)
-.addViewNode(nodeC, nodeA)
-.addViewNode(nodeD, nodeA);
-let datata = VS.export();
-
-let VS2 = new View();
-VS2
-.addViewNode(nodeE, VS2.defaultContainer)
-.import(datata, nodeE.id);
-
-// let rowss = VS.setRows(root, 1)[0];
-// VS.setColumns(rowss, 2);
-// root.props.selected = true;
-
-
-// let cols = VS.getChildren(rowss);
-// VS.setRows(cols[0], 3);
-// VS.setRows(cols[1], 2);
-// VS.setRows(cols[2], 2);
-// cols.forEach((col) => col.props.selected = true);
-
-// cols.forEach((col) => VS.getRows(col).forEach((r) => {VS.setColumns(r,1);r.props.selected = true}));
-// cols.forEach((col) => VS.getRows(col).forEach((r) => VS.getColumns(r).forEach((c) => c.props.selected = true)));
-
-// let ee = VS.getRows(cols[1]);
-// VS.setColumns(ee[0], 1);
-// let cc = VS.getColumns(ee[0]);
-// cc[0].content = ImageNode;
-
-// cols[0].content = RootNode;
-// cols[1].content = RootNode;
-// cols[2].content = ImageNode;
-// console.log("ASDASDASDA -> ", cols);
-// VS.addViewNode(Row1);
-// VS.addViewNode(Col11,Row1);
-// VS.addViewNode(Col12,Row1);
-// VS.addViewNode(Row2,Col11);
-// VS.addViewNode(Col21,Row2);
-// VS.addViewNode(Col22,Row2);
-// VS.addViewNode(RootNode);
-/*VS.addViewNode(NodeB,RootNode)
-VS.addViewNode(NodeE,RootNode)
-VS.addViewNode(NodeD,NodeB)
-VS.addViewNode(NodeK,NodeB)
-
-
-console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@")
-console.log(VS)
-
-//VS.replace(NodeB,TestNode)
-VS.replace(NodeK,EditNode)
-*/
-
-//***************//
-
-
-/*********************** Custom View tree Ends ************/
-
-//**************************************  Routing Ends
-
-let CS = new CoreSystem()
-.addPage('test', VS2, 'VS1')
-.setHome('test');
-
-
-let data = CS.export();
-console.log("Original");
-console.log(data);
-let js = JSON.stringify(data);
-console.log("String");
-console.log(js);
-let NCS = new CoreSystem()
-let againdata = JSON.parse(js);
-console.log("Again");
-console.log(againdata)
-NCS.import(againdata);
-
-window.onclick = (event) => {
-  console.log("Mouse event --- ", event);
-
-  let res = NCS.ray({event}); // returns ViewNode
-  console.log(res);
-}
-
-
-const useForceUpdate = (text) => useState(text)[1];
-export default function App() {
-  let [text, setText] = useState('');
-  let forceUpdate = useForceUpdate(text);
-  let currentView =  NCS.render();
-  let currentView2 = CS.render();
-  // console.log(currentView)
-  return (
-    <Div style={styles.container}>
-      <TextInput
-        style={{height: 40, borderColor: 'gray', borderWidth: 1}}
-        onChangeText={(txt) => setText(txt)}
-        value={text}
-      />
-      <Button title={'Change Route'} onPress={() => {
-        //VS.setColumns(root, text);
-        // CS.goto(text);
-        // NCS.goto(text);
-        //forceUpdate(text)
-      }}></Button>
-
-       <Text>Open up App.js to start working on your app!</Text>
-        <Text>Open up App.js to start working on your app!</Text>
-
-      {React.createElement(ButtonComp)}
-         <Text>Open up App.js to start working on your app!</Text>
-
-        <Text>here i s</Text>
-      {React.createElement(TextComp)}
-      <Text>sdadada</Text>
-      {React.createElement(RootComp)}
-      <Div style={{width: 200, height:400}}>
-        {React.createElement(ImageComp)}
-      </Div>
-      <Div style={{width: 200, height:400}}>
-      {React.createElement(FormComp)}
-      </Div>
-      <Text>Open up App.js to start working on your app!</Text>
-      
-      <Div style={{width:500, height:600}}>
-        {currentView}
-      </Div>
-      <Div>
-        <Text>------------------</Text>
-        <Text>------------------</Text>
-      </Div>
-      <Div style={{width:500, height:600}}>
-        {currentView2}
-      </Div>
-    </Div>
-  );
-}
-
-
-const ImageStyle = StyleSheet.create({
-  ImageCont:{
-    width:250,
-    height:250
-  }
-})
-
-
-
-const styles = StyleSheet.create({
-  container: {
-    flex: 1,
-    backgroundColor: '#fff',
-    alignItems: 'center',
-    justifyContent: 'center',
-  },
-});
-
-

+ 0 - 30
.yalc/trapilib/app.json

@@ -1,30 +0,0 @@
-{
-  "expo": {
-    "name": "Library",
-    "slug": "Trapi-lib",
-    "privacy": "public",
-    "sdkVersion": "33.0.0",
-    "platforms": [
-      "ios",
-      "android",
-      "web"
-    ],
-    "version": "1.0.0",
-    "orientation": "portrait",
-    "icon": "./assets/icon.png",
-    "splash": {
-      "image": "./assets/splash.png",
-      "resizeMode": "contain",
-      "backgroundColor": "#ffffff"
-    },
-    "updates": {
-      "fallbackToCacheTimeout": 0
-    },
-    "assetBundlePatterns": [
-      "**/*"
-    ],
-    "ios": {
-      "supportsTablet": true
-    }
-  }
-}

二進制
.yalc/trapilib/assets/default.jpg


二進制
.yalc/trapilib/assets/icon.png


二進制
.yalc/trapilib/assets/splash.png


+ 0 - 6
.yalc/trapilib/babel.config.js

@@ -1,6 +0,0 @@
-module.exports = function(api) {
-  api.cache(true);
-  return {
-    presets: ['babel-preset-expo'],
-  };
-};

文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/Module.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/Types.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/helpers/graph.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/helpers/tree.js


+ 0 - 1
.yalc/trapilib/dist/lib/index.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _CoreSystem=_interopRequireDefault(require("./systems/CoreSystem"));var _ViewSystem=require("./systems/ViewSystem");var _Types=_interopRequireDefault(require("./Types"));var _default={CoreSystem:_CoreSystem["default"],ViewSystem:_CoreSystem["default"],ViewNode:_ViewSystem.ViewNode,View:_ViewSystem.View,Node:_ViewSystem.Node,DataTypes:_Types["default"]};exports["default"]=_default;

文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/systems/CoreSystem.js


+ 0 - 1
.yalc/trapilib/dist/lib/systems/EventSystem.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var EventSystem=function(){function EventSystem(){(0,_classCallCheck2["default"])(this,EventSystem);this.listeners={test:function test(){return console.log('This is default listener!');}};this.addEventListener=this.on;this.removeEventListener=this.off;}(0,_createClass2["default"])(EventSystem,[{key:"on",value:function on(eventId,fn){this.listeners[eventId]=fn;return this;}},{key:"off",value:function off(eventId){delete this.listeners[eventId];return this;}},{key:"emit",value:function emit(eventId,data){return this.listeners[eventId](data);}}]);return EventSystem;}();exports["default"]=EventSystem;

+ 0 - 1
.yalc/trapilib/dist/lib/systems/InjectionSystem.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var InjectionSystem=function(){function InjectionSystem(){(0,_classCallCheck2["default"])(this,InjectionSystem);}(0,_createClass2["default"])(InjectionSystem,[{key:"inject",value:function inject(component){}}]);return InjectionSystem;}();exports["default"]=InjectionSystem;

+ 0 - 1
.yalc/trapilib/dist/lib/systems/LinkManager.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var LinkManager=function LinkManager(){(0,_classCallCheck2["default"])(this,LinkManager);};exports["default"]=LinkManager;

文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/systems/ModuleSystem.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/systems/RoutingSystem.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/lib/systems/ViewSystem.js


+ 0 - 1
.yalc/trapilib/dist/modules/BaseContainer.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=BaseContainer;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _Types=_interopRequireDefault(require("../lib/Types"));var _jsxFileName="C:\\Users\\Konstanitnos\\Development\\TrapiLib\\modules\\BaseContainer.js";function BaseContainer(props){var selected=props.selected,width=props.width,height=props.height,restProps=(0,_objectWithoutProperties2["default"])(props,["selected","width","height"]);if(!width)width=BaseContainer.Inputs.width["default"];if(!height)height=BaseContainer.Inputs.height["default"];return _react["default"].createElement(_reactNative.View,(0,_extends2["default"])({},restProps,{style:{width:width,height:height},__source:{fileName:_jsxFileName,lineNumber:16}}));}BaseContainer.Inputs={width:new _Types["default"].Integer().require()["default"](50),height:new _Types["default"].Integer().require()["default"](50)};

文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/BaseHolder.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/Button.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/Col.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/DatePicker.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/Form.js


文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/Image.js


+ 0 - 1
.yalc/trapilib/dist/modules/RootComp.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _Types=_interopRequireDefault(require("../lib/Types"));var _Module2=_interopRequireDefault(require("../lib/Module"));var _reactNative=require("react-native");var _jsxFileName="C:\\Users\\Konstanitnos\\Development\\TrapiLib\\modules\\RootComp.js";var RootComp=function(_Module){(0,_inherits2["default"])(RootComp,_Module);function RootComp(props){(0,_classCallCheck2["default"])(this,RootComp);return(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(RootComp).call(this,props));}(0,_createClass2["default"])(RootComp,[{key:"display",value:function display(){return _react["default"].createElement(_reactNative.View,{__source:{fileName:_jsxFileName,lineNumber:13}},_react["default"].createElement(_reactNative.Text,{__source:{fileName:_jsxFileName,lineNumber:14}},this.props.text||""," - ",this.props.second),this.props.children);}}]);return RootComp;}(_Module2["default"]);exports["default"]=RootComp;RootComp.Inputs={text:new _Types["default"].Text().require()["default"]("Sample Text"),second:new _Types["default"].Integer().require()["default"](5)};

文件差異過大導致無法顯示
+ 0 - 0
.yalc/trapilib/dist/modules/Row.js


+ 0 - 1
.yalc/trapilib/dist/modules/Text.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _Module2=_interopRequireDefault(require("../lib/Module"));var _reactNative=require("react-native");var _Types=_interopRequireDefault(require("../lib/Types"));var _jsxFileName="C:\\Users\\Konstanitnos\\Development\\TrapiLib\\modules\\Text.js";var TextComp=function(_Module){(0,_inherits2["default"])(TextComp,_Module);function TextComp(props){var _this;(0,_classCallCheck2["default"])(this,TextComp);_this=(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(TextComp).call(this,props));_this.state={text:props.text||""};return _this;}(0,_createClass2["default"])(TextComp,[{key:"display",value:function display(){var _this$props=this.props,text=_this$props.text,color=_this$props.color,fontSize=_this$props.fontSize;return _react["default"].createElement(_reactNative.View,{__source:{fileName:_jsxFileName,lineNumber:21}},_react["default"].createElement(_reactNative.Text,{style:{color:color,fontSize:fontSize},__source:{fileName:_jsxFileName,lineNumber:22}},text),this.props.children);}}]);return TextComp;}(_Module2["default"]);exports["default"]=TextComp;TextComp.Inputs={text:new _Types["default"].Text()["default"]("Enter Text"),color:new _Types["default"].Text(),fontSize:new _Types["default"].Integer()["default"](22)};

+ 0 - 1
.yalc/trapilib/dist/modules/View.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _Module2=_interopRequireDefault(require("../lib/Module"));var _reactNative=require("react-native");var _jsxFileName="C:\\Users\\Konstanitnos\\Development\\TrapiLib\\modules\\View.js";var ViewComp=function(_Module){(0,_inherits2["default"])(ViewComp,_Module);function ViewComp(props){(0,_classCallCheck2["default"])(this,ViewComp);return(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(ViewComp).call(this,props));}(0,_createClass2["default"])(ViewComp,[{key:"display",value:function display(){return _react["default"].createElement(_reactNative.View,{__source:{fileName:_jsxFileName,lineNumber:16}},this.props.children);}}]);return ViewComp;}(_Module2["default"]);exports["default"]=ViewComp;

+ 0 - 1
.yalc/trapilib/dist/modules/ViewComp.js

@@ -1 +0,0 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _Module2=_interopRequireDefault(require("../lib/Module"));var _reactNative=require("react-native");var _jsxFileName="C:\\Users\\Konstanitnos\\Development\\TrapiLib\\modules\\ViewComp.js";var ViewComp=function(_Module){(0,_inherits2["default"])(ViewComp,_Module);function ViewComp(props){(0,_classCallCheck2["default"])(this,ViewComp);return(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(ViewComp).call(this,props));}(0,_createClass2["default"])(ViewComp,[{key:"display",value:function display(){return _react["default"].createElement(_reactNative.View,{key:Math.random(),__source:{fileName:_jsxFileName,lineNumber:16}});}}]);return ViewComp;}(_Module2["default"]);exports["default"]=ViewComp;

二進制
.yalc/trapilib/dist/modules/assets/default.jpg


+ 0 - 1
.yalc/trapilib/dist/modules/index.js

@@ -1 +0,0 @@
-"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _default=["Text","RootComp","Image","Button","Form","ViewComp","BaseContainer","View"].reduce(function(acc,item){acc[item]=require('./'+item)["default"];return acc;},{});exports["default"]=_default;

+ 0 - 40
.yalc/trapilib/lib/Module.js

@@ -1,40 +0,0 @@
-import React, {Fragment} from 'react';
-import { View } from 'react-native';
-
-import { Resolver } from './Types';
-
-// EventSystem
-
-export default class Module extends React.Component{
-
-	constructor(props) {
-		super(props);
-		let {
-			ModuleID,
-			EventSystem
-		} = props;
-		let eventName = ModuleID + "HitCheck"
-		EventSystem && EventSystem.on(eventName, ({x,y}) => {
-			return true;
-		});
-		//console.log("GEN EV: " , eventName, EventSystem);
-	}
-	
-	componentWillMount() {
-
-	}
-
-	display() {
-		throw new Error("You must extend this base Module and override display method!");
-	}
-	render() {
-		return <View ModuleID={this.props.ModuleID} style={{flex:1}} MY_WRAPPER_FROM_BASE_MODULE={true}>
-			{this.display()}
-		</View>
-		// throw new Error("You must extend this base Module and override render method!");
-	}
-
-	getProps() {
-		return Resolver(this.constructor.Inputs, this.props);
-	}
-}

+ 0 - 199
.yalc/trapilib/lib/Types.js

@@ -1,199 +0,0 @@
-let Types = {
-	Boolean: 0,
-	Text: 1,
-	Integer: 2,
-	URL: 3,
-	somethingelse: 4,
-	Link: 5,
-	Array: 6,
-	View: 7,
-	Object: 8,
-	Real: 9,
-	Float: 10,
-	Modules: 11,
-	Whatever: 12,
-}
-
-
-class Type {
-	constructor(type) {
-		this.type = type;
-	}
-
-	getType() {
-		return Object.keys(Types)[this.type];
-	}
-
-	resolve(value) {
-		console.log("Called resolve on base super Type component");
-		return true;
-	}
-
-	default(value) {
-		this.defaultValue = value;
-		return this;
-	}
-
-	require() {
-		this.isRequired = true;
-		return this;
-	}
-}
-
-class Bool extends Type {
-	constructor() {
-		super(Types.Boolean);
-	}
-
-	resolve(value) {
-		if((value !== undefined || this.isRequired) && value !== true && value !== false) 
-			return false;
-		return true;
-	}
-}
-
-class Text extends Type {
-	constructor() {
-		super(Types.Text);
-	}
-
-	color() {
-		this.isColor = true;
-		return this;
-	}
-
-	resolve(value) {
-		if(typeof value === "string")
-			return true;
-		else if ((value === undefined || value === null) && !this.isRequired)
-			return true
-
-		return true;
-	}
-}
-
-
-class Integer extends Type {
-	constructor() {
-		super(Types.Integer);
-	}
-
-	resolve(value) {
-		if (typeof value === "number" && parseInt(value) === value)
-			return true;
-		else if ((value === undefined || value === null) && !this.isRequired)
-			return true;
-		return false;
-	}
-}
-
-class Real extends Type {
-	constructor() {
-		super(Types.Real);
-	}
-
-	resolve(value) {
-		if (typeof value === "number" && parseFloat(value) === value)
-			return true;
-		else if ((value === undefined || value === null) && !this.isRequired)
-			return true;
-		return false;
-	}
-}
-class JSObject extends Type {
-	constructor() {
-		super(Types.Object);
-	}
-
-	resolve(value) {
-		if (typeof value === "object")
-			return true;
-		else if ((value === undefined || value === null) && !this.isRequired)
-			return true;
-		return false;
-	}
-}
-
-
-
-export default {
-	Bool,
-	Real,
-	Object: JSObject,
-	Integer,
-	Text,
-	Types,
-	Type
-}
-
-
-
-
-
-
-// export function Resolver (input, value) {
-// 	const msg = "Resolver cannot parse Input Field";
-// 	switch (input.type) {
-// 		case Types.Object: 
-// 			input.value = value || input.value || {};
-// 			break;
-// 		case Types.Boolean:
-// 			if(value !== undefined && value !== null) {
-// 				input.value = !!value;
-// 			}
-// 			break;
-// 		case Types.Number:
-// 			try {
-// 				input.value = parseInt(value === undefined || value === null ? input.value : value);
-// 			} catch (e) {
-// 				Logger.warning(msg, { inputField: input });
-// 			}
-// 			break;
-// 		case Types.Real:
-// 			try {
-// 				input.value = parseFloat(value === undefined || value === null ? input.value : value);
-// 			} catch (e) {
-// 				Logger.warning(msg, { inputField: input });
-// 			}
-// 			break;
-// 		case Types.Text:
-// 			if(value !== undefined && value !== null) {
-// 				input.value = value;
-// 			}
-// 			break;
-// 		case Types.Array:
-// 				if (!Array.isArray(value)) {
-// 					try {
-// 						if(typeof value === "string") {
-// 							input.value = JSON.parse(value);
-// 						}
-// 					} catch (e) {
-// 						Logger.warning(msg, { inputField: input });
-// 					}
-// 				} else {
-// 					input.value = value;
-// 				}
-// 				break;
-// 		default: 
-// 			input.value = value;
-// 			break;
-
-// 	}
-// 	return input.value;
-// }
-
-export function Resolver (Inputs, props) {
-	const msg = "Resolver cannot parse Input Field";
-
-	let structure = {};
-	for(var i in Inputs) {
-		let field = Inputs[i];
-		let value = props[i] || field.defaultValue;
-		if(field.resolve(value)){
-			structure[i] = value;
-		} else {
-			console.log(`Field ${i} failed to resolve to ${field.getType()}`);
-		}
-	}
-	return structure;
-}

+ 0 - 282
.yalc/trapilib/lib/helpers/graph.js

@@ -1,282 +0,0 @@
-//Link is like an Edge in the graph/tree structure
-class Link {
-	constructor(src, dest) {
-		this.to = dest;
-	    this.from = src;
-	}
-
-	import(data) {
-		for(var i in data) {
-			this[i] = data[i];
-		}
-		return this;
-	}
-
-	export() {
-		return this;
-	}
-}
-
-//Node--> Vertex
-class Node {
-	constructor(id){
-  		this.id = id;
-  	}
-
-  	import(data) {
-  		for(var i in data) {
-  			this[i] = data[i];
-  		}
-  		return this;
-  	}
-
-  	export() {
-  		return this;
-  	}
-}
-
-
-class Graph{
-	constructor(){
-		this.nodes = {};
-		this.links = {}
-	}
-
-	addNode(node){
-		if(this.nodes[node.id]){
-			throw new Error("Node already exists with ID "+node.id);
-		}
-		this.nodes[node.id] = node;
-		if(!this.links[node.id]) this.links[node.id] = this._emptyLink();
-	}
-	_emptyLink() {
-	    return {
-	      	out: new Set(),
-	      	in: new Set()
-	    };
-	}
-	
-	//we give the link we 
-	addLink(link){
-		let dest = link.from;
-		let to = link.to;
-
-		if(!this.nodes[dest] || !this.nodes[to]){
-			console.log(this.nodes, dest, to);
-			throw new Error("One of the Nodes Doesnt Exist");
-		}
-		if(this.links[dest].out.has(link) || this.links[to].in.has(link)){
-			throw new Error("Link already exists");
-		}
-		this.links[dest].out.add(link);
-		this.links[to].in.add(link);
-		return link;
-	}
-
-	removeLink(link){
-		this.links[link.from].out.delete(link);
-		this.links[link.to].in.delete(link);
-	}
-
-	removeNode(node){
-		if(!this.nodes[node.id]) return true;
-		let outlinks = this.links[node.id].out
-		let inlinks = this.links[node.id].in;
-		outlinks.forEach(link => this.removeLink(link))
-		inlinks.forEach(link => this.removeLink(link))
-		delete this.nodes[node.id];
-		delete this.links[node.id];
-		return node;
-	}
-
-	linkNodes(src, dest) {
-		return this.addLink(new Link(src, dest));
-	}
-
-	has(id) {
-		return !!this.nodes[id];
-	}
-	getNode(id) {
-		return this.nodes[id];
-	}
-	getLinks(nodeid) {
-		return this.links[nodeid];
-	}
-
-	DFSRecursive(start, cb){ // needs correction because of link change to id
-		if(!start) return null;
-		var resultList = [];
-		var visited = {};
-		var links = this.links;
-		var found = false;
-		let self = this;
-		(function dfs(vertex){
-			visited[vertex.id] = true;
-			resultList.push(vertex);
-			if( cb(vertex) === true ) {
-				found = true;
-				return resultList;
-			}
-			for(var link of links[vertex.id].out) {
-				let destNode = self.getNode(link.to);
-				if(!visited[destNode]){
-					let res = dfs(destNode);
-					if(found)return;
-					resultList.pop();
-				}
-			} 
-		})(start)
-		return resultList;
-	}
-
-	//depth first 
-	DFS(start,cb){ // needs correction because of link change to id
-		var visited = {};
-		visited[start.id] = true;
-		var stack = [start];
-		var stackRes = [[]];
-		let vertex;
-		while(stack.length){
-			vertex  = stack.pop();
-			let res = stackRes.pop();
-			if( cb(vertex) === true ) {
-				return [...res, vertex];
-			}
-			for( var link of this.links[vertex.id].out ) {
-				let destNode = link.to;
-				if(!visited[destNode]){
-					visited[destNode] = true;
-					stack.push(link.to);
-					stackRes.push([...res, vertex]);
-				}
-			}
-			// resultList.pop();
-		}
-		return false;
-	}
-
-
-	BFS(start,cb){ // needs correction because of link change to id
-		var visited = {[start.id]:true}
-		var stack = [start];
-		var stackRes = [[]];
-		let vertex;
-		while(stack.length){
-			vertex  = stack.shift();
-			let res = stackRes.shift();
-			if( cb(vertex) === true ) {
-				return [...res, vertex];
-			}
-
-			for( var link of this.links[vertex.id].out ) {
-				if(!visited[link.to]){
-					visited[link.to] = true;
-					stack.push(link.to);
-					stackRes.push([...res, vertex]);
-				}
-			}
-		}
-		return false;
-	}
-
-
-	export() {
-		let { nodes, links } = this;
-
-		// export Links care with SETS
-		let ln = {};
-		for(let i in links) {
-			ln[i] = {
-				out: Array.from(links[i].out).map(link => link.export()),
-				in : Array.from(links[i].in ).map(link => link.export())
-			}
-		}
-		// export nodes
-		let nod = {};
-		for(let i in nodes) {
-			nod[i] = nodes[i].export()
-		}
-
-		return {
-			nodes: nod,
-			links: ln
-		};
-	}
-
-	_loadLink(item) {
-		if(!this.cacheSet) this.cacheSet = {};
-
-		let data = this.cacheSet["from" + item.from + "to" + item.to];
-		if(data) {
-			return data;
-		} else {
-			return this.cacheSet["from" + item.from + "to" + item.to] = new Link().import(item);
-		}
-		
-	}
-
-	import(data, nodeType = Node) {
-		let { nodes, links } = data;
-
-		for (let i in nodes) {
-			this.nodes[i] = new nodeType().import(nodes[i]);
-		}
-
-
-		for (let i in links) {
-			this.links[i] = {
-				out: new Set(links[i].out.map(item => this._loadLink(item))),
-				in : new Set(links[i].in.map(item => this._loadLink(item)))
-			}
-		}
-	}
-	_debug(){
-
-	}
-
-}
-
-
-
-// var graph = new Graph(Node);
-// var A = new Node("A");
-// var B = new Node('B');
-// var C = new Node('C');
-// var D = new Node('D');
-// var E = new Node('E');
-// var F = new Node("F");
-
-// var AB = new Link(A,B);
-// var AD = new Link(A,D);
-// var BC = new Link(B,C);
-// var CF = new Link(C,F);
-// var DB = new Link(D,B);
-// var DE = new Link(D,E);
-// var EF = new Link(E,F);
-// var FE = new Link(F,E);
-/*
-graph.addNode(A);
-graph.addNode(B);
-graph.addNode(C);
-graph.addNode(D);
-graph.addNode(E);
-graph.addNode(F);
-graph.addLink(AB);
-graph.addLink(AD);
-graph.addLink(BC);
-graph.addLink(CF);
-graph.addLink(DB);
-graph.addLink(DE);
-graph.addLink(EF);
-graph.addLink(FE);
-*/
-
-//let recur = graph.DFS(A,(node) => node.id === E.id);
-//let bfs = graph.BFS(A,(node) => node.id === C.id);
-
-
-module.exports = {
-	Node,
-	Link,
-	Graph
-};

+ 0 - 205
.yalc/trapilib/lib/helpers/tree.js

@@ -1,205 +0,0 @@
-const { Node, Link, Graph } = require("./graph");
-class TreeNode extends Node {
-	constructor(id){
-		super(id);
-		this.depth = null; 
-	}
-}
-
-class Tree extends Graph {
-	constructor(){
-		super();
-		this.root = null;
-		this.levels = [];
-	}
-
-  	/*addLink(link) {
-  		console.log("You cannot add Link because its deprecated ...Use Insert");
-		return;
-	}
-	addNode(node){
-		console.log("You cannot add Node because its deprecated ...Use Insert");
-		return;
-	}*/
-
-	changeParent(node, parent) {
-		let link = this.links[node.id].in.values().next().value;
-		let oldparent = link.from;
-		this.links[oldparent.id].out.delete(link);
-		link.from = parent;
-		this.links[parent.id].out.add(link);
-		this.updateLevels(parent);
-	}
-
-	updateLevels(node) {
-		let outSet = this.links[node.id].out;
-		for(let link of outSet) {
-			let child = this.getNode(link.to);
-			if(child.depth !== node.depth + 1) {
-				if(child.depth){
-					this.levels[child.depth].delete(child.id);
-				}
-				
-				child.depth = node.depth + 1;
-				if(!this.levels[child.depth]){
-					this.levels[child.depth] = new Set();
-				}
-				this.levels[child.depth].add(child.id);
-				this.updateLevels(child);
-			}
-		}
-	}
-
-	insert(node,parentNode){
-		if(this.nodes[node.id]){
-			throw new Error("Node already Exists")
-		}
-		if(parentNode === null || parentNode === undefined) {
-			super.addNode(node);
-			this.root = node;
-			this.root.depth = 0;
-			this.levels = [new Set([this.root.id])];
-			return;
-		}
-		if(!this.nodes[parentNode.id]){
-			throw new Error("Parent Node does not Exist....Insert First ")
-		}
-		//console.log(node, parentNode);
-		let link = new Link(parentNode.id,node.id);
-		super.addNode(node);
-		super.addLink(link);
-
-		this.updateLevels(parentNode);
-	}
-
-	print() {
-		console.log("§§§§§§§  Tree Structure 	 §§§§§§§§§§");
-
-		this.levels.forEach((level, index) => {
-			console.log("Level ", index);
-			level.forEach( id => console.log(` ${id} `));
-		});
-		console.log("§§§§§§§  Tree Structure End §§§§§§§§§§");
-	}
-
-	remove(node,propagation = true){
-		propagation ? this.cleanup(node) : null;
-		this.levels[node.depth].delete(node.id);
-		if(this.levels[node.depth].size === 0) {
-			this.levels.length = node.depth;
-		}
-		super.removeNode(node);
-	}
-
-	cleanup(parent) {
-		let children = this.getChildren(parent);
-		children.forEach(child => {
-			this.remove(child);
-		});
-	}
-	
-	getParent(node) {
-		return [...this.links[node.id].in].map(link => link.from)[0];
-	}
-
-	getChildren(node) {
-		return [...this.links[node.id].out].map(link => this.getNode(link.to));
-	}
-
-	getLevel(depth) {
-		return this.levels[depth];
-	}
-
-	replaceNode(oldNode,newNode){	
-		if(!this.nodes[oldNode.id]){
-			throw new Error("The Node you are trying to replace doesnt exist in the current Tree")
-		}
-		newNode.depth = oldNode.depth
-		let OldLinks = this.getLinks(oldNode.id);
-		let OldFromNode;
-		let OldToNodes = [];
-		let OldDepth = oldNode.depth;
-		let levels = this.levels;
-		for(let m of OldLinks.in){
-			OldFromNode = m.from
-		}
-		for(let k of OldLinks.out){
-			OldToNodes.push(k.to)
-		}
-
-		this.remove(oldNode,false);
-		
-		//If the tree contains only the root this code will run
-		if(this.levels.length === 0){
-			this.levels =  [new Set([newNode.id])]
-			super.addNode(newNode);
-			this.root = newNode;
-			return true;;
-			
-		}
-		//THIS PROCESS 
-		this.levels[OldDepth].add(newNode.id);
-		super.addNode(newNode);
-		if(OldFromNode){
-			super.linkNodes(OldFromNode,newNode.id);
-		}
-
-
-		OldToNodes.map((node) => {
-			
-			super.linkNodes(newNode.id,node)
-		})
-		
-		if(oldNode === this.root){
-			console.log("never")
-			this.root = newNode
-		}
-
-	}
-
-	export() {
-		let data = super.export();
-		let levels = this.levels.map(level => Array.from(level));
-		return {
-			...data,
-			levels,
-			rootId: this.root.id
-		};
-	}
-
-	import(data, nodeType = TreeNode, parentNode) {
-		let { levels, rootId, ...rest } = data;
-		super.import(data, nodeType);
-		if(!parentNode) {
-			this.root = super.getNode(rootId);
-			this.levels = levels.map(setArray => new Set(setArray));
-		} else {
-			this.linkNodes(parentNode, rootId);
-			this.updateLevels(this.getNode(parentNode));
-		}
-	}
-
-}
-
-//console.log("SSSSSSSSSSSSSSSS")
-//console.log(A)
-
- //var B = new TreeNode('B');
- //var C = new TreeNode('C');
- //var D = new TreeNode('D');
- //var E = new TreeNode('E');
- //var F = new TreeNode("F");
-//console.log(tree.root)
-//console.log(tree)
-// tree.insert(B,A)
-// tree.insert(D,B)
-// tree.insert(E,D)
-// tree.insert(F,D)
-
-// tree.print();
-
-// tree.remove(D)
-
-// tree.print();
-
-module.exports = { Tree, TreeNode };

+ 0 - 14
.yalc/trapilib/lib/index.js

@@ -1,14 +0,0 @@
-import CoreSystem from './systems/CoreSystem';
-import ViewSystem from './systems/CoreSystem';
-import {Node , View,ViewNode} from './systems/ViewSystem';
-import DataTypes from './Types';
-
-
-export default {
-	CoreSystem,
-	ViewSystem,
-	ViewNode,
-	View,
-	Node,
-	DataTypes
-}

+ 0 - 116
.yalc/trapilib/lib/systems/CoreSystem.js

@@ -1,116 +0,0 @@
-import RoutingSystem from './RoutingSystem.js';
-import ViewSystem, { View } from './ViewSystem.js';
-import ModuleSystem from './ModuleSystem.js';
-import Modules from '../../modules';
-import EventSystem from './EventSystem';
-
-export default class CoreSystem {
-	constructor() {
-		// TODO -- Make correct Initialization
-		this.Routing = new RoutingSystem();
-		this.ModuleSystem = new ModuleSystem();
-		this.EventSystem = new EventSystem();
-		this.ViewSystem    = new ViewSystem(this.ModuleSystem, this.EventSystem);
-		this.__loadModules(Modules);
-	}
-
-	getCurrentView() {
-		return this.ViewSystem.getView(this.Routing.getCurrentView());
-	}
-
-	setHome( route , View ) {
-		this.Routing.setHome(route);
-		return this;
-	}
-
-	goto( route ) {
-		return this.Routing.goTo(route);
-	}
-
-	addPage( route , View, ViewID = Math.random()) {
-		this.Routing.addRoute(route,route);
-		this.Routing.setView(route,ViewID);
-		this.ViewSystem.addView(ViewID, View);
-		return this;
-	}
-
-	goBack() {
-
-	}
-
-	__loadModules() {
-		this.ModuleSystem.load(Modules);
-	}
-
-	addModule(mod, namespace) {
-		this.ModuleSystem.loadModule(mod.name, mod, namespace);
-		return this;
-	}
-
-	render() {
-		let ViewID = this.Routing.getCurrentView();
-		return this.ViewSystem.render(ViewID);
-	}
-
-	import(data) {
-
-		// Perform dependency injection here! 
-		// must Convert Data to Structures before importing 
-		// Import Systems Seperately from leaf to root
-		let {
-			Routing,
-			Views
-		} = data;
-
-		try {
-			this.Routing.import(Routing);
-			this.ViewSystem.import(Views);
-		} catch(e) {
-			throw new Error("CoreSystem cannot import data : ", e);
-		}
-		console.log("Successful import");
-	}
-
-	export() {
-		let RS = this.Routing.export();
-		let VS = this.ViewSystem.export();
-		return {
-			Routing: RS,
-			Views: VS
-		};
-	}
-
-
-
-
-	ray(data) {
-		let {
-			event
-		} = data;
-		let targets = event.path.map(item => findReactElement(item));
-		let resViewNode = null;
-		for (var i in targets) {
-			if(targets[i] && targets[i].ID) {
-				resViewNode = targets[i].ID;
-				break;
-			}		
-		}
-		let ViewID = this.Routing.getCurrentView();
-		return this.ViewSystem.getNode(ViewID, resViewNode);
-	}
-
-
-
-
-
-
-}
-
-const findReactElement = (node) => {
-    for (var key in node) {
-        if (key.startsWith("__reactInternalInstance$")) {
-            return (node[key]._debugOwner && node[key]._debugOwner.stateNode.props) || (node[key].return.memoizedProps);
-        }
-    }
-    return null;
-};

+ 0 - 23
.yalc/trapilib/lib/systems/EventSystem.js

@@ -1,23 +0,0 @@
-export default class EventSystem {
-	constructor() {
-		this.listeners = { test: () => console.log('This is default listener!')};
-		
-		// helper renames
-		this.addEventListener = this.on;
-		this.removeEventListener = this.off;
-	}
-
-	on(eventId, fn) {
-		this.listeners[eventId] = fn;
-		return this;
-	}
-
-	off(eventId) {
-		delete this.listeners[eventId];
-		return this;
-	}
-
-	emit(eventId, data) {
-		return this.listeners[eventId](data); // return result
-	}
-}

+ 0 - 9
.yalc/trapilib/lib/systems/InjectionSystem.js

@@ -1,9 +0,0 @@
-export default class InjectionSystem {
-	constructor(){
-
-	}
-
-	inject(component){
-		
-	}
-}

+ 0 - 5
.yalc/trapilib/lib/systems/LinkManager.js

@@ -1,5 +0,0 @@
-export default class LinkManager {
-	constructor() {}
-
-
-}

+ 0 - 76
.yalc/trapilib/lib/systems/ModuleSystem.js

@@ -1,76 +0,0 @@
-import React from 'react';
-import Module from '../Module';
-import { Resolver } from '../Types';
-export default class ModuleSystem {
-	constructor() {
-		this.constructors = {};
-		this.refs = {};
-	}
-
-	loadModule(name, ctor, namespace = "default") {
-		// Load a Module constructor
-		if(! ctor instanceof Module ){
-			throw new Error("This is not a module: ", ctor);
-		}
-		if(!this.constructors[namespace]) 
-			this.constructors[namespace] = {};
-		
-		if(this.constructors[namespace][name]) {
-			log("Duplicate module: ", ctor);
-			return true;
-		}
-		this.constructors[namespace][name] = ctor;
-	}
-
-	load(Dictionary, Namespace = "default") {
-		for(var i in Dictionary) {
-			this.loadModule(i, Dictionary[i], Namespace);
-		}
-	}
-
-	list() {
-		return this.constructors;
-	}
-
-	get(modName, namespace = "default") {
-		return this.constructors[namespace][modName];
-	}
-
-	fromViewNode(vn) {
-		return this.get(vn.value, vn.namespace);
-	}
-
-	createRef(id) {
-		!this.refs[id] && (this.refs[id] = React.createRef());
-		return this.refs[id];
-	}
-	getRef(id) {
-		return this.refs[id];
-	}
-
-	createElement(name, props, children, namespace = "default", ref) {
-		let ctor = this.get(name, namespace);
-		return this.createElementCtor(ctor, props, children, ref);
-	}
-	createElementCtor(ctor, props, children, ref) {
-		let validatedProps = this.validateProps(ctor, props);
-		if (ref) {
-			validatedProps = {
-				...validatedProps,
-				ref: this.refs[ref]
-			}	
-		}
-		return React.createElement(ctor, validatedProps, children);
-	}
-
-	validateProps(ctor, props = {}) {
-		let res = {};
-		if(ctor && ctor.Inputs) {
-			res = Resolver(ctor.Inputs, props);
-		}
-		return {
-			...props,
-			...res
-		}
-	}
-}

+ 0 - 144
.yalc/trapilib/lib/systems/RoutingSystem.js

@@ -1,144 +0,0 @@
-import React from 'react';
-import {Node, Link, Graph} from '../helpers/graph'
-import {TreeNode, Tree} from '../helpers/tree'
-import ViewSystem from './ViewSystem';
-
-function log(...m) {
-	console.log(...m);
-}
-
-export class RouteNode extends Node {
-	constructor(routeName, uri, view = null, defaultLink = null) {
-		super(uri);
-		this.routeName = routeName;
-		this.uri = uri;
-		this.view = view;
-		this.defaultLink = defaultLink; // Goes to if no view is specified
-	}
-
-	hasView() {
-		return !!this.view;
-	}
-
-	getDefaultLink() {
-		return this.defaultLink;
-	}
-}
-
-export default class RoutingSystem {
-	constructor() {
-		this.topology = new Graph();
-		this.currentNode = null;
-		this.homeNode = null;
-	}
-
-	setHome(home) {
-		this.homeNode = home;
-		this.currentNode = this.homeNode;
-		return this;
-	}
-
-	addRouteNode(node, parent = this.rootNode) {
-		this.topology.addNode(node);
-		this.topology.linkNodes(node, parent);
-		return this;
-	}
-
-	addRoute(route, routeName) {
-		let acc = "";
-		let nodeNames = route.split('.')
-		.map((item, index) => {
-			acc = [...acc, item];
-			return acc.join('.');
-		});
-		//log("nodeNames");
-		//log(nodeNames);
-		let i = 0;
-		while (i < nodeNames.length) {
-			//log("Checking ", nodeNames[i]);
-			if (!this.topology.has(nodeNames[i])) {
-				//log("Creating ", nodeNames[i]);
-				let temp = new RouteNode(routeName, nodeNames[i]);
-				this.topology.addNode(temp);
-				if( i > 0 ) {
-					let parent = this.topology.getNode(nodeNames[i-1]);
-					let link = this.topology.linkNodes(parent, temp);
-					parent.defaultLink = link;
-				}
-			} else {
-				log(" HAS ALREADY ", nodeNames[i]);
-			}
-			i++;
-		}
-		return this;
-	}
-
-	goTo(route) {
-		return this.currentNode = route;
-	}
-
-	setView(route, view) {
-		let node = this.topology.getNode(route);
-		//this.topology.nodes[node.id].view = view;
-		node.view = view;
-		return this;
-	}
-
-	setDefaultLink(route, dest) {
-		let node = route;
-		let dst  = dest;
-		let links= this.topology.getLinks(route).out;
-		let link = new Link(node, dst); 
-		if(!links.has(link)) {
-			throw new Error(`There is no link from ${route} to ${dest}`);
-		}
-		node.defaultLink = link;
-		return this;
-	}
-
-	getView(route) {
-		let node = this.topology.getNode(route);
-		return node.view;
-	}
-	getCurrentView() { 
-		return this.topology.getNode(this.currentNode).view;
-	}
-
-	removeRoute(route) {
-		let temp = this.topology.getNode(route);
-		this.topology.removeNode(temp);
-		return temp;
-	}
-
-	print() {
-		log("Printing Routes: ");
-		for(let node in this.topology.nodes) {
-			log("Node: ", node)
-			let outSet = this.topology.getLinks(node).out;
-			outSet.forEach( link => log("Link to : ", link.to.id) );
-		}
-	}
-
-
-	export() {
-		
-		let graph = this.topology.export();
-
-		return {
-			topology: graph,
-			home : this.homeNode
-		}
-	}
-
-	import(data) {
-		let { topology, home } = data;
-		try{ 
-			this.topology.import(topology, RouteNode);
-			this.setHome(home);
-		} catch(e) {
-			console.log(e);
-			throw new Error("RS Import Failed: ");
-		}
-		return this;
-	}
-}

+ 0 - 305
.yalc/trapilib/lib/systems/ViewSystem.js

@@ -1,305 +0,0 @@
-import React from 'react';
-import {TreeNode, Tree} from '../helpers/tree'
-import Row from '../../modules/Row';
-import Col from '../../modules/Col';
-import BaseHolder from '../../modules/BaseHolder';
-import {View as Div, StyleSheet} from 'react-native';
-
-function log(...m) {
-	console.log(...m);
-}
-export class ViewNode extends TreeNode {
-	constructor(id,value, props, namespace = "default"){
-		super(id);
-		this.value = value; // constructor Component
-		this.namespace = namespace;
-		this.props = props || {};
-	}
-}
-
-export class Node extends TreeNode {
-	constructor(id, props, content) {
-		super(id);
-		this.ctor = BaseHolder;
-		this.props = props || {};
-		if(content){
-			this.content = content; // this is a viewNode
-		}
-	}
-}
-
-export default class ViewSystem {
-	constructor(MS, ES) {
-		this.views = {};
-		this.ModuleSystem = MS;
-		this.EventSystem = ES;
-	}
-
-	getNode(ViewId, NodeId) {
-		return this.views[ViewId].getNode(NodeId);
-	}
-
-	getView(name) {
-		return this.views[name];
-	}
-	addView(name, view) {
-		this.views[name] = view;
-		return view;
-	}
-
-	removeView(name) {
-		let view = this.views[name];
-		delete this.views[name];
-		return view;
-	}
-
-	render(name) {
-		return this.views[name].render(this.ModuleSystem, this.EventSystem);
-	}
-
-	export() {
-		let views = {};
-
-		for(var i in this.views) {
-			views[i] = this.views[i].export();
-		}
-
-		return {
-			views
-		}
-	}
-
-	import(data) {
-		let { views } = data;
-
-		for(var i in views) {
-			this.views[i] = new View().import(views[i]);
-		}
-
-		return this;
-	}
-
-	ray(viewId, x, y, id) {
-		let tree = this.views[viewId].ViewTree;
-
-	}
-}
-
-export class View {
-	constructor(){
-		this.ViewTree = new Tree();
-		let rootNode = new Node(Math.random(), {stretchContainer: true, selected: true}); // row
-		this.addViewNode(rootNode);
-		// this.setColumns(rootNode, 1);
-		this.defaultContainer = rootNode;
-	}
-
-	getDefaultContainer() {
-		return this.defaultContainer;
-	}
-
-	getRoot() {
-		return this.ViewTree.root;
-	}
-	getNode(id) {
-		return this.ViewTree.getNode(id);
-	}
-
-	has(node) {
-		if (typeof node !== "object") return this.getNode(node);
-		return this.getNode(node.id);
-	}
-
-	render(MS, ES) {
-		let node = this.ViewTree.root;
-		return (<Renderer ModuleSystem={MS} EventSystem={ES} node={node} tree={this.ViewTree}/>);	
-	}
-
-	addViewNode(node,parentNode = null){
-		this.ViewTree.insert(node,parentNode);
-		return this;
-	}
-
-	setContent(content, container) {
-		container.content = content;
-		return this;
-	}
-
-	getParent(node) {
-		return this.getNode(this.ViewTree.getParent(node));
-	}
-
-	getRows(column) {
-		log("Deprecated for now")
-		return true;
-		if(!column.isCol) {
-			throw new Error("You must pass a ColNode to this function");
-		}
-		return this.getChildren(column);
-	}
-	setRows(column, rows = 1) {
-		log("Deprecated for now")
-		return true;
-		if(!column.isCol) 	throw new Error("You must pass a ColNode to this function");
-		if(rows < 1) 	throw new Error("Only positive rows");
-
-		let colChildren = this.getChildren(column);
-		if (colChildren.length > rows) {
-			for(var i = rows; i < colChildren.length; i++) {
-				let row = colChildren[i];
-				if(row.content) {
-					if(confirm("Are you sure you want to remove this row it has content?"))
-						this.remove(row);
-				} else {
-					this.remove(row);				}
-			}
-		} else {
-			for(var i = colChildren.length; i < rows; i++)
-				this.addViewNode(new Node(Math.random(), true), column); // row
-		}
-		return this.getRows(column);
-	}
-
-	getColumns(row) {
-		log("Deprecated for now")
-		return true;
-		if(!row.isRow) {
-			throw new Error("You must pass a RowNode to this function");
-		}
-		return this.getChildren(row);
-	}
-	setColumns(row, columns = 1) {
-		log("Deprecated for now")
-		return true;
-		if(!row.isRow) 	throw new Error("You must pass a RowNode to this function");
-		if(columns < 1) throw new Error("Only positive cols");
-
-		let rowChildren = this.getChildren(row);
-		if (rowChildren.length > columns) {
-			for(var i = columns; i < rowChildren.length; i++) {
-				let col = rowChildren[i];
-				if(col.content) {
-					if(confirm("Are you sure you want to remove this col it has content?"))
-						this.remove(col);
-				} else {
-					this.remove(col);
-				}
-			}
-		} else {
-			for(var i = rowChildren.length; i < columns; i++) {
-				this.addViewNode(new Node(Math.random()), row);
-			}
-		}
-		return this.getColumns(row);
-	}
-	addGrid(column, rowSize, columnSize) {
-		log("Deprecated for now")
-		return true;
-		this.setRows(column, rowSize)
-		.forEach(row => this.setColumns(row, columnSize)
-		.forEach(col => col.content = new ViewNode(
-			Math.random(),
-			"BaseContainer",
-			{}
-		)));
-	}
-	remove(node) {
-		if(node === root) {
-			console.log("Cannot remove Root node", node);
-			return this;
-		}
-		this.ViewTree.remove(node);
-		return this;
-	}
-
-	replace(oldNode,newNode){
-		this.ViewTree.replaceNode(oldNode,newNode);
-		return this;
-	}
-
-	getChildren(node) {
-		return this.ViewTree.getChildren(node);
-	}
-
-	import(data, parentNode) {
-		let { tree } = data;
-		if(!parentNode)
-			this.ViewTree = new Tree();
-		try {
-			this.ViewTree.import(tree, Node, parentNode);
-			this.defaultContainer = this.ViewTree.root;
-		} catch(e) {
-			log(e);
-			throw new Error("ViewSystem import error : ", e);
-		}
-		return this;
-	}
-
-	export(node) {
-		let tree = this.ViewTree.export(node);
-		return {
-			tree
-		};
-	}
-}
-/// Node = Container -> Everywhere Containers
-//  Content is Node.content Container property.
-//  When Content is present, Container for Containers is stretchedToContent
-//  IF NOT -> just be placed there.
-//  
-
-
-let Renderer = (props) => {
-	let { node , tree, ModuleSystem, EventSystem } = props;
-	let childrens = tree.getChildren(node);
-	let childrenReact = childrens.map(child => {
-		return(
-		<Renderer node = {child}
-				tree={tree}
-				key={child.id} 
-				ModuleSystem={ModuleSystem}
-				EventSystem={EventSystem} />)
-	});
-		
-	let viewNode = node.content;
-	let ViewNodeReact;
-	// IF CONTENT
-	if(viewNode) {
-		// Create ref
-		ModuleSystem.createRef(viewNode.id);
-		// Crete element
-		ViewNodeReact = ModuleSystem.createElement(
-			viewNode.value,
-			{ 
-				...viewNode.props,
-				ModuleID: viewNode.id,
-				EventSystem: EventSystem
-			},
-			[], // children
-			viewNode.namespace,
-			viewNode.id
-		);
-	}
-	ModuleSystem.createRef(node.id);
-	return ModuleSystem.createElementCtor(
-		node.ctor, 
-		{
-			...node.props,
-			depth: node.depth,
-			content: ViewNodeReact,
-			ID: node.id
-		},
-		childrenReact,
-		node.id
-	);
-}
-
-const styles = StyleSheet.create({
-	colWrapper: {
-		"position": "absolute",
-		"left": 0,
-		"bottom": 0,
-		"right": 0,
-		"top": 0
-	}
-})

+ 0 - 25
.yalc/trapilib/modules/BaseContainer.js

@@ -1,25 +0,0 @@
-import React from 'react';
-import { StyleSheet, Text, View, TextInput, Button } from 'react-native';
-
-import Types from '../lib/Types';
-
-export default function BaseContainer(props) {
-	let {
-		selected,
-		width,
-		height,
-		...restProps
-	} = props;
-	if(!width) width = BaseContainer.Inputs.width.default;
-	if(!height) height = BaseContainer.Inputs.height.default;
-	return (
-	    <View {...restProps} style={{width, height}}>
-	    </View>
-	);
-}
-
-
-BaseContainer.Inputs = {
-	width: new Types.Integer().require().default(50),
-	height: new Types.Integer().require().default(50)
-}

+ 0 - 109
.yalc/trapilib/modules/BaseHolder.js

@@ -1,109 +0,0 @@
-import React , { useState } from 'react';
-import { StyleSheet, Text, View, TextInput, Button } from 'react-native';
-
-import Types from '../lib/Types';
-
-export default class BaseHolder extends React.Component {
-	constructor(props){
-		super(props);
-	}
-
-	render() {
-		let {
-			children,
-			selected,
-
-			justifyContent,
-			alignItems,
-			alignContent,
-			flexDirection,
-			flexWrap,
-			flexFlow,
-
-			order,
-			alignSelf,
-			flexGrow,
-			flexShrink,
-			flexBasis,
-
-			width,
-			height,
-			overflow,
-
-			stretchContainer,
-			content,
-			...restProps
-		} = this.props;
-
-		let styl = [styles.base];
-		if (selected) styl.push(styles.selected);
-		if (stretchContainer) styl.push(styles.stretchToContent);
-		return (
-			// self container
-		    <View {...restProps} style={[styl, {
-		    	order,
-				alignSelf,
-				flexGrow,
-				flexShrink,
-				flexBasis,
-				width,
-				height,
-				overflow
-			}]}>
-		    	{content}
-
-		    	<View WRAPPER={true} style={ //children Container 
-		    	 	[
-		    	 	(!!content || stretchContainer) ? styles.stretchToContent : {},
-		    	 	{
-		    	 		justifyContent,
-						alignItems,
-						alignContent,
-						flexDirection,
-						flexWrap,
-						flexFlow,
-						padding: 5
-		    	 	}
-		    	 	]}>
-					{children}
-				</View>
-		    </View>
-		);
-	}
-}
-
-const styles = StyleSheet.create({
-	base: {
-		minHeight: 10
-	},
-	stretchToContent: {
-		position: 'absolute',
-		top: 0,
-		left: 0,
-		bottom: 0,
-		right: 0,
-		overflow: 'hidden'
-	},
-	selected: {
-		boxShadow: 'inset 0px 0px 1px 1px rgba(250,10,0,0.81)',
-		border: '1px solid green'
-	}
-});
-
-BaseHolder.Inputs = {
-	width: new Types.Integer(),
-	height: new Types.Integer(),
-	stretchContainer: new Types.Bool().default(false),
-	overflow: new Types.Integer().default('hidden'),
-	justifyContent: new Types.Text().default("flex-start"),
-	alignItems: new Types.Text(),
-	alignContent: new Types.Text(),
-	flexDirection: new Types.Text(),
-	flexWrap: new Types.Text(),
-	flexFlow: new Types.Text(),
-	order: new Types.Text(),
-	alignSelf: new Types.Text(),
-	flexGrow: new Types.Text(),
-	flexShrink: new Types.Text(),
-	flexBasis: new Types.Text()
-}

+ 0 - 41
.yalc/trapilib/modules/Button.js

@@ -1,41 +0,0 @@
-import React from 'react';
-import Module from '../lib/Module';
-import { View, Button , StyleSheet} from 'react-native';
-import Types from '../lib/Types';
-export default class ButtonComp extends Module {
-	constructor(props) {
-		super(props);
-	}
-
-	press(){
-		console.log("######You must over write this function@@@@@")
-	}
-
-
-	display() {
-		let { container ,  color } = this.props.style || '';
-		return 	(
-				<View key={Math.random()} style={container || defaultButton.container }>
-					<Button
-					  onPress = {this.props.press || this.press}
-					  title={this.props.title}
-					  color={this.props.color}
-					  accessibilityLabel="Learn more about this purple button"
-					/>
-				</View>)
-	}	
-	
-}
-
-ButtonComp.Inputs = {
-	title: new Types.Text().require().default('Submit'),
-	color: new Types.Text().require().color().default('rgba(3, 218, 198, 1)')
-}
-
-
-const defaultButton = StyleSheet.create({
-	container:{
-
-	},
-
-})

+ 0 - 36
.yalc/trapilib/modules/Col.js

@@ -1,36 +0,0 @@
-import React , { useState } from 'react';
-import { StyleSheet, Text, View, TextInput, Button } from 'react-native';
-
-
-export default class Col extends React.Component {
-	constructor(props){
-		super(props);
-	}
-
-	render() {
-		let {
-			children,
-			selected,
-			...restProps
-		} = this.props;
-
-		let styl = [styles.column];
-		if (selected) styl.push(styles.selected);
-
-		return (
-		    <View {...restProps} style={styl}>
-		    	{children}
-		    </View>
-		);
-	}
-}
-
-const styles = StyleSheet.create({
-	column: {
-		flex: 1,
-		justifyContent: 'flex-start'
-	},
-	selected: {
-		boxShadow: 'inset 0px 0px 1px 1px rgba(250,10,0,0.81)'
-	}
-});

+ 0 - 34
.yalc/trapilib/modules/DatePicker.js

@@ -1,34 +0,0 @@
-import React, {Component} from 'react';
-import {DatePickerIOS, View, StyleSheet} from 'react-native';
-import Module from '../lib/Module';
-import Types from '../lib/Types';
-
-
-export default class DatePicker extends Module{
-	constructor(props){
-		super(props)
-		this.state = { chosenDate : new Date()}
-	}
-	setDate(newDate) {
-    		this.setState({chosenDate: newDate});
-  		}
-
-	display(){
-		let { container } = this.props.style || '';
-		return(
-		<View style={container}>
-        	<DatePickerIOS
-          		date={this.state.chosenDate}
-          		onDateChange={(date) => this.setDate(date)}
-        />
-        </View>
-        )
-	}
-}
-
-
-
-DatePicker.Inputs = {
-
-}
-

+ 0 - 112
.yalc/trapilib/modules/Form.js

@@ -1,112 +0,0 @@
-import React from 'react';
-import Module from '../lib/Module';
-import {StyleSheet ,TextInput, View, Button , Text } from 'react-native';
-
-import Types from '../lib/Types';
-const Inp = [
-		{
-		textContentType :"username",
-		placeholder:"username"
-		},
-		{
-		textContentType :"password",
-		placeholder:"password"
-		}]
-
-
-export default class FormComp extends Module {
-	constructor(props) {
-		super(props);
-		this.state = {
-		}
-		this.submit = this.submit.bind(this)
-	}
-	submit(e){
-		e.preventDefault()
-		return this.state
-	}	
-	display() {
-		let {
-			inputs, // number of inputs this must be Object
-			inputsMargin,
-			ButtonText,
-			ButtonColor,
-			backgroundColor,
-			Formtitle
-		} = this.props
-		
-		//Init
-		if(!inputs) inputs = Inp;
-		if(!inputsMargin) inputsMargin = 7
-
-
-		let Inputs = Object.keys(inputs).map((key,indx) => {
-			let state = {}
-			return (<TextInput key={indx}
-				        style={[{height: 20, borderColor: 'gray', borderWidth: 1 , marginBottom:inputsMargin},StaticRules.text]}
-				        onChangeText={(text) => {
-				        state[indx] = text;
-				        	this.setState(state)}}
-				        value={this.state.key}
-				        placeholder={inputs[key].placeholder}
-				        textContentType={inputs[key].textContentType}
-				        secureTextEntry={ inputs[key].textContentType === "password" ? true :false}
-				      />)
-		})
-		
-		let fn = this.props.submit || this.submit
-		return 	(
-				<View style={[{backgroundColor:backgroundColor},StaticRules.container]}>
-					{this.props.Formtitle ? (
-						<Text>{this.props.Formtitle}</Text>
-						):(null)}	
-
-
-					{Inputs}
-			        <Button
-				    onPress = {(e) => fn(e)}
-				    title={this.props.ButtonText }
-				    color={this.props.ButtonColor}
-					accessibilityLabel="Learn more about this purple button"
-					/>
-				</View>)
-	}
-}
-//Predefined Rules that the User cant change
-let StaticRules = StyleSheet.create({
-	container:{
-		padding:10
-	},
-	text:{
-		fontSize:7
-	}
-})
-
-FormComp.Inputs = {
-	//inputsNum: new Types.Integer().require().default(2),
-	/*inputs:[
-		{
-		textContentType :"username",
-		placeholder:"username"
-		},
-		{
-		textContentType :"password",
-		placeholder:"password"
-		},
-	],*/
-	inputs:new Types.Object().require(),
-	ButtonText:new Types.Text().require().default('Submit'),
-	ButtonColor: new Types.Text().require().color().default('rgba(3, 218, 198, 1)'),
-	backgroundColor: new Types.Text().require().color().default('rgba(0, 140, 186, 1)'),
-	Formtitle: new Types.Text().require()
-}
-
-/*
-inputs, // number of inputs this must be Object
-			inputsMargin,
-			ButtonText,
-			ButtonColor,
-			backgroundColor,
-			Formtitle
-
-*/

+ 0 - 36
.yalc/trapilib/modules/Image.js

@@ -1,36 +0,0 @@
-import React from 'react';
-import Types from '../lib/Types';
-import Module from '../lib/Module';
-import { View, Image } from 'react-native';
-
-export default class ImageComp extends Module {
-	constructor(props) {
-		super(props);
-
-	}
-
-	display() {
-		let {
-			width,
-			height,
-			resizeMode,
-			source
-		} = this.props;
-		if(!width) width = 100;
-		if(!height) height = 100;
-		if(!resizeMode) resizeMode = 'cover';
-		return 	<Image
-			          style={{width, height}}
-			          resizeMode={resizeMode}
-			          source={source || require('./assets/default.jpg')}
-			        />
-	}
-}
-
-
-ImageComp.Inputs = {
-	source: new Types.Text(),
-	width: new Types.Integer().require().default(100),
-	height: new Types.Integer().require().default(100),
-	resizeMode: new Types.Text().require().default('cover')
-}

+ 0 - 23
.yalc/trapilib/modules/RootComp.js

@@ -1,23 +0,0 @@
-import React from 'react';
-import Types from '../lib/Types';
-import Module from '../lib/Module';
-import { StyleSheet, Text, View  } from 'react-native';
-
-export default class RootComp extends Module{
-
-	constructor(props) {
-		super(props);
-	}
-
-	display() {
-	  return (<View>
-	    <Text>{this.props.text || ""} - {this.props.second}</Text>
-	    {this.props.children}
-	    </View>);
-	}
-}
-
-RootComp.Inputs = {
-	text: new Types.Text().require().default("Sample Text"),
-	second: new Types.Integer().require().default(5)
-}

+ 0 - 44
.yalc/trapilib/modules/Row.js

@@ -1,44 +0,0 @@
-import React , { useState } from 'react';
-import { StyleSheet, Text, View, TextInput, Button } from 'react-native';
-
-
-export default class Row extends React.Component{
-	constructor(props) {
-		super(props);
-	}
-
-	render() {
-		let {
-			children,
-			selected,
-			depth,
-			...restProps
-		} = this.props;
-
-		console.log(depth);
-		let styl = [styles.row];
-		if(depth !== 2) styl.push(styles.rowStretch);
-		if (selected) styl.push(styles.selected);
-	  	return (
-	    	<View {...restProps} style={styl}>
-		    	{children}
-		    </View>
-	  	);
-	}
-}
-
-const styles = StyleSheet.create({
-	row: {
-		// flex:1, // this stretches the rows to full Col Height
-		alignItems: 'flex-start',
-		flexDirection: 'row',
-		overflow: 'hidden'
-	},
-	rowStretch: {
-		flex: 1,
-		alignItems: 'stretch'
-	},
-	selected: {
-		boxShadow: 'inset 0px 0px 1px 1px rgba(0,0,0,0.31)'
-	}
-});

+ 0 - 35
.yalc/trapilib/modules/Text.js

@@ -1,35 +0,0 @@
-import React from 'react';
-import Module from '../lib/Module';
-import {StyleSheet ,TextInput, View, Text } from 'react-native';
-
-import Types from '../lib/Types';
-export default class TextComp extends Module {
-	constructor(props) {
-		super(props);
-		this.state = {
-			text: props.text || ""
-		}
-	}
-
-	display() {
-		let {
-			text,
-			color,
-			fontSize
-		} = this.props;
-		return 	(
-				<View>
-					<Text style={{color, fontSize}}>
-						{text}
-					</Text>
-					{this.props.children}
-				</View>)
-	}
-}
-
-
-TextComp.Inputs = {
-	text: new Types.Text().default("Enter Text"),
-	color: new Types.Text(),
-	fontSize: new Types.Integer().default(22)
-}

+ 0 - 24
.yalc/trapilib/modules/View.js

@@ -1,24 +0,0 @@
-import React from 'react';
-		
-import Module from '../lib/Module';
-		
-import { View } from 'react-native';
-	
-export default class ViewComp extends Module {
-		
-	constructor(props) {
-		
-		super(props);
-	}
-
-	display() {
-		
-		return 	<View>
-		
-					{this.props.children}
-		
-				</View>;
-		
-	}
-		
-}

+ 0 - 20
.yalc/trapilib/modules/ViewComp.js

@@ -1,20 +0,0 @@
-import React from 'react';
-
-import Module from '../lib/Module';
-import { StyleSheet, Text, View } from 'react-native';
-
-
-export default class ViewComp extends Module{
-
-	constructor(props) {
-		super(props);
-	}
-
-	display() {
-		
-		return (
-			<View key={Math.random()} >
-					
-				</View>)
-	}
-}

二進制
.yalc/trapilib/modules/assets/default.jpg


+ 0 - 15
.yalc/trapilib/modules/index.js

@@ -1,15 +0,0 @@
-export default [
-	"Text",
-	"RootComp",
-	"Image",
-	"Button",
-	"Form",
-	"ViewComp",
-	"BaseContainer",
-	"View"
-
-
-].reduce((acc, item) => {
-	acc[item] = require('./' + item).default;
-	return acc;
-}, {});

+ 0 - 31
.yalc/trapilib/package.json

@@ -1,31 +0,0 @@
-{
-  "main": "node_modules/expo/AppEntry.js",
-  "scripts": {
-    "start": "expo start",
-    "android": "expo start --android",
-    "ios": "expo start --ios",
-    "web": "expo start --web",
-    "eject": "expo eject",
-    "transpile": "babel lib --out-dir dist/lib --copy-files --ignore __tests__,spec.js,test.js,__snapshots__ && babel modules --out-dir dist/modules --copy-files --ignore __tests__,spec.js,test.js,__snapshots__"
-  },
-  "dependencies": {
-    "expo": "^34.0.0-experiment.8",
-    "prop-types": "^15.7.2",
-    "react": "16.8.3",
-    "react-dom": "^16.8.6",
-    "react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",
-    "react-native-web": "^0.11.5"
-  },
-  "name": "trapilib",
-  "version": "1.0.7-f13bf6bb",
-  "directories": {
-    "lib": "lib"
-  },
-  "repository": {
-    "type": "git",
-    "url": "http://git.onarbooks.com/Klapi/TrapiLib"
-  },
-  "author": "",
-  "license": "ISC",
-  "description": ""
-}

+ 0 - 8
.yalc/trapilib/setup.sh

@@ -1,8 +0,0 @@
-npm run transpile
-git add .
-git commit -m "Ups"
-git push
-cd ..
-cd Editor
-yarn upgrade trapilib
-expo start --web

+ 0 - 6
.yalc/trapilib/updateLocal.sh

@@ -1,6 +0,0 @@
-npm run transpile
-yalc publish
-cd ..
-cd Editor
-yalc add trapilib
-expo start --web

+ 0 - 1
.yalc/trapilib/yalc.sig

@@ -1 +0,0 @@
-f13bf6bb673fee6f3e7f6ef23089e75a

+ 25 - 0
Systems/SideBar.js

@@ -101,6 +101,7 @@ export default class SideBar extends BaseSystem {
 		let selectedNode = this.ToolBox.selectedNode;
 		
 		let Structure = {},
+			styles = {},
 			nodeStructure = {};
 		let viewNodeProps = {},
 			nodeProps = {};
@@ -109,6 +110,9 @@ export default class SideBar extends BaseSystem {
 			this.ContainerNode = selectedNode;
 			if(selectedNode.content && selectedNode.content.value) {
 				let ctor = ModuleSystem.fromViewNode(selectedNode.content);
+				console.log("YOUR LOOKINGH")
+				console.log(ctor)
+				styles = ctor.Styles;
 				viewNodeProps = ModuleSystem.validateProps(ctor, selectedNode.content.props);
 				Structure = ctor.Inputs;
 			}
@@ -117,6 +121,20 @@ export default class SideBar extends BaseSystem {
 		} else {
 			this.ContainerNode = null;
 		}
+
+		let StyleData = Object.keys(styles || {}).map((key,index) => 
+			
+			
+			<option key={selectedNode.id + key}  value = {styles[key]}>
+				{key}	
+			</option>
+
+		)
+
+		console.log("@@@@@@@@@@@@@@@@@@")
+		console.log(StyleData)
+		console.log(styles)
+		console.log("!!!!!!!!!!!!!!!!!!!!")
 		let contentData = Object.keys(Structure || {}).map((key,index) => 
 			<View key={selectedNode.id + key}>
 			{this.createHandler(Structure[key], viewNodeProps, key, (v, f) => 
@@ -129,9 +147,16 @@ export default class SideBar extends BaseSystem {
 				this.editNode(selectedNode, v, f))}
 			</View>
 		);
+
+
+
 		return (
   			<View>
   				<Text style={SideBarStyle.title}>Side Bar</Text>
+
+  				<View key={Math.random()}>
+  					<select>{StyleData}</select>
+  				</View>
   				<View>
   					{this.ContainerNode && <View key={this.ContainerNode.id}>
   						<Text>Container</Text>

+ 2 - 214
package-lock.json

@@ -7197,227 +7197,15 @@
       "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
     },
     "trapilib": {
-      "version": "git+http://git.onarbooks.com/Klapi/TrapiLib.git#d7adf2602d5b110b570dd82d4145124451e18234",
-      "from": "git+http://git.onarbooks.com/Klapi/TrapiLib.git",
+      "version": "file:.yalc/trapilib",
       "requires": {
         "expo": "^34.0.0-experiment.8",
         "prop-types": "^15.7.2",
         "react": "16.8.3",
         "react-dom": "^16.8.6",
         "react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",
+        "react-native-elements": "^1.1.0",
         "react-native-web": "^0.11.5"
-      },
-      "dependencies": {
-        "@unimodules/core": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-3.0.2.tgz",
-          "integrity": "sha512-EMZjVp+yrtoPKpDBPvj4+hyDWALl7gvpWeUsDz2Nb9MMBPLnhag1uNk3KC98StJdnjbSXKSdKrCMMidOXnyKcg==",
-          "requires": {
-            "compare-versions": "^3.4.0"
-          }
-        },
-        "@unimodules/react-native-adapter": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-3.0.0.tgz",
-          "integrity": "sha512-zkFFE0HQ2Flfx/aY3hBKDgMvQ1meUm3H6vMIacY1KywexCuKW8ivBobkOsHIet4jf7km0Eklt6WtB3LqQVw5yw==",
-          "requires": {
-            "invariant": "^2.2.4",
-            "lodash": "^4.5.0",
-            "prop-types": "^15.6.1"
-          }
-        },
-        "babel-preset-expo": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-6.0.0.tgz",
-          "integrity": "sha512-MvDy86afmCt4sFYkg7yXsZyGL0yONT5JQHZSK1r8cu26Zm1No0yQyll+w78e2OkkYwVFtC1u70GyBPdERG7BZg==",
-          "requires": {
-            "@babel/core": "^7.1.0",
-            "@babel/plugin-proposal-decorators": "^7.1.0",
-            "@babel/plugin-transform-modules-commonjs": "^7.4.4",
-            "@babel/preset-env": "^7.3.1",
-            "babel-plugin-module-resolver": "^3.1.1",
-            "babel-plugin-react-native-web": "^0.11.2",
-            "metro-react-native-babel-preset": "^0.51.1"
-          }
-        },
-        "expo": {
-          "version": "34.0.4",
-          "resolved": "https://registry.npmjs.org/expo/-/expo-34.0.4.tgz",
-          "integrity": "sha512-sZQQoZnN5ASrkSA4qSsk7HPBewHB6b3k9VPZvchT0FBZ1fP5vpmzfIbVOqOLRXHf2VdjNnQVme617TnpPlruJg==",
-          "requires": {
-            "@babel/runtime": "^7.1.2",
-            "@expo/vector-icons": "^10.0.2",
-            "@types/fbemitter": "^2.0.32",
-            "@types/invariant": "^2.2.29",
-            "@types/lodash.zipobject": "^4.1.4",
-            "@types/qs": "^6.5.1",
-            "@types/uuid-js": "^0.7.1",
-            "@unimodules/core": "~3.0.0",
-            "@unimodules/react-native-adapter": "~3.0.0",
-            "babel-preset-expo": "^6.0.0",
-            "cross-spawn": "^6.0.5",
-            "expo-app-loader-provider": "~6.0.0",
-            "expo-asset": "~6.0.0",
-            "expo-constants": "~6.0.0",
-            "expo-file-system": "~6.0.0",
-            "expo-font": "~6.0.1",
-            "expo-keep-awake": "~6.0.0",
-            "expo-linear-gradient": "~6.0.0",
-            "expo-location": "~6.0.0",
-            "expo-permissions": "~6.0.0",
-            "expo-sqlite": "~6.0.0",
-            "expo-web-browser": "~6.0.0",
-            "fbemitter": "^2.1.1",
-            "invariant": "^2.2.2",
-            "lodash": "^4.6.0",
-            "md5-file": "^3.2.3",
-            "nullthrows": "^1.1.0",
-            "pretty-format": "^23.6.0",
-            "prop-types": "^15.6.0",
-            "qs": "^6.5.0",
-            "react-native-branch": "~3.0.1",
-            "react-native-view-shot": "2.6.0",
-            "serialize-error": "^2.1.0",
-            "unimodules-barcode-scanner-interface": "~3.0.0",
-            "unimodules-camera-interface": "~3.0.0",
-            "unimodules-constants-interface": "~3.0.0",
-            "unimodules-face-detector-interface": "~3.0.0",
-            "unimodules-file-system-interface": "~3.0.0",
-            "unimodules-font-interface": "~3.0.0",
-            "unimodules-image-loader-interface": "~3.0.0",
-            "unimodules-permissions-interface": "~3.0.0",
-            "unimodules-sensors-interface": "~3.0.0",
-            "unimodules-task-manager-interface": "~3.0.0",
-            "uuid-js": "^0.7.5"
-          }
-        },
-        "expo-app-loader-provider": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-6.0.0.tgz",
-          "integrity": "sha512-GtpztJVxOz+vVwdLyHskpzVzFWMXZPIFC/zczHZPsTwjS+wXj6n8MVaLxX6GaTyhNEtYjp0VIQUw3b7eP+vO6w=="
-        },
-        "expo-asset": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-6.0.0.tgz",
-          "integrity": "sha512-M0sJphdCQ0mq+7kg6rQmq4rU5hbsL72AZCNrga565JchCLeevJhv6j72erh2viqDAPdvjZpGwc7pwI/dxu1+zg==",
-          "requires": {
-            "blueimp-md5": "^2.10.0",
-            "path-browserify": "^1.0.0",
-            "url-parse": "^1.4.4"
-          }
-        },
-        "expo-constants": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-6.0.0.tgz",
-          "integrity": "sha512-O0yL3Ok0YUEWpAqsWjOdgFD/lMfg8PUGH/nq31CZ1s7cuFUlksD42i5YhIRlb0Pa/btK8X9LpfY3eWhx9eTmbg==",
-          "requires": {
-            "ua-parser-js": "^0.7.19"
-          }
-        },
-        "expo-file-system": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-6.0.2.tgz",
-          "integrity": "sha512-s+6oQpLhcT7MQp7fcoj1E+zttMr0WX6c0FrddzqB4dUfhIggV+nb35nQMASIiTHAj8VPUanTFliY5rETHRMHRA==",
-          "requires": {
-            "uuid-js": "^0.7.5"
-          }
-        },
-        "expo-font": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-6.0.1.tgz",
-          "integrity": "sha512-zQwGFTKSrsTWmFzS0l87i6TyqM0YFDK4ui4sSzpbdQsUHXpeG7wfa67i09roLS0xtp85nrR9Vm2bUJp9njV8JQ==",
-          "requires": {
-            "fontfaceobserver": "^2.1.0"
-          }
-        },
-        "expo-keep-awake": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-6.0.0.tgz",
-          "integrity": "sha512-MAtZknf6FtIC0ipkDS2FVa87al8YBsrpsQ2qMf+H/cI6FOd6aahaggN4x75xGnt5UzozgWfjhGNCi1XCr14rJw=="
-        },
-        "expo-linear-gradient": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-6.0.0.tgz",
-          "integrity": "sha512-TGHSK7MsoU1wZXx9uEivMggAR/KT4wTSE0xBfhB8qsziGXoHZdoT79/tZ3HyWtCG7+JVUEFXfUOBxtOlZOu5tg=="
-        },
-        "expo-location": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-6.0.0.tgz",
-          "integrity": "sha512-5uSebmZos0DKJ/xpi+2e9myWVPUWk+fshFedi55wzlGqy2YpTG5MlDcCLlJlamgJ5Tm8+3ECdhbFX3g1pNRDVQ==",
-          "requires": {
-            "invariant": "^2.2.4"
-          }
-        },
-        "expo-permissions": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-6.0.0.tgz",
-          "integrity": "sha512-O+RdyfGiq7i+5Vi9fE38DgKn436lNWiqhnS5/Z7CC00bmKahhjVMNDbZvNn/nrdRGyaPneJk1Co1s1sexSnv0A=="
-        },
-        "expo-sqlite": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-sqlite/-/expo-sqlite-6.0.0.tgz",
-          "integrity": "sha512-M8heovLeJoq7tb4f7PipDu0dqHSklbI2EqNvDM8XLjSZdSv6CqCMHg5Kvx0L9CLYTchjzktDPClZKjgvtGOVug==",
-          "requires": {
-            "@expo/websql": "^1.0.1",
-            "@types/websql": "^0.0.27",
-            "lodash": "^4.17.11"
-          }
-        },
-        "expo-web-browser": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-6.0.0.tgz",
-          "integrity": "sha512-7XkFPd4PRlVP6FscTnn78c0tY6+yLzb2Eai/ed+l+LB+hZWuhyY3ONzYM7/IKAiPmfhZr4Qs80vIa7iiavti8A=="
-        },
-        "react-native-branch": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-3.0.1.tgz",
-          "integrity": "sha512-vbcYxPZlpF5f39GAEUF8kuGQqCNeD3E6zEdvtOq8oCGZunHXlWlKgAS6dgBKCvsHvXgHuMtpvs39VgOp8DaKig=="
-        },
-        "unimodules-barcode-scanner-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-3.0.0.tgz",
-          "integrity": "sha512-EtJBfKU5VgZbyIfIZwyWfUo59pIgW6s7YGzlpj9jk4UWKyqqhYT/FoaZqudCJcPcfh2eYxkc9VxBGieRBpQrzg=="
-        },
-        "unimodules-camera-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-camera-interface/-/unimodules-camera-interface-3.0.0.tgz",
-          "integrity": "sha512-STjf1FAdYlN27ilJSR4kIUYyHTPrkQSR/mEg4S4pZX6tazmcuG2KzLCXCoV+xMWsrwmsMBjgLzw6yzg87N5Ydw=="
-        },
-        "unimodules-constants-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-constants-interface/-/unimodules-constants-interface-3.0.0.tgz",
-          "integrity": "sha512-S4ap11UJH7D+Y4fXC7DyMNAkqIWD8B7rNCTS30wAF9beHXMZa1Od66rkJgSHqFRURy06h+Jr7qfJm9H5mtMz8Q=="
-        },
-        "unimodules-face-detector-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-face-detector-interface/-/unimodules-face-detector-interface-3.0.0.tgz",
-          "integrity": "sha512-fMQ3ZnhdOjbQ5ZXW62s/t1bbqBaenxzVIcgVEcwvLIFek0mx/EMHFkySgFkFjU11icUvaPEXW1yJtkK4QEpLhg=="
-        },
-        "unimodules-file-system-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-file-system-interface/-/unimodules-file-system-interface-3.0.0.tgz",
-          "integrity": "sha512-LkLIKRE3CwsXLRFw8vx0++Cfjj+pAvvidVb7yhGWKFmNlVaWUW9Z8jkhFLBFXDsGFAOU69bUTrz25jmB2MRt0Q=="
-        },
-        "unimodules-font-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-font-interface/-/unimodules-font-interface-3.0.0.tgz",
-          "integrity": "sha512-DOQI0uTn7CGvA9lNUuiTWfQYuKQEM8LZKn6gNS8G+HVHVb+TZl/37qdhuoMBi5jkAZ4VOD/GpgnPv8qr0pJi1Q=="
-        },
-        "unimodules-image-loader-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-image-loader-interface/-/unimodules-image-loader-interface-3.0.0.tgz",
-          "integrity": "sha512-hC/VWdT33GkOZ4FLaqPoKGNKxhw+miFhM+7Re57snWIWYewSv0lRvCqqwc/hbGLocvd2qF3YYrBx9woqPI8NzA=="
-        },
-        "unimodules-permissions-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-permissions-interface/-/unimodules-permissions-interface-3.0.0.tgz",
-          "integrity": "sha512-rfyGDBMtO8IOlk9hJN44EKz7vk6nt/PXByAumsptRdgsd+knokMlaWGYatrxKW2g/08WUbEkgKspvMxjJ0M1Tg=="
-        },
-        "unimodules-sensors-interface": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/unimodules-sensors-interface/-/unimodules-sensors-interface-3.0.0.tgz",
-          "integrity": "sha512-1JJT/lqCfxHqUSJc3o6b0WUply/lFOJjcuzN0QcAfmdAW8d+lEXA7BJ7DV/Nn/OKpMlHriEyxkM+FoGoXKJJcg=="
-        }
       }
     },
     "trim-right": {

+ 1 - 1
yalc.lock

@@ -2,7 +2,7 @@
   "version": "v1",
   "packages": {
     "trapilib": {
-      "signature": "f13bf6bb673fee6f3e7f6ef23089e75a",
+      "signature": "0de879dbcd7ba9a7e3af9d59ae866e1e",
       "file": true,
       "replaced": "git+http://git.onarbooks.com/Klapi/TrapiLib.git"
     }

+ 3 - 3
yarn.lock

@@ -5676,15 +5676,15 @@ [email protected]:
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
   integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
 
-"trapilib@git+http://git.onarbooks.com/Klapi/TrapiLib.git":
-  version "1.0.7"
-  resolved "git+http://git.onarbooks.com/Klapi/TrapiLib.git#911220acc05039b547251a4ef5d605de8540f5e2"
+"trapilib@file:.yalc/trapilib":
+  version "1.0.7-8d2552a1"
   dependencies:
     expo "^34.0.0-experiment.8"
     prop-types "^15.7.2"
     react "16.8.3"
     react-dom "^16.8.6"
     react-native "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz"
+    react-native-elements "^1.1.0"
     react-native-web "^0.11.5"
 
 trim-right@^1.0.1:

部分文件因文件數量過多而無法顯示