@acorex/components 21.0.1-next.47 → 21.0.1-next.48

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 (184) hide show
  1. package/fesm2022/acorex-components-accordion.mjs +4 -4
  2. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  3. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  4. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  5. package/fesm2022/acorex-components-alert.mjs +2 -2
  6. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  7. package/fesm2022/acorex-components-audio-wave.mjs +2 -2
  8. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  9. package/fesm2022/acorex-components-avatar.mjs +2 -2
  10. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  11. package/fesm2022/acorex-components-badge.mjs +2 -2
  12. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  13. package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
  14. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  15. package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
  16. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  17. package/fesm2022/acorex-components-button-group.mjs +2 -2
  18. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  19. package/fesm2022/acorex-components-button.mjs +4 -4
  20. package/fesm2022/acorex-components-button.mjs.map +1 -1
  21. package/fesm2022/acorex-components-calendar.mjs +4 -4
  22. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  23. package/fesm2022/acorex-components-check-box.mjs +2 -2
  24. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  25. package/fesm2022/acorex-components-chips.mjs +2 -2
  26. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  27. package/fesm2022/acorex-components-circular-progress.mjs +2 -2
  28. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  29. package/fesm2022/acorex-components-color-box.mjs +2 -2
  30. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-color-palette.mjs +3 -3
  32. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  33. package/fesm2022/acorex-components-command.mjs +6 -4
  34. package/fesm2022/acorex-components-command.mjs.map +1 -1
  35. package/fesm2022/acorex-components-comment.mjs +76 -73
  36. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  37. package/fesm2022/acorex-components-conversation2.mjs +6 -6
  38. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  39. package/fesm2022/acorex-components-data-pager.mjs +2 -2
  40. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  41. package/fesm2022/acorex-components-data-table.mjs +37 -17
  42. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  43. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  44. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  45. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  46. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  47. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  48. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  49. package/fesm2022/acorex-components-decorators.mjs +8 -8
  50. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  51. package/fesm2022/acorex-components-dialog.mjs +2 -2
  52. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  53. package/fesm2022/acorex-components-drawer.mjs +4 -4
  54. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  55. package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
  56. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  57. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  58. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  59. package/fesm2022/acorex-components-editor.mjs +2 -2
  60. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  61. package/fesm2022/acorex-components-flow-chart.mjs +1 -1
  62. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  63. package/fesm2022/acorex-components-form.mjs +17 -5
  64. package/fesm2022/acorex-components-form.mjs.map +1 -1
  65. package/fesm2022/acorex-components-grid-layout-builder.mjs +33 -11
  66. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  67. package/fesm2022/acorex-components-image-editor.mjs +14 -14
  68. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  69. package/fesm2022/acorex-components-image.mjs +2 -2
  70. package/fesm2022/acorex-components-image.mjs.map +1 -1
  71. package/fesm2022/acorex-components-json-viewer.mjs +2 -2
  72. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  73. package/fesm2022/acorex-components-kanban.mjs +2 -2
  74. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  75. package/fesm2022/acorex-components-kbd.mjs +4 -4
  76. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  77. package/fesm2022/acorex-components-label.mjs +2 -2
  78. package/fesm2022/acorex-components-label.mjs.map +1 -1
  79. package/fesm2022/acorex-components-list.mjs +2 -2
  80. package/fesm2022/acorex-components-list.mjs.map +1 -1
  81. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  82. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  83. package/fesm2022/acorex-components-loading.mjs +4 -4
  84. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  85. package/fesm2022/acorex-components-map.mjs +2 -2
  86. package/fesm2022/acorex-components-map.mjs.map +1 -1
  87. package/fesm2022/acorex-components-media-viewer.mjs +10 -10
  88. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  89. package/fesm2022/acorex-components-menu.mjs +2 -2
  90. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  91. package/fesm2022/{acorex-components-modal-acorex-components-modal-vcOdgXSm.mjs → acorex-components-modal-acorex-components-modal-B03hJbP8.mjs} +4 -4
  92. package/fesm2022/{acorex-components-modal-acorex-components-modal-vcOdgXSm.mjs.map → acorex-components-modal-acorex-components-modal-B03hJbP8.mjs.map} +1 -1
  93. package/fesm2022/{acorex-components-modal-modal-content.component-BWi4rcCV.mjs → acorex-components-modal-modal-content.component-DrHm0mZ4.mjs} +4 -4
  94. package/fesm2022/{acorex-components-modal-modal-content.component-BWi4rcCV.mjs.map → acorex-components-modal-modal-content.component-DrHm0mZ4.mjs.map} +1 -1
  95. package/fesm2022/acorex-components-modal.mjs +1 -1
  96. package/fesm2022/acorex-components-navbar.mjs +2 -2
  97. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  98. package/fesm2022/acorex-components-notification.mjs +2 -2
  99. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  100. package/fesm2022/acorex-components-number-box.mjs +2 -2
  101. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  102. package/fesm2022/acorex-components-otp.mjs +2 -2
  103. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  104. package/fesm2022/acorex-components-paint.mjs +4 -4
  105. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  106. package/fesm2022/acorex-components-password-box.mjs +2 -2
  107. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  108. package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
  109. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  110. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  111. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  112. package/fesm2022/acorex-components-picker.mjs +10 -10
  113. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  114. package/fesm2022/acorex-components-popup.mjs +2 -2
  115. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  116. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  117. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  118. package/fesm2022/acorex-components-qrcode.mjs +2 -2
  119. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  120. package/fesm2022/acorex-components-query-builder.mjs +2 -2
  121. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  122. package/fesm2022/acorex-components-radio.mjs +2 -2
  123. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  124. package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
  125. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  126. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  127. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  128. package/fesm2022/acorex-components-rate-picker.mjs +2 -2
  129. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  130. package/fesm2022/acorex-components-rest-api-generator.mjs +4 -4
  131. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  132. package/fesm2022/acorex-components-result.mjs +2 -2
  133. package/fesm2022/acorex-components-result.mjs.map +1 -1
  134. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  135. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  136. package/fesm2022/acorex-components-scheduler.mjs +18 -18
  137. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  138. package/fesm2022/acorex-components-select-box.mjs +2 -2
  139. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-selection-list-2.mjs +2 -2
  141. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  142. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  143. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  144. package/fesm2022/acorex-components-side-menu.mjs +2 -2
  145. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  146. package/fesm2022/acorex-components-skeleton.mjs +2 -2
  147. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  148. package/fesm2022/acorex-components-sliding-item.mjs +2 -2
  149. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  150. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  151. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  152. package/fesm2022/acorex-components-switch.mjs +2 -2
  153. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  154. package/fesm2022/acorex-components-tabs.mjs +2 -2
  155. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  156. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  157. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  158. package/fesm2022/acorex-components-tag.mjs +2 -2
  159. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  160. package/fesm2022/acorex-components-text-area.mjs +2 -2
  161. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  162. package/fesm2022/acorex-components-text-box.mjs +6 -5
  163. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  164. package/fesm2022/acorex-components-time-duration.mjs +12 -2
  165. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  166. package/fesm2022/acorex-components-time-line.mjs +4 -4
  167. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  168. package/fesm2022/acorex-components-toast.mjs +2 -2
  169. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  170. package/fesm2022/acorex-components-toolbar.mjs +2 -2
  171. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  172. package/fesm2022/acorex-components-tooltip.mjs +2 -2
  173. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  174. package/fesm2022/acorex-components-uploader.mjs +6 -6
  175. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  176. package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
  177. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  178. package/package.json +4 -4
  179. package/types/acorex-components-command.d.ts +19 -12
  180. package/types/acorex-components-comment.d.ts +23 -22
  181. package/types/acorex-components-data-table.d.ts +13 -1
  182. package/types/acorex-components-grid-layout-builder.d.ts +15 -0
  183. package/types/acorex-components-text-box.d.ts +3 -2
  184. package/types/acorex-components-time-duration.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-command.mjs","sources":["../../../../packages/components/command/src/lib/command.component.ts","../../../../packages/components/command/src/lib/command.component.html","../../../../packages/components/command/src/lib/command.module.ts","../../../../packages/components/command/src/lib/command.type.ts","../../../../packages/components/command/src/acorex-components-command.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXComponent,\n AXFocusEvent,\n AXHtmlEvent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport {\n AXListNavigationDirective,\n AXListNavigationItemDirective,\n AXListNavigationModule,\n} from '@acorex/cdk/list-navigation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';\nimport { AXSearchBoxComponent, AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n forwardRef,\n input,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\nimport { AXCommandComponentEvent, CommandItem, CommandMenuItem } from './command.type';\n\n@Component({\n selector: 'ax-command',\n templateUrl: './command.component.html',\n styleUrl: './command.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXSearchBoxModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXListNavigationModule,\n AXKBDComponent,\n AXKBDItemComponent,\n AXAutoFocusDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n})\nexport class AXCommandComponent extends classes(MXInputBaseValueComponent<CommandMenuItem>, MXLookComponent) {\n protected searchValue = signal('');\n protected searchBox = viewChild<AXSearchBoxComponent>('f');\n readonly onSubmit = output<AXCommandComponentEvent>();\n readonly onEscape = output<AXHtmlEvent<KeyboardEvent>>();\n readonly onSearchBoxFocus = output<AXHtmlEvent<FocusEvent>>();\n readonly onSearchBoxBlur = output<AXHtmlEvent<FocusEvent>>();\n protected listNavigation = viewChild('l', { read: AXListNavigationDirective });\n private listNav = viewChild(AXListNavigationDirective);\n\n /**\n * The custom template used for rendering content.\n *\n * @param {TemplateRef<any>} customTemplate\n */\n customTemplate = input<TemplateRef<any>>();\n\n protected displayItems = computed<CommandItem[]>(() => {\n const searchValue = this.searchValue();\n let filtered: CommandItem[];\n if (searchValue) {\n filtered = this.filterRecursive(this.value?.items ?? [], searchValue);\n } else {\n filtered = [];\n }\n\n return filtered;\n });\n\n protected focusHandler(e: AXFocusEvent) {\n this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n\n protected blurHandler(e: AXFocusEvent) {\n this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n\n private filterRecursive(items: any[], value: string): any[] {\n const lowerSignal = value.toLowerCase();\n\n return items\n .map((item) => {\n const isMatch =\n item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n\n const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];\n\n if (isMatch || filteredChildren.length > 0) {\n return {\n ...item,\n children: filteredChildren,\n };\n }\n\n return null;\n })\n .filter(Boolean);\n }\n\n protected onItemClick(item: CommandItem) {\n this.onSubmit.emit({ data: item, component: this });\n }\n\n protected keyPress(e: AXHtmlEvent<KeyboardEvent>, item: CommandItem) {\n if (e.nativeEvent.key === 'Enter' || e.nativeEvent.code === 'Space') {\n e.nativeEvent.stopPropagation();\n e.nativeEvent.preventDefault();\n this.onSubmit.emit({ data: item, component: this });\n }\n }\n\n protected searchEscapeHandler(e: AXHtmlEvent<KeyboardEvent>) {\n if (e.nativeEvent.key === 'Escape') {\n this.onEscape.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n if (e.nativeEvent.key === 'ArrowDown') {\n this.listNavigation().focusOnIndex(0);\n }\n }\n\n protected closeHandler(e: AXHtmlEvent<KeyboardEvent>) {\n if (!this.listNav().activeIndex() && e.nativeEvent.key === 'ArrowUp') {\n this.searchBox().focus();\n }\n\n if (\n e.nativeEvent.key === 'ArrowUp' ||\n e.nativeEvent.key === 'ArrowDown' ||\n e.nativeEvent.key === 'Tab' ||\n e.nativeEvent.key === 'Shift'\n )\n return;\n\n this.searchBox().focus();\n }\n\n protected activeHandler(l: AXListNavigationDirective, i: AXListNavigationItemDirective) {\n l?.navigateTo(i);\n }\n}\n","<div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n look=\"fill\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n</div>\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-command-item-container\"\n [style.padding-inline-start.rem]=\"level * 0.625\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n<div class=\"ax-command-footer\">\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;', '&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AXCommandComponent } from './command.component';\n\nconst COMPONENT = [AXCommandComponent];\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommandModule {}\n","import { AXEvent } from '@acorex/cdk/common';\n\nexport type CommandItem = {\n id: string | number;\n text: string;\n icon?: string;\n href?: string;\n children?: CommandItem[];\n index?: number;\n data?: any;\n};\n\nexport type CommandMenuItem = {\n pinned?: { title: string; items: CommandItem[] };\n items: CommandItem[];\n};\n\nexport class AXCommandComponentEvent extends AXEvent {\n data: CommandItem;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-command.mjs","sources":["../../../../packages/components/command/src/lib/command.component.ts","../../../../packages/components/command/src/lib/command.component.html","../../../../packages/components/command/src/lib/command.module.ts","../../../../packages/components/command/src/lib/command.type.ts","../../../../packages/components/command/src/acorex-components-command.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXComponent,\n AXFocusEvent,\n AXHtmlEvent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport {\n AXListNavigationDirective,\n AXListNavigationItemDirective,\n AXListNavigationModule,\n} from '@acorex/cdk/list-navigation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';\nimport { AXSearchBoxComponent, AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n forwardRef,\n input,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\nimport { AXCommandComponentEvent, AXCommandFooter, AXCommandItem, AXCommandMenuItem } from './command.type';\n\n@Component({\n selector: 'ax-command',\n templateUrl: './command.component.html',\n styleUrl: './command.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXSearchBoxModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXListNavigationModule,\n AXKBDComponent,\n AXKBDItemComponent,\n AXAutoFocusDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n})\nexport class AXCommandComponent extends classes(MXInputBaseValueComponent<AXCommandMenuItem>, MXLookComponent) {\n protected searchValue = signal('');\n protected searchBox = viewChild<AXSearchBoxComponent>('f');\n readonly onSubmit = output<AXCommandComponentEvent>();\n readonly onEscape = output<AXHtmlEvent<KeyboardEvent>>();\n readonly onSearchBoxFocus = output<AXHtmlEvent<FocusEvent>>();\n readonly onSearchBoxBlur = output<AXHtmlEvent<FocusEvent>>();\n protected listNavigation = viewChild('l', { read: AXListNavigationDirective });\n private listNav = viewChild(AXListNavigationDirective);\n\n /**\n * The custom template used for rendering content.\n *\n * @param {TemplateRef<any>} customTemplate\n */\n customTemplate = input<TemplateRef<any>>();\n\n searchBar = input(true);\n\n footerButtons = input<AXCommandFooter>({ navigation: true, select: true, close: true });\n\n protected displayItems = computed<AXCommandItem[]>(() => {\n const searchValue = this.searchValue();\n let filtered: AXCommandItem[];\n if (searchValue) {\n filtered = this.filterRecursive(this.value?.items ?? [], searchValue);\n } else {\n filtered = [];\n }\n\n return filtered;\n });\n\n protected focusHandler(e: AXFocusEvent) {\n this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n\n protected blurHandler(e: AXFocusEvent) {\n this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n\n private filterRecursive(items: any[], value: string): any[] {\n const lowerSignal = value.toLowerCase();\n\n return items\n .map((item) => {\n const isMatch =\n item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n\n const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];\n\n if (isMatch || filteredChildren.length > 0) {\n return {\n ...item,\n children: filteredChildren,\n };\n }\n\n return null;\n })\n .filter(Boolean);\n }\n\n protected onItemClick(item: AXCommandItem) {\n this.onSubmit.emit({ data: item, component: this });\n }\n\n protected keyPress(e: AXHtmlEvent<KeyboardEvent>, item: AXCommandItem) {\n if (e.nativeEvent.key === 'Enter' || e.nativeEvent.code === 'Space') {\n e.nativeEvent.stopPropagation();\n e.nativeEvent.preventDefault();\n this.onSubmit.emit({ data: item, component: this });\n }\n }\n\n protected searchEscapeHandler(e: AXHtmlEvent<KeyboardEvent>) {\n if (e.nativeEvent.key === 'Escape') {\n this.onEscape.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n if (e.nativeEvent.key === 'ArrowDown') {\n this.listNavigation().focusOnIndex(0);\n }\n }\n\n protected closeHandler(e: AXHtmlEvent<KeyboardEvent>) {\n if (!this.listNav().activeIndex() && e.nativeEvent.key === 'ArrowUp') {\n this.searchBox().focus();\n }\n\n if (\n e.nativeEvent.key === 'ArrowUp' ||\n e.nativeEvent.key === 'ArrowDown' ||\n e.nativeEvent.key === 'Tab' ||\n e.nativeEvent.key === 'Shift'\n )\n return;\n\n this.searchBox().focus();\n }\n\n protected activeHandler(l: AXListNavigationDirective, i: AXListNavigationItemDirective) {\n l?.navigateTo(i);\n }\n}\n","@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n}\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-command-item-container ax-remove-default-select-style\"\n [style.padding-inline-start.rem]=\"level * 0.625\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\n <div class=\"ax-command-footer\">\n @if (footerButtons().navigation) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n }\n\n @if (footerButtons().select) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n }\n\n @if (footerButtons().close) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { AXCommandComponent } from './command.component';\n\nconst COMPONENT = [AXCommandComponent];\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommandModule {}\n","import { AXEvent } from '@acorex/cdk/common';\n\nexport type AXCommandItem = {\n id: string | number;\n text: string;\n icon?: string;\n href?: string;\n children?: AXCommandItem[];\n index?: number;\n data?: any;\n};\n\nexport type AXCommandMenuItem = {\n pinned?: { title: string; items: AXCommandItem[] | any[] };\n items: AXCommandItem[] | any[];\n};\n\nexport class AXCommandComponentEvent extends AXEvent {\n data: AXCommandItem;\n}\n\nexport type AXCommandFooter = { navigation: boolean; select: boolean; close: boolean };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import { AXComponent } from '@acorex/cdk/common';
2
- import { isPlatformBrowser, AsyncPipe, CommonModule } from '@angular/common';
2
+ import { isPlatformBrowser, AsyncPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, DOCUMENT, PLATFORM_ID, ViewEncapsulation, Component, contentChild, viewChild, input, afterNextRender, model, NgModule } from '@angular/core';
5
- import * as i1 from '@acorex/components/accordion';
6
- import { AXAccordionModule } from '@acorex/components/accordion';
4
+ import { inject, DOCUMENT, PLATFORM_ID, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChild, input, model, afterNextRender, NgModule } from '@angular/core';
7
5
  import { AXAvatarComponent } from '@acorex/components/avatar';
8
6
  import { AXTranslatorPipe, AXTranslationModule } from '@acorex/core/translation';
9
7
  import { AXDecoratorIconComponent, AXDecoratorGenericComponent, AXDecoratorModule } from '@acorex/components/decorators';
10
8
  import { AXButtonModule } from '@acorex/components/button';
11
- import { AXCollapseModule } from '@acorex/components/collapse';
12
9
  import { AXTextAreaModule } from '@acorex/components/text-area';
13
10
  import { AXWysiwygModule } from '@acorex/components/wysiwyg';
14
11
 
@@ -26,30 +23,23 @@ class AXCommentContainerComponent {
26
23
  * Scrolls to a specific comment reply by its ID and highlights it temporarily.
27
24
  *
28
25
  * @param id - The ID of the comment reply to scroll to
29
- * @returns void
30
26
  */
31
27
  scrollToReply(id) {
32
- if (isPlatformBrowser(this.platformID)) {
33
- const el = this.document.querySelector(`ax-comment-item[id=${id}]`);
34
- if (!el)
35
- return;
36
- el.scrollIntoView({ behavior: 'smooth', block: 'center' });
37
- const content = el?.firstElementChild?.children[1];
38
- const prevBg = content.style.background;
39
- content.style.borderRadius = '0.25rem';
40
- content.style.transition = 'background 1s ease-in-out';
41
- content.style.background = '#e2fffc';
42
- setTimeout(() => {
43
- content.style.background = prevBg || 'rgba(0, 0, 0, 0)';
44
- }, 1000);
45
- }
28
+ if (!isPlatformBrowser(this.platformID))
29
+ return;
30
+ const el = this.document.querySelector(`ax-comment-item[id="${id}"]`);
31
+ if (!el)
32
+ return;
33
+ el.scrollIntoView({ behavior: 'smooth', block: 'center' });
34
+ el.classList.add('ax-state-highlight');
35
+ setTimeout(() => el.classList.remove('ax-state-highlight'), 1500);
46
36
  }
47
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentContainerComponent, isStandalone: true, selector: "ax-comment-container", providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], ngImport: i0, template: "<ng-content> </ng-content>\n", styles: ["ax-comment-container{width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentContainerComponent, isStandalone: true, selector: "ax-comment-container", providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["ax-comment-container{display:block;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
39
  }
50
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentContainerComponent, decorators: [{
51
41
  type: Component,
52
- args: [{ selector: 'ax-comment-container', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], template: "<ng-content> </ng-content>\n", styles: ["ax-comment-container{width:100%}\n"] }]
42
+ args: [{ selector: 'ax-comment-container', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], styles: ["ax-comment-container{display:block;width:100%}\n"] }]
53
43
  }] });
