@acorex/components 21.0.0-next.6 → 21.0.0-next.61
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 +0 -1
- package/autocomplete/index.d.ts +23 -9
- package/button/index.d.ts +38 -17
- package/button-group/index.d.ts +6 -4
- package/calendar/index.d.ts +4 -0
- package/chips/index.d.ts +3 -8
- package/code-editor/README.md +291 -1
- package/code-editor/index.d.ts +262 -20
- package/collapse/index.d.ts +4 -6
- package/command/index.d.ts +1 -0
- package/conversation2/README.md +426 -0
- package/conversation2/index.d.ts +6139 -0
- package/data-list/index.d.ts +1 -1
- package/data-table/index.d.ts +97 -261
- package/dialog/index.d.ts +1 -1
- package/drawer/README.md +2 -2
- package/drawer/index.d.ts +33 -57
- package/drawer-legacy/README.md +3 -0
- package/drawer-legacy/index.d.ts +86 -0
- package/editor/README.md +3 -0
- package/editor/index.d.ts +79 -0
- package/fesm2022/acorex-components-accordion.mjs +19 -24
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +12 -12
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +14 -14
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +12 -11
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +30 -13
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -13
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +25 -21
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +68 -28
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +39 -18
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +11 -11
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +12 -14
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +13 -11
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +532 -200
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +22 -34
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +11 -11
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +32 -32
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +18 -11
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +34 -34
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +56 -65
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +17641 -0
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -0
- package/fesm2022/acorex-components-cron-job.mjs +53 -53
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +16 -27
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +62 -47
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +509 -553
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +10 -10
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +10 -10
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +11 -11
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +96 -54
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +26 -16
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
- package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-drawer.mjs +66 -150
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +20 -18
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +195 -0
- package/fesm2022/acorex-components-editor.mjs.map +1 -0
- package/fesm2022/acorex-components-file-explorer.mjs +34 -34
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +18 -18
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +61 -30
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -15
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +206 -156
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +10 -10
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +9 -9
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +9 -7
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +29 -11
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +10 -10
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +23 -14
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +23 -23
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +290 -31
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +95 -99
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +24 -24
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs → acorex-components-modal-acorex-components-modal-BnUdtPke.mjs} +24 -24
- package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs +214 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +9 -9
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +16 -23
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-legacy.mjs +412 -0
- package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-number-box.mjs +113 -331
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +10 -10
- 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 +35 -40
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +14 -14
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +47 -10
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +19 -19
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +12 -12
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +13 -13
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +11 -9
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +10 -10
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -9
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +9 -9
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +40 -38
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +11 -11
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +20 -35
- 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 +8 -8
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +8 -8
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +111 -16
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +2339 -0
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -0
- package/fesm2022/acorex-components-scheduler.mjs +52 -52
- 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 +23 -12
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +36 -17
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +10 -10
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +31 -38
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +8 -8
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +13 -13
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +17 -17
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -16
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +14 -14
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +28 -20
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +51 -21
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +47 -11
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +9 -9
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +13 -13
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +54 -14
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +14 -29
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +14 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +9 -9
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +15 -20
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view-legacy.mjs +511 -0
- package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-tree-view.mjs +2280 -437
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +28 -641
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +8 -8
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +79 -72
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/file-explorer/index.d.ts +6 -6
- package/form/index.d.ts +3 -3
- package/grid-layout-builder/index.d.ts +1 -2
- package/image-editor/index.d.ts +11 -13
- package/kbd/index.d.ts +13 -7
- package/loading/index.d.ts +1 -1
- package/map/index.d.ts +28 -1
- package/media-viewer/index.d.ts +7 -3
- package/notification/index.d.ts +0 -2
- package/number-box/README.md +2 -2
- package/number-box/index.d.ts +32 -171
- package/number-box-legacy/README.md +3 -0
- package/number-box-legacy/index.d.ts +191 -0
- package/package.json +39 -13
- package/paint/index.d.ts +1 -6
- package/phone-box/index.d.ts +5 -4
- package/rate-picker/index.d.ts +5 -15
- package/rrule/index.d.ts +96 -1
- package/scheduler-picker/README.md +15 -0
- package/scheduler-picker/index.d.ts +1360 -0
- package/search-box/index.d.ts +6 -1
- package/select-box/index.d.ts +15 -10
- package/side-menu/index.d.ts +3 -2
- package/slider/index.d.ts +2 -2
- package/tag/index.d.ts +8 -2
- package/tag-box/index.d.ts +12 -3
- package/time-duration/index.d.ts +19 -3
- package/tooltip/index.d.ts +0 -1
- package/tree-view/index.d.ts +959 -168
- package/tree-view-legacy/README.md +3 -0
- package/tree-view-legacy/index.d.ts +184 -0
- package/uploader/index.d.ts +4 -331
- package/wysiwyg/index.d.ts +3 -2
- package/drawer-2/README.md +0 -3
- package/drawer-2/index.d.ts +0 -62
- package/fesm2022/acorex-components-drawer-2.mjs +0 -134
- package/fesm2022/acorex-components-drawer-2.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +0 -235
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +0 -1
- package/fesm2022/acorex-components-number-box-2.mjs +0 -183
- package/fesm2022/acorex-components-number-box-2.mjs.map +0 -1
- package/number-box-2/README.md +0 -3
- package/number-box-2/index.d.ts +0 -41
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-modal-modal-content.component-B6tyMLdU.mjs","sources":["../tmp-esm2022/modal/lib/modal-content/modal-content.component.js"],"sourcesContent":["import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, HostBinding, HostListener, inject, input, model, signal, TemplateRef, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AXModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { AXModalStateService } from '../modal-state.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/cdk/focus-trap\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@acorex/components/decorators\";\nexport class AXModalContentComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.__content__ = input.required(...(ngDevMode ? [{ debugName: \"__content__\" }] : []));\n this.id = input(...(ngDevMode ? [undefined, { debugName: \"id\" }] : []));\n this.inputs = model(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.serviceState = inject(AXModalStateService);\n this.sanitizer = inject(DomSanitizer);\n this.modalContainer = viewChild('c', ...(ngDevMode ? [{ debugName: \"modalContainer\" }] : []));\n this.footer = viewChild(AXModalFooterComponent, ...(ngDevMode ? [{ debugName: \"footer\" }] : []));\n this.isTemplate = computed(() => this.__content__() instanceof TemplateRef, ...(ngDevMode ? [{ debugName: \"isTemplate\" }] : []));\n this.isHtmlElement = computed(() => this.__content__() instanceof HTMLElement, ...(ngDevMode ? [{ debugName: \"isHtmlElement\" }] : []));\n this.component = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"component\" }] : []));\n this.template = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"template\" }] : []));\n this.element = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"element\" }] : []));\n this.modalSizeState = signal('normal', ...(ngDevMode ? [{ debugName: \"modalSizeState\" }] : []));\n this.fullScreenState = signal(false, ...(ngDevMode ? [{ debugName: \"fullScreenState\" }] : []));\n this.isMouseDown = signal(false, ...(ngDevMode ? [{ debugName: \"isMouseDown\" }] : []));\n this.offsetX = signal(0, ...(ngDevMode ? [{ debugName: \"offsetX\" }] : []));\n this.offsetY = signal(0, ...(ngDevMode ? [{ debugName: \"offsetY\" }] : []));\n this.prevLeft = signal('', ...(ngDevMode ? [{ debugName: \"prevLeft\" }] : []));\n this.prevTop = signal('', ...(ngDevMode ? [{ debugName: \"prevTop\" }] : []));\n this.backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled ?? true, ...(ngDevMode ? [{ debugName: \"backdropState\" }] : []));\n this.closeOnEscape = computed(() => this.serviceState.modalOption()?.closeOnEscape ?? true, ...(ngDevMode ? [{ debugName: \"closeOnEscape\" }] : []));\n this.panelClass = computed(() => this.serviceState.modalOption()?.panelClass ?? '', ...(ngDevMode ? [{ debugName: \"panelClass\" }] : []));\n this.headerState = computed(() => this.serviceState.modalOption()?.header ?? false, ...(ngDevMode ? [{ debugName: \"headerState\" }] : []));\n this.footerState = computed(() => this.serviceState.modalOption()?.footer ?? false, ...(ngDevMode ? [{ debugName: \"footerState\" }] : []));\n this.closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons?.close ?? true, ...(ngDevMode ? [{ debugName: \"closeHeaderButton\" }] : []));\n this.backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background ?? true, ...(ngDevMode ? [{ debugName: \"backdropBackground\" }] : []));\n this.backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.backdropClass ?? '', ...(ngDevMode ? [{ debugName: \"backdropClass\" }] : []));\n this.backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick ?? true, ...(ngDevMode ? [{ debugName: \"backdropCloseOnClick\" }] : []));\n this.minimizePosition = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.position ?? 'bottom-right', ...(ngDevMode ? [{ debugName: \"minimizePosition\" }] : []));\n this.minimizeState = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.enable ?? false, ...(ngDevMode ? [{ debugName: \"minimizeState\" }] : []));\n this.maximizeState = computed(() => this.serviceState.modalOption()?.buttons?.maximize ?? false, ...(ngDevMode ? [{ debugName: \"maximizeState\" }] : []));\n this.modalSize = computed(() => this.serviceState.modalOption()?.size ?? 'lg', ...(ngDevMode ? [{ debugName: \"modalSize\" }] : []));\n this.headerTitle = computed(() => this.serviceState.modalOption()?.title ?? '', ...(ngDevMode ? [{ debugName: \"headerTitle\" }] : []));\n this.draggable = computed(() => this.serviceState.modalOption()?.draggable ?? true, ...(ngDevMode ? [{ debugName: \"draggable\" }] : []));\n this.#init = afterNextRender(() => {\n this.nativeElement.focus();\n const popFooter = this.nativeElement.querySelector('.ax-modal-footer');\n const footer = this.nativeElement.querySelector('.ax-modal-content ax-modal-footer');\n if (footer) {\n popFooter?.append(footer);\n }\n });\n this.#eff = effect(() => {\n const host = this.nativeElement;\n if (this.draggable())\n host.classList.add('ax-draggable');\n if (!this.backdropState())\n return;\n this.addBackdrop();\n if (!this.backdropBackground())\n return;\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #init;\n close() {\n this.serviceState.close(this.id());\n }\n minimize() {\n if (this.fullScreenState())\n document.exitFullscreen();\n this.modalContainer().nativeElement.style.transition = 'all 200ms ease-out';\n this.modalContainer().nativeElement.style.top = `auto`;\n this.modalContainer().nativeElement.style.bottom = `0`;\n if (this.backdropState())\n this.removeBackdrop();\n this.modalContainer().nativeElement.classList.remove('ax-normal-modal');\n this.modalContainer().nativeElement.classList.add('ax-minimize-modal');\n requestAnimationFrame(() => {\n const width = this.modalContainer().nativeElement.offsetWidth;\n const index = this.serviceState.getMapIndexOf(this.id());\n if (this.minimizePosition() === 'bottom-right') {\n this.modalContainer().nativeElement.style.left = `auto`;\n this.modalContainer().nativeElement.style.right = `${index * (width + 10)}px`;\n }\n else {\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = `${index * (width + 10)}px`;\n }\n });\n this.modalSizeState.set('minimize');\n }\n maximize() {\n this.modalContainer().nativeElement.style.transition = 'none';\n if (this.modalSizeState() === 'minimize')\n this.restore();\n if (!document.fullscreenElement) {\n this.modalContainer().nativeElement.requestFullscreen();\n this.fullScreenState.set(true);\n }\n else {\n document.exitFullscreen();\n }\n document.addEventListener('fullscreenchange', () => {\n if (!document.fullscreenElement) {\n this.fullScreenState.set(false);\n }\n });\n }\n restore() {\n setTimeout(() => {\n this.modalContainer().nativeElement.style.transition = 'none';\n }, 200);\n if (this.fullScreenState()) {\n document.exitFullscreen();\n return;\n }\n this.modalContainer().nativeElement.style.bottom = `auto`;\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = this.prevLeft();\n this.modalContainer().nativeElement.style.top = this.prevTop();\n if (this.backdropState())\n this.addBackdrop();\n this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n this.modalContainer().nativeElement.classList.add('ax-normal-modal');\n this.modalSizeState.set('normal');\n }\n pointerDownHandler(e) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n this.isMouseDown.set(true);\n this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);\n this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);\n }\n addBackdrop() {\n const backdropElem = document.createElement('div');\n backdropElem.classList.add('ax-modal-drawer-backdrop');\n if (this.backdropClass()) {\n backdropElem.classList.add(...this.backdropClass().split(' '));\n }\n else {\n backdropElem.classList.add('ax-default-backdrop');\n }\n backdropElem.addEventListener('pointerdown', (e) => {\n if (!this.backdropCloseOnClick())\n return;\n if (e.target === e.currentTarget) {\n this.close();\n }\n });\n this.nativeElement.appendChild(backdropElem);\n }\n removeBackdrop() {\n const backdropElem = this.nativeElement.querySelector('.ax-modal-drawer-backdrop');\n if (backdropElem) {\n backdropElem.remove();\n }\n }\n pointerMoveHandler(e) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n if (!this.isMouseDown())\n return;\n this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;\n this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;\n this.prevLeft.set(`${e.clientX - this.offsetX()}px`);\n this.prevTop.set(`${e.clientY - this.offsetY()}px`);\n }\n pointerUpHandler() {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n this.isMouseDown.set(false);\n }\n get role() {\n return '0';\n }\n escapeHandler(e) {\n if (e.key === 'Escape' && this.closeOnEscape()) {\n this.close();\n }\n }\n #eff;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXModalContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXModalContentComponent, isStandalone: true, selector: \"ax-modal-content\", inputs: { __content__: { classPropertyName: \"__content__\", publicName: \"__content__\", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputs: \"inputsChange\" }, host: { listeners: { \"pointermove\": \"pointerMoveHandler($event)\", \"pointerup\": \"pointerUpHandler($event)\", \"pointerleave\": \"pointerUpHandler($event)\", \"keydown\": \"escapeHandler($event)\" }, properties: { \"attr.tabindex\": \"this.role\" } }, providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], viewQueries: [{ propertyName: \"modalContainer\", first: true, predicate: [\"c\"], descendants: true, isSignal: true }, { propertyName: \"footer\", first: true, predicate: AXModalFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.AXFocusTrapDirective }], ngImport: i0, template: \"<div\\n #c\\n class=\\\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }} {{ panelClass() }}\\\"\\n [@modalAnimation]\\n>\\n @if (headerState()) {\\n <div (pointerdown)=\\\"pointerDownHandler($event)\\\" class=\\\"ax-modal-header\\\">\\n <ax-text>{{ headerTitle() }}</ax-text>\\n\\n <div>\\n @if (minimizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"minimize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-minimize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"restore()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-maximize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (maximizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"maximize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-full-screen\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (closeHeaderButton()) {\\n <ax-button class=\\\"ax-sm\\\" look=\\\"blank\\\" (onClick)=\\\"close()\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-close\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n </div>\\n }\\n\\n <div class=\\\"ax-modal-content\\\">\\n @if (isTemplate()) {\\n <ng-container [ngTemplateOutlet]=\\\"this.template()\\\" [ngTemplateOutletContext]=\\\"inputs()\\\"></ng-container>\\n } @else if (isHtmlElement()) {\\n <div [innerHTML]=\\\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\\\"></div>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"this.component()\\\" [ngComponentOutletInputs]=\\\"inputs()\\\"></ng-container>\\n }\\n </div>\\n\\n @if (footerState()) {\\n <div class=\\\"ax-modal-footer\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{overflow:hidden;position:fixed;z-index:55;background-color:rgba(var(--ax-comp-modal-bg-color, var(--ax-sys-color-lightest-surface)));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-comp-modal-border-radius, var(--ax-sys-border-radius));border:var(--ax-comp-modal-border-width, 1px) solid rgba(var(--ax-comp-modal-border-color, var(--ax-sys-color-border-lightest-surface)));max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.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\" }], animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),\n ]),\n ]),\n ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXModalContentComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-modal-content', imports: [CommonModule, AXButtonComponent, AXDecoratorModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXFocusTrapDirective], animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),\n ]),\n ]),\n ], providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], template: \"<div\\n #c\\n class=\\\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }} {{ panelClass() }}\\\"\\n [@modalAnimation]\\n>\\n @if (headerState()) {\\n <div (pointerdown)=\\\"pointerDownHandler($event)\\\" class=\\\"ax-modal-header\\\">\\n <ax-text>{{ headerTitle() }}</ax-text>\\n\\n <div>\\n @if (minimizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"minimize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-minimize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"restore()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-maximize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (maximizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"maximize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-full-screen\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (closeHeaderButton()) {\\n <ax-button class=\\\"ax-sm\\\" look=\\\"blank\\\" (onClick)=\\\"close()\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-close\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n </div>\\n }\\n\\n <div class=\\\"ax-modal-content\\\">\\n @if (isTemplate()) {\\n <ng-container [ngTemplateOutlet]=\\\"this.template()\\\" [ngTemplateOutletContext]=\\\"inputs()\\\"></ng-container>\\n } @else if (isHtmlElement()) {\\n <div [innerHTML]=\\\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\\\"></div>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"this.component()\\\" [ngComponentOutletInputs]=\\\"inputs()\\\"></ng-container>\\n }\\n </div>\\n\\n @if (footerState()) {\\n <div class=\\\"ax-modal-footer\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{overflow:hidden;position:fixed;z-index:55;background-color:rgba(var(--ax-comp-modal-bg-color, var(--ax-sys-color-lightest-surface)));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-comp-modal-border-radius, var(--ax-sys-border-radius));border:var(--ax-comp-modal-border-width, 1px) solid rgba(var(--ax-comp-modal-border-color, var(--ax-sys-color-border-lightest-surface)));max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\\n\"] }]\n }], propDecorators: { pointerMoveHandler: [{\n type: HostListener,\n args: ['pointermove', ['$event']]\n }], pointerUpHandler: [{\n type: HostListener,\n args: ['pointerup', ['$event']]\n }, {\n type: HostListener,\n args: ['pointerleave', ['$event']]\n }], role: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], escapeHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21vZGFsL3NyYy9saWIvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUF3QjdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxXQUFXO0lBdEJ4RDs7UUF1QkUsZ0JBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxzREFBb0MsQ0FBQztRQUMxRCxPQUFFLEdBQUcsS0FBSyx3REFBVSxDQUFDO1FBQ3JCLFdBQU0sR0FBRyxLQUFLLDREQUFxQixDQUFDO1FBQ25DLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVqQyxtQkFBYyxHQUFHLFNBQVMsQ0FBYSxHQUFHLDBEQUFDLENBQUM7UUFDNUMsV0FBTSxHQUFHLFNBQVMsQ0FBeUIsc0JBQXNCLGtEQUFDLENBQUM7UUFFbkUsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksV0FBVyxzREFBQyxDQUFDO1FBQ3ZFLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxXQUFXLHlEQUFDLENBQUM7UUFFN0UsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUEwQixxREFBQyxDQUFDO1FBQ3ZFLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBc0Isb0RBQUMsQ0FBQztRQUNsRSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQWlCLG1EQUFDLENBQUM7UUFFekQsbUJBQWMsR0FBRyxNQUFNLENBQXdCLFFBQVEsMERBQUMsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLLDJEQUFDLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyx1REFBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxtREFBQyxDQUFDO1FBQ3BCLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxtREFBQyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxvREFBQyxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxtREFBQyxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sSUFBSSxJQUFJLHlEQUFDLENBQUM7UUFDM0Ysa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLElBQUksSUFBSSx5REFBQyxDQUFDO1FBQ3JGLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLElBQUksRUFBRSxzREFBQyxDQUFDO1FBQy9FLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxJQUFJLEtBQUssdURBQUMsQ0FBQztRQUMvRSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sSUFBSSxLQUFLLHVEQUFDLENBQUM7UUFDL0Usc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLDZEQUFDLENBQUM7UUFDOUYsdUJBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsSUFBSSxJQUFJLDhEQUFDLENBQUM7UUFDbkcsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxJQUFJLEVBQUUseURBQUMsQ0FBQztRQUMvRix5QkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsWUFBWSxJQUFJLElBQUksZ0VBQUMsQ0FBQztRQUN2RyxxQkFBZ0IsR0FBRyxRQUFRLENBQ2pDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLElBQUksY0FBYyw0REFDckYsQ0FBQztRQUNRLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksS0FBSyx5REFBQyxDQUFDO1FBQ3BHLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsSUFBSSxLQUFLLHlEQUFDLENBQUM7UUFDNUYsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksSUFBSSxJQUFJLHFEQUFDLENBQUM7UUFDMUUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSx1REFBQyxDQUFDO1FBQzdFLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLElBQUksSUFBSSxxREFBQyxDQUFDO1FBRXZGLFVBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQWlCLGtCQUFrQixDQUFDLENBQUM7WUFDdkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQWlCLG1DQUFtQyxDQUFDLENBQUM7WUFDckcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQXVJSCxTQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFBRSxPQUFPO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUFFLE9BQU87UUFDekMsQ0FBQyxnREFBQyxDQUFDO0tBQ0o7SUFySkMsS0FBSyxDQU9GO0lBRU8sS0FBSztRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztRQUU1RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFdkQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXZFLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUM5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV6RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2dCQUN4RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNoRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztnQkFDekQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDL0UsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBRTlELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFVBQVU7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBRUQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDaEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzFELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRS9ELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsQ0FBYTtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUFFLE9BQU87UUFDaEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdkQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN6QixZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFhLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUFFLE9BQU87WUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNuRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUdTLGtCQUFrQixDQUFDLENBQWE7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFBRSxPQUFPO1FBQ2hHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ25GLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUlTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUFFLE9BQU87UUFDaEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWtDLElBQUk7UUFDcEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBR1MsYUFBYSxDQUFDLENBQWdCO1FBQ3RDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBTUQ7OEdBOUxRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGd0QkFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsd0tBVXRCLHNCQUFzQixpSkMxRDdFLDIwREFtREEsNmdHRG5CWSxZQUFZLHVoQkFBRSxpQkFBaUIsMFVBQUUsaUJBQWlCLHlVQUloRDtZQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztvQkFDOUQsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztpQkFDeEYsQ0FBQztnQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDO29CQUM1RCxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRixDQUFDO2FBQ0gsQ0FBQztTQUNIOzsyRkFHVSx1QkFBdUI7a0JBdEJuQyxTQUFTOytCQUNFLGtCQUFrQixXQUduQixDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxpQkFDOUMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQyxvQkFBb0IsQ0FBQyxjQUMxQjt3QkFDVixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0NBQzlELE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7NkJBQ3hGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztnQ0FDNUQsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQzs2QkFDMUYsQ0FBQzt5QkFDSCxDQUFDO3FCQUNILGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx5QkFBeUIsRUFBRSxDQUFDOzhCQStKakUsa0JBQWtCO3NCQUQzQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZN0IsZ0JBQWdCO3NCQUZ6QixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1OLElBQUk7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFLbEIsYUFBYTtzQkFEdEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCwgTlhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhGb2N1c1RyYXBEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L2Nkay9mb2N1cy10cmFwJztcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQ29tcG9uZW50Q29udGVudCwgQVhDb21wb25lbnRJbnB1dHMsIEFYQ29tcG9uZW50VHlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFYTW9kYWxGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1vZGFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kYWwtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1vZGFsLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5zY3NzJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Db21wb25lbnQsIEFYRGVjb3JhdG9yTW9kdWxlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbQVhGb2N1c1RyYXBEaXJlY3RpdmVdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignbW9kYWxBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgc2NhbGU6IDAuOCwgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSwgc2NhbGU6IDEsIHRyYW5zZm9ybU9yaWdpbjogJ3RvcCBsZWZ0JyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAxLCBzY2FsZTogMSwgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCwgc2NhbGU6IDAuOCwgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnIH0pKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhNb2RhbENvbnRlbnRDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTW9kYWxDb250ZW50Q29tcG9uZW50IGV4dGVuZHMgTlhDb21wb25lbnQge1xuICBfX2NvbnRlbnRfXyA9IGlucHV0LnJlcXVpcmVkPEFYQ29tcG9uZW50Q29udGVudCB8IEhUTUxFbGVtZW50PigpO1xuICBwdWJsaWMgaWQgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHB1YmxpYyBpbnB1dHMgPSBtb2RlbDxBWENvbXBvbmVudElucHV0cz4oKTtcbiAgcHJpdmF0ZSBzZXJ2aWNlU3RhdGUgPSBpbmplY3QoQVhNb2RhbFN0YXRlU2VydmljZSk7XG4gIHByb3RlY3RlZCBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcm90ZWN0ZWQgbW9kYWxDb250YWluZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2MnKTtcbiAgcHJvdGVjdGVkIGZvb3RlciA9IHZpZXdDaGlsZDxBWE1vZGFsRm9vdGVyQ29tcG9uZW50PihBWE1vZGFsRm9vdGVyQ29tcG9uZW50KTtcblxuICBwcm90ZWN0ZWQgaXNUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX19jb250ZW50X18oKSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKTtcbiAgcHJvdGVjdGVkIGlzSHRtbEVsZW1lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9fY29udGVudF9fKCkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCk7XG5cbiAgcHVibGljIGNvbXBvbmVudCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX19jb250ZW50X18oKSBhcyBBWENvbXBvbmVudFR5cGU8YW55Pik7XG4gIHB1YmxpYyB0ZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX19jb250ZW50X18oKSBhcyBUZW1wbGF0ZVJlZjxhbnk+KTtcbiAgcHVibGljIGVsZW1lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9fY29udGVudF9fKCkgYXMgSFRNTEVsZW1lbnQpO1xuXG4gIHByb3RlY3RlZCBtb2RhbFNpemVTdGF0ZSA9IHNpZ25hbDwnbWluaW1pemUnIHwgJ25vcm1hbCc+KCdub3JtYWwnKTtcbiAgcHJvdGVjdGVkIGZ1bGxTY3JlZW5TdGF0ZSA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgaXNNb3VzZURvd24gPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIG9mZnNldFggPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgb2Zmc2V0WSA9IHNpZ25hbCgwKTtcbiAgcHJpdmF0ZSBwcmV2TGVmdCA9IHNpZ25hbCgnJyk7XG4gIHByaXZhdGUgcHJldlRvcCA9IHNpZ25hbCgnJyk7XG4gIHByaXZhdGUgYmFja2Ryb3BTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LmJhY2tkcm9wPy5lbmFibGVkID8/IHRydWUpO1xuICBwcml2YXRlIGNsb3NlT25Fc2NhcGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5jbG9zZU9uRXNjYXBlID8/IHRydWUpO1xuICBwcm90ZWN0ZWQgcGFuZWxDbGFzcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LnBhbmVsQ2xhc3MgPz8gJycpO1xuICBwcm90ZWN0ZWQgaGVhZGVyU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5oZWFkZXIgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgZm9vdGVyU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5mb290ZXIgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgY2xvc2VIZWFkZXJCdXR0b24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5idXR0b25zPy5jbG9zZSA/PyB0cnVlKTtcbiAgcHJpdmF0ZSBiYWNrZHJvcEJhY2tncm91bmQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5iYWNrZHJvcD8uYmFja2dyb3VuZCA/PyB0cnVlKTtcbiAgcHJpdmF0ZSBiYWNrZHJvcENsYXNzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYmFja2Ryb3A/LmJhY2tkcm9wQ2xhc3MgPz8gJycpO1xuICBwcml2YXRlIGJhY2tkcm9wQ2xvc2VPbkNsaWNrID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYmFja2Ryb3A/LmNsb3NlT25DbGljayA/PyB0cnVlKTtcbiAgcHJpdmF0ZSBtaW5pbWl6ZVBvc2l0aW9uID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYnV0dG9ucz8ubWluaW1pemU/LnBvc2l0aW9uID8/ICdib3R0b20tcmlnaHQnLFxuICApO1xuICBwcm90ZWN0ZWQgbWluaW1pemVTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LmJ1dHRvbnM/Lm1pbmltaXplPy5lbmFibGUgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgbWF4aW1pemVTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LmJ1dHRvbnM/Lm1heGltaXplID8/IGZhbHNlKTtcbiAgcHJvdGVjdGVkIG1vZGFsU2l6ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LnNpemUgPz8gJ2xnJyk7XG4gIHByb3RlY3RlZCBoZWFkZXJUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LnRpdGxlID8/ICcnKTtcbiAgcHJpdmF0ZSBkcmFnZ2FibGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5kcmFnZ2FibGUgPz8gdHJ1ZSk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIGNvbnN0IHBvcEZvb3RlciA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LW1vZGFsLWZvb3RlcicpO1xuICAgIGNvbnN0IGZvb3RlciA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LW1vZGFsLWNvbnRlbnQgYXgtbW9kYWwtZm9vdGVyJyk7XG4gICAgaWYgKGZvb3Rlcikge1xuICAgICAgcG9wRm9vdGVyPy5hcHBlbmQoZm9vdGVyKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjbG9zZSgpIHtcbiAgICB0aGlzLnNlcnZpY2VTdGF0ZS5jbG9zZSh0aGlzLmlkKCkpO1xuICB9XG5cbiAgbWluaW1pemUoKSB7XG4gICAgaWYgKHRoaXMuZnVsbFNjcmVlblN0YXRlKCkpIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMjAwbXMgZWFzZS1vdXQnO1xuXG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gYGF1dG9gO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9IGAwYDtcblxuICAgIGlmICh0aGlzLmJhY2tkcm9wU3RhdGUoKSkgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LW5vcm1hbC1tb2RhbCcpO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2F4LW1pbmltaXplLW1vZGFsJyk7XG5cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZXJ2aWNlU3RhdGUuZ2V0TWFwSW5kZXhPZih0aGlzLmlkKCkpO1xuXG4gICAgICBpZiAodGhpcy5taW5pbWl6ZVBvc2l0aW9uKCkgPT09ICdib3R0b20tcmlnaHQnKSB7XG4gICAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBgYXV0b2A7XG4gICAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gYCR7aW5kZXggKiAod2lkdGggKyAxMCl9cHhgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUucmlnaHQgPSBgYXV0b2A7XG4gICAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBgJHtpbmRleCAqICh3aWR0aCArIDEwKX1weGA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vZGFsU2l6ZVN0YXRlLnNldCgnbWluaW1pemUnKTtcbiAgfVxuXG4gIG1heGltaXplKCkge1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSAnbm9uZSc7XG5cbiAgICBpZiAodGhpcy5tb2RhbFNpemVTdGF0ZSgpID09PSAnbWluaW1pemUnKSB0aGlzLnJlc3RvcmUoKTtcblxuICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgICB0aGlzLmZ1bGxTY3JlZW5TdGF0ZS5zZXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHtcbiAgICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuU3RhdGUuc2V0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlc3RvcmUoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnO1xuICAgIH0sIDIwMCk7XG5cbiAgICBpZiAodGhpcy5mdWxsU2NyZWVuU3RhdGUoKSkge1xuICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSBgYXV0b2A7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUucmlnaHQgPSBgYXV0b2A7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IHRoaXMucHJldkxlZnQoKTtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB0aGlzLnByZXZUb3AoKTtcblxuICAgIGlmICh0aGlzLmJhY2tkcm9wU3RhdGUoKSkgdGhpcy5hZGRCYWNrZHJvcCgpO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYGF4LW1pbmltaXplLW1vZGFsYCk7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYXgtbm9ybWFsLW1vZGFsJyk7XG4gICAgdGhpcy5tb2RhbFNpemVTdGF0ZS5zZXQoJ25vcm1hbCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBvaW50ZXJEb3duSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRyYWdnYWJsZSgpIHx8IHRoaXMubW9kYWxTaXplU3RhdGUoKSA9PT0gJ21pbmltaXplJyB8fCB0aGlzLmZ1bGxTY3JlZW5TdGF0ZSgpKSByZXR1cm47XG4gICAgdGhpcy5pc01vdXNlRG93bi5zZXQodHJ1ZSk7XG4gICAgdGhpcy5vZmZzZXRYLnNldChlLmNsaWVudFggLSB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0KTtcbiAgICB0aGlzLm9mZnNldFkuc2V0KGUuY2xpZW50WSAtIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCk7XG4gIH1cblxuICBwcml2YXRlIGFkZEJhY2tkcm9wKCkge1xuICAgIGNvbnN0IGJhY2tkcm9wRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGJhY2tkcm9wRWxlbS5jbGFzc0xpc3QuYWRkKCdheC1tb2RhbC1kcmF3ZXItYmFja2Ryb3AnKTtcblxuICAgIGlmICh0aGlzLmJhY2tkcm9wQ2xhc3MoKSkge1xuICAgICAgYmFja2Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5iYWNrZHJvcENsYXNzKCkuc3BsaXQoJyAnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tkcm9wRWxlbS5jbGFzc0xpc3QuYWRkKCdheC1kZWZhdWx0LWJhY2tkcm9wJyk7XG4gICAgfVxuXG4gICAgYmFja2Ryb3BFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5iYWNrZHJvcENsb3NlT25DbGljaygpKSByZXR1cm47XG4gICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYmFja2Ryb3BFbGVtKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5heC1tb2RhbC1kcmF3ZXItYmFja2Ryb3AnKTtcbiAgICBpZiAoYmFja2Ryb3BFbGVtKSB7XG4gICAgICBiYWNrZHJvcEVsZW0ucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgcG9pbnRlck1vdmVIYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZHJhZ2dhYmxlKCkgfHwgdGhpcy5tb2RhbFNpemVTdGF0ZSgpID09PSAnbWluaW1pemUnIHx8IHRoaXMuZnVsbFNjcmVlblN0YXRlKCkpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuaXNNb3VzZURvd24oKSkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBgJHtlLmNsaWVudFggLSB0aGlzLm9mZnNldFgoKX1weGA7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7ZS5jbGllbnRZIC0gdGhpcy5vZmZzZXRZKCl9cHhgO1xuICAgIHRoaXMucHJldkxlZnQuc2V0KGAke2UuY2xpZW50WCAtIHRoaXMub2Zmc2V0WCgpfXB4YCk7XG4gICAgdGhpcy5wcmV2VG9wLnNldChgJHtlLmNsaWVudFkgLSB0aGlzLm9mZnNldFkoKX1weGApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcnVwJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmxlYXZlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIHBvaW50ZXJVcEhhbmRsZXIoKSB7XG4gICAgaWYgKCF0aGlzLmRyYWdnYWJsZSgpIHx8IHRoaXMubW9kYWxTaXplU3RhdGUoKSA9PT0gJ21pbmltaXplJyB8fCB0aGlzLmZ1bGxTY3JlZW5TdGF0ZSgpKSByZXR1cm47XG4gICAgdGhpcy5pc01vdXNlRG93bi5zZXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHJvbGUoKSB7XG4gICAgcmV0dXJuICcwJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgZXNjYXBlSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLmNsb3NlT25Fc2NhcGUoKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gICNlZmYgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlKCkpIGhvc3QuY2xhc3NMaXN0LmFkZCgnYXgtZHJhZ2dhYmxlJyk7XG4gICAgaWYgKCF0aGlzLmJhY2tkcm9wU3RhdGUoKSkgcmV0dXJuO1xuICAgIHRoaXMuYWRkQmFja2Ryb3AoKTtcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3BCYWNrZ3JvdW5kKCkpIHJldHVybjtcbiAgfSk7XG59XG4iLCI8ZGl2XG4gICNjXG4gIGNsYXNzPVwiYXgtbW9kYWwtY29udGFpbmVyIGF4LXt7IG1vZGFsU2l6ZVN0YXRlKCkgfX0tbW9kYWwgIGF4LW1vZGFsLXt7IG1vZGFsU2l6ZSgpIH19IHt7IHBhbmVsQ2xhc3MoKSB9fVwiXG4gIFtAbW9kYWxBbmltYXRpb25dXG4+XG4gIEBpZiAoaGVhZGVyU3RhdGUoKSkge1xuICAgIDxkaXYgKHBvaW50ZXJkb3duKT1cInBvaW50ZXJEb3duSGFuZGxlcigkZXZlbnQpXCIgY2xhc3M9XCJheC1tb2RhbC1oZWFkZXJcIj5cbiAgICAgIDxheC10ZXh0Pnt7IGhlYWRlclRpdGxlKCkgfX08L2F4LXRleHQ+XG5cbiAgICAgIDxkaXY+XG4gICAgICAgIEBpZiAobWluaW1pemVTdGF0ZSgpKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LXNtXCIgKG9uQ2xpY2spPVwibWluaW1pemUoKVwiIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tbWluaW1pemVcIj4gPC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChtb2RhbFNpemVTdGF0ZSgpICE9PSAnbm9ybWFsJyB8fCBmdWxsU2NyZWVuU3RhdGUoKSkge1xuICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1zbVwiIChvbkNsaWNrKT1cInJlc3RvcmUoKVwiIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tbWF4aW1pemVcIj4gPC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChtYXhpbWl6ZVN0YXRlKCkpIHtcbiAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtc21cIiAob25DbGljayk9XCJtYXhpbWl6ZSgpXCIgbG9vaz1cImJsYW5rXCIgY29sb3I9XCJkZWZhdWx0XCI+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1mdWxsLXNjcmVlblwiPiA8L2F4LWljb24+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGNsb3NlSGVhZGVyQnV0dG9uKCkpIHtcbiAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtc21cIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJjbG9zZSgpXCIgY29sb3I9XCJkZWZhdWx0XCI+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZVwiPiA8L2F4LWljb24+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cImF4LW1vZGFsLWNvbnRlbnRcIj5cbiAgICBAaWYgKGlzVGVtcGxhdGUoKSkge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aGlzLnRlbXBsYXRlKClcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiaW5wdXRzKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIGlmIChpc0h0bWxFbGVtZW50KCkpIHtcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5lbGVtZW50KCkub3V0ZXJIVE1MKVwiPjwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwidGhpcy5jb21wb25lbnQoKVwiIFtuZ0NvbXBvbmVudE91dGxldElucHV0c109XCJpbnB1dHMoKVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmIChmb290ZXJTdGF0ZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LW1vZGFsLWZvb3RlclwiPjwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { AXInputMaskDirective } from '@acorex/cdk/input-mask';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, model, signal, viewChild, afterNextRender, effect, forwardRef, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
-
import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/cdk/common';
|
|
5
|
-
import { AXButtonModule } from '@acorex/components/button';
|
|
6
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
7
|
-
import * as i1 from '@angular/forms';
|
|
8
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
-
import { classes } from 'polytype';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* The NumberBox is a component which detects user interaction and triggers a corresponding event
|
|
13
|
-
*
|
|
14
|
-
* @category Components
|
|
15
|
-
*/
|
|
16
|
-
class AXNumberBox2Component extends classes((MXInputBaseValueComponent), MXLookComponent) {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.minValue = input(null, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
|
|
20
|
-
this.maxValue = input(null, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
|
|
21
|
-
this.showSpinButtons = input(true, ...(ngDevMode ? [{ debugName: "showSpinButtons" }] : []));
|
|
22
|
-
this.thousandsSeparator = model(null, ...(ngDevMode ? [{ debugName: "thousandsSeparator" }] : []));
|
|
23
|
-
this.decimals = input(0, ...(ngDevMode ? [{ debugName: "decimals" }] : []));
|
|
24
|
-
this.changeOnScroll = input(false, ...(ngDevMode ? [{ debugName: "changeOnScroll" }] : []));
|
|
25
|
-
this.step = input(1, ...(ngDevMode ? [{ debugName: "step" }] : []));
|
|
26
|
-
this.mode = signal('digits', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
27
|
-
this.input = viewChild('input', ...(ngDevMode ? [{ debugName: "input" }] : []));
|
|
28
|
-
this.stringValue = '0';
|
|
29
|
-
this.#init = afterNextRender(() => {
|
|
30
|
-
this.onFocus.subscribe(() => {
|
|
31
|
-
this.input().nativeElement.select();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
this.#eff = effect(() => {
|
|
35
|
-
if (this.thousandsSeparator() && this.decimals()) {
|
|
36
|
-
this.mode.set('digits');
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
else if (this.thousandsSeparator()) {
|
|
40
|
-
this.mode.set('thousandsSeparator');
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
else if (this.decimals()) {
|
|
44
|
-
this.mode.set('decimal');
|
|
45
|
-
}
|
|
46
|
-
}, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
|
|
47
|
-
}
|
|
48
|
-
internalValueChanged(value) {
|
|
49
|
-
if (!value) {
|
|
50
|
-
this.stringValue = '0';
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.stringValue = String(value);
|
|
54
|
-
}
|
|
55
|
-
#init;
|
|
56
|
-
#eff;
|
|
57
|
-
plusValue() {
|
|
58
|
-
if (this.disabled || this.readonly) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (this.mode() === 'thousandsSeparator') {
|
|
62
|
-
const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');
|
|
63
|
-
const addStep = +removeSeparator + this.step();
|
|
64
|
-
this.commitValue(addStep);
|
|
65
|
-
const addSeparator = addStep.toLocaleString();
|
|
66
|
-
const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());
|
|
67
|
-
this.stringValue = replaceSeparator;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
const convert = +this.stringValue + this.step();
|
|
71
|
-
this.commitValue(convert);
|
|
72
|
-
this.stringValue = convert.toString();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
minusValue() {
|
|
76
|
-
if (this.disabled || this.readonly) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (this.mode() === 'thousandsSeparator') {
|
|
80
|
-
const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');
|
|
81
|
-
const addStep = +removeSeparator - this.step();
|
|
82
|
-
this.commitValue(addStep);
|
|
83
|
-
const addSeparator = addStep.toLocaleString();
|
|
84
|
-
const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());
|
|
85
|
-
this.stringValue = replaceSeparator;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
const convert = +this.stringValue + this.step() * -1;
|
|
89
|
-
this.commitValue(convert);
|
|
90
|
-
this.stringValue = convert.toString();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
handleOnKeydownEvent(e) {
|
|
94
|
-
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
|
95
|
-
return;
|
|
96
|
-
if (this.disabled || this.readonly)
|
|
97
|
-
return;
|
|
98
|
-
if (e.key === 'ArrowUp') {
|
|
99
|
-
this.plusValue();
|
|
100
|
-
}
|
|
101
|
-
else if (e.key === 'ArrowDown') {
|
|
102
|
-
this.minusValue();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
handleUpClick() {
|
|
106
|
-
if (this.disabled || this.readonly)
|
|
107
|
-
return;
|
|
108
|
-
this.plusValue();
|
|
109
|
-
}
|
|
110
|
-
handleDownClick() {
|
|
111
|
-
this.minusValue();
|
|
112
|
-
}
|
|
113
|
-
handleOnMaskChanged(e) {
|
|
114
|
-
if (!e.unmasked || isNaN(+e.unmasked)) {
|
|
115
|
-
this.commitValue(null);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
this.commitValue(+e.unmasked);
|
|
119
|
-
}
|
|
120
|
-
onWheel(event) {
|
|
121
|
-
if (this.changeOnScroll()) {
|
|
122
|
-
event.preventDefault();
|
|
123
|
-
if (!this.disabled && !this.readonly) {
|
|
124
|
-
if (event.deltaY > 0) {
|
|
125
|
-
this.minusValue();
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
this.plusValue();
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
get __hostName() {
|
|
134
|
-
return this.name;
|
|
135
|
-
}
|
|
136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBox2Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXNumberBox2Component, isStandalone: true, selector: "ax-number-box-2", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: "showSpinButtons", publicName: "showSpinButtons", isSignal: true, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: "thousandsSeparator", publicName: "thousandsSeparator", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: "changeOnScroll", publicName: "changeOnScroll", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress", thousandsSeparator: "thousandsSeparatorChange" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
|
|
138
|
-
{ provide: AXComponent, useExisting: AXNumberBox2Component },
|
|
139
|
-
{ provide: AXFocusableComponent, useExisting: AXNumberBox2Component },
|
|
140
|
-
{ provide: AXClearableComponent, useExisting: AXNumberBox2Component },
|
|
141
|
-
{ provide: AXValuableComponent, useExisting: AXNumberBox2Component },
|
|
142
|
-
{
|
|
143
|
-
provide: NG_VALUE_ACCESSOR,
|
|
144
|
-
useExisting: forwardRef(() => AXNumberBox2Component),
|
|
145
|
-
multi: true,
|
|
146
|
-
},
|
|
147
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-editor-container ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n axInputMask\n (onMaskChanged)=\"handleOnMaskChanged($event)\"\n [maskMode]=\"mode()\"\n inputmode=\"numeric\"\n class=\"ax-input\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [separator]=\"thousandsSeparator()\"\n [decimal]=\"decimals()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"stringValue\"\n (keydown)=\"handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (wheel)=\"onWheel($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons()) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleUpClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleDownClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box-2 .ax-number-box-control button{font-size:.75rem;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AXInputMaskDirective, selector: "[axInputMask]", inputs: ["maskMode", "separator", "eager", "minValue", "maxValue", "decimal"], outputs: ["onMaskChanged"], exportAs: ["axInputMask"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
148
|
-
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBox2Component, decorators: [{
|
|
150
|
-
type: Component,
|
|
151
|
-
args: [{ selector: 'ax-number-box-2', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [
|
|
152
|
-
'valueChange',
|
|
153
|
-
'stateChange',
|
|
154
|
-
'onValueChanged',
|
|
155
|
-
'onBlur',
|
|
156
|
-
'onFocus',
|
|
157
|
-
'readonlyChange',
|
|
158
|
-
'disabledChange',
|
|
159
|
-
'onKeyDown',
|
|
160
|
-
'onKeyUp',
|
|
161
|
-
'onKeyPress',
|
|
162
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
163
|
-
{ provide: AXComponent, useExisting: AXNumberBox2Component },
|
|
164
|
-
{ provide: AXFocusableComponent, useExisting: AXNumberBox2Component },
|
|
165
|
-
{ provide: AXClearableComponent, useExisting: AXNumberBox2Component },
|
|
166
|
-
{ provide: AXValuableComponent, useExisting: AXNumberBox2Component },
|
|
167
|
-
{
|
|
168
|
-
provide: NG_VALUE_ACCESSOR,
|
|
169
|
-
useExisting: forwardRef(() => AXNumberBox2Component),
|
|
170
|
-
multi: true,
|
|
171
|
-
},
|
|
172
|
-
], imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule], template: "<div\n class=\"ax-editor-container ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n axInputMask\n (onMaskChanged)=\"handleOnMaskChanged($event)\"\n [maskMode]=\"mode()\"\n inputmode=\"numeric\"\n class=\"ax-input\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [separator]=\"thousandsSeparator()\"\n [decimal]=\"decimals()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"stringValue\"\n (keydown)=\"handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (wheel)=\"onWheel($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons()) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleUpClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleDownClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box-2 .ax-number-box-control button{font-size:.75rem;align-items:center}\n"] }]
|
|
173
|
-
}], propDecorators: { __hostName: [{
|
|
174
|
-
type: HostBinding,
|
|
175
|
-
args: ['attr.name']
|
|
176
|
-
}] } });
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Generated bundle index. Do not edit.
|
|
180
|
-
*/
|
|
181
|
-
|
|
182
|
-
export { AXNumberBox2Component };
|
|
183
|
-
//# sourceMappingURL=acorex-components-number-box-2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-number-box-2.mjs","sources":["../tmp-esm2022/number-box-2/lib/number-box-2.component.js","../tmp-esm2022/number-box-2/acorex-components-number-box-2.js"],"sourcesContent":["import { AXInputMaskDirective } from '@acorex/cdk/input-mask';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation, afterNextRender, effect, forwardRef, input, model, signal, viewChild, } from '@angular/core';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\nexport class AXNumberBox2Component extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.minValue = input(null, ...(ngDevMode ? [{ debugName: \"minValue\" }] : []));\n this.maxValue = input(null, ...(ngDevMode ? [{ debugName: \"maxValue\" }] : []));\n this.showSpinButtons = input(true, ...(ngDevMode ? [{ debugName: \"showSpinButtons\" }] : []));\n this.thousandsSeparator = model(null, ...(ngDevMode ? [{ debugName: \"thousandsSeparator\" }] : []));\n this.decimals = input(0, ...(ngDevMode ? [{ debugName: \"decimals\" }] : []));\n this.changeOnScroll = input(false, ...(ngDevMode ? [{ debugName: \"changeOnScroll\" }] : []));\n this.step = input(1, ...(ngDevMode ? [{ debugName: \"step\" }] : []));\n this.mode = signal('digits', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.input = viewChild('input', ...(ngDevMode ? [{ debugName: \"input\" }] : []));\n this.stringValue = '0';\n this.#init = afterNextRender(() => {\n this.onFocus.subscribe(() => {\n this.input().nativeElement.select();\n });\n });\n this.#eff = effect(() => {\n if (this.thousandsSeparator() && this.decimals()) {\n this.mode.set('digits');\n return;\n }\n else if (this.thousandsSeparator()) {\n this.mode.set('thousandsSeparator');\n return;\n }\n else if (this.decimals()) {\n this.mode.set('decimal');\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n internalValueChanged(value) {\n if (!value) {\n this.stringValue = '0';\n return;\n }\n this.stringValue = String(value);\n }\n #init;\n #eff;\n plusValue() {\n if (this.disabled || this.readonly) {\n return;\n }\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator + this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step();\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n minusValue() {\n if (this.disabled || this.readonly) {\n return;\n }\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator - this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step() * -1;\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n handleOnKeydownEvent(e) {\n if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')\n return;\n if (this.disabled || this.readonly)\n return;\n if (e.key === 'ArrowUp') {\n this.plusValue();\n }\n else if (e.key === 'ArrowDown') {\n this.minusValue();\n }\n }\n handleUpClick() {\n if (this.disabled || this.readonly)\n return;\n this.plusValue();\n }\n handleDownClick() {\n this.minusValue();\n }\n handleOnMaskChanged(e) {\n if (!e.unmasked || isNaN(+e.unmasked)) {\n this.commitValue(null);\n return;\n }\n this.commitValue(+e.unmasked);\n }\n onWheel(event) {\n if (this.changeOnScroll()) {\n event.preventDefault();\n if (!this.disabled && !this.readonly) {\n if (event.deltaY > 0) {\n this.minusValue();\n }\n else {\n this.plusValue();\n }\n }\n }\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBox2Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXNumberBox2Component, isStandalone: true, selector: \"ax-number-box-2\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: \"showSpinButtons\", publicName: \"showSpinButtons\", isSignal: true, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: \"thousandsSeparator\", publicName: \"thousandsSeparator\", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: \"decimals\", publicName: \"decimals\", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: \"changeOnScroll\", publicName: \"changeOnScroll\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", onKeyDown: \"onKeyDown\", onKeyUp: \"onKeyUp\", onKeyPress: \"onKeyPress\", thousandsSeparator: \"thousandsSeparatorChange\" }, host: { properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"input\", first: true, predicate: [\"input\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box-2 .ax-number-box-control button{font-size:.75rem;align-items:center}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: AXInputMaskDirective, selector: \"[axInputMask]\", inputs: [\"maskMode\", \"separator\", \"eager\", \"minValue\", \"maxValue\", \"decimal\"], outputs: [\"onMaskChanged\"], exportAs: [\"axInputMask\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBox2Component, decorators: [{\n type: Component,\n args: [{ selector: 'ax-number-box-2', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule], template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box-2 .ax-number-box-control button{font-size:.75rem;align-items:center}\\n\"] }]\n }], propDecorators: { __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC0yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFFbkM7Ozs7R0FJRztBQWlDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsT0FBTyxDQUFDLENBQUEseUJBQWlDLENBQUEsRUFBRSxlQUFlLENBQUM7SUFoQ3RHOztRQWlDRSxhQUFRLEdBQUcsS0FBSyxDQUFTLElBQUksb0RBQUMsQ0FBQztRQUMvQixh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Q0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHVCQUF1QixFQUFFO3dCQUM1RCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHVCQUF1QixFQUFFO3dCQUNyRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHVCQUF1QixFQUFFO3dCQUNyRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHVCQUF1QixFQUFFO3dCQUNwRTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsV0FDUSxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUM7OEJBc0huRSxVQUFVO3NCQURyQixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWElucHV0TWFza0RpcmVjdGl2ZSwgdHlwZSBBWElucHV0TWFza0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvaW5wdXQtbWFzayc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuLyoqXG4gKiBUaGUgTnVtYmVyQm94IGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveC0yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3gtMi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3gtMi5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnLCAnc3RhdGUnLCAnbmFtZScsICdpZCcsICdsb29rJ10sXG4gIG91dHB1dHM6IFtcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdzdGF0ZUNoYW5nZScsXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWRDaGFuZ2UnLFxuICAgICdvbktleURvd24nLFxuICAgICdvbktleVVwJyxcbiAgICAnb25LZXlQcmVzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3gyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94MkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveDJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveDJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTnVtYmVyQm94MkNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIEFYSW5wdXRNYXNrRGlyZWN0aXZlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveDJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8bnVtYmVyPiwgTVhMb29rQ29tcG9uZW50KSB7XG4gIG1pblZhbHVlID0gaW5wdXQ8bnVtYmVyPihudWxsKTtcbiAgbWF4VmFsdWUgPSBpbnB1dDxudW1iZXI+KG51bGwpO1xuICBzaG93U3BpbkJ1dHRvbnMgPSBpbnB1dCh0cnVlKTtcbiAgdGhvdXNhbmRzU2VwYXJhdG9yID0gbW9kZWw8c3RyaW5nPihudWxsKTtcbiAgZGVjaW1hbHMgPSBpbnB1dCgwKTtcbiAgY2hhbmdlT25TY3JvbGwgPSBpbnB1dChmYWxzZSk7XG4gIHN0ZXAgPSBpbnB1dCgxKTtcbiAgcHJvdGVjdGVkIG1vZGUgPSBzaWduYWw8J2RpZ2l0cycgfCAndGhvdXNhbmRzU2VwYXJhdG9yJyB8ICdkZWNpbWFsJz4oJ2RpZ2l0cycpO1xuICBwcml2YXRlIGlucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdpbnB1dCcpO1xuICBwcm90ZWN0ZWQgc3RyaW5nVmFsdWUgPSAnMCc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gJzAnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0cmluZ1ZhbHVlID0gU3RyaW5nKHZhbHVlKTtcbiAgfVxuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICB0aGlzLm9uRm9jdXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaW5wdXQoKS5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSAmJiB0aGlzLmRlY2ltYWxzKCkpIHtcbiAgICAgIHRoaXMubW9kZS5zZXQoJ2RpZ2l0cycpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSkge1xuICAgICAgdGhpcy5tb2RlLnNldCgndGhvdXNhbmRzU2VwYXJhdG9yJyk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlY2ltYWxzKCkpIHtcbiAgICAgIHRoaXMubW9kZS5zZXQoJ2RlY2ltYWwnKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByaXZhdGUgcGx1c1ZhbHVlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAndGhvdXNhbmRzU2VwYXJhdG9yJykge1xuICAgICAgY29uc3QgcmVtb3ZlU2VwYXJhdG9yID0gdGhpcy5zdHJpbmdWYWx1ZS5zcGxpdCh0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKS5qb2luKCcnKTtcbiAgICAgIGNvbnN0IGFkZFN0ZXAgPSArcmVtb3ZlU2VwYXJhdG9yICsgdGhpcy5zdGVwKCk7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKGFkZFN0ZXApO1xuXG4gICAgICBjb25zdCBhZGRTZXBhcmF0b3IgPSBhZGRTdGVwLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICBjb25zdCByZXBsYWNlU2VwYXJhdG9yID0gYWRkU2VwYXJhdG9yLnNwbGl0KCcsJykuam9pbih0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKTtcbiAgICAgIHRoaXMuc3RyaW5nVmFsdWUgPSByZXBsYWNlU2VwYXJhdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb252ZXJ0ID0gK3RoaXMuc3RyaW5nVmFsdWUgKyB0aGlzLnN0ZXAoKTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoY29udmVydCk7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gY29udmVydC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWludXNWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ3Rob3VzYW5kc1NlcGFyYXRvcicpIHtcbiAgICAgIGNvbnN0IHJlbW92ZVNlcGFyYXRvciA9IHRoaXMuc3RyaW5nVmFsdWUuc3BsaXQodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSkuam9pbignJyk7XG4gICAgICBjb25zdCBhZGRTdGVwID0gK3JlbW92ZVNlcGFyYXRvciAtIHRoaXMuc3RlcCgpO1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShhZGRTdGVwKTtcblxuICAgICAgY29uc3QgYWRkU2VwYXJhdG9yID0gYWRkU3RlcC50b0xvY2FsZVN0cmluZygpO1xuICAgICAgY29uc3QgcmVwbGFjZVNlcGFyYXRvciA9IGFkZFNlcGFyYXRvci5zcGxpdCgnLCcpLmpvaW4odGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSk7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gcmVwbGFjZVNlcGFyYXRvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udmVydCA9ICt0aGlzLnN0cmluZ1ZhbHVlICsgdGhpcy5zdGVwKCkgKiAtMTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoY29udmVydCk7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gY29udmVydC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGUua2V5ICE9PSAnQXJyb3dVcCcgJiYgZS5rZXkgIT09ICdBcnJvd0Rvd24nKSByZXR1cm47XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICB0aGlzLnBsdXNWYWx1ZSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLm1pbnVzVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVXBDbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XG4gICAgdGhpcy5wbHVzVmFsdWUoKTtcbiAgfVxuICBwcm90ZWN0ZWQgaGFuZGxlRG93bkNsaWNrKCkge1xuICAgIHRoaXMubWludXNWYWx1ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uTWFza0NoYW5nZWQoZTogQVhJbnB1dE1hc2tFdmVudCkge1xuICAgIGlmICghZS51bm1hc2tlZCB8fCBpc05hTigrZS51bm1hc2tlZCkpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUoK2UudW5tYXNrZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uV2hlZWwoZXZlbnQ6IFdoZWVsRXZlbnQpIHtcbiAgICBpZiAodGhpcy5jaGFuZ2VPblNjcm9sbCgpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5taW51c1ZhbHVlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wbHVzVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5uYW1lJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyICBheC17eyBsb29rIH19XCJcbiAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+IDwvbmctY29udGVudD5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgYXhJbnB1dE1hc2tcbiAgICAob25NYXNrQ2hhbmdlZCk9XCJoYW5kbGVPbk1hc2tDaGFuZ2VkKCRldmVudClcIlxuICAgIFttYXNrTW9kZV09XCJtb2RlKClcIlxuICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgIGNsYXNzPVwiYXgtaW5wdXRcIlxuICAgIFttaW5WYWx1ZV09XCJtaW5WYWx1ZSgpXCJcbiAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWUoKVwiXG4gICAgW3NlcGFyYXRvcl09XCJ0aG91c2FuZHNTZXBhcmF0b3IoKVwiXG4gICAgW2RlY2ltYWxdPVwiZGVjaW1hbHMoKVwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgWyhuZ01vZGVsKV09XCJzdHJpbmdWYWx1ZVwiXG4gICAgKGtleWRvd24pPVwiaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxuICAgICh3aGVlbCk9XCJvbldoZWVsKCRldmVudClcIlxuICAvPlxuICBAaWYgKGlucHV0LnZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gIH1cbiAgQGlmIChzaG93U3BpbkJ1dHRvbnMoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJheC1udW1iZXItYm94LWNvbnRyb2xcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYXgtZWRpdG9yLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVVcENsaWNrKClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi11cCBheC1hcnJvdy1idXR0b25cIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYXgtZWRpdG9yLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVEb3duQ2xpY2soKVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWRvd24gYXgtYXJyb3ctYnV0dG9uXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIH1cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC0yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9udW1iZXItYm94LTIvc3JjL2Fjb3JleC1jb21wb25lbnRzLW51bWJlci1ib3gtMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
package/number-box-2/README.md
DELETED
package/number-box-2/index.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as polytype from 'polytype';
|
|
2
|
-
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { AXInputMaskEvent } from '@acorex/cdk/input-mask';
|
|
4
|
-
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
|
|
5
|
-
|
|
6
|
-
declare const AXNumberBox2Component_base: polytype.Polytype.ClusteredConstructor<[{
|
|
7
|
-
new (): MXInputBaseValueComponent<number>;
|
|
8
|
-
ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
|
|
9
|
-
ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
|
|
10
|
-
}, typeof MXLookComponent]>;
|
|
11
|
-
/**
|
|
12
|
-
* The NumberBox is a component which detects user interaction and triggers a corresponding event
|
|
13
|
-
*
|
|
14
|
-
* @category Components
|
|
15
|
-
*/
|
|
16
|
-
declare class AXNumberBox2Component extends AXNumberBox2Component_base {
|
|
17
|
-
#private;
|
|
18
|
-
minValue: _angular_core.InputSignal<number>;
|
|
19
|
-
maxValue: _angular_core.InputSignal<number>;
|
|
20
|
-
showSpinButtons: _angular_core.InputSignal<boolean>;
|
|
21
|
-
thousandsSeparator: _angular_core.ModelSignal<string>;
|
|
22
|
-
decimals: _angular_core.InputSignal<number>;
|
|
23
|
-
changeOnScroll: _angular_core.InputSignal<boolean>;
|
|
24
|
-
step: _angular_core.InputSignal<number>;
|
|
25
|
-
protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
|
|
26
|
-
private input;
|
|
27
|
-
protected stringValue: string;
|
|
28
|
-
protected internalValueChanged(value: number): void;
|
|
29
|
-
private plusValue;
|
|
30
|
-
private minusValue;
|
|
31
|
-
protected handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
32
|
-
protected handleUpClick(): void;
|
|
33
|
-
protected handleDownClick(): void;
|
|
34
|
-
protected handleOnMaskChanged(e: AXInputMaskEvent): void;
|
|
35
|
-
protected onWheel(event: WheelEvent): void;
|
|
36
|
-
private get __hostName();
|
|
37
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNumberBox2Component, never>;
|
|
38
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXNumberBox2Component, "ax-number-box-2", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; "isSignal": true; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "changeOnScroll": { "alias": "changeOnScroll"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "thousandsSeparator": "thousandsSeparatorChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export { AXNumberBox2Component };
|