@3dsource/source-ui-native 3.0.1 → 3.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"3dsource-source-ui-native.mjs","sources":["../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/components/source-badge.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/components/source-badge.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/constants/sourceBadgeContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/constants/sourceBadgeSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/components/source-banner.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/components/source-banner.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/constants/sourceBannerSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/constants/sourceBannerContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonWeight.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonType.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonAppearance.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonDefaultConfig.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-loading/components/source-loading.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-loading/components/source-loading.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/components/source-button.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/components/source-button.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-copyright/components/source-copyright.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-copyright/components/source-copyright.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-divider/components/source-divider.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-divider/components/source-divider.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/components/source-hint.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/components/source-hint.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/constants/sourceHintSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/constants/sourceHintContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/components/source-icon-button.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/components/source-icon-button.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonAppearance.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonWeight.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonShape.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonType.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-logo-loading/components/source-logo-loading.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-logo-loading/components/source-logo-loading.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-slider/components/source-slider.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-slider/components/source-slider.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/sourceModalIcon.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/sourceModalContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/modalData.token.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-modal-element.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-modal-element.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/services/sourceModalElement.service.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-overlay-container.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-overlay-container.component.html","../../../../projects/3dsource/source-ui-native/src/3dsource-source-ui-native.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceBadgeContextKeys, SourceBadgeSizeKeys } from '../constants';\nimport { NgClass, NgStyle } from '@angular/common';\n\n@Component({\n selector: 'src-badge',\n templateUrl: './source-badge.component.html',\n styleUrl: './source-badge.component.scss',\n imports: [NgStyle, NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceBadgeComponent {\n readonly backgroundColor = input('var(--src-color-accent-500)');\n readonly context = input<SourceBadgeContextKeys>();\n readonly size = input<SourceBadgeSizeKeys>('md');\n\n readonly textColor = input('var(--src-text-body-main-invert, #f9fafb)');\n readonly customClass = input<string | string[]>();\n readonly testID = input('', { alias: 'data-testid' });\n readonly classes = computed(() => {\n const context = this.context();\n const size = this.size();\n const customClass = this.customClass();\n\n return [\n context ? `src-badge--context-${context}` : '',\n size ? `src-badge--size-${size}` : '',\n customClass && Array.isArray(customClass)\n ? [...customClass]\n : (customClass ?? ''),\n ];\n });\n}\n","<div\n [ngClass]=\"classes()\"\n [ngStyle]=\"\n context()\n ? {}\n : {\n '--srcBadgeBackgroundColor': backgroundColor(),\n '--srcBadgeTextColor': textColor(),\n }\n \"\n [attr.data-testid]=\"testID()\"\n class=\"src-badge\"\n>\n <div class=\"src-badge__icon\">\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"src-badge__icon\">\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n </div>\n</div>\n","export const SourceBadgeContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ATTENTION: 'attention',\n ERROR: 'error',\n} as const;\n\nexport type SourceBadgeContextKeys =\n (typeof SourceBadgeContext)[keyof typeof SourceBadgeContext];\n","export const SourceBadgeSize = {\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceBadgeSizeKeys =\n (typeof SourceBadgeSize)[keyof typeof SourceBadgeSize];\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport type {\n SourceBannerSizeKeys,\n SourceBannerContextKeys,\n} from '../constants';\n\n@Component({\n selector: 'src-banner',\n templateUrl: './source-banner.component.html',\n styleUrl: './source-banner.component.scss',\n host: {\n '[style.width]': 'isFullWidth() ? \"100%\" : \"auto\"',\n '[style.display]': '\"block\"',\n },\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceBannerComponent {\n readonly context = input<SourceBannerContextKeys>('default');\n readonly size = input<SourceBannerSizeKeys>('sm');\n readonly isFullWidth = input(true);\n readonly testID = input('', { alias: 'data-testid' });\n\n readonly classes = computed(() => {\n const context = this.context();\n const size = this.size();\n\n return [\n context ? `src-banner--context-${context}` : '',\n size ? `src-banner--size-${size}` : '',\n ];\n });\n}\n","<div [ngClass]=\"classes()\" [attr.data-testid]=\"testID()\" class=\"src-banner\">\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <span class=\"src-banner__content\">\n <ng-content select=\"[srcBannerTitle]\"></ng-content>\n\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n</div>\n","export const SourceBannerSize = {\n SM: 'sm',\n} as const;\n\nexport type SourceBannerSizeKeys =\n (typeof SourceBannerSize)[keyof typeof SourceBannerSize];\n","export const SourceBannerContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n CRITICAL: 'critical',\n ERROR: 'error',\n} as const;\n\nexport type SourceBannerContextKeys =\n (typeof SourceBannerContext)[keyof typeof SourceBannerContext];\n","export const SourceButtonWeight = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n GHOST: 'ghost',\n} as const;\n\nexport type SourceButtonWeightKeys =\n (typeof SourceButtonWeight)[keyof typeof SourceButtonWeight];\n","export const SourceButtonSize = {\n SLIM: 'slim',\n SMALL: 'slim',\n MEDIUM: 'medium',\n LARGE: 'large',\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceButtonSizeKeys =\n (typeof SourceButtonSize)[keyof typeof SourceButtonSize];\n","export const SourceButtonType = {\n BUTTON: 'button',\n SUBMIT: 'submit',\n RESET: 'reset',\n} as const;\n\nexport type SourceButtonTypeKeys =\n (typeof SourceButtonType)[keyof typeof SourceButtonType];\n","export const SourceButtonAppearance = {\n PLAIN: 'plain',\n INLINE: 'inline',\n FILLED: 'filled',\n DEFAULT: 'default',\n} as const;\n\nexport type SourceButtonAppearanceKeys =\n (typeof SourceButtonAppearance)[keyof typeof SourceButtonAppearance];\n","export const SourceButtonContext = {\n DEFAULT: 'default',\n // LOADING: 'loading',\n // DESTRUCTIVE: 'destructive',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n // INVERTED: 'inverted',\n} as const;\n\nexport type SourceButtonContextKeys =\n (typeof SourceButtonContext)[keyof typeof SourceButtonContext];\n","import {\n SourceButtonAppearance,\n SourceButtonContext,\n SourceButtonSize,\n SourceButtonType,\n SourceButtonWeight,\n} from './index';\nimport type { SourceButton } from '../interfaces';\n\nexport const sourceButtonDefaultConfig: SourceButton = {\n type: SourceButtonType.BUTTON,\n appearance: SourceButtonAppearance.FILLED,\n weight: SourceButtonWeight.SECONDARY,\n size: SourceButtonSize.MD,\n context: SourceButtonContext.DEFAULT,\n customClass: '',\n hasDisclosure: false,\n isFullWidth: false,\n iconButton: false,\n isPressed: false,\n isInverted: false,\n isDisabled: false,\n isLoading: false,\n formID: undefined,\n testID: undefined,\n};\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceLoadingLineCapKeys } from '../constants/sourceLoadingLineCap';\n\n@Component({\n selector: 'src-loading',\n templateUrl: './source-loading.component.html',\n styleUrl: './source-loading.component.scss',\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceLoadingComponent {\n readonly size = input(32);\n readonly progress = input<number | null>(null);\n readonly lineCap = input<SourceLoadingLineCapKeys>('round');\n readonly backgroundStrokeColor = input('transparent');\n readonly progressStrokeColor = input(\n 'var(--src-color-accent-500, rgba(1, 123, 255, 1))',\n );\n readonly strokeWidth = input(3);\n readonly testID = input('', { alias: 'data-testid' });\n readonly classes = computed(() => [\n this.progress() !== null\n ? 'src-loading--progress'\n : 'src-loading--animation',\n ]);\n readonly calculateRadius = computed(\n () => this.size() / 2 - this.strokeWidth() / 2,\n );\n readonly circumference = computed(() => 2 * Math.PI * this.calculateRadius());\n readonly viewBox = computed(() => `0 0 ${this.size()} ${this.size()}`);\n readonly percentage = computed(() =>\n Math.round((this.circumference() * (100 - (this.progress() ?? 0))) / 100),\n );\n}\n","<div [attr.data-testid]=\"testID()\" class=\"src-loading-container\">\n <svg\n [ngClass]=\"classes()\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.viewBox]=\"viewBox()\"\n [style.--srcLoadingSize]=\"size()\"\n class=\"src-loading\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(-90deg)\"\n >\n <!-- Background circle -->\n @if (progress()) {\n <circle\n [attr.r]=\"calculateRadius()\"\n [attr.cx]=\"size() / 2\"\n [attr.cy]=\"size() / 2\"\n [attr.stroke]=\"backgroundStrokeColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference()\"\n fill=\"transparent\"\n stroke-dashoffset=\"0\"\n ></circle>\n }\n\n <!-- Filled circle -->\n <circle\n [attr.r]=\"calculateRadius()\"\n [attr.cx]=\"size() / 2\"\n [attr.cy]=\"size() / 2\"\n [attr.stroke]=\"progressStrokeColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-linecap]=\"lineCap()\"\n [attr.stroke-dashoffset]=\"progress() ? percentage() : 0\"\n [attr.stroke-dasharray]=\"progress() ? circumference() : ''\"\n fill=\"transparent\"\n ></circle>\n </svg>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceButton } from '../interfaces';\nimport type {\n SourceButtonAppearanceKeys,\n SourceButtonContextKeys,\n SourceButtonSizeKeys,\n SourceButtonTypeKeys,\n SourceButtonWeightKeys,\n} from '../constants';\nimport { sourceButtonDefaultConfig } from '../constants';\nimport { NgClass } from '@angular/common';\nimport { SourceLoadingComponent } from '../../source-loading';\n\n@Component({\n selector: 'src-button',\n templateUrl: './source-button.component.html',\n styleUrl: './source-button.component.scss',\n imports: [NgClass, SourceLoadingComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceButtonComponent {\n readonly type = input<SourceButtonTypeKeys>('button');\n readonly appearance = input<SourceButtonAppearanceKeys>('filled');\n readonly weight = input<SourceButtonWeightKeys>('secondary');\n readonly size = input<SourceButtonSizeKeys>('md');\n readonly context = input<SourceButtonContextKeys>('default'); // 'default' | 'error' | 'info' | 'success'\n readonly customClass = input<string | string[]>('');\n readonly isFullWidth = input(false);\n readonly isPressed = input(false);\n readonly isDisabled = input(false);\n readonly isLoading = input(false);\n readonly isInverted = input(false);\n readonly iconButton = input(false);\n readonly srcButtonConfig = input<SourceButton>();\n readonly formID = input<string>();\n readonly testID = input('', { alias: 'data-testid' });\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onSubmit = output<Event>();\n readonly classes = computed(() => {\n const config = this.getConfig(\n this.srcButtonConfig() ?? {\n type: this.type(),\n appearance: this.appearance(),\n weight: this.weight(),\n size: this.size(),\n context: this.context(),\n customClass: this.customClass(),\n isFullWidth: this.isFullWidth(),\n formID: this.formID(),\n iconButton: this.iconButton(),\n isPressed: this.isPressed(),\n isDisabled: this.isDisabled(),\n isLoading: this.isLoading(),\n isInverted: this.isInverted(),\n testID: this.testID(),\n },\n );\n\n return [\n config.appearance ? `src-button--${config.appearance}` : '',\n config.weight ? `src-button--${config.weight}` : '',\n config.size ? `src-button--size-${config.size}` : '',\n config.context ? `src-button--context-${config.context}` : '',\n config.hasDisclosure ? 'src-button--disclosure' : '',\n config.isPressed ? 'src-button--pressed' : '',\n config.isFullWidth ? 'src-button--full-width' : '',\n config.iconButton ? 'src-button--icon-button' : '',\n config.isLoading ? 'src-button--loading' : '',\n config.isInverted ? 'src-button--inverted' : '',\n config.customClass && Array.isArray(config.customClass)\n ? [...config.customClass]\n : (config.customClass ?? ''),\n ].filter(Boolean);\n });\n\n handleClick(event: Event) {\n event.preventDefault();\n this.onClick.emit(event);\n }\n\n handleSubmit(event: Event) {\n event.preventDefault();\n this.onSubmit.emit(event);\n }\n\n getConfig(config: Partial<SourceButton>): SourceButton {\n return {\n type: config?.type || sourceButtonDefaultConfig.type,\n appearance: config?.appearance || sourceButtonDefaultConfig.appearance,\n weight: config?.weight || sourceButtonDefaultConfig.weight,\n size: config?.size || sourceButtonDefaultConfig.size,\n context: config?.context || sourceButtonDefaultConfig.context,\n customClass: config?.customClass || sourceButtonDefaultConfig.customClass,\n hasDisclosure:\n config?.hasDisclosure || sourceButtonDefaultConfig.hasDisclosure,\n isFullWidth: config?.isFullWidth || sourceButtonDefaultConfig.isFullWidth,\n iconButton: config?.iconButton || sourceButtonDefaultConfig.iconButton,\n isPressed: config?.isPressed || sourceButtonDefaultConfig.isPressed,\n isDisabled: config?.isDisabled || sourceButtonDefaultConfig.isDisabled,\n isLoading: config?.isLoading || sourceButtonDefaultConfig.isLoading,\n isInverted: config?.isInverted || sourceButtonDefaultConfig.isInverted,\n formID: config?.formID || sourceButtonDefaultConfig.formID,\n testID: config?.testID || sourceButtonDefaultConfig.testID,\n };\n }\n}\n","@let config = srcButtonConfig();\n<button\n (click)=\"handleClick($event)\"\n (submit)=\"handleSubmit($event)\"\n [attr.data-testid]=\"!!config ? config?.testID : testID()\"\n [attr.form]=\"!!config ? config?.formID : formID()\"\n [disabled]=\"!!config ? config?.isDisabled : isDisabled()\"\n [ngClass]=\"classes()\"\n [type]=\"!!config ? config?.type : type()\"\n class=\"src-button\"\n>\n <span [style.opacity]=\"(!!config ? config?.isLoading : isLoading()) ? 0 : 1\">\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <ng-content></ng-content>\n\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n </span>\n @if (!!config ? config?.isLoading : isLoading()) {\n <src-loading\n [size]=\"16\"\n [progressStrokeColor]=\"\n weight() === 'primary' ? '#fff' : 'var(--src-icon-default, #374151)'\n \"\n [strokeWidth]=\"2\"\n [data-testid]=\"(!!config ? config?.testID : testID()) + '-loading-state'\"\n ></src-loading>\n }\n</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-copyright',\n templateUrl: './source-copyright.component.html',\n styleUrl: './source-copyright.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceCopyrightComponent {\n readonly linkText = input('Powered by 3D Source');\n readonly isCollapsible = input(false);\n}\n","<div [class.src-copyright--collapsible]=\"isCollapsible()\" class=\"src-copyright\">\n <a href=\"https://www.3dsource.com/\" target=\"_blank\" class=\"src-link\">\n <svg\n class=\"src-link__icon\"\n fill=\"none\"\n height=\"18\"\n viewBox=\"0 0 17 18\"\n width=\"17\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill=\"#016EF8\"\n fill-rule=\"evenodd\"\n d=\"M13 13v1.1a61.8 61.8 0 0 1 .2 1.3l2-1.2c.7-.3 1-.9 1-1.6V10c0-.4-.2-.8-.6-1l-4.4-2.5a9414.7 9414.7 0 0 0-2.8-1.7l-.6-.3c-.2-.1-.3-.3-.3-.5 0-.3.2-.4.4-.5l.6.1 3.7 2.2a4320 4320 0 0 1 4 2V5.3c0-.7-.3-1.1-.9-1.5L9.3.3C8.5 0 7.7 0 7 .3L5.7 1l-1.2.7-.2.4v3.3c0 .5.2 1 .7 1.2l4 2.3 3.2 1.8c.6.3.8.8.8 1.4v1ZM3.2 5V4A164.6 164.6 0 0 1 3 2.6l-1.2.7-1 .5c-.5.4-.8.9-.8 1.6V8c0 .4.2.8.6 1l1 .6.5.3 6.2 3.5c.1.1.3.2.3.4.1.2 0 .4-.1.6-.2.2-.4.2-.7 0l-1.8-1-.5-.3-3.3-1.9-2-1C0 10 0 10 0 10.1a914.3 914.3 0 0 1 0 2.4c0 .7.3 1.3 1 1.6L3.8 16l3 1.7c.8.5 1.6.5 2.4 0l1.1-.6 1.3-.7.2-.3v-3.5c0-.5-.2-.8-.6-1a1118.4 1118.4 0 0 1-4-2.4L3.8 7.2c-.4-.2-.7-.7-.7-1.2V5Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"src-link__text\">{{ linkText() }}</span>\n </a>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-divider',\n templateUrl: './source-divider.component.html',\n styleUrl: './source-divider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceDividerComponent {\n readonly color = input('#E5E7EB');\n readonly thickness = input('1px');\n}\n","<hr\n [style.--srcDividerColor]=\"thickness()\"\n [style.--srcDividerColor]=\"color()\"\n class=\"src-divider\"\n/>\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceHintSizeKeys, SourceHintContextKeys } from '../constants';\n\n@Component({\n selector: 'src-hint',\n templateUrl: './source-hint.component.html',\n styleUrl: './source-hint.component.scss',\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceHintComponent {\n readonly isError = input(false);\n readonly context = input<SourceHintContextKeys>('default');\n readonly size = input<SourceHintSizeKeys>('md');\n}\n","<p\n [ngClass]=\"'src-hint--context-' + context() + ' src-hint--size-' + size()\"\n [class.src-hint--error]=\"isError()\"\n class=\"src-hint\"\n>\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <ng-content></ng-content>\n</p>\n","export const SourceHintSize = {\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceHintSizeKeys =\n (typeof SourceHintSize)[keyof typeof SourceHintSize];\n","export const SourceHintContext = {\n DEFAULT: 'default',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n} as const;\n\nexport type SourceHintContextKeys =\n (typeof SourceHintContext)[keyof typeof SourceHintContext];\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport type {\n SourceIconButtonAppearanceKeys,\n SourceIconButtonContextKeys,\n SourceIconButtonShapeKeys,\n SourceIconButtonSizeKeys,\n SourceIconButtonTypeKeys,\n SourceIconButtonWeightKeys,\n} from '../constants';\nimport { SourceBadgeComponent } from '../../source-badge';\n\n@Component({\n selector: 'src-icon-button',\n templateUrl: './source-icon-button.component.html',\n styleUrl: './source-icon-button.component.scss',\n imports: [NgClass, SourceBadgeComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceIconButtonComponent {\n readonly name = input();\n readonly type = input<SourceIconButtonTypeKeys>('button');\n readonly appearance = input<SourceIconButtonAppearanceKeys>('filled');\n readonly weight = input<SourceIconButtonWeightKeys>('secondary');\n\n readonly size = input<SourceIconButtonSizeKeys>('md');\n readonly shape = input<SourceIconButtonShapeKeys>('square');\n readonly context = input<SourceIconButtonContextKeys>('default');\n readonly counter = input<number | undefined>(undefined);\n readonly isPressed = input(false);\n readonly isDisabled = input(false);\n readonly testID = input('', { alias: 'data-testid' });\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onClick = output<Event>();\n readonly classes = computed(() =>\n [\n `src-icon-button--${this.shape()}`,\n `src-icon-button--${this.appearance()}`,\n `src-icon-button--${this.weight()}`,\n `src-icon-button--size-${this.size()}`,\n `src-icon-button--context-${this.context()}`,\n this.isPressed() ? 'src-icon-button--pressed' : '',\n ].filter(Boolean),\n );\n\n handleClick(event: Event) {\n event.preventDefault();\n if (event.currentTarget instanceof HTMLButtonElement) {\n event.currentTarget.blur();\n }\n this.onClick.emit(event);\n }\n}\n","<button\n (click)=\"handleClick($event)\"\n [type]=\"type()\"\n [name]=\"name()\"\n [ngClass]=\"classes()\"\n [disabled]=\"isDisabled()\"\n [attr.data-testid]=\"testID()\"\n class=\"src-icon-button\"\n>\n <ng-content></ng-content>\n\n @if (counter()) {\n <src-badge [data-testid]=\"testID() + '-counter'\">{{ counter() }}</src-badge>\n }\n</button>\n","export const SourceIconButtonAppearance = {\n FILLED: 'filled',\n PLAIN: 'plain',\n INLINE: 'inline',\n} as const;\n\nexport type SourceIconButtonAppearanceKeys =\n (typeof SourceIconButtonAppearance)[keyof typeof SourceIconButtonAppearance];\n","export const SourceIconButtonWeight = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n GHOST: 'ghost',\n} as const;\n\nexport type SourceIconButtonWeightKeys =\n (typeof SourceIconButtonWeight)[keyof typeof SourceIconButtonWeight];\n","export const SourceIconButtonShape = {\n SQUARE: 'square',\n ROUND: 'round',\n} as const;\n\nexport type SourceIconButtonShapeKeys =\n (typeof SourceIconButtonShape)[keyof typeof SourceIconButtonShape];\n","export const SourceIconButtonSize = {\n XSMALL: 'xs',\n SMALL: 'sm',\n SM: 'sm',\n MEDIUM: 'md',\n MD: 'md',\n LARGE: 'lg',\n LG: 'lg',\n XL: 'xl',\n DEFAULT: 'default',\n} as const;\n\nexport type SourceIconButtonSizeKeys =\n (typeof SourceIconButtonSize)[keyof typeof SourceIconButtonSize];\n","export const SourceIconButtonContext = {\n DEFAULT: 'default',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n WARNING: 'warning',\n} as const;\n\nexport type SourceIconButtonContextKeys =\n (typeof SourceIconButtonContext)[keyof typeof SourceIconButtonContext];\n","export const SourceIconButtonType = {\n BUTTON: 'button',\n SUBMIT: 'submit',\n RESET: 'reset',\n} as const;\n\nexport type SourceIconButtonTypeKeys =\n (typeof SourceIconButtonType)[keyof typeof SourceIconButtonType];\n","import { NgStyle } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-logo-loading',\n templateUrl: './source-logo-loading.component.html',\n styleUrl: './source-logo-loading.component.scss',\n imports: [NgStyle],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceLogoLoadingComponent {\n readonly size = input(32);\n readonly strokeColor = input('var(--src-color-accent-500)');\n readonly testID = input('', { alias: 'data-testid' });\n}\n","<div\n [attr.data-testid]=\"testID()\"\n [ngStyle]=\"{\n '--srcLogoLoadingSize': size() + 'px',\n '--srcLogoLoadingStroke': strokeColor(),\n }\"\n class=\"src-logo-loading\"\n>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n d=\"M36.482 12.662v4.466c-1.092-.61-4.316-2.42-7.512-4.213l-5.236-2.938-1.717-.964-.48-.27-.126-.07-.033-.019-.008-.004-.002-.001-.245.435.244-.436a2.552 2.552 0 0 0-.71-.29 2.162 2.162 0 0 0-.758-.015l-.024.003-.024.005c-.49.113-.837.345-1.057.638a1.354 1.354 0 0 0-.275.838c.015.527.4 1.002.988 1.313.643.388 4.642 2.71 8.484 4.937l5.25 3.042 1.703.986.475.275.125.072.032.018.008.005.002.001.25-.432-.25.433.01.005c.477.262.868.868.868 1.673v5.681c-.039 1.216-.675 2.086-1.478 2.553l-.002.001-4.222 2.482v-6.197c.043-.907-.147-1.642-.525-2.236-.375-.589-.909-.998-1.489-1.3l-15.143-8.783c-.324-.195-.572-.42-.74-.689-.167-.266-.272-.6-.272-1.045V5.395a.511.511 0 0 1 .014-.206.122.122 0 0 1 .025-.04.332.332 0 0 1 .087-.064l.006-.004 4.791-2.78.008-.004c.874-.528 1.675-.758 2.433-.762.758-.005 1.512.217 2.293.652l12.45 7.22.003.002c.623.356 1.077.785 1.37 1.301.293.515.445 1.15.41 1.952Z\"\n />\n <path\n d=\"M3.518 27.338v-4.466c1.092.61 4.316 2.42 7.512 4.213l5.236 2.938 1.717.964.48.27.126.07.033.018.008.005.002.001.245-.435-.244.436c.24.134.464.238.71.29.253.055.494.05.758.015l.024-.003.024-.005c.49-.113.837-.345 1.057-.638.213-.286.281-.598.275-.838-.015-.527-.4-1.002-.988-1.313-.643-.388-4.642-2.71-8.484-4.937l-5.25-3.042-1.703-.986-.475-.275-.125-.072-.032-.018-.008-.005-.002-.001-.25.432.25-.433-.01-.005c-.477-.262-.868-.868-.868-1.673v-5.681c.04-1.216.675-2.086 1.478-2.553l.002-.001 4.222-2.482v6.197c-.043.907.147 1.642.525 2.236.375.589.909.998 1.489 1.3l15.143 8.783c.324.195.572.42.74.689.166.266.272.6.272 1.045v7.227a.511.511 0 0 1-.015.206.122.122 0 0 1-.024.04.334.334 0 0 1-.086.064l-.007.004-4.791 2.78-.008.004c-.874.528-1.675.758-2.433.762-.758.005-1.512-.217-2.293-.652L5.3 30.593l-.003-.002c-.623-.356-1.077-.785-1.37-1.301-.293-.515-.445-1.15-.41-1.952Z\"\n />\n </svg>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n linkedSignal,\n output,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-slider',\n templateUrl: './source-slider.component.html',\n styleUrl: './source-slider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceSliderComponent {\n readonly id = input<string>();\n readonly value = input.required<number>();\n readonly sliderValue = linkedSignal(() => this.value());\n readonly min = input.required<number>();\n readonly max = input.required<number>();\n readonly thumbSize = input(12);\n readonly trackHeight = input(2);\n readonly step = input(1);\n readonly showTicks = input(false);\n readonly isDisabled = input(false);\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly testID = input('', { alias: 'data-testid' });\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onChange = output<number>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onInput = output<number>();\n readonly tickPositions = computed(() => {\n if (this.showTicks()) {\n const numberOfTicks = (this.max() - this.min()) / this.step();\n return Array.from({ length: numberOfTicks + 1 }, (_, index) => {\n const percent = (index / numberOfTicks) * 100;\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n }\n return [];\n });\n readonly thumbPosition = computed(() => {\n const percent =\n ((this.sliderValue() - this.min()) * 100) / (this.max() - this.min());\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n readonly filledWidth = computed(() => {\n const percent =\n ((this.sliderValue() - this.min()) / (this.max() - this.min())) * 100;\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n\n input(valueEvent: Event) {\n if (valueEvent.target instanceof HTMLInputElement) {\n this.onInput.emit(this.getValue(valueEvent.target));\n }\n }\n\n change(valueEvent: Event) {\n if (valueEvent.target instanceof HTMLInputElement) {\n this.onChange.emit(this.getValue(valueEvent.target));\n }\n }\n\n private getValue(value: HTMLInputElement) {\n const newValue = value.valueAsNumber;\n const steppedValue = Math.round(newValue / this.step()) * this.step();\n const calculateValue = Math.min(\n Math.max(steppedValue, this.min()),\n this.max(),\n );\n this.sliderValue.set(calculateValue);\n\n return newValue;\n }\n}\n","<div\n [style.--srcSliderThumbSize.px]=\"thumbSize()\"\n [style.--srcSliderTrackHeight.px]=\"trackHeight()\"\n [class.src-slider--disabled]=\"isDisabled()\"\n [class.src-slider--vertical]=\"orientation() === 'vertical'\"\n [attr.data-testid]=\"testID()\"\n class=\"src-slider\"\n>\n <input\n (change)=\"change($event)\"\n (input)=\"input($event)\"\n [id]=\"id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [disabled]=\"isDisabled()\"\n [value]=\"sliderValue()\"\n [attr.data-testid]=\"testID() + '-input'\"\n type=\"range\"\n class=\"src-slider__input\"\n />\n <div [style.width]=\"filledWidth()\" class=\"src-slider__filled-track\"></div>\n\n <div [style.left]=\"thumbPosition()\" class=\"src-slider__thumb\">\n <ng-content select=\"[srcIconThumb]\"></ng-content>\n </div>\n\n @if (showTicks()) {\n <div class=\"src-slider__ticks-container\">\n @for (tick of tickPositions(); track tick) {\n <div [style.left]=\"tick\" class=\"tick\"></div>\n }\n </div>\n }\n</div>\n","const svgIcons = {\n info: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M11.1 16.7999H12.9V10.7999H11.1V16.7999ZM11.9947 8.9999C12.2482 8.9999 12.4625 8.91415 12.6375 8.74265C12.8125 8.57115 12.9 8.35865 12.9 8.10515C12.9 7.85165 12.8142 7.6374 12.6427 7.4624C12.4712 7.2874 12.2587 7.1999 12.0052 7.1999C11.7517 7.1999 11.5375 7.28565 11.3625 7.45715C11.1875 7.62865 11.1 7.84115 11.1 8.09465C11.1 8.34815 11.1857 8.5624 11.3572 8.7374C11.5287 8.9124 11.7412 8.9999 11.9947 8.9999ZM12.007 21.5999C10.6857 21.5999 9.44166 21.3499 8.27499 20.8499C7.10833 20.3499 6.08749 19.6624 5.21249 18.7874C4.33749 17.9124 3.64999 16.8919 3.14999 15.7259C2.64999 14.5599 2.39999 13.3141 2.39999 11.9884C2.39999 10.6627 2.64999 9.42074 3.14999 8.2624C3.64999 7.10407 4.33749 6.0874 5.21249 5.2124C6.08749 4.3374 7.10799 3.6499 8.27399 3.1499C9.43999 2.6499 10.6858 2.3999 12.0115 2.3999C13.3372 2.3999 14.5792 2.6499 15.7375 3.1499C16.8958 3.6499 17.9125 4.3374 18.7875 5.2124C19.6625 6.0874 20.35 7.1059 20.85 8.2679C21.35 9.43007 21.6 10.6717 21.6 11.9929C21.6 13.3142 21.35 14.5582 20.85 15.7249C20.35 16.8916 19.6625 17.9124 18.7875 18.7874C17.9125 19.6624 16.894 20.3499 15.732 20.8499C14.5698 21.3499 13.3282 21.5999 12.007 21.5999Z\" fill=\"#017BFF\"/></svg>',\n success:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M10.725 15.5999L16.675 9.6749L15.4 8.3999L10.725 13.0499L8.59999 10.9499L7.32499 12.2249L10.725 15.5999ZM12 21.5999C10.6833 21.5999 9.44166 21.3499 8.27499 20.8499C7.10833 20.3499 6.08749 19.6624 5.21249 18.7874C4.33749 17.9124 3.64999 16.8916 3.14999 15.7249C2.64999 14.5582 2.39999 13.3166 2.39999 11.9999C2.39999 10.6666 2.64999 9.42074 3.14999 8.2624C3.64999 7.10407 4.33749 6.0874 5.21249 5.2124C6.08749 4.3374 7.10833 3.6499 8.27499 3.1499C9.44166 2.6499 10.6833 2.3999 12 2.3999C13.3333 2.3999 14.5792 2.6499 15.7375 3.1499C16.8958 3.6499 17.9125 4.3374 18.7875 5.2124C19.6625 6.0874 20.35 7.10407 20.85 8.2624C21.35 9.42074 21.6 10.6666 21.6 11.9999C21.6 13.3166 21.35 14.5582 20.85 15.7249C20.35 16.8916 19.6625 17.9124 18.7875 18.7874C17.9125 19.6624 16.8958 20.3499 15.7375 20.8499C14.5792 21.3499 13.3333 21.5999 12 21.5999Z\" fill=\"#16A34A\"/></svg>',\n distruct:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 12.9505C12.2832 12.9505 12.5292 12.8461 12.738 12.6373C12.946 12.4293 13.05 12.1837 13.05 11.9005V8.04969C13.05 7.76649 12.946 7.52489 12.738 7.32489C12.5292 7.12489 12.2832 7.02489 12 7.02489C11.7168 7.02489 11.4708 7.12929 11.262 7.33809C11.054 7.54609 10.95 7.79169 10.95 8.07489V11.9257C10.95 12.2089 11.054 12.4505 11.262 12.6505C11.4708 12.8505 11.7168 12.9505 12 12.9505ZM12 17.0257C12.2832 17.0257 12.5292 16.9297 12.738 16.7377C12.946 16.5457 13.05 16.2913 13.05 15.9745C13.05 15.6913 12.946 15.4457 12.738 15.2377C12.5292 15.0297 12.2832 14.9257 12 14.9257C11.7168 14.9257 11.4708 15.0297 11.262 15.2377C11.054 15.4457 10.95 15.6913 10.95 15.9745C10.95 16.2913 11.054 16.5457 11.262 16.7377C11.4708 16.9297 11.7168 17.0257 12 17.0257ZM12 21.9997C10.6168 21.9997 9.3168 21.7373 8.1 21.2125C6.8832 20.6877 5.8248 19.9753 4.9248 19.0753C4.0248 18.1753 3.3124 17.1169 2.7876 15.9001C2.2628 14.6833 2.0004 13.3833 2.0004 12.0001C2.0004 10.6169 2.2628 9.31689 2.7876 8.10009C3.3124 6.88329 4.0248 5.82489 4.9248 4.92489C5.8248 4.02489 6.8832 3.31249 8.1 2.78769C9.3168 2.26289 10.6168 2.00049 12 2.00049C13.3832 2.00049 14.6832 2.26289 15.9 2.78769C17.1168 3.31249 18.1752 4.02489 19.0752 4.92489C19.9752 5.82489 20.6876 6.88329 21.2124 8.10009C21.7372 9.31689 21.9996 10.6169 21.9996 12.0001C21.9996 13.3833 21.7372 14.6833 21.2124 15.9001C20.6876 17.1169 19.9752 18.1753 19.0752 19.0753C18.1752 19.9753 17.1168 20.6877 15.9 21.2125C14.6832 21.7373 13.3832 21.9997 12 21.9997Z\" fill=\"#F24122\"/></svg>',\n};\n\nexport const sourceModalIcon = [\n {\n name: 'info',\n svg: svgIcons.info,\n },\n {\n name: 'success',\n svg: svgIcons.success,\n },\n {\n name: 'distruct',\n svg: svgIcons.distruct,\n },\n {\n name: 'error',\n svg: svgIcons.distruct,\n },\n];\n","export const SourceModalContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type SourceModalContextKeys =\n (typeof SourceModalContext)[keyof typeof SourceModalContext];\n","import type { WritableSignal } from '@angular/core';\nimport { InjectionToken } from '@angular/core';\nimport type { SourceModalElementData } from '../interfaces';\n\nexport const SOURCE_MODAL_ELEMENT_DATA = new InjectionToken<\n WritableSignal<SourceModalElementData>\n>('Source Modal data');\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport type { SourceModalContextKeys } from '../constants';\nimport { SOURCE_MODAL_ELEMENT_DATA, sourceModalIcon } from '../constants';\nimport type { SafeHtml } from '@angular/platform-browser';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport type { DialogButtonsData } from '../interfaces';\n\n@Component({\n selector: 'src-modal-element',\n templateUrl: './source-modal-element.component.html',\n styleUrl: './source-modal-element.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass],\n})\nexport class SourceModalElementComponent {\n data = inject(SOURCE_MODAL_ELEMENT_DATA);\n http = inject(HttpClient);\n sanitizer = inject(DomSanitizer);\n readonly context = signal<SourceModalContextKeys>(\n this.data()?.context || 'default',\n );\n\n readonly testID = signal(this.data().testID || 'src-modal-element');\n readonly dialogEl = viewChild<ElementRef<HTMLDialogElement>>('dialogEl');\n closeEvent = output<any>();\n closed = output<void>();\n\n open() {\n this.dialogEl()?.nativeElement.showModal();\n }\n\n close(result?: any) {\n this.dialogEl()?.nativeElement.close();\n this.closeEvent.emit(result);\n this.closed.emit();\n }\n\n isArrayOfArrays(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): footerButtons is DialogButtonsData[] {\n return (\n Array.isArray(footerButtons) &&\n footerButtons.length > 0 &&\n Array.isArray(footerButtons[0])\n );\n }\n\n getButtonGroups(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): DialogButtonsData[] {\n return footerButtons as DialogButtonsData[];\n }\n\n getSingleButtonArray(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): DialogButtonsData {\n return footerButtons as DialogButtonsData;\n }\n\n getIconSvg(iconName: string): SafeHtml {\n const icon = sourceModalIcon.find((icon) => icon.name === iconName);\n const svgContent = icon?.svg || '';\n return this.sanitizer.bypassSecurityTrustHtml(svgContent);\n }\n\n hasIcon(): boolean {\n return (\n this.data().context !== 'default' &&\n !!sourceModalIcon.find((icon) => icon.name === this.data().context)\n );\n }\n}\n","<dialog #dialogEl>\n <div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data().closeButton) {\n <button\n (click)=\"close()\"\n [attr.data-testid]=\"testID() + '-header-close'\"\n type=\"button\"\n class=\"src-icon-button src-icon-button--plain src-icon-button--round src-icon-button--size-sm src-modal__close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n }\n </div>\n\n <div [class.src-modal__body--icon]=\"hasIcon()\" class=\"src-modal__body\">\n @if (hasIcon()) {\n <div\n [innerHTML]=\"getIconSvg(data().context!)\"\n class=\"src-modal__icon\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-modal__title\"\n >\n {{ data().headerTitle }}\n </div>\n\n <div class=\"src-modal__scroll-box\">\n @if (data().content; as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </div>\n </div>\n\n @if (data().footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data().footerButtons!)) {\n @for (\n buttonGroup of getButtonGroups(data().footerButtons!);\n track $index\n ) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <button\n (click)=\"close(footerButton.action())\"\n [ngClass]=\"footerButton.srcButtonClasses\"\n type=\"button\"\n class=\"src-button\"\n >\n {{ footerButton.label }}\n </button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data().footerButtons!);\n track footerButton.label\n ) {\n <button\n (click)=\"close(footerButton.action())\"\n [ngClass]=\"footerButton.srcButtonClasses\"\n type=\"button\"\n class=\"src-button\"\n >\n {{ footerButton.label }}\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n</dialog>\n","import type { ViewContainerRef } from '@angular/core';\nimport { Injectable, Injector, signal } from '@angular/core';\nimport type { SourceModalElementData } from '../interfaces';\nimport { SourceModalElementComponent } from '../components/source-modal-element.component';\nimport { SOURCE_MODAL_ELEMENT_DATA } from '../constants';\n\n@Injectable({ providedIn: 'root' })\nexport class SourceModalElementService {\n private viewRef?: ViewContainerRef;\n\n register(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n\n open(data: SourceModalElementData) {\n if (!this.viewRef) {\n throw new Error('Modal container not registered');\n }\n\n const dataSignal = signal<SourceModalElementData>(data);\n\n const injector = Injector.create({\n providers: [\n {\n provide: SOURCE_MODAL_ELEMENT_DATA,\n useValue: dataSignal,\n },\n ],\n parent: this.viewRef.injector,\n });\n\n const modalRef = this.viewRef.createComponent(SourceModalElementComponent, {\n injector,\n });\n modalRef.instance.open();\n modalRef.instance.closed.subscribe(() => {\n this.viewRef?.clear();\n });\n return modalRef;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SourceModalElementService } from '../services/sourceModalElement.service';\n\n@Component({\n selector: 'src-overlay-container',\n templateUrl: './source-overlay-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n})\nexport class SourceOverlayContainerComponent {\n readonly srcModalContainerRef = viewChild('srcModalContainerRef', {\n read: ViewContainerRef,\n });\n private srcModalElementService = inject(SourceModalElementService);\n\n _register = effect(() => {\n const ref = this.srcModalContainerRef();\n if (ref) {\n this.srcModalElementService.register(ref);\n }\n });\n}\n","<div class=\"overlay-container_3dsourcecom\">\n <ng-container #srcModalContainerRef></ng-container>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAkBa,oBAAoB,CAAA;AARjC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,6BAA6B,2DAAC;QACtD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0B;AACzC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAsB,IAAI,gDAAC;AAEvC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,2CAA2C,qDAAC;QAC9D,IAAA,CAAA,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAqB;QACxC,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;AAC5C,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YAEtC,OAAO;gBACL,OAAO,GAAG,CAAA,mBAAA,EAAsB,OAAO,CAAA,CAAE,GAAG,EAAE;gBAC9C,IAAI,GAAG,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE,GAAG,EAAE;AACrC,gBAAA,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,sBAAE,CAAC,GAAG,WAAW;AACjB,uBAAG,WAAW,IAAI,EAAE,CAAC;aACxB;AACH,QAAA,CAAC,mDAAC;AACH,IAAA;8GArBY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBjC,qgBAqBA,EAAA,MAAA,EAAA,CAAA,s7FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPY,OAAO,2EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIf,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,OAAA,EAGZ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAA,aAAA,EACZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qgBAAA,EAAA,MAAA,EAAA,CAAA,s7FAAA,CAAA,EAAA;;;AEhB1C,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,KAAK,EAAE,OAAO;;;ACNT,MAAM,eAAe,GAAG;AAC7B,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;;;MCqBG,qBAAqB,CAAA;AAZlC,IAAA,WAAA,GAAA;AAaW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0B,SAAS,mDAAC;AACnD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAuB,IAAI,gDAAC;AACxC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,IAAI,uDAAC;QACzB,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;AAE5C,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YAExB,OAAO;gBACL,OAAO,GAAG,CAAA,oBAAA,EAAuB,OAAO,CAAA,CAAE,GAAG,EAAE;gBAC/C,IAAI,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAA,CAAE,GAAG,EAAE;aACvC;AACH,QAAA,CAAC,mDAAC;AACH,IAAA;8GAfY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,qCAAA,EAAA,eAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBlC,8VASA,EAAA,MAAA,EAAA,CAAA,irFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDYY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAZjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,IAAA,EAGhB;AACJ,wBAAA,eAAe,EAAE,iCAAiC;AAClD,wBAAA,iBAAiB,EAAE,SAAS;qBAC7B,EAAA,OAAA,EACQ,CAAC,OAAO,CAAC,EAAA,aAAA,EACH,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8VAAA,EAAA,MAAA,EAAA,CAAA,irFAAA,CAAA,EAAA;;;AEvB1C,MAAM,gBAAgB,GAAG;AAC9B,IAAA,EAAE,EAAE,IAAI;;;ACDH,MAAM,mBAAmB,GAAG;AACjC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,KAAK,EAAE,OAAO;;;ACNT,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,KAAK,EAAE,OAAO;;;ACHT,MAAM,gBAAgB,GAAG;AAC9B,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;;;ACRH,MAAM,gBAAgB,GAAG;AAC9B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;ACHT,MAAM,sBAAsB,GAAG;AACpC,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,OAAO,EAAE,SAAS;;;ACJb,MAAM,mBAAmB,GAAG;AACjC,IAAA,OAAO,EAAE,SAAS;;;AAGlB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;;;;ACGP,MAAM,yBAAyB,GAAiB;IACrD,IAAI,EAAE,gBAAgB,CAAC,MAAM;IAC7B,UAAU,EAAE,sBAAsB,CAAC,MAAM;IACzC,MAAM,EAAE,kBAAkB,CAAC,SAAS;IACpC,IAAI,EAAE,gBAAgB,CAAC,EAAE;IACzB,OAAO,EAAE,mBAAmB,CAAC,OAAO;AACpC,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,MAAM,EAAE,SAAS;;;MCNN,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;AAChB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAgB,IAAI,oDAAC;AACrC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA2B,OAAO,mDAAC;AAClD,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,aAAa,iEAAC;AAC5C,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAClC,mDAAmD,+DACpD;AACQ,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,CAAC,uDAAC;QACtB,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;AAC5C,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM;AAChC,YAAA,IAAI,CAAC,QAAQ,EAAE,KAAK;AAClB,kBAAE;AACF,kBAAE,wBAAwB;AAC7B,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACO,IAAA,CAAA,eAAe,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,2DAC/C;AACQ,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,yDAAC;AACpE,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE,mDAAC;AAC7D,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,sDAC1E;AACF,IAAA;8GAvBY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBnC,2vCAwCA,EAAA,MAAA,EAAA,CAAA,w+BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1BY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACE,aAAa,EAAA,OAAA,EAGd,CAAC,OAAO,CAAC,EAAA,aAAA,EACH,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2vCAAA,EAAA,MAAA,EAAA,CAAA,w+BAAA,CAAA,EAAA;;;MEYpC,qBAAqB,CAAA;AARlC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAuB,QAAQ,gDAAC;AAC5C,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAA6B,QAAQ,sDAAC;AACxD,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAyB,WAAW,kDAAC;AACnD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAuB,IAAI,gDAAC;AACxC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0B,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;AACpD,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAoB,EAAE,uDAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,uDAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;QACzB,IAAA,CAAA,eAAe,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAgB;QACvC,IAAA,CAAA,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QACxB,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;;QAGrD,IAAA,CAAA,OAAO,GAAG,MAAM,EAAS;;QAEzB,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAS;AACjB,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAC3B,IAAI,CAAC,eAAe,EAAE,IAAI;AACxB,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACtB,aAAA,CACF;YAED,OAAO;AACL,gBAAA,MAAM,CAAC,UAAU,GAAG,CAAA,YAAA,EAAe,MAAM,CAAC,UAAU,CAAA,CAAE,GAAG,EAAE;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,CAAA,YAAA,EAAe,MAAM,CAAC,MAAM,CAAA,CAAE,GAAG,EAAE;AACnD,gBAAA,MAAM,CAAC,IAAI,GAAG,CAAA,iBAAA,EAAoB,MAAM,CAAC,IAAI,CAAA,CAAE,GAAG,EAAE;AACpD,gBAAA,MAAM,CAAC,OAAO,GAAG,CAAA,oBAAA,EAAuB,MAAM,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE;gBAC7D,MAAM,CAAC,aAAa,GAAG,wBAAwB,GAAG,EAAE;gBACpD,MAAM,CAAC,SAAS,GAAG,qBAAqB,GAAG,EAAE;gBAC7C,MAAM,CAAC,WAAW,GAAG,wBAAwB,GAAG,EAAE;gBAClD,MAAM,CAAC,UAAU,GAAG,yBAAyB,GAAG,EAAE;gBAClD,MAAM,CAAC,SAAS,GAAG,qBAAqB,GAAG,EAAE;gBAC7C,MAAM,CAAC,UAAU,GAAG,sBAAsB,GAAG,EAAE;gBAC/C,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;AACpD,sBAAE,CAAC,GAAG,MAAM,CAAC,WAAW;AACxB,uBAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;AAC/B,aAAA,CAAC,MAAM,CAAC,OAAO,CAAC;AACnB,QAAA,CAAC,mDAAC;AAgCH,IAAA;AA9BC,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1B;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,SAAS,CAAC,MAA6B,EAAA;QACrC,OAAO;AACL,YAAA,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,yBAAyB,CAAC,IAAI;AACpD,YAAA,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,yBAAyB,CAAC,UAAU;AACtE,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,yBAAyB,CAAC,MAAM;AAC1D,YAAA,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,yBAAyB,CAAC,IAAI;AACpD,YAAA,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,yBAAyB,CAAC,OAAO;AAC7D,YAAA,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,yBAAyB,CAAC,WAAW;AACzE,YAAA,aAAa,EACX,MAAM,EAAE,aAAa,IAAI,yBAAyB,CAAC,aAAa;AAClE,YAAA,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,yBAAyB,CAAC,WAAW;AACzE,YAAA,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,yBAAyB,CAAC,UAAU;AACtE,YAAA,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,yBAAyB,CAAC,SAAS;AACnE,YAAA,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,yBAAyB,CAAC,UAAU;AACtE,YAAA,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,yBAAyB,CAAC,SAAS;AACnE,YAAA,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,yBAAyB,CAAC,UAAU;AACtE,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,yBAAyB,CAAC,MAAM;AAC1D,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,yBAAyB,CAAC,MAAM;SAC3D;IACH;8GAvFW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BlC,4+BA4BA,EAAA,MAAA,EAAA,CAAA,wSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDJY,OAAO,oFAAE,sBAAsB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAI9B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,OAAA,EAGb,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAA,aAAA,EAC3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4+BAAA,EAAA,MAAA,EAAA,CAAA,wSAAA,CAAA,EAAA;;;MEZpC,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,sBAAsB,oDAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,yDAAC;AACtC,IAAA;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,sWCdrC,8rCAoBA,EAAA,MAAA,EAAA,CAAA,k5CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDNa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,iBAGV,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8rCAAA,EAAA,MAAA,EAAA,CAAA,k5CAAA,CAAA,EAAA;;;MEEpC,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,SAAS,iDAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AAClC,IAAA;8GAHY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,+UCdnC,0HAKA,EAAA,MAAA,EAAA,CAAA,6XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDSa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,iBAGR,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0HAAA,EAAA,MAAA,EAAA,CAAA,6XAAA,CAAA,EAAA;;;MEKpC,mBAAmB,CAAA;AARhC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,mDAAC;AACtB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAwB,SAAS,mDAAC;AACjD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAqB,IAAI,gDAAC;AAChD,IAAA;8GAJY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBhC,mPAQA,EAAA,MAAA,EAAA,CAAA,21BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;+BACE,UAAU,EAAA,OAAA,EAGX,CAAC,OAAO,CAAC,EAAA,aAAA,EACH,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mPAAA,EAAA,MAAA,EAAA,CAAA,21BAAA,CAAA,EAAA;;;AEf1C,MAAM,cAAc,GAAG;AAC5B,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;;;ACJH,MAAM,iBAAiB,GAAG;AAC/B,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;;;MCuBD,yBAAyB,CAAA;AARtC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AACd,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAA2B,QAAQ,gDAAC;AAChD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAiC,QAAQ,sDAAC;AAC5D,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAA6B,WAAW,kDAAC;AAEvD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAA2B,IAAI,gDAAC;AAC5C,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA4B,QAAQ,iDAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA8B,SAAS,mDAAC;AACvD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAqB,SAAS,mDAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;QACzB,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;;QAErD,IAAA,CAAA,OAAO,GAAG,MAAM,EAAS;AAChB,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAC1B;AACE,YAAA,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;AAClC,YAAA,CAAA,iBAAA,EAAoB,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE;AACvC,YAAA,CAAA,iBAAA,EAAoB,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE;AACnC,YAAA,CAAA,sBAAA,EAAyB,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE;AACtC,YAAA,CAAA,yBAAA,EAA4B,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE;YAC5C,IAAI,CAAC,SAAS,EAAE,GAAG,0BAA0B,GAAG,EAAE;AACnD,SAAA,CAAC,MAAM,CAAC,OAAO,CAAC,mDAClB;AASF,IAAA;AAPC,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,KAAK,CAAC,aAAa,YAAY,iBAAiB,EAAE;AACpD,YAAA,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;QAC5B;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1B;8GAhCW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BtC,6WAeA,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDQY,OAAO,oFAAE,oBAAoB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAI5B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAGlB,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAA,aAAA,EACzB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6WAAA,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA;;;AEzB1C,MAAM,0BAA0B,GAAG;AACxC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;;;ACHX,MAAM,sBAAsB,GAAG;AACpC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,KAAK,EAAE,OAAO;;;ACHT,MAAM,qBAAqB,GAAG;AACnC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;ACFT,MAAM,oBAAoB,GAAG;AAClC,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE,SAAS;;;ACTb,MAAM,uBAAuB,GAAG;AACrC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;;;ACLb,MAAM,oBAAoB,GAAG;AAClC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;MCaH,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;AAChB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,6BAA6B,uDAAC;QAClD,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;AACtD,IAAA;8GAJY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBvC,koEAuBA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDXY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACE,kBAAkB,EAAA,OAAA,EAGnB,CAAC,OAAO,CAAC,EAAA,aAAA,EACH,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,koEAAA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA;;;MEGpC,qBAAqB,CAAA;AAPlC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,EAAE,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACpB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAU;QAChC,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAC9C,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,8CAAU;AAC9B,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,8CAAU;AAC9B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,qDAAC;AACrB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,CAAC,uDAAC;AACtB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,CAAC,gDAAC;AACf,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;AACzB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,uDAAC;QAC5D,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,EAAE,mDAAI,KAAK,EAAE,aAAa,EAAA,CAAG;;QAGrD,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAU;;QAE3B,IAAA,CAAA,OAAO,GAAG,MAAM,EAAU;AACjB,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,gBAAA,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;AAC7D,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAI;oBAC5D,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,aAAa,IAAI,GAAG;AAC7C,oBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAA,EAAG,OAAO,GAAG;AAC9C,gBAAA,CAAC,CAAC;YACJ;AACA,YAAA,OAAO,EAAE;AACX,QAAA,CAAC,yDAAC;AACO,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,MAAM,OAAO,GACX,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvE,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAA,EAAG,OAAO,GAAG;AAC9C,QAAA,CAAC,yDAAC;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,MAAM,OAAO,GACX,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG;AACvE,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAA,EAAG,OAAO,GAAG;AAC9C,QAAA,CAAC,uDAAC;AAyBH,IAAA;AAvBC,IAAA,KAAK,CAAC,UAAiB,EAAA;AACrB,QAAA,IAAI,UAAU,CAAC,MAAM,YAAY,gBAAgB,EAAE;AACjD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrD;IACF;AAEA,IAAA,MAAM,CAAC,UAAiB,EAAA;AACtB,QAAA,IAAI,UAAU,CAAC,MAAM,YAAY,gBAAgB,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtD;IACF;AAEQ,IAAA,QAAQ,CAAC,KAAuB,EAAA;AACtC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa;AACpC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAClC,IAAI,CAAC,GAAG,EAAE,CACX;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;AAEpC,QAAA,OAAO,QAAQ;IACjB;8GA7DW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,y+CCjBlC,kiCAmCA,EAAA,MAAA,EAAA,CAAA,8sFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDlBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,iBAGP,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kiCAAA,EAAA,MAAA,EAAA,CAAA,8sFAAA,CAAA,EAAA;;;AEfjD,MAAM,QAAQ,GAAG;AACf,IAAA,IAAI,EAAE,kwCAAkwC;AACxwC,IAAA,OAAO,EACL,s8BAAs8B;AACx8B,IAAA,QAAQ,EACN,+kDAA+kD;CACllD;AAEM,MAAM,eAAe,GAAG;AAC7B,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,QAAQ,CAAC,IAAI;AACnB,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,QAAQ,CAAC,OAAO;AACtB,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,QAAQ,CAAC,QAAQ;AACvB,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,QAAQ,CAAC,QAAQ;AACvB,KAAA;;;ACxBI,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;MCDH,yBAAyB,GAAG,IAAI,cAAc,CAEzD,mBAAmB;;MCoBR,2BAA2B,CAAA;AARxC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACxC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CACvB,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,IAAI,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAClC;AAEQ,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,mBAAmB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAC1D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAgC,UAAU,oDAAC;QACxE,IAAA,CAAA,UAAU,GAAG,MAAM,EAAO;QAC1B,IAAA,CAAA,MAAM,GAAG,MAAM,EAAQ;AA8CxB,IAAA;IA5CC,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE;IAC5C;AAEA,IAAA,KAAK,CAAC,MAAY,EAAA;QAChB,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,KAAK,EAAE;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACpB;AAEA,IAAA,eAAe,CACb,aAAsD,EAAA;AAEtD,QAAA,QACE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAC5B,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEnC;AAEA,IAAA,eAAe,CACb,aAAsD,EAAA;AAEtD,QAAA,OAAO,aAAoC;IAC7C;AAEA,IAAA,oBAAoB,CAClB,aAAsD,EAAA;AAEtD,QAAA,OAAO,aAAkC;IAC3C;AAEA,IAAA,UAAU,CAAC,QAAgB,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnE,QAAA,MAAM,UAAU,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC;IAC3D;IAEA,OAAO,GAAA;QACL,QACE,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS;YACjC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;IAEvE;8GAxDW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BxC,29GAsFA,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED9DY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAGd,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,29GAAA,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA;sEAW2C,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME5B5D,yBAAyB,CAAA;AAGpC,IAAA,QAAQ,CAAC,OAAyB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AAEA,IAAA,IAAI,CAAC,IAA4B,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;QACnD;AAEA,QAAA,MAAM,UAAU,GAAG,MAAM,CAAyB,IAAI,sDAAC;AAEvD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,yBAAyB;AAClC,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC9B,SAAA,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,2BAA2B,EAAE;YACzE,QAAQ;AACT,SAAA,CAAC;AACF,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;AACtC,YAAA,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;AACvB,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,QAAQ;IACjB;8GAhCW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADZ,MAAM,EAAA,CAAA,CAAA;;2FACnB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCYrB,+BAA+B,CAAA;AAP5C,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,oBAAoB,GAAG,SAAS,CAAC,sBAAsB,iEAC9D,IAAI,EAAE,gBAAgB,EAAA,CACtB;AACM,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAElE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,MAAK;AACtB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE;YACvC,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC3C;AACF,QAAA,CAAC,qDAAC;AACH,IAAA;8GAZY,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAElC,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB1B,gHAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDea,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;+BACE,uBAAuB,EAAA,aAAA,EAElB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,EAAE,EAAA,QAAA,EAAA,gHAAA,EAAA;AAG+B,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,sBAAsB,EAAA,EAAA,GAAE;AAChE,4BAAA,IAAI,EAAE,gBAAgB;AACvB,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AErBH;;AAEG;;;;"}
1
+ {"version":3,"file":"3dsource-source-ui-native.mjs","sources":["../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/components/source-badge.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/components/source-badge.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/constants/sourceBadgeContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-badge/constants/sourceBadgeSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/components/source-banner.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/components/source-banner.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/constants/sourceBannerSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-banner/constants/sourceBannerContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonWeight.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonType.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonAppearance.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/constants/sourceButtonDefaultConfig.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-loading/components/source-loading.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-loading/components/source-loading.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/components/source-button.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-button/components/source-button.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-copyright/components/source-copyright.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-copyright/components/source-copyright.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-divider/components/source-divider.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-divider/components/source-divider.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/components/source-hint.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/components/source-hint.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/constants/sourceHintSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-hint/constants/sourceHintContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/components/source-icon-button.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/components/source-icon-button.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonAppearance.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonWeight.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonShape.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonSize.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-icon-button/constants/sourceIconButtonType.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-logo-loading/components/source-logo-loading.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-logo-loading/components/source-logo-loading.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-slider/components/source-slider.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-slider/components/source-slider.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/sourceModalIcon.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/sourceModalContext.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/constants/modalData.token.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-modal-element.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-modal-element.component.html","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/services/sourceModalElement.service.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-overlay-container.component.ts","../../../../projects/3dsource/source-ui-native/src/lib/components/source-modal-element/components/source-overlay-container.component.html","../../../../projects/3dsource/source-ui-native/src/3dsource-source-ui-native.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceBadgeContextKeys, SourceBadgeSizeKeys } from '../constants';\nimport { NgClass, NgStyle } from '@angular/common';\n\n@Component({\n selector: 'src-badge',\n templateUrl: './source-badge.component.html',\n styleUrl: './source-badge.component.scss',\n imports: [NgStyle, NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceBadgeComponent {\n readonly backgroundColor = input('var(--src-color-accent-500)');\n readonly context = input<SourceBadgeContextKeys>();\n readonly size = input<SourceBadgeSizeKeys>('md');\n\n readonly textColor = input('var(--src-text-body-main-invert, #f9fafb)');\n readonly customClass = input<string | string[]>();\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs (optional with sensible defaults)\n readonly role = input<string | null>('status');\n readonly ariaLabel = input<string>();\n\n readonly classes = computed(() => {\n const context = this.context();\n const size = this.size();\n const customClass = this.customClass();\n\n return [\n context ? `src-badge--context-${context}` : '',\n size ? `src-badge--size-${size}` : '',\n customClass && Array.isArray(customClass)\n ? [...customClass]\n : (customClass ?? ''),\n ];\n });\n}\n","<div\n [ngClass]=\"classes()\"\n [ngStyle]=\"\n context()\n ? {}\n : {\n '--srcBadgeBackgroundColor': backgroundColor(),\n '--srcBadgeTextColor': textColor(),\n }\n \"\n [attr.data-testid]=\"testID()\"\n [attr.role]=\"role()\"\n [attr.aria-label]=\"ariaLabel()\"\n class=\"src-badge\"\n>\n <div class=\"src-badge__icon\">\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"src-badge__icon\">\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n </div>\n</div>\n","export const SourceBadgeContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ATTENTION: 'attention',\n ERROR: 'error',\n} as const;\n\nexport type SourceBadgeContextKeys =\n (typeof SourceBadgeContext)[keyof typeof SourceBadgeContext];\n","export const SourceBadgeSize = {\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceBadgeSizeKeys =\n (typeof SourceBadgeSize)[keyof typeof SourceBadgeSize];\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport type {\n SourceBannerSizeKeys,\n SourceBannerContextKeys,\n} from '../constants';\n\n@Component({\n selector: 'src-banner',\n templateUrl: './source-banner.component.html',\n styleUrl: './source-banner.component.scss',\n host: {\n '[style.width]': 'isFullWidth() ? \"100%\" : \"auto\"',\n '[style.display]': '\"block\"',\n },\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceBannerComponent {\n readonly context = input<SourceBannerContextKeys>('default');\n readonly size = input<SourceBannerSizeKeys>('sm');\n readonly isFullWidth = input(true);\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs (optional, no defaults - user decides)\n readonly role = input<string>();\n readonly ariaLive = input<'polite' | 'assertive' | 'off'>();\n\n readonly classes = computed(() => {\n const context = this.context();\n const size = this.size();\n\n return [\n context ? `src-banner--context-${context}` : '',\n size ? `src-banner--size-${size}` : '',\n ];\n });\n}\n","<div\n [ngClass]=\"classes()\"\n [attr.data-testid]=\"testID()\"\n [attr.role]=\"role()\"\n [attr.aria-live]=\"ariaLive()\"\n class=\"src-banner\"\n>\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <span class=\"src-banner__content\">\n <ng-content select=\"[srcBannerTitle]\"></ng-content>\n\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n</div>\n","export const SourceBannerSize = {\n SM: 'sm',\n} as const;\n\nexport type SourceBannerSizeKeys =\n (typeof SourceBannerSize)[keyof typeof SourceBannerSize];\n","export const SourceBannerContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n CRITICAL: 'critical',\n ERROR: 'error',\n} as const;\n\nexport type SourceBannerContextKeys =\n (typeof SourceBannerContext)[keyof typeof SourceBannerContext];\n","export const SourceButtonWeight = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n GHOST: 'ghost',\n} as const;\n\nexport type SourceButtonWeightKeys =\n (typeof SourceButtonWeight)[keyof typeof SourceButtonWeight];\n","export const SourceButtonSize = {\n SLIM: 'slim',\n SMALL: 'slim',\n MEDIUM: 'medium',\n LARGE: 'large',\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceButtonSizeKeys =\n (typeof SourceButtonSize)[keyof typeof SourceButtonSize];\n","export const SourceButtonType = {\n BUTTON: 'button',\n SUBMIT: 'submit',\n RESET: 'reset',\n} as const;\n\nexport type SourceButtonTypeKeys =\n (typeof SourceButtonType)[keyof typeof SourceButtonType];\n","export const SourceButtonAppearance = {\n PLAIN: 'plain',\n INLINE: 'inline',\n FILLED: 'filled',\n DEFAULT: 'default',\n} as const;\n\nexport type SourceButtonAppearanceKeys =\n (typeof SourceButtonAppearance)[keyof typeof SourceButtonAppearance];\n","export const SourceButtonContext = {\n DEFAULT: 'default',\n // LOADING: 'loading',\n // DESTRUCTIVE: 'destructive',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n // INVERTED: 'inverted',\n} as const;\n\nexport type SourceButtonContextKeys =\n (typeof SourceButtonContext)[keyof typeof SourceButtonContext];\n","import {\n SourceButtonAppearance,\n SourceButtonContext,\n SourceButtonSize,\n SourceButtonType,\n SourceButtonWeight,\n} from './index';\nimport type { SourceButton } from '../interfaces';\n\nexport const sourceButtonDefaultConfig: SourceButton = {\n type: SourceButtonType.BUTTON,\n appearance: SourceButtonAppearance.FILLED,\n weight: SourceButtonWeight.SECONDARY,\n size: SourceButtonSize.MD,\n context: SourceButtonContext.DEFAULT,\n customClass: '',\n hasDisclosure: false,\n isFullWidth: false,\n iconButton: false,\n isPressed: false,\n isInverted: false,\n isDisabled: false,\n isLoading: false,\n formID: undefined,\n testID: undefined,\n};\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceLoadingLineCapKeys } from '../constants/sourceLoadingLineCap';\n\n@Component({\n selector: 'src-loading',\n templateUrl: './source-loading.component.html',\n styleUrl: './source-loading.component.scss',\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceLoadingComponent {\n readonly size = input(32);\n readonly progress = input<number | null>(null);\n readonly lineCap = input<SourceLoadingLineCapKeys>('round');\n readonly backgroundStrokeColor = input('transparent');\n readonly progressStrokeColor = input(\n 'var(--src-color-accent-500, rgba(1, 123, 255, 1))',\n );\n readonly strokeWidth = input(3);\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs (optional, with smart defaults based on progress)\n readonly role = input<string>();\n readonly ariaLabel = input<string>();\n readonly ariaValueNow = input<number>();\n readonly ariaValueMin = input<number>();\n readonly ariaValueMax = input<number>();\n\n // Computed a11y values with defaults\n readonly computedRole = computed(\n () => this.role() ?? (this.progress() !== null ? 'progressbar' : 'status'),\n );\n readonly computedAriaValueNow = computed(\n () => this.ariaValueNow() ?? this.progress(),\n );\n readonly computedAriaValueMin = computed(\n () => this.ariaValueMin() ?? (this.progress() !== null ? 0 : undefined),\n );\n readonly computedAriaValueMax = computed(\n () => this.ariaValueMax() ?? (this.progress() !== null ? 100 : undefined),\n );\n\n readonly classes = computed(() => [\n this.progress() !== null\n ? 'src-loading--progress'\n : 'src-loading--animation',\n ]);\n readonly calculateRadius = computed(\n () => this.size() / 2 - this.strokeWidth() / 2,\n );\n readonly circumference = computed(() => 2 * Math.PI * this.calculateRadius());\n readonly viewBox = computed(() => `0 0 ${this.size()} ${this.size()}`);\n readonly percentage = computed(() =>\n Math.round((this.circumference() * (100 - (this.progress() ?? 0))) / 100),\n );\n}\n","<div\n [attr.data-testid]=\"testID()\"\n [attr.role]=\"computedRole()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-valuenow]=\"computedAriaValueNow()\"\n [attr.aria-valuemin]=\"computedAriaValueMin()\"\n [attr.aria-valuemax]=\"computedAriaValueMax()\"\n class=\"src-loading-container\"\n>\n <svg\n [ngClass]=\"classes()\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.viewBox]=\"viewBox()\"\n [style.--srcLoadingSize]=\"size()\"\n class=\"src-loading\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(-90deg)\"\n aria-hidden=\"true\"\n >\n <!-- Background circle -->\n @if (progress()) {\n <circle\n [attr.r]=\"calculateRadius()\"\n [attr.cx]=\"size() / 2\"\n [attr.cy]=\"size() / 2\"\n [attr.stroke]=\"backgroundStrokeColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference()\"\n fill=\"transparent\"\n stroke-dashoffset=\"0\"\n ></circle>\n }\n\n <!-- Filled circle -->\n <circle\n [attr.r]=\"calculateRadius()\"\n [attr.cx]=\"size() / 2\"\n [attr.cy]=\"size() / 2\"\n [attr.stroke]=\"progressStrokeColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-linecap]=\"lineCap()\"\n [attr.stroke-dashoffset]=\"progress() ? percentage() : 0\"\n [attr.stroke-dasharray]=\"progress() ? circumference() : ''\"\n fill=\"transparent\"\n ></circle>\n </svg>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceButton } from '../interfaces';\nimport type {\n SourceButtonAppearanceKeys,\n SourceButtonContextKeys,\n SourceButtonSizeKeys,\n SourceButtonTypeKeys,\n SourceButtonWeightKeys,\n} from '../constants';\nimport { sourceButtonDefaultConfig } from '../constants';\nimport { NgClass } from '@angular/common';\nimport { SourceLoadingComponent } from '../../source-loading';\n\n@Component({\n selector: 'src-button',\n templateUrl: './source-button.component.html',\n styleUrl: './source-button.component.scss',\n imports: [NgClass, SourceLoadingComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceButtonComponent {\n readonly type = input<SourceButtonTypeKeys>('button');\n readonly appearance = input<SourceButtonAppearanceKeys>('filled');\n readonly weight = input<SourceButtonWeightKeys>('secondary');\n readonly size = input<SourceButtonSizeKeys>('md');\n readonly context = input<SourceButtonContextKeys>('default'); // 'default' | 'error' | 'info' | 'success'\n readonly customClass = input<string | string[]>('');\n readonly isFullWidth = input(false);\n readonly isPressed = input(false);\n readonly isDisabled = input(false);\n readonly isLoading = input(false);\n readonly isInverted = input(false);\n readonly iconButton = input(false);\n readonly srcButtonConfig = input<SourceButton>();\n readonly formID = input<string>();\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs (optional)\n readonly ariaLabel = input<string>();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onSubmit = output<Event>();\n readonly classes = computed(() => {\n const config = this.getConfig(\n this.srcButtonConfig() ?? {\n type: this.type(),\n appearance: this.appearance(),\n weight: this.weight(),\n size: this.size(),\n context: this.context(),\n customClass: this.customClass(),\n isFullWidth: this.isFullWidth(),\n formID: this.formID(),\n iconButton: this.iconButton(),\n isPressed: this.isPressed(),\n isDisabled: this.isDisabled(),\n isLoading: this.isLoading(),\n isInverted: this.isInverted(),\n testID: this.testID(),\n },\n );\n\n return [\n config.appearance ? `src-button--${config.appearance}` : '',\n config.weight ? `src-button--${config.weight}` : '',\n config.size ? `src-button--size-${config.size}` : '',\n config.context ? `src-button--context-${config.context}` : '',\n config.hasDisclosure ? 'src-button--disclosure' : '',\n config.isPressed ? 'src-button--pressed' : '',\n config.isFullWidth ? 'src-button--full-width' : '',\n config.iconButton ? 'src-button--icon-button' : '',\n config.isLoading ? 'src-button--loading' : '',\n config.isInverted ? 'src-button--inverted' : '',\n config.customClass && Array.isArray(config.customClass)\n ? [...config.customClass]\n : (config.customClass ?? ''),\n ].filter(Boolean);\n });\n\n handleClick(event: Event) {\n event.preventDefault();\n this.onClick.emit(event);\n }\n\n handleSubmit(event: Event) {\n event.preventDefault();\n this.onSubmit.emit(event);\n }\n\n getConfig(config: Partial<SourceButton>): SourceButton {\n return {\n type: config?.type || sourceButtonDefaultConfig.type,\n appearance: config?.appearance || sourceButtonDefaultConfig.appearance,\n weight: config?.weight || sourceButtonDefaultConfig.weight,\n size: config?.size || sourceButtonDefaultConfig.size,\n context: config?.context || sourceButtonDefaultConfig.context,\n customClass: config?.customClass || sourceButtonDefaultConfig.customClass,\n hasDisclosure:\n config?.hasDisclosure || sourceButtonDefaultConfig.hasDisclosure,\n isFullWidth: config?.isFullWidth || sourceButtonDefaultConfig.isFullWidth,\n iconButton: config?.iconButton || sourceButtonDefaultConfig.iconButton,\n isPressed: config?.isPressed || sourceButtonDefaultConfig.isPressed,\n isDisabled: config?.isDisabled || sourceButtonDefaultConfig.isDisabled,\n isLoading: config?.isLoading || sourceButtonDefaultConfig.isLoading,\n isInverted: config?.isInverted || sourceButtonDefaultConfig.isInverted,\n formID: config?.formID || sourceButtonDefaultConfig.formID,\n testID: config?.testID || sourceButtonDefaultConfig.testID,\n };\n }\n}\n","@let config = srcButtonConfig();\n<button\n (click)=\"handleClick($event)\"\n (submit)=\"handleSubmit($event)\"\n [attr.data-testid]=\"!!config ? config?.testID : testID()\"\n [attr.form]=\"!!config ? config?.formID : formID()\"\n [disabled]=\"!!config ? config?.isDisabled : isDisabled()\"\n [ngClass]=\"classes()\"\n [type]=\"!!config ? config?.type : type()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-pressed]=\"(!!config ? config?.isPressed : isPressed()) || null\"\n [attr.aria-busy]=\"(!!config ? config?.isLoading : isLoading()) || null\"\n class=\"src-button\"\n>\n <span [style.opacity]=\"(!!config ? config?.isLoading : isLoading()) ? 0 : 1\">\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <ng-content></ng-content>\n\n <ng-content select=\"[srcIconPostfix]\"></ng-content>\n </span>\n @if (!!config ? config?.isLoading : isLoading()) {\n <src-loading\n [size]=\"16\"\n [progressStrokeColor]=\"\n weight() === 'primary' ? '#fff' : 'var(--src-icon-default, #374151)'\n \"\n [strokeWidth]=\"2\"\n [data-testid]=\"(!!config ? config?.testID : testID()) + '-loading-state'\"\n aria-hidden=\"true\"\n ></src-loading>\n }\n</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-copyright',\n templateUrl: './source-copyright.component.html',\n styleUrl: './source-copyright.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceCopyrightComponent {\n readonly linkText = input('Powered by 3D Source');\n readonly isCollapsible = input(false);\n readonly testID = input('', { alias: 'data-testid' });\n}\n","<div\n [class.src-copyright--collapsible]=\"isCollapsible()\"\n [attr.data-testid]=\"testID()\"\n class=\"src-copyright\"\n>\n <a href=\"https://www.3dsource.com/\" target=\"_blank\" class=\"src-link\">\n <svg\n class=\"src-link__icon\"\n fill=\"none\"\n height=\"18\"\n viewBox=\"0 0 17 18\"\n width=\"17\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-label=\"3D Source logo\"\n role=\"img\"\n >\n <path\n fill=\"#016EF8\"\n fill-rule=\"evenodd\"\n d=\"M13 13v1.1a61.8 61.8 0 0 1 .2 1.3l2-1.2c.7-.3 1-.9 1-1.6V10c0-.4-.2-.8-.6-1l-4.4-2.5a9414.7 9414.7 0 0 0-2.8-1.7l-.6-.3c-.2-.1-.3-.3-.3-.5 0-.3.2-.4.4-.5l.6.1 3.7 2.2a4320 4320 0 0 1 4 2V5.3c0-.7-.3-1.1-.9-1.5L9.3.3C8.5 0 7.7 0 7 .3L5.7 1l-1.2.7-.2.4v3.3c0 .5.2 1 .7 1.2l4 2.3 3.2 1.8c.6.3.8.8.8 1.4v1ZM3.2 5V4A164.6 164.6 0 0 1 3 2.6l-1.2.7-1 .5c-.5.4-.8.9-.8 1.6V8c0 .4.2.8.6 1l1 .6.5.3 6.2 3.5c.1.1.3.2.3.4.1.2 0 .4-.1.6-.2.2-.4.2-.7 0l-1.8-1-.5-.3-3.3-1.9-2-1C0 10 0 10 0 10.1a914.3 914.3 0 0 1 0 2.4c0 .7.3 1.3 1 1.6L3.8 16l3 1.7c.8.5 1.6.5 2.4 0l1.1-.6 1.3-.7.2-.3v-3.5c0-.5-.2-.8-.6-1a1118.4 1118.4 0 0 1-4-2.4L3.8 7.2c-.4-.2-.7-.7-.7-1.2V5Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"src-link__text\">{{ linkText() }}</span>\n <span class=\"src-sr-only\">(opens in new tab)</span>\n </a>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-divider',\n templateUrl: './source-divider.component.html',\n styleUrl: './source-divider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceDividerComponent {\n readonly color = input('#E5E7EB');\n readonly thickness = input('1px');\n readonly testID = input('', { alias: 'data-testid' });\n}\n","<hr\n [style.--srcDividerColor]=\"thickness()\"\n [style.--srcDividerThickness]=\"color()\"\n [attr.data-testid]=\"testID()\"\n class=\"src-divider\"\n/>\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { SourceHintSizeKeys, SourceHintContextKeys } from '../constants';\n\n@Component({\n selector: 'src-hint',\n templateUrl: './source-hint.component.html',\n styleUrl: './source-hint.component.scss',\n imports: [NgClass],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceHintComponent {\n readonly isError = input(false);\n readonly context = input<SourceHintContextKeys>('default');\n readonly size = input<SourceHintSizeKeys>('md');\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs (optional)\n readonly id = input<string>();\n readonly role = input<string>();\n readonly ariaLive = input<'polite' | 'assertive' | 'off'>();\n\n // Computed: role=\"alert\" when context is error, otherwise user-provided or none\n readonly computedRole = computed(\n () => this.role() ?? (this.context() === 'error' ? 'alert' : undefined),\n );\n\n // Computed: aria-live=\"assertive\" when context is error\n readonly computedAriaLive = computed(\n () =>\n this.ariaLive() ?? (this.context() === 'error' ? 'assertive' : undefined),\n );\n}\n","<p\n [ngClass]=\"'src-hint--context-' + context() + ' src-hint--size-' + size()\"\n [class.src-hint--error]=\"isError()\"\n [attr.data-testid]=\"testID()\"\n [id]=\"id()\"\n [attr.role]=\"computedRole()\"\n [attr.aria-live]=\"computedAriaLive()\"\n class=\"src-hint\"\n>\n <ng-content select=\"[srcIconPrefix]\"></ng-content>\n <ng-content></ng-content>\n</p>\n","export const SourceHintSize = {\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n XL: 'xl',\n} as const;\nexport type SourceHintSizeKeys =\n (typeof SourceHintSize)[keyof typeof SourceHintSize];\n","export const SourceHintContext = {\n DEFAULT: 'default',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n} as const;\n\nexport type SourceHintContextKeys =\n (typeof SourceHintContext)[keyof typeof SourceHintContext];\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport type {\n SourceIconButtonAppearanceKeys,\n SourceIconButtonContextKeys,\n SourceIconButtonShapeKeys,\n SourceIconButtonSizeKeys,\n SourceIconButtonTypeKeys,\n SourceIconButtonWeightKeys,\n} from '../constants';\nimport { SourceBadgeComponent } from '../../source-badge';\n\n@Component({\n selector: 'src-icon-button',\n templateUrl: './source-icon-button.component.html',\n styleUrl: './source-icon-button.component.scss',\n imports: [NgClass, SourceBadgeComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceIconButtonComponent {\n readonly name = input();\n readonly type = input<SourceIconButtonTypeKeys>('button');\n readonly appearance = input<SourceIconButtonAppearanceKeys>('filled');\n readonly weight = input<SourceIconButtonWeightKeys>('secondary');\n\n readonly size = input<SourceIconButtonSizeKeys>('md');\n readonly shape = input<SourceIconButtonShapeKeys>('square');\n readonly context = input<SourceIconButtonContextKeys>('default');\n readonly counter = input<number | undefined>(undefined);\n readonly isPressed = input(false);\n readonly isDisabled = input(false);\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility inputs\n readonly ariaLabel = input<string>();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onClick = output<Event>();\n readonly classes = computed(() =>\n [\n `src-icon-button--${this.shape()}`,\n `src-icon-button--${this.appearance()}`,\n `src-icon-button--${this.weight()}`,\n `src-icon-button--size-${this.size()}`,\n `src-icon-button--context-${this.context()}`,\n this.isPressed() ? 'src-icon-button--pressed' : '',\n ].filter(Boolean),\n );\n\n handleClick(event: Event) {\n event.preventDefault();\n if (event.currentTarget instanceof HTMLButtonElement) {\n event.currentTarget.blur();\n }\n this.onClick.emit(event);\n }\n}\n","<button\n (click)=\"handleClick($event)\"\n [type]=\"type()\"\n [name]=\"name()\"\n [ngClass]=\"classes()\"\n [disabled]=\"isDisabled()\"\n [attr.data-testid]=\"testID()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-pressed]=\"isPressed() || null\"\n class=\"src-icon-button\"\n>\n <ng-content></ng-content>\n\n @if (counter()) {\n <src-badge [data-testid]=\"testID() + '-counter'\">{{ counter() }}</src-badge>\n }\n</button>\n","export const SourceIconButtonAppearance = {\n FILLED: 'filled',\n PLAIN: 'plain',\n INLINE: 'inline',\n} as const;\n\nexport type SourceIconButtonAppearanceKeys =\n (typeof SourceIconButtonAppearance)[keyof typeof SourceIconButtonAppearance];\n","export const SourceIconButtonWeight = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n GHOST: 'ghost',\n} as const;\n\nexport type SourceIconButtonWeightKeys =\n (typeof SourceIconButtonWeight)[keyof typeof SourceIconButtonWeight];\n","export const SourceIconButtonShape = {\n SQUARE: 'square',\n ROUND: 'round',\n} as const;\n\nexport type SourceIconButtonShapeKeys =\n (typeof SourceIconButtonShape)[keyof typeof SourceIconButtonShape];\n","export const SourceIconButtonSize = {\n XSMALL: 'xs',\n SMALL: 'sm',\n SM: 'sm',\n MEDIUM: 'md',\n MD: 'md',\n LARGE: 'lg',\n LG: 'lg',\n XL: 'xl',\n DEFAULT: 'default',\n} as const;\n\nexport type SourceIconButtonSizeKeys =\n (typeof SourceIconButtonSize)[keyof typeof SourceIconButtonSize];\n","export const SourceIconButtonContext = {\n DEFAULT: 'default',\n ERROR: 'error',\n SUCCESS: 'success',\n INFO: 'info',\n WARNING: 'warning',\n} as const;\n\nexport type SourceIconButtonContextKeys =\n (typeof SourceIconButtonContext)[keyof typeof SourceIconButtonContext];\n","export const SourceIconButtonType = {\n BUTTON: 'button',\n SUBMIT: 'submit',\n RESET: 'reset',\n} as const;\n\nexport type SourceIconButtonTypeKeys =\n (typeof SourceIconButtonType)[keyof typeof SourceIconButtonType];\n","import { NgStyle } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-logo-loading',\n templateUrl: './source-logo-loading.component.html',\n styleUrl: './source-logo-loading.component.scss',\n imports: [NgStyle],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceLogoLoadingComponent {\n readonly size = input(32);\n readonly strokeColor = input('var(--src-color-accent-500)');\n readonly testID = input('', { alias: 'data-testid' });\n readonly role = input<string>('status');\n readonly ariaLabel = input<string>();\n}\n","<div\n [attr.data-testid]=\"testID()\"\n [ngStyle]=\"{\n '--srcLogoLoadingSize': size() + 'px',\n '--srcLogoLoadingStroke': strokeColor(),\n }\"\n [attr.role]=\"role()\"\n [attr.aria-label]=\"ariaLabel()\"\n class=\"src-logo-loading\"\n>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M36.482 12.662v4.466c-1.092-.61-4.316-2.42-7.512-4.213l-5.236-2.938-1.717-.964-.48-.27-.126-.07-.033-.019-.008-.004-.002-.001-.245.435.244-.436a2.552 2.552 0 0 0-.71-.29 2.162 2.162 0 0 0-.758-.015l-.024.003-.024.005c-.49.113-.837.345-1.057.638a1.354 1.354 0 0 0-.275.838c.015.527.4 1.002.988 1.313.643.388 4.642 2.71 8.484 4.937l5.25 3.042 1.703.986.475.275.125.072.032.018.008.005.002.001.25-.432-.25.433.01.005c.477.262.868.868.868 1.673v5.681c-.039 1.216-.675 2.086-1.478 2.553l-.002.001-4.222 2.482v-6.197c.043-.907-.147-1.642-.525-2.236-.375-.589-.909-.998-1.489-1.3l-15.143-8.783c-.324-.195-.572-.42-.74-.689-.167-.266-.272-.6-.272-1.045V5.395a.511.511 0 0 1 .014-.206.122.122 0 0 1 .025-.04.332.332 0 0 1 .087-.064l.006-.004 4.791-2.78.008-.004c.874-.528 1.675-.758 2.433-.762.758-.005 1.512.217 2.293.652l12.45 7.22.003.002c.623.356 1.077.785 1.37 1.301.293.515.445 1.15.41 1.952Z\"\n />\n <path\n d=\"M3.518 27.338v-4.466c1.092.61 4.316 2.42 7.512 4.213l5.236 2.938 1.717.964.48.27.126.07.033.018.008.005.002.001.245-.435-.244.436c.24.134.464.238.71.29.253.055.494.05.758.015l.024-.003.024-.005c.49-.113.837-.345 1.057-.638.213-.286.281-.598.275-.838-.015-.527-.4-1.002-.988-1.313-.643-.388-4.642-2.71-8.484-4.937l-5.25-3.042-1.703-.986-.475-.275-.125-.072-.032-.018-.008-.005-.002-.001-.25.432.25-.433-.01-.005c-.477-.262-.868-.868-.868-1.673v-5.681c.04-1.216.675-2.086 1.478-2.553l.002-.001 4.222-2.482v6.197c-.043.907.147 1.642.525 2.236.375.589.909.998 1.489 1.3l15.143 8.783c.324.195.572.42.74.689.166.266.272.6.272 1.045v7.227a.511.511 0 0 1-.015.206.122.122 0 0 1-.024.04.334.334 0 0 1-.086.064l-.007.004-4.791 2.78-.008.004c-.874.528-1.675.758-2.433.762-.758.005-1.512-.217-2.293-.652L5.3 30.593l-.003-.002c-.623-.356-1.077-.785-1.37-1.301-.293-.515-.445-1.15-.41-1.952Z\"\n />\n </svg>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n linkedSignal,\n output,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'src-slider',\n templateUrl: './source-slider.component.html',\n styleUrl: './source-slider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SourceSliderComponent {\n readonly id = input<string>();\n readonly value = input.required<number>();\n readonly sliderValue = linkedSignal(() => this.value());\n readonly min = input.required<number>();\n readonly max = input.required<number>();\n readonly thumbSize = input(12);\n readonly trackHeight = input(2);\n readonly step = input(1);\n readonly showTicks = input(false);\n readonly isDisabled = input(false);\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly testID = input('', { alias: 'data-testid' });\n\n // Accessibility\n readonly ariaLabel = input<string>();\n readonly ariaValueText = input<string>();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onChange = output<number>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onInput = output<number>();\n readonly tickPositions = computed(() => {\n if (this.showTicks()) {\n const numberOfTicks = (this.max() - this.min()) / this.step();\n return Array.from({ length: numberOfTicks + 1 }, (_, index) => {\n const percent = (index / numberOfTicks) * 100;\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n }\n return [];\n });\n readonly thumbPosition = computed(() => {\n const percent =\n ((this.sliderValue() - this.min()) * 100) / (this.max() - this.min());\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n readonly filledWidth = computed(() => {\n const percent =\n ((this.sliderValue() - this.min()) / (this.max() - this.min())) * 100;\n return isNaN(percent) ? '0%' : `${percent}%`;\n });\n\n input(valueEvent: Event) {\n if (valueEvent.target instanceof HTMLInputElement) {\n this.onInput.emit(this.getValue(valueEvent.target));\n }\n }\n\n change(valueEvent: Event) {\n if (valueEvent.target instanceof HTMLInputElement) {\n this.onChange.emit(this.getValue(valueEvent.target));\n }\n }\n\n private getValue(value: HTMLInputElement) {\n const newValue = value.valueAsNumber;\n const steppedValue = Math.round(newValue / this.step()) * this.step();\n const calculateValue = Math.min(\n Math.max(steppedValue, this.min()),\n this.max(),\n );\n this.sliderValue.set(calculateValue);\n\n return newValue;\n }\n}\n","<div\n [style.--srcSliderThumbSize.px]=\"thumbSize()\"\n [style.--srcSliderTrackHeight.px]=\"trackHeight()\"\n [class.src-slider--disabled]=\"isDisabled()\"\n [class.src-slider--vertical]=\"orientation() === 'vertical'\"\n [attr.data-testid]=\"testID()\"\n class=\"src-slider\"\n>\n <input\n (change)=\"change($event)\"\n (input)=\"input($event)\"\n [id]=\"id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [disabled]=\"isDisabled()\"\n [value]=\"sliderValue()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [attr.aria-orientation]=\"orientation()\"\n [attr.data-testid]=\"testID() + '-input'\"\n type=\"range\"\n class=\"src-slider__input\"\n />\n <div [style.width]=\"filledWidth()\" class=\"src-slider__filled-track\"></div>\n\n <div [style.left]=\"thumbPosition()\" class=\"src-slider__thumb\">\n <ng-content select=\"[srcIconThumb]\"></ng-content>\n </div>\n\n @if (showTicks()) {\n <div class=\"src-slider__ticks-container\">\n @for (tick of tickPositions(); track tick) {\n <div [style.left]=\"tick\" class=\"tick\"></div>\n }\n </div>\n }\n</div>\n","const svgIcons = {\n info: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M11.1 16.7999H12.9V10.7999H11.1V16.7999ZM11.9947 8.9999C12.2482 8.9999 12.4625 8.91415 12.6375 8.74265C12.8125 8.57115 12.9 8.35865 12.9 8.10515C12.9 7.85165 12.8142 7.6374 12.6427 7.4624C12.4712 7.2874 12.2587 7.1999 12.0052 7.1999C11.7517 7.1999 11.5375 7.28565 11.3625 7.45715C11.1875 7.62865 11.1 7.84115 11.1 8.09465C11.1 8.34815 11.1857 8.5624 11.3572 8.7374C11.5287 8.9124 11.7412 8.9999 11.9947 8.9999ZM12.007 21.5999C10.6857 21.5999 9.44166 21.3499 8.27499 20.8499C7.10833 20.3499 6.08749 19.6624 5.21249 18.7874C4.33749 17.9124 3.64999 16.8919 3.14999 15.7259C2.64999 14.5599 2.39999 13.3141 2.39999 11.9884C2.39999 10.6627 2.64999 9.42074 3.14999 8.2624C3.64999 7.10407 4.33749 6.0874 5.21249 5.2124C6.08749 4.3374 7.10799 3.6499 8.27399 3.1499C9.43999 2.6499 10.6858 2.3999 12.0115 2.3999C13.3372 2.3999 14.5792 2.6499 15.7375 3.1499C16.8958 3.6499 17.9125 4.3374 18.7875 5.2124C19.6625 6.0874 20.35 7.1059 20.85 8.2679C21.35 9.43007 21.6 10.6717 21.6 11.9929C21.6 13.3142 21.35 14.5582 20.85 15.7249C20.35 16.8916 19.6625 17.9124 18.7875 18.7874C17.9125 19.6624 16.894 20.3499 15.732 20.8499C14.5698 21.3499 13.3282 21.5999 12.007 21.5999Z\" fill=\"#017BFF\"/></svg>',\n success:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M10.725 15.5999L16.675 9.6749L15.4 8.3999L10.725 13.0499L8.59999 10.9499L7.32499 12.2249L10.725 15.5999ZM12 21.5999C10.6833 21.5999 9.44166 21.3499 8.27499 20.8499C7.10833 20.3499 6.08749 19.6624 5.21249 18.7874C4.33749 17.9124 3.64999 16.8916 3.14999 15.7249C2.64999 14.5582 2.39999 13.3166 2.39999 11.9999C2.39999 10.6666 2.64999 9.42074 3.14999 8.2624C3.64999 7.10407 4.33749 6.0874 5.21249 5.2124C6.08749 4.3374 7.10833 3.6499 8.27499 3.1499C9.44166 2.6499 10.6833 2.3999 12 2.3999C13.3333 2.3999 14.5792 2.6499 15.7375 3.1499C16.8958 3.6499 17.9125 4.3374 18.7875 5.2124C19.6625 6.0874 20.35 7.10407 20.85 8.2624C21.35 9.42074 21.6 10.6666 21.6 11.9999C21.6 13.3166 21.35 14.5582 20.85 15.7249C20.35 16.8916 19.6625 17.9124 18.7875 18.7874C17.9125 19.6624 16.8958 20.3499 15.7375 20.8499C14.5792 21.3499 13.3333 21.5999 12 21.5999Z\" fill=\"#16A34A\"/></svg>',\n distruct:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 12.9505C12.2832 12.9505 12.5292 12.8461 12.738 12.6373C12.946 12.4293 13.05 12.1837 13.05 11.9005V8.04969C13.05 7.76649 12.946 7.52489 12.738 7.32489C12.5292 7.12489 12.2832 7.02489 12 7.02489C11.7168 7.02489 11.4708 7.12929 11.262 7.33809C11.054 7.54609 10.95 7.79169 10.95 8.07489V11.9257C10.95 12.2089 11.054 12.4505 11.262 12.6505C11.4708 12.8505 11.7168 12.9505 12 12.9505ZM12 17.0257C12.2832 17.0257 12.5292 16.9297 12.738 16.7377C12.946 16.5457 13.05 16.2913 13.05 15.9745C13.05 15.6913 12.946 15.4457 12.738 15.2377C12.5292 15.0297 12.2832 14.9257 12 14.9257C11.7168 14.9257 11.4708 15.0297 11.262 15.2377C11.054 15.4457 10.95 15.6913 10.95 15.9745C10.95 16.2913 11.054 16.5457 11.262 16.7377C11.4708 16.9297 11.7168 17.0257 12 17.0257ZM12 21.9997C10.6168 21.9997 9.3168 21.7373 8.1 21.2125C6.8832 20.6877 5.8248 19.9753 4.9248 19.0753C4.0248 18.1753 3.3124 17.1169 2.7876 15.9001C2.2628 14.6833 2.0004 13.3833 2.0004 12.0001C2.0004 10.6169 2.2628 9.31689 2.7876 8.10009C3.3124 6.88329 4.0248 5.82489 4.9248 4.92489C5.8248 4.02489 6.8832 3.31249 8.1 2.78769C9.3168 2.26289 10.6168 2.00049 12 2.00049C13.3832 2.00049 14.6832 2.26289 15.9 2.78769C17.1168 3.31249 18.1752 4.02489 19.0752 4.92489C19.9752 5.82489 20.6876 6.88329 21.2124 8.10009C21.7372 9.31689 21.9996 10.6169 21.9996 12.0001C21.9996 13.3833 21.7372 14.6833 21.2124 15.9001C20.6876 17.1169 19.9752 18.1753 19.0752 19.0753C18.1752 19.9753 17.1168 20.6877 15.9 21.2125C14.6832 21.7373 13.3832 21.9997 12 21.9997Z\" fill=\"#F24122\"/></svg>',\n};\n\nexport const sourceModalIcon = [\n {\n name: 'info',\n svg: svgIcons.info,\n },\n {\n name: 'success',\n svg: svgIcons.success,\n },\n {\n name: 'distruct',\n svg: svgIcons.distruct,\n },\n {\n name: 'error',\n svg: svgIcons.distruct,\n },\n];\n","export const SourceModalContext = {\n DEFAULT: 'default',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type SourceModalContextKeys =\n (typeof SourceModalContext)[keyof typeof SourceModalContext];\n","import type { WritableSignal } from '@angular/core';\nimport { InjectionToken } from '@angular/core';\nimport type { SourceModalElementData } from '../interfaces';\n\nexport const SOURCE_MODAL_ELEMENT_DATA = new InjectionToken<\n WritableSignal<SourceModalElementData>\n>('Source Modal data');\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport type { SourceModalContextKeys } from '../constants';\nimport { SOURCE_MODAL_ELEMENT_DATA, sourceModalIcon } from '../constants';\nimport type { SafeHtml } from '@angular/platform-browser';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport type { DialogButtonsData } from '../interfaces';\n\n@Component({\n selector: 'src-modal-element',\n templateUrl: './source-modal-element.component.html',\n styleUrl: './source-modal-element.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass],\n})\nexport class SourceModalElementComponent {\n data = inject(SOURCE_MODAL_ELEMENT_DATA);\n http = inject(HttpClient);\n sanitizer = inject(DomSanitizer);\n readonly context = signal<SourceModalContextKeys>(\n this.data()?.context || 'default',\n );\n\n // Accessibility\n readonly ariaLabel = input<string>();\n readonly closeButtonLabel = input('Close');\n\n readonly testID = signal(this.data().testID || 'src-modal-element');\n readonly dialogEl = viewChild<ElementRef<HTMLDialogElement>>('dialogEl');\n closeEvent = output<any>();\n closed = output<void>();\n\n open() {\n this.dialogEl()?.nativeElement.showModal();\n }\n\n close(result?: any) {\n this.dialogEl()?.nativeElement.close();\n this.closeEvent.emit(result);\n this.closed.emit();\n }\n\n isArrayOfArrays(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): footerButtons is DialogButtonsData[] {\n return (\n Array.isArray(footerButtons) &&\n footerButtons.length > 0 &&\n Array.isArray(footerButtons[0])\n );\n }\n\n getButtonGroups(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): DialogButtonsData[] {\n return footerButtons as DialogButtonsData[];\n }\n\n getSingleButtonArray(\n footerButtons: DialogButtonsData | DialogButtonsData[],\n ): DialogButtonsData {\n return footerButtons as DialogButtonsData;\n }\n\n getIconSvg(iconName: string): SafeHtml {\n const icon = sourceModalIcon.find((icon) => icon.name === iconName);\n const svgContent = icon?.svg || '';\n return this.sanitizer.bypassSecurityTrustHtml(svgContent);\n }\n\n hasIcon(): boolean {\n return (\n this.data().context !== 'default' &&\n !!sourceModalIcon.find((icon) => icon.name === this.data().context)\n );\n }\n}\n","<dialog\n #dialogEl\n [attr.aria-labelledby]=\"ariaLabel() ? null : 'src-modal-title'\"\n [attr.aria-label]=\"ariaLabel()\"\n>\n <div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data().closeButton) {\n <button\n (click)=\"close()\"\n [attr.data-testid]=\"testID() + '-header-close'\"\n [attr.aria-label]=\"closeButtonLabel()\"\n type=\"button\"\n class=\"src-icon-button src-icon-button--plain src-icon-button--round src-icon-button--size-sm src-modal__close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n }\n </div>\n\n <div [class.src-modal__body--icon]=\"hasIcon()\" class=\"src-modal__body\">\n @if (hasIcon()) {\n <div\n [innerHTML]=\"getIconSvg(data().context!)\"\n class=\"src-modal__icon\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n id=\"src-modal-title\"\n class=\"src-modal__title\"\n >\n {{ data().headerTitle }}\n </div>\n\n <div class=\"src-modal__scroll-box\">\n @if (data().content; as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </div>\n </div>\n\n @if (data().footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data().footerButtons!)) {\n @for (\n buttonGroup of getButtonGroups(data().footerButtons!);\n track $index\n ) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <button\n (click)=\"close(footerButton.action())\"\n [ngClass]=\"footerButton.srcButtonClasses\"\n type=\"button\"\n class=\"src-button\"\n >\n {{ footerButton.label }}\n </button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data().footerButtons!);\n track footerButton.label\n ) {\n <button\n (click)=\"close(footerButton.action())\"\n [ngClass]=\"footerButton.srcButtonClasses\"\n type=\"button\"\n class=\"src-button\"\n >\n {{ footerButton.label }}\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n</dialog>\n","import type { ViewContainerRef } from '@angular/core';\nimport { Injectable, Injector, signal } from '@angular/core';\nimport type { SourceModalElementData } from '../interfaces';\nimport { SourceModalElementComponent } from '../components/source-modal-element.component';\nimport { SOURCE_MODAL_ELEMENT_DATA } from '../constants';\n\n@Injectable({ providedIn: 'root' })\nexport class SourceModalElementService {\n private viewRef?: ViewContainerRef;\n\n register(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n\n open(data: SourceModalElementData) {\n if (!this.viewRef) {\n throw new Error('Modal container not registered');\n }\n\n const dataSignal = signal<SourceModalElementData>(data);\n\n const injector = Injector.create({\n providers: [\n {\n provide: SOURCE_MODAL_ELEMENT_DATA,\n useValue: dataSignal,\n },\n ],\n parent: this.viewRef.injector,\n });\n\n const modalRef = this.viewRef.createComponent(SourceModalElementComponent, {\n injector,\n });\n modalRef.instance.open();\n modalRef.instance.closed.subscribe(() => {\n this.viewRef?.clear();\n });\n return modalRef;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SourceModalElementService } from '../services/sourceModalElement.service';\n\n@Component({\n selector: 'src-overlay-container',\n templateUrl: './source-overlay-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n})\nexport class SourceOverlayContainerComponent {\n readonly srcModalContainerRef = viewChild('srcModalContainerRef', {\n read: ViewContainerRef,\n });\n private srcModalElementService = inject(SourceModalElementService);\n\n _register = effect(() => {\n const ref = this.srcModalContainerRef();\n if (ref) {\n this.srcModalElementService.register(ref);\n }\n });\n}\n","<div class=\"overlay-container_3dsourcecom\">\n <ng-container #srcModalContainerRef></ng-container>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3dsource/source-ui-native",
3
- "version": "3.0.1",
3
+ "version": "3.2.1",
4
4
  "description": "A bunch of native ui elements",
5
5
  "keywords": [
6
6
  "3dsource",
@@ -0,0 +1,11 @@
1
+ // Map Figma font-weight string tokens to CSS numeric values.
2
+ // Figma exports weights as style names (Regular, Medium, SemiBold, Bold),
3
+ // but CSS font-weight requires numeric values (400, 500, 600, 700).
4
+ // This override layer keeps the auto-generated variables/ directory untouched.
5
+ .section_3dsourcecom,
6
+ .cdk-overlay-container {
7
+ --src-font-weight-regular: 400;
8
+ --src-font-weight-medium: 500;
9
+ --src-font-weight-semiBold: 600;
10
+ --src-font-weight-bold: 700;
11
+ }
package/styles/base.scss CHANGED
@@ -65,3 +65,16 @@
65
65
  margin-top: 0;
66
66
  }
67
67
  }
68
+
69
+ // Screen reader only - visually hidden but accessible
70
+ .src-sr-only {
71
+ position: absolute;
72
+ width: 1px;
73
+ height: 1px;
74
+ padding: 0;
75
+ margin: -1px;
76
+ overflow: hidden;
77
+ clip: rect(0, 0, 0, 0);
78
+ white-space: nowrap;
79
+ border: 0;
80
+ }