import React from 'react'; import Types from '../../lib/Types'; import Module from '../../lib/Module'; import { Accordion as AccordionCtor } from 'native-base'; import { Actionsheet as ActionsheetCtor } from 'native-base'; import { Badge as BadgeCtor } from 'native-base'; import { Body as BodyCtor } from 'native-base'; import { Button as ButtonCtor } from 'native-base'; import { Card as CardCtor } from 'native-base'; import { CardItem as CardItemCtor } from 'native-base'; import { CheckBox as CheckboxCtor } from 'native-base'; import { Container as ContainerCtor } from 'native-base'; import { Content as ContentCtor } from 'native-base'; import { DatePicker as DatePickerCtor } from 'native-base'; import { DeckSwiper as DeckSwiperCtor } from 'native-base'; import { Fab as FabCtor } from 'native-base'; import { Footer as FooterCtor } from 'native-base'; import { FooterTab as FooterTabCtor } from 'native-base'; import { Form as FormCtor } from 'native-base'; import { Gravatar as GravatarCtor } from 'native-base'; import { H1 as H1Ctor } from 'native-base'; import { H2 as H2Ctor } from 'native-base'; import { H3 as H3Ctor } from 'native-base'; import { Header as HeaderCtor } from 'native-base'; import { IconNB as IconNBCtor } from 'native-base'; import { Input as InputCtor } from 'native-base'; import { InputGroup as InputGroupCtor } from 'native-base'; import { Item as ItemCtor } from 'native-base'; import { Label as LabelCtor } from 'native-base'; import { Left as LeftCtor } from 'native-base'; import { List as ListCtor } from 'native-base'; import { ListItem as ListItemCtor } from 'native-base'; import { PickerItem as PickerItemCtor } from 'native-base'; import { Radio as RadioCtor } from 'native-base'; import { Right as RightCtor } from 'native-base'; import { Root as RootCtor } from 'native-base'; import { Segment as SegmentCtor } from 'native-base'; import { Separator as SeparatorCtor } from 'native-base'; import { Spinner as SpinnerCtor } from 'native-base'; import { Subtitle as SubtitleCtor } from 'native-base'; import { SwipeRow as SwipeRowCtor } from 'native-base'; import { Switch as SwitchCtor } from 'native-base'; import { Tab as TabCtor } from 'native-base'; import { TabContainer as TabContainerCtor } from 'native-base'; import { TabHeading as TabHeadingCtor } from 'native-base'; import { Text as TextCtor } from 'native-base'; import { Textarea as TextareaCtor } from 'native-base'; import { Thumbnail as ThumbnailCtor } from 'native-base'; import { Title as TitleCtor } from 'native-base'; import { Toast as ToastCtor } from 'native-base'; import { ToastContainer as ToastContainerCtor } from 'native-base'; import { View as ViewCtor } from 'native-base'; export class Accordion extends Module { constructor(props) { super(props); } display() { return } } export class Actionsheet extends Module { constructor(props) { super(props); } display() { return } } export class Badge extends Module { constructor(props) { super(props); } display() { let { text, icon, style, color, ...restProps } = this.props; return {icon ? : null} {text ? {text} : null} } } export class Body extends Module { constructor(props) { super(props); } display() { return } } export class Button extends Module { constructor(props) { super(props); } display() { let { text, icon, onPress, ...rest } = this.props; let run = () => { this.createAction(onPress) }; return {icon ? : null} {text ? {text} : null} } } export class Card extends Module { constructor(props) { super(props); this.CoreSystem = props.CoreSystem; } display() { let { header, body, footer, bodyModules, ...rest } = this.props; let item = this.renderModule('Button','NativeBase'); console.log("ITEM : ", item); return {header ? {header} : null} {body} {this.moduleArray(bodyModules)} {footer ? {footer} : null} ; } } export class CardItem extends Module { constructor(props) { super(props); } display() { return } } export class Checkbox extends Module { constructor(props) { super(props); } display() { return } } export class Container extends Module { constructor(props) { super(props); } display() { return } } export class Content extends Module { constructor(props) { super(props); } display() { return } } export class DatePicker extends Module { constructor(props) { super(props); } display() { return } } export class DeckSwiper extends Module { constructor(props) { super(props); } display() { return } } export class Fab extends Module { constructor(props) { super(props); } display() { return } } export class Footer extends Module { constructor(props) { super(props); } display() { return } } export class FooterTab extends Module { constructor(props) { super(props); } display() { return } } export class Form extends Module { constructor(props) { super(props); this.state = {}; } submit() { this.createAction(this.props.onSubmit); } change(item, value) { this.setState({ [item]: value }); } display() { let { inputs, button, onSubmit, ...rest } = this.props; return [ {inputs ? inputs.map((item, index) => { return this.change(item && item.toLowerCase(), value)}/> }) : null} , button ? this.submit()}> {button} : null ] } } export class Gravatar extends Module { constructor(props) { super(props); } display() { return } } export class H1 extends Module { constructor(props) { super(props); } display() { let { content, ...rest } = this.props; return {content} } } export class H2 extends Module { constructor(props) { super(props); } display() { let { content, ...rest } = this.props; return {content} } } export class H3 extends Module { constructor(props) { super(props); } display() { let { content, ...rest } = this.props; return {content} } } export class Header extends Module { constructor(props) { super(props); } display() { return } } export class IconNB extends Module { constructor(props) { super(props); } display() { return } } export class Input extends Module { constructor(props) { super(props); } display() { let { icon, placeholder, ...rest } = this.props; return {icon ? : null} ; } } export class InputGroup extends Module { constructor(props) { super(props); } display() { return } } export class Item extends Module { constructor(props) { super(props); } display() { let { placeholder, mod, ...rest } = this.props; console.log("RENDERMOD:", mod); return {this.module(mod)} ; } } export class Label extends Module { constructor(props) { super(props); } display() { return } } export class Left extends Module { constructor(props) { super(props); } display() { return } } export class List extends Module { constructor(props) { super(props); } display() { return } } export class ListItem extends Module { constructor(props) { super(props); } display() { return } } export class PickerItem extends Module { constructor(props) { super(props); } display() { return } } export class Radio extends Module { constructor(props) { super(props); } display() { return } } export class Right extends Module { constructor(props) { super(props); } display() { return } } export class Root extends Module { constructor(props) { super(props); } display() { return } } export class Segment extends Module { constructor(props) { super(props); } display() { return } } export class Separator extends Module { constructor(props) { super(props); } display() { return } } export class Spinner extends Module { constructor(props) { super(props); } display() { return } } export class Subtitle extends Module { constructor(props) { super(props); } display() { return } } export class SwipeRow extends Module { constructor(props) { super(props); } display() { return } } export class Switch extends Module { constructor(props) { super(props); } display() { return } } export class Tab extends Module { constructor(props) { super(props); } display() { return } } export class TabContainer extends Module { constructor(props) { super(props); } display() { return } } export class TabHeading extends Module { constructor(props) { super(props); } display() { return } } export class Text extends Module { constructor(props) { super(props); } display() { let { content, ...rest } = this.props return {content} } } export class Textarea extends Module { constructor(props) { super(props); } display() { let { ...rest } = this.props; return } } export class Thumbnail extends Module { constructor(props) { super(props); } display() { return } } export class Title extends Module { constructor(props) { super(props); } display() { return } } export class Toast extends Module { constructor(props) { super(props); } display() { return } } export class ToastContainer extends Module { constructor(props) { super(props); } display() { return } } export class View extends Module { constructor(props) { super(props); } display() { return } } Text.Inputs = { uppercase: new Types.Bool().default(false), content: new Types.Text().default("Hello world!") } Accordion.Inputs = { } Actionsheet.Inputs = { } Body.Inputs = { } Button.Inputs = { text: new Types.Text().default("Press me"), onPress: new Types.Action(), block: new Types.Bool(), primary: new Types.Bool(), transparent: new Types.Bool(), success: new Types.Bool(), danger: new Types.Bool(), warning: new Types.Bool(), info: new Types.Bool(), bordered: new Types.Bool(), disabled: new Types.Bool(), rounded: new Types.Bool(), large: new Types.Bool(), small: new Types.Bool(), active: new Types.Bool() } Badge.Inputs = { icon: new Types.Text(), text: new Types.Text().require().default("1"), color: new Types.Text().color().require().default("rgba(255,255,255,1)"), primary: new Types.Bool(), success: new Types.Bool(), danger: new Types.Bool(), warning: new Types.Bool(), info: new Types.Bool() } Card.Inputs = { header: new Types.Text().default("Header"), body: new Types.Text().default("Lorem ipsum body bla la trapala"), footer: new Types.Text().default("Add footer here"), bodyModules: new Types.Array(new Types.Module()), texts: new Types.Array(new Types.Text()) } CardItem.Inputs = { header: new Types.Bool(), cardBody: new Types.Bool(), footer: new Types.Bool(), button: new Types.Bool() } Checkbox.Inputs = { checked: new Types.Bool() } Container.Inputs = { } Content.Inputs = { disableKBDismissScroll: new Types.Bool(), keyboardShouldPersistTaps: new Types.Text(), padder: new Types.Bool() } DatePicker.Inputs = { } DeckSwiper.Inputs = { } Fab.Inputs = { } Footer.Inputs = { } FooterTab.Inputs = { } Form.Inputs = { inputs: new Types.Array(new Types.Text()), button: new Types.Text().default('Submit'), onSubmit: new Types.Action() } Gravatar.Inputs = { email: new Types.Text().require(), size: new Types.Real(), circular: new Types.Bool(), square: new Types.Bool() } H1.Inputs = { ...Text.Inputs } H2.Inputs = { ...Text.Inputs } H3.Inputs = { ...Text.Inputs } Header.Inputs = { searchBar: new Types.Bool(), rounded: new Types.Bool() } IconNB.Inputs = { } Item.Inputs = { mod: new Types.Module(), inlineLabel: new Types.Bool(), floatingLabel: new Types.Bool(), stackedLabel: new Types.Bool(), fixedLabel: new Types.Bool(), success: new Types.Bool(), error: new Types.Bool() } Input.Inputs = { icon: new Types.Text(), placeholder: new Types.Text(), ...Item.Inputs } InputGroup.Inputs = { regular: new Types.Bool(), underline: new Types.Bool(), rounded: new Types.Bool(), success: new Types.Bool(), error: new Types.Bool(), disabled: new Types.Bool() } Label.Inputs = { floatBack: new Types.Real() } Left.Inputs = { } List.Inputs = { } ListItem.Inputs = { itemDivider: new Types.Bool(), button: new Types.Bool() } PickerItem.Inputs = { } Radio.Inputs = { selected: new Types.Bool(), standardStyle: new Types.Bool() } Right.Inputs = { } Root.Inputs = { } Segment.Inputs = { } Separator.Inputs = { } Spinner.Inputs = { color: new Types.Text(), inverse: new Types.Bool() } Subtitle.Inputs = { } SwipeRow.Inputs = { } Switch.Inputs = { } Tab.Inputs = { } TabContainer.Inputs = { } TabHeading.Inputs = { } Textarea.Inputs = { placeholder: new Types.Text(), rowSpan: new Types.Real(), bordered: new Types.Bool(), underline: new Types.Bool() } Thumbnail.Inputs = { square: new Types.Bool(), circular: new Types.Bool(), size: new Types.Real() } Title.Inputs = { } Toast.Inputs = { } ToastContainer.Inputs = { } View.Inputs = { } export default { // Accordion, // Actionsheet, Badge, // Body, Button, Card, // CardItem, Checkbox, // Container, // Content, // DatePicker, // DeckSwiper, // Fab, // Footer, // FooterTab, Form, // Gravatar, H1, H2, H3, // Header, IconNB, Input, // InputGroup, // Item, // Label, // Left, // List, // ListItem, // PickerItem, Radio, // Right, // Root, // Segment, // Separator, // Spinner, // Subtitle, // SwipeRow, // Switch, // Tab, // TabContainer, // TabHeading, // Text, // Textarea, // Thumbnail, // Title, // Toast, // ToastContainer, // View }