UNPKG

@casoon/dragonfly

Version:

Modular, lightweight CSS framework and design system for modern web projects. Optimized for Astro JS, LightningCSS and Container Queries with @layer-based architecture and comprehensive accessibility.

1,177 lines (936 loc) 27.1 kB
/* Datei: icons/tabler.css */ /** * Tabler Icons CSS * * Diese Datei enthält die CSS-Klassen für die Tabler Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .ti, .ti-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Tabler Icons */ .ti-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E"); } .ti-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h18M3 6h18M3 18h18'/%3E%3C/svg%3E"); } .ti-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E"); } .ti-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E"); } /* Icon Sizes */ .ti-xs { height: var(--spacing-4); width: var(--spacing-4); } .ti-sm { height: var(--spacing-5); width: var(--spacing-5); } .ti-lg { height: var(--spacing-7); width: var(--spacing-7); } .ti-xl { height: var(--spacing-8); width: var(--spacing-8); } .ti-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .ti-baseline { vertical-align: var(--position-baseline); } .ti-top { vertical-align: var(--position-top); } .ti-middle { vertical-align: var(--position-middle); } .ti-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .ti-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/remix.css */ /** * Remix Icons CSS * * Diese Datei enthält die CSS-Klassen für die Remix Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .ri, .ri-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Remix Icons */ .ri-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E"); } .ri-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E"); } .ri-close { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E"); } .ri-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E"); } /* Remix Varianten */ .ri-line { fill: none; stroke-width: 2%; } .ri-fill { fill: currentcolor; stroke-width: 0%; } .ri-dual { fill: currentcolor; opacity: 5000%; stroke-width: 2%; } /* Icon Sizes */ .ri-xs { height: var(--spacing-4); width: var(--spacing-4); } .ri-sm { height: var(--spacing-5); width: var(--spacing-5); } .ri-lg { height: var(--spacing-7); width: var(--spacing-7); } .ri-xl { height: var(--spacing-8); width: var(--spacing-8); } .ri-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .ri-baseline { vertical-align: var(--position-baseline); } .ri-top { vertical-align: var(--position-top); } .ri-middle { vertical-align: var(--position-middle); } .ri-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .ri-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/phosphor.css */ /** * Phosphor Icons CSS * * Diese Datei enthält die CSS-Klassen für die Phosphor Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .ph, .ph-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Phosphor Icons */ .ph-house { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M218.83 103.77l-80-75.48a1.14 1.14 0 0 1-.11-.11 16 16 0 0 0-21.53 0l-.11.11-79.91 75.48A16 16 0 0 0 32 115.55V208a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16v-48h32v48a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16v-92.45a16 16 0 0 0-5.17-11.78zM208 208h-48v-48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v48H48v-92.45l.11-.1L128 40l79.9 75.43.11.1z'/%3E%3C/svg%3E"); } .ph-list { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8zM40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16zm176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16z'/%3E%3C/svg%3E"); } .ph-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128z'/%3E%3C/svg%3E"); } .ph-magnifying-glass { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66 218.34l-50.07-50.06a88.11 88.11 0 1 0-11.32 11.32l50.06 50.07a8 8 0 0 0 11.32-11.32zM40 112a72 72 0 1 1 72 72 72.08 72.08 0 0 1-72-72z'/%3E%3C/svg%3E"); } /* Phosphor Varianten */ .ph-regular { fill: none; stroke-width: 2%; } .ph-bold { fill: none; stroke-width: 3%; } .ph-fill { fill: currentcolor; stroke-width: 0%; } .ph-duotone { fill: currentcolor; opacity: 5000%; stroke-width: 2%; } /* Icon Sizes */ .ph-xs { height: var(--spacing-4); width: var(--spacing-4); } .ph-sm { height: var(--spacing-5); width: var(--spacing-5); } .ph-lg { height: var(--spacing-7); width: var(--spacing-7); } .ph-xl { height: var(--spacing-8); width: var(--spacing-8); } .ph-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .ph-baseline { vertical-align: var(--position-baseline); } .ph-top { vertical-align: var(--position-top); } .ph-middle { vertical-align: var(--position-middle); } .ph-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .ph-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/mdi.css */ /** * Material Design Icons CSS * * Diese Datei enthält die CSS-Klassen für die Material Design Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ /* MDI als CSS Icon */ .mdi, .mdi-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* MDI Icons */ .mdi-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E"); } .mdi-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/%3E%3C/svg%3E"); } .mdi-close { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E"); } .mdi-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E"); } /* MDI Varianten */ .mdi-outline { fill: none; stroke-width: 2%; } .mdi-filled { fill: currentcolor; stroke-width: 0%; } .mdi-round { fill: none; stroke-width: 1.5; } .mdi-sharp { fill: none; stroke-width: 2%; } /* Icon Sizes */ .mdi-xs { height: var(--spacing-4); width: var(--spacing-4); } .mdi-sm { height: var(--spacing-5); width: var(--spacing-5); } .mdi-lg { height: var(--spacing-7); width: var(--spacing-7); } .mdi-xl { height: var(--spacing-8); width: var(--spacing-8); } .mdi-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .mdi-baseline { vertical-align: var(--position-baseline); } .mdi-top { vertical-align: var(--position-top); } .mdi-middle { vertical-align: var(--position-middle); } .mdi-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .mdi-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/lucide.css */ /** * Lucide Icons CSS * * Diese Datei enthält die CSS-Klassen für die Lucide Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .lucide, .lucide-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Lucide Icons */ .lu-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E"); } .lu-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E"); } .lu-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E"); } .lu-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E"); } /* Icon Sizes */ .lucide-xs { height: var(--spacing-4); width: var(--spacing-4); } .lucide-sm { height: var(--spacing-5); width: var(--spacing-5); } .lucide-lg { height: var(--spacing-7); width: var(--spacing-7); } .lucide-xl { height: var(--spacing-8); width: var(--spacing-8); } .lucide-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .lucide-baseline { vertical-align: var(--position-baseline); } .lucide-top { vertical-align: var(--position-top); } .lucide-middle { vertical-align: var(--position-middle); } .lucide-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .lucide-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/index.css */ /* * Icon System * * Hauptdatei für das Icon-System der UI-Bibliothek. * Definiert das Basissystem für Icons und ihre Varianten. */ /* * Modulare Icon-Imports * Aktuell auskommentiert, da die Dateien noch nicht existieren. * Sollten mit expliziten Layer-Angaben versehen werden. */ /* Geplante Icon-Module (derzeit nicht implementiert) */ /* @import url('./basic/basic-icons.css') layer(icons.basic); */ /* @import url('./brands/brand-icons.css') layer(icons.brands); */ /* @import url('./functional/functional-icons.css') layer(icons.functional); */ /* @import url('./illustrations/illustration-icons.css') layer(icons.illustrations); */ /** * Basis-Icon-System * Definiert Größen, Farben und Grundstile für alle Icons */ @layer icons { /* Basis-Icon-Klasse */ .icon { display: var(--display-inline-block); flex-shrink: 0; height: var(--icon-size-md); vertical-align: var(--position-middle); width: var(--icon-size-md); } /* Icon-Größenvarianten */ .icon-xs { height: var(--icon-size-xs); width: var(--icon-size-xs); } .icon-sm { height: var(--icon-size-sm); width: var(--icon-size-sm); } .icon-md { height: var(--icon-size-md); width: var(--icon-size-md); } .icon-lg { height: var(--icon-size-lg); width: var(--icon-size-lg); } .icon-xl { height: var(--icon-size-xl); width: var(--icon-size-xl); } .icon-2xl { height: var(--icon-size-2xl); width: var(--icon-size-2xl); } .icon-3xl { height: var(--icon-size-3xl); width: var(--icon-size-3xl); } /* Icon-Farbvarianten - entsprechen den globalen Farbvariablen */ .icon-current { color: currentColor; } .icon-primary { color: var(--color-primary-500); } .icon-secondary { color: var(--color-secondary-500); } .icon-success { color: var(--color-success); } .icon-warning { color: var(--color-warning); } .icon-error { color: var(--color-error); } .icon-info { color: var(--color-info); } .icon-muted { color: var(--color-gray-400); } } /* Datei: icons/heroicons.css */ /** * Heroicons CSS * * Diese Datei enthält die CSS-Klassen für die Heroicons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .heroicon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Icon Sizes */ .heroicon-xs { height: var(--spacing-4); width: var(--spacing-4); } .heroicon-sm { height: var(--spacing-5); width: var(--spacing-5); } .heroicon-lg { height: var(--spacing-7); width: var(--spacing-7); } .heroicon-xl { height: var(--spacing-8); width: var(--spacing-8); } .heroicon-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .heroicon-baseline { vertical-align: var(--position-baseline); } .heroicon-top { vertical-align: var(--position-top); } .heroicon-middle { vertical-align: var(--position-middle); } .heroicon-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .heroicon-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Heroicons */ .hi, .hi-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } .hi-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E"); } .hi-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E"); } .hi-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E"); } .hi-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E"); } /* Icon Sizes */ .hi-xs { height: var(--spacing-4); width: var(--spacing-4); } .hi-sm { height: var(--spacing-5); width: var(--spacing-5); } .hi-lg { height: var(--spacing-7); width: var(--spacing-7); } .hi-xl { height: var(--spacing-8); width: var(--spacing-8); } .hi-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .hi-baseline { vertical-align: var(--position-baseline); } .hi-top { vertical-align: var(--position-top); } .hi-middle { vertical-align: var(--position-middle); } .hi-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .hi-spin { animation: spin 1s linear infinite; } /* Datei: icons/fontawesome.css */ /** * Font Awesome Icons CSS * * Diese Datei enthält die CSS-Klassen für die Font Awesome Icons. * Die Styles sind in @layer components organisiert. */ /* Font Awesome als CSS Icon */ .fa, .fa-icon { background-color: var(--icon-color, currentcolor); display: inline-block; height: 1em; mask-position: center; mask-repeat: no-repeat; mask-size: contain; vertical-align: -0.125em; width: 1em; } /* Font Awesome Icons */ .fa-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.58-.29a16 16 0 0 0 15.69-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E"); } .fa-bars { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E"); } .fa-times { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E"); } .fa-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E"); } /* Icon Sizes */ .fa-xs { height: 0.75em; width: 0.75em; } .fa-sm { height: 0.875em; width: 0.875em; } .fa-lg { height: 1.25em; width: 1.25em; } .fa-xl { height: 1.5em; width: 1.5em; } .fa-2xl { height: 2em; width: 2em; } /* Icon Alignment */ .fa-baseline { vertical-align: baseline; } .fa-top { vertical-align: top; } .fa-middle { vertical-align: middle; } .fa-bottom { vertical-align: bottom; } /* Icon Animation */ .fa-spin { animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Datei: icons/feather.css */ /** * Feather Icons CSS * * Diese Datei enthält die CSS-Klassen für die Feather Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .feather, .feather-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Icon Sizes */ .feather-xs { height: var(--spacing-4); width: var(--spacing-4); } .feather-sm { height: var(--spacing-5); width: var(--spacing-5); } .feather-lg { height: var(--spacing-7); width: var(--spacing-7); } .feather-xl { height: var(--spacing-8); width: var(--spacing-8); } .feather-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .feather-baseline { vertical-align: var(--position-baseline); } .feather-top { vertical-align: var(--position-top); } .feather-middle { vertical-align: var(--position-middle); } .feather-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .feather-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Feather Icons */ .fe-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E"); } .fe-menu { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h18M3 6h18M3 18h18'/%3E%3C/svg%3E"); } .fe-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E"); } .fe-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E"); } /* Datei: icons/bootstrap.css */ /** * Bootstrap Icons CSS * * Diese Datei enthält die CSS-Klassen für die Bootstrap Icons. * Die Styles sind in @layer components organisiert. */ /* Base Icon */ .bi, .bi-icon { background-color: currentcolor; display: var(--display-inline-block); height: var(--spacing-6); mask-position: var(--position-center); mask-repeat: var(--bg-no-repeat); mask-size: var(--position-100); vertical-align: var(--position-middle); width: var(--spacing-6); } /* Bootstrap Icons */ .bi-house { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5ZM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5 5 5Z'/%3E%3C/svg%3E"); } .bi-list { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); } .bi-x { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); } .bi-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E"); } /* Icon Sizes */ .bi-xs { height: var(--spacing-4); width: var(--spacing-4); } .bi-sm { height: var(--spacing-5); width: var(--spacing-5); } .bi-lg { height: var(--spacing-7); width: var(--spacing-7); } .bi-xl { height: var(--spacing-8); width: var(--spacing-8); } .bi-2xl { height: var(--spacing-10); width: var(--spacing-10); } /* Icon Alignment */ .bi-baseline { vertical-align: var(--position-baseline); } .bi-top { vertical-align: var(--position-top); } .bi-middle { vertical-align: var(--position-middle); } .bi-bottom { vertical-align: var(--position-bottom); } /* Icon Animation */ .bi-spin { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Datei: icons/base.css */ /** * Icon Basis-Styles * * Diese Datei enthält die grundlegenden Styles für alle Icons. * Die Styles sind in @layer icons organisiert. * * Verwendete Icon-Sets und deren Lizenzen: * - Heroicons (MIT) - https://heroicons.com * - Feather Icons (MIT) - https://feathericons.com * - Phosphor Icons (MIT) - https://phosphoricons.com * - Remix Icons (MIT) - https://remixicon.com * - Bootstrap Icons (MIT) - https://icons.getbootstrap.com */ /* Basis Icon Styles */ .icon { display: var(--display-inline-block); fill: currentcolor; height: var(--icon-size-relative-md); stroke: currentcolor; stroke-width: 0%; vertical-align: var(--position-middle); width: var(--icon-size-relative-md); } /* Größenvarianten */ .icon-xs { height: var(--icon-size-relative-xs); width: var(--icon-size-relative-xs); } .icon-sm { height: var(--icon-size-relative-sm); width: var(--icon-size-relative-sm); } .icon-lg { height: var(--icon-size-relative-lg); width: var(--icon-size-relative-lg); } .icon-xl { height: var(--icon-size-relative-xl); width: var(--icon-size-relative-xl); } .icon-2xl { height: var(--icon-size-relative-2xl); width: var(--icon-size-relative-2xl); } /* Ausrichtung */ .icon-baseline { vertical-align: var(--position-baseline); } .icon-top { vertical-align: var(--position-top); } .icon-middle { vertical-align: var(--position-middle); } .icon-bottom { vertical-align: var(--position-bottom); } /* Animation */ .icon-spin { animation: icon-spin var(--icon-animation-duration-slow) infinite var(--icon-animation-timing); } @keyframes icon-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }