ngx-semantic 2.0.7-beta.1 → 2.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -18
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -13
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-form.mjs +18 -17
- package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-grid.mjs +13 -13
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +28 -19
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +16 -16
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +16 -16
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +3 -3
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-button.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-flag.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-input.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs +19 -19
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +13 -13
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +19 -19
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-accordion.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +26 -17
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs +19 -19
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-embed.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +16 -16
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-popup.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-progress.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-search.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +13 -13
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +16 -16
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
- package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
- package/fesm2022/ngx-semantic-modules-visibility.mjs +525 -0
- package/fesm2022/ngx-semantic-modules-visibility.mjs.map +1 -0
- package/fesm2022/ngx-semantic-views-advertisement.mjs +7 -7
- package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +28 -28
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs +31 -31
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-feed.mjs +28 -28
- package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-items.mjs +28 -28
- package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
- package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
- package/fesm2022/ngx-semantic.mjs +21 -9
- package/fesm2022/ngx-semantic.mjs.map +1 -1
- package/modules/transition/package.json +4 -0
- package/modules/visibility/package.json +4 -0
- package/package.json +9 -1
- package/types/ngx-semantic-modules-transition.d.ts +107 -0
- package/types/ngx-semantic-modules-visibility.d.ts +124 -0
- package/types/ngx-semantic.d.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-search.mjs","sources":["../../src/modules/search/search.component.ts","../../src/modules/search/search.module.ts","../../src/modules/search/ngx-semantic-modules-search.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SuiInputDirective } from 'ngx-semantic/elements/input';\nimport { SuiIconDirective } from 'ngx-semantic/elements/icon';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { ISearchOption } from './interfaces/ISearchOption';\n\nexport type SuiSearchAlignment = 'right' | null;\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiInputDirective, SuiIconDirective],\n selector: 'sui-search',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div [ngClass]=\"classes\">\n @if (isSimple) {\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (!isSimple) {\n <div sui-input\n suiIcon=\"icon\">\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n <i sui-icon\n suiIconType=\"search\"></i>\n </div>\n }\n\n <div class=\"results transition\"\n [class.visible]=\"isOpen\"\n [class.hidden]=\"!isOpen\"\n style=\"display: block !important;\">\n @if (!hasCategories) {\n @for (option of filteredOptions; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n }\n\n @if (hasCategories) {\n @for (category of optionsByCategory | keyvalue; track category.key) {\n <div class=\"category\">\n <div class=\"name\">\n {{category.key}}\n </div>\n <div class=\"results\">\n @for (option of category.value; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #input>\n <input class=\"prompt\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"suiPlaceholder\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onFocus()\"\n (keyup)=\"onSearch()\"/>\n </ng-template>\n\n <ng-template #result let-option='option'>\n <a class=\"result\"\n (click)=\"optionClicked(option)\">\n <div class=\"content\">\n <div class=\"title\">\n {{option.title}}\n </div>\n\n @if (option.description) {\n <div class=\"description\">\n {{option.description}}\n </div>\n }\n </div>\n </a>\n </ng-template>\n `\n})\nexport class SuiSearchComponent {\n @Output() public suiResultSelected = new EventEmitter<ISearchOption>();\n @Input() public suiOptionsLookup?: (query: string) => Promise<ISearchOption[]>;\n @Input() public suiOptions: ISearchOption[] = [];\n @Input() public suiAlignment: SuiSearchAlignment = null;\n @Input() public suiPlaceholder: string | null = null;\n @Input() public suiSearchDelay = 200;\n @Input() @InputBoolean() public suiShowIcon = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiLoading = false;\n\n // field to track whether there has been an outside click\n private isInsideClick = false;\n private isLoading = false;\n private isFocused = false;\n public isOpen = false;\n public searchTerm = '';\n public filteredOptions: ISearchOption[] = [];\n public selectedOption: ISearchOption | undefined = undefined;\n\n get classes(): string {\n return [\n 'ui',\n this.suiAlignment,\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiLoading || this.isLoading, 'loading'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n 'search',\n ClassUtils.getPropClass(this.hasCategories, 'category'),\n ClassUtils.getPropClass(this.isFocused, 'focus')\n ].join(' ');\n }\n\n get hasCategories(): boolean {\n return this.suiOptions.some((x) => !!x.category);\n }\n\n get optionsByCategory(): any {\n return this.filteredOptions\n .reduce((option, a) => {\n const category = a.category || '(None)';\n option[category] = option[category] || [];\n option[category].push(a);\n return option;\n }, Object.create(null));\n }\n\n get isSimple(): boolean {\n if (this.suiLoading) {\n return false;\n }\n\n return !this.suiShowIcon;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isInsideClick = true;\n }\n\n @HostListener('document:click')\n public onPageClick(): void {\n if (!this.isInsideClick) {\n this.isOpen = false;\n }\n\n this.isInsideClick = false;\n }\n\n public onSearch(): void {\n this.isLoading = true;\n\n setTimeout(() => {\n // if there is a lookup function, then use that\n if (this.suiOptionsLookup) {\n this.suiOptionsLookup(this.searchTerm)\n .then((results) => {\n this.filteredOptions = results;\n\n // indicate search is complete\n this.isLoading = false;\n })\n .catch((err) => {\n console.error(err);\n this.filteredOptions = [];\n\n // indicate search is complete\n this.isLoading = false;\n });\n } else {\n // limit the options displayed\n this.filteredOptions = this.suiOptions\n .filter((x) => x.title.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n\n // indicate search is complete\n this.isLoading = false;\n }\n\n this.isOpen = this.filteredOptions.length > 0;\n }, this.suiSearchDelay);\n }\n\n public onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('onfocusout')\n public onUnfocus(): void {\n this.isOpen = false;\n this.isFocused = false;\n }\n\n public optionClicked(option: ISearchOption): void {\n this.searchTerm = option.title;\n this.selectedOption = option;\n this.suiResultSelected.emit(option);\n this.isOpen = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSearchComponent } from './search.component';\n\n@NgModule({\n imports: [\n SuiSearchComponent\n ],\n exports: [\n SuiSearchComponent\n ]\n})\nexport class SuiSearchModule {\n}\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-search.mjs","sources":["../../src/modules/search/search.component.ts","../../src/modules/search/search.module.ts","../../src/modules/search/ngx-semantic-modules-search.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SuiInputDirective } from 'ngx-semantic/elements/input';\nimport { SuiIconDirective } from 'ngx-semantic/elements/icon';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { ISearchOption } from './interfaces/ISearchOption';\n\nexport type SuiSearchAlignment = 'right' | null;\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiInputDirective, SuiIconDirective],\n selector: 'sui-search',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div [ngClass]=\"classes\">\n @if (isSimple) {\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (!isSimple) {\n <div sui-input\n suiIcon=\"icon\">\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n <i sui-icon\n suiIconType=\"search\"></i>\n </div>\n }\n\n <div class=\"results transition\"\n [class.visible]=\"isOpen\"\n [class.hidden]=\"!isOpen\"\n style=\"display: block !important;\">\n @if (!hasCategories) {\n @for (option of filteredOptions; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n }\n\n @if (hasCategories) {\n @for (category of optionsByCategory | keyvalue; track category.key) {\n <div class=\"category\">\n <div class=\"name\">\n {{category.key}}\n </div>\n <div class=\"results\">\n @for (option of category.value; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #input>\n <input class=\"prompt\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"suiPlaceholder\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onFocus()\"\n (keyup)=\"onSearch()\"/>\n </ng-template>\n\n <ng-template #result let-option='option'>\n <a class=\"result\"\n (click)=\"optionClicked(option)\">\n <div class=\"content\">\n <div class=\"title\">\n {{option.title}}\n </div>\n\n @if (option.description) {\n <div class=\"description\">\n {{option.description}}\n </div>\n }\n </div>\n </a>\n </ng-template>\n `\n})\nexport class SuiSearchComponent {\n @Output() public suiResultSelected = new EventEmitter<ISearchOption>();\n @Input() public suiOptionsLookup?: (query: string) => Promise<ISearchOption[]>;\n @Input() public suiOptions: ISearchOption[] = [];\n @Input() public suiAlignment: SuiSearchAlignment = null;\n @Input() public suiPlaceholder: string | null = null;\n @Input() public suiSearchDelay = 200;\n @Input() @InputBoolean() public suiShowIcon = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiLoading = false;\n\n // field to track whether there has been an outside click\n private isInsideClick = false;\n private isLoading = false;\n private isFocused = false;\n public isOpen = false;\n public searchTerm = '';\n public filteredOptions: ISearchOption[] = [];\n public selectedOption: ISearchOption | undefined = undefined;\n\n get classes(): string {\n return [\n 'ui',\n this.suiAlignment,\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiLoading || this.isLoading, 'loading'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n 'search',\n ClassUtils.getPropClass(this.hasCategories, 'category'),\n ClassUtils.getPropClass(this.isFocused, 'focus')\n ].join(' ');\n }\n\n get hasCategories(): boolean {\n return this.suiOptions.some((x) => !!x.category);\n }\n\n get optionsByCategory(): any {\n return this.filteredOptions\n .reduce((option, a) => {\n const category = a.category || '(None)';\n option[category] = option[category] || [];\n option[category].push(a);\n return option;\n }, Object.create(null));\n }\n\n get isSimple(): boolean {\n if (this.suiLoading) {\n return false;\n }\n\n return !this.suiShowIcon;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isInsideClick = true;\n }\n\n @HostListener('document:click')\n public onPageClick(): void {\n if (!this.isInsideClick) {\n this.isOpen = false;\n }\n\n this.isInsideClick = false;\n }\n\n public onSearch(): void {\n this.isLoading = true;\n\n setTimeout(() => {\n // if there is a lookup function, then use that\n if (this.suiOptionsLookup) {\n this.suiOptionsLookup(this.searchTerm)\n .then((results) => {\n this.filteredOptions = results;\n\n // indicate search is complete\n this.isLoading = false;\n })\n .catch((err) => {\n console.error(err);\n this.filteredOptions = [];\n\n // indicate search is complete\n this.isLoading = false;\n });\n } else {\n // limit the options displayed\n this.filteredOptions = this.suiOptions\n .filter((x) => x.title.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n\n // indicate search is complete\n this.isLoading = false;\n }\n\n this.isOpen = this.filteredOptions.length > 0;\n }, this.suiSearchDelay);\n }\n\n public onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('onfocusout')\n public onUnfocus(): void {\n this.isOpen = false;\n this.isFocused = false;\n }\n\n public optionClicked(option: ISearchOption): void {\n this.searchTerm = option.title;\n this.selectedOption = option;\n this.suiResultSelected.emit(option);\n this.isOpen = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSearchComponent } from './search.component';\n\n@NgModule({\n imports: [\n SuiSearchComponent\n ],\n exports: [\n SuiSearchComponent\n ]\n})\nexport class SuiSearchModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -35,13 +35,13 @@ class SuiSelectMenuDirective {
|
|
|
35
35
|
ClassUtils.getPropClass(this.isOpen, 'visible')
|
|
36
36
|
].join(' ');
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SuiSelectMenuDirective, isStandalone: true, selector: "[suiSelectMenu]", inputs: { suiDirection: "suiDirection", suiScrolling: "suiScrolling", suiIsOpen: "suiIsOpen" }, host: { properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, ngImport: i0 }); }
|
|
40
40
|
}
|
|
41
41
|
__decorate([
|
|
42
42
|
InputBoolean()
|
|
43
43
|
], SuiSelectMenuDirective.prototype, "suiScrolling", void 0);
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
standalone: true,
|
|
@@ -75,8 +75,8 @@ class SuiSelectMenuItemDirective {
|
|
|
75
75
|
ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')
|
|
76
76
|
].join(' ');
|
|
77
77
|
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
79
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
79
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SuiSelectMenuItemDirective, isStandalone: true, selector: "[suiSelectMenuItem]", inputs: { suiValue: "suiValue", suiSelected: "suiSelected", suiMultiple: "suiMultiple" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 }); }
|
|
80
80
|
}
|
|
81
81
|
__decorate([
|
|
82
82
|
InputBoolean()
|
|
@@ -84,7 +84,7 @@ __decorate([
|
|
|
84
84
|
__decorate([
|
|
85
85
|
InputBoolean()
|
|
86
86
|
], SuiSelectMenuItemDirective.prototype, "suiMultiple", void 0);
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuItemDirective, decorators: [{
|
|
88
88
|
type: Directive,
|
|
89
89
|
args: [{
|
|
90
90
|
standalone: true,
|
|
@@ -270,8 +270,8 @@ class SuiSelectComponent {
|
|
|
270
270
|
setDisabledState(isDisabled) {
|
|
271
271
|
this.disabled = isDisabled;
|
|
272
272
|
}
|
|
273
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
274
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
273
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
274
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: SuiSelectComponent, isStandalone: true, selector: "sui-select", inputs: { suiPlaceholder: "suiPlaceholder", suiSearch: "suiSearch", suiFluid: "suiFluid", suiInline: "suiInline", suiLoading: "suiLoading", suiError: "suiError", disabled: "disabled", suiScrolling: "suiScrolling", suiCompact: "suiCompact", name: "name", suiMultiple: "suiMultiple", suiOptions: "suiOptions" }, outputs: { suiSelectionChanged: "suiSelectionChanged" }, host: { listeners: { "click": "onClick()" }, properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, providers: [{
|
|
275
275
|
provide: NG_VALUE_ACCESSOR,
|
|
276
276
|
useExisting: forwardRef(() => SuiSelectComponent),
|
|
277
277
|
multi: true
|
|
@@ -398,7 +398,7 @@ __decorate([
|
|
|
398
398
|
__decorate([
|
|
399
399
|
InputBoolean()
|
|
400
400
|
], SuiSelectComponent.prototype, "suiMultiple", void 0);
|
|
401
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectComponent, decorators: [{
|
|
402
402
|
type: Component,
|
|
403
403
|
args: [{
|
|
404
404
|
standalone: true,
|
|
@@ -544,11 +544,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
544
544
|
}] } });
|
|
545
545
|
|
|
546
546
|
class SuiSelectModule {
|
|
547
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
548
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
549
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
548
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent], exports: [SuiSelectComponent] }); }
|
|
549
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent] }); }
|
|
550
550
|
}
|
|
551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, decorators: [{
|
|
552
552
|
type: NgModule,
|
|
553
553
|
args: [{
|
|
554
554
|
exports: [
|
|
@@ -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;8GA9BW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,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;2FAF1C,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;8GAbW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,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;2FAHzC,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;8GApNW,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,QAAA,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;2FAhBzC,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;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,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,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHxB,kBAAkB,CAAA,EAAA,CAAA,CAAA;;2FAGT,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';\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;;;;"}
|
|
@@ -25,8 +25,8 @@ class SuiShapeSideComponent {
|
|
|
25
25
|
clearInlineStyles() {
|
|
26
26
|
this.inlineStyles = {};
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
28
|
+
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", viewQueries: [{ propertyName: "root", first: true, predicate: ["root"], descendants: true, static: true }], ngImport: i0, template: `
|
|
30
30
|
<div
|
|
31
31
|
#root
|
|
32
32
|
class="side"
|
|
@@ -38,7 +38,7 @@ class SuiShapeSideComponent {
|
|
|
38
38
|
</div>
|
|
39
39
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeSideComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{
|
|
44
44
|
standalone: true,
|
|
@@ -549,8 +549,8 @@ class SuiShapeComponent {
|
|
|
549
549
|
transform: 'rotateY(-180deg)'
|
|
550
550
|
};
|
|
551
551
|
}
|
|
552
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
553
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
553
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SuiShapeComponent, isStandalone: true, selector: "sui-shape", inputs: { suiDuration: "suiDuration", suiWidth: "suiWidth", suiHeight: "suiHeight", suiJitter: "suiJitter", suiAllowRepeats: "suiAllowRepeats", suiCube: "suiCube", suiText: "suiText" }, outputs: { suiBeforeChange: "suiBeforeChange", suiOnChange: "suiOnChange" }, queries: [{ propertyName: "sideList", predicate: SuiShapeSideComponent }], viewQueries: [{ propertyName: "shapeEl", first: true, predicate: ["shapeEl"], descendants: true, static: true }, { propertyName: "sidesEl", first: true, predicate: ["sidesEl"], descendants: true, static: true }], exportAs: ["suiShape"], ngImport: i0, template: `
|
|
554
554
|
<div
|
|
555
555
|
#shapeEl
|
|
556
556
|
class="ui shape"
|
|
@@ -573,7 +573,7 @@ __decorate([
|
|
|
573
573
|
__decorate([
|
|
574
574
|
InputBoolean()
|
|
575
575
|
], SuiShapeComponent.prototype, "suiText", void 0);
|
|
576
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeComponent, decorators: [{
|
|
577
577
|
type: Component,
|
|
578
578
|
args: [{
|
|
579
579
|
standalone: true,
|
|
@@ -625,11 +625,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
625
625
|
}] } });
|
|
626
626
|
|
|
627
627
|
class SuiShapeModule {
|
|
628
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
629
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
630
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
628
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
629
|
+
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, SuiShapeSideComponent] }); }
|
|
631
631
|
}
|
|
632
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, decorators: [{
|
|
633
633
|
type: NgModule,
|
|
634
634
|
args: [{
|
|
635
635
|
imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],
|
|
@@ -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`. 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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"}
|