ngx-strata 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/assets/fonts/Inter-VariableFont.ttf +0 -0
- package/assets/icons/arrow-down.svg +1 -0
- package/assets/icons/arrow-left.svg +1 -0
- package/assets/icons/arrow-right.svg +1 -0
- package/assets/icons/arrow-up.svg +1 -0
- package/assets/icons/clipboard.svg +1 -0
- package/assets/icons/close.svg +1 -0
- package/assets/icons/expand-up-down.svg +1 -0
- package/assets/icons/more.svg +1 -0
- package/assets/icons/question.svg +1 -0
- package/assets/styles/base.scss +26 -0
- package/assets/styles/breakpoints.scss +6 -0
- package/assets/styles/colors.scss +57 -0
- package/assets/styles/components/accordion.scss +75 -0
- package/assets/styles/components/action-menu.scss +66 -0
- package/assets/styles/components/avatar.scss +132 -0
- package/assets/styles/components/button.scss +174 -0
- package/assets/styles/components/card.scss +82 -0
- package/assets/styles/components/checkbox.scss +71 -0
- package/assets/styles/components/divider.scss +41 -0
- package/assets/styles/components/grid.scss +242 -0
- package/assets/styles/components/icon.scss +36 -0
- package/assets/styles/components/input-field.scss +72 -0
- package/assets/styles/components/item.scss +69 -0
- package/assets/styles/components/modal.scss +126 -0
- package/assets/styles/components/notification.scss +58 -0
- package/assets/styles/components/number-display.scss +25 -0
- package/assets/styles/components/overlay.scss +3 -0
- package/assets/styles/components/pagination.scss +28 -0
- package/assets/styles/components/progress.scss +118 -0
- package/assets/styles/components/segmented-control.scss +49 -0
- package/assets/styles/components/select.scss +127 -0
- package/assets/styles/components/slider.scss +127 -0
- package/assets/styles/components/spinner.scss +93 -0
- package/assets/styles/components/table.scss +66 -0
- package/assets/styles/components/tag.scss +60 -0
- package/assets/styles/components/text-stack.scss +29 -0
- package/assets/styles/components/toggle.scss +64 -0
- package/assets/styles/components/tooltip.scss +68 -0
- package/assets/styles/focus-outline.scss +11 -0
- package/assets/styles/public-api.scss +36 -0
- package/assets/styles/scrollbar.scss +29 -0
- package/assets/styles/shadows.scss +4 -0
- package/assets/styles/sizes.scss +12 -0
- package/assets/styles/typography.scss +66 -0
- package/dist/my-lib/strata.css +1 -0
- package/dist/strata/strata.css +1 -0
- package/fesm2022/ngx-strata.mjs +1720 -0
- package/fesm2022/ngx-strata.mjs.map +1 -0
- package/package.json +35 -0
- package/types/ngx-strata.d.ts +639 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-strata.mjs","sources":["../../../projects/ngx-strata/src/lib/features/icon/loader/icon-loader.interface.ts","../../../projects/ngx-strata/src/lib/features/icon/services/icon-registry/icon-registry.service.ts","../../../projects/ngx-strata/src/lib/icons/icon-configs.ts","../../../projects/ngx-strata/src/lib/app/provider/provide-icons.ts","../../../projects/ngx-strata/src/lib/features/icon/services/http-icon-loader/http-icon-loader.service.ts","../../../projects/ngx-strata/src/lib/app/provider/provide-icon-loader.ts","../../../projects/ngx-strata/src/lib/features/icon/loader/icon-registry.interface.ts","../../../projects/ngx-strata/src/lib/app/provider/provide-icon-registry.ts","../../../projects/ngx-strata/src/lib/app/provider/provide-strata.ts","../../../projects/ngx-strata/src/lib/directives/tooltip.directive.ts","../../../projects/ngx-strata/src/lib/services/darkmode/darkmode.service.ts","../../../projects/ngx-strata/src/lib/features/checkbox/components/checkbox/checkbox.component.ts","../../../projects/ngx-strata/src/lib/features/checkbox/components/checkbox/checkbox.component.html","../../../projects/ngx-strata/src/lib/features/toggle/components/toggle/toggle.component.ts","../../../projects/ngx-strata/src/lib/features/toggle/components/toggle/toggle.component.html","../../../projects/ngx-strata/src/lib/features/action-menu/components/action-menu-item/action-menu-item.component.ts","../../../projects/ngx-strata/src/lib/features/action-menu/components/action-menu-item/action-menu-item.component.html","../../../projects/ngx-strata/src/lib/features/button/directives/button/button.directive.ts","../../../projects/ngx-strata/src/lib/features/card/components/card/card.component.ts","../../../projects/ngx-strata/src/lib/features/card/components/card/card.component.html","../../../projects/ngx-strata/src/lib/features/icon/components/icon/icon.component.ts","../../../projects/ngx-strata/src/lib/features/overlay/directives/overlay.directive.ts","../../../projects/ngx-strata/src/lib/features/action-menu/components/action-menu/action-menu.component.ts","../../../projects/ngx-strata/src/lib/features/action-menu/components/action-menu/action-menu.component.html","../../../projects/ngx-strata/src/lib/features/accordion/components/accordion-item/accordion-item.component.ts","../../../projects/ngx-strata/src/lib/features/accordion/components/accordion-item/accordion-item.component.html","../../../projects/ngx-strata/src/lib/features/accordion/components/accordion-group/accordion-group.component.ts","../../../projects/ngx-strata/src/lib/features/accordion/components/accordion-group/accordion-group.component.html","../../../projects/ngx-strata/src/lib/features/avatar/components/avatar/avatar.component.ts","../../../projects/ngx-strata/src/lib/features/avatar/components/avatar/avatar.component.html","../../../projects/ngx-strata/src/lib/features/avatar/components/avatar-stack/avatar-stack.component.ts","../../../projects/ngx-strata/src/lib/features/avatar/components/avatar-stack/avatar-stack.component.html","../../../projects/ngx-strata/src/lib/features/button/components/button-group/button-group.component.ts","../../../projects/ngx-strata/src/lib/features/button/components/button-group/button-group.component.html","../../../projects/ngx-strata/src/lib/features/input-field/directives/native-input-ref.directive.ts","../../../projects/ngx-strata/src/lib/features/input-field/components/input-field/input-field.component.ts","../../../projects/ngx-strata/src/lib/features/input-field/components/input-field/input-field.component.html","../../../projects/ngx-strata/src/lib/features/dropdown/components/dropdown/dropdown.component.ts","../../../projects/ngx-strata/src/lib/features/dropdown/components/dropdown/dropdown.component.html","../../../projects/ngx-strata/src/lib/features/divider/components/divider/divider.component.ts","../../../projects/ngx-strata/src/lib/features/divider/components/divider/divider.component.html","../../../projects/ngx-strata/src/lib/features/tag/components/tag/tag.component.ts","../../../projects/ngx-strata/src/lib/features/item/components/item/item.component.ts","../../../projects/ngx-strata/src/lib/features/item/components/item/item.component.html","../../../projects/ngx-strata/src/lib/features/item/components/item-list/item-list.component.ts","../../../projects/ngx-strata/src/lib/features/item/components/item-list/item-list.component.html","../../../projects/ngx-strata/src/lib/features/input-field/directives/auto-resize.directive.ts","../../../projects/ngx-strata/src/lib/features/pagination/components/pagination/pagination.component.ts","../../../projects/ngx-strata/src/lib/features/pagination/components/pagination/pagination.component.html","../../../projects/ngx-strata/src/lib/pipes/capitalize.pipe.ts","../../../projects/ngx-strata/src/lib/features/progress/components/progress/progress.component.ts","../../../projects/ngx-strata/src/lib/features/progress/components/progress/progress.component.html","../../../projects/ngx-strata/src/lib/features/segmented-control/components/segmented-control-item/segmented-control-item.component.ts","../../../projects/ngx-strata/src/lib/features/segmented-control/components/segmented-control/segmented-control.component.ts","../../../projects/ngx-strata/src/lib/features/segmented-control/components/segmented-control/segmented-control.component.html","../../../projects/ngx-strata/src/lib/features/slider/components/slider/slider.component.ts","../../../projects/ngx-strata/src/lib/features/slider/components/slider/slider.component.html","../../../projects/ngx-strata/src/lib/features/spinner/components/spinner/spinner.component.ts","../../../projects/ngx-strata/src/lib/features/spinner/components/spinner/spinner.component.html","../../../projects/ngx-strata/src/lib/features/text-stack/components/text-stack/text-stack.component.ts","../../../projects/ngx-strata/src/lib/features/text-stack/components/text-stack/text-stack.component.html","../../../projects/ngx-strata/src/lib/features/theming/directives/theme.directive.ts","../../../projects/ngx-strata/src/lib/shared/stack.model.ts","../../../projects/ngx-strata/src/lib/features/modal/services/modal.service.ts","../../../projects/ngx-strata/src/lib/features/modal/components/alert-content/alert-content.component.ts","../../../projects/ngx-strata/src/lib/features/modal/components/alert-content/alert-content.component.html","../../../projects/ngx-strata/src/lib/features/modal/components/modal-header/modal-header.component.ts","../../../projects/ngx-strata/src/lib/features/modal/components/modal-header/modal-header.component.html","../../../projects/ngx-strata/src/lib/features/modal/components/modal/modal.component.ts","../../../projects/ngx-strata/src/lib/features/modal/components/modal/modal.component.html","../../../projects/ngx-strata/src/lib/features/modal/components/modal-container/modal-container.component.ts","../../../projects/ngx-strata/src/lib/features/modal/components/modal-container/modal-container.component.html","../../../projects/ngx-strata/src/lib/features/notification/notification.model.ts","../../../projects/ngx-strata/src/lib/features/notification/services/notification.service.ts","../../../projects/ngx-strata/src/lib/features/notification/components/notification/notification.component.ts","../../../projects/ngx-strata/src/lib/features/notification/components/notification/notification.component.html","../../../projects/ngx-strata/src/lib/features/notification/components/notification-container/notification-container.component.ts","../../../projects/ngx-strata/src/lib/features/notification/components/notification-container/notification-container.component.html","../../../projects/ngx-strata/src/lib/features/number-display/components/number-display/number-display.component.ts","../../../projects/ngx-strata/src/lib/features/number-display/components/number-display/number-display.component.html","../../../projects/ngx-strata/src/public-api.ts","../../../projects/ngx-strata/src/ngx-strata.ts"],"sourcesContent":["import { SafeHtml } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\n\nexport abstract class IconLoader {\n abstract loadSvg(url: string): Observable<SafeHtml>;\n}\n","import { Injectable } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { Observable, tap } from 'rxjs';\nimport { IconLoader } from '../../loader/icon-loader.interface';\nimport { IconConfig } from '../../models/icon.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconRegistryService {\n icons: Record<string, string> = {} as Record<string, string>;\n\n svgs: Record<string, SafeHtml> = {} as Record<string, SafeHtml>;\n\n constructor(private iconLoader: IconLoader) {}\n\n registerIcons(iconConfigs: IconConfig[]): void {\n iconConfigs.forEach((config) => this.registerIcon(config));\n }\n\n registerIcon(iconConfig: IconConfig): void {\n if (this.icons[iconConfig.name]) {\n console.error(\n `Icon with name ${iconConfig.name} already registered with Zesto. Please rename or stop registering one of the icons.`,\n );\n }\n\n this.icons[iconConfig.name] = iconConfig.url;\n }\n\n getIconUrl(name: string): string | null {\n const iconUrl = this.icons[name];\n\n return iconUrl ? iconUrl : null;\n }\n\n getIcon(name: string): Observable<SafeHtml> {\n if (this.svgs[name]) {\n return new Observable<SafeHtml>((subscriber) => {\n subscriber.next(this.svgs[name]);\n });\n }\n\n const url = this.getIconUrl(name);\n if (!url) {\n throw new Error(`Icon '${name}' not registered.`);\n }\n return this.iconLoader.loadSvg(url).pipe(\n tap((svg) => {\n this.svgs[name] = svg;\n }),\n );\n }\n}\n","import { IconConfig } from '../features/icon/models/icon.model';\n\nexport const baseIconConfigs: IconConfig[] = [\n {\n name: 'question',\n url: 'assets/icons/question.svg',\n },\n {\n name: 'arrow-right',\n url: 'assets/icons/arrow-right.svg',\n },\n {\n name: 'arrow-left',\n url: 'assets/icons/arrow-left.svg',\n },\n {\n name: 'arrow-up',\n url: 'assets/icons/arrow-up.svg',\n },\n {\n name: 'arrow-down',\n url: 'assets/icons/arrow-down.svg',\n },\n {\n name: 'close',\n url: 'assets/icons/close.svg',\n },\n {\n name: 'expand-up-down',\n url: 'assets/icons/expand-up-down.svg',\n },\n {\n name: 'clipboard',\n url: 'assets/icons/clipboard.svg',\n },\n {\n name: 'more',\n url: 'assets/icons/more.svg',\n },\n];\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer,\n Provider,\n} from '@angular/core';\nimport { IconConfig } from '../../features/icon/models/icon.model';\nimport { IconRegistryService } from '../../features/icon/services/icon-registry/icon-registry.service';\nimport { baseIconConfigs } from '../../icons/icon-configs';\n\nexport const provideBaseIcons = (): EnvironmentProviders => {\n return provideIcons(baseIconConfigs);\n};\n\nexport const provideIcons = (\n iconConfigs: IconConfig[],\n): EnvironmentProviders => {\n const providers: (Provider | EnvironmentProviders)[] = [\n provideAppInitializer(() => {\n const initializerFn = ((service: IconRegistryService) =>\n function () {\n return service.registerIcons(iconConfigs);\n })(inject(IconRegistryService));\n return initializerFn();\n }),\n ];\n\n return makeEnvironmentProviders(providers);\n};\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { map, Observable } from 'rxjs';\nimport { IconLoader } from '../../loader/icon-loader.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpIconLoader implements IconLoader {\n httpClient = inject(HttpClient);\n sanitizer = inject(DomSanitizer);\n\n loadSvg(url: string): Observable<SafeHtml> {\n return this.httpClient\n .get(url, { responseType: 'text' })\n .pipe(map((raw) => this.sanitizer.bypassSecurityTrustHtml(raw)));\n }\n}\n","import { Provider } from '@angular/core';\nimport { IconLoader } from '../../features/icon/loader/icon-loader.interface';\nimport { HttpIconLoader } from '../../features/icon/services/http-icon-loader/http-icon-loader.service';\n\nexport function provideIconLoader(): Provider {\n return {\n provide: IconLoader,\n useExisting: HttpIconLoader,\n };\n}\n","import { SafeHtml } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\n\nexport abstract class IconRegistry {\n abstract getIcon(name: string): Observable<SafeHtml>;\n}\n","import { Provider } from '@angular/core';\nimport { IconRegistry } from '../../features/icon/loader/icon-registry.interface';\nimport { IconRegistryService } from '../../features/icon/services/icon-registry/icon-registry.service';\n\nexport function provideIconRegistry(): Provider {\n return {\n provide: IconRegistry,\n useExisting: IconRegistryService,\n };\n}\n","import { provideBaseIcons } from './provide-icons';\nimport { Provider, InjectionToken, EnvironmentProviders } from '@angular/core';\nimport { provideIconLoader } from './provide-icon-loader';\nimport { provideIconRegistry } from './provide-icon-registry';\n\nconst DEFAULT_CONFIG: StrataConfig = {\n includeBaseIcons: true,\n tooltipDelayMs: 500,\n};\n\nexport function provideStrata(\n config: Partial<StrataConfig> = {},\n): (Provider | EnvironmentProviders)[] {\n const mergedConfig = { ...DEFAULT_CONFIG, ...config };\n\n const providers: (Provider | EnvironmentProviders)[] = [\n provideIconLoader(),\n provideIconRegistry(),\n {\n provide: STRATA_CONFIG,\n useValue: mergedConfig,\n },\n ];\n\n if (mergedConfig.includeBaseIcons) {\n providers.push(provideBaseIcons());\n }\n\n return providers;\n}\n\nexport type StrataConfig = {\n includeBaseIcons: boolean;\n tooltipDelayMs: number;\n};\n\nexport const STRATA_CONFIG = new InjectionToken<StrataConfig>('STRATA_CONFIG');\n","import {\n AfterContentInit,\n DOCUMENT,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n inject,\n input,\n} from '@angular/core';\nimport { Placement, arrow, autoUpdate, computePosition, offset } from '@floating-ui/dom';\nimport { STRATA_CONFIG } from '../app/provider/provide-strata';\n\n@Directive({\n selector: '[stSimpleTooltip]',\n standalone: true,\n})\nexport class TooltipDirective implements OnInit, OnDestroy, AfterContentInit {\n stSimpleTooltip = input.required<string>();\n @Input() tooltipEnabled = true;\n @Input() tooltipPlacement: TooltipPlacement = 'top';\n @Input() tooltipAlwaysShow = false;\n\n private tooltipContentElement!: HTMLElement;\n private arrowElement!: HTMLElement;\n private eventListeners!: Array<Function>;\n private autoUpdateCleanupFunction?: () => void;\n\n private config = inject(STRATA_CONFIG);\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private element: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit(): void {\n if (!this.stSimpleTooltip() || this.stSimpleTooltip() === '' || !this.tooltipEnabled) {\n return;\n }\n\n this.tooltipContentElement = this.document.createElement('div');\n this.tooltipContentElement.classList.add('st-tooltip');\n const textElement = this.document.createElement('p');\n textElement.innerText = this.stSimpleTooltip();\n this.tooltipContentElement.appendChild(textElement);\n this.arrowElement = this.document.createElement('div');\n this.arrowElement.id = 'st-tooltip-arrow';\n this.arrowElement.classList.add('st-tooltip-arrow-' + this.tooltipPlacement);\n this.tooltipContentElement.appendChild(this.arrowElement);\n\n this.renderer.appendChild(this.element.nativeElement, this.tooltipContentElement);\n\n if (!this.tooltipAlwaysShow) {\n this.eventListeners = [\n this.renderer.listen(this.element.nativeElement, 'mouseenter', () => {\n this.show();\n }),\n this.renderer.listen(this.element.nativeElement, 'mouseleave', () => this.hide()),\n ];\n } else {\n this.show();\n }\n }\n\n ngAfterContentInit(): void {\n if (!this.shouldRender()) {\n return;\n }\n\n this.doPosition();\n }\n\n doPosition(): void {\n computePosition(this.element.nativeElement, this.tooltipContentElement, {\n placement: this.tooltipPlacement,\n middleware: [offset(6), arrow({ element: this.arrowElement })],\n }).then(({ x, y, middlewareData }) => {\n Object.assign(this.tooltipContentElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n if (middlewareData.arrow) {\n const { x, y } = middlewareData.arrow;\n\n Object.assign(this.arrowElement.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n });\n }\n });\n }\n\n ngOnDestroy() {\n this.tooltipContentElement.remove();\n if (this.eventListeners?.length) {\n this.eventListeners.forEach((removeEventListenerFn) => removeEventListenerFn());\n }\n if (this.autoUpdateCleanupFunction) {\n this.autoUpdateCleanupFunction();\n }\n }\n\n private shouldRender(): boolean {\n return !!this.stSimpleTooltip() && this.stSimpleTooltip() !== '' && this.tooltipEnabled;\n }\n\n showTimeoutCancel: any;\n\n private show(): void {\n this.showTimeoutCancel = setTimeout(() => {\n this.tooltipContentElement?.setAttribute('data-show', '');\n this.tooltipContentElement?.setAttribute('aria-hidden', 'false');\n this.autoUpdateCleanupFunction = autoUpdate(this.element.nativeElement, this.tooltipContentElement, () =>\n this.doPosition(),\n );\n }, this.config.tooltipDelayMs);\n }\n\n private hide(): void {\n if (this.showTimeoutCancel) {\n clearTimeout(this.showTimeoutCancel);\n this.showTimeoutCancel = undefined;\n }\n this.tooltipContentElement?.removeAttribute('data-show');\n this.tooltipContentElement?.setAttribute('aria-hidden', 'true');\n this.autoUpdateCleanupFunction!();\n }\n}\n\nexport type TooltipPlacement = Exclude<Placement, 'left-start' | 'left-end' | 'right-start' | 'right-end'>;\n","import { computed, DOCUMENT, effect, inject, Injectable, signal } from '@angular/core';\nimport { CurrentDarkmode, DarkmodeSetting } from '../../zesto.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DarkmodeService {\n private readonly STORAGE_KEY = 'strata-darkmode';\n\n private document = inject(DOCUMENT);\n\n private osPrefersDark!: boolean;\n\n private setting = signal<DarkmodeSetting>('SYSTEM');\n private darkmode = signal<CurrentDarkmode>('LIGHT');\n\n public currentMode = computed(() => this.darkmode());\n\n public currentSetting = computed(() => this.setting());\n\n constructor() {\n effect(() => this.updateDarkmodeTagOnDOM(this.darkmode()));\n this.setting.set(this.getSettingFromStorage());\n this.osPrefersDark = this.getSystemDarkmodePreference();\n\n this.calculateDarkmode();\n this.saveSettingToStorage(this.setting());\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (event) => {\n this.osPrefersDark = event.matches;\n if (this.setting() === 'SYSTEM') {\n this.calculateDarkmode();\n }\n });\n }\n\n public setDarkmodeSetting(newSetting: DarkmodeSetting): CurrentDarkmode {\n this.saveSettingToStorage(newSetting);\n\n return this.calculateDarkmode();\n }\n\n private getSystemDarkmodePreference(): boolean {\n return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n\n private calculateDarkmode(): CurrentDarkmode {\n if (this.setting() === 'SYSTEM') {\n this.darkmode.set(this.osPrefersDark ? 'DARK' : 'LIGHT');\n } else {\n this.darkmode.set(this.setting() === 'DARK' ? 'DARK' : 'LIGHT');\n }\n\n return this.darkmode();\n }\n\n private updateDarkmodeTagOnDOM(mode: CurrentDarkmode): void {\n const documentNode = this.document.getElementsByTagName('html')[0];\n if (mode === 'DARK') {\n documentNode.setAttribute('data-theme', 'dark');\n } else {\n documentNode.setAttribute('data-theme', 'light');\n }\n }\n\n private saveSettingToStorage(newSetting: DarkmodeSetting): void {\n localStorage.setItem(this.STORAGE_KEY, newSetting);\n this.setting.set(newSetting);\n }\n\n private getSettingFromStorage(): DarkmodeSetting {\n return (localStorage.getItem(this.STORAGE_KEY) as DarkmodeSetting) ?? 'SYSTEM';\n }\n}\n","import { Component, HostListener, input, model } from '@angular/core';\n\n@Component({\n selector: 'st-checkbox',\n imports: [],\n templateUrl: './checkbox.component.html',\n})\nexport class CheckboxComponent {\n value = model<boolean | undefined>(false);\n\n label = input<string | undefined>(undefined);\n\n name = input<string | undefined>(undefined);\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n event.stopImmediatePropagation();\n this.value.set(!this.value());\n }\n}\n","<input type=\"checkbox\" [checked]=\"value()\" />\n<div class=\"checkbox-visual\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z\"\n ></path>\n </svg>\n</div>\n@if (label()) {\n <label [for]=\"name()\"> {{ label() }}</label>\n}\n","import { Component, HostBinding, input, model } from '@angular/core';\n\n@Component({\n selector: 'st-toggle',\n imports: [],\n templateUrl: './toggle.component.html',\n host: {\n '(click)': 'onCheckChanged()',\n tabindex: '0',\n },\n})\nexport class ToggleComponent {\n checked = model<boolean>(false);\n\n @HostBinding('attr.data-checked')\n get isChecked() {\n return this.checked();\n }\n\n size = input<'sm' | 'md' | 'lg'>('md');\n\n @HostBinding('class')\n get sizeClass() {\n return this.size();\n }\n\n onCheckChanged() {\n this.checked.set(!this.checked());\n }\n}\n","<div class=\"toggle-handle\"></div>\n","import { CheckboxComponent } from '../../../checkbox/components/checkbox/checkbox.component';\nimport { ToggleComponent } from '../../../toggle/components/toggle/toggle.component';\n\nimport { Component, contentChild, ElementRef, HostListener, inject, input, output } from '@angular/core';\n\n@Component({\n selector: 'st-action-menu-item',\n imports: [],\n templateUrl: './action-menu-item.component.html',\n styleUrl: './action-menu-item.component.scss',\n})\nexport class ActionMenuItemComponent {\n private checkbox = contentChild(CheckboxComponent, { read: ElementRef });\n private toggle = contentChild(ToggleComponent, { read: ElementRef });\n\n closeMenuOnClick = input(true);\n\n onMenuItemClicked = output<boolean>();\n\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onMenuItemClicked.emit(this.closeMenuOnClick());\n event.stopPropagation();\n\n this.checkbox()?.nativeElement.click();\n this.toggle()?.nativeElement.click();\n }\n}\n","<span class=\"item-start\">\n <ng-content select=\"[area='start']\"></ng-content\n></span>\n<span class=\"item-default\"> <ng-content></ng-content></span>\n<span class=\"item-end\">\n <ng-content select=\"[area='end']\"></ng-content>\n</span>\n","import { AfterContentInit, Directive, ElementRef, HostBinding, inject, input, signal } from '@angular/core';\n\n@Directive({\n selector: '[stButton]',\n})\nexport class ButtonDirective implements AfterContentInit {\n host = inject(ElementRef);\n\n variant = input<ButtonVariant>('secondary');\n\n size = input<ButtonSize>('md');\n\n fullWidth = input<boolean>(false);\n\n private iconAtStart = signal(false);\n private iconAtEnd = signal(false);\n private iconOnly = signal(false);\n\n constructor() {}\n\n @HostBinding('class')\n get classes(): string[] {\n return [\n 'st-button',\n `st-button-${this.variant()}`,\n `st-size-${this.size()}`,\n this.iconAtStart() ? 'st-button-has-starting-icon' : '',\n this.iconAtEnd() ? 'st-button-has-ending-icon' : '',\n this.iconOnly() ? 'st-button-icon-only' : '',\n this.fullWidth() ? 'st-button-full-width' : '',\n ];\n }\n\n ngAfterContentInit() {\n const nodes = this.host.nativeElement.childNodes;\n\n if (nodes === undefined || nodes.length == 0) {\n return;\n }\n\n if (nodes.length === 1 && this.nodeIsStIcon(nodes[0])) {\n this.iconOnly.set(true);\n return;\n }\n\n this.iconAtStart.set(this.nodeIsStIcon(nodes[0]));\n this.iconAtEnd.set(this.nodeIsStIcon(nodes[nodes.length - 1]));\n }\n\n nodeIsStIcon(node: any): boolean {\n if (node.nodeType === Node.TEXT_NODE && !node.textContent.trim()) {\n return false;\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n const tagName = node.tagName.toLowerCase();\n\n return tagName === 'st-icon';\n }\n return false;\n }\n}\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-card',\n imports: [],\n templateUrl: './card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardComponent {\n elevated = input<boolean>(false);\n\n selectable = input<boolean>(false);\n\n padding = input<boolean>(true);\n\n variant = input<CardVariant>('elevated');\n\n @HostBinding('class.with-padding')\n get withPadding() {\n return this.padding();\n }\n\n @HostBinding('class.selectable')\n get isSelectable() {\n return this.selectable();\n }\n\n @HostBinding('attr.tabindex')\n get tabIndex(): number | null {\n return this.selectable() ? 0 : null;\n }\n\n @HostBinding('class.elevated')\n get isElevated() {\n return this.variant() === 'elevated';\n }\n\n @HostBinding('class.flat')\n get isFlat() {\n return this.variant() === 'flat';\n }\n\n @HostBinding('class.outline')\n get isOutline() {\n return this.variant() === 'outline';\n }\n}\n\nexport type CardVariant = 'elevated' | 'flat' | 'outline';\n","<div class=\"cover-area\">\n <ng-content select=\"[area='cover']\"></ng-content>\n</div>\n<div class=\"card-content\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding, inject, input, model, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IconRegistry } from '../../loader/icon-registry.interface';\nimport { IconSize } from '../../models/icon.model';\n\n@Component({\n selector: 'st-icon',\n imports: [],\n template: '<span [innerHTML]=\"svgMarkdown\"></span>',\n})\nexport class IconComponent implements OnDestroy {\n defaultIcon: string = 'question';\n\n name = input.required<string>();\n\n size = model<IconSize>('md');\n\n @HostBinding('class.xs')\n get sizeClass() {\n return this.size() === 'xs';\n }\n\n @HostBinding('class.sm')\n get sizeSmClass() {\n return this.size() === 'sm';\n }\n\n @HostBinding('class.md')\n get sizeMdClass() {\n return this.size() === 'md';\n }\n\n @HostBinding('class.lg')\n get sizeLgClass() {\n return this.size() === 'lg';\n }\n\n public svgMarkdown: any;\n\n private iconSubscription!: Subscription;\n\n iconRegistry = inject(IconRegistry);\n\n ngOnDestroy(): void {\n if (this.iconSubscription) {\n this.iconSubscription.unsubscribe();\n }\n }\n\n public ngOnChanges(): void {\n const name = this.name();\n if (!name) {\n this.setIcon(this.defaultIcon);\n } else {\n this.setIcon(name);\n }\n }\n\n private setIcon(iconName: string): void {\n this.iconSubscription = this.iconRegistry.getIcon(iconName).subscribe((value) => {\n this.svgMarkdown = value;\n });\n }\n}\n","import {\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { autoUpdate, computePosition, flip, offset, Placement, shift } from '@floating-ui/dom';\n\n@Directive({\n selector: '[stOverlay]',\n})\nexport class OverlayDirective implements OnChanges, OnDestroy {\n stOverlay = input.required<TemplateRef<any>>();\n\n overlayOpen = model(false);\n\n overlayPlacement = input<Placement>('bottom');\n\n overlayOffset = input(8);\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly viewContainerRef = inject<ViewContainerRef>(ViewContainerRef);\n\n private overlayEl?: HTMLElement;\n private cleanup?: () => void;\n\n constructor() {}\n\n ngOnChanges(): void {\n if (this.overlayOpen()) {\n this.create();\n } else {\n this.destroy();\n }\n }\n\n private async create() {\n if (this.overlayEl) return;\n\n const view = this.viewContainerRef.createEmbeddedView(this.stOverlay());\n view.detectChanges();\n\n this.overlayEl = view.rootNodes[0];\n document.body.appendChild(this.overlayEl!);\n\n this.cleanup = autoUpdate(this.element.nativeElement, this.overlayEl!, () => this.updatePosition());\n }\n\n private async updatePosition() {\n if (!this.overlayEl) return;\n\n const { x, y } = await computePosition(this.element.nativeElement, this.overlayEl, {\n placement: this.overlayPlacement(),\n middleware: [offset(this.overlayOffset()), flip(), shift()],\n });\n\n if (!this.overlayEl) return;\n\n const { width, height } = this.element.nativeElement.getBoundingClientRect();\n\n Object.assign(this.overlayEl.style, {\n position: 'absolute',\n left: `${x}px`,\n top: `${y}px`,\n });\n\n this.overlayEl.style.setProperty('--st-overlay-anchor-element-width', `${width}px`);\n }\n\n private destroy() {\n if (this.cleanup) this.cleanup();\n if (this.overlayEl) this.overlayEl.remove();\n\n this.overlayEl = undefined;\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n}\n","import {\n AfterViewInit,\n Component,\n contentChild,\n contentChildren,\n ElementRef,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport { Placement } from '@floating-ui/dom';\nimport { ButtonDirective } from '../../../button/directives/button/button.directive';\nimport { CardComponent } from '../../../card/components/card/card.component';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\nimport { OverlayDirective } from '../../../overlay/directives/overlay.directive';\nimport { ActionMenuItemComponent } from '../action-menu-item/action-menu-item.component';\n\n@Component({\n selector: 'st-action-menu',\n imports: [CardComponent, OverlayDirective, IconComponent, ButtonDirective],\n templateUrl: './action-menu.component.html',\n styleUrl: './action-menu.component.scss',\n})\nexport class ActionMenuComponent implements AfterViewInit {\n projectedButton = contentChild(ButtonDirective, {\n descendants: true,\n read: ElementRef,\n });\n\n defaultButton = viewChild(ButtonDirective, {\n read: ElementRef,\n });\n\n actionMenuItems = contentChildren(ActionMenuItemComponent);\n\n placement = input<Placement>('bottom-end');\n\n renderer = inject(Renderer2);\n\n menuOpen = signal(false);\n\n ngAfterViewInit(): void {\n const button = this.projectedButton() ?? this.defaultButton()!;\n\n this.renderer.listen(button.nativeElement, 'click', () => {\n this.menuOpen.set(!this.menuOpen());\n });\n\n this.actionMenuItems().forEach((item) => {\n item.onMenuItemClicked.subscribe((shouldClose) => {\n if (shouldClose) {\n this.menuOpen.set(false);\n }\n });\n });\n }\n}\n","<div [stOverlay]=\"menu\" [overlayOpen]=\"menuOpen()\" [overlayPlacement]=\"placement()\">\n <ng-content select=\"button[stButton]\"></ng-content>\n @if (!projectedButton()) {\n <button stButton><st-icon name=\"more\"></st-icon></button>\n }\n</div>\n\n<ng-template #menu>\n <st-card [padding]=\"false\"><ng-content select=\"st-action-menu-item\"></ng-content></st-card>\n</ng-template>\n","import { Component, effect, HostBinding, input, model, output } from '@angular/core';\n\n@Component({\n selector: 'st-accordion-item',\n imports: [],\n templateUrl: './accordion-item.component.html',\n})\nexport class AccordionItemComponent {\n title = input.required<string>();\n\n open = model<boolean>(false);\n\n toggled = output<boolean>();\n\n constructor() {\n let firstRun = true;\n effect(() => {\n let value = this.open();\n if (!firstRun) {\n this.toggled.emit(value);\n }\n firstRun = false;\n return;\n });\n }\n\n @HostBinding('attr.open')\n get isOpen(): boolean {\n return this.open();\n }\n}\n","<div class=\"accordion-header\" (click)=\"this.open.set(!this.open())\">\n {{ title() }}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z\"\n ></path>\n </svg>\n</div>\n\n<div class=\"accordion-content\">\n <ng-content></ng-content>\n</div>\n","import { AfterContentInit, Component, contentChildren, input } from '@angular/core';\nimport { AccordionItemComponent } from '../accordion-item/accordion-item.component';\n\n@Component({\n selector: 'st-accordion-group',\n imports: [],\n templateUrl: './accordion-group.component.html',\n})\nexport class AccordionGroupComponent implements AfterContentInit {\n items = contentChildren(AccordionItemComponent);\n\n allowMultipleOpen = input<boolean>(false);\n\n ngAfterContentInit(): void {\n this.items().forEach((item) => {\n item.toggled.subscribe((open) => {\n if (open && !this.allowMultipleOpen()) {\n this.closeOtherItems(item);\n }\n });\n });\n }\n\n closeOtherItems(currentItem: AccordionItemComponent) {\n this.items().forEach((item) => {\n if (item !== currentItem) {\n item.open.set(false);\n }\n });\n }\n}\n","<ng-content></ng-content>\n","import { AfterViewInit, Component, contentChildren, HostBinding, input, model } from '@angular/core';\nimport { Size } from '../../../../zesto.model';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\n\n@Component({\n selector: 'st-avatar',\n imports: [],\n templateUrl: './avatar.component.html',\n})\nexport class AvatarComponent implements AfterViewInit {\n iconComponents = contentChildren(IconComponent, { descendants: true });\n\n text = input<string | null>(null);\n\n size = model<Size>('md');\n\n @HostBinding('class')\n get elementClasses() {\n return [this.size()];\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.iconComponents().forEach((icon) => {\n icon.size.set(this.size());\n });\n });\n }\n}\n","@if (text() !== null) {\n <span>{{ text() }}</span>\n}\n<ng-content></ng-content>\n","import { AfterViewInit, Component, contentChildren, ElementRef, HostBinding, input } from '@angular/core';\nimport { Size } from '../../../../zesto.model';\nimport { AvatarComponent } from '../avatar/avatar.component';\n\n@Component({\n selector: 'st-avatar-stack',\n imports: [],\n templateUrl: './avatar-stack.component.html',\n})\nexport class AvatarStackComponent implements AfterViewInit {\n avatarRefs = contentChildren(AvatarComponent, {\n descendants: true,\n read: ElementRef,\n });\n\n size = input<Size>('md');\n\n spacing = input<'loose' | 'mid' | 'tight'>('mid');\n\n firstOnFront = input<boolean>(false);\n\n @HostBinding('class.xs')\n get xsClass(): boolean {\n return this.size() === 'xs';\n }\n\n @HostBinding('class.sm')\n get smClass(): boolean {\n return this.size() === 'sm';\n }\n\n @HostBinding('class.md')\n get mdClass(): boolean {\n return this.size() === 'md';\n }\n\n @HostBinding('class.lg')\n get lgClass(): boolean {\n return this.size() === 'lg';\n }\n\n @HostBinding('class.first-on-front')\n get firstOnFrontClass(): boolean {\n return this.firstOnFront();\n }\n\n @HostBinding('class.loose')\n get looseClass(): boolean {\n return this.spacing() === 'loose';\n }\n\n @HostBinding('class.mid')\n get midClass(): boolean {\n return this.spacing() === 'mid';\n }\n\n @HostBinding('class.tight')\n get tightClass(): boolean {\n return this.spacing() === 'tight';\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.avatarRefs().forEach((ref, index) => {\n if (this.firstOnFront()) {\n ref.nativeElement.style.setProperty('--z', (this.avatarRefs().length - index).toString());\n }\n });\n }, 1);\n }\n}\n","<ng-content></ng-content>\n","import { Component, inject, input, Renderer2 } from '@angular/core';\n\n@Component({\n selector: 'st-button-group',\n imports: [],\n templateUrl: './button-group.component.html',\n})\nexport class ButtonGroupComponent {\n renderer = inject(Renderer2);\n\n justification = input<ButtonGroupJustification>('start');\n}\n\nexport type ButtonGroupJustification = 'start' | 'center' | 'end' | 'expand' | 'stack';\n","<ng-content select=\"[stButton], st-divider\" #buttons></ng-content>\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'input[stInput], textarea[stInput]',\n})\nexport class NativeInputRefDirective {\n el = inject(ElementRef<HTMLInputElement | HTMLTextAreaElement>);\n\n constructor() {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n contentChildren,\n effect,\n signal,\n} from '@angular/core';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\nimport { NativeInputRefDirective } from '../../directives/native-input-ref.directive';\n\n@Component({\n selector: 'st-input-field',\n imports: [],\n templateUrl: './input-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputFieldComponent implements AfterViewInit {\n iconComponents = contentChildren(IconComponent, { descendants: true });\n\n inputField = contentChild(NativeInputRefDirective, {\n descendants: true,\n });\n\n private pendingFocus = signal(false);\n\n constructor() {\n effect(() => {\n const input = this.inputField();\n\n if (input && this.pendingFocus()) {\n input.el.nativeElement.focus();\n this.pendingFocus.set(false);\n }\n });\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => this.iconComponents().forEach((icon) => icon.size.set('sm')), 1);\n }\n\n focus(): void {\n const input = this.inputField();\n this.pendingFocus.set(true);\n }\n\n blur(): void {\n this.inputField()?.el.nativeElement.blur();\n }\n\n get nativeInput(): HTMLInputElement | undefined {\n return this.inputField()?.el.nativeElement;\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"st-input-wrapper\">\n <div class=\"affix\">\n <ng-content select=\"[prefix]\"></ng-content>\n </div>\n <ng-content select=\"input,textarea\"></ng-content>\n <div class=\"affix\">\n <ng-content select=\"[suffix]\"></ng-content>\n </div>\n</div>\n","import { Component, computed, HostBinding, input, model, output, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Placement } from '@floating-ui/dom';\nimport { ButtonDirective } from '../../../../../public-api';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\nimport { InputFieldComponent } from '../../../input-field/components/input-field/input-field.component';\nimport { NativeInputRefDirective } from '../../../input-field/directives/native-input-ref.directive';\nimport { OverlayDirective } from '../../../overlay/directives/overlay.directive';\n\n@Component({\n selector: 'st-dropdown',\n imports: [\n IconComponent,\n OverlayDirective,\n InputFieldComponent,\n FormsModule,\n NativeInputRefDirective,\n ButtonDirective,\n ],\n templateUrl: './dropdown.component.html',\n})\nexport class DropdownComponent {\n open = signal(false);\n\n placeholder = input<string>('Select');\n\n placement = input<Placement>('bottom-start');\n\n fullWidth = input<boolean>(false);\n\n label = input<string>();\n\n name = input<string>();\n\n selected = model<SelectItem>();\n\n size = input<DropdownSize>('md');\n\n searchable = input(false);\n\n searchQuery = model<string>();\n\n searchPlaceholder = input('Search');\n\n dropdownItems = input.required<SelectItem[]>();\n\n shownItems = computed(() => {\n if (!this.searchQuery()) {\n return this.dropdownItems();\n }\n return this.dropdownItems().filter((item) =>\n item.text.toLowerCase().includes(this.searchQuery()!.toLowerCase().trim()),\n );\n });\n\n onSelect = output<SelectItem>();\n\n private inputField = viewChild(InputFieldComponent);\n\n @HostBinding('class')\n get classList() {\n return [this.size()];\n }\n\n toggleDropdown(event?: MouseEvent): void {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (this.open()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n onItemClick(item: SelectItem, mouseEvent: MouseEvent): void {\n this.toggleDropdown();\n mouseEvent.stopPropagation();\n this.selected.set(item);\n this.onSelect.emit(item);\n }\n\n onItemHover(mouseEvent: MouseEvent): void {\n mouseEvent.stopPropagation();\n mouseEvent.stopImmediatePropagation();\n mouseEvent.preventDefault();\n }\n\n private show(): void {\n this.open.set(true);\n setTimeout(() => {\n this.inputField()?.focus();\n }, 10);\n }\n\n private hide(): void {\n this.open.set(false);\n }\n}\n\nexport interface SelectItem {\n text: string;\n id: string;\n}\n\nexport type DropdownSize = 'sm' | 'md' | 'lg';\n","@if (label()) {\n <label [for]=\"name()\"> {{ label() }}</label>\n}\n<div\n class=\"dropdown-input\"\n [id]=\"name()\"\n #dropdownInput\n (click)=\"toggleDropdown($event)\"\n [attr.data-open]=\"open()\"\n tabindex=\"0\"\n [stOverlay]=\"selector\"\n [overlayOpen]=\"open()\"\n [overlayPlacement]=\"placement()\">\n @if (selected()) {\n {{ selected()!.text }}\n } @else {\n <span class=\"placeholder-text\">{{ placeholder() }}</span>\n }\n\n <st-icon name=\"expand-up-down\"></st-icon>\n</div>\n\n<ng-template #selector>\n <div class=\"dropdown-selector\" #dropdownSelector [class.full-width]=\"fullWidth()\">\n @if (searchable()) {\n <st-input-field>\n <input stInput #searchField type=\"text\" [(ngModel)]=\"searchQuery\" [placeholder]=\"searchPlaceholder()\" />\n <button\n stButton\n variant=\"ghost\"\n [class.visible]=\"searchQuery() !== undefined && searchQuery()!.length > 0\"\n suffix\n size=\"sm\"\n (click)=\"searchQuery.set(undefined)\">\n x\n </button>\n </st-input-field>\n }\n @for (item of shownItems(); track item.id) {\n <div class=\"dropdown-item\" (click)=\"onItemClick(item, $event)\" (mouseover)=\"onItemHover($event)\">\n {{ item.text }}\n </div>\n }\n </div>\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'st-divider',\n imports: [],\n templateUrl: './divider.component.html',\n})\nexport class DividerComponent {\n label = input<string>();\n margin = input(true);\n vertical = input(false);\n}\n","@if (!label() || vertical()) {\n <div class=\"divider-line\" [class.divider-margin]=\"margin()\" [class.vertical]=\"vertical()\"></div>\n} @else {\n <div class=\"divider-line-with-text\" [class.divider-margin]=\"margin()\">\n <div class=\"divider-line\"></div>\n <span>{{ label() }}</span>\n <div class=\"divider-line\"></div>\n </div>\n}\n","import { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-tag',\n imports: [],\n template: '<ng-content></ng-content>',\n})\nexport class TagComponent {\n size = input<TagSize>('md');\n\n @HostBinding('class')\n get class() {\n return this.size();\n }\n}\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n","import { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-item',\n imports: [],\n templateUrl: './item.component.html',\n styleUrls: ['./item.component.scss'],\n})\nexport class ItemComponent {\n interactable = input(false);\n\n @HostBinding('class.interactable')\n get isInteractable(): boolean {\n return this.interactable();\n }\n\n @HostBinding('attr.tabindex')\n get tabIndex(): number | null {\n return this.interactable() ? 0 : null;\n }\n}\n","<span class=\"item-start\">\n <ng-content select=\"[area='start']\"></ng-content\n></span>\n<span class=\"item-default\"> <ng-content></ng-content></span>\n<span class=\"item-end\">\n <ng-content select=\"[area='end']\"></ng-content>\n</span>\n","import { CommonModule, NgTemplateOutlet } from '@angular/common';\nimport { Component, HostBinding, input, TemplateRef } from '@angular/core';\nimport { ItemComponent } from '../item/item.component';\n\n@Component({\n selector: 'st-item-list',\n imports: [ItemComponent, NgTemplateOutlet, CommonModule],\n templateUrl: './item-list.component.html',\n})\nexport class ItemListComponent<T> {\n items = input.required<T[]>();\n\n dividers = input<boolean>(true);\n\n template = input<TemplateRef<any>>();\n\n @HostBinding('class') get hostClasses(): string[] {\n return [this.dividers() ? 'with-dividers' : ''];\n }\n}\n","@for (item of items(); track item; let last = $last) {\n <ng-template #defaultItemTemplate>\n <st-item>{{ item }}</st-item>\n </ng-template>\n <ng-container\n [ngTemplateOutlet]=\"template() || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n inject,\n input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n\n@Directive({\n selector: '[stAutoResize]',\n})\nexport class AutoResizeDirective implements AfterViewInit, OnChanges {\n minimumRows = input(1);\n maximumRows = input<number>();\n\n private lineHeight = 0;\n\n private element = inject<ElementRef<HTMLTextAreaElement>>(ElementRef);\n @HostListener('input')\n onInput() {\n this.resize();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.resize();\n }\n\n constructor() {}\n\n ngAfterViewInit(): void {\n this.calculateLineHeight();\n this.resize();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minRows'] || changes['maxRows']) {\n this.resize();\n }\n }\n\n private calculateLineHeight() {\n const textarea = this.element.nativeElement;\n\n const originalRows = textarea.rows;\n const originalValue = textarea.value;\n\n textarea.rows = 1;\n textarea.value = '';\n\n // Force layout\n this.lineHeight = textarea.scrollHeight;\n\n // Restore\n textarea.rows = originalRows;\n textarea.value = originalValue;\n }\n\n private resize() {\n const textarea = this.element.nativeElement;\n\n textarea.style.height = 'auto';\n\n const scrollHeight = textarea.scrollHeight;\n\n const minHeight = this.minimumRows() * this.lineHeight;\n const maxHeight = this.maximumRows() ? this.maximumRows()! * this.lineHeight : Infinity;\n\n const newHeight = Math.min(Math.max(scrollHeight, minHeight), maxHeight);\n\n textarea.style.height = `${newHeight}px`;\n textarea.style.overflowY = scrollHeight > maxHeight ? 'auto' : 'hidden';\n }\n}\n","import { Component, computed, input, model, output } from '@angular/core';\n\n@Component({\n selector: 'st-pagination',\n imports: [],\n templateUrl: './pagination.component.html',\n})\nexport class PaginationComponent {\n currentPage = model<number>(1);\n\n totalPages = input.required<number>();\n\n onPageSelect = output<number>();\n\n pageButtons = computed(() => this.calculatePageButtons(this.currentPage(), this.totalPages()));\n\n hideNextPreviousAtStartEnd = input(false);\n\n changePage(newPage: number): void {\n this.currentPage.set(newPage);\n this.onPageSelect.emit(this.currentPage());\n }\n\n private calculatePageButtons(currentPage: number, totalPages: number): PaginationItem[] {\n const buttons: PaginationItem[] = [];\n\n if (totalPages <= 7) {\n return this.showAllPages(totalPages);\n }\n\n if (currentPage < 4) {\n return this.showStartingPages(totalPages);\n }\n\n if (currentPage > totalPages - 4) {\n return this.showEndingPages(totalPages);\n }\n buttons.push(this.pageItem(1));\n buttons.push(this.spaceItem());\n buttons.push(this.pageItem(currentPage - 1));\n buttons.push(this.pageItem(currentPage));\n buttons.push(this.pageItem(currentPage + 1));\n\n buttons.push(this.spaceItem());\n\n buttons.push(this.pageItem(totalPages));\n return buttons;\n }\n\n private showStartingPages(totalPages: number): PaginationItem[] {\n return [\n this.pageItem(1),\n this.pageItem(2),\n this.pageItem(3),\n this.pageItem(4),\n this.spaceItem(),\n this.pageItem(totalPages - 1),\n this.pageItem(totalPages),\n ];\n }\n\n private showEndingPages(totalPages: number): PaginationItem[] {\n return [\n this.pageItem(1),\n this.pageItem(2),\n this.spaceItem(),\n this.pageItem(totalPages - 3),\n this.pageItem(totalPages - 2),\n this.pageItem(totalPages - 1),\n this.pageItem(totalPages),\n ];\n }\n\n private showAllPages(totalPages: number): PaginationItem[] {\n const buttons: PaginationItem[] = [];\n\n for (let i = 1; i <= totalPages; i++) {\n buttons.push(this.pageItem(i));\n }\n return buttons;\n }\n\n private spaceItem(): PaginationItem {\n return { page: undefined, text: '...', clickable: false };\n }\n\n private pageItem(page: number): PaginationItem {\n return {\n page: page,\n text: page + '',\n clickable: true,\n };\n }\n}\n\nexport type PaginationItem = {\n page: number | undefined;\n text: string;\n clickable: boolean;\n};\n","<button\n [disabled]=\"currentPage() === 1\"\n [class.clickable]=\"true\"\n [class.hideOnDisabled]=\"hideNextPreviousAtStartEnd()\"\n (click)=\"changePage(currentPage() - 1)\"\n>\n Previous\n</button>\n@for (page of pageButtons(); track page) {\n <button\n [class.selected]=\"page.page === currentPage()\"\n [class.clickable]=\"page.clickable\"\n (click)=\"page.page ? changePage(page.page) : null\"\n >\n {{ page.text }}\n </button>\n}\n<button\n [disabled]=\"currentPage() === totalPages()\"\n (click)=\"changePage(currentPage() + 1)\"\n [class.clickable]=\"true\"\n [class.hideOnDisabled]=\"hideNextPreviousAtStartEnd()\"\n>\n Next\n</button>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'capitalize',\n standalone: true,\n pure: true,\n})\nexport class CapitalizePipe implements PipeTransform {\n public static capitalize(value: string): string {\n return value.substring(0, 1).toLocaleUpperCase() + value.substring(1);\n }\n\n transform(value: string, ...args: unknown[]): unknown {\n return CapitalizePipe.capitalize(value);\n }\n}\n","import { DecimalPipe, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-progress',\n imports: [DecimalPipe, NgTemplateOutlet],\n templateUrl: './progress.component.html',\n})\nexport class ProgressComponent {\n min = input(0);\n max = input(100);\n value = input.required<number>();\n type = input<ProgressType>('linear');\n showLabel = input(true);\n labelFormat = input<ProgressLabelFormat>('percentage');\n growDirection = input<ProgressGrowDirection>('right');\n\n size = input(120);\n strokeWidth = input(10);\n\n percentage = computed(() => {\n if (this.max() <= this.min()) {\n return 0;\n }\n\n const clampedValue = Math.min(Math.max(this.value(), this.min()), this.max());\n const progressedValue = clampedValue - this.min();\n const progressableValues = this.max() - this.min();\n return (progressedValue / progressableValues) * 100;\n });\n\n radius = computed(() => (this.size() - this.strokeWidth()) / 2);\n circumference = computed(() => 2 * Math.PI * this.radius());\n dashOffset = computed(() => this.circumference() * (1 - this.percentage() / 100));\n\n @HostBinding('class')\n get cssClasses(): string[] {\n return [this.type(), `grow-${this.growDirection()}`];\n }\n\n @HostBinding('style.--st-progress-percentage')\n get percentageProperty(): number {\n return this.percentage();\n }\n}\n\nexport type ProgressType = 'linear' | 'radial';\nexport type ProgressLabelFormat = 'percentage' | 'value';\nexport type ProgressGrowDirection = 'left' | 'right';\n","@switch (type()) {\n @case (\"linear\") {\n <div class=\"linear-container\">\n <div class=\"linear-bar\" [style.width.%]=\"percentage()\"></div>\n </div>\n\n <ng-container [ngTemplateOutlet]=\"label\"></ng-container>\n }\n @case (\"radial\") {\n <div class=\"radial-container\">\n <svg width=\"100%\" height=\"100%\">\n <circle class=\"background\"></circle>\n\n <circle class=\"progress\" stroke-linecap=\"round\"></circle>\n </svg>\n\n <ng-container [ngTemplateOutlet]=\"label\"></ng-container>\n </div>\n }\n}\n\n<ng-template #label>\n @if (showLabel()) {\n <span class=\"label\">\n @switch (labelFormat()) {\n @case (\"percentage\") {\n {{ percentage() | number: \"1.0-0\" }}%\n }\n @case (\"value\") {\n {{ value() | number: \"1.0-0\" }}\n }\n }\n </span>\n }\n</ng-template>\n","import { Component, HostBinding, input, model, output } from '@angular/core';\n\n@Component({\n selector: 'st-segmented-control-item',\n imports: [],\n template: `{{ text() }} `,\n styleUrl: './segmented-control-item.component.scss',\n host: {\n '(click)': 'onClick()',\n },\n})\nexport class SegmentedControlItemComponent {\n text = input.required<string>();\n\n selected = model(false);\n\n disabled = input(false);\n\n onSelection = output();\n\n @HostBinding('attr.tabindex')\n get tabIndex(): number | null {\n return this.selected() || this.disabled() ? null : 0;\n }\n\n @HostBinding('attr.disabled')\n get disabledAttribute(): boolean | null {\n return this.disabled() ? true : null;\n }\n\n onClick(): void {\n this.selected.set(true);\n this.onSelection.emit();\n }\n}\n","import { AfterViewInit, Component, computed, contentChildren, ElementRef, signal } from '@angular/core';\nimport { SegmentedControlItemComponent } from '../segmented-control-item/segmented-control-item.component';\n\n@Component({\n selector: 'st-segmented-control',\n imports: [],\n templateUrl: './segmented-control.component.html',\n})\nexport class SegmentedControlComponent implements AfterViewInit {\n segmentItems = contentChildren(SegmentedControlItemComponent);\n segmentItemsRefs = contentChildren(SegmentedControlItemComponent, {\n read: ElementRef,\n });\n\n selectedItem = signal<SegmentedControlItemComponent | null>(null);\n selectedIndex = signal(0);\n\n offset = computed(() => this.widths()[this.selectedIndex()]);\n\n private widths = signal<number[]>([]);\n\n ngAfterViewInit(): void {\n if (this.segmentItems().length === 0) {\n return;\n }\n const widths = [];\n for (let i = 0; i < this.segmentItems().length; i++) {\n widths.push(this.calculateOffset(i));\n }\n\n this.widths.set(widths);\n for (const item of this.segmentItems()) {\n item.onSelection.subscribe(() => {\n this.selectItem(item);\n });\n }\n\n const initiallySelected = this.segmentItems().find((item) => item.selected());\n\n if (!initiallySelected) {\n const firstItem = this.segmentItems()[0];\n firstItem.selected.set(true);\n this.selectItem(firstItem);\n } else {\n this.selectItem(initiallySelected!);\n }\n }\n\n selectItem(selectedItem: SegmentedControlItemComponent): void {\n this.selectedItem.set(selectedItem);\n this.selectedIndex.set(this.segmentItems().indexOf(selectedItem));\n }\n\n calculateOffset(currentIndex: number): number {\n const elementsBeforeIndex = this.segmentItemsRefs().slice(0, currentIndex) ?? [];\n\n if (elementsBeforeIndex.length > 0) {\n return elementsBeforeIndex\n .map((element) => element.nativeElement.offsetWidth)\n .reduce((sum, currentValue) => (sum += currentValue));\n }\n\n return 0;\n }\n}\n","<ng-content select=\"st-segmented-control-item\"></ng-content>\n<div class=\"selection-item\" id=\"selection-indicator\" [style.marginLeft]=\"this.offset() + 'px'\">\n {{ this.selectedItem()?.text() }}\n</div>\n","import { AfterViewInit, Component, computed, ElementRef, input, model, OnDestroy, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'st-slider',\n imports: [FormsModule],\n templateUrl: './slider.component.html',\n})\nexport class SliderComponent implements AfterViewInit, OnDestroy {\n wrapper = viewChild.required<ElementRef<HTMLDivElement>>('wrapper');\n private resizeObserver!: ResizeObserver;\n\n value = model<number>();\n\n minimum = input.required<number>();\n\n maximum = input.required<number>();\n\n step = input<number | 'none' | undefined>();\n\n computedStep = computed(() =>\n this.step() === 'none' || this.step() === undefined ? 'any' : (this.step() as number),\n );\n\n steps = computed(() => {\n const step = this.computedStep();\n if (step === 'any' || step === undefined) {\n return 0;\n }\n return Math.floor((this.maximum() - this.minimum()) / step) + 1;\n });\n\n isStepped = computed(\n () => this.computedStep() !== 'any' && this.computedStep() !== undefined && this.computedStep() !== 0,\n );\n\n ngAfterViewInit(): void {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateTickMath();\n });\n\n this.resizeObserver.observe(this.wrapper().nativeElement);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver.disconnect();\n }\n\n private updateTickMath(): void {\n if (!this.isStepped()) return;\n\n const wrapperEl = this.wrapper().nativeElement;\n const sliderWidth = wrapperEl.offsetWidth;\n\n const thumbSize = this.getThumbSize(wrapperEl);\n\n const usableWidth = sliderWidth - thumbSize;\n\n const intervalCount = this.steps() - 1;\n if (intervalCount <= 0) return;\n\n const intervalPx = Math.round(usableWidth / intervalCount);\n\n wrapperEl.style.setProperty('--st-slider-usable-width', `${usableWidth}px`);\n wrapperEl.style.setProperty('--st-slider-interval-px', `${intervalPx}px`);\n wrapperEl.style.setProperty('--st-slider-thumb-offset', `${thumbSize / 2}px`);\n }\n\n private getThumbSize(el: HTMLElement): number {\n const styles = getComputedStyle(el);\n const size = styles.getPropertyValue('--st-slider-thumb-size');\n return parseFloat(size);\n }\n}\n","<div\n #wrapper\n class=\"range-wrapper\"\n [style.--steps]=\"steps()\"\n [class.stepped]=\"isStepped()\"\n>\n <input\n type=\"range\"\n [(ngModel)]=\"value\"\n [min]=\"minimum()\"\n [max]=\"maximum()\"\n [step]=\"computedStep()\"\n />\n</div>\n","import { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-spinner',\n imports: [],\n templateUrl: './spinner.component.html',\n})\nexport class SpinnerComponent {\n size = input<SpinnerSize>('md');\n\n @HostBinding('class')\n get cssClasses(): string[] {\n return [this.size()];\n }\n}\n\nexport type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg';\n","<span class=\"st-spinner\"></span>\n","import { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'st-text-stack',\n imports: [],\n templateUrl: './text-stack.component.html',\n styleUrl: './text-stack.component.scss',\n})\nexport class TextStackComponent {\n overflow = input<TextStackOverflow>('truncate');\n\n @HostBinding('class')\n get cssClasses(): string[] {\n return [this.overflow()];\n }\n}\n\nexport type TextStackOverflow = 'truncate' | 'wrap';\n","<ng-content></ng-content>\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { Theme } from '../../../zesto.model';\n\n@Directive({\n selector: '[stTheme]',\n standalone: true,\n})\nexport class ThemeDirective {\n element = inject(ElementRef);\n\n stTheme = input.required<Theme>();\n\n constructor() {\n effect(() => {\n const theme = this.stTheme();\n const el = this.element.nativeElement;\n\n // remove previous theme classes\n el.classList.forEach((cls: string) => {\n if (cls.startsWith('st-theme-')) {\n el.classList.remove(cls);\n }\n });\n\n el.classList.add(`st-theme-${theme}`);\n });\n }\n}\n","export class Stack<T> {\n items: T[] = [];\n\n push(item: T): void {\n this.items.push(item);\n }\n\n pop(): T {\n const lastItem = this.items.pop();\n if (lastItem === undefined) {\n throw new Error();\n }\n return lastItem;\n }\n\n peek(): T {\n return this.items[this.items.length - 1];\n }\n\n empty(): boolean {\n return this.items.length === 0;\n }\n\n size(): number {\n return this.items.length;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Stack } from '../../../shared/stack.model';\nimport { AlertContentComponent } from '../components/alert-content/alert-content.component';\nimport { AlertConfiguration, ModalConfiguration, WithID } from '../modal.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private stack: Stack<ModalConfiguration & WithID> = new Stack();\n private currentModals = new BehaviorSubject<\n Stack<ModalConfiguration & WithID>\n >(this.stack);\n\n public showModal(config: ModalConfiguration): void {\n this.stack.push({\n ...config,\n id: crypto.randomUUID(),\n size: config.size ?? 'md',\n });\n this.currentModals.next(this.stack);\n }\n\n public showAlert(\n config: AlertConfiguration,\n callback: (value: boolean) => void,\n ): void {\n this.showModal({\n component: AlertContentComponent,\n size: 'xs',\n hideCloseButton: true,\n onModalClosed: callback,\n disableBackdropClosure: true,\n inputs: {\n title: config.title,\n message: config.message,\n affirmativeButton: config.affirmativeButton,\n cancelButton: config.cancelButton,\n theme: config.theme,\n icon: config.icon,\n },\n });\n }\n\n public closeCurrentModal(value?: any): void {\n const currentModal = this.stack.pop();\n this.currentModals.next(this.stack);\n if (currentModal.onModalClosed) {\n currentModal.onModalClosed(value);\n }\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { Theme } from '../../../../zesto.model';\nimport { ModalService } from '../../services/modal.service';\n\nimport { ButtonDirective } from '../../../../../public-api';\nimport { AvatarComponent } from '../../../avatar/components/avatar/avatar.component';\nimport { ButtonGroupComponent } from '../../../button/components/button-group/button-group.component';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\nimport { ThemeDirective } from '../../../theming/directives/theme.directive';\n\n@Component({\n selector: 'st-alert-content',\n imports: [AvatarComponent, IconComponent, ThemeDirective, ButtonGroupComponent, ButtonDirective],\n templateUrl: './alert-content.component.html',\n})\nexport class AlertContentComponent {\n title = input.required<string>();\n message = input<string>();\n\n icon = input<string | undefined>(undefined);\n\n readonly computedIcon = computed(() => {\n return this.icon() ?? '';\n });\n\n theme = input<Theme>('info');\n\n affirmativeButton = input.required<string>();\n\n cancelButton = input<string | undefined>(undefined);\n\n constructor(private modalService: ModalService) {}\n\n onAffirmation(): void {\n this.modalService.closeCurrentModal(true);\n }\n\n onCancel(): void {\n this.modalService.closeCurrentModal(false);\n }\n}\n","<div class=\"alert-content\">\n @if (icon() !== undefined) {\n <st-avatar size=\"lg\" [stTheme]=\"theme()\">\n <st-icon [name]=\"computedIcon()\"></st-icon>\n </st-avatar>\n }\n\n <p class=\"alert-title\">{{ title() }}</p>\n @if (message()) {\n <p class=\"alert-message\">{{ message() }}</p>\n }\n</div>\n<st-button-group justification=\"expand\">\n @if (cancelButton()) {\n <button stButton (click)=\"onCancel()\">{{ cancelButton() }}</button>\n }\n <button stButton [stTheme]=\"theme()\" variant=\"primary\" (click)=\"onAffirmation()\">{{ affirmativeButton() }}</button>\n</st-button-group>\n","import { Component, inject, input } from '@angular/core';\nimport { ButtonDirective } from '../../../../../public-api';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\nimport { ModalService } from '../../services/modal.service';\n\n@Component({\n selector: 'st-modal-header',\n imports: [ButtonDirective, IconComponent, ButtonDirective],\n templateUrl: './modal-header.component.html',\n})\nexport class ModalHeaderComponent {\n modalService = inject(ModalService);\n\n title = input<string | null | undefined>(null);\n\n showCloseButton = input<boolean>(true);\n\n onCloseButtonClicked(event: MouseEvent): void {\n this.modalService.closeCurrentModal();\n event.stopPropagation();\n }\n}\n","@if (title()) {\n <h3>{{ title() }}</h3>\n}\n@if (showCloseButton()) {\n <button stButton (click)=\"onCloseButtonClicked($event)\" variant=\"ghost\">\n <st-icon name=\"close\" size=\"sm\"></st-icon>\n </button>\n}\n","import {\n AfterViewInit,\n Component,\n ComponentRef,\n HostBinding,\n input,\n model,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ModalConfiguration, ModalSize } from '../../modal.model';\nimport { ModalHeaderComponent } from '../modal-header/modal-header.component';\n\n@Component({\n selector: 'st-modal',\n imports: [ModalHeaderComponent],\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements AfterViewInit {\n modalContents = viewChild.required<string, ViewContainerRef>('modalBody', {\n read: ViewContainerRef,\n });\n\n configuration = input.required<ModalConfiguration>();\n\n size = model<ModalSize | undefined>('md');\n\n @HostBinding('class')\n get sizeClass(): string {\n return `st-modal-size-${this.size()}`;\n }\n\n ngAfterViewInit(): void {\n if (this.size() === undefined) {\n this.size.set('md');\n }\n const injectedComponent = this.modalContents().createComponent(this.configuration().component);\n if (this.configuration().inputs) {\n this.setInputsOnInjectedComponent(injectedComponent, this.configuration().inputs!);\n }\n }\n\n private setInputsOnInjectedComponent(\n injectedComponent: ComponentRef<unknown>,\n inputs: Record<string, unknown>,\n ): void {\n Object.keys(inputs).forEach((key) => {\n injectedComponent.setInput(key, inputs[key]);\n });\n }\n\n onCardClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n}\n","@if (configuration().title || !configuration().hideCloseButton) {\n <st-modal-header\n [title]=\"configuration().title\"\n [showCloseButton]=\"configuration().hideCloseButton === true ? false : true\"\n (click)=\"onCardClick($event)\"></st-modal-header>\n}\n\n<div class=\"modal-content\">\n <ng-template #modalBody></ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, ComponentRef, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Stack } from '../../../../shared/stack.model';\nimport { ModalConfiguration, WithID } from '../../modal.model';\nimport { ModalService } from '../../services/modal.service';\nimport { ModalComponent } from '../modal/modal.component';\n\n@Component({\n selector: 'st-modal-container',\n imports: [ModalComponent, CommonModule],\n templateUrl: './modal-container.component.html',\n})\nexport class ModalContainerComponent implements OnDestroy {\n injectedComponent!: ComponentRef<any>;\n currentModal: ModalConfiguration | null = null;\n\n stack: Stack<ModalConfiguration & WithID> = new Stack();\n\n private subscription!: Subscription;\n\n constructor(private modalService: ModalService) {\n this.subscription = this.modalService['currentModals'].asObservable().subscribe((modalStack) => {\n this.stack = modalStack;\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n onBackdropClick(event: MouseEvent): void {\n event.stopPropagation();\n const currentModal = this.stack.peek();\n\n if (currentModal.disableBackdropClosure) {\n return;\n }\n this.modalService.closeCurrentModal();\n }\n\n stackTrack(index: number, item: ModalConfiguration & WithID) {\n return item.id;\n }\n}\n","<div class=\"modal-wrapper\">\n @for (modal of stack.items; track modal.id; let last = $last) {\n <st-modal [ngClass]=\"{ 'hidden-under-other-modal': !last }\" [configuration]=\"modal\" [size]=\"modal.size\"> </st-modal>\n }\n</div>\n@if (!stack.empty()) {\n <div class=\"st-internal-backdrop active\" (click)=\"onBackdropClick($event)\"></div>\n}\n","import { Theme } from '../../zesto.model';\n\nexport interface NotificationConfiguration {\n icon?: string;\n message: string;\n theme?: Theme;\n duration?: number;\n}\n\nexport type NotificationsWithIds = NotificationConfiguration & {\n id: string;\n};\n\nexport const DEFAULT_THEME: Theme = 'info';\n\nexport const DEFAULT_DURATION: number = 3000;\n","import { Injectable, signal } from '@angular/core';\nimport {\n DEFAULT_DURATION,\n DEFAULT_THEME,\n NotificationConfiguration,\n NotificationsWithIds,\n} from '../notification.model';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n public notificationStack = signal<NotificationsWithIds[]>([]);\n\n public showNotification(config: NotificationConfiguration): void {\n const newNotificationId = crypto.randomUUID();\n const duration = config.duration ?? DEFAULT_DURATION;\n const currentStack = this.notificationStack();\n currentStack.push({\n id: newNotificationId,\n message: config.message,\n duration: duration,\n theme: config.theme ?? DEFAULT_THEME,\n icon: config.icon,\n });\n this.notificationStack.set(currentStack);\n this.hideNotification(newNotificationId, duration);\n }\n\n private hideNotification(notificationId: string, duration: number): void {\n setTimeout(() => {\n const currentStack = this.notificationStack().filter(\n (notification) => notification.id !== notificationId,\n );\n this.notificationStack.set(currentStack);\n }, duration);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IconComponent } from '../../../icon/components/icon/icon.component';\n\n@Component({\n selector: 'st-notification',\n imports: [IconComponent],\n templateUrl: './notification.component.html',\n})\nexport class NotificationComponent {\n @Input()\n icon?: string;\n\n @Input()\n message!: string;\n}\n","@if (icon) {\n <st-icon [name]=\"icon\"></st-icon>\n}\n{{ message }}\n","import { Component, inject } from '@angular/core';\nimport { NotificationService } from '../../services/notification.service';\nimport { NotificationComponent } from '../notification/notification.component';\n\nimport { ThemeDirective } from '../../../theming/directives/theme.directive';\n\n@Component({\n selector: 'st-notification-container',\n imports: [NotificationComponent, ThemeDirective],\n templateUrl: './notification-container.component.html',\n})\nexport class NotificationContainerComponent {\n notificationService = inject(NotificationService);\n\n notifications = this.notificationService.notificationStack;\n\n constructor() {}\n}\n","@for (notification of notifications(); track notification.id) {\n <st-notification [icon]=\"notification.icon\" [message]=\"notification.message\" [stTheme]=\"notification.theme ?? 'info'\">\n </st-notification>\n}\n","import { CommonModule, formatNumber, getLocaleNumberSymbol, NumberSymbol } from '@angular/common';\nimport { Component, computed, inject, input, LOCALE_ID } from '@angular/core';\n\n@Component({\n selector: 'st-number-display',\n imports: [CommonModule],\n templateUrl: './number-display.component.html',\n})\nexport class NumberDisplayComponent {\n private readonly locale = inject(LOCALE_ID);\n\n value = input.required<number>();\n\n decimals = input<number>(2);\n\n private digitsInfo = computed(() => {\n return `1.${this.decimals()}-${this.decimals()}`;\n });\n\n private formattedNumber = computed(() => formatNumber(this.value(), this.locale, this.digitsInfo()));\n\n readonly separatedDigits = computed(() => {\n const parts = this.formattedNumber().split(this.decimalPoint());\n return {\n integer: parts[0],\n decimals: parts[1] ?? undefined,\n } as { integer: string; decimals?: string };\n });\n\n changedValue = input<boolean>(false);\n\n showPlus = input<boolean>(false);\n\n deemphasizeDecimals = input<boolean>(true);\n\n readonly decimalPoint = computed(() => getLocaleNumberSymbol(this.locale, NumberSymbol.Decimal));\n}\n","<p\n [ngClass]=\"{\n positive: changedValue() && value() > 0,\n negative: changedValue() && value() < 0,\n }\"\n>\n @if (showPlus() && this.value() > 0) {\n +\n }\n <span class=\"integer-value\">{{ separatedDigits().integer }}</span>\n @if (separatedDigits().decimals) {\n <span\n class=\"decimal-number\"\n [ngClass]=\"{ deemphasize: deemphasizeDecimals }\"\n >{{ decimalPoint() }}{{ separatedDigits().decimals }}</span\n >\n }\n</p>\n","/*\n * Public API Surface of ngx-strata\n */\n\nexport * from './lib/directives/tooltip.directive';\nexport * from './lib/services/darkmode/darkmode.service';\nexport * from './lib/zesto.model';\n\n// App\nexport * from './lib/app/provider/provide-icons';\nexport * from './lib/app/provider/provide-strata';\n\n// Action Menu\nexport * from './lib/features/action-menu/components/action-menu-item/action-menu-item.component';\nexport * from './lib/features/action-menu/components/action-menu/action-menu.component';\n\n// Accordion\nexport * from './lib/features/accordion/components/accordion-group/accordion-group.component';\nexport * from './lib/features/accordion/components/accordion-item/accordion-item.component';\n\n// Avatar\nexport * from './lib/features/avatar/components/avatar-stack/avatar-stack.component';\nexport * from './lib/features/avatar/components/avatar/avatar.component';\n\n// Button\nexport * from './lib/features/button/components/button-group/button-group.component';\nexport * from './lib/features/button/directives/button/button.directive';\n\n// Card\nexport * from './lib/features/card/components/card/card.component';\n\n// Checkbox\nexport * from './lib/features/checkbox/components/checkbox/checkbox.component';\n\n// Dropdown\nexport * from './lib/features/dropdown/components/dropdown/dropdown.component';\n\n// Divider\nexport * from './lib/features/divider/components/divider/divider.component';\n\n// Tag\nexport * from './lib/features/tag/components/tag/tag.component';\n\n// Icon\nexport * from './lib/features/icon/components/icon/icon.component';\nexport * from './lib/features/icon/loader/icon-loader.interface';\nexport * from './lib/features/icon/loader/icon-registry.interface';\nexport * from './lib/features/icon/models/icon.model';\nexport * from './lib/features/icon/services/http-icon-loader/http-icon-loader.service';\nexport * from './lib/features/icon/services/icon-registry/icon-registry.service';\n\n// Item\nexport * from './lib/features/item/components/item-list/item-list.component';\nexport * from './lib/features/item/components/item/item.component';\n\n// Input field\nexport * from './lib/features/input-field/components/input-field/input-field.component';\nexport * from './lib/features/input-field/directives/auto-resize.directive';\nexport * from './lib/features/input-field/directives/native-input-ref.directive';\n\n// Overlay\nexport * from './lib/features/overlay/directives/overlay.directive';\n\n// Pagination\nexport * from './lib/features/pagination/components/pagination/pagination.component';\n\n// Pipes\nexport * from './lib/pipes/capitalize.pipe';\n\n// Progress\nexport * from './lib/features/progress/components/progress/progress.component';\n\n// Segmented Control\nexport * from './lib/features/segmented-control/components/segmented-control-item/segmented-control-item.component';\nexport * from './lib/features/segmented-control/components/segmented-control/segmented-control.component';\n\n// Slider\nexport * from './lib/features/slider/components/slider/slider.component';\n\n// Spinner\nexport * from './lib/features/spinner/components/spinner/spinner.component';\n\n// Text stack\nexport * from './lib/features/text-stack/components/text-stack/text-stack.component';\n\n// Toggle\nexport * from './lib/features/toggle/components/toggle/toggle.component';\n\n// Modal Feature\nexport * from './lib/features/modal/components/alert-content/alert-content.component';\nexport * from './lib/features/modal/components/modal-container/modal-container.component';\nexport * from './lib/features/modal/components/modal-header/modal-header.component';\nexport * from './lib/features/modal/components/modal/modal.component';\nexport * from './lib/features/modal/modal.model';\nexport * from './lib/features/modal/services/modal.service';\n\n// Notification Feature\nexport * from './lib/features/notification/components/notification-container/notification-container.component';\nexport * from './lib/features/notification/components/notification/notification.component';\nexport * from './lib/features/notification/notification.model';\nexport * from './lib/features/notification/services/notification.service';\n\n// Number Display\nexport * from './lib/features/number-display/components/number-display/number-display.component';\n\n// Theming\nexport * from './lib/features/theming/directives/theme.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.IconLoader","i1.ModalService","i1"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ngx-strata",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A simple UI framework for quickly prototyping angular applications with a bit of flair.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"peerDependencies": {
|
|
7
|
+
"@angular/common": "^21.2.0",
|
|
8
|
+
"@angular/core": "^21.2.0",
|
|
9
|
+
"@floating-ui/dom": "^1.1.0"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"tslib": "^2.3.0"
|
|
13
|
+
},
|
|
14
|
+
"sideEffects": false,
|
|
15
|
+
"exports": {
|
|
16
|
+
"./icons": {
|
|
17
|
+
"asset": "./assets/icons/*"
|
|
18
|
+
},
|
|
19
|
+
"./fonts": {
|
|
20
|
+
"asset": "./assets/icons/*"
|
|
21
|
+
},
|
|
22
|
+
"./style": {
|
|
23
|
+
"style": "./dist/strata/strata.css"
|
|
24
|
+
},
|
|
25
|
+
"./package.json": {
|
|
26
|
+
"default": "./package.json"
|
|
27
|
+
},
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./types/ngx-strata.d.ts",
|
|
30
|
+
"default": "./fesm2022/ngx-strata.mjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"module": "fesm2022/ngx-strata.mjs",
|
|
34
|
+
"typings": "types/ngx-strata.d.ts"
|
|
35
|
+
}
|