@acorex/components 20.2.0-next.9 → 20.2.0
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/accordion/index.d.ts +6 -5
- package/action-sheet/index.d.ts +1 -10
- package/alert/index.d.ts +1 -3
- package/aspect-ratio/README.md +3 -0
- package/aspect-ratio/index.d.ts +11 -0
- package/autocomplete/index.d.ts +6 -2
- package/avatar/index.d.ts +1 -2
- package/badge/index.d.ts +1 -2
- package/bottom-navigation/index.d.ts +10 -2
- package/breadcrumbs/index.d.ts +2 -3
- package/button/index.d.ts +56 -17
- package/button-group/index.d.ts +10 -6
- package/calendar/index.d.ts +9 -9
- package/check-box/index.d.ts +1 -4
- package/chips/index.d.ts +1 -2
- package/circular-progress/index.d.ts +23 -18
- package/code-editor/README.md +3 -0
- package/code-editor/index.d.ts +103 -0
- package/collapse/index.d.ts +7 -6
- package/color-box/index.d.ts +5 -8
- package/color-palette/index.d.ts +19 -24
- package/command/README.md +3 -0
- package/command/index.d.ts +60 -0
- package/comment/index.d.ts +15 -10
- package/conversation/index.d.ts +106 -78
- package/data-list/README.md +356 -0
- package/data-list/index.d.ts +102 -0
- package/data-pager/index.d.ts +22 -17
- package/data-table/index.d.ts +59 -3
- package/datetime-box/index.d.ts +11 -15
- package/datetime-input/index.d.ts +1 -4
- package/datetime-picker/index.d.ts +4 -11
- package/decorators/index.d.ts +2 -2
- package/dialog/index.d.ts +29 -4
- package/drawer-2/index.d.ts +22 -8
- package/dropdown/index.d.ts +44 -3
- package/dropdown-button/index.d.ts +7 -2
- package/fesm2022/acorex-components-accordion.mjs +74 -72
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +22 -48
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +12 -16
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +36 -0
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -0
- package/fesm2022/acorex-components-audio-wave.mjs +7 -7
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +25 -10
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -17
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -11
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +18 -16
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +21 -20
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +35 -26
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +78 -38
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +52 -41
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +10 -13
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +9 -11
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +31 -26
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +591 -0
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -0
- package/fesm2022/acorex-components-collapse.mjs +21 -21
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +32 -32
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +68 -84
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +144 -0
- package/fesm2022/acorex-components-command.mjs.map +1 -0
- package/fesm2022/acorex-components-comment.mjs +47 -41
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +121 -89
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +46 -46
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +386 -0
- package/fesm2022/acorex-components-data-list.mjs.map +1 -0
- package/fesm2022/acorex-components-data-pager.mjs +41 -36
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +97 -41
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +21 -35
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +13 -17
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +44 -46
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +27 -27
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +44 -19
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +28 -14
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +13 -13
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +16 -11
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +57 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +25 -25
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +40 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +36 -17
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +125 -15
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +115 -92
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +8 -8
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +11 -7
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +21 -29
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +11 -15
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +17 -28
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +58 -59
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +84 -28
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +484 -112
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +37 -37
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +67 -37
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs → acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs} +117 -40
- package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +235 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +14 -10
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +31 -45
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-2.mjs +18 -5
- package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +14 -15
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +68 -33
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +15 -18
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +44 -14
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +13 -18
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +7 -7
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +26 -16
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +13 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +222 -102
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1581 -167
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +70 -28
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -9
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +14 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +98 -43
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +9 -9
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +16 -16
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +31 -32
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +20 -15
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +47 -19
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +8 -9
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +22 -12
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +13 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +59 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -11
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +12 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +252 -56
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +96 -60
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/flow-chart/index.d.ts +24 -0
- package/form/index.d.ts +27 -13
- package/grid-layout-builder/index.d.ts +115 -4
- package/image/index.d.ts +4 -4
- package/image-editor/index.d.ts +16 -14
- package/json-viewer/index.d.ts +3 -3
- package/kanban/index.d.ts +7 -3
- package/kbd/index.d.ts +11 -11
- package/label/index.d.ts +1 -2
- package/list/index.d.ts +4 -14
- package/loading/index.d.ts +59 -6
- package/loading-dialog/index.d.ts +30 -19
- package/map/index.d.ts +95 -2
- package/menu/index.d.ts +38 -13
- package/modal/index.d.ts +47 -2
- package/navbar/index.d.ts +7 -3
- package/notification/index.d.ts +1 -8
- package/number-box-2/index.d.ts +1 -1
- package/otp/index.d.ts +1 -3
- package/package.json +43 -4
- package/paint/index.d.ts +42 -7
- package/password-box/index.d.ts +7 -10
- package/phone-box/index.d.ts +17 -16
- package/popover/index.d.ts +2 -2
- package/popup/index.d.ts +2 -2
- package/qrcode/index.d.ts +7 -7
- package/query-builder/index.d.ts +1 -1
- package/rail-navigation/index.d.ts +12 -3
- package/range-slider/index.d.ts +13 -13
- package/rate-picker/index.d.ts +5 -5
- package/rest-api-generator/index.d.ts +1 -1
- package/rrule/index.d.ts +40 -17
- package/scheduler/index.d.ts +541 -191
- package/search-box/index.d.ts +2 -2
- package/select-box/index.d.ts +13 -4
- package/selection-list-2/index.d.ts +3 -3
- package/side-menu/index.d.ts +24 -15
- package/sliding-item/index.d.ts +4 -5
- package/step-wizard/index.d.ts +10 -13
- package/switch/index.d.ts +0 -1
- package/tabs/index.d.ts +6 -1
- package/tag-box/index.d.ts +18 -2
- package/text-area/index.d.ts +1 -2
- package/text-box/index.d.ts +2 -0
- package/time-line/index.d.ts +3 -0
- package/toast/index.d.ts +45 -1
- package/tooltip/index.d.ts +2 -1
- package/uploader/index.d.ts +215 -5
- package/wysiwyg/index.d.ts +26 -5
- package/fesm2022/acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs +0 -218
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map +0 -1
@@ -0,0 +1,144 @@
|
|
1
|
+
import { MXInputBaseValueComponent, MXLookComponent, AXAutoFocusDirective, AXComponent, AXValuableComponent, AXEvent } from '@acorex/cdk/common';
|
2
|
+
import * as i5 from '@acorex/cdk/list-navigation';
|
3
|
+
import { AXListNavigationDirective, AXListNavigationModule } from '@acorex/cdk/list-navigation';
|
4
|
+
import * as i2 from '@acorex/components/decorators';
|
5
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
6
|
+
import { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';
|
7
|
+
import * as i1 from '@acorex/components/search-box';
|
8
|
+
import { AXSearchBoxModule } from '@acorex/components/search-box';
|
9
|
+
import * as i3 from '@angular/common';
|
10
|
+
import { CommonModule } from '@angular/common';
|
11
|
+
import * as i0 from '@angular/core';
|
12
|
+
import { signal, viewChild, output, computed, forwardRef, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
13
|
+
import * as i4 from '@angular/forms';
|
14
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
15
|
+
import { classes } from 'polytype';
|
16
|
+
|
17
|
+
class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
|
18
|
+
constructor() {
|
19
|
+
super(...arguments);
|
20
|
+
this.searchValue = signal('', ...(ngDevMode ? [{ debugName: "searchValue" }] : []));
|
21
|
+
this.searchBox = viewChild('f', ...(ngDevMode ? [{ debugName: "searchBox" }] : []));
|
22
|
+
this.onSubmit = output();
|
23
|
+
this.onEscape = output();
|
24
|
+
this.onSearchBoxFocus = output();
|
25
|
+
this.onSearchBoxBlur = output();
|
26
|
+
this.listNavigation = viewChild('l', ...(ngDevMode ? [{ debugName: "listNavigation", read: AXListNavigationDirective }] : [{ read: AXListNavigationDirective }]));
|
27
|
+
this.displayItems = computed(() => {
|
28
|
+
const searchValue = this.searchValue();
|
29
|
+
let filtered;
|
30
|
+
if (searchValue) {
|
31
|
+
filtered = this.filterRecursive(this.value?.items ?? [], searchValue);
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
filtered = [];
|
35
|
+
}
|
36
|
+
return filtered;
|
37
|
+
}, ...(ngDevMode ? [{ debugName: "displayItems" }] : []));
|
38
|
+
}
|
39
|
+
focusHandler(e) {
|
40
|
+
this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });
|
41
|
+
}
|
42
|
+
blurHandler(e) {
|
43
|
+
this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });
|
44
|
+
}
|
45
|
+
filterRecursive(items, value) {
|
46
|
+
const lowerSignal = value.toLowerCase();
|
47
|
+
return items
|
48
|
+
.map((item) => {
|
49
|
+
const isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);
|
50
|
+
const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];
|
51
|
+
if (isMatch || filteredChildren.length > 0) {
|
52
|
+
return {
|
53
|
+
...item,
|
54
|
+
children: filteredChildren,
|
55
|
+
};
|
56
|
+
}
|
57
|
+
return null;
|
58
|
+
})
|
59
|
+
.filter(Boolean);
|
60
|
+
}
|
61
|
+
onItemClick(item) {
|
62
|
+
this.onSubmit.emit({ data: item, component: this });
|
63
|
+
}
|
64
|
+
keyPress(e, item) {
|
65
|
+
if (e.nativeEvent.key === 'Enter' || e.nativeEvent.code === 'Space') {
|
66
|
+
e.nativeEvent.stopPropagation();
|
67
|
+
e.nativeEvent.preventDefault();
|
68
|
+
this.onSubmit.emit({ data: item, component: this });
|
69
|
+
}
|
70
|
+
}
|
71
|
+
searchEscapeHandler(e) {
|
72
|
+
if (e.nativeEvent.key === 'Escape') {
|
73
|
+
this.onEscape.emit({ component: this, nativeEvent: e.nativeEvent });
|
74
|
+
}
|
75
|
+
if (e.nativeEvent.key === 'ArrowDown') {
|
76
|
+
this.listNavigation().focusOnIndex(0);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
closeHandler(e) {
|
80
|
+
if (e.nativeEvent.key === 'Escape') {
|
81
|
+
this.searchBox().focus();
|
82
|
+
}
|
83
|
+
}
|
84
|
+
activeHandler(l, i) {
|
85
|
+
l?.navigateTo(i);
|
86
|
+
}
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXCommandComponent, isStandalone: true, selector: "ax-command", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id" }, outputs: { onSubmit: "onSubmit", onEscape: "onEscape", onSearchBoxFocus: "onSearchBoxFocus", onSearchBoxBlur: "onSearchBoxBlur" }, providers: [
|
89
|
+
{
|
90
|
+
provide: NG_VALUE_ACCESSOR,
|
91
|
+
useExisting: forwardRef(() => AXCommandComponent),
|
92
|
+
multi: true,
|
93
|
+
},
|
94
|
+
{ provide: AXComponent, useExisting: AXCommandComponent },
|
95
|
+
{ provide: AXValuableComponent, useExisting: AXCommandComponent },
|
96
|
+
], viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "listNavigation", first: true, predicate: ["l"], descendants: true, read: AXListNavigationDirective, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-searchBox-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n</div>\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track 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-command-item-container\"\n [style.padding-inline-start.rem]=\"level * 0.625\"\n [ngClass]=\"{ 'ax-command-item-container-active': a.isActive() }\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\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 </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n<div class=\"ax-command-footer\">\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['↑', '↓']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['↩']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n</div>\n", styles: ["ax-command{min-width:27rem;overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:4px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-searchBox-container{padding:.625rem}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-command-item-container-active{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;justify-content:center;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}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-weight:600;font-size:.9rem}\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"], 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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" }, { kind: "component", type: AXKBDItemComponent, selector: "ax-kbd-item", inputs: ["keys"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
97
|
+
}
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandComponent, decorators: [{
|
99
|
+
type: Component,
|
100
|
+
args: [{ selector: 'ax-command', encapsulation: ViewEncapsulation.None, imports: [
|
101
|
+
AXSearchBoxModule,
|
102
|
+
AXDecoratorModule,
|
103
|
+
CommonModule,
|
104
|
+
FormsModule,
|
105
|
+
AXListNavigationModule,
|
106
|
+
AXKBDComponent,
|
107
|
+
AXKBDItemComponent,
|
108
|
+
AXAutoFocusDirective,
|
109
|
+
], providers: [
|
110
|
+
{
|
111
|
+
provide: NG_VALUE_ACCESSOR,
|
112
|
+
useExisting: forwardRef(() => AXCommandComponent),
|
113
|
+
multi: true,
|
114
|
+
},
|
115
|
+
{ provide: AXComponent, useExisting: AXCommandComponent },
|
116
|
+
{ provide: AXValuableComponent, useExisting: AXCommandComponent },
|
117
|
+
], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: "<div class=\"ax-searchBox-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n</div>\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track 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-command-item-container\"\n [style.padding-inline-start.rem]=\"level * 0.625\"\n [ngClass]=\"{ 'ax-command-item-container-active': a.isActive() }\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\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 </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n<div class=\"ax-command-footer\">\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['↑', '↓']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['↩']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n</div>\n", styles: ["ax-command{min-width:27rem;overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:4px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-searchBox-container{padding:.625rem}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-command-item-container-active{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;justify-content:center;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}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-weight:600;font-size:.9rem}\n"] }]
|
118
|
+
}] });
|
119
|
+
|
120
|
+
const COMPONENT = [AXCommandComponent];
|
121
|
+
const MODULES = [];
|
122
|
+
class AXCommandModule {
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
124
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXCommandModule, imports: [AXCommandComponent], exports: [AXCommandComponent] }); }
|
125
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandModule, imports: [MODULES, COMPONENT] }); }
|
126
|
+
}
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandModule, decorators: [{
|
128
|
+
type: NgModule,
|
129
|
+
args: [{
|
130
|
+
imports: [...MODULES, ...COMPONENT],
|
131
|
+
exports: [...COMPONENT],
|
132
|
+
providers: [],
|
133
|
+
}]
|
134
|
+
}] });
|
135
|
+
|
136
|
+
class AXCommandComponentEvent extends AXEvent {
|
137
|
+
}
|
138
|
+
|
139
|
+
/**
|
140
|
+
* Generated bundle index. Do not edit.
|
141
|
+
*/
|
142
|
+
|
143
|
+
export { AXCommandComponent, AXCommandComponentEvent, AXCommandModule };
|
144
|
+
//# sourceMappingURL=acorex-components-command.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-components-command.mjs","sources":["../tmp-esm2022/command/lib/command.component.js","../tmp-esm2022/command/lib/command.module.js","../tmp-esm2022/command/lib/command.type.js","../tmp-esm2022/command/acorex-components-command.js"],"sourcesContent":["import { AXAutoFocusDirective, AXComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXListNavigationDirective, AXListNavigationModule, } from '@acorex/cdk/list-navigation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, forwardRef, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/search-box\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@acorex/cdk/list-navigation\";\nexport class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.searchValue = signal('', ...(ngDevMode ? [{ debugName: \"searchValue\" }] : []));\n this.searchBox = viewChild('f', ...(ngDevMode ? [{ debugName: \"searchBox\" }] : []));\n this.onSubmit = output();\n this.onEscape = output();\n this.onSearchBoxFocus = output();\n this.onSearchBoxBlur = output();\n this.listNavigation = viewChild('l', ...(ngDevMode ? [{ debugName: \"listNavigation\", read: AXListNavigationDirective }] : [{ read: AXListNavigationDirective }]));\n this.displayItems = computed(() => {\n const searchValue = this.searchValue();\n let filtered;\n if (searchValue) {\n filtered = this.filterRecursive(this.value?.items ?? [], searchValue);\n }\n else {\n filtered = [];\n }\n return filtered;\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n }\n focusHandler(e) {\n this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n blurHandler(e) {\n this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n filterRecursive(items, value) {\n const lowerSignal = value.toLowerCase();\n return items\n .map((item) => {\n const isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];\n if (isMatch || filteredChildren.length > 0) {\n return {\n ...item,\n children: filteredChildren,\n };\n }\n return null;\n })\n .filter(Boolean);\n }\n onItemClick(item) {\n this.onSubmit.emit({ data: item, component: this });\n }\n keyPress(e, item) {\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 searchEscapeHandler(e) {\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 closeHandler(e) {\n if (e.nativeEvent.key === 'Escape') {\n this.searchBox().focus();\n }\n }\n activeHandler(l, i) {\n l?.navigateTo(i);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXCommandComponent, isStandalone: true, selector: \"ax-command\", inputs: { disabled: \"disabled\", readonly: \"readonly\", tabIndex: \"tabIndex\", placeholder: \"placeholder\", value: \"value\", state: \"state\", name: \"name\", id: \"id\" }, outputs: { onSubmit: \"onSubmit\", onEscape: \"onEscape\", onSearchBoxFocus: \"onSearchBoxFocus\", onSearchBoxBlur: \"onSearchBoxBlur\" }, 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 ], viewQueries: [{ propertyName: \"searchBox\", first: true, predicate: [\"f\"], descendants: true, isSignal: true }, { propertyName: \"listNavigation\", first: true, predicate: [\"l\"], descendants: true, read: AXListNavigationDirective, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-searchBox-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n</div>\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track 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-command-item-container\\\"\\n [style.padding-inline-start.rem]=\\\"level * 0.625\\\"\\n [ngClass]=\\\"{ 'ax-command-item-container-active': a.isActive() }\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\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 </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n<div class=\\\"ax-command-footer\\\">\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['↑', '↓']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['↩']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n</div>\\n\", styles: [\"ax-command{min-width:27rem;overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:4px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-searchBox-container{padding:.625rem}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-command-item-container-active{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;justify-content:center;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}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-weight:600;font-size:.9rem}\\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\"], 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.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { 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\" }, { kind: \"component\", type: AXKBDItemComponent, selector: \"ax-kbd-item\", inputs: [\"keys\"] }, { kind: \"directive\", type: AXAutoFocusDirective, selector: \"[axAutoFocus]\", inputs: [\"axAutoFocus\", \"axAutoFocusTime\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-command', encapsulation: ViewEncapsulation.None, imports: [\n AXSearchBoxModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXListNavigationModule,\n AXKBDComponent,\n AXKBDItemComponent,\n AXAutoFocusDirective,\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 ], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: \"<div class=\\\"ax-searchBox-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n</div>\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track 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-command-item-container\\\"\\n [style.padding-inline-start.rem]=\\\"level * 0.625\\\"\\n [ngClass]=\\\"{ 'ax-command-item-container-active': a.isActive() }\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\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 </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n<div class=\\\"ax-command-footer\\\">\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['↑', '↓']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['↩']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n</div>\\n\", styles: [\"ax-command{min-width:27rem;overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:4px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-searchBox-container{padding:.625rem}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-command-item-container-active{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;justify-content:center;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}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-weight:600;font-size:.9rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvbGliL2NvbW1hbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBR1gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHlCQUF5QixFQUV6QixzQkFBc0IsR0FDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7QUE4Qm5DLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBMEMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJQTFCNUc7O1FBMkJZLGdCQUFXLEdBQUcsTUFBTSxDQUFD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RSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7U0FDbEUsMk1BVWlELHlCQUF5QixvRUN6RDdFLDZ0R0FxR0EsMC9FRHZFSSxpQkFBaUIsNFlBQ2pCLGlCQUFpQixxV0FDakIsWUFBWSxtU0FDWixXQUFXLDhWQUNYLHNCQUFzQixtWUFDdEIsY0FBYyxtREFDZCxrQkFBa0IsMEVBQ2xCLG9CQUFvQjs7MkZBYVgsa0JBQWtCO2tCQTFCOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixvQkFBb0I7cUJBQ3JCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLG9CQUFvQixFQUFFO3dCQUN6RCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLG9CQUFvQixFQUFFO3FCQUNsRSxVQUNPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQXV0b0ZvY3VzRGlyZWN0aXZlLFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c0V2ZW50LFxuICBBWEh0bWxFdmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUsXG4gIEFYTGlzdE5hdmlnYXRpb25Nb2R1bGUsXG59IGZyb20gJ0BhY29yZXgvY2RrL2xpc3QtbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYS0JEQ29tcG9uZW50LCBBWEtCREl0ZW1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMva2JkJztcbmltcG9ydCB7IEFYU2VhcmNoQm94Q29tcG9uZW50LCBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBvdXRwdXQsIHNpZ25hbCwgdmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuaW1wb3J0IHsgQVhDb21tYW5kQ29tcG9uZW50RXZlbnQsIENvbW1hbmRJdGVtLCBDb21tYW5kTWVudUl0ZW0gfSBmcm9tICcuL2NvbW1hbmQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWFuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21tYW5kLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWExpc3ROYXZpZ2F0aW9uTW9kdWxlLFxuICAgIEFYS0JEQ29tcG9uZW50LFxuICAgIEFYS0JESXRlbUNvbXBvbmVudCxcbiAgICBBWEF1dG9Gb2N1c0RpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWENvbW1hbmRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDb21tYW5kQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDb21tYW5kQ29tcG9uZW50IH0sXG4gIF0sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdyZWFkb25seScsICd0YWJJbmRleCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZScsICdzdGF0ZScsICduYW1lJywgJ2lkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29tbWFuZENvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxDb21tYW5kTWVudUl0ZW0+LCBNWExvb2tDb21wb25lbnQpIHtcbiAgcHJvdGVjdGVkIHNlYXJjaFZhbHVlID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIHNlYXJjaEJveCA9IHZpZXdDaGlsZDxBWFNlYXJjaEJveENvbXBvbmVudD4oJ2YnKTtcbiAgcmVhZG9ubHkgb25TdWJtaXQgPSBvdXRwdXQ8QVhDb21tYW5kQ29tcG9uZW50RXZlbnQ+KCk7XG4gIHJlYWRvbmx5IG9uRXNjYXBlID0gb3V0cHV0PEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PigpO1xuICByZWFkb25seSBvblNlYXJjaEJveEZvY3VzID0gb3V0cHV0PEFYSHRtbEV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICByZWFkb25seSBvblNlYXJjaEJveEJsdXIgPSBvdXRwdXQ8QVhIdG1sRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIHByb3RlY3RlZCBsaXN0TmF2aWdhdGlvbiA9IHZpZXdDaGlsZCgnbCcsIHsgcmVhZDogQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSB9KTtcblxuICBwcm90ZWN0ZWQgZGlzcGxheUl0ZW1zID0gY29tcHV0ZWQ8Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZSgpO1xuICAgIGxldCBmaWx0ZXJlZDogQ29tbWFuZEl0ZW1bXTtcbiAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgIGZpbHRlcmVkID0gdGhpcy5maWx0ZXJSZWN1cnNpdmUodGhpcy52YWx1ZT8uaXRlbXMgPz8gW10sIHNlYXJjaFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyZWQgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgZm9jdXNIYW5kbGVyKGU6IEFYRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25TZWFyY2hCb3hGb2N1cy5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBibHVySGFuZGxlcihlOiBBWEZvY3VzRXZlbnQpIHtcbiAgICB0aGlzLm9uU2VhcmNoQm94Qmx1ci5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyUmVjdXJzaXZlKGl0ZW1zOiBhbnlbXSwgdmFsdWU6IHN0cmluZyk6IGFueVtdIHtcbiAgICBjb25zdCBsb3dlclNpZ25hbCA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gaXRlbXNcbiAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgaXNNYXRjaCA9XG4gICAgICAgICAgaXRlbS50ZXh0Py50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyU2lnbmFsKSB8fCBpdGVtLmhyZWY/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJTaWduYWwpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuID8gdGhpcy5maWx0ZXJSZWN1cnNpdmUoaXRlbS5jaGlsZHJlbiwgdmFsdWUpIDogW107XG5cbiAgICAgICAgaWYgKGlzTWF0Y2ggfHwgZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkl0ZW1DbGljayhpdGVtOiBDb21tYW5kSXRlbSkge1xuICAgIHRoaXMub25TdWJtaXQuZW1pdCh7IGRhdGE6IGl0ZW0sIGNvbXBvbmVudDogdGhpcyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBrZXlQcmVzcyhlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50PiwgaXRlbTogQ29tbWFuZEl0ZW0pIHtcbiAgICBpZiAoZS5uYXRpdmVFdmVudC5rZXkgPT09ICdFbnRlcicgfHwgZS5uYXRpdmVFdmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICBlLm5hdGl2ZUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KHsgZGF0YTogaXRlbSwgY29tcG9uZW50OiB0aGlzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWFyY2hFc2NhcGVIYW5kbGVyKGU6IEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+KSB7XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5vbkVzY2FwZS5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCB9KTtcbiAgICB9XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5saXN0TmF2aWdhdGlvbigpLmZvY3VzT25JbmRleCgwKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VIYW5kbGVyKGU6IEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+KSB7XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5zZWFyY2hCb3goKS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhY3RpdmVIYW5kbGVyKGw6IEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUsIGk6IEFYTGlzdE5hdmlnYXRpb25JdGVtRGlyZWN0aXZlKSB7XG4gICAgbD8ubmF2aWdhdGVUbyhpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LXNlYXJjaEJveC1jb250YWluZXJcIj5cbiAgPGF4LXNlYXJjaC1ib3hcbiAgICAjZlxuICAgIFtkZWxheVRpbWVdPVwiMjBcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxuICAgIChvbkZvY3VzKT1cImZvY3VzSGFuZGxlcigkZXZlbnQpXCJcbiAgICAob25CbHVyKT1cImJsdXJIYW5kbGVyKCRldmVudClcIlxuICAgIChvbktleURvd24pPVwic2VhcmNoRXNjYXBlSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbYXhBdXRvRm9jdXNdPVwidHJ1ZVwiXG4gID5cbiAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICA8L2F4LXNlYXJjaC1ib3g+XG48L2Rpdj5cblxuPGRpdiAjbCBjbGFzcz1cImF4LWNvbW1hbmQtY29udGFpbmVyXCIgI3M9XCJheExpc3ROYXZpZ2F0aW9uXCIgYXhMaXN0TmF2aWdhdGlvbiAob25LZXlwcmVzcyk9XCJjbG9zZUhhbmRsZXIoJGV2ZW50KVwiPlxuICBAaWYgKHZhbHVlPy5waW5uZWQgJiYgIXNlYXJjaFZhbHVlKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXBpbm5lZC1jb250YWluZXJcIj5cbiAgICAgIDxheC10ZXh0IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXBpbm5lZC10ZXh0XCI+e3sgdmFsdWUucGlubmVkLnRpdGxlIH19PC9heC10ZXh0PlxuXG4gICAgICBAZm9yIChpdGVtIG9mIHZhbHVlLnBpbm5lZC5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVySXRlbVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBsZXZlbDogMSwgbGlzdE5hdmlnYXRpb246IHMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKGRpc3BsYXlJdGVtcygpICYmIHNlYXJjaFZhbHVlKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXdyYXBwZXJcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZGlzcGxheUl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlckl0ZW1cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IDEsIGxpc3ROYXZpZ2F0aW9uOiBzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfSBAZW1wdHkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1ub3QtZm91bmRcIj5cbiAgICAgICAgICA8YXgtdGV4dD5ObyByZXN1bHRzIGZvdW5kIGZvciBcInt7IHNlYXJjaFZhbHVlKCkgfX1cIjwvYXgtdGV4dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8bmctdGVtcGxhdGUgI3JlbmRlckl0ZW0gbGV0LWl0ZW0gbGV0LWxldmVsPVwibGV2ZWxcIiBsZXQtbGlzdE5hdmlnYXRpb249XCJsaXN0TmF2aWdhdGlvblwiPlxuICAgIDxkaXZcbiAgICAgIChtb3VzZWVudGVyKT1cImFjdGl2ZUhhbmRsZXIobGlzdE5hdmlnYXRpb24sIGEpXCJcbiAgICAgIGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLWNvbnRhaW5lclwiXG4gICAgICBbc3R5bGUucGFkZGluZy1pbmxpbmUtc3RhcnQucmVtXT1cImxldmVsICogMC42MjVcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYXgtY29tbWFuZC1pdGVtLWNvbnRhaW5lci1hY3RpdmUnOiBhLmlzQWN0aXZlKCkgfVwiXG4gICAgICAjYT1cImF4TGlzdE5hdmlnYXRpb25JdGVtXCJcbiAgICAgIGF4TGlzdE5hdmlnYXRpb25JdGVtXG4gICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgKG9uS2V5cHJlc3MpPVwia2V5UHJlc3MoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbVwiPlxuICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgIDxpIGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLWljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxuICAgICAgICB9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICBAZm9yIChjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyB0cmFjayBjaGlsZC5pZCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVySXRlbVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSwgbGlzdE5hdmlnYXRpb246IHMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgfVxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJheC1jb21tYW5kLWZvb3RlclwiPlxuICA8ZGl2IGNsYXNzPVwiYXgta2JkLWZvb3RlclwiPlxuICAgIDxheC1rYmQgY2xhc3M9XCJheC1rYmRcIj5cbiAgICAgIDxheC1rYmQtaXRlbSBba2V5c109XCJbJyZ1YXJyOycsICcmZGFycjsnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgPC9heC1rYmQ+XG4gICAgPGF4LXRleHQgY2xhc3M9XCJheC1rYmQtdGV4dFwiPnRvIG5hdmlnYXRlPC9heC10ZXh0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYXgta2JkLWZvb3RlclwiPlxuICAgIDxheC1rYmQgY2xhc3M9XCJheC1rYmRcIj5cbiAgICAgIDxheC1rYmQtaXRlbSBba2V5c109XCJbJyYjODYxNzsnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgPC9heC1rYmQ+XG4gICAgPGF4LXRleHQgY2xhc3M9XCJheC1rYmQtdGV4dFwiPnRvIHNlbGVjdDwvYXgtdGV4dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImF4LWtiZC1mb290ZXJcIj5cbiAgICA8YXgta2JkIGNsYXNzPVwiYXgta2JkXCI+XG4gICAgICA8YXgta2JkLWl0ZW0gW2tleXNdPVwiWydlc2MnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgPC9heC1rYmQ+XG4gICAgPGF4LXRleHQgY2xhc3M9XCJheC1rYmQtdGV4dFwiPnRvIGNsb3NlPC9heC10ZXh0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { NgModule } from '@angular/core';\nimport { AXCommandComponent } from './command.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXCommandComponent];\nconst MODULES = [];\nexport class AXCommandModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [AXCommandComponent], exports: [AXCommandComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBT25CLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQVJULGtCQUFrQixhQUFsQixrQkFBa0I7K0dBUXhCLGVBQWUsWUFKYixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbW1hbmRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1hbmQuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ29tbWFuZENvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW107XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb21tYW5kTW9kdWxlIHt9XG4iXX0=","import { AXEvent } from '@acorex/cdk/common';\nexport class AXCommandComponentEvent extends AXEvent {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb21tYW5kL3NyYy9saWIvY29tbWFuZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWlCN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE9BQU87Q0FFbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgQ29tbWFuZEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaHJlZj86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBDb21tYW5kSXRlbVtdO1xuICBpbmRleD86IG51bWJlcjtcbiAgZGF0YT86IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbW1hbmRNZW51SXRlbSA9IHtcbiAgcGlubmVkPzogeyB0aXRsZTogc3RyaW5nOyBpdGVtczogQ29tbWFuZEl0ZW1bXSB9O1xuICBpdGVtczogQ29tbWFuZEl0ZW1bXTtcbn07XG5cbmV4cG9ydCBjbGFzcyBBWENvbW1hbmRDb21wb25lbnRFdmVudCBleHRlbmRzIEFYRXZlbnQge1xuICBkYXRhOiBDb21tYW5kSXRlbTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import { AXComponent } from '@acorex/cdk/common';
|
2
2
|
import { isPlatformBrowser, AsyncPipe, CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { inject, DOCUMENT, PLATFORM_ID, ViewEncapsulation, Component, contentChild, viewChild, input, afterNextRender, model,
|
4
|
+
import { inject, DOCUMENT, PLATFORM_ID, ViewEncapsulation, Component, contentChild, viewChild, input, afterNextRender, model, NgModule } from '@angular/core';
|
5
|
+
import * as i1 from '@acorex/components/accordion';
|
6
|
+
import { AXAccordionModule } from '@acorex/components/accordion';
|
5
7
|
import { AXAvatarComponent } from '@acorex/components/avatar';
|
6
|
-
import { AXCollapseGroupComponent, AXCollapseComponent, AXCollapseModule } from '@acorex/components/collapse';
|
7
8
|
import { AXTranslatorPipe, AXTranslationModule } from '@acorex/core/translation';
|
8
9
|
import { AXDecoratorIconComponent, AXDecoratorGenericComponent, AXDecoratorModule } from '@acorex/components/decorators';
|
9
10
|
import { AXButtonModule } from '@acorex/components/button';
|
11
|
+
import { AXCollapseModule } from '@acorex/components/collapse';
|
10
12
|
import { AXTextAreaModule } from '@acorex/components/text-area';
|
11
13
|
import { AXWysiwygModule } from '@acorex/components/wysiwyg';
|
12
14
|
|
@@ -20,6 +22,12 @@ class AXCommentContainerComponent {
|
|
20
22
|
this.document = inject(DOCUMENT);
|
21
23
|
this.platformID = inject(PLATFORM_ID);
|
22
24
|
}
|
25
|
+
/**
|
26
|
+
* Scrolls to a specific comment reply by its ID and highlights it temporarily.
|
27
|
+
*
|
28
|
+
* @param id - The ID of the comment reply to scroll to
|
29
|
+
* @returns void
|
30
|
+
*/
|
23
31
|
scrollToReply(id) {
|
24
32
|
if (isPlatformBrowser(this.platformID)) {
|
25
33
|
const el = this.document.querySelector(`ax-comment-item[id=${id}]`);
|
@@ -36,10 +44,10 @@ class AXCommentContainerComponent {
|
|
36
44
|
}, 1000);
|
37
45
|
}
|
38
46
|
}
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXCommentContainerComponent, isStandalone: true, selector: "ax-comment-container", providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], ngImport: i0, template: "<ng-content> </ng-content>\n", styles: ["ax-comment-container{width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
41
49
|
}
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentContainerComponent, decorators: [{
|
43
51
|
type: Component,
|
44
52
|
args: [{ selector: 'ax-comment-container', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentContainerComponent }], template: "<ng-content> </ng-content>\n", styles: ["ax-comment-container{width:100%}\n"] }]
|
45
53
|
}] });
|
@@ -49,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
49
57
|
*
|
50
58
|
* @category Components
|
51
59
|
*/
|
52
|
-
class
|
60
|
+
class AXCommentItemComponent {
|
53
61
|
/**
|
54
62
|
* @ignore
|
55
63
|
*/
|
@@ -67,12 +75,12 @@ class AxCommentItemComponent {
|
|
67
75
|
toggleCollapse() {
|
68
76
|
this.collapse().toggle();
|
69
77
|
}
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXCommentItemComponent, isStandalone: true, selector: "ax-comment-item", inputs: { replyCount: { classPropertyName: "replyCount", publicName: "replyCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], queries: [{ propertyName: "avatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "collapse", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-accordion-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-accordion-item\n #c\n [caption]=\"\n ('@acorex:comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-accordion-item>\n </ax-accordion-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items{margin-bottom:.25rem}.ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:500;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column;font-size:.875rem;opacity:80%}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.75rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies .ax-collapse-header-container{font-weight:500;justify-content:unset;color:rgba(var(--ax-sys-color-primary-surface))}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: AXAccordionModule }, { kind: "component", type: i1.AXAccordionItemComponent, selector: "ax-accordion-item", inputs: ["isCollapsed", "icon", "caption", "isLoading", "headerTemplate", "look", "disabled"], outputs: ["isCollapsedChange", "isLoadingChange", "onClick"] }, { kind: "component", type: i1.AXAccordionGroupComponent, selector: "ax-accordion-group", inputs: ["accordion", "activeIndex", "look", "collapsedOnItemClick"], outputs: ["activeIndexChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
72
80
|
}
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentItemComponent, decorators: [{
|
74
82
|
type: Component,
|
75
|
-
args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, imports: [
|
83
|
+
args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, imports: [AXAccordionModule, AXTranslatorPipe, AsyncPipe], providers: [{ provide: AXComponent, useExisting: AXCommentItemComponent }], template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-accordion-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-accordion-item\n #c\n [caption]=\"\n ('@acorex:comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? '@acorex:comment.replies' : '@acorex:comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-accordion-item>\n </ax-accordion-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items{margin-bottom:.25rem}.ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:500;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column;font-size:.875rem;opacity:80%}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.75rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies .ax-collapse-header-container{font-weight:500;justify-content:unset;color:rgba(var(--ax-sys-color-primary-surface))}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}\n"] }]
|
76
84
|
}], ctorParameters: () => [] });
|
77
85
|
|
78
86
|
/**
|
@@ -81,10 +89,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
81
89
|
* @category Components
|
82
90
|
*/
|
83
91
|
class AXCommentDateComponent {
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXCommentDateComponent, isStandalone: true, selector: "ax-comment-date", providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["ax-comment-date{color:rgb(var(--ax-sys-color-ghost-400));font-size:.8rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
86
94
|
}
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentDateComponent, decorators: [{
|
88
96
|
type: Component,
|
89
97
|
args: [{ selector: 'ax-comment-date', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentDateComponent }], template: "<ng-content></ng-content>\n", styles: ["ax-comment-date{color:rgb(var(--ax-sys-color-ghost-400));font-size:.8rem}\n"] }]
|
90
98
|
}] });
|
@@ -99,19 +107,17 @@ class AXCommentLikeComponent {
|
|
99
107
|
/**
|
100
108
|
* Indicates whether the comment is liked.
|
101
109
|
*/
|
102
|
-
this.
|
103
|
-
this.onLiked = output();
|
110
|
+
this.like = model.required(...(ngDevMode ? [{ debugName: "like" }] : []));
|
104
111
|
}
|
105
112
|
changeState() {
|
106
|
-
this.
|
107
|
-
this.onLiked.emit(this.liked());
|
113
|
+
this.like.update((prev) => !prev);
|
108
114
|
}
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentLikeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXCommentLikeComponent, isStandalone: true, selector: "ax-comment-like", inputs: { like: { classPropertyName: "like", publicName: "like", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { like: "likeChange" }, providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], ngImport: i0, template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center;gap:.25rem}.ax-comment-like-container ax-icon{font-size:.938rem}.ax-comment-like-container.ax-state-liked{color:rgba(var(--ax-sys-color-danger-500))}.ax-comment-like-container.ax-state-liked ax-icon{font-weight:700}.ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-sys-color-danger-500))}\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" }] }); }
|
111
117
|
}
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentLikeComponent, decorators: [{
|
113
119
|
type: Component,
|
114
|
-
args: [{ selector: 'ax-comment-like', imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"
|
120
|
+
args: [{ selector: 'ax-comment-like', imports: [AXDecoratorIconComponent, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentLikeComponent }], template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"like()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center;gap:.25rem}.ax-comment-like-container ax-icon{font-size:.938rem}.ax-comment-like-container.ax-state-liked{color:rgba(var(--ax-sys-color-danger-500))}.ax-comment-like-container.ax-state-liked ax-icon{font-weight:700}.ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-sys-color-danger-500))}\n"] }]
|
115
121
|
}] });
|
116
122
|
|
117
123
|
/**
|
@@ -120,28 +126,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
120
126
|
* @category Components
|
121
127
|
*/
|
122
128
|
class AXMenuOptionsComponent {
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXMenuOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXMenuOptionsComponent, isStandalone: true, selector: "ax-comment-menu-options", providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }], ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
125
131
|
}
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXMenuOptionsComponent, decorators: [{
|
127
133
|
type: Component,
|
128
134
|
args: [{ selector: 'ax-comment-menu-options', providers: [{ provide: AXComponent, useExisting: AXMenuOptionsComponent }], template: "<ng-content></ng-content>\n" }]
|
129
135
|
}] });
|
130
136
|
|
131
137
|
class AXCommentReplyMoreComponent {
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentReplyMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXCommentReplyMoreComponent, isStandalone: true, selector: "ax-comment-reply-more", providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }], ngImport: i0, template: "<ax-text><ng-content></ng-content></ax-text>\n", dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
|
134
140
|
}
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentReplyMoreComponent, decorators: [{
|
136
142
|
type: Component,
|
137
143
|
args: [{ selector: 'ax-comment-reply-more', imports: [AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentReplyMoreComponent }], template: "<ax-text><ng-content></ng-content></ax-text>\n" }]
|
138
144
|
}] });
|
139
145
|
|
140
146
|
class AXCommentReplyTextComponent {
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentReplyTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXCommentReplyTextComponent, isStandalone: true, selector: "ax-comment-reply-text", providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }], ngImport: i0, template: "<ax-text>Reply</ax-text>\n", dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
|
143
149
|
}
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentReplyTextComponent, decorators: [{
|
145
151
|
type: Component,
|
146
152
|
args: [{ selector: 'ax-comment-reply-text', imports: [AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXCommentReplyTextComponent }], template: "<ax-text>Reply</ax-text>\n" }]
|
147
153
|
}] });
|
@@ -151,10 +157,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
151
157
|
* @category Components
|
152
158
|
*/
|
153
159
|
class AXCommentViewComponent {
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXCommentViewComponent, isStandalone: true, selector: "ax-comment-view", providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], ngImport: i0, template: "<ng-content select=\"ax-comment-item\"></ng-content>\n", styles: ["ax-comment-view{border:1px solid rgb(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);display:block;padding:1.5rem;margin-bottom:1rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
156
162
|
}
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentViewComponent, decorators: [{
|
158
164
|
type: Component,
|
159
165
|
args: [{ selector: 'ax-comment-view', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXCommentViewComponent }], template: "<ng-content select=\"ax-comment-item\"></ng-content>\n", styles: ["ax-comment-view{border:1px solid rgb(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);display:block;padding:1.5rem;margin-bottom:1rem}\n"] }]
|
160
166
|
}] });
|
@@ -162,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
162
168
|
const COMPONENT = [
|
163
169
|
AXCommentViewComponent,
|
164
170
|
AXCommentContainerComponent,
|
165
|
-
|
171
|
+
AXCommentItemComponent,
|
166
172
|
AXCommentLikeComponent,
|
167
173
|
AXMenuOptionsComponent,
|
168
174
|
AXCommentReplyTextComponent,
|
@@ -179,8 +185,8 @@ const MODULES = [
|
|
179
185
|
CommonModule,
|
180
186
|
];
|
181
187
|
class AXCommentModule {
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
183
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
188
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
189
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXCommentModule, imports: [AXDecoratorModule,
|
184
190
|
AXWysiwygModule,
|
185
191
|
AXCollapseModule,
|
186
192
|
AXButtonModule,
|
@@ -188,25 +194,25 @@ class AXCommentModule {
|
|
188
194
|
AXTranslationModule,
|
189
195
|
CommonModule, AXCommentViewComponent,
|
190
196
|
AXCommentContainerComponent,
|
191
|
-
|
197
|
+
AXCommentItemComponent,
|
192
198
|
AXCommentLikeComponent,
|
193
199
|
AXMenuOptionsComponent,
|
194
200
|
AXCommentReplyTextComponent,
|
195
201
|
AXCommentDateComponent,
|
196
202
|
AXCommentReplyMoreComponent], exports: [AXCommentViewComponent,
|
197
203
|
AXCommentContainerComponent,
|
198
|
-
|
204
|
+
AXCommentItemComponent,
|
199
205
|
AXCommentLikeComponent,
|
200
206
|
AXMenuOptionsComponent,
|
201
207
|
AXCommentReplyTextComponent,
|
202
208
|
AXCommentDateComponent,
|
203
209
|
AXCommentReplyMoreComponent] }); }
|
204
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
210
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentModule, imports: [MODULES, AXCommentItemComponent,
|
205
211
|
AXCommentLikeComponent,
|
206
212
|
AXCommentReplyTextComponent,
|
207
213
|
AXCommentReplyMoreComponent] }); }
|
208
214
|
}
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommentModule, decorators: [{
|
210
216
|
type: NgModule,
|
211
217
|
args: [{
|
212
218
|
imports: [...MODULES, ...COMPONENT],
|
@@ -219,5 +225,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
219
225
|
* Generated bundle index. Do not edit.
|
220
226
|
*/
|
221
227
|
|
222
|
-
export { AXCommentContainerComponent, AXCommentDateComponent, AXCommentLikeComponent, AXCommentModule, AXCommentReplyMoreComponent, AXCommentReplyTextComponent, AXCommentViewComponent, AXMenuOptionsComponent
|
228
|
+
export { AXCommentContainerComponent, AXCommentDateComponent, AXCommentItemComponent, AXCommentLikeComponent, AXCommentModule, AXCommentReplyMoreComponent, AXCommentReplyTextComponent, AXCommentViewComponent, AXMenuOptionsComponent };
|
223
229
|
//# sourceMappingURL=acorex-components-comment.mjs.map
|