54
44
 
55
45
  /**
@@ -58,43 +48,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
58
48
  * @category Components
59
49
  */
60
50
  class AXCommentItemComponent {
61
- /**
62
- * @ignore
63
- */
64
51
  constructor() {
65
- /**
66
- * @ignore
67
- */
68
52
  this.avatar = contentChild(AXAvatarComponent, ...(ngDevMode ? [{ debugName: "avatar" }] : []));
69
- this.collapse = viewChild('c', ...(ngDevMode ? [{ debugName: "collapse" }] : []));
70
53
  this.replyCount = input(...(ngDevMode ? [undefined, { debugName: "replyCount" }] : []));
54
+ /** Two-way bindable state controlling whether nested replies are visible. */
55
+ this.repliesExpanded = model(false, ...(ngDevMode ? [{ debugName: "repliesExpanded" }] : []));
71
56
  afterNextRender(() => {
72
57
  this.avatar()?.size?.set(40);
73
58
  });
74
59
  }
75
- toggleCollapse() {
76
- this.collapse().toggle();
60
+ toggleReplies() {
61
+ this.repliesExpanded.update((v) => !v);
62
+ }
63
+ showReplies() {
64
+ this.repliesExpanded.set(true);
65
+ }
66
+ hideReplies() {
67
+ this.repliesExpanded.set(false);
77
68
  }
78
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXCommentItemComponent, isStandalone: true, selector: "ax-comment-item", inputs: { replyCount: { classPropertyName: "replyCount", publicName: "replyCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], queries: [{ propertyName: "avatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "collapse", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-accordion-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-accordion-item\n #c\n [caption]=\"\n ('@acorex:comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-accordion-item>\n </ax-accordion-group>\n </div>\n }\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-items{margin-bottom:calc(var(--spacing,.25rem)*1)}.ax-comment-items .ax-header-container{justify-content:space-between;align-items:center;display:flex}.ax-comment-items .ax-header-container .ax-title-avatar-container{align-items:center;display:flex}.ax-comment-items .ax-header-container ax-title{padding:calc(var(--spacing,.25rem)*2);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.ax-comment-items .ax-content-container{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));opacity:.8;flex-direction:column;margin-inline-start:calc(var(--spacing,.25rem)*12);display:flex}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:calc(var(--spacing,.25rem)*3);display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:calc(var(--spacing,.25rem)*6)}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:calc(var(--spacing,.25rem)*8)}.ax-comment-items .ax-comment-replies .ax-accordion-header-container{justify-content:flex-start;gap:calc(var(--spacing,.25rem)*4);color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)));display:flex}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXAccordionModule }, { kind: "component", type: i1.AXAccordionItemComponent, selector: "ax-accordion-item", inputs: ["isCollapsed", "icon", "caption", "isLoading", "headerTemplate", "look", "disabled"], outputs: ["isCollapsedChange", "isLoadingChange", "onClick"] }, { kind: "component", type: i1.AXAccordionGroupComponent, selector: "ax-accordion-group", inputs: ["accordion", "activeIndex", "look", "collapsedOnItemClick"], outputs: ["activeIndexChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXCommentItemComponent, isStandalone: true, selector: "ax-comment-item", inputs: { replyCount: { classPropertyName: "replyCount", publicName: "replyCount", isSignal: true, isRequired: false, transformFunction: null }, repliesExpanded: { classPropertyName: "repliesExpanded", publicName: "repliesExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { repliesExpanded: "repliesExpandedChange" }, providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], queries: [{ propertyName: "avatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-comment-header\">\n <div class=\"ax-comment-header-start\">\n <ng-content select=\"ax-avatar\" />\n <div class=\"ax-comment-header-content\">\n <ng-content select=\"ax-title\" />\n <ng-content select=\"ax-comment-date\" />\n </div>\n </div>\n <ng-content select=\"ax-comment-menu-options\" />\n</div>\n\n<div class=\"ax-comment-body\">\n <ng-content select=\"ax-content\" />\n <div class=\"ax-comment-actions\">\n <ng-content select=\"ax-comment-like\" />\n <ng-content select=\"ax-comment-reply-text\" />\n </div>\n</div>\n\n@if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <span class=\"ax-comment-replies-toggle\" (click)=\"toggleReplies()\">\n {{ (repliesExpanded() ? '@acorex:comment.hide' : '@acorex:comment.view') | translate | async }}\n {{ replyCount() }}\n {{ (replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async }}\n </span>\n @if (repliesExpanded()) {\n <div class=\"ax-comment-replies-content\">\n <ng-content select=\"ax-comment-item\" />\n <ng-content select=\"ax-comment-reply-more\" />\n </div>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial;--tw-font-weight:initial}}}@layer components{ax-comment-item{padding:calc(var(--spacing,.25rem) * 1);transition-property:background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:1s;--tw-ease:var(--ease-in-out,cubic-bezier(.4, 0, .2, 1));transition-duration:1s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4, 0, .2, 1));border-radius:.25rem;display:block}ax-comment-item:not(:last-child){margin-bottom:calc(var(--spacing,.25rem) * 4)}ax-comment-item.ax-state-highlight{background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-comment-item .ax-comment-header{justify-content:space-between;align-items:center;display:flex}ax-comment-item .ax-comment-header .ax-comment-header-start{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-comment-item .ax-comment-header .ax-comment-header-start .ax-comment-header-content{align-items:baseline;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-comment-item .ax-comment-header ax-title{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-comment-item .ax-comment-body{padding-top:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));margin-inline-start:calc(var(--spacing,.25rem) * 12)}ax-comment-item .ax-comment-actions{margin-top:calc(var(--spacing,.25rem) * 2);align-items:center;gap:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));display:flex}ax-comment-item .ax-comment-actions ax-comment-like,ax-comment-item .ax-comment-actions ax-comment-reply-text{cursor:pointer;-webkit-user-select:none;user-select:none}ax-comment-item .ax-comment-replies{margin-inline-start:calc(var(--spacing,.25rem) * 10);margin-top:calc(var(--spacing,.25rem) * 2)}ax-comment-item .ax-comment-replies .ax-comment-replies-toggle{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-primary-surface));-webkit-user-select:none;user-select:none;display:inline-flex}ax-comment-item .ax-comment-replies .ax-comment-replies-toggle:hover{text-decoration-line:underline}ax-comment-item .ax-comment-replies .ax-comment-replies-content{margin-top:calc(var(--spacing,.25rem) * 2)}ax-comment-item .ax-comment-replies ax-comment-reply-more{cursor:pointer;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-primary-surface))}ax-comment-item .ax-comment-replies ax-comment-reply-more:hover{text-decoration-line:underline}}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
71
  }
81
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentItemComponent, decorators: [{
82
73
  type: Component,
83
- args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, imports: [AXAccordionModule, AXTranslatorPipe, AsyncPipe], providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-accordion-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-accordion-item\n #c\n [caption]=\"\n ('@acorex:comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-accordion-item>\n </ax-accordion-group>\n </div>\n }\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-items{margin-bottom:calc(var(--spacing,.25rem)*1)}.ax-comment-items .ax-header-container{justify-content:space-between;align-items:center;display:flex}.ax-comment-items .ax-header-container .ax-title-avatar-container{align-items:center;display:flex}.ax-comment-items .ax-header-container ax-title{padding:calc(var(--spacing,.25rem)*2);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.ax-comment-items .ax-content-container{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));opacity:.8;flex-direction:column;margin-inline-start:calc(var(--spacing,.25rem)*12);display:flex}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:calc(var(--spacing,.25rem)*3);display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:calc(var(--spacing,.25rem)*6)}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:calc(var(--spacing,.25rem)*8)}.ax-comment-items .ax-comment-replies .ax-accordion-header-container{justify-content:flex-start;gap:calc(var(--spacing,.25rem)*4);color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)));display:flex}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
84
- }], ctorParameters: () => [], propDecorators: { avatar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AXAvatarComponent), { isSignal: true }] }], collapse: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], replyCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "replyCount", required: false }] }] } });
74
+ args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXTranslatorPipe, AsyncPipe], providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], template: "<div class=\"ax-comment-header\">\n <div class=\"ax-comment-header-start\">\n <ng-content select=\"ax-avatar\" />\n <div class=\"ax-comment-header-content\">\n <ng-content select=\"ax-title\" />\n <ng-content select=\"ax-comment-date\" />\n </div>\n </div>\n <ng-content select=\"ax-comment-menu-options\" />\n</div>\n\n<div class=\"ax-comment-body\">\n <ng-content select=\"ax-content\" />\n <div class=\"ax-comment-actions\">\n <ng-content select=\"ax-comment-like\" />\n <ng-content select=\"ax-comment-reply-text\" />\n </div>\n</div>\n\n@if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <span class=\"ax-comment-replies-toggle\" (click)=\"toggleReplies()\">\n {{ (repliesExpanded() ? '@acorex:comment.hide' : '@acorex:comment.view') | translate | async }}\n {{ replyCount() }}\n {{ (replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async }}\n </span>\n @if (repliesExpanded()) {\n <div class=\"ax-comment-replies-content\">\n <ng-content select=\"ax-comment-item\" />\n <ng-content select=\"ax-comment-reply-more\" />\n </div>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial;--tw-font-weight:initial}}}@layer components{ax-comment-item{padding:calc(var(--spacing,.25rem) * 1);transition-property:background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:1s;--tw-ease:var(--ease-in-out,cubic-bezier(.4, 0, .2, 1));transition-duration:1s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4, 0, .2, 1));border-radius:.25rem;display:block}ax-comment-item:not(:last-child){margin-bottom:calc(var(--spacing,.25rem) * 4)}ax-comment-item.ax-state-highlight{background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-comment-item .ax-comment-header{justify-content:space-between;align-items:center;display:flex}ax-comment-item .ax-comment-header .ax-comment-header-start{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-comment-item .ax-comment-header .ax-comment-header-start .ax-comment-header-content{align-items:baseline;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-comment-item .ax-comment-header ax-title{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-comment-item .ax-comment-body{padding-top:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));margin-inline-start:calc(var(--spacing,.25rem) * 12)}ax-comment-item .ax-comment-actions{margin-top:calc(var(--spacing,.25rem) * 2);align-items:center;gap:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));display:flex}ax-comment-item .ax-comment-actions ax-comment-like,ax-comment-item .ax-comment-actions ax-comment-reply-text{cursor:pointer;-webkit-user-select:none;user-select:none}ax-comment-item .ax-comment-replies{margin-inline-start:calc(var(--spacing,.25rem) * 10);margin-top:calc(var(--spacing,.25rem) * 2)}ax-comment-item .ax-comment-replies .ax-comment-replies-toggle{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-primary-surface));-webkit-user-select:none;user-select:none;display:inline-flex}ax-comment-item .ax-comment-replies .ax-comment-replies-toggle:hover{text-decoration-line:underline}ax-comment-item .ax-comment-replies .ax-comment-replies-content{margin-top:calc(var(--spacing,.25rem) * 2)}ax-comment-item .ax-comment-replies ax-comment-reply-more{cursor:pointer;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-primary-surface))}ax-comment-item .ax-comment-replies ax-comment-reply-more:hover{text-decoration-line:underline}}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"] }]
75
+ }], ctorParameters: () => [], propDecorators: { avatar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AXAvatarComponent), { isSignal: true }] }], replyCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "replyCount", required: false }] }], repliesExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "repliesExpanded", required: false }] }, { type: i0.Output, args: ["repliesExpandedChange"] }] } });
85
76
 
