ngx-semantic 2.0.9 → 2.1.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.
- package/fesm2022/ngx-semantic-collections-grid.mjs +99 -17
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +18 -3
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +6 -7
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +42 -7
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +41 -11
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs +6 -7
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs +8 -8
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs +6 -7
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +6 -8
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +5 -7
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +5 -7
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs +5 -6
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs +6 -7
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs +17 -24
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs +6 -7
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs +10 -13
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +4 -6
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +4 -6
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +7 -8
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +11 -10
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs +13 -18
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +5 -6
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +6 -7
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +14 -19
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +35 -31
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +115 -26
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +13 -2
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +7 -8
- package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-transition.mjs +14 -7
- package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +8 -11
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs +5 -6
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-semantic-collections-grid.d.ts +44 -12
- package/types/ngx-semantic-collections-menu.d.ts +7 -3
- package/types/ngx-semantic-collections-message.d.ts +2 -1
- package/types/ngx-semantic-collections-table.d.ts +14 -6
- package/types/ngx-semantic-core-base.d.ts +16 -5
- package/types/ngx-semantic-core-enums.d.ts +1 -1
- package/types/ngx-semantic-elements-container.d.ts +2 -1
- package/types/ngx-semantic-elements-divider.d.ts +3 -1
- package/types/ngx-semantic-elements-header.d.ts +2 -1
- package/types/ngx-semantic-elements-icon.d.ts +2 -2
- package/types/ngx-semantic-elements-image.d.ts +1 -1
- package/types/ngx-semantic-elements-label.d.ts +1 -1
- package/types/ngx-semantic-elements-list.d.ts +2 -1
- package/types/ngx-semantic-elements-loader.d.ts +2 -1
- package/types/ngx-semantic-elements-placeholder.d.ts +5 -4
- package/types/ngx-semantic-elements-rail.d.ts +2 -1
- package/types/ngx-semantic-elements-reveal.d.ts +3 -2
- package/types/ngx-semantic-elements-segment.d.ts +2 -2
- package/types/ngx-semantic-elements-steps.d.ts +1 -1
- package/types/ngx-semantic-modules-checkbox.d.ts +2 -1
- package/types/ngx-semantic-modules-dimmer.d.ts +3 -2
- package/types/ngx-semantic-modules-dropdown.d.ts +4 -3
- package/types/ngx-semantic-modules-modal.d.ts +2 -1
- package/types/ngx-semantic-modules-rating.d.ts +2 -1
- package/types/ngx-semantic-modules-select.d.ts +3 -2
- package/types/ngx-semantic-modules-shape.d.ts +4 -3
- package/types/ngx-semantic-modules-sidebar.d.ts +34 -6
- package/types/ngx-semantic-modules-tabs.d.ts +2 -1
- package/types/ngx-semantic-modules-transition.d.ts +3 -1
- package/types/ngx-semantic-views-card.d.ts +3 -2
- package/types/ngx-semantic-views-comment.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport { ISelectOptionImage } from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n @if (suiMultiple) {\n @for (option of selectedOptions; track option) {\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n }\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n }\n\n <!-- Search Section -->\n @if (suiSearch) {\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n }\n\n <!-- Display Section -->\n @if (!suiMultiple) {\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n @if (selectedOption) {\n @if (selectedOption.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n }\n @if (selectedOption.flag) {\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n }\n\n {{ selectedOption.text }}\n }\n\n @if (!selectedOption) {\n {{ suiPlaceholder }}\n }\n </div>\n }\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n @for (option of filteredOptions; track option) {\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n {{ option.text }}\n </div>\n }\n @if (hasNoSearchResults()) {\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n }\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent implements AfterViewInit, ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n @HostBinding('class')\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSelectComponent } from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAAA;;AAEG;;MCOU,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAKkB,IAAA,CAAA,YAAY,GAA2B,IAAI;QAC3B,IAAA,CAAA,YAAY,GAAG,KAAK;QAE5C,IAAA,CAAA,MAAM,GAAG,KAAK;AA2BvB,IAAA;IAzBC,IACI,SAAS,CAAC,MAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,CAAC,CAAC;IACX;AAEA,IAAA,IACI,OAAO,GAAA;QACT,OAAO;YACL,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;AACvD,YAAA,IAAI,CAAC,YAAY;YACjB,MAAM;YACN,YAAY;YACZ,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC/C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS;AAC/C,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;+GA9BW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAED,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA+B,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;4FAF1C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;AACX,iBAAA;;sBAEE;;sBACA;;sBAIA;;sBASA,WAAW;uBAAC,UAAU;;sBAKtB,WAAW;uBAAC,OAAO;;;MCtBT,0BAA0B,CAAA;AAJvC,IAAA,WAAA,GAAA;QAKkB,IAAA,CAAA,QAAQ,GAAQ,IAAI;QACJ,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,WAAW,GAAG,KAAK;AAWpD,IAAA;AATC,IAAA,IACI,OAAO,GAAA;QACT,OAAO;YACL,MAAM;YACN,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;AACnD,YAAA,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;AAC1E,YAAA,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU;AACzE,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;+GAbW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAEL,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA8B,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA8B,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;4FAHzC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;AACX,iBAAA;;sBAEE;;sBACA;;sBACA;;sBAEA,WAAW;uBAAC,OAAO;;;MCmGT,kBAAkB,CAAA;AAvG/B,IAAA,WAAA,GAAA;AAwGU,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAIpC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAe;QACtD,IAAA,CAAA,cAAc,GAAkB,IAAI;QACpB,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,YAAY,GAAG,KAAK;QACpB,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,IAAI,GAAkB,IAAI;QAC1B,IAAA,CAAA,WAAW,GAAG,KAAK;QAE3C,IAAA,CAAA,MAAM,GAAG,KAAK;QACd,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,cAAc,GAAU,EAAE;QAC3B,IAAA,CAAA,UAAU,GAAG,EAAE;QACd,IAAA,CAAA,UAAU,GAAoB,EAAE;QACjC,IAAA,CAAA,eAAe,GAAoB,EAAE;QACrC,IAAA,CAAA,cAAc,GAA8B,SAAS;QACrD,IAAA,CAAA,eAAe,GAAoB,EAAE;QAEpC,IAAA,CAAA,oBAAoB,GAAiC,MAAK;AAClE,QAAA,CAAC;AAyLF,IAAA;IAvLC,IACI,UAAU,CAAC,OAAwB,EAAA;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO;IAClD;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,CAAC;IACV;AAEA,IAAA,IACI,OAAO,GAAA;QACT,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,IAAI;YACJ,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC/C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;YACnD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YACjD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;YACnD,WAAW;YACX,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YACjD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;YAClD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;YACvD,UAAU;YACV,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;YACrD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC9C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAC/C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO;AAC/C,SAAA,CAAC;IACJ;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,SAAS;IAC1C;AAEA,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,CAAC,IAAI,CAAC,cAAc;IAC7B;AAEA,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,KAAK;QACd;QAEA,OAAO,IAAI,CAAC,WAAW;IACzB;IAGO,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;;AAG1B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;QAC1C;IACF;IAEO,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;QAC7D;IACF;IAEO,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU;;AAGpC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI;QACnC;;AAGA,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB;aACpC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD;AAEO,IAAA,QAAQ,CAAC,MAAqB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACnD;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,cAAc,KAAK,MAAM;QACvC;IACF;IAEO,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;IAC1C;IAEO,WAAW,CAAC,MAAqB,EAAE,KAAY,EAAA;;AAEpD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK;AAChE,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM;YAE5B,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7C;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAEhE,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACtC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;AAEjC,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YACpD;YAEA,KAAK,CAAC,eAAe,EAAE;QACzB;;AAGA,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;IAEO,eAAe,CAAC,MAAqB,EAAE,KAAY,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC/C;QACF;QAEA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC;AAC3E,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;AAEvE,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAElD,KAAK,CAAC,eAAe,EAAE;IACzB;AAEO,IAAA,UAAU,CAAC,KAAkB,EAAA;QAClC,MAAM,YAAY,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,KAAK;QAEzD,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtC;AAEA,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC;AACzB,aAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IACvC;AAEO,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE;IAChC;AAEO,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE;IAChC;AAEO,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;+GApNW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,6hBANlB,CAAE;AACX,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE;aACR,CAAE,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKQ,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArGvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA9FS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,sBAAsB,mHAAE,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AA4GvD,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA4B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAClB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA2B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AACjB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA4B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAClB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA6B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AACnB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA2B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AACjB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA2B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AACjB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA+B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AACrB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA6B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AACnB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAAqC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAC3B,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA8B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;4FAhBzC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAvG9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,0BAA0B,CAAC;AACxF,oBAAA,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FT,EAAA,CAAA;AACD,oBAAA,SAAS,EAAE,CAAE;AACX,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE;yBACR;AACF,iBAAA;;sBAIE,SAAS;uBAAC,sBAAsB;;sBAEhC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAcA;;sBASA,WAAW;uBAAC,UAAU;;sBAKtB,WAAW;uBAAC,OAAO;;sBA4CnB,YAAY;uBAAC,OAAO;;;MC5LV,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,OAAA,EAAA,CAHxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAHlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAMT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHxB,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FAGT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport { ISelectOptionImage } from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective extends BaseDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective extends BaseDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n @if (suiMultiple) {\n @for (option of selectedOptions; track option) {\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n }\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n }\n\n <!-- Search Section -->\n @if (suiSearch) {\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n }\n\n <!-- Display Section -->\n @if (!suiMultiple) {\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n @if (selectedOption) {\n @if (selectedOption.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n }\n @if (selectedOption.flag) {\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n }\n\n {{ selectedOption.text }}\n }\n\n @if (!selectedOption) {\n {{ suiPlaceholder }}\n }\n </div>\n }\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n @for (option of filteredOptions; track option) {\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n {{ option.text }}\n </div>\n }\n @if (hasNoSearchResults()) {\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n }\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent extends BaseDirective implements AfterViewInit, ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSelectComponent } from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import * as i1 from '@angular/common';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
1
|
import * as i0 from '@angular/core';
|
|
4
|
-
import {
|
|
2
|
+
import { inject, ElementRef, HostBinding, ViewEncapsulation, Component, ChangeDetectorRef, NgZone, EventEmitter, Output, Input, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
|
5
3
|
import { __decorate } from 'tslib';
|
|
4
|
+
import * as i1 from '@angular/common';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
6
|
import { InputBoolean } from 'ngx-semantic/core/util';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* One face of a `sui-shape`.
|
|
9
|
+
* One face of a `sui-shape`. The host element itself is the Semantic UI `.side`, so it sits directly inside
|
|
10
|
+
* `.sides` and takes part in the shape's 3D rendering context (an extra wrapper element would flatten it).
|
|
10
11
|
*/
|
|
11
12
|
class SuiShapeSideComponent {
|
|
12
13
|
constructor() {
|
|
14
|
+
this.element = inject(ElementRef);
|
|
13
15
|
/** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.active`. */
|
|
14
16
|
this.styleActive = false;
|
|
15
17
|
/** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.hidden`. */
|
|
@@ -18,48 +20,45 @@ class SuiShapeSideComponent {
|
|
|
18
20
|
this.styleAnimating = false;
|
|
19
21
|
/** Inline styles applied during 3D animation (transform, top, left). */
|
|
20
22
|
this.inlineStyles = {};
|
|
23
|
+
this.sideClass = true;
|
|
21
24
|
}
|
|
22
25
|
get nativeElement() {
|
|
23
|
-
return this.
|
|
26
|
+
return this.element.nativeElement;
|
|
24
27
|
}
|
|
25
28
|
clearInlineStyles() {
|
|
26
29
|
this.inlineStyles = {};
|
|
27
30
|
}
|
|
28
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SuiShapeSideComponent, isStandalone: true, selector: "sui-shape-side",
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
class="side"
|
|
33
|
-
[class.active]="styleActive"
|
|
34
|
-
[class.hidden]="styleHidden"
|
|
35
|
-
[class.animating]="styleAnimating"
|
|
36
|
-
[ngStyle]="inlineStyles">
|
|
37
|
-
<ng-content></ng-content>
|
|
38
|
-
</div>
|
|
39
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SuiShapeSideComponent, isStandalone: true, selector: "sui-shape-side", host: { properties: { "class.active": "this.styleActive", "class.hidden": "this.styleHidden", "class.animating": "this.styleAnimating", "style": "this.inlineStyles", "class.side": "this.sideClass" } }, exportAs: ["suiShapeSide"], ngImport: i0, template: `
|
|
33
|
+
<ng-content></ng-content>
|
|
34
|
+
`, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
35
|
}
|
|
41
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeSideComponent, decorators: [{
|
|
42
37
|
type: Component,
|
|
43
38
|
args: [{
|
|
44
39
|
standalone: true,
|
|
45
|
-
imports: [CommonModule],
|
|
46
40
|
selector: 'sui-shape-side',
|
|
41
|
+
exportAs: 'suiShapeSide',
|
|
47
42
|
encapsulation: ViewEncapsulation.None,
|
|
48
43
|
template: `
|
|
49
|
-
<
|
|
50
|
-
#root
|
|
51
|
-
class="side"
|
|
52
|
-
[class.active]="styleActive"
|
|
53
|
-
[class.hidden]="styleHidden"
|
|
54
|
-
[class.animating]="styleAnimating"
|
|
55
|
-
[ngStyle]="inlineStyles">
|
|
56
|
-
<ng-content></ng-content>
|
|
57
|
-
</div>
|
|
44
|
+
<ng-content></ng-content>
|
|
58
45
|
`
|
|
59
46
|
}]
|
|
60
|
-
}], propDecorators: {
|
|
61
|
-
type:
|
|
62
|
-
args: ['
|
|
47
|
+
}], propDecorators: { styleActive: [{
|
|
48
|
+
type: HostBinding,
|
|
49
|
+
args: ['class.active']
|
|
50
|
+
}], styleHidden: [{
|
|
51
|
+
type: HostBinding,
|
|
52
|
+
args: ['class.hidden']
|
|
53
|
+
}], styleAnimating: [{
|
|
54
|
+
type: HostBinding,
|
|
55
|
+
args: ['class.animating']
|
|
56
|
+
}], inlineStyles: [{
|
|
57
|
+
type: HostBinding,
|
|
58
|
+
args: ['style']
|
|
59
|
+
}], sideClass: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['class.side']
|
|
63
62
|
}] } });
|
|
64
63
|
|
|
65
64
|
function outerHeightWithMargins(el) {
|
|
@@ -347,7 +346,12 @@ class SuiShapeComponent {
|
|
|
347
346
|
const $next = this.nextSide;
|
|
348
347
|
this.suiBeforeChange.emit($next);
|
|
349
348
|
const sidesEl = this.sidesEl.nativeElement;
|
|
350
|
-
const onEnd = () => {
|
|
349
|
+
const onEnd = (event) => {
|
|
350
|
+
// side opacity transitions bubble up from the children; only the sides transform ends the flip
|
|
351
|
+
if (event.target !== sidesEl) {
|
|
352
|
+
sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
351
355
|
this.zone.run(() => {
|
|
352
356
|
this.finishAnimation();
|
|
353
357
|
});
|
|
@@ -627,7 +631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImpo
|
|
|
627
631
|
class SuiShapeModule {
|
|
628
632
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
629
633
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent], exports: [SuiShapeComponent, SuiShapeSideComponent] }); }
|
|
630
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent
|
|
634
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent] }); }
|
|
631
635
|
}
|
|
632
636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, decorators: [{
|
|
633
637
|
type: NgModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-shape.mjs","sources":["../../src/modules/shape/shape-side.component.ts","../../src/modules/shape/shape.component.ts","../../src/modules/shape/shape.module.ts","../../src/modules/shape/ngx-semantic-modules-shape.ts"],"sourcesContent":["/**\n * One face of a `sui-shape`. Renders the required Semantic UI `.side` markup.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-shape-side',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #root\n class=\"side\"\n [class.active]=\"styleActive\"\n [class.hidden]=\"styleHidden\"\n [class.animating]=\"styleAnimating\"\n [ngStyle]=\"inlineStyles\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class SuiShapeSideComponent {\n @ViewChild('root', { static: true }) root!: ElementRef<HTMLElement>;\n\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.active`. */\n public styleActive = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.hidden`. */\n public styleHidden = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.animating`. */\n public styleAnimating = false;\n /** Inline styles applied during 3D animation (transform, top, left). */\n public inlineStyles: Record<string, string | null> = {};\n\n public get nativeElement(): HTMLElement {\n return this.root.nativeElement;\n }\n\n public clearInlineStyles(): void {\n this.inlineStyles = {};\n }\n}\n","/**\n * Semantic UI [Shape](https://semantic-ui.com/modules/shape.html) module — Angular port of the\n * jQuery `$.fn.shape` behavior (3D CSS transforms). Include Semantic UI’s shape CSS in your app.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, QueryList, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\nexport type SuiShapeDimension = 'initial' | 'next' | number;\nexport type SuiShapeFlip =\n | 'flip up'\n | 'flip down'\n | 'flip left'\n | 'flip right'\n | 'flip over'\n | 'flip back';\n\nfunction outerHeightWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n}\n\nfunction outerWidthWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.width + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n}\n\nfunction getTransitionEventName(): string {\n const el = document.createElement('div');\n const transitions: Record<string, string> = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd'\n };\n for (const key of Object.keys(transitions)) {\n if ((el.style as unknown as Record<string, string>)[key] !== undefined) {\n return transitions[key];\n }\n }\n return 'transitionend';\n}\n\n@Component({\n standalone: true,\n imports: [CommonModule, SuiShapeSideComponent],\n selector: 'sui-shape',\n exportAs: 'suiShape',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #shapeEl\n class=\"ui shape\"\n [class.animating]=\"animating\"\n [class.cube]=\"suiCube\"\n [class.text]=\"suiText\"\n [ngStyle]=\"shapeInlineStyle\">\n <div #sidesEl class=\"sides\" [ngStyle]=\"sidesInlineStyle\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class SuiShapeComponent implements AfterContentInit, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly zone = inject(NgZone);\n\n @ContentChildren(SuiShapeSideComponent) private sideList!: QueryList<SuiShapeSideComponent>;\n @ViewChild('shapeEl', { static: true }) private shapeEl!: ElementRef<HTMLElement>;\n @ViewChild('sidesEl', { static: true }) private sidesEl!: ElementRef<HTMLElement>;\n\n /** Animation length in ms. `null` skips inline `transition-duration` (Semantic UI CSS defaults). */\n @Input() public suiDuration: number | null = null;\n /** Width during animation: initial size, next side’s size, or a fixed pixel width. */\n @Input() public suiWidth: SuiShapeDimension = 'initial';\n /** Height during animation: initial size, next side’s size, or a fixed pixel height. */\n @Input() public suiHeight: SuiShapeDimension = 'initial';\n /** Pixel fudge for 2D/3D rounding (matches Semantic UI `jitter`). */\n @Input() public suiJitter = 0;\n /** When false, flipping to the already-visible side is ignored. */\n @Input() @InputBoolean() public suiAllowRepeats = false;\n /** Adds the `cube` class (Semantic UI cube layout). */\n @Input() @InputBoolean() public suiCube = false;\n /** Adds the `text` class (Semantic UI text shape layout). */\n @Input() @InputBoolean() public suiText = false;\n\n @Output() public readonly suiBeforeChange = new EventEmitter<SuiShapeSideComponent>();\n @Output() public readonly suiOnChange = new EventEmitter<SuiShapeSideComponent>();\n\n public animating = false;\n public shapeInlineStyle: Record<string, string | null> = {};\n public sidesInlineStyle: Record<string, string | null> = {};\n\n private readonly transitionEnd = getTransitionEventName();\n private activeSide: SuiShapeSideComponent | null = null;\n private nextSide: SuiShapeSideComponent | null = null;\n private manualNextIndex: number | null = null;\n private readonly queue: SuiShapeFlip[] = [];\n private sidesChangeSub: { unsubscribe(): void } | null = null;\n\n public ngAfterContentInit(): void {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.sidesChangeSub = this.sideList.changes.subscribe(() => {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.cdr.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.sidesChangeSub?.unsubscribe();\n }\n\n /** Mirrors `shape('flip up')`. */\n public flipUp(): void {\n this.runFlip('flip up', () => {\n this.setStageSize();\n this.stageAbove();\n this.animate(this.getTransformUp());\n });\n }\n\n /** Mirrors `shape('flip down')`. */\n public flipDown(): void {\n this.runFlip('flip down', () => {\n this.setStageSize();\n this.stageBelow();\n this.animate(this.getTransformDown());\n });\n }\n\n /** Mirrors `shape('flip left')`. */\n public flipLeft(): void {\n this.runFlip('flip left', () => {\n this.setStageSize();\n this.stageLeft();\n this.animate(this.getTransformLeft());\n });\n }\n\n /** Mirrors `shape('flip right')`. */\n public flipRight(): void {\n this.runFlip('flip right', () => {\n this.setStageSize();\n this.stageRight();\n this.animate(this.getTransformRight());\n });\n }\n\n /** Mirrors `shape('flip over')`. */\n public flipOver(): void {\n this.runFlip('flip over', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformOver());\n });\n }\n\n /** Mirrors `shape('flip back')`. */\n public flipBack(): void {\n this.runFlip('flip back', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformBack());\n });\n }\n\n /**\n * Mirrors `shape('set next side', selector)` — `selector` is evaluated against the shape root\n * (each projected `.side` element).\n */\n public setNextSide(selector: string): void {\n const sides = this.sideList.toArray();\n const matched = sides.filter((s) => s.nativeElement.matches(selector));\n if (matched.length === 0) {\n this.setDefaultSide();\n return;\n }\n this.nextSide = matched[0];\n this.manualNextIndex = sides.indexOf(this.nextSide);\n }\n\n /** Mirrors `shape('is animating')`. */\n public isAnimating(): boolean {\n return this.animating;\n }\n\n /** Mirrors `shape('reset')` — clears inline animation styles. */\n public reset(): void {\n this.animating = false;\n this.shapeInlineStyle = {};\n this.sidesInlineStyle = {};\n for (const side of this.sideList.toArray()) {\n side.styleHidden = false;\n side.styleAnimating = false;\n side.clearInlineStyles();\n }\n this.cdr.markForCheck();\n }\n\n /** Mirrors `shape('repaint')` — forces layout. */\n public repaint(): void {\n const el = this.sidesEl?.nativeElement;\n if (el) {\n void el.offsetWidth;\n }\n }\n\n /** Mirrors `shape('refresh')` — re-syncs cached side references. */\n public refresh(): void {\n this.setDefaultSide();\n }\n\n /** Dispatches a named flip (useful when mirroring jQuery string APIs). */\n public flip(behavior: SuiShapeFlip): void {\n switch (behavior) {\n case 'flip up':\n this.flipUp();\n break;\n case 'flip down':\n this.flipDown();\n break;\n case 'flip left':\n this.flipLeft();\n break;\n case 'flip right':\n this.flipRight();\n break;\n case 'flip over':\n this.flipOver();\n break;\n case 'flip back':\n this.flipBack();\n break;\n }\n }\n\n private runFlip(name: SuiShapeFlip, run: () => void): void {\n if (this.sideList.length < 2) {\n return;\n }\n this.setDefaultSide();\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n if (this.isComplete() && !this.animating && !this.suiAllowRepeats) {\n return;\n }\n if (!this.animating) {\n run();\n } else {\n this.queue.push(name);\n }\n }\n\n private isComplete(): boolean {\n return this.activeSide !== null && this.nextSide !== null && this.activeSide === this.nextSide;\n }\n\n private ensureFirstSideActive(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n return;\n }\n if (!sides.some((s) => s.styleActive)) {\n sides[0].styleActive = true;\n }\n }\n\n private setDefaultSide(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n this.activeSide = null;\n this.nextSide = null;\n return;\n }\n const activeIdx = sides.findIndex((s) => s.styleActive);\n this.activeSide = activeIdx >= 0 ? sides[activeIdx] : sides[0];\n if (this.manualNextIndex !== null && this.manualNextIndex >= 0 && this.manualNextIndex < sides.length) {\n this.nextSide = sides[this.manualNextIndex];\n } else {\n const idx = sides.indexOf(this.activeSide);\n this.nextSide = idx < sides.length - 1 ? sides[idx + 1] : sides[0];\n }\n }\n\n private applyDurationToSides(): void {\n if (this.suiDuration === null || this.suiDuration === undefined) {\n return;\n }\n const d = `${this.suiDuration}ms`;\n const style = {\n transitionDuration: d,\n WebkitTransitionDuration: d,\n MozTransitionDuration: d,\n OTransitionDuration: d\n };\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...style };\n for (const side of this.sideList.toArray()) {\n side.inlineStyles = { ...side.inlineStyles, ...style };\n }\n }\n\n private setStageSize(): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const shape = this.shapeEl.nativeElement;\n const wMode = this.suiWidth;\n const hMode = this.suiHeight;\n let newWidth: number;\n let newHeight: number;\n if (wMode === 'next') {\n newWidth = outerWidthWithMargins(this.nextSide.nativeElement);\n } else if (wMode === 'initial') {\n newWidth = shape.offsetWidth;\n } else {\n newWidth = wMode;\n }\n if (hMode === 'next') {\n newHeight = outerHeightWithMargins(this.nextSide.nativeElement);\n } else if (hMode === 'initial') {\n newHeight = shape.offsetHeight;\n } else {\n newHeight = hMode;\n }\n this.shapeInlineStyle = {\n ...this.shapeInlineStyle,\n width: `${newWidth + this.suiJitter}px`,\n height: `${newHeight + this.suiJitter}px`\n };\n }\n\n private animate(finalSidesTransform: Record<string, string>): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const $active = this.activeSide;\n const $next = this.nextSide;\n this.suiBeforeChange.emit($next);\n\n const sidesEl = this.sidesEl.nativeElement;\n const onEnd = () => {\n this.zone.run(() => {\n this.finishAnimation();\n });\n };\n\n // Defer DOM-facing state to the next task so callers do not hit NG0100 when flipping from tests or templates.\n setTimeout(() => {\n this.zone.run(() => {\n this.animating = true;\n sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...finalSidesTransform };\n $active.styleHidden = true;\n this.cdr.markForCheck();\n });\n });\n }\n\n private finishAnimation(): void {\n this.reset();\n this.setActive();\n this.processQueue();\n this.cdr.markForCheck();\n }\n\n private setActive(): void {\n const sides = this.sideList.toArray();\n if (!this.nextSide) {\n return;\n }\n for (const s of sides) {\n s.styleActive = false;\n }\n this.nextSide.styleActive = true;\n this.suiOnChange.emit(this.nextSide);\n this.manualNextIndex = null;\n this.setDefaultSide();\n }\n\n private processQueue(): void {\n const next = this.queue.shift();\n if (next) {\n this.flip(next);\n }\n }\n\n private getTransformUp(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(-90deg)`\n };\n }\n\n private getTransformDown(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(90deg)`\n };\n }\n\n private getTransformLeft(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(90deg)`\n };\n }\n\n private getTransformRight(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(-90deg)`\n };\n }\n\n private getTransformOver(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(180deg)`\n };\n }\n\n private getTransformBack(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(-180deg)`\n };\n }\n\n private stageAbove(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBelow(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageLeft(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageRight(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBehind(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: 'rotateY(0deg)'\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: 'rotateY(-180deg)'\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuiShapeComponent } from './shape.component';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\n@NgModule({\n imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],\n exports: [SuiShapeComponent, SuiShapeSideComponent]\n})\nexport class SuiShapeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-shape.mjs","sources":["../../src/modules/shape/shape-side.component.ts","../../src/modules/shape/shape.component.ts","../../src/modules/shape/shape.module.ts","../../src/modules/shape/ngx-semantic-modules-shape.ts"],"sourcesContent":["/**\n * One face of a `sui-shape`. The host element itself is the Semantic UI `.side`, so it sits directly inside\n * `.sides` and takes part in the shape's 3D rendering context (an extra wrapper element would flatten it).\n */\n\nimport { Component, ElementRef, HostBinding, ViewEncapsulation, inject } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'sui-shape-side',\n exportAs: 'suiShapeSide',\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-content></ng-content>\n `\n})\nexport class SuiShapeSideComponent {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.active`. */\n @HostBinding('class.active') public styleActive = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.hidden`. */\n @HostBinding('class.hidden') public styleHidden = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.animating`. */\n @HostBinding('class.animating') public styleAnimating = false;\n /** Inline styles applied during 3D animation (transform, top, left). */\n @HostBinding('style') public inlineStyles: Record<string, string | null> = {};\n\n @HostBinding('class.side') protected readonly sideClass = true;\n\n public get nativeElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n public clearInlineStyles(): void {\n this.inlineStyles = {};\n }\n}\n","/**\n * Semantic UI [Shape](https://semantic-ui.com/modules/shape.html) module — Angular port of the\n * jQuery `$.fn.shape` behavior (3D CSS transforms). Include Semantic UI’s shape CSS in your app.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, QueryList, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\nexport type SuiShapeDimension = 'initial' | 'next' | number;\nexport type SuiShapeFlip =\n | 'flip up'\n | 'flip down'\n | 'flip left'\n | 'flip right'\n | 'flip over'\n | 'flip back';\n\nfunction outerHeightWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n}\n\nfunction outerWidthWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.width + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n}\n\nfunction getTransitionEventName(): string {\n const el = document.createElement('div');\n const transitions: Record<string, string> = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd'\n };\n for (const key of Object.keys(transitions)) {\n if ((el.style as unknown as Record<string, string>)[key] !== undefined) {\n return transitions[key];\n }\n }\n return 'transitionend';\n}\n\n@Component({\n standalone: true,\n imports: [CommonModule, SuiShapeSideComponent],\n selector: 'sui-shape',\n exportAs: 'suiShape',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #shapeEl\n class=\"ui shape\"\n [class.animating]=\"animating\"\n [class.cube]=\"suiCube\"\n [class.text]=\"suiText\"\n [ngStyle]=\"shapeInlineStyle\">\n <div #sidesEl class=\"sides\" [ngStyle]=\"sidesInlineStyle\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class SuiShapeComponent implements AfterContentInit, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly zone = inject(NgZone);\n\n @ContentChildren(SuiShapeSideComponent) private sideList!: QueryList<SuiShapeSideComponent>;\n @ViewChild('shapeEl', { static: true }) private shapeEl!: ElementRef<HTMLElement>;\n @ViewChild('sidesEl', { static: true }) private sidesEl!: ElementRef<HTMLElement>;\n\n /** Animation length in ms. `null` skips inline `transition-duration` (Semantic UI CSS defaults). */\n @Input() public suiDuration: number | null = null;\n /** Width during animation: initial size, next side’s size, or a fixed pixel width. */\n @Input() public suiWidth: SuiShapeDimension = 'initial';\n /** Height during animation: initial size, next side’s size, or a fixed pixel height. */\n @Input() public suiHeight: SuiShapeDimension = 'initial';\n /** Pixel fudge for 2D/3D rounding (matches Semantic UI `jitter`). */\n @Input() public suiJitter = 0;\n /** When false, flipping to the already-visible side is ignored. */\n @Input() @InputBoolean() public suiAllowRepeats = false;\n /** Adds the `cube` class (Semantic UI cube layout). */\n @Input() @InputBoolean() public suiCube = false;\n /** Adds the `text` class (Semantic UI text shape layout). */\n @Input() @InputBoolean() public suiText = false;\n\n @Output() public readonly suiBeforeChange = new EventEmitter<SuiShapeSideComponent>();\n @Output() public readonly suiOnChange = new EventEmitter<SuiShapeSideComponent>();\n\n public animating = false;\n public shapeInlineStyle: Record<string, string | null> = {};\n public sidesInlineStyle: Record<string, string | null> = {};\n\n private readonly transitionEnd = getTransitionEventName();\n private activeSide: SuiShapeSideComponent | null = null;\n private nextSide: SuiShapeSideComponent | null = null;\n private manualNextIndex: number | null = null;\n private readonly queue: SuiShapeFlip[] = [];\n private sidesChangeSub: { unsubscribe(): void } | null = null;\n\n public ngAfterContentInit(): void {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.sidesChangeSub = this.sideList.changes.subscribe(() => {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.cdr.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.sidesChangeSub?.unsubscribe();\n }\n\n /** Mirrors `shape('flip up')`. */\n public flipUp(): void {\n this.runFlip('flip up', () => {\n this.setStageSize();\n this.stageAbove();\n this.animate(this.getTransformUp());\n });\n }\n\n /** Mirrors `shape('flip down')`. */\n public flipDown(): void {\n this.runFlip('flip down', () => {\n this.setStageSize();\n this.stageBelow();\n this.animate(this.getTransformDown());\n });\n }\n\n /** Mirrors `shape('flip left')`. */\n public flipLeft(): void {\n this.runFlip('flip left', () => {\n this.setStageSize();\n this.stageLeft();\n this.animate(this.getTransformLeft());\n });\n }\n\n /** Mirrors `shape('flip right')`. */\n public flipRight(): void {\n this.runFlip('flip right', () => {\n this.setStageSize();\n this.stageRight();\n this.animate(this.getTransformRight());\n });\n }\n\n /** Mirrors `shape('flip over')`. */\n public flipOver(): void {\n this.runFlip('flip over', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformOver());\n });\n }\n\n /** Mirrors `shape('flip back')`. */\n public flipBack(): void {\n this.runFlip('flip back', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformBack());\n });\n }\n\n /**\n * Mirrors `shape('set next side', selector)` — `selector` is evaluated against the shape root\n * (each projected `.side` element).\n */\n public setNextSide(selector: string): void {\n const sides = this.sideList.toArray();\n const matched = sides.filter((s) => s.nativeElement.matches(selector));\n if (matched.length === 0) {\n this.setDefaultSide();\n return;\n }\n this.nextSide = matched[0];\n this.manualNextIndex = sides.indexOf(this.nextSide);\n }\n\n /** Mirrors `shape('is animating')`. */\n public isAnimating(): boolean {\n return this.animating;\n }\n\n /** Mirrors `shape('reset')` — clears inline animation styles. */\n public reset(): void {\n this.animating = false;\n this.shapeInlineStyle = {};\n this.sidesInlineStyle = {};\n for (const side of this.sideList.toArray()) {\n side.styleHidden = false;\n side.styleAnimating = false;\n side.clearInlineStyles();\n }\n this.cdr.markForCheck();\n }\n\n /** Mirrors `shape('repaint')` — forces layout. */\n public repaint(): void {\n const el = this.sidesEl?.nativeElement;\n if (el) {\n void el.offsetWidth;\n }\n }\n\n /** Mirrors `shape('refresh')` — re-syncs cached side references. */\n public refresh(): void {\n this.setDefaultSide();\n }\n\n /** Dispatches a named flip (useful when mirroring jQuery string APIs). */\n public flip(behavior: SuiShapeFlip): void {\n switch (behavior) {\n case 'flip up':\n this.flipUp();\n break;\n case 'flip down':\n this.flipDown();\n break;\n case 'flip left':\n this.flipLeft();\n break;\n case 'flip right':\n this.flipRight();\n break;\n case 'flip over':\n this.flipOver();\n break;\n case 'flip back':\n this.flipBack();\n break;\n }\n }\n\n private runFlip(name: SuiShapeFlip, run: () => void): void {\n if (this.sideList.length < 2) {\n return;\n }\n this.setDefaultSide();\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n if (this.isComplete() && !this.animating && !this.suiAllowRepeats) {\n return;\n }\n if (!this.animating) {\n run();\n } else {\n this.queue.push(name);\n }\n }\n\n private isComplete(): boolean {\n return this.activeSide !== null && this.nextSide !== null && this.activeSide === this.nextSide;\n }\n\n private ensureFirstSideActive(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n return;\n }\n if (!sides.some((s) => s.styleActive)) {\n sides[0].styleActive = true;\n }\n }\n\n private setDefaultSide(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n this.activeSide = null;\n this.nextSide = null;\n return;\n }\n const activeIdx = sides.findIndex((s) => s.styleActive);\n this.activeSide = activeIdx >= 0 ? sides[activeIdx] : sides[0];\n if (this.manualNextIndex !== null && this.manualNextIndex >= 0 && this.manualNextIndex < sides.length) {\n this.nextSide = sides[this.manualNextIndex];\n } else {\n const idx = sides.indexOf(this.activeSide);\n this.nextSide = idx < sides.length - 1 ? sides[idx + 1] : sides[0];\n }\n }\n\n private applyDurationToSides(): void {\n if (this.suiDuration === null || this.suiDuration === undefined) {\n return;\n }\n const d = `${this.suiDuration}ms`;\n const style = {\n transitionDuration: d,\n WebkitTransitionDuration: d,\n MozTransitionDuration: d,\n OTransitionDuration: d\n };\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...style };\n for (const side of this.sideList.toArray()) {\n side.inlineStyles = { ...side.inlineStyles, ...style };\n }\n }\n\n private setStageSize(): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const shape = this.shapeEl.nativeElement;\n const wMode = this.suiWidth;\n const hMode = this.suiHeight;\n let newWidth: number;\n let newHeight: number;\n if (wMode === 'next') {\n newWidth = outerWidthWithMargins(this.nextSide.nativeElement);\n } else if (wMode === 'initial') {\n newWidth = shape.offsetWidth;\n } else {\n newWidth = wMode;\n }\n if (hMode === 'next') {\n newHeight = outerHeightWithMargins(this.nextSide.nativeElement);\n } else if (hMode === 'initial') {\n newHeight = shape.offsetHeight;\n } else {\n newHeight = hMode;\n }\n this.shapeInlineStyle = {\n ...this.shapeInlineStyle,\n width: `${newWidth + this.suiJitter}px`,\n height: `${newHeight + this.suiJitter}px`\n };\n }\n\n private animate(finalSidesTransform: Record<string, string>): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const $active = this.activeSide;\n const $next = this.nextSide;\n this.suiBeforeChange.emit($next);\n\n const sidesEl = this.sidesEl.nativeElement;\n const onEnd = (event: Event) => {\n // side opacity transitions bubble up from the children; only the sides transform ends the flip\n if (event.target !== sidesEl) {\n sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });\n return;\n }\n this.zone.run(() => {\n this.finishAnimation();\n });\n };\n\n // Defer DOM-facing state to the next task so callers do not hit NG0100 when flipping from tests or templates.\n setTimeout(() => {\n this.zone.run(() => {\n this.animating = true;\n sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...finalSidesTransform };\n $active.styleHidden = true;\n this.cdr.markForCheck();\n });\n });\n }\n\n private finishAnimation(): void {\n this.reset();\n this.setActive();\n this.processQueue();\n this.cdr.markForCheck();\n }\n\n private setActive(): void {\n const sides = this.sideList.toArray();\n if (!this.nextSide) {\n return;\n }\n for (const s of sides) {\n s.styleActive = false;\n }\n this.nextSide.styleActive = true;\n this.suiOnChange.emit(this.nextSide);\n this.manualNextIndex = null;\n this.setDefaultSide();\n }\n\n private processQueue(): void {\n const next = this.queue.shift();\n if (next) {\n this.flip(next);\n }\n }\n\n private getTransformUp(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(-90deg)`\n };\n }\n\n private getTransformDown(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(90deg)`\n };\n }\n\n private getTransformLeft(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(90deg)`\n };\n }\n\n private getTransformRight(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(-90deg)`\n };\n }\n\n private getTransformOver(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(180deg)`\n };\n }\n\n private getTransformBack(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(-180deg)`\n };\n }\n\n private stageAbove(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBelow(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageLeft(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageRight(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBehind(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: 'rotateY(0deg)'\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: 'rotateY(-180deg)'\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuiShapeComponent } from './shape.component';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\n@NgModule({\n imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],\n exports: [SuiShapeComponent, SuiShapeSideComponent]\n})\nexport class SuiShapeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAAA;;;AAGG;MAaU,qBAAqB,CAAA;AATlC,IAAA,WAAA,GAAA;AAUmB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC;;QAGlC,IAAA,CAAA,WAAW,GAAG,KAAK;;QAEnB,IAAA,CAAA,WAAW,GAAG,KAAK;;QAEhB,IAAA,CAAA,cAAc,GAAG,KAAK;;QAEhC,IAAA,CAAA,YAAY,GAAkC,EAAE;QAE/B,IAAA,CAAA,SAAS,GAAG,IAAI;AAS/D,IAAA;AAPC,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;IACnC;IAEO,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;IACxB;+GApBW,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,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJtB;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;oBACxB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE;;AAET,EAAA;AACF,iBAAA;;sBAKE,WAAW;uBAAC,cAAc;;sBAE1B,WAAW;uBAAC,cAAc;;sBAE1B,WAAW;uBAAC,iBAAiB;;sBAE7B,WAAW;uBAAC,OAAO;;sBAEnB,WAAW;uBAAC,YAAY;;;ACT3B,SAAS,sBAAsB,CAAC,EAAe,EAAA;AAC7C,IAAA,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE;AACvC,IAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC;AAClC,IAAA,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;AACnF;AAEA,SAAS,qBAAqB,CAAC,EAAe,EAAA;AAC5C,IAAA,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE;AACvC,IAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC;AAClC,IAAA,OAAO,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;AAClF;AAEA,SAAS,sBAAsB,GAAA;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACxC,IAAA,MAAM,WAAW,GAA2B;AAC1C,QAAA,UAAU,EAAE,eAAe;AAC3B,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,aAAa,EAAE,eAAe;AAC9B,QAAA,gBAAgB,EAAE;KACnB;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAC1C,IAAK,EAAE,CAAC,KAA2C,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACtE,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC;QACzB;IACF;AACA,IAAA,OAAO,eAAe;AACxB;MAsBa,iBAAiB,CAAA;AApB9B,IAAA,WAAA,GAAA;AAqBmB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;;QAOtB,IAAA,CAAA,WAAW,GAAkB,IAAI;;QAEjC,IAAA,CAAA,QAAQ,GAAsB,SAAS;;QAEvC,IAAA,CAAA,SAAS,GAAsB,SAAS;;QAExC,IAAA,CAAA,SAAS,GAAG,CAAC;;QAEG,IAAA,CAAA,eAAe,GAAG,KAAK;;QAEvB,IAAA,CAAA,OAAO,GAAG,KAAK;;QAEf,IAAA,CAAA,OAAO,GAAG,KAAK;AAErB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAyB;AAC3D,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAyB;QAE1E,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,gBAAgB,GAAkC,EAAE;QACpD,IAAA,CAAA,gBAAgB,GAAkC,EAAE;QAE1C,IAAA,CAAA,aAAa,GAAG,sBAAsB,EAAE;QACjD,IAAA,CAAA,UAAU,GAAiC,IAAI;QAC/C,IAAA,CAAA,QAAQ,GAAiC,IAAI;QAC7C,IAAA,CAAA,eAAe,GAAkB,IAAI;QAC5B,IAAA,CAAA,KAAK,GAAmB,EAAE;QACnC,IAAA,CAAA,cAAc,GAAmC,IAAI;AA0d9D,IAAA;IAxdQ,kBAAkB,GAAA;QACvB,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACzD,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,QAAA,CAAC,CAAC;IACJ;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE;IACpC;;IAGO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAK;YAC3B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;;IAGO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAK;YAC7B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;;IAGO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAK;YAC7B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;;IAGO,SAAS,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAK;YAC9B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;;IAGO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAK;YAC7B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;;IAGO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAK;YAC7B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;AAEA;;;AAGG;AACI,IAAA,WAAW,CAAC,QAAgB,EAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtE,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,cAAc,EAAE;YACrB;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrD;;IAGO,WAAW,GAAA;QAChB,OAAO,IAAI,CAAC,SAAS;IACvB;;IAGO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC3B,IAAI,CAAC,iBAAiB,EAAE;QAC1B;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;;IAGO,OAAO,GAAA;AACZ,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa;QACtC,IAAI,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,WAAW;QACrB;IACF;;IAGO,OAAO,GAAA;QACZ,IAAI,CAAC,cAAc,EAAE;IACvB;;AAGO,IAAA,IAAI,CAAC,QAAsB,EAAA;QAChC,QAAQ,QAAQ;AACd,YAAA,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,EAAE;gBACb;AACF,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,EAAE;gBACf;AACF,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,EAAE;gBACf;AACF,YAAA,KAAK,YAAY;gBACf,IAAI,CAAC,SAAS,EAAE;gBAChB;AACF,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,EAAE;gBACf;AACF,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,EAAE;gBACf;;IAEN;IAEQ,OAAO,CAAC,IAAkB,EAAE,GAAe,EAAA;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B;QACF;QACA,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC;QACF;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACjE;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,GAAG,EAAE;QACP;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB;IACF;IAEQ,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ;IAChG;IAEQ,qBAAqB,GAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB;QACF;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE;AACrC,YAAA,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI;QAC7B;IACF;IAEQ,cAAc,GAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB;QACF;AACA,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE;YACrG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C;aAAO;YACL,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACpE;IACF;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAC/D;QACF;AACA,QAAA,MAAM,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,IAAI;AACjC,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,kBAAkB,EAAE,CAAC;AACrB,YAAA,wBAAwB,EAAE,CAAC;AAC3B,YAAA,qBAAqB,EAAE,CAAC;AACxB,YAAA,mBAAmB,EAAE;SACtB;AACD,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,EAAE;QAC9D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,EAAE;QACxD;IACF;IAEQ,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC;QACF;AACA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;AAC3B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS;AAC5B,QAAA,IAAI,QAAgB;AACpB,QAAA,IAAI,SAAiB;AACrB,QAAA,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/D;AAAO,aAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,QAAQ,GAAG,KAAK,CAAC,WAAW;QAC9B;aAAO;YACL,QAAQ,GAAG,KAAK;QAClB;AACA,QAAA,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjE;AAAO,aAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,SAAS,GAAG,KAAK,CAAC,YAAY;QAChC;aAAO;YACL,SAAS,GAAG,KAAK;QACnB;QACA,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;AACxB,YAAA,KAAK,EAAE,CAAA,EAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA,EAAA,CAAI;AACvC,YAAA,MAAM,EAAE,CAAA,EAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA,EAAA;SACtC;IACH;AAEQ,IAAA,OAAO,CAAC,mBAA2C,EAAA;QACzD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC;QACF;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAEhC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,QAAA,MAAM,KAAK,GAAG,CAAC,KAAY,KAAI;;AAE7B,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;AAC5B,gBAAA,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACnE;YACF;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;gBACjB,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;;QAGD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,gBAAA,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,mBAAmB,EAAE;AAC5E,gBAAA,OAAO,CAAC,WAAW,GAAG,IAAI;AAC1B,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,eAAe,GAAA;QACrB,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEQ,SAAS,GAAA;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB;QACF;AACA,QAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACrB,YAAA,CAAC,CAAC,WAAW,GAAG,KAAK;QACvB;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC3B,IAAI,CAAC,cAAc,EAAE;IACvB;IAEQ,YAAY,GAAA;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;QAC/B,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;IACF;IAEQ,cAAc,GAAA;AACpB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,sBAAsB,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACjF,MAAM,UAAU,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,CAAC;QAClD,OAAO;AACL,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,mBAAA;SAChE;IACH;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,sBAAsB,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACjF,MAAM,UAAU,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,CAAC;QAClD,OAAO;AACL,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,kBAAA;SAChE;IACH;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC;QACjD,OAAO;AACL,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,kBAAA;SAChE;IACH;IAEQ,iBAAiB,GAAA;AACvB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC;QACjD,OAAO;AACL,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,mBAAA;SAChE;IACH;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAC/E,OAAO;YACL,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,mBAAA;SACpC;IACH;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa;AACzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa;AACvC,QAAA,MAAM,UAAU,GAAG,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAC/E,OAAO;YACL,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,CAAA,oBAAA;SACpC;IACH;IAEQ,UAAU,GAAA;AAChB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW;AAC3B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS;QACzB,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC5B,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;AAC1B,QAAA,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;YACxB,SAAS,EAAE,CAAA,YAAA,EAAe,WAAW,CAAA,GAAA;SACtC;QACD,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,SAAS,EAAE,CAAA,yBAAA,EAA4B,WAAW,CAAA,GAAA;SACnD;AACD,QAAA,EAAE,CAAC,cAAc,GAAG,IAAI;QACxB,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,GAAG,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;YAClB,SAAS,EAAE,CAAA,0BAAA,EAA6B,SAAS,CAAA,GAAA;SAClD;IACH;IAEQ,UAAU,GAAA;AAChB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW;AAC3B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS;QACzB,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC5B,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;AAC1B,QAAA,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;YACxB,SAAS,EAAE,CAAA,YAAA,EAAe,WAAW,CAAA,GAAA;SACtC;QACD,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,SAAS,EAAE,CAAA,yBAAA,EAA4B,WAAW,CAAA,GAAA;SACnD;AACD,QAAA,EAAE,CAAC,cAAc,GAAG,IAAI;QACxB,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,GAAG,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;YAClB,SAAS,EAAE,CAAA,2BAAA,EAA8B,SAAS,CAAA,GAAA;SACnD;IACH;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW;AAC3B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS;QACzB,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC5B,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;AAC1B,QAAA,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;YACxB,SAAS,EAAE,CAAA,YAAA,EAAe,WAAW,CAAA,GAAA;SACtC;QACD,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,SAAS,EAAE,CAAA,yBAAA,EAA4B,WAAW,CAAA,GAAA;SACnD;AACD,QAAA,EAAE,CAAC,cAAc,GAAG,IAAI;QACxB,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,IAAI,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;YACnB,SAAS,EAAE,CAAA,2BAAA,EAA8B,SAAS,CAAA,GAAA;SACnD;IACH;IAEQ,UAAU,GAAA;AAChB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW;AAC3B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS;QACzB,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC5B,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;AAC1B,QAAA,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;YACxB,SAAS,EAAE,CAAA,YAAA,EAAe,WAAW,CAAA,GAAA;SACtC;QACD,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,SAAS,EAAE,CAAA,yBAAA,EAA4B,WAAW,CAAA,GAAA;SACnD;AACD,QAAA,EAAE,CAAC,cAAc,GAAG,IAAI;QACxB,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,IAAI,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;YACnB,SAAS,EAAE,CAAA,0BAAA,EAA6B,SAAS,CAAA,GAAA;SAClD;IACH;IAEQ,WAAW,GAAA;AACjB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAW;AAC3B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS;QACzB,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;QAE5B,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;AAClB,YAAA,SAAS,EAAE;SACZ;AACD,QAAA,EAAE,CAAC,cAAc,GAAG,IAAI;QACxB,EAAE,CAAC,YAAY,GAAG;YAChB,GAAG,EAAE,CAAC,YAAY;YAClB,IAAI,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;AACnB,YAAA,SAAS,EAAE;SACZ;IACH;+GA5fW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAIX,qBAAqB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlB5B;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhBS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAmCU,UAAA,CAAA;AAAtB,IAAA,YAAY;AAAkC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA;AAExB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA0B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAEhB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA0B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;4FArBrC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApB7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;AAC9C,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,UAAU;oBACpB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;AAYT,EAAA;AACF,iBAAA;;sBAKE,eAAe;uBAAC,qBAAqB;;sBACrC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACrC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAGrC;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBACA;;;MClFU,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,OAAA,EAAA,CAHf,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACtD,iBAAiB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;gHAEvC,cAAc,EAAA,OAAA,EAAA,CAHf,YAAY,EAAE,iBAAiB,CAAA,EAAA,CAAA,CAAA;;4FAG9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;AACjE,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB;AACnD,iBAAA;;;ACRD;;AAEG;;;;"}
|