ngx-semantic 2.0.7-beta.0 → 2.0.7-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-form.mjs +987 -16
- package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-grid.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +25 -13
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +20 -20
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +17 -13
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +1 -0
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-util.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-button.mjs +9 -7
- package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-flag.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-input.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +19 -19
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +42 -33
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-embed.mjs +22 -22
- package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +31 -32
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-popup.mjs +22 -23
- package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-progress.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +15 -17
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-search.mjs +34 -34
- package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +87 -88
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +13 -12
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +9 -12
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +30 -30
- 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-views-advertisement.mjs +5 -4
- package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +6 -9
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-feed.mjs +26 -26
- package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-items.mjs +13 -10
- 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 +11 -5
- package/fesm2022/ngx-semantic.mjs.map +1 -1
- package/modules/transition/package.json +4 -0
- package/package.json +5 -1
- package/types/ngx-semantic-collections-breadcrumb.d.ts +4 -17
- package/types/ngx-semantic-collections-form.d.ts +150 -20
- package/types/ngx-semantic-collections-grid.d.ts +4 -17
- package/types/ngx-semantic-collections-menu.d.ts +4 -17
- package/types/ngx-semantic-collections-message.d.ts +1 -3
- package/types/ngx-semantic-collections-table.d.ts +5 -22
- package/types/ngx-semantic-core-base.d.ts +1 -1
- package/types/ngx-semantic-elements-button.d.ts +3 -8
- package/types/ngx-semantic-elements-flag.d.ts +2 -3
- package/types/ngx-semantic-elements-icon.d.ts +1 -2
- package/types/ngx-semantic-elements-image.d.ts +2 -7
- package/types/ngx-semantic-elements-input.d.ts +2 -7
- package/types/ngx-semantic-elements-label.d.ts +2 -7
- package/types/ngx-semantic-elements-segment.d.ts +1 -6
- package/types/ngx-semantic-elements-steps.d.ts +1 -6
- package/types/ngx-semantic-modules-checkbox.d.ts +3 -4
- package/types/ngx-semantic-modules-dimmer.d.ts +2 -3
- package/types/ngx-semantic-modules-embed.d.ts +2 -5
- package/types/ngx-semantic-modules-modal.d.ts +2 -2
- package/types/ngx-semantic-modules-popup.d.ts +2 -4
- package/types/ngx-semantic-modules-rating.d.ts +4 -4
- package/types/ngx-semantic-modules-select.d.ts +1 -2
- package/types/ngx-semantic-modules-shape.d.ts +1 -2
- package/types/ngx-semantic-modules-sidebar.d.ts +1 -15
- package/types/ngx-semantic-modules-sticky.d.ts +1 -2
- package/types/ngx-semantic-modules-transition.d.ts +107 -0
- package/types/ngx-semantic-views-advertisement.d.ts +2 -7
- package/types/ngx-semantic-views-card.d.ts +2 -2
- package/types/ngx-semantic-views-feed.d.ts +2 -11
- package/types/ngx-semantic-views-items.d.ts +4 -9
- package/types/ngx-semantic-views-statistics.d.ts +13 -26
- package/types/ngx-semantic.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-popup.mjs","sources":["../../src/modules/popup/popup.component.ts","../../src/modules/popup/popup.directive.ts","../../src/modules/popup/popup.module.ts","../../src/modules/popup/ngx-semantic-modules-popup.ts"],"sourcesContent":["/**\n * Created by bolorundurowb on 1/16/2021\n */\n\nimport { Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SuiSize } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nimport { SuiPopupPlacement, SuiPopupWidth } from './popup.directive';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-popup',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div style=\"position: unset !important;\"\n [ngClass]=\"classes\">\n <ng-container *ngIf=\"suiTitle\">\n <div class=\"header\">\n {{ suiTitle }}\n </div>\n </ng-container>\n\n <div class=\"content\">\n <ng-container *ngIf=\"isString\">\n {{ suiContent }}\n </ng-container>\n\n <ng-container *ngIf=\"isTemplate\">\n <ng-container *ngTemplateOutlet=\"suiContent\"></ng-container>\n </ng-container>\n </div>\n </div>\n `,\n styleUrls: [ './styles/popup.component.scss' ]\n})\nexport class SuiPopupComponent {\n @Input() public suiPlacement: SuiPopupPlacement | null = null;\n @Input() public suiWidth: SuiPopupWidth | null = null;\n @Input() public suiSize: SuiSize | null = null;\n @Input() public suiTitle: string | null = null;\n @Input() public suiContent: TemplateRef<any> | null = null;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiFlowing = false;\n @Input() @InputBoolean() public suiBasic = false;\n\n get classes(): string {\n return [\n 'ui',\n this.suiWidth,\n this.suiSize,\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiFlowing, 'flowing'),\n 'popup',\n ClassUtils.getPropClass(this.suiBasic, 'basic'),\n this.suiPlacement,\n 'transition',\n 'visible'\n ].join(' ');\n }\n\n get isString(): boolean {\n return typeof this.suiContent === 'string';\n }\n\n get isTemplate(): boolean {\n return this.suiContent instanceof TemplateRef;\n }\n}\n","import { ComponentPortal } from '@angular/cdk/portal';\nimport { ConnectedPosition, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef\n} from '@angular/core';\n\nimport { SuiSize } from 'ngx-semantic/core/enums';\nimport { InputBoolean } from 'ngx-semantic/core/util';\n\nimport { SuiPopupComponent } from './popup.component';\n\nexport type SuiPopupPlacement =\n 'top left'\n | 'top center'\n | 'top right'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'right center'\n | 'left center';\nexport type SuiPopupWidth = 'wide' | 'very wide' | null;\nexport type SuiPopupTrigger = 'hover' | 'click';\n\n@Directive({\n standalone: true,\n selector: '[sui-popup]',\n exportAs: 'suiPopup'\n})\nexport class SuiPopupDirective implements OnInit, OnDestroy {\n @Input() public suiPopupPlacement: SuiPopupPlacement = 'top left';\n @Input() public suiPopupTrigger: SuiPopupTrigger = 'hover';\n @Input() public suiPopupWidth: SuiPopupWidth = null;\n @Input() public suiPopupSize: SuiSize = null;\n @Input() public suiPopupTitle: string | null = null;\n @Input() public suiPopupContent: TemplateRef<any> | null = null;\n @Input() @InputBoolean() public suiPopupInverted = false;\n @Input() @InputBoolean() public suiPopupFluid = false;\n @Input() @InputBoolean() public suiPopupFlowing = false;\n @Input() @InputBoolean() public suiPopupBasic = false;\n\n private delay = 200; // ms\n private _overlayRef?: OverlayRef;\n private _positionMap: Record<string, ConnectedPosition> = {\n topCenter: { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n topLeft: { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\n topRight: { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },\n rightCenter: { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n leftCenter: { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n bottomLeft: { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n bottomCenter: { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n bottomRight: { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }\n };\n\n constructor(private elementRef: ElementRef, private overlay: Overlay,\n private positionBuilder: OverlayPositionBuilder) {\n }\n\n public ngOnInit(): void {\n const scrollStrategy = this.overlay\n .scrollStrategies\n .close();\n const positionStrategy = this.positionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.getPositions())\n .withPush(false);\n\n this._overlayRef = this.overlay.create({ positionStrategy, scrollStrategy });\n }\n\n public ngOnDestroy(): void {\n this._overlayRef?.dispose();\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.suiPopupTrigger === 'click') {\n this.initializePopup();\n }\n }\n\n @HostListener('document:click', [ '$event' ])\n public onPageClick(event: Event): void {\n if (this.suiPopupTrigger === 'click') {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.closePopup();\n }\n }\n }\n\n @HostListener('mouseover')\n public onHover(): void {\n if (this.suiPopupTrigger === 'hover') {\n this.initializePopup();\n }\n }\n\n @HostListener('mouseleave')\n public onLeave(): void {\n if (this.suiPopupTrigger === 'hover') {\n setTimeout(() => {\n this.closePopup();\n }, this.delay);\n }\n }\n\n private getPositions(): ConnectedPosition[] {\n if (this.suiPopupPlacement === 'top center') {\n return [ this._positionMap.topCenter ];\n } else if (this.suiPopupPlacement === 'top left') {\n return [ this._positionMap.topLeft ];\n } else if (this.suiPopupPlacement === 'top right') {\n return [ this._positionMap.topRight ];\n } else if (this.suiPopupPlacement === 'right center') {\n return [ this._positionMap.rightCenter ];\n } else if (this.suiPopupPlacement === 'left center') {\n return [ this._positionMap.leftCenter ];\n } else if (this.suiPopupPlacement === 'bottom left') {\n return [ this._positionMap.bottomLeft ];\n } else if (this.suiPopupPlacement === 'bottom center') {\n return [ this._positionMap.bottomCenter ];\n } else if (this.suiPopupPlacement === 'bottom right') {\n return [ this._positionMap.bottomRight ];\n } else {\n return [];\n }\n }\n\n private initializePopup(): void {\n if (!this._overlayRef?.hasAttached()) {\n const portal = new ComponentPortal(SuiPopupComponent);\n const popupRef: ComponentRef<SuiPopupComponent> | undefined = this._overlayRef?.attach(portal);\n\n // pass component info\n if (!popupRef) {\n return;\n }\n\n const popup = popupRef.instance;\n popup.suiPlacement = this.suiPopupPlacement;\n popup.suiWidth = this.suiPopupWidth;\n popup.suiSize = this.suiPopupSize;\n popup.suiTitle = this.suiPopupTitle;\n popup.suiContent = this.suiPopupContent;\n popup.suiInverted = this.suiPopupInverted;\n popup.suiFluid = this.suiPopupFluid;\n popup.suiFlowing = this.suiPopupFlowing;\n popup.suiBasic = this.suiPopupBasic;\n }\n }\n\n private closePopup(): void {\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef?.detach();\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OverlayModule} from '@angular/cdk/overlay';\n\nimport {SuiPopupComponent} from './popup.component';\nimport {SuiPopupDirective} from './popup.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n SuiPopupDirective,\n SuiPopupComponent\n ],\n exports: [\n SuiPopupDirective,\n SuiPopupComponent\n ]\n})\nexport class SuiPopupModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-popup.mjs","sources":["../../src/modules/popup/popup.component.ts","../../src/modules/popup/popup.directive.ts","../../src/modules/popup/popup.module.ts","../../src/modules/popup/ngx-semantic-modules-popup.ts"],"sourcesContent":["/**\n * Created by bolorundurowb on 1/16/2021\n */\n\nimport { Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SuiSize } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nimport { SuiPopupPlacement, SuiPopupWidth } from './popup.directive';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-popup',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div style=\"position: unset !important;\"\n [ngClass]=\"classes\">\n @if (suiTitle) {\n <div class=\"header\">\n {{ suiTitle }}\n </div>\n }\n\n <div class=\"content\">\n @if (isString) {\n {{ suiContent }}\n }\n\n @if (isTemplate) {\n <ng-container *ngTemplateOutlet=\"suiContent\"></ng-container>\n }\n </div>\n </div>\n `,\n styleUrls: [ './styles/popup.component.scss' ]\n})\nexport class SuiPopupComponent {\n @Input() public suiPlacement: SuiPopupPlacement | null = null;\n @Input() public suiWidth: SuiPopupWidth | null = null;\n @Input() public suiSize: SuiSize | null = null;\n @Input() public suiTitle: string | null = null;\n @Input() public suiContent: TemplateRef<any> | null = null;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiFlowing = false;\n @Input() @InputBoolean() public suiBasic = false;\n\n get classes(): string {\n return [\n 'ui',\n this.suiWidth,\n this.suiSize,\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiFlowing, 'flowing'),\n 'popup',\n ClassUtils.getPropClass(this.suiBasic, 'basic'),\n this.suiPlacement,\n 'transition',\n 'visible'\n ].join(' ');\n }\n\n get isString(): boolean {\n return typeof this.suiContent === 'string';\n }\n\n get isTemplate(): boolean {\n return this.suiContent instanceof TemplateRef;\n }\n}\n","import { ComponentPortal } from '@angular/cdk/portal';\nimport { ConnectedPosition, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, inject } from '@angular/core';\n\nimport { SuiSize } from 'ngx-semantic/core/enums';\nimport { InputBoolean } from 'ngx-semantic/core/util';\n\nimport { SuiPopupComponent } from './popup.component';\n\nexport type SuiPopupPlacement =\n 'top left'\n | 'top center'\n | 'top right'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'right center'\n | 'left center';\nexport type SuiPopupWidth = 'wide' | 'very wide' | null;\nexport type SuiPopupTrigger = 'hover' | 'click';\n\n@Directive({\n standalone: true,\n selector: '[sui-popup]',\n exportAs: 'suiPopup'\n})\nexport class SuiPopupDirective implements OnInit, OnDestroy {\n private elementRef = inject(ElementRef);\n private overlay = inject(Overlay);\n private positionBuilder = inject(OverlayPositionBuilder);\n\n @Input() public suiPopupPlacement: SuiPopupPlacement = 'top left';\n @Input() public suiPopupTrigger: SuiPopupTrigger = 'hover';\n @Input() public suiPopupWidth: SuiPopupWidth = null;\n @Input() public suiPopupSize: SuiSize = null;\n @Input() public suiPopupTitle: string | null = null;\n @Input() public suiPopupContent: TemplateRef<any> | null = null;\n @Input() @InputBoolean() public suiPopupInverted = false;\n @Input() @InputBoolean() public suiPopupFluid = false;\n @Input() @InputBoolean() public suiPopupFlowing = false;\n @Input() @InputBoolean() public suiPopupBasic = false;\n\n private delay = 200; // ms\n private _overlayRef?: OverlayRef;\n private _positionMap: Record<string, ConnectedPosition> = {\n topCenter: { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n topLeft: { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\n topRight: { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },\n rightCenter: { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n leftCenter: { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n bottomLeft: { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n bottomCenter: { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n bottomRight: { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }\n };\n\n public ngOnInit(): void {\n const scrollStrategy = this.overlay\n .scrollStrategies\n .close();\n const positionStrategy = this.positionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.getPositions())\n .withPush(false);\n\n this._overlayRef = this.overlay.create({ positionStrategy, scrollStrategy });\n }\n\n public ngOnDestroy(): void {\n this._overlayRef?.dispose();\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.suiPopupTrigger === 'click') {\n this.initializePopup();\n }\n }\n\n @HostListener('document:click', [ '$event' ])\n public onPageClick(event: Event): void {\n if (this.suiPopupTrigger === 'click') {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.closePopup();\n }\n }\n }\n\n @HostListener('mouseover')\n public onHover(): void {\n if (this.suiPopupTrigger === 'hover') {\n this.initializePopup();\n }\n }\n\n @HostListener('mouseleave')\n public onLeave(): void {\n if (this.suiPopupTrigger === 'hover') {\n setTimeout(() => {\n this.closePopup();\n }, this.delay);\n }\n }\n\n private getPositions(): ConnectedPosition[] {\n if (this.suiPopupPlacement === 'top center') {\n return [ this._positionMap.topCenter ];\n } else if (this.suiPopupPlacement === 'top left') {\n return [ this._positionMap.topLeft ];\n } else if (this.suiPopupPlacement === 'top right') {\n return [ this._positionMap.topRight ];\n } else if (this.suiPopupPlacement === 'right center') {\n return [ this._positionMap.rightCenter ];\n } else if (this.suiPopupPlacement === 'left center') {\n return [ this._positionMap.leftCenter ];\n } else if (this.suiPopupPlacement === 'bottom left') {\n return [ this._positionMap.bottomLeft ];\n } else if (this.suiPopupPlacement === 'bottom center') {\n return [ this._positionMap.bottomCenter ];\n } else if (this.suiPopupPlacement === 'bottom right') {\n return [ this._positionMap.bottomRight ];\n } else {\n return [];\n }\n }\n\n private initializePopup(): void {\n if (!this._overlayRef?.hasAttached()) {\n const portal = new ComponentPortal(SuiPopupComponent);\n const popupRef: ComponentRef<SuiPopupComponent> | undefined = this._overlayRef?.attach(portal);\n\n // pass component info\n if (!popupRef) {\n return;\n }\n\n const popup = popupRef.instance;\n popup.suiPlacement = this.suiPopupPlacement;\n popup.suiWidth = this.suiPopupWidth;\n popup.suiSize = this.suiPopupSize;\n popup.suiTitle = this.suiPopupTitle;\n popup.suiContent = this.suiPopupContent;\n popup.suiInverted = this.suiPopupInverted;\n popup.suiFluid = this.suiPopupFluid;\n popup.suiFlowing = this.suiPopupFlowing;\n popup.suiBasic = this.suiPopupBasic;\n }\n }\n\n private closePopup(): void {\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef?.detach();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { SuiPopupComponent } from './popup.component';\nimport { SuiPopupDirective } from './popup.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n SuiPopupDirective,\n SuiPopupComponent\n ],\n exports: [\n SuiPopupDirective,\n SuiPopupComponent\n ]\n})\nexport class SuiPopupModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -53,19 +53,19 @@ class SuiProgressComponent {
|
|
|
53
53
|
this.progressPercentage = Math.ceil(this.value * 100 / this.maxValue);
|
|
54
54
|
}
|
|
55
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiProgressComponent, isStandalone: true, selector: "sui-progress", inputs: { suiAttached: "suiAttached", suiSize: "suiSize", suiColour: "suiColour", suiState: "suiState", suiIndicating: "suiIndicating", disabled: "disabled", suiInverted: "suiInverted", suiShowProgress: "suiShowProgress", suiValue: "suiValue", suiMaxValue: "suiMaxValue" }, ngImport: i0, template: `
|
|
57
57
|
<div [ngClass]="classes" [attr.data-percent]="progressPercentage">
|
|
58
58
|
<div class="bar"
|
|
59
59
|
[style.width.%]="progressPercentage">
|
|
60
|
-
|
|
60
|
+
@if (suiShowProgress) {
|
|
61
61
|
<div class="progress">{{ progressPercentage }}%</div>
|
|
62
|
-
|
|
62
|
+
}
|
|
63
63
|
</div>
|
|
64
64
|
<div class="label">
|
|
65
65
|
<ng-content></ng-content>
|
|
66
66
|
</div>
|
|
67
67
|
</div>
|
|
68
|
-
`, isInline: true, styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }
|
|
68
|
+
`, isInline: true, styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
69
69
|
}
|
|
70
70
|
__decorate([
|
|
71
71
|
InputBoolean()
|
|
@@ -85,9 +85,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
85
85
|
<div [ngClass]="classes" [attr.data-percent]="progressPercentage">
|
|
86
86
|
<div class="bar"
|
|
87
87
|
[style.width.%]="progressPercentage">
|
|
88
|
-
|
|
88
|
+
@if (suiShowProgress) {
|
|
89
89
|
<div class="progress">{{ progressPercentage }}%</div>
|
|
90
|
-
|
|
90
|
+
}
|
|
91
91
|
</div>
|
|
92
92
|
<div class="label">
|
|
93
93
|
<ng-content></ng-content>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-progress.mjs","sources":["../../src/modules/progress/progress.component.ts","../../src/modules/progress/progress.module.ts","../../src/modules/progress/public-api.ts","../../src/modules/progress/ngx-semantic-modules-progress.ts"],"sourcesContent":["/**\n * Created by bolor on 10/22/2020\n */\n\nimport { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiColour, SuiSize } from 'ngx-semantic/core/enums';\n\nexport type SuiProgressAttachment = 'bottom' | 'top' | null;\nexport type SuiProgressState = 'active' | 'success' | 'warning' | 'error' | null;\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-progress',\n template: `\n <div [ngClass]=\"classes\" [attr.data-percent]=\"progressPercentage\">\n <div class=\"bar\"\n [style.width.%]=\"progressPercentage\">\n
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-progress.mjs","sources":["../../src/modules/progress/progress.component.ts","../../src/modules/progress/progress.module.ts","../../src/modules/progress/public-api.ts","../../src/modules/progress/ngx-semantic-modules-progress.ts"],"sourcesContent":["/**\n * Created by bolor on 10/22/2020\n */\n\nimport { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiColour, SuiSize } from 'ngx-semantic/core/enums';\n\nexport type SuiProgressAttachment = 'bottom' | 'top' | null;\nexport type SuiProgressState = 'active' | 'success' | 'warning' | 'error' | null;\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-progress',\n template: `\n <div [ngClass]=\"classes\" [attr.data-percent]=\"progressPercentage\">\n <div class=\"bar\"\n [style.width.%]=\"progressPercentage\">\n @if (suiShowProgress) {\n <div class=\"progress\">{{ progressPercentage }}%</div>\n }\n </div>\n <div class=\"label\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n styles: [ `\n :host {\n width: 100%;\n }\n ` ]\n})\nexport class SuiProgressComponent {\n @Input() public suiAttached: SuiProgressAttachment = null;\n @Input() public suiSize: SuiSize = null;\n @Input() public suiColour: SuiColour = null;\n @Input() public suiState: SuiProgressState = null;\n @Input() @InputBoolean() public suiIndicating = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiShowProgress = false;\n\n private value = 0;\n private maxValue = 100;\n public progressPercentage = 0;\n\n @Input()\n set suiValue(value: number) {\n this.value = +value;\n this.calculatePercentage();\n }\n\n get suiValue(): number {\n return this.value;\n }\n\n @Input()\n set suiMaxValue(maxValue: number) {\n this.maxValue = +maxValue;\n this.calculatePercentage();\n }\n\n get suiMaxValue(): number {\n return this.maxValue;\n }\n\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n this.suiSize ?? '',\n this.suiColour ?? '',\n this.suiAttached ? `${this.suiAttached} attached` : '',\n ClassUtils.getPropClass(this.suiIndicating, 'indicating'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n 'progress',\n this.suiState ?? ''\n ]);\n }\n\n private calculatePercentage(): void {\n if (this.value > this.maxValue) {\n return;\n }\n\n this.progressPercentage = Math.ceil(this.value * 100 / this.maxValue);\n }\n}\n","/**\n * Created by bolor on 10/22/2020\n */\n\nimport { NgModule } from '@angular/core';\nimport { SuiProgressComponent } from './progress.component';\n\n@NgModule({\n exports: [SuiProgressComponent],\n imports: [SuiProgressComponent],\n})\nexport class SuiProgressModule {\n}\n","/**\n * Created by bolor on 10/22/2020\n */\n\nexport * from './progress.component';\nexport * from './progress.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
4
|
-
import * as i1 from '@angular/common';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { inject, ChangeDetectorRef, EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
6
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
5
|
import { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';
|
|
8
6
|
|
|
@@ -32,8 +30,8 @@ class SuiRatingComponent {
|
|
|
32
30
|
ClassUtils.getPropClass(this.hoverValue > 0, 'selected')
|
|
33
31
|
].join(' ');
|
|
34
32
|
}
|
|
35
|
-
constructor(
|
|
36
|
-
this.changeDetectorRef =
|
|
33
|
+
constructor() {
|
|
34
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
37
35
|
this.valueChanged = new EventEmitter();
|
|
38
36
|
this.suiSize = null;
|
|
39
37
|
this.suiType = null;
|
|
@@ -81,30 +79,30 @@ class SuiRatingComponent {
|
|
|
81
79
|
registerOnChange(fn) {
|
|
82
80
|
this.controlValueChangeFn = fn;
|
|
83
81
|
}
|
|
84
|
-
registerOnTouched(
|
|
82
|
+
registerOnTouched(_fn) {
|
|
85
83
|
}
|
|
86
|
-
setDisabledState(
|
|
84
|
+
setDisabledState(_isDisabled) {
|
|
87
85
|
}
|
|
88
86
|
generateRatingsArray() {
|
|
89
87
|
this.ratingsArray = Array(this.maxValue)
|
|
90
88
|
.fill(0)
|
|
91
89
|
.map((x, i) => i + 1);
|
|
92
90
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingComponent, deps: [
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiRatingComponent, isStandalone: true, selector: "sui-rating", inputs: { suiSize: "suiSize", suiType: "suiType", suiReadOnly: "suiReadOnly", suiClearable: "suiClearable", suiValue: "suiValue", suiMaxValue: "suiMaxValue" }, outputs: { valueChanged: "valueChanged" }, host: { properties: { "class": "this.classes" } }, providers: [{
|
|
95
93
|
provide: NG_VALUE_ACCESSOR,
|
|
96
94
|
useExisting: forwardRef(() => SuiRatingComponent),
|
|
97
95
|
multi: true
|
|
98
96
|
}], ngImport: i0, template: `
|
|
99
|
-
|
|
97
|
+
@for (i of ratingsArray; track i) {
|
|
100
98
|
<i class="icon"
|
|
101
99
|
[class.active]="i <= suiValue"
|
|
102
100
|
[class.selected]="i <= hoverValue"
|
|
103
101
|
(click)="onClick(i)"
|
|
104
102
|
(mouseover)="onHover(i)"
|
|
105
103
|
(mouseout)="onUnhover()"></i>
|
|
106
|
-
|
|
107
|
-
`, isInline: true, styles: [":host.read-only .icon{cursor:auto}\n"],
|
|
104
|
+
}
|
|
105
|
+
`, isInline: true, styles: [":host.read-only .icon{cursor:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
108
106
|
}
|
|
109
107
|
__decorate([
|
|
110
108
|
InputBoolean()
|
|
@@ -114,21 +112,21 @@ __decorate([
|
|
|
114
112
|
], SuiRatingComponent.prototype, "suiClearable", void 0);
|
|
115
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingComponent, decorators: [{
|
|
116
114
|
type: Component,
|
|
117
|
-
args: [{ standalone: true, imports: [
|
|
118
|
-
|
|
115
|
+
args: [{ standalone: true, imports: [], selector: 'sui-rating', encapsulation: ViewEncapsulation.None, template: `
|
|
116
|
+
@for (i of ratingsArray; track i) {
|
|
119
117
|
<i class="icon"
|
|
120
118
|
[class.active]="i <= suiValue"
|
|
121
119
|
[class.selected]="i <= hoverValue"
|
|
122
120
|
(click)="onClick(i)"
|
|
123
121
|
(mouseover)="onHover(i)"
|
|
124
122
|
(mouseout)="onUnhover()"></i>
|
|
125
|
-
|
|
123
|
+
}
|
|
126
124
|
`, providers: [{
|
|
127
125
|
provide: NG_VALUE_ACCESSOR,
|
|
128
126
|
useExisting: forwardRef(() => SuiRatingComponent),
|
|
129
127
|
multi: true
|
|
130
128
|
}], styles: [":host.read-only .icon{cursor:auto}\n"] }]
|
|
131
|
-
}], ctorParameters: () => [
|
|
129
|
+
}], ctorParameters: () => [], propDecorators: { valueChanged: [{
|
|
132
130
|
type: Output
|
|
133
131
|
}], suiSize: [{
|
|
134
132
|
type: Input
|
|
@@ -153,7 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
153
151
|
class SuiRatingModule {
|
|
154
152
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
155
153
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingModule, imports: [SuiRatingComponent], exports: [SuiRatingComponent] }); }
|
|
156
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingModule
|
|
154
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingModule }); }
|
|
157
155
|
}
|
|
158
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiRatingModule, decorators: [{
|
|
159
157
|
type: NgModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-rating.mjs","sources":["../../src/modules/rating/rating.component.ts","../../src/modules/rating/rating.module.ts","../../src/modules/rating/public-api.ts","../../src/modules/rating/ngx-semantic-modules-rating.ts"],"sourcesContent":["/**\n * Created by bolor on 10/24/2020\n */\n\nimport {ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-rating.mjs","sources":["../../src/modules/rating/rating.component.ts","../../src/modules/rating/rating.module.ts","../../src/modules/rating/public-api.ts","../../src/modules/rating/ngx-semantic-modules-rating.ts"],"sourcesContent":["/**\n * Created by bolor on 10/24/2020\n */\n\nimport { ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSize } from 'ngx-semantic/core/enums';\n\nexport type SuiRatingType = 'star' | 'heart' | null;\n\n@Component({\n standalone: true,\n imports: [],\n selector: 'sui-rating',\n encapsulation: ViewEncapsulation.None,\n template: `\n @for (i of ratingsArray; track i) {\n <i class=\"icon\"\n [class.active]=\"i <= suiValue\"\n [class.selected]=\"i <= hoverValue\"\n (click)=\"onClick(i)\"\n (mouseover)=\"onHover(i)\"\n (mouseout)=\"onUnhover()\"></i>\n }\n `,\n styles: [`\n :host.read-only .icon {\n cursor: auto\n }\n `],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiRatingComponent),\n multi: true\n }]\n})\nexport class SuiRatingComponent implements ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @Output() public valueChanged = new EventEmitter<number>();\n @Input() public suiSize: SuiSize = null;\n @Input() public suiType: SuiRatingType = null;\n @Input() @InputBoolean() public suiReadOnly = false;\n @Input() @InputBoolean() public suiClearable = false;\n\n public ratingsArray: number[] = [];\n public hoverValue = 0;\n private value = 0;\n private maxValue = 5;\n private controlValueChangeFn: (value: any) => void = () => {\n }\n\n @Input()\n set suiValue(value: number) {\n if (this.value !== value) {\n this.value = +value;\n }\n }\n\n get suiValue(): number {\n return this.value;\n }\n\n @Input()\n set suiMaxValue(maxValue: number) {\n this.maxValue = +maxValue;\n this.generateRatingsArray();\n }\n\n get suiMaxValue(): number {\n return this.maxValue;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'ui',\n this.suiSize,\n this.suiType,\n ClassUtils.getPropClass(this.suiReadOnly, 'read-only'),\n 'rating',\n ClassUtils.getPropClass(this.hoverValue > 0, 'selected')\n ].join(' ');\n }\n\n constructor() {\n this.generateRatingsArray();\n }\n\n public onClick(value: number): void {\n if (this.suiReadOnly) {\n return;\n }\n\n if (this.suiClearable && this.suiValue === value) {\n value = 0;\n }\n\n if (this.suiValue !== value) {\n this.controlValueChangeFn(value);\n this.valueChanged.emit(value);\n }\n\n this.suiValue = value;\n }\n\n public onHover(value: number): void {\n if (this.suiReadOnly) {\n this.hoverValue = 0;\n } else {\n this.hoverValue = value;\n }\n }\n\n public onUnhover(): void {\n if (this.suiReadOnly) {\n return;\n }\n\n this.hoverValue = 0;\n }\n\n public writeValue(value: any): void {\n this.suiValue = value;\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 }\n\n public setDisabledState?(_isDisabled: boolean): void {\n }\n\n private generateRatingsArray(): void {\n this.ratingsArray = Array(this.maxValue)\n .fill(0)\n .map((x, i) => i + 1);\n }\n}\n","/**\n * Created by bolor on 10/24/2020\n */\n\nimport { NgModule } from '@angular/core';\nimport { SuiRatingComponent } from './rating.component';\n\n@NgModule({\n imports: [\n SuiRatingComponent\n ],\n exports: [\n SuiRatingComponent\n ]\n})\nexport class SuiRatingModule {\n}\n","/**\n * Created by bolor on 10/24/2020\n */\n\nexport * from './rating.component';\nexport * from './rating.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -114,14 +114,14 @@ class SuiSearchComponent {
|
|
|
114
114
|
this.isOpen = false;
|
|
115
115
|
}
|
|
116
116
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiSearchComponent, isStandalone: true, selector: "sui-search", inputs: { suiOptionsLookup: "suiOptionsLookup", suiOptions: "suiOptions", suiAlignment: "suiAlignment", suiPlaceholder: "suiPlaceholder", suiSearchDelay: "suiSearchDelay", suiShowIcon: "suiShowIcon", disabled: "disabled", suiFluid: "suiFluid", suiLoading: "suiLoading" }, outputs: { suiResultSelected: "suiResultSelected" }, host: { listeners: { "click": "onClick()", "document:click": "onPageClick()", "onfocusout": "onUnfocus()" } }, ngImport: i0, template: `
|
|
118
118
|
<div [ngClass]="classes">
|
|
119
|
-
|
|
119
|
+
@if (isSimple) {
|
|
120
120
|
<ng-container
|
|
121
121
|
*ngTemplateOutlet="input"></ng-container>
|
|
122
|
-
|
|
122
|
+
}
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
@if (!isSimple) {
|
|
125
125
|
<div sui-input
|
|
126
126
|
suiIcon="icon">
|
|
127
127
|
<ng-container
|
|
@@ -129,34 +129,34 @@ class SuiSearchComponent {
|
|
|
129
129
|
<i sui-icon
|
|
130
130
|
suiIconType="search"></i>
|
|
131
131
|
</div>
|
|
132
|
-
|
|
132
|
+
}
|
|
133
133
|
|
|
134
134
|
<div class="results transition"
|
|
135
135
|
[class.visible]="isOpen"
|
|
136
136
|
[class.hidden]="!isOpen"
|
|
137
137
|
style="display: block !important;">
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
@if (!hasCategories) {
|
|
139
|
+
@for (option of filteredOptions; track option) {
|
|
140
140
|
<ng-container
|
|
141
141
|
*ngTemplateOutlet="result; context: {option:option}"></ng-container>
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
144
|
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
@if (hasCategories) {
|
|
146
|
+
@for (category of optionsByCategory | keyvalue; track category.key) {
|
|
147
147
|
<div class="category">
|
|
148
148
|
<div class="name">
|
|
149
149
|
{{category.key}}
|
|
150
150
|
</div>
|
|
151
151
|
<div class="results">
|
|
152
|
-
|
|
152
|
+
@for (option of category.value; track option) {
|
|
153
153
|
<ng-container
|
|
154
154
|
*ngTemplateOutlet="result; context: {option:option}"></ng-container>
|
|
155
|
-
|
|
155
|
+
}
|
|
156
156
|
</div>
|
|
157
157
|
</div>
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
160
|
</div>
|
|
161
161
|
</div>
|
|
162
162
|
|
|
@@ -178,15 +178,15 @@ class SuiSearchComponent {
|
|
|
178
178
|
{{option.title}}
|
|
179
179
|
</div>
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
@if (option.description) {
|
|
182
182
|
<div class="description">
|
|
183
183
|
{{option.description}}
|
|
184
184
|
</div>
|
|
185
|
-
|
|
185
|
+
}
|
|
186
186
|
</div>
|
|
187
187
|
</a>
|
|
188
188
|
</ng-template>
|
|
189
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.
|
|
189
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SuiInputDirective, selector: "[sui-input]", inputs: ["suiSize", "suiAction", "suiLabeled", "suiIcon", "suiFocus", "suiTransparent", "suiInverted", "suiFluid", "suiLoading", "disabled", "suiError"], exportAs: ["suiInput"] }, { kind: "directive", type: SuiIconDirective, selector: "i[sui-icon]", inputs: ["suiSize", "suiFlip", "suiRotation", "suiColour", "suiCorner", "suiIconType", "disabled", "suiLoading", "suiFitted", "suiLink", "suiCircular", "suiBordered", "suiInverted", "suiOutline"], exportAs: ["suiIcon"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
190
190
|
}
|
|
191
191
|
__decorate([
|
|
192
192
|
InputBoolean()
|
|
@@ -209,12 +209,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
209
209
|
encapsulation: ViewEncapsulation.None,
|
|
210
210
|
template: `
|
|
211
211
|
<div [ngClass]="classes">
|
|
212
|
-
|
|
212
|
+
@if (isSimple) {
|
|
213
213
|
<ng-container
|
|
214
214
|
*ngTemplateOutlet="input"></ng-container>
|
|
215
|
-
|
|
215
|
+
}
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
@if (!isSimple) {
|
|
218
218
|
<div sui-input
|
|
219
219
|
suiIcon="icon">
|
|
220
220
|
<ng-container
|
|
@@ -222,34 +222,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
222
222
|
<i sui-icon
|
|
223
223
|
suiIconType="search"></i>
|
|
224
224
|
</div>
|
|
225
|
-
|
|
225
|
+
}
|
|
226
226
|
|
|
227
227
|
<div class="results transition"
|
|
228
228
|
[class.visible]="isOpen"
|
|
229
229
|
[class.hidden]="!isOpen"
|
|
230
230
|
style="display: block !important;">
|
|
231
|
-
|
|
232
|
-
|
|
231
|
+
@if (!hasCategories) {
|
|
232
|
+
@for (option of filteredOptions; track option) {
|
|
233
233
|
<ng-container
|
|
234
234
|
*ngTemplateOutlet="result; context: {option:option}"></ng-container>
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
237
|
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
@if (hasCategories) {
|
|
239
|
+
@for (category of optionsByCategory | keyvalue; track category.key) {
|
|
240
240
|
<div class="category">
|
|
241
241
|
<div class="name">
|
|
242
242
|
{{category.key}}
|
|
243
243
|
</div>
|
|
244
244
|
<div class="results">
|
|
245
|
-
|
|
245
|
+
@for (option of category.value; track option) {
|
|
246
246
|
<ng-container
|
|
247
247
|
*ngTemplateOutlet="result; context: {option:option}"></ng-container>
|
|
248
|
-
|
|
248
|
+
}
|
|
249
249
|
</div>
|
|
250
250
|
</div>
|
|
251
|
-
|
|
252
|
-
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
253
|
</div>
|
|
254
254
|
</div>
|
|
255
255
|
|
|
@@ -271,11 +271,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
271
271
|
{{option.title}}
|
|
272
272
|
</div>
|
|
273
273
|
|
|
274
|
-
|
|
274
|
+
@if (option.description) {
|
|
275
275
|
<div class="description">
|
|
276
276
|
{{option.description}}
|
|
277
277
|
</div>
|
|
278
|
-
|
|
278
|
+
}
|
|
279
279
|
</div>
|
|
280
280
|
</a>
|
|
281
281
|
</ng-template>
|
|
@@ -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 <ng-container *ngIf=\"isSimple\">\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!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 </ng-container>\n\n <div class=\"results transition\"\n [class.visible]=\"isOpen\"\n [class.hidden]=\"!isOpen\"\n style=\"display: block !important;\">\n <ng-container *ngIf=\"!hasCategories\">\n <ng-container *ngFor=\"let option of filteredOptions\">\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasCategories\">\n <ng-container *ngFor=\"let category of optionsByCategory | keyvalue\">\n <div class=\"category\">\n <div class=\"name\">\n {{category.key}}\n </div>\n <div class=\"results\">\n <ng-container *ngFor=\"let option of category.value\">\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\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 <ng-container *ngIf=\"option.description\">\n <div class=\"description\">\n {{option.description}}\n </div>\n </ng-container>\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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"}
|