ngx-semantic 2.0.7-beta.1 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +18 -18
  2. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -13
  3. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
  4. package/fesm2022/ngx-semantic-collections-form.mjs +18 -17
  5. package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
  6. package/fesm2022/ngx-semantic-collections-grid.mjs +13 -13
  7. package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
  8. package/fesm2022/ngx-semantic-collections-menu.mjs +28 -19
  9. package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
  10. package/fesm2022/ngx-semantic-collections-message.mjs +16 -16
  11. package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
  12. package/fesm2022/ngx-semantic-collections-table.mjs +16 -16
  13. package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
  14. package/fesm2022/ngx-semantic-core-base.mjs +3 -3
  15. package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
  16. package/fesm2022/ngx-semantic-elements-button.mjs +10 -10
  17. package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
  18. package/fesm2022/ngx-semantic-elements-container.mjs +7 -7
  19. package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
  20. package/fesm2022/ngx-semantic-elements-divider.mjs +7 -7
  21. package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
  22. package/fesm2022/ngx-semantic-elements-flag.mjs +7 -7
  23. package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
  24. package/fesm2022/ngx-semantic-elements-header.mjs +10 -10
  25. package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
  26. package/fesm2022/ngx-semantic-elements-icon.mjs +10 -10
  27. package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
  28. package/fesm2022/ngx-semantic-elements-image.mjs +10 -10
  29. package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
  30. package/fesm2022/ngx-semantic-elements-input.mjs +7 -7
  31. package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
  32. package/fesm2022/ngx-semantic-elements-label.mjs +10 -10
  33. package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
  34. package/fesm2022/ngx-semantic-elements-list.mjs +10 -10
  35. package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
  36. package/fesm2022/ngx-semantic-elements-loader.mjs +7 -7
  37. package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
  38. package/fesm2022/ngx-semantic-elements-placeholder.mjs +19 -19
  39. package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
  40. package/fesm2022/ngx-semantic-elements-rail.mjs +7 -7
  41. package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
  42. package/fesm2022/ngx-semantic-elements-reveal.mjs +10 -10
  43. package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
  44. package/fesm2022/ngx-semantic-elements-segment.mjs +13 -13
  45. package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
  46. package/fesm2022/ngx-semantic-elements-steps.mjs +19 -19
  47. package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
  48. package/fesm2022/ngx-semantic-modules-accordion.mjs +10 -10
  49. package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
  50. package/fesm2022/ngx-semantic-modules-checkbox.mjs +7 -7
  51. package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
  52. package/fesm2022/ngx-semantic-modules-dimmer.mjs +26 -17
  53. package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
  54. package/fesm2022/ngx-semantic-modules-dropdown.mjs +19 -19
  55. package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
  56. package/fesm2022/ngx-semantic-modules-embed.mjs +10 -10
  57. package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
  58. package/fesm2022/ngx-semantic-modules-modal.mjs +16 -16
  59. package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
  60. package/fesm2022/ngx-semantic-modules-popup.mjs +10 -10
  61. package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
  62. package/fesm2022/ngx-semantic-modules-progress.mjs +7 -7
  63. package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
  64. package/fesm2022/ngx-semantic-modules-rating.mjs +7 -7
  65. package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
  66. package/fesm2022/ngx-semantic-modules-search.mjs +7 -7
  67. package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
  68. package/fesm2022/ngx-semantic-modules-select.mjs +13 -13
  69. package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
  70. package/fesm2022/ngx-semantic-modules-shape.mjs +10 -10
  71. package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
  72. package/fesm2022/ngx-semantic-modules-sidebar.mjs +16 -16
  73. package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
  74. package/fesm2022/ngx-semantic-modules-sticky.mjs +7 -7
  75. package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
  76. package/fesm2022/ngx-semantic-modules-tabs.mjs +10 -10
  77. package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
  78. package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
  79. package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
  80. package/fesm2022/ngx-semantic-modules-visibility.mjs +525 -0
  81. package/fesm2022/ngx-semantic-modules-visibility.mjs.map +1 -0
  82. package/fesm2022/ngx-semantic-views-advertisement.mjs +7 -7
  83. package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
  84. package/fesm2022/ngx-semantic-views-card.mjs +28 -28
  85. package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
  86. package/fesm2022/ngx-semantic-views-comment.mjs +31 -31
  87. package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
  88. package/fesm2022/ngx-semantic-views-feed.mjs +28 -28
  89. package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
  90. package/fesm2022/ngx-semantic-views-items.mjs +28 -28
  91. package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
  92. package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
  93. package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
  94. package/fesm2022/ngx-semantic.mjs +21 -9
  95. package/fesm2022/ngx-semantic.mjs.map +1 -1
  96. package/modules/transition/package.json +4 -0
  97. package/modules/visibility/package.json +4 -0
  98. package/package.json +9 -1
  99. package/types/ngx-semantic-modules-transition.d.ts +107 -0
  100. package/types/ngx-semantic-modules-visibility.d.ts +124 -0
  101. package/types/ngx-semantic.d.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-modules-search.mjs","sources":["../../src/modules/search/search.component.ts","../../src/modules/search/search.module.ts","../../src/modules/search/ngx-semantic-modules-search.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SuiInputDirective } from 'ngx-semantic/elements/input';\nimport { SuiIconDirective } from 'ngx-semantic/elements/icon';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { ISearchOption } from './interfaces/ISearchOption';\n\nexport type SuiSearchAlignment = 'right' | null;\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiInputDirective, SuiIconDirective],\n selector: 'sui-search',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div [ngClass]=\"classes\">\n @if (isSimple) {\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (!isSimple) {\n <div sui-input\n suiIcon=\"icon\">\n <ng-container\n *ngTemplateOutlet=\"input\"></ng-container>\n <i sui-icon\n suiIconType=\"search\"></i>\n </div>\n }\n\n <div class=\"results transition\"\n [class.visible]=\"isOpen\"\n [class.hidden]=\"!isOpen\"\n style=\"display: block !important;\">\n @if (!hasCategories) {\n @for (option of filteredOptions; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n }\n\n @if (hasCategories) {\n @for (category of optionsByCategory | keyvalue; track category.key) {\n <div class=\"category\">\n <div class=\"name\">\n {{category.key}}\n </div>\n <div class=\"results\">\n @for (option of category.value; track option) {\n <ng-container\n *ngTemplateOutlet=\"result; context: {option:option}\"></ng-container>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #input>\n <input class=\"prompt\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"suiPlaceholder\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onFocus()\"\n (keyup)=\"onSearch()\"/>\n </ng-template>\n\n <ng-template #result let-option='option'>\n <a class=\"result\"\n (click)=\"optionClicked(option)\">\n <div class=\"content\">\n <div class=\"title\">\n {{option.title}}\n </div>\n\n @if (option.description) {\n <div class=\"description\">\n {{option.description}}\n </div>\n }\n </div>\n </a>\n </ng-template>\n `\n})\nexport class SuiSearchComponent {\n @Output() public suiResultSelected = new EventEmitter<ISearchOption>();\n @Input() public suiOptionsLookup?: (query: string) => Promise<ISearchOption[]>;\n @Input() public suiOptions: ISearchOption[] = [];\n @Input() public suiAlignment: SuiSearchAlignment = null;\n @Input() public suiPlaceholder: string | null = null;\n @Input() public suiSearchDelay = 200;\n @Input() @InputBoolean() public suiShowIcon = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiLoading = false;\n\n // field to track whether there has been an outside click\n private isInsideClick = false;\n private isLoading = false;\n private isFocused = false;\n public isOpen = false;\n public searchTerm = '';\n public filteredOptions: ISearchOption[] = [];\n public selectedOption: ISearchOption | undefined = undefined;\n\n get classes(): string {\n return [\n 'ui',\n this.suiAlignment,\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiLoading || this.isLoading, 'loading'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n 'search',\n ClassUtils.getPropClass(this.hasCategories, 'category'),\n ClassUtils.getPropClass(this.isFocused, 'focus')\n ].join(' ');\n }\n\n get hasCategories(): boolean {\n return this.suiOptions.some((x) => !!x.category);\n }\n\n get optionsByCategory(): any {\n return this.filteredOptions\n .reduce((option, a) => {\n const category = a.category || '(None)';\n option[category] = option[category] || [];\n option[category].push(a);\n return option;\n }, Object.create(null));\n }\n\n get isSimple(): boolean {\n if (this.suiLoading) {\n return false;\n }\n\n return !this.suiShowIcon;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isInsideClick = true;\n }\n\n @HostListener('document:click')\n public onPageClick(): void {\n if (!this.isInsideClick) {\n this.isOpen = false;\n }\n\n this.isInsideClick = false;\n }\n\n public onSearch(): void {\n this.isLoading = true;\n\n setTimeout(() => {\n // if there is a lookup function, then use that\n if (this.suiOptionsLookup) {\n this.suiOptionsLookup(this.searchTerm)\n .then((results) => {\n this.filteredOptions = results;\n\n // indicate search is complete\n this.isLoading = false;\n })\n .catch((err) => {\n console.error(err);\n this.filteredOptions = [];\n\n // indicate search is complete\n this.isLoading = false;\n });\n } else {\n // limit the options displayed\n this.filteredOptions = this.suiOptions\n .filter((x) => x.title.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n\n // indicate search is complete\n this.isLoading = false;\n }\n\n this.isOpen = this.filteredOptions.length > 0;\n }, this.suiSearchDelay);\n }\n\n public onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('onfocusout')\n public onUnfocus(): void {\n this.isOpen = false;\n this.isFocused = false;\n }\n\n public optionClicked(option: ISearchOption): void {\n this.searchTerm = option.title;\n this.selectedOption = option;\n this.suiResultSelected.emit(option);\n this.isOpen = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSearchComponent } from './search.component';\n\n@NgModule({\n imports: [\n SuiSearchComponent\n ],\n exports: [\n SuiSearchComponent\n ]\n})\nexport class SuiSearchModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;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,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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"}