86
77
  /**
87
- * A component for displaying and managing date on a comment.
78
+ * A component for displaying date on a comment.
88
79
  *
89
80
  * @category Components
90
81
  */
91
82
  class AXCommentDateComponent {
92
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentDateComponent, isStandalone: true, selector: "ax-comment-date", providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-comment-date{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentDateComponent, isStandalone: true, selector: "ax-comment-date", providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{ax-comment-date{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
94
85
  }
95
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentDateComponent, decorators: [{
96
87
  type: Component,
97
- args: [{ selector: 'ax-comment-date', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-comment-date{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
88
+ args: [{ selector: 'ax-comment-date', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], styles: ["@layer components{ax-comment-date{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"] }]
98
89
  }] });
99
90
 
100
91
  /**
@@ -104,20 +95,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
104
95
  */
105
96
  class AXCommentLikeComponent {
106
97
  constructor() {
107
- /**
108
- * Indicates whether the comment is liked.
109
- */
110
98
  this.like = model.required(...(ngDevMode ? [{ debugName: "like" }] : []));
111
99
  }
112
- changeState() {
100
+ toggleLike() {
113
101
  this.like.update((prev) => !prev);
114
102
  }
115
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentLikeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXCommentLikeComponent, isStandalone: true, selector: "ax-comment-like", inputs: { like: { classPropertyName: "like", publicName: "like", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { like: "likeChange" }, providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], ngImport: i0, template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-like-container{align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}.ax-comment-like-container ax-icon{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}.ax-comment-like-container.ax-state-liked{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}.ax-comment-like-container.ax-state-liked ax-icon{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.ax-comment-like-container.ax-state-liked ax-text{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXCommentLikeComponent, isStandalone: true, selector: "ax-comment-like", inputs: { like: { classPropertyName: "like", publicName: "like", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { like: "likeChange" }, providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], ngImport: i0, template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"toggleLike()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content /></ax-text>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-like-container{align-items:center;gap:calc(var(--spacing,.25rem) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}.ax-comment-like-container ax-icon{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.ax-comment-like-container:hover:not(.ax-state-liked){color:var(--color-danger-400,rgba(var(--ax-sys-color-danger-400)))}.ax-comment-like-container.ax-state-liked{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}.ax-comment-like-container.ax-state-liked ax-icon{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
117
105
  }
118
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentLikeComponent, decorators: [{
119
107
  type: Component,
120
- args: [{ selector: 'ax-comment-like', imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-like-container{align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}.ax-comment-like-container ax-icon{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}.ax-comment-like-container.ax-state-liked{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}.ax-comment-like-container.ax-state-liked ax-icon{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.ax-comment-like-container.ax-state-liked ax-text{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
108
+ args: [{ selector: 'ax-comment-like', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"toggleLike()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content /></ax-text>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{.ax-comment-like-container{align-items:center;gap:calc(var(--spacing,.25rem) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}.ax-comment-like-container ax-icon{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.ax-comment-like-container:hover:not(.ax-state-liked){color:var(--color-danger-400,rgba(var(--ax-sys-color-danger-400)))}.ax-comment-like-container.ax-state-liked{color:var(--color-danger,rgba(var(--ax-sys-color-danger-surface)))}.ax-comment-like-container.ax-state-liked ax-icon{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"] }]
121
109
  }], propDecorators: { like: [{ type: i0.Input, args: [{ isSignal: true, alias: "like", required: true }] }, { type: i0.Output, args: ["likeChange"] }] } });
122
110
 
123
111
  /**
@@ -127,45 +115,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
127
115
  */
128
116
  class AXMenuOptionsComponent {
129
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXMenuOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXMenuOptionsComponent, isStandalone: true, selector: "ax-comment-menu-options", providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }], ngImport: i0, template: "<ng-content></ng-content>\n" }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXMenuOptionsComponent, isStandalone: true, selector: "ax-comment-menu-options", providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }], ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
131
119
  }
132
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXMenuOptionsComponent, decorators: [{
133
121
  type: Component,
134
- args: [{ selector: 'ax-comment-menu-options', providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }], template: "<ng-content></ng-content>\n" }]
122
+ args: [{
123
+ selector: 'ax-comment-menu-options',
124
+ template: '<ng-content />',
125
+ encapsulation: ViewEncapsulation.None,
126
+ changeDetection: ChangeDetectionStrategy.OnPush,
127
+ providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }],
128
+ }]
135
129
  }] });
