0.0.72 • Published 3 years ago
@carbonaut/popover-dropdown v0.0.72
Popover Dropdown
This is a web-component built with Stencil that presents a custom popover that can receive a any callback functions that will be called on click.
Install
npm i @carbonaut/popover-dropdown --save
Getting Started
To get our component up and running on your app, follow the steps for your framework (or Vanilla JS):
Vanilla JS:
- Add the package's module on a
script
tag inside yourhead
tag in yourindex.html
file:
<script type='module' src='https://unpkg.com/@carbonaut/popover-dropdown@latest/dist/popover-dropdown/popover-dropdown.esm.js'></script>
</head>
- Apply the component to html and then attach the options attibutes to the component using JavaScript:
HTML
<popover-dropdown></popover-dropdown>
JavaScript
const popoverDropdown = document.querySelector('popover-dropdown');
popoverDropdown.firstOption = 'Deutsch';
popoverDropdown.icon = './assets/img/globe-outline.svg';
popoverDropdown.options = [
{ label: 'Deutsch', callback: () => {} },
{ label: 'English', callback: () => {} },
{ label: 'Español', callback: () => {} },
];
Angular
- Add
defineCustomElements
function to yourmain.ts
file:
import { defineCustomElements } from '@carbonaut/popover-dropdown/loader';
defineCustomElements(window);
- On the
module.ts
file you're going to use the component addCUSTOM_ELEMENTS_SCHEMA
to your schema configuration
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
@NgModule({
imports: [
...
],
declarations: [...],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
- Use the component on your HTML template page and attach the option properties through your
.ts
file;
your-page.page.html
<popover-dropdown [options]="options" [firstOption]="firstOption">
<img style="width: 100%" slot="icon" src="./assets/img/globe-outline.svg" alt="icon" />
</popover-dropdown>
your-page.page.ts
export class ExamplePage {
options: Option[] = [
{ label: 'Deutsch', callback: () => {} },
{ label: 'English', callback: () => {} },
{ label: 'Español', callback: () => {} },
];
firstOption: string = 'Deutsch';
Styles
:host {
--text-color: #111122; // General text color
--highlight-color: #111122; // Highlight color on hover and selection
--title-weight: 700; // font-weight of the title element
}
Types and attributes
option: {
label: string;
callback: () => {};
}
firstOption: string;
Slots
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
icon | -- | Image, svg or emoji that can be used as an icon on the label's left (up to 24px) | HTML Element | undefined |
Properties
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
firstOption | first-option | The first option to be displayed, if it's empty it'll show the first one on options array. | string | undefined |
options | -- | The options list of the popover. | Option[] | undefined |
upwards | upwards | Boolean property to set the popover dropdown to be displayed on top of the description. | boolean | false |
Built with StencilJS
0.0.70
3 years ago
0.0.71
3 years ago
0.0.72
3 years ago
0.0.62
3 years ago
0.0.63
3 years ago
0.0.64
3 years ago
0.0.65
3 years ago
0.0.66
3 years ago
0.0.67
3 years ago
0.0.68
3 years ago
0.0.69
3 years ago
0.0.60
3 years ago
0.0.61
3 years ago
0.0.59
3 years ago
0.0.51
3 years ago
0.0.52
3 years ago
0.0.53
3 years ago
0.0.54
3 years ago
0.0.55
3 years ago
0.0.56
3 years ago
0.0.57
3 years ago
0.0.58
3 years ago
0.0.5
3 years ago
0.0.4
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago
0.0.1
3 years ago