@acorex/components 21.0.3-next.9 → 21.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/conversation/README.md +462 -2
- package/fesm2022/acorex-components-accordion.mjs +4 -4
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +2 -2
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +2 -2
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +17 -12
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +6 -6
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +6 -5
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -2
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +2 -2
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +2 -2
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -2
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +2 -2
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +6 -6
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs +101 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Duvap4M4.mjs +223 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Duvap4M4.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +22272 -1218
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +14 -14
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +2 -2
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +2 -2
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +2 -2
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +2 -2
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +2 -2
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +11 -18
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +3 -4
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +4 -4
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +2 -2
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +2 -2
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +740 -0
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -0
- package/fesm2022/acorex-components-flow-chart.mjs +6 -6
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +387 -188
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +2 -2
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +2 -2
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +2 -2
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +4 -6
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +16 -3
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +4 -4
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +2 -2
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +10 -10
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +4 -4
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs → acorex-components-modal-acorex-components-modal-dF5HUEBH.mjs} +4 -4
- package/fesm2022/acorex-components-modal-acorex-components-modal-dF5HUEBH.mjs.map +1 -0
- package/fesm2022/{acorex-components-modal-modal-content.component-t9kRuhc_.mjs → acorex-components-modal-modal-content.component-BGTYje3j.mjs} +4 -4
- package/fesm2022/acorex-components-modal-modal-content.component-BGTYje3j.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +2 -2
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -2
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +4 -4
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +4 -4
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +2 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +6 -6
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +3 -3
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +2 -2
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +2 -2
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +2 -2
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +10 -10
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +2 -2
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +40 -32
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +19 -22
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +4 -2
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +58 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +2 -2
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +2 -2
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +2 -2
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +2 -2
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +2 -2
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +2 -2
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +4 -4
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +2 -2
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +2 -2
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +6 -6
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +12 -10
- package/types/acorex-components-badge.d.ts +2 -4
- package/types/acorex-components-conversation.d.ts +6574 -479
- package/types/acorex-components-file-viewer.d.ts +180 -0
- package/types/acorex-components-image-editor.d.ts +74 -47
- package/types/acorex-components-kbd.d.ts +2 -2
- package/types/acorex-components-list.d.ts +19 -9
- package/types/acorex-components-scheduler-picker.d.ts +2 -0
- package/types/acorex-components-scheduler.d.ts +1 -3
- package/types/acorex-components-select-box.d.ts +6 -0
- package/conversation2/README.md +0 -463
- package/fesm2022/acorex-components-conversation2.mjs +0 -22194
- package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-t9kRuhc_.mjs.map +0 -1
- package/types/acorex-components-conversation2.d.ts +0 -6365
|
@@ -117,7 +117,7 @@ class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComp
|
|
|
117
117
|
},
|
|
118
118
|
{ provide: AXComponent, useExisting: AXCommandComponent },
|
|
119
119
|
{ provide: AXValuableComponent, useExisting: AXCommandComponent },
|
|
120
|
-
], viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "listNavigation", first: true, predicate: ["l"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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", 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-outline-style:solid;--tw-font-weight:initial;--tw-border-style:solid}}}@layer components{ax-command{border-radius:var(--radius-lg,.5rem);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:rgba(var(--ax-sys-color-border-light-surface));display:block;overflow:hidden}ax-command .ax-search-box-container{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:calc(var(--spacing,.25rem) * 3)}ax-command .ax-search-box-container:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{max-height:calc(var(--spacing,.25rem) * 80);background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface));overflow:auto}ax-command .ax-command-container:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{scrollbar-width:none;-ms-overflow-style:none}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:calc(var(--spacing,.25rem) * 3)}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{padding:calc(var(--spacing,.25rem) * 3);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-lighter-surface));display:block}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{background-color:rgba(var(--ax-sys-color-surface));width:100%;height:1px}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:calc(var(--spacing,.25rem) * 3)}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 2);border-width:1px;border-color:#0000}ax-command .ax-command-container .ax-command-item-container .ax-command-item{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{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-on-lightest-surface))}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-not-found{padding:calc(var(--spacing,.25rem) * 4);justify-content:center;display:flex}ax-command .ax-command-container .ax-remove-default-select-style{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:#0000}ax-command .ax-command-container .ax-command-item-container-active{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-command .ax-kbd{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 2);height:100%;display:flex}ax-command .ax-command-footer{align-items:center;gap:calc(var(--spacing,.25rem) * 6);border-bottom-right-radius:var(--radius-lg,.5rem);border-bottom-left-radius:var(--radius-lg,.5rem);background-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing,.25rem) * 3);color:rgba(var(--ax-sys-color-on-light-surface));display:flex}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-footer{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-light-surface)) 50%,transparent)}}ax-command .ax-command-footer .ax-kbd-footer{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{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-semibold,600);font-weight:var(--font-weight-semibold,600)}}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXKBDComponent, selector: "ax-kbd", inputs: ["look"] }, { kind: "component", type: AXKBDItemComponent, selector: "ax-kbd-item", inputs: ["keys", "join", "look"], outputs: ["lookChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
120
|
+
], viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "listNavigation", first: true, predicate: ["l"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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", styles: ["@layer properties;@layer components{ax-command{display:block;overflow:hidden;border-radius:var(--radius-lg, .5rem);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-search-box-container{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:calc(var(--spacing, .25rem) * 3)}ax-command .ax-search-box-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{max-height:calc(var(--spacing, .25rem) * 80);overflow:auto;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface));scrollbar-width:none;-ms-overflow-style:none}ax-command .ax-command-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{display:block;padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:transparent;padding:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{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-on-lightest-surface))}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-not-found{display:flex;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}ax-command .ax-command-container .ax-remove-default-select-style{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:transparent}ax-command .ax-command-container .ax-command-item-container-active{border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-command .ax-kbd{display:flex;height:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-footer{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 6);border-bottom-right-radius:var(--radius-lg, .5rem);border-bottom-left-radius:var(--radius-lg, .5rem);background-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing, .25rem) * 3);color:rgba(var(--ax-sys-color-on-light-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-footer{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-light-surface)) 50%,transparent)}}ax-command .ax-command-footer .ax-kbd-footer{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{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-semibold, 600);font-weight:var(--font-weight-semibold, 600)}}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@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-outline-style: solid;--tw-font-weight: initial;--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXKBDComponent, selector: "ax-kbd", inputs: ["look"] }, { kind: "component", type: AXKBDItemComponent, selector: "ax-kbd-item", inputs: ["keys", "join", "look"], outputs: ["lookChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
121
121
|
}
|
|
122
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommandComponent, decorators: [{
|
|
123
123
|
type: Component,
|
|
@@ -138,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
138
138
|
},
|
|
139
139
|
{ provide: AXComponent, useExisting: AXCommandComponent },
|
|
140
140
|
{ provide: AXValuableComponent, useExisting: AXCommandComponent },
|
|
141
|
-
], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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", 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-outline-style:solid;--tw-font-weight:initial;--tw-border-style:solid}}}@layer components{ax-command{border-radius:var(--radius-lg,.5rem);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:rgba(var(--ax-sys-color-border-light-surface));display:block;overflow:hidden}ax-command .ax-search-box-container{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:calc(var(--spacing,.25rem) * 3)}ax-command .ax-search-box-container:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{max-height:calc(var(--spacing,.25rem) * 80);background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface));overflow:auto}ax-command .ax-command-container:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{scrollbar-width:none;-ms-overflow-style:none}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:calc(var(--spacing,.25rem) * 3)}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{padding:calc(var(--spacing,.25rem) * 3);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-lighter-surface));display:block}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{background-color:rgba(var(--ax-sys-color-surface));width:100%;height:1px}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:calc(var(--spacing,.25rem) * 3)}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 2);border-width:1px;border-color:#0000}ax-command .ax-command-container .ax-command-item-container .ax-command-item{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{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-on-lightest-surface))}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-not-found{padding:calc(var(--spacing,.25rem) * 4);justify-content:center;display:flex}ax-command .ax-command-container .ax-remove-default-select-style{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:#0000}ax-command .ax-command-container .ax-command-item-container-active{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-command .ax-kbd{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 2);height:100%;display:flex}ax-command .ax-command-footer{align-items:center;gap:calc(var(--spacing,.25rem) * 6);border-bottom-right-radius:var(--radius-lg,.5rem);border-bottom-left-radius:var(--radius-lg,.5rem);background-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing,.25rem) * 3);color:rgba(var(--ax-sys-color-on-light-surface));display:flex}@supports (color:color-mix(in lab,red,red)){ax-command .ax-command-footer{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-light-surface)) 50%,transparent)}}ax-command .ax-command-footer .ax-kbd-footer{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{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-semibold,600);font-weight:var(--font-weight-semibold,600)}}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
141
|
+
], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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", styles: ["@layer properties;@layer components{ax-command{display:block;overflow:hidden;border-radius:var(--radius-lg, .5rem);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-search-box-container{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:calc(var(--spacing, .25rem) * 3)}ax-command .ax-search-box-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container{max-height:calc(var(--spacing, .25rem) * 80);overflow:auto;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface));scrollbar-width:none;-ms-overflow-style:none}ax-command .ax-command-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{display:block;padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:transparent;padding:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{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-on-lightest-surface))}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-on-lighter-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-lighter-surface)) 50%,transparent)}}ax-command .ax-command-container .ax-command-not-found{display:flex;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}ax-command .ax-command-container .ax-remove-default-select-style{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:transparent}ax-command .ax-command-container .ax-command-item-container-active{border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-command .ax-kbd{display:flex;height:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}ax-command .ax-command-footer{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 6);border-bottom-right-radius:var(--radius-lg, .5rem);border-bottom-left-radius:var(--radius-lg, .5rem);background-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing, .25rem) * 3);color:rgba(var(--ax-sys-color-on-light-surface))}@supports (color: color-mix(in lab,red,red)){ax-command .ax-command-footer{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-light-surface)) 50%,transparent)}}ax-command .ax-command-footer .ax-kbd-footer{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 3)}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{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-semibold, 600);font-weight:var(--font-weight-semibold, 600)}}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@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-outline-style: solid;--tw-font-weight: initial;--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
142
142
|
}], propDecorators: { searchBox: [{ type: i0.ViewChild, args: ['f', { isSignal: true }] }], onSubmit: [{ type: i0.Output, args: ["onSubmit"] }], onEscape: [{ type: i0.Output, args: ["onEscape"] }], onSearchBoxFocus: [{ type: i0.Output, args: ["onSearchBoxFocus"] }], onSearchBoxBlur: [{ type: i0.Output, args: ["onSearchBoxBlur"] }], listNavigation: [{ type: i0.ViewChild, args: ['l', { ...{ read: AXListNavigationDirective }, isSignal: true }] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], customTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "customTemplate", required: false }] }], searchBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchBar", required: false }] }], divider: [{ type: i0.Input, args: [{ isSignal: true, alias: "divider", required: false }] }], searchKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchKey", required: false }] }], footerButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerButtons", required: false }] }] } });
|
|
143
143
|
|
|
144
144
|
const COMPONENT = [AXCommandComponent];
|
|
@@ -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, 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 divider = input(true);\n\n searchKey = input<string | null>(null);\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.list?.items ?? [], searchValue);\n } else {\n filtered = [];\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 const searchKey = this.searchKey();\n\n return items\n .map((item) => {\n let isMatch: boolean;\n if (searchKey) {\n isMatch = item[searchKey]?.toLowerCase().includes(lowerSignal);\n } else {\n isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n }\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 [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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\ntype forceId = {\n id: string | number;\n};\n\nexport type AXCommandMenuItem<T extends forceId = AXCommandItem> = {\n pinned?: { title?: string; items: T[] };\n list: { title?: string; items: T[] };\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
|
+
{"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.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 divider = input(true);\n\n searchKey = input<string | null>(null);\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.list?.items ?? [], searchValue);\n } else {\n filtered = [];\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 const searchKey = this.searchKey();\n\n return items\n .map((item) => {\n let isMatch: boolean;\n if (searchKey) {\n isMatch = item[searchKey]?.toLowerCase().includes(lowerSignal);\n } else {\n isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n }\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 [name]=\"name\"\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 @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\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 (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.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 item.id) {\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-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\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]=\"['↑']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['↓']\"></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]=\"['↩']\"></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\ntype forceId = {\n id: string | number;\n};\n\nexport type AXCommandMenuItem<T extends forceId = AXCommandItem> = {\n pinned?: { title?: string; items: T[] };\n list: { title?: string; items: T[] };\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":";;;;;;;;;;;;;;;;AA4DM,MAAO,kBAAmB,SAAQ,OAAO,EAAC,yBAA4C,GAAE,eAAe,CAAC,CAAA;AA1B9G,IAAA,WAAA,GAAA;;AA2BY,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,EAAE,kFAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAuB,GAAG,gFAAC;QACjD,IAAA,CAAA,QAAQ,GAAG,MAAM,EAA2B;QAC5C,IAAA,CAAA,QAAQ,GAAG,MAAM,EAA8B;QAC/C,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAA2B;QACpD,IAAA,CAAA,eAAe,GAAG,MAAM,EAA2B;QAClD,IAAA,CAAA,cAAc,GAAG,SAAS,CAAC,GAAG,sFAAI,IAAI,EAAE,yBAAyB,EAAA,CAAG;AACtE,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,yBAAyB,8EAAC;AAEtD;;;;AAIG;QACH,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAoB;AAE1C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,gFAAC;AAEvB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,8EAAC;AAErB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAgB,IAAI,gFAAC;AAEtC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oFAAC;AAE7E,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAkB,MAAK;AACtD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,IAAI,QAAyB;YAC7B,IAAI,WAAW,EAAE;AACf,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC;YAC5E;iBAAO;gBACL,QAAQ,GAAG,EAAE;YACf;AACA,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC,mFAAC;AA6EH,IAAA;AA3EW,IAAA,YAAY,CAAC,CAAe,EAAA;AACpC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E;AAEU,IAAA,WAAW,CAAC,CAAe,EAAA;AACnC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5E;IAEQ,eAAe,CAAC,KAAY,EAAE,KAAa,EAAA;AACjD,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE;AACvC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAElC,QAAA,OAAO;AACJ,aAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACZ,YAAA,IAAI,OAAgB;YACpB,IAAI,SAAS,EAAE;AACb,gBAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAChE;iBAAO;gBACL,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5G;YAEA,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE;YAExF,IAAI,OAAO,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,OAAO;AACL,oBAAA,GAAG,IAAI;AACP,oBAAA,QAAQ,EAAE,gBAAgB;iBAC3B;YACH;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAC;aACA,MAAM,CAAC,OAAO,CAAC;IACpB;AAEU,IAAA,WAAW,CAAC,IAAmB,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrD;IAEU,QAAQ,CAAC,CAA6B,EAAE,IAAmB,EAAA;AACnE,QAAA,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE;AACnE,YAAA,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE;AAC/B,YAAA,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACrD;IACF;AAEU,IAAA,mBAAmB,CAAC,CAA6B,EAAA;QACzD,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACrE;QACA,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,WAAW,EAAE;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC;IACF;AAEU,IAAA,YAAY,CAAC,CAA6B,EAAA;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE;AACpE,YAAA,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAC1B;AAEA,QAAA,IACE,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS;AAC/B,YAAA,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,WAAW;AACjC,YAAA,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK;AAC3B,YAAA,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,OAAO;YAE7B;AAEF,QAAA,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;IAC1B;IAEU,aAAa,CAAC,CAA4B,EAAE,CAAgC,EAAA;AACpF,QAAA,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAClB;8GA9GW,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAXlB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACzD,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAClE,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAUiD,yBAAyB,uEAC/C,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpEvD,0qJAiJA,EAAA,MAAA,EAAA,CAAA,olKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzGI,iBAAiB,0ZACjB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,8VACX,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,cAAc,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,kBAAkB,mHAClB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAaX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA1B9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP,iBAAiB;wBACjB,iBAAiB;wBACjB,YAAY;wBACZ,WAAW;wBACX,sBAAsB;wBACtB,cAAc;wBACd,kBAAkB;wBAClB,oBAAoB;qBACrB,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,oBAAoB,EAAE;AACzD,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,oBAAoB,EAAE;AAClE,qBAAA,EAAA,MAAA,EACO,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,0qJAAA,EAAA,MAAA,EAAA,CAAA,olKAAA,CAAA,EAAA;uEAIrC,GAAG,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAKpB,GAAG,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACjD,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjEvD,MAAM,SAAS,GAAG,CAAC,kBAAkB,CAAC;AACtC,MAAM,OAAO,GAAG,EAAE;MAOL,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,eAAe,EAAA,OAAA,EAAA,CART,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAAlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;+GAQxB,eAAe,EAAA,OAAA,EAAA,CAJb,OAAO,EAAK,SAAS,CAAA,EAAA,CAAA,CAAA;;2FAIvB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACWK,MAAO,uBAAwB,SAAQ,OAAO,CAAA;AAEnD;;ACvBD;;AAEG;;;;"}
|
|
@@ -67,11 +67,11 @@ class AXCommentItemComponent {
|
|
|
67
67
|
this.repliesExpanded.set(false);
|
|
68
68
|
}
|
|
69
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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;@layer components{ax-comment-item{display:block;border-radius:.25rem;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;transition-duration:1s;--tw-ease: var(--ease-in-out, cubic-bezier(.4, 0, .2, 1));transition-timing-function:var(--ease-in-out, cubic-bezier(.4, 0, .2, 1))}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{display:flex;align-items:center;justify-content:space-between}ax-comment-item .ax-comment-header .ax-comment-header-start{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-comment-item .ax-comment-header .ax-comment-header-start .ax-comment-header-content{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 2)}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{margin-inline-start:calc(var(--spacing, .25rem) * 12);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))}ax-comment-item .ax-comment-actions{margin-top:calc(var(--spacing, .25rem) * 2);display:flex;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)))}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{display:inline-flex;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}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;}@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}}}\n/*! tailwindcss v4.1.16 | 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 }); }
|
|
71
71
|
}
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentItemComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
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
|
|
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;@layer components{ax-comment-item{display:block;border-radius:.25rem;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;transition-duration:1s;--tw-ease: var(--ease-in-out, cubic-bezier(.4, 0, .2, 1));transition-timing-function:var(--ease-in-out, cubic-bezier(.4, 0, .2, 1))}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{display:flex;align-items:center;justify-content:space-between}ax-comment-item .ax-comment-header .ax-comment-header-start{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}ax-comment-item .ax-comment-header .ax-comment-header-start .ax-comment-header-content{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 2)}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{margin-inline-start:calc(var(--spacing, .25rem) * 12);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))}ax-comment-item .ax-comment-actions{margin-top:calc(var(--spacing, .25rem) * 2);display:flex;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)))}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{display:inline-flex;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}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;}@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}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
75
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"] }] } });
|
|
76
76
|
|
|
77
77
|
/**
|
|
@@ -81,11 +81,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
81
81
|
*/
|
|
82
82
|
class AXCommentDateComponent {
|
|
83
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", 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
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", 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:rgba(var(--ax-sys-color-on-surface))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
85
85
|
}
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentDateComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
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
|
|
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:rgba(var(--ax-sys-color-on-surface))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
89
89
|
}] });
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -101,11 +101,11 @@ class AXCommentLikeComponent {
|
|
|
101
101
|
this.like.update((prev) => !prev);
|
|
102
102
|
}
|
|
103
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentLikeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", 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
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", 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;@layer components{.ax-comment-like-container{display:flex;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))}.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:rgba(var(--ax-sys-color-danger-400))}.ax-comment-like-container.ax-state-liked{color: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;}@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}}}\n/*! tailwindcss v4.1.16 | 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 }); }
|
|
105
105
|
}
|
|
106
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCommentLikeComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
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
|
|
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;@layer components{.ax-comment-like-container{display:flex;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))}.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:rgba(var(--ax-sys-color-danger-400))}.ax-comment-like-container.ax-state-liked{color: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;}@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}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
109
109
|
}], propDecorators: { like: [{ type: i0.Input, args: [{ isSignal: true, alias: "like", required: true }] }, { type: i0.Output, args: ["likeChange"] }] } });
|
|
110
110
|
|
|
111
111
|
/**
|
|
@@ -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-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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"}
|
|
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.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.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.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":";;;;;;;;;;;AAIA;;;;AAIG;MAcU,2BAA2B,CAAA;AAbxC,IAAA,WAAA,GAAA;AAcU,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAiBzC,IAAA;AAfC;;;;AAIG;AACH,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE;AAEzC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA,oBAAA,EAAuB,EAAE,CAAA,EAAA,CAAI,CAAgB;AACpF,QAAA,IAAI,CAAC,EAAE;YAAE;AAET,QAAA,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC1D,QAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACtC,QAAA,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IACnE;8GAlBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAF3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,0BATrE,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAWf,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAbvC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EACtB,gBAAgB,EAAA,aAAA,EAOX,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,aACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA;;;ACdjF;;;;AAIG;MAUU,sBAAsB,CAAA;AAQjC,IAAA,WAAA,GAAA;AAPU,QAAA,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,iBAAiB,6EAAC;QAEzC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;;AAG5B,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,KAAK,sFAAC;QAGrC,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;IAChC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;IACjC;8GAxBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8ZAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,8DAG1C,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBnD,8pCAkCA,EAAA,MAAA,EAAA,CAAA,qjHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDjBY,gBAAgB,6CAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAG1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAA,SAAA,EAC3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,8pCAAA,EAAA,MAAA,EAAA,CAAA,qjHAAA,CAAA,EAAA;qHAG1C,iBAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AElBnD;;;;AAIG;MASU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,0BAJhE,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sQAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMf,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,aACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,MAAA,EAAA,CAAA,sQAAA,CAAA,EAAA;;;ACV5E;;;;AAIG;MAUU,sBAAsB,CAAA;AATnC,IAAA,WAAA,GAAA;AAUE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAW;AAKjC,IAAA;IAHW,UAAU,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;IACnC;8GALW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,+NAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB5E,4MAIA,EAAA,MAAA,EAAA,CAAA,y/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWY,wBAAwB,sEAAE,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGpD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,EAAA,SAAA,EACrD,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,4MAAA,EAAA,MAAA,EAAA,CAAA,y/CAAA,CAAA,EAAA;;;AEb5E;;;;AAIG;MAQU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,0BAHhE,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKf,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC;AAC3E,iBAAA;;;ACVD;;;;AAIG;MASU,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAF3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJrE,mCAAmC,4DAGnC,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAG1B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,mCAAmC;oBAC7C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,2BAA2B,CAAC;oBACtC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC;AAChF,iBAAA;;;ACVD;;;;AAIG;MASU,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oEAF3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,0BAJrE,CAAA,oEAAA,CAAsE,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGtE,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,gBAAgB,6CAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGvD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA,oEAAA,CAAsE;oBAChF,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,gBAAgB,EAAE,SAAS,CAAC;oBACnE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC;AAChF,iBAAA;;;ACfD;;;;AAIG;MAcU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,0BAThE,yCAAyC,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAWxC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,yCAAyC,EAAA,aAAA,EAOpC,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,aACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA;;;ACJ5E,MAAM,UAAU,GAAG;IACjB,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,2BAA2B;CAC5B;AAED,MAAM,OAAO,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;MAM9F,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,eAAe,EAAA,OAAA,EAAA,CANX,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAVxG,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;AACtB,YAAA,2BAA2B,aAP3B,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,2BAA2B,CAAA,EAAA,CAAA,CAAA;+GAShB,eAAe,EAAA,OAAA,EAAA,CAHb,OAAO,EAVpB,sBAAsB;YAEtB,2BAA2B;YAE3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;;2FAShB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC;AACpC,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACzB,iBAAA;;;AC/BD;;AAEG;;;;"}
|