136
130
 
131
+ /**
132
+ * A component for displaying "show more replies" action on a comment.
133
+ *
134
+ * @category Components
135
+ */
137
136
  class AXCommentReplyMoreComponent {
138
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentReplyMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentReplyMoreComponent, isStandalone: true, selector: "ax-comment-reply-more", providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }], ngImport: i0, template: "<ax-text><ng-content></ng-content></ax-text>\n", dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentReplyMoreComponent, isStandalone: true, selector: "ax-comment-reply-more", providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }], ngImport: i0, template: '<ax-text><ng-content /></ax-text>', isInline: true, dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
139
  }
141
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentReplyMoreComponent, decorators: [{
142
141
  type: Component,
143
- args: [{ selector: 'ax-comment-reply-more', imports: [AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }], template: "<ax-text><ng-content></ng-content></ax-text>\n" }]
142
+ args: [{
143
+ selector: 'ax-comment-reply-more',
144
+ template: '<ax-text><ng-content /></ax-text>',
145
+ encapsulation: ViewEncapsulation.None,
146
+ changeDetection: ChangeDetectionStrategy.OnPush,
147
+ imports: [AXDecoratorGenericComponent],
148
+ providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }],
149
+ }]
144
150
  }] });
145
151
 
152
+ /**
153
+ * A component for displaying the reply action text on a comment.
154
+ *
155
+ * @category Components
156
+ */
146
157
  class AXCommentReplyTextComponent {
147
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentReplyTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentReplyTextComponent, isStandalone: true, selector: "ax-comment-reply-text", providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }], ngImport: i0, template: "<ax-text>Reply</ax-text>\n", dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentReplyTextComponent, isStandalone: true, selector: "ax-comment-reply-text", providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }], ngImport: i0, template: `<ax-text>{{ '@acorex:comment.reply' | translate | async }}</ax-text>`, isInline: true, dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
149
160
  }
