UNPKG

@koalarx/ui

Version:

Koala UI is a modern and accessible component library designed to speed up interface development in Angular projects. With simple integration and clear documentation, you can easily build robust and visually appealing applications.

187 lines (163 loc) 3.83 kB
.validator-hint.show { visibility: visible !important; color: var(--color-error); display: block; } kl-datatable .input, kl-datatable .select, kl-datatable .textarea { --bg-input: var(--color-base-100); } .input, .select, .textarea, .input span, .select span.autocomplete-label, .textarea span { background-color: var(--bg-input); } .input:focus, .select:focus, button:focus { outline: none; box-shadow: 0 0 0 3px var(--color-neutral-600) !important; } .input:has(.ng-touched.ng-invalid), .select:has(.ng-touched.ng-invalid), .textarea:has(.ng-touched.ng-invalid) { --input-color: var(--color-error); } .hint-content { display: flex; align-items: center; gap: 0.5rem; opacity: 0.5; padding: 0.3rem 0 0.5rem; color: var(--color-neutral-700); font-size: var(--text-xs); } .dark .hint-content { color: var(--color-neutral-200); } kl-select .kl-select-container { position: relative; overflow: unset; } kl-select .kl-select-label { position: absolute; display: block; top: 0.5rem; left: 1rem; font-size: 1rem; transition: all 0.1s ease; pointer-events: none; z-index: 1; } kl-select .has-value:has(.kl-select-content .selectcontent > *) .kl-select-label { font-size: 0.75rem; top: -0.6rem; left: 0.6rem; padding: 0 0.3rem; } kl-select .has-value .kl-select-label > span { position: relative; z-index: 2; } kl-select .has-value .kl-select-label:after { content: ""; position: absolute; width: 100%; height: 3px; background-color: var(--bg-input); bottom: 0.4rem; left: 0; z-index: 1; } kl-select .has-value:focus .kl-select-label:after { height: 4px; } kl-select .kl-select-button { position: relative; justify-content: space-between; align-items: center; width: 100%; box-sizing: border-box; min-height: calc(var(--spacing) * 10); background-color: var(--bg-input); padding-inline: 0.75rem; border-radius: var(--radius-sm); border: 1px solid var(--color-neutral-600); transition: opacity 0.3s; } kl-select .picker { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-size: 0.8rem; transition: rotate 0.3s ease; color: var(--color-neutral-400); } kl-select .kl-select-button:popover-open .picker { rotate: 180deg; } kl-select .kl-select-options-container[popover] { display: none; } kl-select .kl-select-options-container[popover] { position: relative; width: var(--select-width); box-sizing: border-box; margin-block-start: 0.5rem; margin-block-end: 0.5rem; padding: 0; border-radius: var(--radius-md); border: 1px solid var(--color-neutral-600); transform: translateY(-1rem); opacity: 0; overflow: hidden; transition: transform 0.3s ease allow-discrete, opacity 0.3s ease allow-discrete, display 0.3s allow-discrete, overlay 0.3s allow-discrete, height 0.3s allow-discrete; position-area: var(--select-position-area, bottom); } kl-select .kl-select-options-container:popover-open { transform: translateY(0); opacity: 1; display: flex; } @starting-style { kl-select .kl-select-options-container:popover-open { transform: translateY(-1rem); opacity: 0; } } kl-select .kl-select-option-content { display: flex; justify-content: space-between; padding: 0.25rem 0.5rem; border-radius: var(--radius-md); white-space: break-spaces; transition: background-color 0.1s; } kl-select .kl-select-option-content input { -webkit-appearance: none; appearance: none; } kl-select .kl-select-option-content:has(input:checked) { transition: background-color 0.1s; } kl-select .kl-select-option-content:has(input:checked):after { content: "\f00c"; color: var(--color-success); font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1rem; margin: auto; order: 1; }