@@ -35,13 +35,13 @@ class SuiSelectMenuDirective {
35
35
  ClassUtils.getPropClass(this.isOpen, 'visible')
36
36
  ].join(' ');
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiSelectMenuDirective, isStandalone: true, selector: "[suiSelectMenu]", inputs: { suiDirection: "suiDirection", suiScrolling: "suiScrolling", suiIsOpen: "suiIsOpen" }, host: { properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, ngImport: i0 }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SuiSelectMenuDirective, isStandalone: true, selector: "[suiSelectMenu]", inputs: { suiDirection: "suiDirection", suiScrolling: "suiScrolling", suiIsOpen: "suiIsOpen" }, host: { properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, ngImport: i0 }); }
40
40
  }
41
41
  __decorate([
42
42
  InputBoolean()
43
43
  ], SuiSelectMenuDirective.prototype, "suiScrolling", void 0);
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectMenuDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  standalone: true,
@@ -75,8 +75,8 @@ class SuiSelectMenuItemDirective {
75
75
  ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')
76
76
  ].join(' ');
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiSelectMenuItemDirective, isStandalone: true, selector: "[suiSelectMenuItem]", inputs: { suiValue: "suiValue", suiSelected: "suiSelected", suiMultiple: "suiMultiple" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SuiSelectMenuItemDirective, isStandalone: true, selector: "[suiSelectMenuItem]", inputs: { suiValue: "suiValue", suiSelected: "suiSelected", suiMultiple: "suiMultiple" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 }); }
80
80
  }
