@ihk-gfi/lux-components-theme
v21.0.0
Published
- [Theme](#theme) - [Installation](#installation) - [LUX-Theme](#lux-theme) - [Allgemeine Css-Variablen](#allgemeine-css-variablen) - [Css-Variablen-Beispiele](#css-variablen-beispiele) - [Allgemeine Css-Klassen](#allgemeine-css-klassen)
Readme
Theme
Hinweis: Seit Version 20 basiert das Theme auf Material Theme 3 (MDC) und verwendet Design Tokens für eine moderne, flexible und konsistente Gestaltung. Die Farbpaletten und Variablen wurden überarbeitet. Migrationstipps siehe unten.
Installation
npm install @ihk-gfi/lux-components-themeLUX-Theme
Ein LUX-Theme besteht immer aus unterschiedlichen Farbpaletten:
lux-palette_primarylux-palette_accentlux-palette_warnlux-palette_neutral
Aus den Farbpaletten werden eine Menge von Css-Variablen und Css-Klassen abgeleitet. Zusätzlich gibt es eine Menge von allgemeinen Css-Variablen und Css-Klassen. Alles zusammen bildet die Grundlage für das Theming der eigenen Komponenten auf Basis eines LUX-Themes.
Allgemeine Css-Variablen
Die verfügbaren Css-Variablen stehen im jeweiligen Theme:
projects\lux-components-theme\src\${themeName}\_variables.scssprojects\lux-components-theme\src\${themeName}\_variablesPreferContrast.scss
Css-Variablen-Beispiele
- --lux-theme-app-font-family (Schriften)
- --lux-theme-custom-red (Hintergrundfarbe)
- --lux-theme-custom-on-red (Textfarbe)
- --lux-theme-accordion-header-color-neutral (Hintergrundfarbe)
- --lux-theme-accordion-header-color-on-neutral (Textfarbe)
- ...
Allgemeine Css-Klassen
lux-app-header-bglux-app-content-bglux-app-footer-bglux-app-data-bglux-highlight-sectionlux-highlight-section-labellux-color-dark-primary-textlux-color-dark-secondary-textlux-color-dark-disabled-textlux-color-dark-focusedlux-color-light-primary-textlux-color-light-secondary-textlux-color-light-disabled-textlux-color-light-focusedlux-selected-bglux-hover-bglux-hover-dark-bglux-color-dark-dividerlux-color-light-dividerlux-outline-color-lightlux-outline-color-darklux-outline-widthlux-outline-stylelux-outline-lightlux-outline-dark
Css-Klassen
Zu jedem Eintrag (z.B. 0, 10, 20,...) der Farbpalette gibt es im LUX-Theme entsprechende Css-Klassen. Hier im Beispiel werden nur die Css-Klassen des Eintrags 20 aufgeführt. Die Klassen der anderen Einträge (0, 10, 20,...) sind analog aufgebaut.
lux-color-primary-20lux-bg-color-primary-20lux-border-color-primary-20lux-outline-color-primary-20lux-text-decoration-primary-color-20lux-column-rule-color-primary-20lux-color-accent-20lux-bg-color-accentlux-border-color-accent-20lux-outline-color-accent-20lux-text-decoration-accent-color-20lux-column-rule-color-accent-20lux-color-warn-20lux-bg-color-warn-20lux-border-color-warn-20lux-outline-color-warn-20lux-text-decoration-warn-color-20lux-column-rule-color-warn-20- ...
Code-Beispiele
Css-Variable nutzen
Beispiel:
Html-Datei:
<span class="highlight">Lorem ipsum</span>Scss-Datei:
span.highlight {
background-color: var(--lux-theme-selected-bg-color);
}LUX-Card umstylen
Beispiel:
Html-Datei:
<lux-card class="highlight" luxTitle="Lorem ipsum"></lux-card>Scss-Datei:
lux-card.highlight {
--lux-theme-card-background-color: rgb(207, 211, 212);
--lux-theme-card-padding: 4px;
--lux-theme-card-shape: 16px;
--lux-theme-card-title-text-size: 1rem;
--lux-theme-card-title-text-weight: normal;
--lux-theme-card-subtitle-text-size: 1rem;
--lux-theme-card-subtitle-text-weight: normal;
--lux-theme-card-subtitle-text-color: red;
}LUX-Button (rund) umstylen
Beispiel:
Html-Datei:
<lux-button class="my-button" luxIconName="lux-save" [luxRounded]="true" [luxStroked]="true" luxLabel="Lorem ipsum"></lux-button>Scss-Datei:
lux-button.my-button {
--lux-theme-button-rounded-stroked-container-height: 2rem;
--lux-theme-button-rounded-stroked-text-size: 1rem;
}LUX-Button (stroked) umstylen
Beispiel:
Html-Datei:
<lux-button class="my-button" luxLabel="Lorem ipsum" [luxStroked]="true" luxLabel="Lorem ipsum"></lux-button>Scss-Datei:
lux-button.my-button {
--lux-theme-button-stroked-text-size: 1rem;
--lux-theme-button-stroked-text-weight: normal;
--lux-theme-button-stroked-container-height: 1.5rem;
--lux-theme-button-stroked-container-shape: 4px;
}Css-Klasse
Html-Datei:
<div class="lux-color-accent-50 lux-bg-color-accent-30">Lorem ipsum</div>Lizenztext - Icons
In dieser Anwendung werden Streamline-Icons über das Github-Projekt "lux-components-icons-and-fonts" (https://github.com/IHK-GfI/lux-components-icons-and-fonts) der IHK-GfI mbH eingebunden. Die verwendeten Icons laufen unter der Lizenz CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) und der Urheber ist „streamlinehq.com“ ("Streamline Icons Core Line free Copyright © by streamlinehq.com“). Bezugsquelle: „Core Line - Free – Free Icons Set - 1000 customizable PNGs, SVGs, PDFs (streamlinehq.com)". Die Lizensierungsinformationen „[CC BY 4.0“ sind zu finden unter „Streamline Free License | Streamline Help center (intercom.help)“. Die Icons aus dem o.a. Iconset wurden durch die IHK-GfI mbH nicht verändert. Es wurden jedoch eigene Icons im selben Stil erstellt und unserer Sammlung unter gleicher Lizenz hinzugefügt.
Lizenztext - Fonts
Diese Anwendung verwendet die Schriftarten "Source Sans Pro" designed by Paul D. Hunt (Lizensiert unter SIL 1.1 Open Font License / https://github.com/IHK-GfI/lux-components-icons-and-fonts/blob/master/assets/fonts/Source%20Sans%20Pro/SIL%20Open%20Font%20License%20V1.1.md) sowie "BloggerSans" (Lizenz: https://www.fontsquirrel.com/license/blogger-sans) created by Sergiy Tkachenko (Lizensiert unter Creative Commons 4.0 / https://creativecommons.org/licenses/by/4.0/).
Note: Bei der Entwicklung einer Applikation auf Basis der LUX-Components sowie unter Nutzung der Schriftart "Source Sans Pro" ist zwingend die Lizenzdatei "SIL Open Font License V1.1.md" in die GUI der Applikation einzubinden. Bei Nutzung der Schriftart "BloggerSans" ist ein Verweis auf die Lizenz unter https://www.fontsquirrel.com/license/blogger-sans erforderlich.
