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.
Files changed (116) hide show
  1. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -10
  2. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
  3. package/fesm2022/ngx-semantic-collections-form.mjs +987 -16
  4. package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
  5. package/fesm2022/ngx-semantic-collections-grid.mjs +13 -10
  6. package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
  7. package/fesm2022/ngx-semantic-collections-menu.mjs +25 -13
  8. package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
  9. package/fesm2022/ngx-semantic-collections-message.mjs +20 -20
  10. package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
  11. package/fesm2022/ngx-semantic-collections-table.mjs +17 -13
  12. package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
  13. package/fesm2022/ngx-semantic-core-base.mjs +1 -0
  14. package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
  15. package/fesm2022/ngx-semantic-core-util.mjs.map +1 -1
  16. package/fesm2022/ngx-semantic-elements-button.mjs +9 -7
  17. package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
  18. package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
  19. package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
  20. package/fesm2022/ngx-semantic-elements-flag.mjs +5 -4
  21. package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
  22. package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
  23. package/fesm2022/ngx-semantic-elements-icon.mjs +5 -4
  24. package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
  25. package/fesm2022/ngx-semantic-elements-image.mjs +5 -4
  26. package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
  27. package/fesm2022/ngx-semantic-elements-input.mjs +5 -4
  28. package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
  29. package/fesm2022/ngx-semantic-elements-label.mjs +5 -4
  30. package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
  31. package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
  32. package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
  33. package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
  34. package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
  35. package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
  36. package/fesm2022/ngx-semantic-elements-segment.mjs +5 -4
  37. package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
  38. package/fesm2022/ngx-semantic-elements-steps.mjs +5 -4
  39. package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
  40. package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
  41. package/fesm2022/ngx-semantic-modules-checkbox.mjs +19 -19
  42. package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
  43. package/fesm2022/ngx-semantic-modules-dimmer.mjs +42 -33
  44. package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
  45. package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
  46. package/fesm2022/ngx-semantic-modules-embed.mjs +22 -22
  47. package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
  48. package/fesm2022/ngx-semantic-modules-modal.mjs +31 -32
  49. package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
  50. package/fesm2022/ngx-semantic-modules-popup.mjs +22 -23
  51. package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
  52. package/fesm2022/ngx-semantic-modules-progress.mjs +6 -6
  53. package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
  54. package/fesm2022/ngx-semantic-modules-rating.mjs +15 -17
  55. package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
  56. package/fesm2022/ngx-semantic-modules-search.mjs +34 -34
  57. package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
  58. package/fesm2022/ngx-semantic-modules-select.mjs +87 -88
  59. package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
  60. package/fesm2022/ngx-semantic-modules-shape.mjs +6 -6
  61. package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
  62. package/fesm2022/ngx-semantic-modules-sidebar.mjs +13 -12
  63. package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
  64. package/fesm2022/ngx-semantic-modules-sticky.mjs +9 -12
  65. package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
  66. package/fesm2022/ngx-semantic-modules-tabs.mjs +30 -30
  67. package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
  68. package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
  69. package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
  70. package/fesm2022/ngx-semantic-views-advertisement.mjs +5 -4
  71. package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
  72. package/fesm2022/ngx-semantic-views-card.mjs +6 -9
  73. package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
  74. package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
  75. package/fesm2022/ngx-semantic-views-feed.mjs +26 -26
  76. package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
  77. package/fesm2022/ngx-semantic-views-items.mjs +13 -10
  78. package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
  79. package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
  80. package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
  81. package/fesm2022/ngx-semantic.mjs +11 -5
  82. package/fesm2022/ngx-semantic.mjs.map +1 -1
  83. package/modules/transition/package.json +4 -0
  84. package/package.json +5 -1
  85. package/types/ngx-semantic-collections-breadcrumb.d.ts +4 -17
  86. package/types/ngx-semantic-collections-form.d.ts +150 -20
  87. package/types/ngx-semantic-collections-grid.d.ts +4 -17
  88. package/types/ngx-semantic-collections-menu.d.ts +4 -17
  89. package/types/ngx-semantic-collections-message.d.ts +1 -3
  90. package/types/ngx-semantic-collections-table.d.ts +5 -22
  91. package/types/ngx-semantic-core-base.d.ts +1 -1
  92. package/types/ngx-semantic-elements-button.d.ts +3 -8
  93. package/types/ngx-semantic-elements-flag.d.ts +2 -3
  94. package/types/ngx-semantic-elements-icon.d.ts +1 -2
  95. package/types/ngx-semantic-elements-image.d.ts +2 -7
  96. package/types/ngx-semantic-elements-input.d.ts +2 -7
  97. package/types/ngx-semantic-elements-label.d.ts +2 -7
  98. package/types/ngx-semantic-elements-segment.d.ts +1 -6
  99. package/types/ngx-semantic-elements-steps.d.ts +1 -6
  100. package/types/ngx-semantic-modules-checkbox.d.ts +3 -4
  101. package/types/ngx-semantic-modules-dimmer.d.ts +2 -3
  102. package/types/ngx-semantic-modules-embed.d.ts +2 -5
  103. package/types/ngx-semantic-modules-modal.d.ts +2 -2
  104. package/types/ngx-semantic-modules-popup.d.ts +2 -4
  105. package/types/ngx-semantic-modules-rating.d.ts +4 -4
  106. package/types/ngx-semantic-modules-select.d.ts +1 -2
  107. package/types/ngx-semantic-modules-shape.d.ts +1 -2
  108. package/types/ngx-semantic-modules-sidebar.d.ts +1 -15
  109. package/types/ngx-semantic-modules-sticky.d.ts +1 -2
  110. package/types/ngx-semantic-modules-transition.d.ts +107 -0
  111. package/types/ngx-semantic-views-advertisement.d.ts +2 -7
  112. package/types/ngx-semantic-views-card.d.ts +2 -2
  113. package/types/ngx-semantic-views-feed.d.ts +2 -11
  114. package/types/ngx-semantic-views-items.d.ts +4 -9
  115. package/types/ngx-semantic-views-statistics.d.ts +13 -26
  116. 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: "14.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: `
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
- <ng-container *ngIf="suiShowProgress">
60
+ @if (suiShowProgress) {
61
61
  <div class="progress">{{ progressPercentage }}%</div>
62
- </ng-container>
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"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
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
- <ng-container *ngIf="suiShowProgress">
88
+ @if (suiShowProgress) {
89
89
  <div class="progress">{{ progressPercentage }}%</div>
90
- </ng-container>
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 <ng-container *ngIf=\"suiShowProgress\">\n <div class=\"progress\">{{ progressPercentage }}%</div>\n </ng-container>\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
+ {"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(changeDetectorRef) {
36
- this.changeDetectorRef = 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(fn) {
82
+ registerOnTouched(_fn) {
85
83
  }
86
- setDisabledState(isDisabled) {
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: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.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: [{
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
- <ng-container *ngFor="let i of ratingsArray">
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
- </ng-container>
107
- `, isInline: true, styles: [":host.read-only .icon{cursor:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); }
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: [CommonModule], selector: 'sui-rating', encapsulation: ViewEncapsulation.None, template: `
118
- <ng-container *ngFor="let i of ratingsArray">
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
- </ng-container>
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: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { valueChanged: [{
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, imports: [SuiRatingComponent] }); }
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 {CommonModule} from '@angular/common';\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: [CommonModule],\n selector: 'sui-rating',\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-container *ngFor=\"let i of ratingsArray\">\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 </ng-container>\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 @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(private changeDetectorRef: ChangeDetectorRef) {\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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"}
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":";;;;;;MAqCa,kBAAkB,CAAA;IAgB7B,IACI,QAAQ,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK;QACrB;IACF;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IACI,WAAW,CAAC,QAAgB,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,QAAQ;QACzB,IAAI,CAAC,oBAAoB,EAAE;IAC7B;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,IACI,OAAO,GAAA;QACT,OAAO;YACL,IAAI;AACJ,YAAA,IAAI,CAAC,OAAO;AACZ,YAAA,IAAI,CAAC,OAAO;YACZ,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;YACtD,QAAQ;YACR,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU;AACxD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;AAEA,IAAA,WAAA,GAAA;AAhDQ,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEpC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU;QAC1C,IAAA,CAAA,OAAO,GAAY,IAAI;QACvB,IAAA,CAAA,OAAO,GAAkB,IAAI;QACb,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,YAAY,GAAG,KAAK;QAE7C,IAAA,CAAA,YAAY,GAAa,EAAE;QAC3B,IAAA,CAAA,UAAU,GAAG,CAAC;QACb,IAAA,CAAA,KAAK,GAAG,CAAC;QACT,IAAA,CAAA,QAAQ,GAAG,CAAC;QACZ,IAAA,CAAA,oBAAoB,GAAyB,MAAK;AAC1D,QAAA,CAAC;QAoCC,IAAI,CAAC,oBAAoB,EAAE;IAC7B;AAEO,IAAA,OAAO,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB;QACF;QAEA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAChD,KAAK,GAAG,CAAC;QACX;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AAEO,IAAA,OAAO,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;IACF;IAEO,SAAS,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;IACrB;AAEO,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,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,GAAQ,EAAA;IACjC;AAEO,IAAA,gBAAgB,CAAE,WAAoB,EAAA;IAC7C;IAEQ,oBAAoB,GAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ;aACpC,IAAI,CAAC,CAAC;AACN,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB;8GAzGW,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,uTANlB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE;AACR,aAAA,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnBQ;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAkB+B,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA8B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA+B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;2FAP1C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA1B9B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EACD,YAAY,iBACP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B;;;;;;;;;AAST,EAAA,CAAA,EAAA,SAAA,EAMU,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE;yBACR,CAAC,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA;;sBAKD;;sBACA;;sBACA;;sBACA;;sBACA;;sBASA;;sBAWA;;sBAUA,WAAW;uBAAC,OAAO;;;AC1EtB;;AAEG;MAaU,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,eAAe,EAAA,OAAA,EAAA,CANxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAGlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;+GAGT,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -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: "14.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: `
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
- <ng-container *ngIf="isSimple">
119
+ @if (isSimple) {
120
120
  <ng-container
121
121
  *ngTemplateOutlet="input"></ng-container>
122
- </ng-container>
122
+ }
123
123
 
124
- <ng-container *ngIf="!isSimple">
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
- </ng-container>
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
- <ng-container *ngIf="!hasCategories">
139
- <ng-container *ngFor="let option of filteredOptions">
138
+ @if (!hasCategories) {
139
+ @for (option of filteredOptions; track option) {
140
140
  <ng-container
141
141
  *ngTemplateOutlet="result; context: {option:option}"></ng-container>
142
- </ng-container>
143
- </ng-container>
142
+ }
143
+ }
144
144
 
145
- <ng-container *ngIf="hasCategories">
146
- <ng-container *ngFor="let category of optionsByCategory | keyvalue">
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
- <ng-container *ngFor="let option of category.value">
152
+ @for (option of category.value; track option) {
153
153
  <ng-container
154
154
  *ngTemplateOutlet="result; context: {option:option}"></ng-container>
155
- </ng-container>
155
+ }
156
156
  </div>
157
157
  </div>
158
- </ng-container>
159
- </ng-container>
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
- <ng-container *ngIf="option.description">
181
+ @if (option.description) {
182
182
  <div class="description">
183
183
  {{option.description}}
184
184
  </div>
185
- </ng-container>
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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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 }); }
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
- <ng-container *ngIf="isSimple">
212
+ @if (isSimple) {
213
213
  <ng-container
214
214
  *ngTemplateOutlet="input"></ng-container>
215
- </ng-container>
215
+ }
216
216
 
217
- <ng-container *ngIf="!isSimple">
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
- </ng-container>
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
- <ng-container *ngIf="!hasCategories">
232
- <ng-container *ngFor="let option of filteredOptions">
231
+ @if (!hasCategories) {
232
+ @for (option of filteredOptions; track option) {
233
233
  <ng-container
234
234
  *ngTemplateOutlet="result; context: {option:option}"></ng-container>
235
- </ng-container>
236
- </ng-container>
235
+ }
236
+ }
237
237
 
238
- <ng-container *ngIf="hasCategories">
239
- <ng-container *ngFor="let category of optionsByCategory | keyvalue">
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
- <ng-container *ngFor="let option of category.value">
245
+ @for (option of category.value; track option) {
246
246
  <ng-container
247
247
  *ngTemplateOutlet="result; context: {option:option}"></ng-container>
248
- </ng-container>
248
+ }
249
249
  </div>
250
250
  </div>
251
- </ng-container>
252
- </ng-container>
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
- <ng-container *ngIf="option.description">
274
+ @if (option.description) {
275
275
  <div class="description">
276
276
  {{option.description}}
277
277
  </div>
278
- </ng-container>
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":";;;;;;;;;;;MAyFa,kBAAkB,CAAA;AA/E/B,IAAA,WAAA,GAAA;AAgFmB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAiB;QAEtD,IAAA,CAAA,UAAU,GAAoB,EAAE;QAChC,IAAA,CAAA,YAAY,GAAuB,IAAI;QACvC,IAAA,CAAA,cAAc,GAAkB,IAAI;QACpC,IAAA,CAAA,cAAc,GAAG,GAAG;QACJ,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,UAAU,GAAG,KAAK;;QAG1C,IAAA,CAAA,aAAa,GAAG,KAAK;QACrB,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,SAAS,GAAG,KAAK;QAClB,IAAA,CAAA,MAAM,GAAG,KAAK;QACd,IAAA,CAAA,UAAU,GAAG,EAAE;QACf,IAAA,CAAA,eAAe,GAAoB,EAAE;QACrC,IAAA,CAAA,cAAc,GAA8B,SAAS;AAyG7D,IAAA;AAvGC,IAAA,IAAI,OAAO,GAAA;QACT,OAAO;YACL,IAAI;AACJ,YAAA,IAAI,CAAC,YAAY;YACjB,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC/C,YAAA,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;YACrE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;YAClD,QAAQ;YACR,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;YACvD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO;AAChD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;AAEA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC;AACT,aAAA,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,KAAI;AACpB,YAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ;YACvC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,YAAA,OAAO,MAAM;QACf,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW;IAC1B;IAGO,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;IAGO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC5B;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QAErB,UAAU,CAAC,MAAK;;AAEd,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU;AAClC,qBAAA,IAAI,CAAC,CAAC,OAAO,KAAI;AAChB,oBAAA,IAAI,CAAC,eAAe,GAAG,OAAO;;AAG9B,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,gBAAA,CAAC;AACA,qBAAA,KAAK,CAAC,CAAC,GAAG,KAAI;AACb,oBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAClB,oBAAA,IAAI,CAAC,eAAe,GAAG,EAAE;;AAGzB,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,gBAAA,CAAC,CAAC;YACN;iBAAO;;AAEL,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;qBACzB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB;qBACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;;AAGnD,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;YACxB;YAEA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;AAC/C,QAAA,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;IACzB;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;IACvB;IAGO,SAAS,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AAEO,IAAA,aAAa,CAAC,MAAqB,EAAA;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;8GA3HW,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1EnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA3ES,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,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,iBAAiB,0OAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAoFxC,UAAA,CAAA;AAAtB,IAAA,YAAY;AAA8B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AACpB,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;AAA6B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;2FAVxC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA/E9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AACzE,oBAAA,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwET,EAAA;AACF,iBAAA;;sBAEE;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBA8CA,YAAY;uBAAC,OAAO;;sBASpB,YAAY;uBAAC,gBAAgB;;sBA+C7B,YAAY;uBAAC,YAAY;;;MC9Lf,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,eAAe,EAAA,OAAA,EAAA,CANxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAGlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAGT,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,YANxB,kBAAkB,CAAA,EAAA,CAAA,CAAA;;2FAMT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
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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"}