eclipse-mobile-components
TypeScript icon, indicating that this package has built-in type declarations

1.1.5 • Public • Published

eclipse-mobile-components


Eclipse Mobile Components are crafted for developers who prioritise quick prototyping without compromising on usability. Our components offer a minimalistic yet detailed approach, providing an alternative to the out-of-the-box React Native components which may not always meet the rapid development needs. Perfect for those looking to swiftly bring their app ideas to life, specifically made for JS/TS Expo on iOS and Android platforms.

PrimaryButton

A customisable button component, offering flexibility in size, colour, and styling.

Props

Prop Type Optional Default Description
title string No The text displayed on the button.
onPress function No Callback function to execute when the button is pressed.
size "small" | "large" Yes "small" Predefined button sizes.
backgroundColour string Yes Predefined colour The background colour of the button.
textColour string Yes The colour of the button text.
borderRadius number Yes Predefined value The border radius of the button.
borderWidth number Yes Predefined value The border width of the button.
textStyle object Yes Custom style object for the button text.
width number | null Yes Custom width for the button.
height number | null Yes Custom height for the button.

Usage Example

import { PrimaryButton } from "eclipse-mobile-components";

<PrimaryButton
  title="Press Me"
  onPress={() => alert("Button Pressed")}
  size="large"
  backgroundColour="#007bff"
  textColour="#ffffff"
/>;

Visual Example

PrimaryButton


TextField Component

A customisable text input component, offering a wide range of styling options.

Properties

Property Type Optional Default Description
value any No The current value of the text input.
setter Function No Function to update the value based on user input.
placeholder string Yes Placeholder text displayed when the input is empty.
textStyle Object Yes Custom style for the text within the input.
textSize number Yes Size of the text within the input.
width number Yes Custom width for the input field.
height number Yes Custom height for the input field.
inputColour string Yes defaultInputColour Colour of the input text.
borderRadius number Yes defaultBorderRadius Border radius for the input field.
borderWidth number Yes defaultBorderWidth Border width for the input field.
backgroundColour string Yes defaultTextFieldColour Background colour of the input field.

Usage Example

import React, { useState } from "react";
import { TextField } from "eclipse-mobile-components";

const MyComponent = () => {
  const [text, setText] = useState("");

  return (
    <TextField
      value={text}
      setter={setText}
      placeholder="Enter something..."
      textSize={16}
      backgroundColour="#fff"
      inputColour="#333"
    />
  );
};

Visual Example

TextField


TabSystem Component

The TabSystem offers a flexible and interactive means to display content in a tabulated format.

Properties

Property Type Optional Description
tabOneTitle string No Title for the first tab.
tabTwoTitle string No Title for the second tab.
tabOneContent React.ReactNode No Content displayed when the first tab is active.
tabTwoContent React.ReactNode No Content displayed when the second tab is active.
height number Yes Optional height for the content container.
width number Yes Optional width for the content container.

Usage Example

import React from "react";
import { TabSystem } from "eclipse-mobile-components";
const App = () => (
  <TabSystem
    tabOneTitle="Tab 1"
    tabTwoTitle="Tab 2"
    tabOneContent={<Text>Content for Tab 1</Text>}
    tabTwoContent={<Text>Content for Tab 2</Text>}
    height={300}
  />
);
export default App;

Visual Example

TabSystem


CustomWarning Component

A modal component designed for displaying warnings or messages with customisable options.

Properties

Property Type Optional Description
visible boolean No Controls the visibility of the modal.
message string No The message or content displayed inside the modal.
onClose function No Function to call when attempting to close the modal.
title string No The title displayed at the top of the modal.
buttonTwoTitle string Yes Title for an optional second button.
buttonTwoOnClick function Yes Callback for the optional second button.

Visual Example

import { CustomWarning } from "eclipse-mobile-components";
import { useState } from "react";

export default function App() {
  const [modalVisible, setModalVisible] = useState(false);
  return (
    <CustomWarning
      visible={modalVisible}
      title="Warning"
      buttonOneTitle="Button A"
      message="This is a detailed warning message."
      onClose={() => setModalVisible(false)}
      buttonTwoTitle="Button B"
      buttonTwoOnClick={() => console.log("Second action taken")}
    />
  );
}

Visual Example

CustomWarning


CustomAvatar Component

A customisable avatar component with an optional badge indicator.

Properties

Property Type Optional Description
imageSource ImageSourcePropType No Source of the avatar image.
badgeCount number | string Yes Content of the badge. Can be used for notification counts.
size number Yes Custom size for the avatar's diameter.
badgeSize number Yes Custom size for the badge's diameter.

Usage Example

import React from "react";
import { CustomAvatar } from "eclipse-mobile-components";

const UserProfile = () => (
  <CustomAvatar
    imageSource={{
      uri: "https://images.pexels.com/photos/428361/pexels-photo-428361.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
    }}
    badgeCount="9+"
    size={100}
    badgeSize={25}
  />
);

Visual Example

CustomAvatar


AccordionSection Component

A versatile accordion component, allowing content to be expanded and collapsed.

Properties

Property Type Optional Description
title string No The title displayed on the accordion header.
children React.ReactNode No The content to be shown when the accordion is expanded.
width number Yes Optional width for the accordion, defaulting to the screen's width.

Usage Example

import React from "react";
import { AccordionSection } from "eclipse-mobile-components";

const App = () => {
  return (
    <AccordionSection title="Section Title">
      <Text>Content goes here.</Text>
    </AccordionSection>
  );
};

Visual Example

CustomAccordionSection_Close CustomAccordionSection_Open


CustomModal Component

A flexible modal component, enabling customised presentation layers.

Properties

Property Type Optional Description
showModal boolean No Controls the visibility of the modal.
children React.ReactNode No The content rendered within the modal.
containerStyle object Yes Custom style for the modal's container.
contentStyle object Yes Custom style for the modal's content.
borderWidth number Yes Custom border width for the container.
borderRadius number Yes Custom border radius for the container.
borderColor string Yes Custom border colour for the container.

Usage Example

import React from "react";
import { CustomModal } from "eclipse-mobile-components";

const App = () => (
  <CustomModal
    showModal={true}
    borderWidth={2}
    borderRadius={10}
    borderColor="grey"
    containerStyle={{ backgroundColor: "rgba(0,0,0,0.5)" }}
    contentStyle={{ backgroundColor: "white" }}
  >
    <View style={{ width: 300, height: 100 }}>
      <Text>Modal Content Goes Here</Text>
    </View>
  </CustomModal>
);

Visual Example

CustomModal


Package Sidebar

Install

npm i eclipse-mobile-components

Weekly Downloads

4

Version

1.1.5

License

MIT

Unpacked Size

33.8 kB

Total Files

30

Last publish

Collaborators

  • thchan1992