81
81
  __decorate([
82
82
  InputBoolean()
@@ -84,7 +84,7 @@ __decorate([
84
84
  __decorate([
85
85
  InputBoolean()
86
86
  ], SuiSelectMenuItemDirective.prototype, "suiMultiple", void 0);
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectMenuItemDirective, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectMenuItemDirective, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
90
90
  standalone: true,
@@ -270,8 +270,8 @@ class SuiSelectComponent {
270
270
  setDisabledState(isDisabled) {
271
271
  this.disabled = isDisabled;
272
272
  }
273
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiSelectComponent, isStandalone: true, selector: "sui-select", inputs: { suiPlaceholder: "suiPlaceholder", suiSearch: "suiSearch", suiFluid: "suiFluid", suiInline: "suiInline", suiLoading: "suiLoading", suiError: "suiError", disabled: "disabled", suiScrolling: "suiScrolling", suiCompact: "suiCompact", name: "name", suiMultiple: "suiMultiple", suiOptions: "suiOptions" }, outputs: { suiSelectionChanged: "suiSelectionChanged" }, host: { listeners: { "click": "onClick()" }, properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, providers: [{
273
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: SuiSelectComponent, isStandalone: true, selector: "sui-select", inputs: { suiPlaceholder: "suiPlaceholder", suiSearch: "suiSearch", suiFluid: "suiFluid", suiInline: "suiInline", suiLoading: "suiLoading", suiError: "suiError", disabled: "disabled", suiScrolling: "suiScrolling", suiCompact: "suiCompact", name: "name", suiMultiple: "suiMultiple", suiOptions: "suiOptions" }, outputs: { suiSelectionChanged: "suiSelectionChanged" }, host: { listeners: { "click": "onClick()" }, properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, providers: [{
275
275
  provide: NG_VALUE_ACCESSOR,
276
276
  useExisting: forwardRef(() => SuiSelectComponent),
277
277
  multi: true
@@ -398,7 +398,7 @@ __decorate([
398
398
  __decorate([
399
399
  InputBoolean()
400
400
  ], SuiSelectComponent.prototype, "suiMultiple", void 0);
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectComponent, decorators: [{
401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectComponent, decorators: [{
402
402
  type: Component,
403
403
  args: [{
404
404
  standalone: true,
@@ -544,11 +544,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
544
544
  }] } });
545
545
 
546
546
  class SuiSelectModule {
547
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
548
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent], exports: [SuiSelectComponent] }); }
549
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent] }); }
547
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
548
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent], exports: [SuiSelectComponent] }); }
549
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, imports: [SuiSelectComponent] }); }
550
550
  }
551
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectModule, decorators: [{
551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiSelectModule, decorators: [{
552
552
  type: NgModule,
553
553
  args: [{
554
554
  exports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport { ISelectOptionImage } from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n @if (suiMultiple) {\n @for (option of selectedOptions; track option) {\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n }\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n }\n\n <!-- Search Section -->\n @if (suiSearch) {\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n }\n\n <!-- Display Section -->\n @if (!suiMultiple) {\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n @if (selectedOption) {\n @if (selectedOption.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n }\n @if (selectedOption.flag) {\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n }\n\n {{ selectedOption.text }}\n }\n\n @if (!selectedOption) {\n {{ suiPlaceholder }}\n }\n </div>\n }\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n @for (option of filteredOptions; track option) {\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n {{ option.text }}\n </div>\n }\n @if (hasNoSearchResults()) {\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n }\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent implements AfterViewInit, ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n @HostBinding('class')\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSelectComponent } from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport { ISelectOptionImage } from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n @if (suiMultiple) {\n @for (option of selectedOptions; track option) {\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n }\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n }\n\n <!-- Search Section -->\n @if (suiSearch) {\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n }\n\n <!-- Display Section -->\n @if (!suiMultiple) {\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n @if (selectedOption) {\n @if (selectedOption.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n }\n @if (selectedOption.flag) {\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n }\n\n {{ selectedOption.text }}\n }\n\n @if (!selectedOption) {\n {{ suiPlaceholder }}\n }\n </div>\n }\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n @for (option of filteredOptions; track option) {\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n {{ option.text }}\n </div>\n }\n @if (hasNoSearchResults()) {\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n }\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent implements AfterViewInit, ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n @HostBinding('class')\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSelectComponent } from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -25,8 +25,8 @@ class SuiShapeSideComponent {
25
25
  clearInlineStyles() {
26
26
  this.inlineStyles = {};
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: SuiShapeSideComponent, isStandalone: true, selector: "sui-shape-side", viewQueries: [{ propertyName: "root", first: true, predicate: ["root"], descendants: true, static: true }], ngImport: i0, template: `
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SuiShapeSideComponent, isStandalone: true, selector: "sui-shape-side", viewQueries: [{ propertyName: "root", first: true, predicate: ["root"], descendants: true, static: true }], ngImport: i0, template: `
30
30
  <div
31
31
  #root
32
32
  class="side"
@@ -38,7 +38,7 @@ class SuiShapeSideComponent {
38
38
  </div>
39
39
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeSideComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeSideComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{
44
44
  standalone: true,
@@ -549,8 +549,8 @@ class SuiShapeComponent {
549
549
  transform: 'rotateY(-180deg)'
550
550
  };
551
551
  }
552
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
553
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: SuiShapeComponent, isStandalone: true, selector: "sui-shape", inputs: { suiDuration: "suiDuration", suiWidth: "suiWidth", suiHeight: "suiHeight", suiJitter: "suiJitter", suiAllowRepeats: "suiAllowRepeats", suiCube: "suiCube", suiText: "suiText" }, outputs: { suiBeforeChange: "suiBeforeChange", suiOnChange: "suiOnChange" }, queries: [{ propertyName: "sideList", predicate: SuiShapeSideComponent }], viewQueries: [{ propertyName: "shapeEl", first: true, predicate: ["shapeEl"], descendants: true, static: true }, { propertyName: "sidesEl", first: true, predicate: ["sidesEl"], descendants: true, static: true }], exportAs: ["suiShape"], ngImport: i0, template: `
552
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
553
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SuiShapeComponent, isStandalone: true, selector: "sui-shape", inputs: { suiDuration: "suiDuration", suiWidth: "suiWidth", suiHeight: "suiHeight", suiJitter: "suiJitter", suiAllowRepeats: "suiAllowRepeats", suiCube: "suiCube", suiText: "suiText" }, outputs: { suiBeforeChange: "suiBeforeChange", suiOnChange: "suiOnChange" }, queries: [{ propertyName: "sideList", predicate: SuiShapeSideComponent }], viewQueries: [{ propertyName: "shapeEl", first: true, predicate: ["shapeEl"], descendants: true, static: true }, { propertyName: "sidesEl", first: true, predicate: ["sidesEl"], descendants: true, static: true }], exportAs: ["suiShape"], ngImport: i0, template: `
554
554
  <div
555
555
  #shapeEl
556
556
  class="ui shape"
@@ -573,7 +573,7 @@ __decorate([
573
573
  __decorate([
574
574
  InputBoolean()
575
575
  ], SuiShapeComponent.prototype, "suiText", void 0);
576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeComponent, decorators: [{
576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeComponent, decorators: [{
577
577
  type: Component,
578
578
  args: [{
579
579
  standalone: true,
@@ -625,11 +625,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
625
625
  }] } });
626
626
 
627
627
  class SuiShapeModule {
628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
629
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent], exports: [SuiShapeComponent, SuiShapeSideComponent] }); }
630
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent] }); }
628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
629
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent], exports: [SuiShapeComponent, SuiShapeSideComponent] }); }
630
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent] }); }
631
631
  }