150
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentReplyTextComponent, decorators: [{
151
162
  type: Component,
152
- args: [{ selector: 'ax-comment-reply-text', imports: [AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }], template: "<ax-text>Reply</ax-text>\n" }]
163
+ args: [{
164
+ selector: 'ax-comment-reply-text',
165
+ template: `<ax-text>{{ '@acorex:comment.reply' | translate | async }}</ax-text>`,
166
+ encapsulation: ViewEncapsulation.None,
167
+ changeDetection: ChangeDetectionStrategy.OnPush,
168
+ imports: [AXDecoratorGenericComponent, AXTranslatorPipe, AsyncPipe],
169
+ providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }],
170
+ }]
153
171
  }] });
154
172
 
155
173
  /**
156
174
  * A component for viewing comments with their details.
175
+ *
157
176
  * @category Components
158
177
  */
159
178
  class AXCommentViewComponent {
160
179
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentViewComponent, isStandalone: true, selector: "ax-comment-view", providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], ngImport: i0, template: "<ng-content select=\"ax-comment-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{ax-comment-view{margin-bottom:calc(var(--spacing,.25rem)*4);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-lightest,rgba(var(--ax-sys-color-border-lightest-surface)));padding:calc(var(--spacing,.25rem)*6);display:block}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCommentViewComponent, isStandalone: true, selector: "ax-comment-view", providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], ngImport: i0, template: '<ng-content select="ax-comment-item" />', isInline: true, styles: ["ax-comment-view{display:block;margin-block-end:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
162
181
  }
