Noveo Web Components
Web Components was designed by Noveo UI Kit and builded on Stencil
Documentation was written on Storybook: http://components.noveogroup.com
If you want to run storybook locally then you can use serve
cd storybook-static
serve
How to use
If you want to use this components on React application then you should use special components for React: http://example.com
Because React support web-components only for 71%: https://custom-elements-everywhere.com/libraries/react/results/results.html
Installation
By npm
:
npm install @noveo/web-components --save
Or by yarn
:
yarn add @noveo/web-components
Usage
import { defineCustomElements } from '@noveo/web-components/loader';
defineCustomElements(window);
If you want to support Edge and IE11:
import { applyPolyfills, defineCustomElements } from '@noveo/web-components/loader';
applyPolyfills.then(() => defineCustomElements(window));
After defineCustomElements
call all components will be available like HTML5 elements:
<nv-table>
<nv-table-head>
<nv-table-cell>Name</nv-table-cell>
<nv-table-cell>Job Title</nv-table-cell>
<nv-table-cell>Salary</nv-table-cell>
</nv-table-head>
<nv-table-body>
<nv-table-row>
<nv-table-cell>Rhianna</nv-table-cell>
<nv-table-cell>International Program Officer</nv-table-cell>
<nv-table-cell>$972</nv-table-cell>
</nv-table-row>
<nv-table-row>
<nv-table-cell>Archibald</nv-table-cell>
<nv-table-cell>Central Tactics Planner</nv-table-cell>
<nv-table-cell>$852</nv-table-cell>
</nv-table-row>
<nv-table-row>
<nv-table-cell>Deondre</nv-table-cell>
<nv-table-cell>Forward Interactions Planner</nv-table-cell>
<nv-table-cell>$274</nv-table-cell>
</nv-table-row>
</nv-table-body>
</nv-table>
Components
nv-alert
Properties
Property |
Attribute |
Description |
Type |
Default |
color |
color |
|
AlertMods.DANGER | AlertMods.PRIMARY | AlertMods.SUCCESS | AlertMods.WARN |
AlertMods.PRIMARY |
dismiss |
-- |
|
(event: MouseEvent) => void |
undefined |
isOpen |
is-open |
|
boolean |
true |
timeout |
timeout |
|
number |
undefined |
nv-button
Properties
Property |
Attribute |
Description |
Type |
Default |
big |
big |
makes the button taller and longer |
boolean |
false |
color |
color |
color option (danger, success, primary, secondary) |
ButtonColors.danger | ButtonColors.primary | ButtonColors.secondary | ButtonColors.success |
ButtonColors.primary |
disabled |
disabled |
disables the button and changes styles |
boolean |
false |
outline |
outline |
changes styles |
boolean |
false |
size |
size |
size option (xs, sm, md, lg, xl, xxl, responsive-container, responsive-text) |
ButtonSizes.lg | ButtonSizes.md | ButtonSizes.responsiveContainer | ButtonSizes.responsiveText | ButtonSizes.sm | ButtonSizes.xl | ButtonSizes.xs | ButtonSizes.xxl |
ButtonSizes.responsiveText |
nv-checkbox
Properties
Property |
Attribute |
Description |
Type |
Default |
checked |
checked |
activity flag |
boolean |
false |
description |
description |
text between label and checkbox |
string |
'' |
disabled |
disabled |
disables the checkbox and changes styles |
boolean |
false |
dropVariant |
drop-variant |
changes the styles of the active state |
boolean |
false |
error |
error |
red text under the checkbox, makes the label red |
string |
'' |
label |
label |
large text over checkbox |
string |
'' |
name |
name |
name prop for input |
string |
'' |
value |
value |
checkbox text |
string |
'' |
Events
Event |
Description |
Type |
change |
onChange event returns isChecked |
CustomEvent<boolean> |
Dependencies
Used by
Depends on
Graph
graph TD;
nv-checkbox --> nv-label
nv-select --> nv-checkbox
style nv-checkbox fill:#f9f,stroke:#333,stroke-width:4px
nv-dropdown-container
Dependencies
Used by
Graph
graph TD;
nv-select --> nv-dropdown-container
style nv-dropdown-container fill:#f9f,stroke:#333,stroke-width:4px
nv-icon
Properties
Property |
Attribute |
Description |
Type |
Default |
name |
name |
The icon to use from the built-in set of icons. Only alpha characters and dash are allowed. |
string |
undefined |
publicPath |
public-path |
The custom path to assets dir on a server. Should be used with name attribute to make up a full path like this: /${publicPath}assets/icons/${iconName}.svg
|
string |
'' |
size |
size |
The size of the icon. Available options are: sm , md , and lg . |
IconSizes.LG | IconSizes.MD | IconSizes.SM |
IconSizes.SM |
src |
src |
The exact path to an SVG file on a server. If used, it overrides the path formed by name and public-path attributes. |
string |
undefined |
Dependencies
Used by
Graph
graph TD;
nv-select --> nv-icon
style nv-icon fill:#f9f,stroke:#333,stroke-width:4px
nv-input
Properties
Property |
Attribute |
Description |
Type |
Default |
autocomplete |
autocomplete |
If input should provide autocomplete |
string |
'on' |
autofocus |
autofocus |
If input should autofocus on mount |
boolean |
false |
disabled |
disabled |
If input is disabled or not |
boolean |
false |
invalid |
invalid |
If input is invalid or not |
boolean |
false |
name |
name |
Name attribute for the input |
string |
'' |
placeholder |
placeholder |
Placeholder for the input |
string |
'' |
required |
required |
Whenever input is required or not |
boolean |
false |
type |
type |
Type attribute for the input |
string |
'text' |
value |
value |
Value for the input |
string |
'' |
Events
Event |
Description |
Type |
change |
onChange event returns current input value |
CustomEvent<string> |
nv-label
Properties
Property |
Attribute |
Description |
Type |
Default |
description |
description |
text between label and element |
string |
'' |
error |
error |
red text under the element, makes the label red |
string |
'' |
label |
label |
large text over element |
string |
'' |
Dependencies
Used by
Graph
graph TD;
nv-checkbox --> nv-label
nv-radio-group --> nv-label
nv-select --> nv-label
nv-switch --> nv-label
style nv-label fill:#f9f,stroke:#333,stroke-width:4px
nv-radio-group
Properties
Property |
Attribute |
Description |
Type |
Default |
column |
column |
switch flex-direction (row | column) |
boolean |
true |
description |
description |
text between label and radio-group |
string |
'' |
error |
error |
red text under the radio-group, makes the label red |
string |
'' |
label |
label |
large text over radio-group |
string |
'' |
value |
value |
makes an element with this value active |
string |
null |
Events
Event |
Description |
Type |
change |
onChange event returns the value of the selected radio |
CustomEvent<string> |
Dependencies
Depends on
Graph
graph TD;
nv-radio-group --> nv-label
style nv-radio-group fill:#f9f,stroke:#333,stroke-width:4px
nv-select
Properties
Property |
Attribute |
Description |
Type |
Default |
description |
description |
text between label and select |
string |
'' |
disabled |
disabled |
disables the select and changes styles |
boolean |
false |
error |
error |
red text under the select, makes the label red |
string |
'' |
items |
-- |
initial data |
Item[] |
[] |
label |
label |
large text over select |
string |
'' |
placeholder |
placeholder |
placeholder |
string |
'' |
type |
type |
style option (primary, checkbox, multi) |
SelectTypes.checkbox | SelectTypes.multi | SelectTypes.primary |
SelectTypes.primary |
value |
value |
initial value |
string | string[] |
null |
Events
Event |
Description |
Type |
change |
onChange event returns selected values |
CustomEvent<string | string[]> |
Dependencies
Depends on
Graph
graph TD;
nv-select --> nv-icon
nv-select --> nv-checkbox
nv-select --> nv-label
nv-select --> nv-dropdown
nv-select --> nv-dropdown-button
nv-select --> nv-dropdown-container
nv-checkbox --> nv-label
style nv-select fill:#f9f,stroke:#333,stroke-width:4px
nv-switch
Properties
Property |
Attribute |
Description |
Type |
Default |
checked |
checked |
activity flag |
boolean |
false |
description |
description |
text between label and switch |
string |
'' |
disabled |
disabled |
disables the switch and changes styles |
boolean |
false |
error |
error |
red text under the switch, makes the label red |
string |
'' |
label |
label |
large text over switch |
string |
'' |
name |
name |
name prop for input |
string |
'' |
value |
value |
switch text |
string |
'' |
Events
Event |
Description |
Type |
change |
onChange event returns isChecked |
CustomEvent<boolean> |
Dependencies
Depends on
Graph
graph TD;
nv-switch --> nv-label
style nv-switch fill:#f9f,stroke:#333,stroke-width:4px
nv-tabs
Properties
Property |
Attribute |
Description |
Type |
Default |
active |
active |
id of the active tab |
string |
defaultActive |
type |
type |
style option (primary, secondary, table) |
TabTypes.primary | TabTypes.secondary | TabTypes.table |
TabTypes.primary |
Events
Event |
Description |
Type |
change |
onChange event returns the active-tab-id of the selected tab |
CustomEvent<string> |
Dependencies
Used by
Graph
graph TD;
nv-tab-example --> nv-tabs
nv-table-example --> nv-tabs
style nv-tabs fill:#f9f,stroke:#333,stroke-width:4px
nv-table
Properties
Property |
Attribute |
Description |
Type |
Default |
type |
type |
|
TabTypes.primary | TabTypes.secondary | TabTypes.table |
TabTypes.table |
Dependencies
Depends on
Graph
graph TD;
nv-table-example --> nv-table
nv-table-example --> nv-table-head
nv-table-example --> nv-table-cell
nv-table-example --> nv-table-body
nv-table-example --> nv-table-row
nv-table-example --> nv-tabs
nv-table-example --> nv-tab
nv-table-example --> nv-tab-content
nv-table-example --> nv-tab-pane
style nv-table-example fill:#f9f,stroke:#333,stroke-width:4px
nv-table-body
Dependencies
Used by
Graph
graph TD;
nv-table-example --> nv-table-body
style nv-table-body fill:#f9f,stroke:#333,stroke-width:4px
nv-table-cell
Properties
Property |
Attribute |
Description |
Type |
Default |
align |
align |
|
TableCellAlignments.center | TableCellAlignments.left | TableCellAlignments.right |
TableCellAlignments.left |
splitters |
splitters |
|
TableSplitters.all | TableSplitters.horizontal | TableSplitters.none | TableSplitters.partial | TableSplitters.vertical |
TableSplitters.all |
Dependencies
Used by
Graph
graph TD;
nv-table-example --> nv-table-cell
style nv-table-cell fill:#f9f,stroke:#333,stroke-width:4px
nv-table-head
Dependencies
Used by
Graph
graph TD;
nv-table-example --> nv-table-head
style nv-table-head fill:#f9f,stroke:#333,stroke-width:4px
nv-table-row
Properties
Property |
Attribute |
Description |
Type |
Default |
color |
color |
|
TableRowColors.danger | TableRowColors.default | TableRowColors.success |
TableRowColors.default |
splitters |
splitters |
|
TableSplitters.all | TableSplitters.horizontal | TableSplitters.none | TableSplitters.partial | TableSplitters.vertical |
undefined |
Dependencies
Used by
Graph
graph TD;
nv-table-example --> nv-table-row
style nv-table-row fill:#f9f,stroke:#333,stroke-width:4px
nv-tooltip
Properties
Property |
Attribute |
Description |
Type |
Default |
boundary |
boundary |
The element that should act as boundaries for the tooltip. |
TooltipBoundaries.SCROLLPARENT | TooltipBoundaries.VIEWPORT | TooltipBoundaries.WINDOW |
TooltipBoundaries.VIEWPORT |
fadeTime |
fade-time |
The duration (in seconds) of the tooltip fade-out effect animation |
number |
0.4 |
flip |
flip |
If the tooltip should auto-flip when it starts to overlap its target element. |
boolean |
true |
hideTriggers |
hide-triggers |
The space-separated events that should close the tooltip when fired on the target (eg. mouseout blur ). If empty, the tooltip will never be closed from outside. FYI: You will hardly ever need this attribute, since 'opposite' events for common triggers are added automagically. |
string |
undefined |
isOpen |
is-open |
If the tooltip should be visible |
boolean |
false |
noArrow |
no-arrow |
If the tooltip arrow should be hidden |
boolean |
undefined |
placement |
placement |
The tooltip placement relative to the target |
TooltipPlacements.AUTO | TooltipPlacements.AUTOEND | TooltipPlacements.AUTOSTART | TooltipPlacements.BOTTOM | TooltipPlacements.BOTTOMEND | TooltipPlacements.BOTTOMSTART | TooltipPlacements.LEFT | TooltipPlacements.LEFTEND | TooltipPlacements.LEFTSTART | TooltipPlacements.RIGHT | TooltipPlacements.RIGHTEND | TooltipPlacements.RIGHTSTART | TooltipPlacements.TOP | TooltipPlacements.TOPEND | TooltipPlacements.TOPSTART |
TooltipPlacements.AUTO |
showTriggers |
show-triggers |
The space-separated events that should open the tooltip when fired on the target (eg. mouseover focus ). FYI: If a single click trigger is provided (without hide-triggers ), another click event will also be registered on the document object to close the tooltip, for your convenience. |
string |
undefined |
target |
target |
The CSS selector of the target element |
string |
undefined |
timeout |
timeout |
How long in milliseconds the tooltip should stay open after the page load. |
number |
undefined |