632
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeModule, decorators: [{
632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiShapeModule, decorators: [{
633
633
  type: NgModule,
634
634
  args: [{
635
635
  imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-modules-shape.mjs","sources":["../../src/modules/shape/shape-side.component.ts","../../src/modules/shape/shape.component.ts","../../src/modules/shape/shape.module.ts","../../src/modules/shape/ngx-semantic-modules-shape.ts"],"sourcesContent":["/**\n * One face of a `sui-shape`. Renders the required Semantic UI `.side` markup.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-shape-side',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #root\n class=\"side\"\n [class.active]=\"styleActive\"\n [class.hidden]=\"styleHidden\"\n [class.animating]=\"styleAnimating\"\n [ngStyle]=\"inlineStyles\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class SuiShapeSideComponent {\n @ViewChild('root', { static: true }) root!: ElementRef<HTMLElement>;\n\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.active`. */\n public styleActive = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.hidden`. */\n public styleHidden = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.animating`. */\n public styleAnimating = false;\n /** Inline styles applied during 3D animation (transform, top, left). */\n public inlineStyles: Record<string, string | null> = {};\n\n public get nativeElement(): HTMLElement {\n return this.root.nativeElement;\n }\n\n public clearInlineStyles(): void {\n this.inlineStyles = {};\n }\n}\n","/**\n * Semantic UI [Shape](https://semantic-ui.com/modules/shape.html) module — Angular port of the\n * jQuery `$.fn.shape` behavior (3D CSS transforms). Include Semantic UI’s shape CSS in your app.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, QueryList, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\nexport type SuiShapeDimension = 'initial' | 'next' | number;\nexport type SuiShapeFlip =\n | 'flip up'\n | 'flip down'\n | 'flip left'\n | 'flip right'\n | 'flip over'\n | 'flip back';\n\nfunction outerHeightWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n}\n\nfunction outerWidthWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.width + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n}\n\nfunction getTransitionEventName(): string {\n const el = document.createElement('div');\n const transitions: Record<string, string> = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd'\n };\n for (const key of Object.keys(transitions)) {\n if ((el.style as unknown as Record<string, string>)[key] !== undefined) {\n return transitions[key];\n }\n }\n return 'transitionend';\n}\n\n@Component({\n standalone: true,\n imports: [CommonModule, SuiShapeSideComponent],\n selector: 'sui-shape',\n exportAs: 'suiShape',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #shapeEl\n class=\"ui shape\"\n [class.animating]=\"animating\"\n [class.cube]=\"suiCube\"\n [class.text]=\"suiText\"\n [ngStyle]=\"shapeInlineStyle\">\n <div #sidesEl class=\"sides\" [ngStyle]=\"sidesInlineStyle\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class SuiShapeComponent implements AfterContentInit, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly zone = inject(NgZone);\n\n @ContentChildren(SuiShapeSideComponent) private sideList!: QueryList<SuiShapeSideComponent>;\n @ViewChild('shapeEl', { static: true }) private shapeEl!: ElementRef<HTMLElement>;\n @ViewChild('sidesEl', { static: true }) private sidesEl!: ElementRef<HTMLElement>;\n\n /** Animation length in ms. `null` skips inline `transition-duration` (Semantic UI CSS defaults). */\n @Input() public suiDuration: number | null = null;\n /** Width during animation: initial size, next side’s size, or a fixed pixel width. */\n @Input() public suiWidth: SuiShapeDimension = 'initial';\n /** Height during animation: initial size, next side’s size, or a fixed pixel height. */\n @Input() public suiHeight: SuiShapeDimension = 'initial';\n /** Pixel fudge for 2D/3D rounding (matches Semantic UI `jitter`). */\n @Input() public suiJitter = 0;\n /** When false, flipping to the already-visible side is ignored. */\n @Input() @InputBoolean() public suiAllowRepeats = false;\n /** Adds the `cube` class (Semantic UI cube layout). */\n @Input() @InputBoolean() public suiCube = false;\n /** Adds the `text` class (Semantic UI text shape layout). */\n @Input() @InputBoolean() public suiText = false;\n\n @Output() public readonly suiBeforeChange = new EventEmitter<SuiShapeSideComponent>();\n @Output() public readonly suiOnChange = new EventEmitter<SuiShapeSideComponent>();\n\n public animating = false;\n public shapeInlineStyle: Record<string, string | null> = {};\n public sidesInlineStyle: Record<string, string | null> = {};\n\n private readonly transitionEnd = getTransitionEventName();\n private activeSide: SuiShapeSideComponent | null = null;\n private nextSide: SuiShapeSideComponent | null = null;\n private manualNextIndex: number | null = null;\n private readonly queue: SuiShapeFlip[] = [];\n private sidesChangeSub: { unsubscribe(): void } | null = null;\n\n public ngAfterContentInit(): void {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.sidesChangeSub = this.sideList.changes.subscribe(() => {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.cdr.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.sidesChangeSub?.unsubscribe();\n }\n\n /** Mirrors `shape('flip up')`. */\n public flipUp(): void {\n this.runFlip('flip up', () => {\n this.setStageSize();\n this.stageAbove();\n this.animate(this.getTransformUp());\n });\n }\n\n /** Mirrors `shape('flip down')`. */\n public flipDown(): void {\n this.runFlip('flip down', () => {\n this.setStageSize();\n this.stageBelow();\n this.animate(this.getTransformDown());\n });\n }\n\n /** Mirrors `shape('flip left')`. */\n public flipLeft(): void {\n this.runFlip('flip left', () => {\n this.setStageSize();\n this.stageLeft();\n this.animate(this.getTransformLeft());\n });\n }\n\n /** Mirrors `shape('flip right')`. */\n public flipRight(): void {\n this.runFlip('flip right', () => {\n this.setStageSize();\n this.stageRight();\n this.animate(this.getTransformRight());\n });\n }\n\n /** Mirrors `shape('flip over')`. */\n public flipOver(): void {\n this.runFlip('flip over', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformOver());\n });\n }\n\n /** Mirrors `shape('flip back')`. */\n public flipBack(): void {\n this.runFlip('flip back', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformBack());\n });\n }\n\n /**\n * Mirrors `shape('set next side', selector)` — `selector` is evaluated against the shape root\n * (each projected `.side` element).\n */\n public setNextSide(selector: string): void {\n const sides = this.sideList.toArray();\n const matched = sides.filter((s) => s.nativeElement.matches(selector));\n if (matched.length === 0) {\n this.setDefaultSide();\n return;\n }\n this.nextSide = matched[0];\n this.manualNextIndex = sides.indexOf(this.nextSide);\n }\n\n /** Mirrors `shape('is animating')`. */\n public isAnimating(): boolean {\n return this.animating;\n }\n\n /** Mirrors `shape('reset')` — clears inline animation styles. */\n public reset(): void {\n this.animating = false;\n this.shapeInlineStyle = {};\n this.sidesInlineStyle = {};\n for (const side of this.sideList.toArray()) {\n side.styleHidden = false;\n side.styleAnimating = false;\n side.clearInlineStyles();\n }\n this.cdr.markForCheck();\n }\n\n /** Mirrors `shape('repaint')` — forces layout. */\n public repaint(): void {\n const el = this.sidesEl?.nativeElement;\n if (el) {\n void el.offsetWidth;\n }\n }\n\n /** Mirrors `shape('refresh')` — re-syncs cached side references. */\n public refresh(): void {\n this.setDefaultSide();\n }\n\n /** Dispatches a named flip (useful when mirroring jQuery string APIs). */\n public flip(behavior: SuiShapeFlip): void {\n switch (behavior) {\n case 'flip up':\n this.flipUp();\n break;\n case 'flip down':\n this.flipDown();\n break;\n case 'flip left':\n this.flipLeft();\n break;\n case 'flip right':\n this.flipRight();\n break;\n case 'flip over':\n this.flipOver();\n break;\n case 'flip back':\n this.flipBack();\n break;\n }\n }\n\n private runFlip(name: SuiShapeFlip, run: () => void): void {\n if (this.sideList.length < 2) {\n return;\n }\n this.setDefaultSide();\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n if (this.isComplete() && !this.animating && !this.suiAllowRepeats) {\n return;\n }\n if (!this.animating) {\n run();\n } else {\n this.queue.push(name);\n }\n }\n\n private isComplete(): boolean {\n return this.activeSide !== null && this.nextSide !== null && this.activeSide === this.nextSide;\n }\n\n private ensureFirstSideActive(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n return;\n }\n if (!sides.some((s) => s.styleActive)) {\n sides[0].styleActive = true;\n }\n }\n\n private setDefaultSide(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n this.activeSide = null;\n this.nextSide = null;\n return;\n }\n const activeIdx = sides.findIndex((s) => s.styleActive);\n this.activeSide = activeIdx >= 0 ? sides[activeIdx] : sides[0];\n if (this.manualNextIndex !== null && this.manualNextIndex >= 0 && this.manualNextIndex < sides.length) {\n this.nextSide = sides[this.manualNextIndex];\n } else {\n const idx = sides.indexOf(this.activeSide);\n this.nextSide = idx < sides.length - 1 ? sides[idx + 1] : sides[0];\n }\n }\n\n private applyDurationToSides(): void {\n if (this.suiDuration === null || this.suiDuration === undefined) {\n return;\n }\n const d = `${this.suiDuration}ms`;\n const style = {\n transitionDuration: d,\n WebkitTransitionDuration: d,\n MozTransitionDuration: d,\n OTransitionDuration: d\n };\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...style };\n for (const side of this.sideList.toArray()) {\n side.inlineStyles = { ...side.inlineStyles, ...style };\n }\n }\n\n private setStageSize(): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const shape = this.shapeEl.nativeElement;\n const wMode = this.suiWidth;\n const hMode = this.suiHeight;\n let newWidth: number;\n let newHeight: number;\n if (wMode === 'next') {\n newWidth = outerWidthWithMargins(this.nextSide.nativeElement);\n } else if (wMode === 'initial') {\n newWidth = shape.offsetWidth;\n } else {\n newWidth = wMode;\n }\n if (hMode === 'next') {\n newHeight = outerHeightWithMargins(this.nextSide.nativeElement);\n } else if (hMode === 'initial') {\n newHeight = shape.offsetHeight;\n } else {\n newHeight = hMode;\n }\n this.shapeInlineStyle = {\n ...this.shapeInlineStyle,\n width: `${newWidth + this.suiJitter}px`,\n height: `${newHeight + this.suiJitter}px`\n };\n }\n\n private animate(finalSidesTransform: Record<string, string>): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const $active = this.activeSide;\n const $next = this.nextSide;\n this.suiBeforeChange.emit($next);\n\n const sidesEl = this.sidesEl.nativeElement;\n const onEnd = () => {\n this.zone.run(() => {\n this.finishAnimation();\n });\n };\n\n // Defer DOM-facing state to the next task so callers do not hit NG0100 when flipping from tests or templates.\n setTimeout(() => {\n this.zone.run(() => {\n this.animating = true;\n sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...finalSidesTransform };\n $active.styleHidden = true;\n this.cdr.markForCheck();\n });\n });\n }\n\n private finishAnimation(): void {\n this.reset();\n this.setActive();\n this.processQueue();\n this.cdr.markForCheck();\n }\n\n private setActive(): void {\n const sides = this.sideList.toArray();\n if (!this.nextSide) {\n return;\n }\n for (const s of sides) {\n s.styleActive = false;\n }\n this.nextSide.styleActive = true;\n this.suiOnChange.emit(this.nextSide);\n this.manualNextIndex = null;\n this.setDefaultSide();\n }\n\n private processQueue(): void {\n const next = this.queue.shift();\n if (next) {\n this.flip(next);\n }\n }\n\n private getTransformUp(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(-90deg)`\n };\n }\n\n private getTransformDown(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(90deg)`\n };\n }\n\n private getTransformLeft(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(90deg)`\n };\n }\n\n private getTransformRight(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(-90deg)`\n };\n }\n\n private getTransformOver(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(180deg)`\n };\n }\n\n private getTransformBack(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(-180deg)`\n };\n }\n\n private stageAbove(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBelow(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageLeft(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageRight(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBehind(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: 'rotateY(0deg)'\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: 'rotateY(-180deg)'\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuiShapeComponent } from './shape.component';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\n@NgModule({\n imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],\n exports: [SuiShapeComponent, SuiShapeSideComponent]\n})\nexport class SuiShapeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-semantic-modules-shape.mjs","sources":["../../src/modules/shape/shape-side.component.ts","../../src/modules/shape/shape.component.ts","../../src/modules/shape/shape.module.ts","../../src/modules/shape/ngx-semantic-modules-shape.ts"],"sourcesContent":["/**\n * One face of a `sui-shape`. Renders the required Semantic UI `.side` markup.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'sui-shape-side',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #root\n class=\"side\"\n [class.active]=\"styleActive\"\n [class.hidden]=\"styleHidden\"\n [class.animating]=\"styleAnimating\"\n [ngStyle]=\"inlineStyles\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class SuiShapeSideComponent {\n @ViewChild('root', { static: true }) root!: ElementRef<HTMLElement>;\n\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.active`. */\n public styleActive = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.hidden`. */\n public styleHidden = false;\n /** Driven by {@link SuiShapeComponent}; mirrors Semantic UI `.animating`. */\n public styleAnimating = false;\n /** Inline styles applied during 3D animation (transform, top, left). */\n public inlineStyles: Record<string, string | null> = {};\n\n public get nativeElement(): HTMLElement {\n return this.root.nativeElement;\n }\n\n public clearInlineStyles(): void {\n this.inlineStyles = {};\n }\n}\n","/**\n * Semantic UI [Shape](https://semantic-ui.com/modules/shape.html) module — Angular port of the\n * jQuery `$.fn.shape` behavior (3D CSS transforms). Include Semantic UI’s shape CSS in your app.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, QueryList, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\nexport type SuiShapeDimension = 'initial' | 'next' | number;\nexport type SuiShapeFlip =\n | 'flip up'\n | 'flip down'\n | 'flip left'\n | 'flip right'\n | 'flip over'\n | 'flip back';\n\nfunction outerHeightWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n}\n\nfunction outerWidthWithMargins(el: HTMLElement): number {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n return rect.width + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n}\n\nfunction getTransitionEventName(): string {\n const el = document.createElement('div');\n const transitions: Record<string, string> = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd'\n };\n for (const key of Object.keys(transitions)) {\n if ((el.style as unknown as Record<string, string>)[key] !== undefined) {\n return transitions[key];\n }\n }\n return 'transitionend';\n}\n\n@Component({\n standalone: true,\n imports: [CommonModule, SuiShapeSideComponent],\n selector: 'sui-shape',\n exportAs: 'suiShape',\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n #shapeEl\n class=\"ui shape\"\n [class.animating]=\"animating\"\n [class.cube]=\"suiCube\"\n [class.text]=\"suiText\"\n [ngStyle]=\"shapeInlineStyle\">\n <div #sidesEl class=\"sides\" [ngStyle]=\"sidesInlineStyle\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class SuiShapeComponent implements AfterContentInit, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly zone = inject(NgZone);\n\n @ContentChildren(SuiShapeSideComponent) private sideList!: QueryList<SuiShapeSideComponent>;\n @ViewChild('shapeEl', { static: true }) private shapeEl!: ElementRef<HTMLElement>;\n @ViewChild('sidesEl', { static: true }) private sidesEl!: ElementRef<HTMLElement>;\n\n /** Animation length in ms. `null` skips inline `transition-duration` (Semantic UI CSS defaults). */\n @Input() public suiDuration: number | null = null;\n /** Width during animation: initial size, next side’s size, or a fixed pixel width. */\n @Input() public suiWidth: SuiShapeDimension = 'initial';\n /** Height during animation: initial size, next side’s size, or a fixed pixel height. */\n @Input() public suiHeight: SuiShapeDimension = 'initial';\n /** Pixel fudge for 2D/3D rounding (matches Semantic UI `jitter`). */\n @Input() public suiJitter = 0;\n /** When false, flipping to the already-visible side is ignored. */\n @Input() @InputBoolean() public suiAllowRepeats = false;\n /** Adds the `cube` class (Semantic UI cube layout). */\n @Input() @InputBoolean() public suiCube = false;\n /** Adds the `text` class (Semantic UI text shape layout). */\n @Input() @InputBoolean() public suiText = false;\n\n @Output() public readonly suiBeforeChange = new EventEmitter<SuiShapeSideComponent>();\n @Output() public readonly suiOnChange = new EventEmitter<SuiShapeSideComponent>();\n\n public animating = false;\n public shapeInlineStyle: Record<string, string | null> = {};\n public sidesInlineStyle: Record<string, string | null> = {};\n\n private readonly transitionEnd = getTransitionEventName();\n private activeSide: SuiShapeSideComponent | null = null;\n private nextSide: SuiShapeSideComponent | null = null;\n private manualNextIndex: number | null = null;\n private readonly queue: SuiShapeFlip[] = [];\n private sidesChangeSub: { unsubscribe(): void } | null = null;\n\n public ngAfterContentInit(): void {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.sidesChangeSub = this.sideList.changes.subscribe(() => {\n this.ensureFirstSideActive();\n this.setDefaultSide();\n this.applyDurationToSides();\n this.cdr.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.sidesChangeSub?.unsubscribe();\n }\n\n /** Mirrors `shape('flip up')`. */\n public flipUp(): void {\n this.runFlip('flip up', () => {\n this.setStageSize();\n this.stageAbove();\n this.animate(this.getTransformUp());\n });\n }\n\n /** Mirrors `shape('flip down')`. */\n public flipDown(): void {\n this.runFlip('flip down', () => {\n this.setStageSize();\n this.stageBelow();\n this.animate(this.getTransformDown());\n });\n }\n\n /** Mirrors `shape('flip left')`. */\n public flipLeft(): void {\n this.runFlip('flip left', () => {\n this.setStageSize();\n this.stageLeft();\n this.animate(this.getTransformLeft());\n });\n }\n\n /** Mirrors `shape('flip right')`. */\n public flipRight(): void {\n this.runFlip('flip right', () => {\n this.setStageSize();\n this.stageRight();\n this.animate(this.getTransformRight());\n });\n }\n\n /** Mirrors `shape('flip over')`. */\n public flipOver(): void {\n this.runFlip('flip over', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformOver());\n });\n }\n\n /** Mirrors `shape('flip back')`. */\n public flipBack(): void {\n this.runFlip('flip back', () => {\n this.setStageSize();\n this.stageBehind();\n this.animate(this.getTransformBack());\n });\n }\n\n /**\n * Mirrors `shape('set next side', selector)` — `selector` is evaluated against the shape root\n * (each projected `.side` element).\n */\n public setNextSide(selector: string): void {\n const sides = this.sideList.toArray();\n const matched = sides.filter((s) => s.nativeElement.matches(selector));\n if (matched.length === 0) {\n this.setDefaultSide();\n return;\n }\n this.nextSide = matched[0];\n this.manualNextIndex = sides.indexOf(this.nextSide);\n }\n\n /** Mirrors `shape('is animating')`. */\n public isAnimating(): boolean {\n return this.animating;\n }\n\n /** Mirrors `shape('reset')` — clears inline animation styles. */\n public reset(): void {\n this.animating = false;\n this.shapeInlineStyle = {};\n this.sidesInlineStyle = {};\n for (const side of this.sideList.toArray()) {\n side.styleHidden = false;\n side.styleAnimating = false;\n side.clearInlineStyles();\n }\n this.cdr.markForCheck();\n }\n\n /** Mirrors `shape('repaint')` — forces layout. */\n public repaint(): void {\n const el = this.sidesEl?.nativeElement;\n if (el) {\n void el.offsetWidth;\n }\n }\n\n /** Mirrors `shape('refresh')` — re-syncs cached side references. */\n public refresh(): void {\n this.setDefaultSide();\n }\n\n /** Dispatches a named flip (useful when mirroring jQuery string APIs). */\n public flip(behavior: SuiShapeFlip): void {\n switch (behavior) {\n case 'flip up':\n this.flipUp();\n break;\n case 'flip down':\n this.flipDown();\n break;\n case 'flip left':\n this.flipLeft();\n break;\n case 'flip right':\n this.flipRight();\n break;\n case 'flip over':\n this.flipOver();\n break;\n case 'flip back':\n this.flipBack();\n break;\n }\n }\n\n private runFlip(name: SuiShapeFlip, run: () => void): void {\n if (this.sideList.length < 2) {\n return;\n }\n this.setDefaultSide();\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n if (this.isComplete() && !this.animating && !this.suiAllowRepeats) {\n return;\n }\n if (!this.animating) {\n run();\n } else {\n this.queue.push(name);\n }\n }\n\n private isComplete(): boolean {\n return this.activeSide !== null && this.nextSide !== null && this.activeSide === this.nextSide;\n }\n\n private ensureFirstSideActive(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n return;\n }\n if (!sides.some((s) => s.styleActive)) {\n sides[0].styleActive = true;\n }\n }\n\n private setDefaultSide(): void {\n const sides = this.sideList.toArray();\n if (sides.length === 0) {\n this.activeSide = null;\n this.nextSide = null;\n return;\n }\n const activeIdx = sides.findIndex((s) => s.styleActive);\n this.activeSide = activeIdx >= 0 ? sides[activeIdx] : sides[0];\n if (this.manualNextIndex !== null && this.manualNextIndex >= 0 && this.manualNextIndex < sides.length) {\n this.nextSide = sides[this.manualNextIndex];\n } else {\n const idx = sides.indexOf(this.activeSide);\n this.nextSide = idx < sides.length - 1 ? sides[idx + 1] : sides[0];\n }\n }\n\n private applyDurationToSides(): void {\n if (this.suiDuration === null || this.suiDuration === undefined) {\n return;\n }\n const d = `${this.suiDuration}ms`;\n const style = {\n transitionDuration: d,\n WebkitTransitionDuration: d,\n MozTransitionDuration: d,\n OTransitionDuration: d\n };\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...style };\n for (const side of this.sideList.toArray()) {\n side.inlineStyles = { ...side.inlineStyles, ...style };\n }\n }\n\n private setStageSize(): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const shape = this.shapeEl.nativeElement;\n const wMode = this.suiWidth;\n const hMode = this.suiHeight;\n let newWidth: number;\n let newHeight: number;\n if (wMode === 'next') {\n newWidth = outerWidthWithMargins(this.nextSide.nativeElement);\n } else if (wMode === 'initial') {\n newWidth = shape.offsetWidth;\n } else {\n newWidth = wMode;\n }\n if (hMode === 'next') {\n newHeight = outerHeightWithMargins(this.nextSide.nativeElement);\n } else if (hMode === 'initial') {\n newHeight = shape.offsetHeight;\n } else {\n newHeight = hMode;\n }\n this.shapeInlineStyle = {\n ...this.shapeInlineStyle,\n width: `${newWidth + this.suiJitter}px`,\n height: `${newHeight + this.suiJitter}px`\n };\n }\n\n private animate(finalSidesTransform: Record<string, string>): void {\n if (!this.activeSide || !this.nextSide) {\n return;\n }\n const $active = this.activeSide;\n const $next = this.nextSide;\n this.suiBeforeChange.emit($next);\n\n const sidesEl = this.sidesEl.nativeElement;\n const onEnd = () => {\n this.zone.run(() => {\n this.finishAnimation();\n });\n };\n\n // Defer DOM-facing state to the next task so callers do not hit NG0100 when flipping from tests or templates.\n setTimeout(() => {\n this.zone.run(() => {\n this.animating = true;\n sidesEl.addEventListener(this.transitionEnd, onEnd, { once: true });\n this.sidesInlineStyle = { ...this.sidesInlineStyle, ...finalSidesTransform };\n $active.styleHidden = true;\n this.cdr.markForCheck();\n });\n });\n }\n\n private finishAnimation(): void {\n this.reset();\n this.setActive();\n this.processQueue();\n this.cdr.markForCheck();\n }\n\n private setActive(): void {\n const sides = this.sideList.toArray();\n if (!this.nextSide) {\n return;\n }\n for (const s of sides) {\n s.styleActive = false;\n }\n this.nextSide.styleActive = true;\n this.suiOnChange.emit(this.nextSide);\n this.manualNextIndex = null;\n this.setDefaultSide();\n }\n\n private processQueue(): void {\n const next = this.queue.shift();\n if (next) {\n this.flip(next);\n }\n }\n\n private getTransformUp(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(-90deg)`\n };\n }\n\n private getTransformDown(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateY = -(outerHeightWithMargins($a) - outerHeightWithMargins($n)) / 2;\n const translateZ = -outerHeightWithMargins($a) / 2;\n return {\n transform: `translateY(${translateY}px) translateZ(${translateZ}px) rotateX(90deg)`\n };\n }\n\n private getTransformLeft(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(90deg)`\n };\n }\n\n private getTransformRight(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n const translateZ = -outerWidthWithMargins($a) / 2;\n return {\n transform: `translateX(${translateX}px) translateZ(${translateZ}px) rotateY(-90deg)`\n };\n }\n\n private getTransformOver(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(180deg)`\n };\n }\n\n private getTransformBack(): Record<string, string> {\n const $a = this.activeSide!.nativeElement;\n const $n = this.nextSide!.nativeElement;\n const translateX = -(outerWidthWithMargins($a) - outerWidthWithMargins($n)) / 2;\n return {\n transform: `translateX(${translateX}px) rotateY(-180deg)`\n };\n }\n\n private stageAbove(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBelow(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const ah = outerHeightWithMargins($a.nativeElement);\n const nh = outerHeightWithMargins($n.nativeElement);\n const origin = (ah - nh) / 2;\n const depthActive = nh / 2;\n const depthNext = ah / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n top: `${origin}px`,\n transform: `rotateX(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageLeft(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(-90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageRight(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n const depthActive = wn / 2;\n const depthNext = wa / 2;\n\n this.sidesInlineStyle = {\n ...this.sidesInlineStyle,\n transform: `translateZ(-${depthActive}px)`\n };\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: `rotateY(0deg) translateZ(${depthActive}px)`\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: `rotateY(90deg) translateZ(${depthNext}px)`\n };\n }\n\n private stageBehind(): void {\n const $a = this.activeSide!;\n const $n = this.nextSide!;\n const wa = outerWidthWithMargins($a.nativeElement);\n const wn = outerWidthWithMargins($n.nativeElement);\n const origin = (wa - wn) / 2;\n\n $a.inlineStyles = {\n ...$a.inlineStyles,\n transform: 'rotateY(0deg)'\n };\n $n.styleAnimating = true;\n $n.inlineStyles = {\n ...$n.inlineStyles,\n left: `${origin}px`,\n transform: 'rotateY(-180deg)'\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuiShapeComponent } from './shape.component';\nimport { SuiShapeSideComponent } from './shape-side.component';\n\n@NgModule({\n imports: [CommonModule, SuiShapeComponent, SuiShapeSideComponent],\n exports: [SuiShapeComponent, SuiShapeSideComponent]\n})\nexport class SuiShapeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}