163
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentViewComponent, decorators: [{
164
183
  type: Component,
165
- args: [{ selector: 'ax-comment-view', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], template: "<ng-content select=\"ax-comment-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{ax-comment-view{margin-bottom:calc(var(--spacing,.25rem)*4);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-lightest,rgba(var(--ax-sys-color-border-lightest-surface)));padding:calc(var(--spacing,.25rem)*6);display:block}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
184
+ args: [{ selector: 'ax-comment-view', template: '<ng-content select="ax-comment-item" />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], styles: ["ax-comment-view{display:block;margin-block-end:1rem}\n"] }]
166
185
  }] });
167
186
 
168
- const COMPONENT = [
187
+ const COMPONENTS = [
169
188
  AXCommentViewComponent,
170
189
  AXCommentContainerComponent,
171
190
  AXCommentItemComponent,
@@ -175,24 +194,10 @@ const COMPONENT = [
175
194
  AXCommentDateComponent,
176
195
  AXCommentReplyMoreComponent,
177
196
  ];
178
- const MODULES = [
179
- AXDecoratorModule,
180
- AXWysiwygModule,
181
- AXCollapseModule,
182
- AXButtonModule,
183
- AXTextAreaModule,
184
- AXTranslationModule,
185
- CommonModule,
186
- ];
197
+ const MODULES = [AXDecoratorModule, AXWysiwygModule, AXButtonModule, AXTextAreaModule, AXTranslationModule];
187
198
  class AXCommentModule {
188
199
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
189
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, imports: [AXDecoratorModule,
190
- AXWysiwygModule,
191
- AXCollapseModule,
192
- AXButtonModule,
193
- AXTextAreaModule,
194
- AXTranslationModule,
195
- CommonModule, AXCommentViewComponent,
200
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, imports: [AXDecoratorModule, AXWysiwygModule, AXButtonModule, AXTextAreaModule, AXTranslationModule, AXCommentViewComponent,
196
201
  AXCommentContainerComponent,
197
202
  AXCommentItemComponent,
198
203
  AXCommentLikeComponent,
@@ -207,17 +212,15 @@ class AXCommentModule {
207
212
  AXCommentReplyTextComponent,
208
213
  AXCommentDateComponent,
209
214
  AXCommentReplyMoreComponent] }); }
210
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, imports: [MODULES, AXCommentItemComponent,
211
- AXCommentLikeComponent,
215
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, imports: [MODULES, AXCommentLikeComponent,
212
216
  AXCommentReplyTextComponent,
213
217
  AXCommentReplyMoreComponent] }); }
214
218
  }
