Nucleus is a library of web-components stand-alone for all products of MiFiel
Simply add the follow tags into your html and ready! you can use them
<head>
...
<link rel="stylesheet" href="https://cdn.mifiel.co/[email protected]/nucleus.css">
</head>
<body>
...
<script src="/build/nucleus.js" defer></script>
</body>
Nucleus contains basic components that you can use as html tags
- components have their own propierties
- components handle their own events
Note: you can assign callback to events with .addEventListener() method
Mi Main Container
is a wrapper for all projects, you dont need say it what proyect is, it just will render the correct header and footer
<mi-main-container id-container="mainContainer" email="[email protected]" avatar-path="./assets/avatar-default.png">
And depending what theme is, you will need to pass it some props
Property | type | options |
---|---|---|
id-container | number | |
string | ||
avtar-path | string | path |
tickers | object | Array of what currency is trading |
isWhiteOnMobile | boolean | true false |
Nucleus has many variants for buttons from basic and primary until hyperlinks, you can make them small and larges, with icon, change colors, send a text to the clipboard.
<mi-button ...properties> mi button <mi-button>
Property | type | options |
---|---|---|
theme | string | vex vol |
block | boolean | true false |
color | string | |
disabled | boolean | true false |
href | string | path |
size | string | xs sm md lg |
submit | boolean | true false |
tiny | boolean | true false |
type | string | basic outline |
target | string | _self _blank |
icon | string | path |
name | string | |
class-name | string | |
clipboard-text | string | some text to send to the clipboard |
state | string | is-active is-scale is-scaleOnActive |
Events Supportted
buttonClick
buttonMouseEnter
buttonMouseLeave
It seems like a button group but only supports two options
<mi-toggle-button ...properties><mi-toggle-button>
Property | type | options |
---|---|---|
type | string | basic |
color | string | primary |
block | boolean | true false |
is-active | boolean | true false |
first-text | string | |
last-text | string |
Events Supportted
firstButtonClick
lastButtonClick
Links are simplest componets, you can modify the same props as any <a>
also it provides some styles
<mi-link ...properties><mi-link>
Property | type | options |
---|---|---|
class-name | string | |
type | string | vex vol basic bg |
color | string | white | n50ToG200 | n250ToG200 | n350ToWhite | y300ToG200 | n300ToN500 | r150ToN500 |
spacing | boolean | true false |
strong | boolean | true false |
bold | boolean | true false |
strong | boolean | true false |
active | boolean | true false |
underline | boolean | true false |
has-caret | boolean | true false |
target | string | _self _blank |
Events Supportted
linkClick
Input support all variants such as to accept only numbers, password, email, letters, also this provides validations
<mi-input ...properties />
Input component has methods that allow apply actions on itself
var element = document.getElementByTagName('mi-input');
element.isValid() // true or false
element.reset() // clear inputs messages
element.clear() // same that reset also this lets empty value
Property | type | options |
---|---|---|
theme | string | vex vol |
boolean | true false |
|
number | boolean | true false |
required | boolean | true false |
password | boolean | true false |
phone-number | boolean | true false |
currency | boolean | true false |
letters | boolean | true false |
decimals | boolean | true false |
disabled | boolean | true false |
block | boolean | true false |
is-dark | boolean | true false |
show-password | boolean | true false |
color | string | |
min-lenght | number | |
max-lenght | number | |
label-text | string | |
with-abbr | string | |
name | string | |
place-holder | string | |
success | boolean | true false |
message-success | string | |
error | boolean | true false |
message-error | string |
Events Supportted
valueChange
A simple checkbox with validations
<mi-checkbox checked="true" name="name2" class-name="mi_u-marginB20" error="true" error-message="you have to read and check the message above before withdrawing to it." type="basic" color="g200">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima recusandae similique vitae rerum possimus.</p>
</mi-checkbox>
Property | type | options |
---|---|---|
class-name | string | |
type | string | basic |
color | string | g200 |
value | string | |
required | string | true false |
checked | string | true false |
disabled | string | true false |
error | string | true false |
error-message | string |
Events Supportted
checkChange
Sidenav reusable
<mi-side-nav ...properties />
Property | type | options |
---|---|---|
theme | string | vex vol |
type | string | basic |
block | boolean | true false |
Add items to the sidenav
var sidenav = document.getElementByTagName('mi-side-nav');
const options = [
{ label: 'Account', url: '/path' },
{ label: 'Security', url: '/path-2' },
{ label: 'Account verification', url: '/path-3' },
{ label: 'Bank accounts', url: '/path-4', active: true }
];
sidenav.options = options;
Events Supportted
not supportted
<mi-tabs position-tabs="bottom" grow="">
<mi-tab-header slot="header" name="tab1">Tab 1</mi-tab-header>
<mi-tab-header slot="header" name="tab2">Tab 2</mi-tab-header>
<mi-tab-content slot="content" name="tab1">
<h1>Tab one</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Et hic nobis error blanditiis laboriosam, vitae omnis
fugit tempore optio delectus voluptate sed quidem voluptatibus dicta quod sint, expedita, explicabo aut. </p>
</mi-tab-content>
<mi-tab-content slot="content" name="tab2">
<h1>Tab two</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Incidunt, vero! Dignissimos iure architecto doloribus
a tenetur? Similique possimus provident porro ut perferendis placeat illo quasi, dolores accusantium ullam,
deleniti qui! </p>
</mi-tab-content>
</mi-tabs>
Properties for mi-tabs
Property | type | options |
---|---|---|
type | string | basic whiteToG200 |
grow | boolean | true false |
positionTabs | string | top bottom |
Properties for mi-tab-header
Property | type | options |
---|---|---|
index | string | |
name | string | |
grow | boolean | true false |
isSelected | string | top bottom |
slot | string | header |
Properties for mi-tab-content
Property | type | options |
---|---|---|
name | string | |
isSelected | string | top bottom |
slot | string | content |
Events Supportted
For mi-tab-header
tabSelect
<mi-input-code id="input-code" is-dark></mi-input-code>
Aditionally it receives a child or slot to show a message error
<mi-input-code id="input-code" error>
<p slot="messageError">Ups! Some went wrong</p>
</mi-input-code>
Properties
Property | type | options |
---|---|---|
type | string | basic |
color | string | primary |
id-name | string | |
class-name | string | |
label-text | string | |
is-dark | boolean | true false |
error | boolean | true false |
number-digits | number |
Input code component has the .isValid()
method that allow you validate if input is required or has errors.
var inputCode = document.getElementByTagName('mi-input-code');
inputCode.isValid() // true or false
Events Supportted
not supportted
Show a trace of the browser history
<mi-breadcrumbs></mi-breadcrumbs>
Property | type | options |
---|---|---|
theme | string | vex vol |
class-name | string |
Add items to the breadcrumbs component
var breadcrumbs = document.getElementByTagName('mi-breadcrumbs');
const options = [
{ label: 'Account', url: '/path' },
{ label: 'Security', url: '/path-2' },
{ label: 'Account verification', url: '/path-3' },
{ label: 'Bank accounts', url: '/path-4', active: true }
];
breadcrumbs.options = options;
Events Supportted
not supportted
Progress bar works with percentages, i mean, you should use values between 1 - 100 use customs colors for show the bar and progress
<mi-progress-bar percentage="10" color-progress="#e6004d"></mi-progress-bar>
Property | type | options |
---|---|---|
class-name | string | |
color-progress | string | color i.e. #e6004d |
color-bar | string | color i.e. #e6004d |
percentage | number | 1 - 100 % |
Events Supportted
not supportted
A component that shows notifications at the top-right corner
<mi-notify>
body's message: Lorem ipsum dolor sit amet consectetur adipisicing elit.
</mi-notify>
Property | type | options |
---|---|---|
theme | string | vex vol |
class-name | string | |
type | string | success error |
notify-title | string | |
show | boolean | true false |
Events Supportted
closeNotify
<mi-dropdown rounded>
<mi-dropdown-toggle slot="toggle" caret alignment="right">
<span>Button</span>
</mi-dropdown-toggle>
<mi-dropdown-menu slot="menu" placement="bottom-right" block>
<ul>
<li>
<mi-link strong>Opcion 1</mi-link>
</li>
<li>
<mi-link strong>Opcion 2</mi-link>
</li>
<li>
<mi-link strong>Opcion 3</mi-link>
</li>
</ul>
</mi-dropdown-menu>
</mi-dropdown>
Properties for mi-dropdown
Property | type | options |
---|---|---|
theme | string | vex vol |
class-name | string | |
type | string | basic |
color | string | nb650AndWhite nb650 nb550 |
rounded | boolean | true false |
block | boolean | true false |
active | boolean | true false |
padding | boolean | sm md |
Properties for mi-dropdown-toggle
Property | type | options |
---|---|---|
slot | string | toggle |
class-name | string | |
type | string | basic |
color | string | nb650AndWhite nb650 nb550 |
caret | boolean | true false |
block | boolean | true false |
active | boolean | true false |
activeOnHover | boolean | true false |
aligment | string | left right center between |
Properties for mi-dropdown-menu
Property | type | options |
---|---|---|
slot | string | menu |
class-name | string | |
block | boolean | true false |
placement | string | left-top left-bottom top-left top-right right-top right-bottom bottom-left bottom-right |
Events Supportted
Events for mi-dropdown-toggle
dropdownToggle
This component add a label with a circle before it, the circle can take a color depending of status property, if status is not set it will show a empty circle
<mi-notify>
body's message: Lorem ipsum dolor sit amet consectetur adipisicing elit.
</mi-notify>
Property | type | options |
---|---|---|
status | string | approved reject |
Events Supportted
not supprted