@parlamentsdienste/pdcomponents-core
v4.0.1
Published
Component Library for Swiss Parliamentary Services - Webcomponents Core Lib
Readme
@parlamentsdienste/pdcomponents-core
Web Components Library for Swiss Parliamentary Services - Core Library
This is the core web components library built with Stencil, providing framework-agnostic UI components for Swiss Parliamentary Services applications.
Documentation
Component Documentation (Storybook): https://parlamentsdienste-components.bgs.lambda-it.ch/
Installation
npm install @parlamentsdienste/pdcomponents-coreUsage
Lazy Loading (Recommended)
Import the loader to enable lazy loading of components:
<script type="module" src="https://unpkg.com/@parlamentsdienste/pdcomponents-core/loader/index.js"></script>
<pd-button>Click me</pd-button>Or in your application entry file:
import '@parlamentsdienste/pdcomponents-core/loader';Direct Import
Import individual components:
import { defineCustomElements } from '@parlamentsdienste/pdcomponents-core/loader';
defineCustomElements();Framework Wrappers
For better framework integration, use the official wrapper packages:
- Angular: @parlamentsdienste/pdcomponents-angular
- React: @parlamentsdienste/pdcomponents-react
- Vue: @parlamentsdienste/pdcomponents-vue
Components
This library includes a comprehensive set of UI components:
- Form Controls: Button, Input, Textarea, Checkbox, Radio, Combobox, Datepicker, Slider
- Navigation: Navbar, Sidebar, Menu, Tabs
- Layout: Panel, Modal, Backdrop
- Feedback: Alert, Toast, Progress Bar, Skeleton
- Data Display: Table, List, Timeline, Chip, Label
- Advanced: Dropdown, Search, Sort, Icon, Animation
License
AGPL-3.0
For proprietary or other use cases, written consent from the Swiss Parliamentary Services is required.
Contact: https://www.parlament.ch | [email protected]