215
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCommentModule, decorators: [{
216
220
  type: NgModule,
217
221
  args: [{
218
- imports: [...MODULES, ...COMPONENT],
219
- exports: [...COMPONENT],
220
- providers: [],
222
+ imports: [...MODULES, ...COMPONENTS],
223
+ exports: [...COMPONENTS],
221
224
  }]
222
225
  }] });
223
226
 
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../packages/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../packages/components/comment/src/lib/comment-container/comment-container.component.html","../../../../packages/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../packages/components/comment/src/lib/comment-item/comment-item.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-date/comment-date.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.html","../../../../packages/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../packages/components/comment/src/lib/comment-view/comment-view.component.html","../../../../packages/components/comment/src/lib/comment.module.ts","../../../../packages/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Component, DOCUMENT, inject, PLATFORM_ID, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n templateUrl: './comment-container.component.html',\n styles: `\n ax-comment-container {\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }],\n})\nexport class AXCommentContainerComponent {\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n /**\n * Scrolls to a specific comment reply by its ID and highlights it temporarily.\n *\n * @param id - The ID of the comment reply to scroll to\n * @returns void\n */\n scrollToReply(id: string) {\n if (isPlatformBrowser(this.platformID)) {\n const el = this.document.querySelector(`ax-comment-item[id=${id}]`) as HTMLElement;\n if (!el) return;\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild?.children[1] as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n }\n}\n","<ng-content> </ng-content>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXAccordionModule } from '@acorex/components/accordion';\nimport { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXCollapseComponent } from '@acorex/components/collapse';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { afterNextRender, Component, contentChild, input, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n imports: [AXAccordionModule, AXTranslatorPipe, AsyncPipe],\n providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }],\n})\nexport class AXCommentItemComponent {\n /**\n * @ignore\n */\n protected avatar = contentChild(AXAvatarComponent);\n\n protected collapse = viewChild<AXCollapseComponent>('c');\n\n readonly replyCount = input<number>();\n\n /**\n * @ignore\n */\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleCollapse() {\n this.collapse().toggle();\n }\n}\n","<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-accordion-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-accordion-item\n #c\n [caption]=\"\n ('@acorex:comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-accordion-item>\n </ax-accordion-group>\n </div>\n }\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n templateUrl: './comment-date.component.html',\n styleUrl: './comment-date.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }],\n})\nexport class AXCommentDateComponent {}\n","<ng-content></ng-content>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { Component, model } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.compiled.css',\n imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }],\n})\nexport class AXCommentLikeComponent {\n /**\n * Indicates whether the comment is liked.\n */\n like = model.required<boolean>();\n\n protected changeState() {\n this.like.update((prev) => !prev);\n }\n}\n","<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n templateUrl: './comment-menu-options.component.html',\n providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }],\n})\nexport class AXMenuOptionsComponent {}\n","<ng-content></ng-content>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-more',\n templateUrl: './comment-reply-more.component.html',\n imports: [AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }],\n})\nexport class AXCommentReplyMoreComponent {}\n","<ax-text><ng-content></ng-content></ax-text>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-text',\n templateUrl: './comment-reply-text.component.html',\n imports: [AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }],\n})\nexport class AXCommentReplyTextComponent {}\n","<ax-text>Reply</ax-text>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n templateUrl: './comment-view.component.html',\n styleUrls: ['./comment-view.component.compiled.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }],\n})\nexport class AXCommentViewComponent {}\n","<ng-content select=\"ax-comment-item\"></ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AXCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\n\nconst COMPONENT = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AXCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\nconst MODULES = [\n AXDecoratorModule,\n AXWysiwygModule,\n AXCollapseModule,\n AXButtonModule,\n AXTextAreaModule,\n AXTranslationModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../packages/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../packages/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../packages/components/comment/src/lib/comment-item/comment-item.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../packages/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../packages/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../packages/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../packages/components/comment/src/lib/comment.module.ts","../../../../packages/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DOCUMENT, inject, PLATFORM_ID, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n template: '<ng-content />',\n styles: `\n ax-comment-container {\n display: block;\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }],\n})\nexport class AXCommentContainerComponent {\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n /**\n * Scrolls to a specific comment reply by its ID and highlights it temporarily.\n *\n * @param id - The ID of the comment reply to scroll to\n */\n scrollToReply(id: string) {\n if (!isPlatformBrowser(this.platformID)) return;\n\n const el = this.document.querySelector(`ax-comment-item[id=\"${id}\"]`) as HTMLElement;\n if (!el) return;\n\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n el.classList.add('ax-state-highlight');\n setTimeout(() => el.classList.remove('ax-state-highlight'), 1500);\n }\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, contentChild, input, model, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXTranslatorPipe, AsyncPipe],\n providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }],\n})\nexport class AXCommentItemComponent {\n protected avatar = contentChild(AXAvatarComponent);\n\n readonly replyCount = input<number>();\n\n /** Two-way bindable state controlling whether nested replies are visible. */\n readonly repliesExpanded = model(false);\n\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleReplies() {\n this.repliesExpanded.update((v) => !v);\n }\n\n showReplies() {\n this.repliesExpanded.set(true);\n }\n\n hideReplies() {\n this.repliesExpanded.set(false);\n }\n}\n","<div class=\"ax-comment-header\">\n <div class=\"ax-comment-header-start\">\n <ng-content select=\"ax-avatar\" />\n <div class=\"ax-comment-header-content\">\n <ng-content select=\"ax-title\" />\n <ng-content select=\"ax-comment-date\" />\n </div>\n </div>\n <ng-content select=\"ax-comment-menu-options\" />\n</div>\n\n<div class=\"ax-comment-body\">\n <ng-content select=\"ax-content\" />\n <div class=\"ax-comment-actions\">\n <ng-content select=\"ax-comment-like\" />\n <ng-content select=\"ax-comment-reply-text\" />\n </div>\n</div>\n\n@if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <span class=\"ax-comment-replies-toggle\" (click)=\"toggleReplies()\">\n {{ (repliesExpanded() ? '@acorex:comment.hide' : '@acorex:comment.view') | translate | async }}\n {{ replyCount() }}\n {{ (replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async }}\n </span>\n @if (repliesExpanded()) {\n <div class=\"ax-comment-replies-content\">\n <ng-content select=\"ax-comment-item\" />\n <ng-content select=\"ax-comment-reply-more\" />\n </div>\n }\n </div>\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n template: '<ng-content />',\n styleUrl: './comment-date.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }],\n})\nexport class AXCommentDateComponent {}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, model, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }],\n})\nexport class AXCommentLikeComponent {\n like = model.required<boolean>();\n\n protected toggleLike() {\n this.like.update((prev) => !prev);\n }\n}\n","<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"toggleLike()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content /></ax-text>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n template: '<ng-content />',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }],\n})\nexport class AXMenuOptionsComponent {}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying \"show more replies\" action on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-reply-more',\n template: '<ax-text><ng-content /></ax-text>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }],\n})\nexport class AXCommentReplyMoreComponent {}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying the reply action text on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-reply-text',\n template: `<ax-text>{{ '@acorex:comment.reply' | translate | async }}</ax-text>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorGenericComponent, AXTranslatorPipe, AsyncPipe],\n providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }],\n})\nexport class AXCommentReplyTextComponent {}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n template: '<ng-content select=\"ax-comment-item\" />',\n styles: `\n ax-comment-view {\n display: block;\n margin-block-end: 1rem;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }],\n})\nexport class AXCommentViewComponent {}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AXCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\n\nconst COMPONENTS = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AXCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\n\nconst MODULES = [AXDecoratorModule, AXWysiwygModule, AXButtonModule, AXTextAreaModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}