@acorex/components 7.1.52 → 7.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -20
- package/action-sheet/README.md +3 -0
- package/action-sheet/index.d.ts +4 -5
- package/alert/README.md +3 -0
- package/alert/index.d.ts +2 -5
- package/avatar/README.md +3 -0
- package/avatar/index.d.ts +3 -5
- package/badge/README.md +3 -0
- package/badge/index.d.ts +2 -5
- package/breadcrumbs/README.md +3 -0
- package/breadcrumbs/index.d.ts +4 -5
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +80 -0
- package/button/README.md +3 -0
- package/button/index.d.ts +5 -5
- package/button/lib/button-group.component.d.ts +86 -0
- package/button/lib/button-item.component.d.ts +82 -0
- package/calendar/README.md +3 -0
- package/calendar/index.d.ts +4 -5
- package/calendar/lib/calendar.class.d.ts +81 -0
- package/checkbox/README.md +3 -0
- package/checkbox/index.d.ts +2 -5
- package/chips/README.md +3 -0
- package/chips/index.d.ts +2 -5
- package/chips/lib/chips.component.d.ts +71 -0
- package/collapse/README.md +3 -0
- package/collapse/index.d.ts +3 -5
- package/color-palette/README.md +3 -0
- package/color-palette/index.d.ts +7 -5
- package/color-picker/README.md +3 -0
- package/color-picker/index.d.ts +2 -5
- package/color-picker/lib/color-picker.component.d.ts +197 -0
- package/common/README.md +3 -0
- package/common/index.d.ts +22 -5
- package/common/lib/components/button-base-component.class.d.ts +36 -0
- package/common/lib/components/interactive-component.class.d.ts +37 -0
- package/common/lib/components/look-component.class.d.ts +15 -0
- package/context-menu/README.md +3 -0
- package/context-menu/index.d.ts +2 -5
- package/data-pager/README.md +3 -0
- package/data-pager/index.d.ts +9 -5
- package/data-pager/lib/data-pager-input-selector.component.d.ts +15 -0
- package/data-table/README.md +3 -0
- package/data-table/index.d.ts +4 -5
- package/date-picker/README.md +3 -0
- package/date-picker/index.d.ts +2 -5
- package/decorators/README.md +3 -0
- package/decorators/index.d.ts +14 -5
- package/dialog/README.md +3 -0
- package/dialog/index.d.ts +4 -5
- package/drawer/README.md +3 -0
- package/drawer/index.d.ts +3 -5
- package/dropdown/README.md +3 -0
- package/dropdown/index.d.ts +2 -5
- package/esm2022/acorex-components.mjs +2 -2
- package/esm2022/action-sheet/acorex-components-action-sheet.mjs +2 -2
- package/esm2022/action-sheet/index.mjs +5 -0
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +78 -0
- package/esm2022/action-sheet/lib/action-sheet.interface.mjs +3 -0
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +26 -0
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +88 -0
- package/esm2022/alert/acorex-components-alert.mjs +2 -2
- package/esm2022/alert/index.mjs +3 -0
- package/esm2022/alert/lib/alert.component.mjs +191 -0
- package/esm2022/alert/lib/alert.module.mjs +22 -0
- package/esm2022/avatar/acorex-components-avatar.mjs +2 -2
- package/esm2022/avatar/index.mjs +4 -0
- package/esm2022/avatar/lib/avatar-group.component.mjs +16 -0
- package/esm2022/avatar/lib/avatar.component.mjs +36 -0
- package/esm2022/avatar/lib/avatar.module.mjs +22 -0
- package/esm2022/badge/acorex-components-badge.mjs +2 -2
- package/esm2022/badge/index.mjs +3 -0
- package/esm2022/badge/lib/badge.component.mjs +26 -0
- package/esm2022/badge/lib/badge.module.mjs +19 -0
- package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +2 -2
- package/esm2022/breadcrumbs/index.mjs +5 -0
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +2 -0
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +46 -0
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +19 -0
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +20 -0
- package/esm2022/button/acorex-components-button.mjs +2 -2
- package/esm2022/button/index.mjs +6 -0
- package/esm2022/button/lib/button-group.component.mjs +88 -0
- package/esm2022/button/lib/button-item.class.mjs +2 -0
- package/esm2022/button/lib/button-item.component.mjs +77 -0
- package/esm2022/button/lib/button.component.mjs +64 -0
- package/esm2022/button/lib/button.module.mjs +32 -0
- package/esm2022/calendar/acorex-components-calendar.mjs +2 -2
- package/esm2022/calendar/index.mjs +5 -0
- package/esm2022/calendar/lib/calendar-range.component.mjs +175 -0
- package/esm2022/calendar/lib/calendar.class.mjs +233 -0
- package/esm2022/calendar/lib/calendar.component.mjs +417 -0
- package/esm2022/calendar/lib/calendar.module.mjs +23 -0
- package/esm2022/checkbox/acorex-components-checkbox.mjs +2 -2
- package/esm2022/checkbox/index.mjs +3 -0
- package/esm2022/checkbox/lib/checkbox.component.mjs +41 -0
- package/esm2022/checkbox/lib/checkbox.module.mjs +21 -0
- package/esm2022/chips/acorex-components-chips.mjs +2 -2
- package/esm2022/chips/index.mjs +3 -0
- package/esm2022/chips/lib/chips.component.mjs +32 -0
- package/esm2022/chips/lib/chips.module.mjs +19 -0
- package/esm2022/collapse/acorex-components-collapse.mjs +2 -2
- package/esm2022/collapse/index.mjs +4 -0
- package/esm2022/collapse/lib/collapse-group.component.mjs +53 -0
- package/esm2022/collapse/lib/collapse.component.mjs +45 -0
- package/esm2022/collapse/lib/collapse.module.mjs +20 -0
- package/esm2022/color-palette/acorex-components-color-palette.mjs +2 -2
- package/esm2022/color-palette/index.mjs +8 -0
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +129 -0
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +159 -0
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +60 -0
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +302 -0
- package/esm2022/color-palette/lib/color-palette.class.mjs +17 -0
- package/esm2022/color-palette/lib/color-palette.component.mjs +74 -0
- package/esm2022/color-palette/lib/color-palette.module.mjs +60 -0
- package/esm2022/color-picker/acorex-components-color-picker.mjs +2 -2
- package/esm2022/color-picker/index.mjs +3 -0
- package/esm2022/color-picker/lib/color-picker.component.mjs +113 -0
- package/esm2022/color-picker/lib/color-picker.module.mjs +61 -0
- package/esm2022/common/acorex-components-common.mjs +2 -2
- package/esm2022/common/index.mjs +23 -0
- package/esm2022/common/lib/classes/components.class.mjs +69 -0
- package/esm2022/common/lib/classes/data.class.mjs +2 -0
- package/esm2022/common/lib/classes/drawing.class.mjs +2 -0
- package/esm2022/common/lib/classes/events.class.mjs +79 -0
- package/esm2022/common/lib/classes/styles.class.mjs +4 -0
- package/esm2022/common/lib/common.module.mjs +42 -0
- package/esm2022/common/lib/components/base-component.class.mjs +67 -0
- package/esm2022/common/lib/components/button-base-component.class.mjs +80 -0
- package/esm2022/common/lib/components/color-component.class.mjs +27 -0
- package/esm2022/common/lib/components/colorlook-component.class.mjs +11 -0
- package/esm2022/common/lib/components/interactive-component.class.mjs +64 -0
- package/esm2022/common/lib/components/look-component.class.mjs +27 -0
- package/esm2022/common/lib/components/value-component.class.mjs +202 -0
- package/esm2022/common/lib/constant/positions.mjs +75 -0
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +56 -0
- package/esm2022/common/lib/directives/debounce-time.directive.mjs +48 -0
- package/esm2022/common/lib/directives/hotkey.directive.mjs +81 -0
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +63 -0
- package/esm2022/common/lib/directives/responsive.directive.mjs +37 -0
- package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +49 -0
- package/esm2022/common/lib/services/hotkey.service.mjs +46 -0
- package/esm2022/common/lib/services/overlay.service.mjs +113 -0
- package/esm2022/context-menu/acorex-components-context-menu.mjs +2 -2
- package/esm2022/context-menu/index.mjs +3 -0
- package/esm2022/context-menu/lib/context-menu.component.mjs +262 -0
- package/esm2022/context-menu/lib/context-menu.module.mjs +36 -0
- package/esm2022/data-pager/acorex-components-data-pager.mjs +2 -2
- package/esm2022/data-pager/index.mjs +10 -0
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +38 -0
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +53 -0
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +65 -0
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +87 -0
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +130 -0
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +95 -0
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +83 -0
- package/esm2022/data-pager/lib/data-pager.component.mjs +143 -0
- package/esm2022/data-pager/lib/data-pager.module.mjs +51 -0
- package/esm2022/data-table/acorex-components-data-table.mjs +2 -2
- package/esm2022/data-table/index.mjs +5 -0
- package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +17 -0
- package/esm2022/data-table/lib/data-column.directive.mjs +43 -0
- package/esm2022/data-table/lib/data-table.component.mjs +137 -0
- package/esm2022/data-table/lib/data-table.module.mjs +27 -0
- package/esm2022/date-picker/acorex-components-date-picker.mjs +2 -2
- package/esm2022/date-picker/index.mjs +3 -0
- package/esm2022/date-picker/lib/datepicker.component.mjs +125 -0
- package/esm2022/date-picker/lib/datepicker.module.mjs +44 -0
- package/esm2022/decorators/acorex-components-decorators.mjs +2 -2
- package/esm2022/decorators/index.mjs +15 -0
- package/esm2022/decorators/lib/close-button.component.mjs +50 -0
- package/esm2022/decorators/lib/content.component.mjs +21 -0
- package/esm2022/decorators/lib/decorators.module.mjs +71 -0
- package/esm2022/decorators/lib/footer.component.mjs +29 -0
- package/esm2022/decorators/lib/form-hint.component.mjs +20 -0
- package/esm2022/decorators/lib/header.component.mjs +29 -0
- package/esm2022/decorators/lib/icon.component.mjs +29 -0
- package/esm2022/decorators/lib/overlay.component.mjs +22 -0
- package/esm2022/decorators/lib/placeholder.component.mjs +14 -0
- package/esm2022/decorators/lib/prefix.component.mjs +21 -0
- package/esm2022/decorators/lib/sub-title.component.mjs +27 -0
- package/esm2022/decorators/lib/suffix.component.mjs +21 -0
- package/esm2022/decorators/lib/text.component.mjs +21 -0
- package/esm2022/decorators/lib/title.component.mjs +20 -0
- package/esm2022/dialog/acorex-components-dialog.mjs +2 -2
- package/esm2022/dialog/index.mjs +5 -0
- package/esm2022/dialog/lib/dialog.class.mjs +2 -0
- package/esm2022/dialog/lib/dialog.component.mjs +52 -0
- package/esm2022/dialog/lib/dialog.module.mjs +27 -0
- package/esm2022/dialog/lib/dialog.service.mjs +152 -0
- package/esm2022/drawer/acorex-components-drawer.mjs +2 -2
- package/esm2022/drawer/index.mjs +4 -0
- package/esm2022/drawer/lib/drawer-container.component.mjs +37 -0
- package/esm2022/drawer/lib/drawer.component.mjs +140 -0
- package/esm2022/drawer/lib/drawer.module.mjs +22 -0
- package/esm2022/dropdown/acorex-components-dropdown.mjs +2 -2
- package/esm2022/dropdown/index.mjs +3 -0
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +102 -0
- package/esm2022/dropdown/lib/dropdown.module.mjs +25 -0
- package/esm2022/form/acorex-components-form.mjs +2 -2
- package/esm2022/form/index.mjs +7 -0
- package/esm2022/form/lib/form-field.component.mjs +15 -0
- package/esm2022/form/lib/form.component.mjs +166 -0
- package/esm2022/form/lib/form.module.mjs +63 -0
- package/esm2022/form/lib/validation-rule.widget.mjs +115 -0
- package/esm2022/form/lib/validation-summary.component.mjs +106 -0
- package/esm2022/form/lib/validation.class.mjs +2 -0
- package/esm2022/image/acorex-components-image.mjs +2 -2
- package/esm2022/image/index.mjs +3 -0
- package/esm2022/image/lib/image.component.mjs +76 -0
- package/esm2022/image/lib/image.module.mjs +19 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/label/acorex-components-label.mjs +2 -2
- package/esm2022/label/index.mjs +3 -0
- package/esm2022/label/lib/label.component.mjs +45 -0
- package/esm2022/label/lib/label.module.mjs +21 -0
- package/esm2022/loading/acorex-components-loading.mjs +2 -2
- package/esm2022/loading/index.mjs +6 -0
- package/esm2022/loading/lib/loading-spinner.component.mjs +68 -0
- package/esm2022/loading/lib/loading.component.mjs +64 -0
- package/esm2022/loading/lib/loading.directive.mjs +68 -0
- package/esm2022/loading/lib/loading.module.mjs +35 -0
- package/esm2022/loading/lib/loading.service.mjs +151 -0
- package/esm2022/menu/acorex-components-menu.mjs +2 -2
- package/esm2022/menu/index.mjs +3 -0
- package/esm2022/menu/lib/menu.component.mjs +346 -0
- package/esm2022/menu/lib/menu.module.mjs +33 -0
- package/esm2022/mixin/acorex-components-mixin.mjs +2 -2
- package/esm2022/mixin/index.mjs +18 -0
- package/esm2022/mixin/lib/base-components.class.mjs +109 -0
- package/esm2022/mixin/lib/base-menu-mixin.class.mjs +137 -0
- package/esm2022/mixin/lib/button-mixin.class.mjs +66 -0
- package/esm2022/mixin/lib/clickable-mixin.class.mjs +24 -0
- package/esm2022/mixin/lib/color-look-mixing.class.mjs +45 -0
- package/esm2022/mixin/lib/constratctor.mjs +2 -0
- package/esm2022/mixin/lib/datalist-component.class.mjs +157 -0
- package/esm2022/mixin/lib/datalist.class.mjs +3 -0
- package/esm2022/mixin/lib/dropdown-mixin.class.mjs +97 -0
- package/esm2022/mixin/lib/interactive-mixin.class.mjs +83 -0
- package/esm2022/mixin/lib/loading-mixin.class.mjs +18 -0
- package/esm2022/mixin/lib/mixin.class.mjs +26 -0
- package/esm2022/mixin/lib/page-component.class.mjs +11 -0
- package/esm2022/mixin/lib/selection-component.class.mjs +180 -0
- package/esm2022/mixin/lib/sizable-mixin.class.mjs +16 -0
- package/esm2022/mixin/lib/textbox-mixin.class.mjs +58 -0
- package/esm2022/mixin/lib/value-mixin.class.mjs +224 -0
- package/esm2022/notification/acorex-components-notification.mjs +2 -2
- package/esm2022/notification/index.mjs +5 -0
- package/esm2022/notification/lib/notification.class.mjs +2 -0
- package/esm2022/notification/lib/notification.component.mjs +83 -0
- package/esm2022/notification/lib/notification.module.mjs +23 -0
- package/esm2022/notification/lib/notification.service.mjs +108 -0
- package/esm2022/number-box/acorex-components-number-box.mjs +2 -2
- package/esm2022/number-box/index.mjs +3 -0
- package/esm2022/number-box/lib/number-box.component.mjs +248 -0
- package/esm2022/number-box/lib/number-box.module.mjs +35 -0
- package/esm2022/otp/acorex-components-otp.mjs +5 -0
- package/esm2022/otp/index.mjs +4 -0
- package/esm2022/otp/lib/otp.class.mjs +4 -0
- package/esm2022/otp/lib/otp.component.mjs +113 -0
- package/esm2022/otp/lib/otp.module.mjs +21 -0
- package/esm2022/page/acorex-components-page.mjs +2 -2
- package/esm2022/page/index.mjs +4 -0
- package/esm2022/page/lib/base-page.class.mjs +61 -0
- package/esm2022/page/lib/page.component.mjs +44 -0
- package/esm2022/page/lib/page.module.mjs +18 -0
- package/esm2022/password-box/acorex-components-password-box.mjs +2 -2
- package/esm2022/password-box/index.mjs +3 -0
- package/esm2022/password-box/lib/password-box.component.mjs +65 -0
- package/esm2022/password-box/lib/password-box.module.mjs +32 -0
- package/esm2022/popover/acorex-components-popover.mjs +2 -2
- package/esm2022/popover/index.mjs +4 -0
- package/esm2022/popover/lib/dropdown-component.class.mjs +73 -0
- package/esm2022/popover/lib/popover.component.mjs +264 -0
- package/esm2022/popover/lib/popover.module.mjs +19 -0
- package/esm2022/popup/acorex-components-popup.mjs +2 -2
- package/esm2022/popup/index.mjs +4 -0
- package/esm2022/popup/lib/popup.component.mjs +141 -0
- package/esm2022/popup/lib/popup.module.mjs +27 -0
- package/esm2022/popup/lib/popup.service.mjs +114 -0
- package/esm2022/progress-bar/acorex-components-progress-bar.mjs +2 -2
- package/esm2022/progress-bar/index.mjs +3 -0
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +33 -0
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +19 -0
- package/esm2022/radio/acorex-components-radio.mjs +2 -2
- package/esm2022/radio/index.mjs +3 -0
- package/esm2022/radio/lib/radio.component.mjs +39 -0
- package/esm2022/radio/lib/radio.module.mjs +22 -0
- package/esm2022/range-slider/acorex-components-range-slider.mjs +2 -2
- package/esm2022/range-slider/index.mjs +3 -0
- package/esm2022/range-slider/lib/range-slider.component.mjs +109 -0
- package/esm2022/range-slider/lib/range-slider.module.mjs +22 -0
- package/esm2022/result/acorex-components-result.mjs +2 -2
- package/esm2022/result/index.mjs +3 -0
- package/esm2022/result/lib/result.component.mjs +24 -0
- package/esm2022/result/lib/result.module.mjs +19 -0
- package/esm2022/search-box/acorex-components-search-box.mjs +2 -2
- package/esm2022/search-box/index.mjs +3 -0
- package/esm2022/search-box/lib/search-box.component.mjs +60 -0
- package/esm2022/search-box/lib/search-box.module.mjs +25 -0
- package/esm2022/select-box/acorex-components-select-box.mjs +2 -2
- package/esm2022/select-box/index.mjs +3 -0
- package/esm2022/select-box/lib/select-box.component.mjs +366 -0
- package/esm2022/select-box/lib/select-box.module.mjs +61 -0
- package/esm2022/selection-list/acorex-components-selection-list.mjs +2 -2
- package/esm2022/selection-list/index.mjs +3 -0
- package/esm2022/selection-list/lib/selection-list.component.mjs +60 -0
- package/esm2022/selection-list/lib/selection-list.module.mjs +24 -0
- package/esm2022/switch/acorex-components-switch.mjs +2 -2
- package/esm2022/switch/index.mjs +4 -0
- package/esm2022/switch/lib/switch-content.component.mjs +16 -0
- package/esm2022/switch/lib/switch.component.mjs +51 -0
- package/esm2022/switch/lib/switch.module.mjs +22 -0
- package/esm2022/tabs/acorex-components-tabs.mjs +2 -2
- package/esm2022/tabs/index.mjs +6 -0
- package/esm2022/tabs/lib/tab-content.directive.mjs +29 -0
- package/esm2022/tabs/lib/tab-item.component.mjs +142 -0
- package/esm2022/tabs/lib/tabs.class.mjs +4 -0
- package/esm2022/tabs/lib/tabs.component.mjs +108 -0
- package/esm2022/tabs/lib/tabs.module.mjs +25 -0
- package/esm2022/tag/acorex-components-tag.mjs +2 -2
- package/esm2022/tag/index.mjs +3 -0
- package/esm2022/tag/lib/tag.component.mjs +29 -0
- package/esm2022/tag/lib/tag.module.mjs +19 -0
- package/esm2022/textarea/acorex-components-textarea.mjs +2 -2
- package/esm2022/textarea/index.mjs +3 -0
- package/esm2022/textarea/lib/textarea.component.mjs +37 -0
- package/esm2022/textarea/lib/textarea.module.mjs +19 -0
- package/esm2022/textbox/acorex-components-textbox.mjs +2 -2
- package/esm2022/textbox/index.mjs +4 -0
- package/esm2022/textbox/lib/mask-options.directive.mjs +17 -0
- package/esm2022/textbox/lib/textbox.component.mjs +93 -0
- package/esm2022/textbox/lib/textbox.module.mjs +38 -0
- package/esm2022/time-box/acorex-components-time-box.mjs +2 -2
- package/esm2022/time-box/index.mjs +3 -0
- package/esm2022/time-box/lib/time-box.component.mjs +296 -0
- package/esm2022/time-box/lib/time-box.module.mjs +32 -0
- package/esm2022/toast/acorex-components-toast.mjs +2 -2
- package/esm2022/toast/index.mjs +5 -0
- package/esm2022/toast/lib/toast.class.mjs +2 -0
- package/esm2022/toast/lib/toast.component.mjs +67 -0
- package/esm2022/toast/lib/toast.module.mjs +22 -0
- package/esm2022/toast/lib/toast.service.mjs +135 -0
- package/esm2022/tooltip/acorex-components-tooltip.mjs +2 -2
- package/esm2022/tooltip/index.mjs +4 -0
- package/esm2022/tooltip/lib/tooltip.component.mjs +20 -0
- package/esm2022/tooltip/lib/tooltip.directive.mjs +158 -0
- package/esm2022/tooltip/lib/tooltip.module.mjs +22 -0
- package/esm2022/uploader/acorex-components-uploader.mjs +2 -2
- package/esm2022/uploader/index.mjs +3 -0
- package/esm2022/uploader/lib/uploader.component.mjs +99 -0
- package/esm2022/uploader/lib/uploader.module.mjs +20 -0
- package/fesm2022/acorex-components-action-sheet.mjs +20 -22
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +15 -19
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +22 -24
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +11 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +12 -18
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +33 -35
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +133 -85
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-checkbox.mjs +7 -8
- package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +11 -12
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +24 -25
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +294 -301
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +13 -20
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +838 -868
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +12 -22
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +198 -110
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +40 -50
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +51 -25
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +53 -54
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +11 -17
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +17 -22
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +17 -20
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +59 -62
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +18 -21
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -12
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +86 -88
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +45 -32
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +170 -174
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +17 -28
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +42 -33
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +141 -0
- package/fesm2022/acorex-components-otp.mjs.map +1 -0
- package/fesm2022/acorex-components-page.mjs +17 -21
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +25 -23
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +66 -68
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +39 -48
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +9 -9
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +17 -25
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +9 -11
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +12 -14
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +42 -43
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +12 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -13
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +63 -68
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +9 -9
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-textarea.mjs +18 -10
- package/fesm2022/acorex-components-textarea.mjs.map +1 -1
- package/fesm2022/acorex-components-textbox.mjs +30 -22
- package/fesm2022/acorex-components-textbox.mjs.map +1 -1
- package/fesm2022/acorex-components-time-box.mjs +38 -23
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +22 -24
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +15 -22
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +13 -16
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs +1 -6
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/form/README.md +3 -0
- package/form/index.d.ts +6 -5
- package/image/README.md +3 -0
- package/image/index.d.ts +2 -5
- package/image/lib/image.component.d.ts +27 -0
- package/index.d.ts +2 -5
- package/label/README.md +3 -0
- package/label/index.d.ts +2 -5
- package/loading/README.md +3 -0
- package/loading/index.d.ts +5 -5
- package/loading/lib/loading.directive.d.ts +22 -0
- package/menu/README.md +3 -0
- package/menu/index.d.ts +2 -5
- package/menu/lib/menu.component.d.ts +42 -0
- package/mixin/README.md +3 -0
- package/mixin/index.d.ts +17 -5
- package/mixin/lib/base-components.class.d.ts +84 -0
- package/mixin/lib/base-menu-mixin.class.d.ts +53 -0
- package/mixin/lib/button-mixin.class.d.ts +53 -0
- package/mixin/lib/clickable-mixin.class.d.ts +36 -0
- package/mixin/lib/color-look-mixing.class.d.ts +44 -0
- package/mixin/lib/datalist-component.class.d.ts +59 -0
- package/mixin/lib/dropdown-mixin.class.d.ts +47 -0
- package/mixin/lib/interactive-mixin.class.d.ts +60 -0
- package/mixin/lib/loading-mixin.class.d.ts +40 -0
- package/mixin/lib/mixin.class.d.ts +679 -0
- package/mixin/lib/page-component.class.d.ts +28 -0
- package/mixin/lib/selection-component.class.d.ts +61 -0
- package/mixin/lib/sizable-mixin.class.d.ts +34 -0
- package/mixin/lib/textbox-mixin.class.d.ts +68 -0
- package/mixin/lib/value-mixin.class.d.ts +63 -0
- package/notification/README.md +3 -0
- package/notification/index.d.ts +4 -5
- package/number-box/README.md +3 -0
- package/number-box/index.d.ts +2 -5
- package/otp/README.md +3 -0
- package/otp/index.d.ts +3 -0
- package/otp/lib/otp.class.d.ts +4 -0
- package/otp/lib/otp.component.d.ts +25 -0
- package/otp/lib/otp.module.d.ts +8 -0
- package/package.json +18 -34
- package/page/README.md +3 -0
- package/page/index.d.ts +3 -5
- package/page/lib/page.component.d.ts +14 -0
- package/password-box/README.md +3 -0
- package/password-box/index.d.ts +2 -5
- package/popover/README.md +3 -0
- package/popover/index.d.ts +3 -5
- package/popup/README.md +3 -0
- package/popup/index.d.ts +3 -5
- package/progress-bar/README.md +3 -0
- package/progress-bar/index.d.ts +2 -5
- package/radio/README.md +3 -0
- package/radio/index.d.ts +2 -5
- package/range-slider/README.md +3 -0
- package/range-slider/index.d.ts +2 -5
- package/result/README.md +3 -0
- package/result/index.d.ts +2 -5
- package/result/lib/result.component.d.ts +10 -0
- package/search-box/README.md +3 -0
- package/search-box/index.d.ts +2 -5
- package/select-box/README.md +3 -0
- package/select-box/index.d.ts +2 -5
- package/select-box/lib/select-box.module.d.ts +18 -0
- package/selection-list/README.md +3 -0
- package/selection-list/index.d.ts +2 -5
- package/switch/README.md +3 -0
- package/switch/index.d.ts +3 -5
- package/tabs/README.md +3 -0
- package/tabs/index.d.ts +5 -5
- package/tabs/lib/tab-item.component.d.ts +48 -0
- package/tag/README.md +3 -0
- package/tag/index.d.ts +2 -5
- package/textarea/README.md +3 -0
- package/textarea/index.d.ts +2 -5
- package/textbox/README.md +3 -0
- package/textbox/index.d.ts +3 -5
- package/time-box/README.md +3 -0
- package/time-box/index.d.ts +2 -5
- package/toast/README.md +3 -0
- package/toast/index.d.ts +4 -5
- package/tooltip/README.md +3 -0
- package/tooltip/index.d.ts +3 -5
- package/uploader/README.md +3 -0
- package/uploader/index.d.ts +2 -5
- package/action-sheet/public-api.d.ts +0 -4
- package/alert/public-api.d.ts +0 -2
- package/avatar/public-api.d.ts +0 -3
- package/badge/public-api.d.ts +0 -2
- package/breadcrumbs/public-api.d.ts +0 -4
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +0 -79
- package/button/public-api.d.ts +0 -5
- package/button/src/button-group.component.d.ts +0 -86
- package/button/src/button-item.component.d.ts +0 -80
- package/calendar/public-api.d.ts +0 -4
- package/calendar/src/calendar.class.d.ts +0 -81
- package/card/index.d.ts +0 -5
- package/card/public-api.d.ts +0 -2
- package/card/src/card.component.d.ts +0 -10
- package/card/src/card.module.d.ts +0 -8
- package/checkbox/public-api.d.ts +0 -2
- package/chips/public-api.d.ts +0 -2
- package/chips/src/chips.component.d.ts +0 -72
- package/collapse/public-api.d.ts +0 -3
- package/color-palette/public-api.d.ts +0 -7
- package/color-picker/public-api.d.ts +0 -2
- package/color-picker/src/color-picker.component.d.ts +0 -195
- package/common/public-api.d.ts +0 -16
- package/common/src/components/button-base-component.class.d.ts +0 -36
- package/common/src/components/index.d.ts +0 -7
- package/common/src/components/interactive-component.class.d.ts +0 -37
- package/common/src/components/look-component.class.d.ts +0 -15
- package/context-menu/public-api.d.ts +0 -2
- package/data-pager/public-api.d.ts +0 -9
- package/data-pager/src/data-pager-input-selector.component.d.ts +0 -15
- package/data-table/public-api.d.ts +0 -4
- package/date-picker/public-api.d.ts +0 -2
- package/decorators/public-api.d.ts +0 -14
- package/dialog/public-api.d.ts +0 -4
- package/drawer/public-api.d.ts +0 -3
- package/dropdown/public-api.d.ts +0 -2
- package/esm2022/action-sheet/public-api.mjs +0 -5
- package/esm2022/action-sheet/src/action-sheet.component.mjs +0 -79
- package/esm2022/action-sheet/src/action-sheet.interface.mjs +0 -3
- package/esm2022/action-sheet/src/action-sheet.module.mjs +0 -27
- package/esm2022/action-sheet/src/action-sheet.service.mjs +0 -90
- package/esm2022/alert/public-api.mjs +0 -3
- package/esm2022/alert/src/alert.component.mjs +0 -196
- package/esm2022/alert/src/alert.module.mjs +0 -23
- package/esm2022/avatar/public-api.mjs +0 -4
- package/esm2022/avatar/src/avatar-group.component.mjs +0 -17
- package/esm2022/avatar/src/avatar.component.mjs +0 -39
- package/esm2022/avatar/src/avatar.module.mjs +0 -23
- package/esm2022/badge/public-api.mjs +0 -3
- package/esm2022/badge/src/badge.component.mjs +0 -24
- package/esm2022/badge/src/badge.module.mjs +0 -20
- package/esm2022/breadcrumbs/public-api.mjs +0 -5
- package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +0 -2
- package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +0 -51
- package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +0 -22
- package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +0 -21
- package/esm2022/button/public-api.mjs +0 -6
- package/esm2022/button/src/button-group.component.mjs +0 -92
- package/esm2022/button/src/button-item.class.mjs +0 -2
- package/esm2022/button/src/button-item.component.mjs +0 -80
- package/esm2022/button/src/button.component.mjs +0 -62
- package/esm2022/button/src/button.module.mjs +0 -33
- package/esm2022/calendar/public-api.mjs +0 -5
- package/esm2022/calendar/src/calendar-range.component.mjs +0 -174
- package/esm2022/calendar/src/calendar.class.mjs +0 -231
- package/esm2022/calendar/src/calendar.component.mjs +0 -374
- package/esm2022/calendar/src/calendar.module.mjs +0 -24
- package/esm2022/card/acorex-components-card.mjs +0 -5
- package/esm2022/card/public-api.mjs +0 -3
- package/esm2022/card/src/card.component.mjs +0 -19
- package/esm2022/card/src/card.module.mjs +0 -20
- package/esm2022/checkbox/public-api.mjs +0 -3
- package/esm2022/checkbox/src/checkbox.component.mjs +0 -43
- package/esm2022/checkbox/src/checkbox.module.mjs +0 -22
- package/esm2022/chips/public-api.mjs +0 -3
- package/esm2022/chips/src/chips.component.mjs +0 -34
- package/esm2022/chips/src/chips.module.mjs +0 -20
- package/esm2022/collapse/public-api.mjs +0 -4
- package/esm2022/collapse/src/collapse-group.component.mjs +0 -53
- package/esm2022/collapse/src/collapse.component.mjs +0 -48
- package/esm2022/collapse/src/collapse.module.mjs +0 -21
- package/esm2022/color-palette/public-api.mjs +0 -8
- package/esm2022/color-palette/src/color-palette-input.component.mjs +0 -131
- package/esm2022/color-palette/src/color-palette-picker.component.mjs +0 -160
- package/esm2022/color-palette/src/color-palette-preview.component.mjs +0 -63
- package/esm2022/color-palette/src/color-palette-swatches.component.mjs +0 -305
- package/esm2022/color-palette/src/color-palette.class.mjs +0 -19
- package/esm2022/color-palette/src/color-palette.component.mjs +0 -76
- package/esm2022/color-palette/src/color-palette.module.mjs +0 -61
- package/esm2022/color-picker/public-api.mjs +0 -3
- package/esm2022/color-picker/src/color-picker.component.mjs +0 -120
- package/esm2022/color-picker/src/color-picker.module.mjs +0 -62
- package/esm2022/common/public-api.mjs +0 -17
- package/esm2022/common/src/classes/components.class.mjs +0 -78
- package/esm2022/common/src/classes/data.class.mjs +0 -2
- package/esm2022/common/src/classes/drawing.class.mjs +0 -2
- package/esm2022/common/src/classes/events.class.mjs +0 -96
- package/esm2022/common/src/classes/styles.class.mjs +0 -4
- package/esm2022/common/src/common.module.mjs +0 -43
- package/esm2022/common/src/components/base-component.class.mjs +0 -67
- package/esm2022/common/src/components/button-base-component.class.mjs +0 -69
- package/esm2022/common/src/components/color-component.class.mjs +0 -27
- package/esm2022/common/src/components/colorlook-component.class.mjs +0 -11
- package/esm2022/common/src/components/index.mjs +0 -8
- package/esm2022/common/src/components/interactive-component.class.mjs +0 -63
- package/esm2022/common/src/components/look-component.class.mjs +0 -27
- package/esm2022/common/src/components/value-component.class.mjs +0 -204
- package/esm2022/common/src/constant/positions.mjs +0 -75
- package/esm2022/common/src/directives/auto-focus.directive.mjs +0 -58
- package/esm2022/common/src/directives/debounce-time.directive.mjs +0 -50
- package/esm2022/common/src/directives/hotkey.directive.mjs +0 -83
- package/esm2022/common/src/directives/infinite-scroll.directive.mjs +0 -70
- package/esm2022/common/src/directives/responsive.directive.mjs +0 -39
- package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +0 -52
- package/esm2022/common/src/services/hotkey.service.mjs +0 -48
- package/esm2022/common/src/services/overlay.service.mjs +0 -116
- package/esm2022/context-menu/public-api.mjs +0 -3
- package/esm2022/context-menu/src/context-menu.component.mjs +0 -271
- package/esm2022/context-menu/src/context-menu.module.mjs +0 -37
- package/esm2022/data-pager/public-api.mjs +0 -10
- package/esm2022/data-pager/src/data-pager-base.component.mjs +0 -37
- package/esm2022/data-pager/src/data-pager-info.component.mjs +0 -62
- package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +0 -54
- package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +0 -67
- package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +0 -99
- package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +0 -87
- package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +0 -62
- package/esm2022/data-pager/src/data-pager.component.mjs +0 -147
- package/esm2022/data-pager/src/data-pager.module.mjs +0 -52
- package/esm2022/data-table/public-api.mjs +0 -5
- package/esm2022/data-table/src/data-column-cell-template.directive.mjs +0 -19
- package/esm2022/data-table/src/data-column.directive.mjs +0 -51
- package/esm2022/data-table/src/data-table.component.mjs +0 -140
- package/esm2022/data-table/src/data-table.module.mjs +0 -28
- package/esm2022/date-picker/public-api.mjs +0 -3
- package/esm2022/date-picker/src/datepicker.component.mjs +0 -100
- package/esm2022/date-picker/src/datepicker.module.mjs +0 -45
- package/esm2022/decorators/public-api.mjs +0 -15
- package/esm2022/decorators/src/close-button.component.mjs +0 -52
- package/esm2022/decorators/src/content.component.mjs +0 -22
- package/esm2022/decorators/src/decorators.module.mjs +0 -72
- package/esm2022/decorators/src/footer.component.mjs +0 -30
- package/esm2022/decorators/src/form-hint.component.mjs +0 -21
- package/esm2022/decorators/src/header.component.mjs +0 -30
- package/esm2022/decorators/src/icon.component.mjs +0 -31
- package/esm2022/decorators/src/overlay.component.mjs +0 -21
- package/esm2022/decorators/src/placeholder.component.mjs +0 -15
- package/esm2022/decorators/src/prefix.component.mjs +0 -22
- package/esm2022/decorators/src/sub-title.component.mjs +0 -28
- package/esm2022/decorators/src/suffix.component.mjs +0 -22
- package/esm2022/decorators/src/text.component.mjs +0 -23
- package/esm2022/decorators/src/title.component.mjs +0 -21
- package/esm2022/dialog/public-api.mjs +0 -5
- package/esm2022/dialog/src/dialog.class.mjs +0 -2
- package/esm2022/dialog/src/dialog.component.mjs +0 -56
- package/esm2022/dialog/src/dialog.module.mjs +0 -28
- package/esm2022/dialog/src/dialog.service.mjs +0 -155
- package/esm2022/drawer/public-api.mjs +0 -4
- package/esm2022/drawer/src/drawer-container.component.mjs +0 -39
- package/esm2022/drawer/src/drawer.component.mjs +0 -145
- package/esm2022/drawer/src/drawer.module.mjs +0 -23
- package/esm2022/dropdown/public-api.mjs +0 -3
- package/esm2022/dropdown/src/dropdown-panel.component.mjs +0 -106
- package/esm2022/dropdown/src/dropdown.module.mjs +0 -26
- package/esm2022/form/public-api.mjs +0 -7
- package/esm2022/form/src/form-field.component.mjs +0 -16
- package/esm2022/form/src/form.component.mjs +0 -168
- package/esm2022/form/src/form.module.mjs +0 -64
- package/esm2022/form/src/validation-rule.widget.mjs +0 -114
- package/esm2022/form/src/validation-summary.component.mjs +0 -110
- package/esm2022/form/src/validation.class.mjs +0 -2
- package/esm2022/image/public-api.mjs +0 -3
- package/esm2022/image/src/image.component.mjs +0 -80
- package/esm2022/image/src/image.module.mjs +0 -20
- package/esm2022/label/public-api.mjs +0 -3
- package/esm2022/label/src/label.component.mjs +0 -49
- package/esm2022/label/src/label.module.mjs +0 -22
- package/esm2022/loading/public-api.mjs +0 -6
- package/esm2022/loading/src/loading-spinner.component.mjs +0 -70
- package/esm2022/loading/src/loading.component.mjs +0 -56
- package/esm2022/loading/src/loading.directive.mjs +0 -77
- package/esm2022/loading/src/loading.module.mjs +0 -36
- package/esm2022/loading/src/loading.service.mjs +0 -153
- package/esm2022/menu/public-api.mjs +0 -3
- package/esm2022/menu/src/menu.component.mjs +0 -333
- package/esm2022/menu/src/menu.module.mjs +0 -34
- package/esm2022/mixin/public-api.mjs +0 -18
- package/esm2022/mixin/src/base-components.class.mjs +0 -108
- package/esm2022/mixin/src/base-menu-mixin.class.mjs +0 -134
- package/esm2022/mixin/src/button-mixin.class.mjs +0 -71
- package/esm2022/mixin/src/clickable-mixin.class.mjs +0 -24
- package/esm2022/mixin/src/color-look-mixing.class.mjs +0 -45
- package/esm2022/mixin/src/constratctor.mjs +0 -2
- package/esm2022/mixin/src/datalist-component.class.mjs +0 -151
- package/esm2022/mixin/src/datalist.class.mjs +0 -3
- package/esm2022/mixin/src/dropdown-mixin.class.mjs +0 -95
- package/esm2022/mixin/src/interactive-mixin.class.mjs +0 -81
- package/esm2022/mixin/src/loading-mixin.class.mjs +0 -26
- package/esm2022/mixin/src/mixin.class.mjs +0 -26
- package/esm2022/mixin/src/page-component.class.mjs +0 -11
- package/esm2022/mixin/src/selection-component.class.mjs +0 -176
- package/esm2022/mixin/src/sizable-mixin.class.mjs +0 -22
- package/esm2022/mixin/src/textbox-mixin.class.mjs +0 -66
- package/esm2022/mixin/src/value-mixin.class.mjs +0 -220
- package/esm2022/notification/public-api.mjs +0 -5
- package/esm2022/notification/src/notification.class.mjs +0 -2
- package/esm2022/notification/src/notification.component.mjs +0 -93
- package/esm2022/notification/src/notification.module.mjs +0 -24
- package/esm2022/notification/src/notification.service.mjs +0 -110
- package/esm2022/number-box/public-api.mjs +0 -3
- package/esm2022/number-box/src/number-box.component.mjs +0 -240
- package/esm2022/number-box/src/number-box.module.mjs +0 -36
- package/esm2022/page/public-api.mjs +0 -4
- package/esm2022/page/src/base-page.class.mjs +0 -64
- package/esm2022/page/src/page.component.mjs +0 -47
- package/esm2022/page/src/page.module.mjs +0 -19
- package/esm2022/password-box/public-api.mjs +0 -3
- package/esm2022/password-box/src/password-box.component.mjs +0 -64
- package/esm2022/password-box/src/password-box.module.mjs +0 -33
- package/esm2022/picker/acorex-components-picker.mjs +0 -5
- package/esm2022/picker/public-api.mjs +0 -4
- package/esm2022/picker/src/picker-column.component.mjs +0 -21
- package/esm2022/picker/src/picker.component.mjs +0 -17
- package/esm2022/picker/src/picker.module.mjs +0 -38
- package/esm2022/popover/public-api.mjs +0 -4
- package/esm2022/popover/src/dropdown-component.class.mjs +0 -71
- package/esm2022/popover/src/popover.component.mjs +0 -270
- package/esm2022/popover/src/popover.module.mjs +0 -20
- package/esm2022/popup/public-api.mjs +0 -4
- package/esm2022/popup/src/popup.component.mjs +0 -147
- package/esm2022/popup/src/popup.module.mjs +0 -28
- package/esm2022/popup/src/popup.service.mjs +0 -117
- package/esm2022/progress-bar/public-api.mjs +0 -3
- package/esm2022/progress-bar/src/progress-bar.component.mjs +0 -34
- package/esm2022/progress-bar/src/progress-bar.module.mjs +0 -20
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -3
- package/esm2022/radio/src/radio.component.mjs +0 -40
- package/esm2022/radio/src/radio.module.mjs +0 -23
- package/esm2022/range-slider/public-api.mjs +0 -3
- package/esm2022/range-slider/src/range-slider.component.mjs +0 -118
- package/esm2022/range-slider/src/range-slider.module.mjs +0 -23
- package/esm2022/rating/acorex-components-rating.mjs +0 -5
- package/esm2022/rating/public-api.mjs +0 -3
- package/esm2022/rating/src/rating.component.mjs +0 -42
- package/esm2022/rating/src/rating.component.module.mjs +0 -20
- package/esm2022/result/public-api.mjs +0 -3
- package/esm2022/result/src/result.component.mjs +0 -27
- package/esm2022/result/src/result.module.mjs +0 -20
- package/esm2022/search-box/public-api.mjs +0 -3
- package/esm2022/search-box/src/search-box.component.mjs +0 -63
- package/esm2022/search-box/src/search-box.module.mjs +0 -26
- package/esm2022/select-box/public-api.mjs +0 -3
- package/esm2022/select-box/src/selectbox.component.mjs +0 -367
- package/esm2022/select-box/src/selectbox.module.mjs +0 -62
- package/esm2022/selection-list/public-api.mjs +0 -3
- package/esm2022/selection-list/src/selection-list.component.mjs +0 -60
- package/esm2022/selection-list/src/selection-list.module.mjs +0 -25
- package/esm2022/switch/public-api.mjs +0 -4
- package/esm2022/switch/src/switch-content.component.mjs +0 -17
- package/esm2022/switch/src/switch.component.mjs +0 -55
- package/esm2022/switch/src/switch.module.mjs +0 -23
- package/esm2022/tabs/public-api.mjs +0 -6
- package/esm2022/tabs/src/tab-content.directive.mjs +0 -32
- package/esm2022/tabs/src/tab-item.component.mjs +0 -141
- package/esm2022/tabs/src/tabs.class.mjs +0 -6
- package/esm2022/tabs/src/tabs.component.mjs +0 -111
- package/esm2022/tabs/src/tabs.module.mjs +0 -26
- package/esm2022/tag/public-api.mjs +0 -3
- package/esm2022/tag/src/tag.component.mjs +0 -30
- package/esm2022/tag/src/tag.module.mjs +0 -20
- package/esm2022/textarea/public-api.mjs +0 -3
- package/esm2022/textarea/src/textarea.component.mjs +0 -30
- package/esm2022/textarea/src/textarea.module.mjs +0 -20
- package/esm2022/textbox/public-api.mjs +0 -4
- package/esm2022/textbox/src/mask-options.directive.mjs +0 -20
- package/esm2022/textbox/src/textbox.component.mjs +0 -84
- package/esm2022/textbox/src/textbox.module.mjs +0 -39
- package/esm2022/time-box/public-api.mjs +0 -3
- package/esm2022/time-box/src/time-box.component.mjs +0 -282
- package/esm2022/time-box/src/time-box.module.mjs +0 -33
- package/esm2022/toast/public-api.mjs +0 -5
- package/esm2022/toast/src/toast.class.mjs +0 -2
- package/esm2022/toast/src/toast.component.mjs +0 -68
- package/esm2022/toast/src/toast.module.mjs +0 -23
- package/esm2022/toast/src/toast.service.mjs +0 -137
- package/esm2022/tooltip/public-api.mjs +0 -4
- package/esm2022/tooltip/src/tooltip.component.mjs +0 -22
- package/esm2022/tooltip/src/tooltip.directive.mjs +0 -164
- package/esm2022/tooltip/src/tooltip.module.mjs +0 -23
- package/esm2022/tree-view/acorex-components-tree-view.mjs +0 -5
- package/esm2022/tree-view/public-api.mjs +0 -3
- package/esm2022/tree-view/src/tree-view.component.mjs +0 -108
- package/esm2022/tree-view/src/tree-view.module.mjs +0 -21
- package/esm2022/uploader/public-api.mjs +0 -3
- package/esm2022/uploader/src/uploader.component.mjs +0 -102
- package/esm2022/uploader/src/uploader.module.mjs +0 -21
- package/fesm2022/acorex-components-card.mjs +0 -41
- package/fesm2022/acorex-components-card.mjs.map +0 -1
- package/fesm2022/acorex-components-picker.mjs +0 -74
- package/fesm2022/acorex-components-picker.mjs.map +0 -1
- package/fesm2022/acorex-components-rating.mjs +0 -64
- package/fesm2022/acorex-components-rating.mjs.map +0 -1
- package/fesm2022/acorex-components-tree-view.mjs +0 -131
- package/fesm2022/acorex-components-tree-view.mjs.map +0 -1
- package/form/public-api.d.ts +0 -6
- package/image/public-api.d.ts +0 -2
- package/image/src/image.component.d.ts +0 -27
- package/label/public-api.d.ts +0 -2
- package/loading/public-api.d.ts +0 -5
- package/loading/src/loading.directive.d.ts +0 -22
- package/menu/public-api.d.ts +0 -2
- package/menu/src/menu.component.d.ts +0 -42
- package/mixin/public-api.d.ts +0 -17
- package/mixin/src/base-components.class.d.ts +0 -84
- package/mixin/src/base-menu-mixin.class.d.ts +0 -53
- package/mixin/src/button-mixin.class.d.ts +0 -53
- package/mixin/src/clickable-mixin.class.d.ts +0 -36
- package/mixin/src/color-look-mixing.class.d.ts +0 -44
- package/mixin/src/datalist-component.class.d.ts +0 -59
- package/mixin/src/dropdown-mixin.class.d.ts +0 -47
- package/mixin/src/interactive-mixin.class.d.ts +0 -60
- package/mixin/src/loading-mixin.class.d.ts +0 -40
- package/mixin/src/mixin.class.d.ts +0 -679
- package/mixin/src/page-component.class.d.ts +0 -28
- package/mixin/src/selection-component.class.d.ts +0 -61
- package/mixin/src/sizable-mixin.class.d.ts +0 -34
- package/mixin/src/textbox-mixin.class.d.ts +0 -66
- package/mixin/src/value-mixin.class.d.ts +0 -63
- package/notification/public-api.d.ts +0 -4
- package/number-box/public-api.d.ts +0 -2
- package/page/public-api.d.ts +0 -3
- package/page/src/page.component.d.ts +0 -14
- package/password-box/public-api.d.ts +0 -2
- package/picker/index.d.ts +0 -5
- package/picker/public-api.d.ts +0 -3
- package/picker/src/picker-column.component.d.ts +0 -11
- package/picker/src/picker.component.d.ts +0 -10
- package/picker/src/picker.module.d.ts +0 -14
- package/popover/public-api.d.ts +0 -3
- package/popup/public-api.d.ts +0 -3
- package/progress-bar/public-api.d.ts +0 -2
- package/public-api.d.ts +0 -1
- package/radio/public-api.d.ts +0 -2
- package/range-slider/public-api.d.ts +0 -2
- package/rating/index.d.ts +0 -5
- package/rating/public-api.d.ts +0 -2
- package/rating/src/rating.component.d.ts +0 -21
- package/rating/src/rating.component.module.d.ts +0 -8
- package/result/public-api.d.ts +0 -2
- package/result/src/result.component.d.ts +0 -12
- package/scss/_mixin.scss +0 -1
- package/scss/_variable.scss +0 -1
- package/scss/index.scss +0 -2
- package/search-box/public-api.d.ts +0 -2
- package/select-box/public-api.d.ts +0 -2
- package/select-box/src/selectbox.module.d.ts +0 -18
- package/selection-list/public-api.d.ts +0 -2
- package/switch/public-api.d.ts +0 -3
- package/tabs/public-api.d.ts +0 -5
- package/tabs/src/tab-item.component.d.ts +0 -48
- package/tag/public-api.d.ts +0 -2
- package/textarea/public-api.d.ts +0 -2
- package/textbox/public-api.d.ts +0 -3
- package/time-box/public-api.d.ts +0 -2
- package/toast/public-api.d.ts +0 -4
- package/tooltip/public-api.d.ts +0 -3
- package/tree-view/index.d.ts +0 -5
- package/tree-view/public-api.d.ts +0 -2
- package/tree-view/src/tree-view.component.d.ts +0 -33
- package/tree-view/src/tree-view.module.d.ts +0 -9
- package/uploader/public-api.d.ts +0 -2
- /package/action-sheet/{src → lib}/action-sheet.component.d.ts +0 -0
- /package/action-sheet/{src → lib}/action-sheet.interface.d.ts +0 -0
- /package/action-sheet/{src → lib}/action-sheet.module.d.ts +0 -0
- /package/action-sheet/{src → lib}/action-sheet.service.d.ts +0 -0
- /package/alert/{src → lib}/alert.component.d.ts +0 -0
- /package/alert/{src → lib}/alert.module.d.ts +0 -0
- /package/avatar/{src → lib}/avatar-group.component.d.ts +0 -0
- /package/avatar/{src → lib}/avatar.component.d.ts +0 -0
- /package/avatar/{src → lib}/avatar.module.d.ts +0 -0
- /package/badge/{src → lib}/badge.component.d.ts +0 -0
- /package/badge/{src → lib}/badge.module.d.ts +0 -0
- /package/breadcrumbs/{src → lib}/breadcrumbs-item.class.d.ts +0 -0
- /package/breadcrumbs/{src → lib}/breadcrumbs.component.d.ts +0 -0
- /package/breadcrumbs/{src → lib}/breadcrumbs.module.d.ts +0 -0
- /package/button/{src → lib}/button-item.class.d.ts +0 -0
- /package/button/{src → lib}/button.component.d.ts +0 -0
- /package/button/{src → lib}/button.module.d.ts +0 -0
- /package/calendar/{src → lib}/calendar-range.component.d.ts +0 -0
- /package/calendar/{src → lib}/calendar.component.d.ts +0 -0
- /package/calendar/{src → lib}/calendar.module.d.ts +0 -0
- /package/checkbox/{src → lib}/checkbox.component.d.ts +0 -0
- /package/checkbox/{src → lib}/checkbox.module.d.ts +0 -0
- /package/chips/{src → lib}/chips.module.d.ts +0 -0
- /package/collapse/{src → lib}/collapse-group.component.d.ts +0 -0
- /package/collapse/{src → lib}/collapse.component.d.ts +0 -0
- /package/collapse/{src → lib}/collapse.module.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette-input.component.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette-picker.component.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette-preview.component.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette-swatches.component.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette.class.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette.component.d.ts +0 -0
- /package/color-palette/{src → lib}/color-palette.module.d.ts +0 -0
- /package/color-picker/{src → lib}/color-picker.module.d.ts +0 -0
- /package/common/{src → lib}/classes/components.class.d.ts +0 -0
- /package/common/{src → lib}/classes/data.class.d.ts +0 -0
- /package/common/{src → lib}/classes/drawing.class.d.ts +0 -0
- /package/common/{src → lib}/classes/events.class.d.ts +0 -0
- /package/common/{src → lib}/classes/styles.class.d.ts +0 -0
- /package/common/{src → lib}/common.module.d.ts +0 -0
- /package/common/{src → lib}/components/base-component.class.d.ts +0 -0
- /package/common/{src → lib}/components/color-component.class.d.ts +0 -0
- /package/common/{src → lib}/components/colorlook-component.class.d.ts +0 -0
- /package/common/{src → lib}/components/value-component.class.d.ts +0 -0
- /package/common/{src → lib}/constant/positions.d.ts +0 -0
- /package/common/{src → lib}/directives/auto-focus.directive.d.ts +0 -0
- /package/common/{src → lib}/directives/debounce-time.directive.d.ts +0 -0
- /package/common/{src → lib}/directives/hotkey.directive.d.ts +0 -0
- /package/common/{src → lib}/directives/infinite-scroll.directive.d.ts +0 -0
- /package/common/{src → lib}/directives/responsive.directive.d.ts +0 -0
- /package/common/{src → lib}/services/custom-cdk-overlay.service.d.ts +0 -0
- /package/common/{src → lib}/services/hotkey.service.d.ts +0 -0
- /package/common/{src → lib}/services/overlay.service.d.ts +0 -0
- /package/context-menu/{src → lib}/context-menu.component.d.ts +0 -0
- /package/context-menu/{src → lib}/context-menu.module.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-base.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-info.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-next-buttons.components.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-numeric-selector.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-pagesize-dropdown.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager-prev-buttons.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager.component.d.ts +0 -0
- /package/data-pager/{src → lib}/data-pager.module.d.ts +0 -0
- /package/data-table/{src → lib}/data-column-cell-template.directive.d.ts +0 -0
- /package/data-table/{src → lib}/data-column.directive.d.ts +0 -0
- /package/data-table/{src → lib}/data-table.component.d.ts +0 -0
- /package/data-table/{src → lib}/data-table.module.d.ts +0 -0
- /package/date-picker/{src → lib}/datepicker.component.d.ts +0 -0
- /package/date-picker/{src → lib}/datepicker.module.d.ts +0 -0
- /package/decorators/{src → lib}/close-button.component.d.ts +0 -0
- /package/decorators/{src → lib}/content.component.d.ts +0 -0
- /package/decorators/{src → lib}/decorators.module.d.ts +0 -0
- /package/decorators/{src → lib}/footer.component.d.ts +0 -0
- /package/decorators/{src → lib}/form-hint.component.d.ts +0 -0
- /package/decorators/{src → lib}/header.component.d.ts +0 -0
- /package/decorators/{src → lib}/icon.component.d.ts +0 -0
- /package/decorators/{src → lib}/overlay.component.d.ts +0 -0
- /package/decorators/{src → lib}/placeholder.component.d.ts +0 -0
- /package/decorators/{src → lib}/prefix.component.d.ts +0 -0
- /package/decorators/{src → lib}/sub-title.component.d.ts +0 -0
- /package/decorators/{src → lib}/suffix.component.d.ts +0 -0
- /package/decorators/{src → lib}/text.component.d.ts +0 -0
- /package/decorators/{src → lib}/title.component.d.ts +0 -0
- /package/dialog/{src → lib}/dialog.class.d.ts +0 -0
- /package/dialog/{src → lib}/dialog.component.d.ts +0 -0
- /package/dialog/{src → lib}/dialog.module.d.ts +0 -0
- /package/dialog/{src → lib}/dialog.service.d.ts +0 -0
- /package/drawer/{src → lib}/drawer-container.component.d.ts +0 -0
- /package/drawer/{src → lib}/drawer.component.d.ts +0 -0
- /package/drawer/{src → lib}/drawer.module.d.ts +0 -0
- /package/dropdown/{src → lib}/dropdown-panel.component.d.ts +0 -0
- /package/dropdown/{src → lib}/dropdown.module.d.ts +0 -0
- /package/form/{src → lib}/form-field.component.d.ts +0 -0
- /package/form/{src → lib}/form.component.d.ts +0 -0
- /package/form/{src → lib}/form.module.d.ts +0 -0
- /package/form/{src → lib}/validation-rule.widget.d.ts +0 -0
- /package/form/{src → lib}/validation-summary.component.d.ts +0 -0
- /package/form/{src → lib}/validation.class.d.ts +0 -0
- /package/image/{src → lib}/image.module.d.ts +0 -0
- /package/label/{src → lib}/label.component.d.ts +0 -0
- /package/label/{src → lib}/label.module.d.ts +0 -0
- /package/loading/{src → lib}/loading-spinner.component.d.ts +0 -0
- /package/loading/{src → lib}/loading.component.d.ts +0 -0
- /package/loading/{src → lib}/loading.module.d.ts +0 -0
- /package/loading/{src → lib}/loading.service.d.ts +0 -0
- /package/menu/{src → lib}/menu.module.d.ts +0 -0
- /package/mixin/{src → lib}/constratctor.d.ts +0 -0
- /package/mixin/{src → lib}/datalist.class.d.ts +0 -0
- /package/notification/{src → lib}/notification.class.d.ts +0 -0
- /package/notification/{src → lib}/notification.component.d.ts +0 -0
- /package/notification/{src → lib}/notification.module.d.ts +0 -0
- /package/notification/{src → lib}/notification.service.d.ts +0 -0
- /package/number-box/{src → lib}/number-box.component.d.ts +0 -0
- /package/number-box/{src → lib}/number-box.module.d.ts +0 -0
- /package/page/{src → lib}/base-page.class.d.ts +0 -0
- /package/page/{src → lib}/page.module.d.ts +0 -0
- /package/password-box/{src → lib}/password-box.component.d.ts +0 -0
- /package/password-box/{src → lib}/password-box.module.d.ts +0 -0
- /package/popover/{src → lib}/dropdown-component.class.d.ts +0 -0
- /package/popover/{src → lib}/popover.component.d.ts +0 -0
- /package/popover/{src → lib}/popover.module.d.ts +0 -0
- /package/popup/{src → lib}/popup.component.d.ts +0 -0
- /package/popup/{src → lib}/popup.module.d.ts +0 -0
- /package/popup/{src → lib}/popup.service.d.ts +0 -0
- /package/progress-bar/{src → lib}/progress-bar.component.d.ts +0 -0
- /package/progress-bar/{src → lib}/progress-bar.module.d.ts +0 -0
- /package/radio/{src → lib}/radio.component.d.ts +0 -0
- /package/radio/{src → lib}/radio.module.d.ts +0 -0
- /package/range-slider/{src → lib}/range-slider.component.d.ts +0 -0
- /package/range-slider/{src → lib}/range-slider.module.d.ts +0 -0
- /package/result/{src → lib}/result.module.d.ts +0 -0
- /package/search-box/{src → lib}/search-box.component.d.ts +0 -0
- /package/search-box/{src → lib}/search-box.module.d.ts +0 -0
- /package/select-box/{src/selectbox.component.d.ts → lib/select-box.component.d.ts} +0 -0
- /package/selection-list/{src → lib}/selection-list.component.d.ts +0 -0
- /package/selection-list/{src → lib}/selection-list.module.d.ts +0 -0
- /package/switch/{src → lib}/switch-content.component.d.ts +0 -0
- /package/switch/{src → lib}/switch.component.d.ts +0 -0
- /package/switch/{src → lib}/switch.module.d.ts +0 -0
- /package/tabs/{src → lib}/tab-content.directive.d.ts +0 -0
- /package/tabs/{src → lib}/tabs.class.d.ts +0 -0
- /package/tabs/{src → lib}/tabs.component.d.ts +0 -0
- /package/tabs/{src → lib}/tabs.module.d.ts +0 -0
- /package/tag/{src → lib}/tag.component.d.ts +0 -0
- /package/tag/{src → lib}/tag.module.d.ts +0 -0
- /package/textarea/{src → lib}/textarea.component.d.ts +0 -0
- /package/textarea/{src → lib}/textarea.module.d.ts +0 -0
- /package/textbox/{src → lib}/mask-options.directive.d.ts +0 -0
- /package/textbox/{src → lib}/textbox.component.d.ts +0 -0
- /package/textbox/{src → lib}/textbox.module.d.ts +0 -0
- /package/time-box/{src → lib}/time-box.component.d.ts +0 -0
- /package/time-box/{src → lib}/time-box.module.d.ts +0 -0
- /package/toast/{src → lib}/toast.class.d.ts +0 -0
- /package/toast/{src → lib}/toast.component.d.ts +0 -0
- /package/toast/{src → lib}/toast.module.d.ts +0 -0
- /package/toast/{src → lib}/toast.service.d.ts +0 -0
- /package/tooltip/{src → lib}/tooltip.component.d.ts +0 -0
- /package/tooltip/{src → lib}/tooltip.directive.d.ts +0 -0
- /package/tooltip/{src → lib}/tooltip.module.d.ts +0 -0
- /package/uploader/{src → lib}/uploader.component.d.ts +0 -0
- /package/uploader/{src → lib}/uploader.module.d.ts +0 -0
@@ -0,0 +1,417 @@
|
|
1
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';
|
2
|
+
import { AXDateTime, AXDateTimeRange } from '@acorex/core/dateTime';
|
3
|
+
import { MXInteractiveComponent, MXValueComponent, } from '@acorex/components/common';
|
4
|
+
import { AXConfig } from '@acorex/core/config';
|
5
|
+
import { MXCalendarBaseComponent, } from './calendar.class';
|
6
|
+
import { classes } from 'polytype';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/common";
|
9
|
+
export class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {
|
10
|
+
get displayRange() {
|
11
|
+
return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);
|
12
|
+
}
|
13
|
+
_setDisplayRange(current) {
|
14
|
+
switch (this.activeView) {
|
15
|
+
case 'year':
|
16
|
+
let y = current.startOf('year').year;
|
17
|
+
let min = y - (y % 10);
|
18
|
+
let max = min + 9;
|
19
|
+
return new AXDateTimeRange(AXDateTime.from({
|
20
|
+
year: min,
|
21
|
+
month: 1,
|
22
|
+
date: 1,
|
23
|
+
calendar: this._viewStartDate.calendar.name(),
|
24
|
+
}), AXDateTime.from({
|
25
|
+
year: max,
|
26
|
+
month: 12,
|
27
|
+
date: 28,
|
28
|
+
calendar: this._viewStartDate.calendar.name(),
|
29
|
+
}));
|
30
|
+
case 'month':
|
31
|
+
return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));
|
32
|
+
default:
|
33
|
+
return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));
|
34
|
+
}
|
35
|
+
}
|
36
|
+
_initValues() {
|
37
|
+
this._today = new AXDateTime(new Date(), this.type);
|
38
|
+
this._dayNames = this._today.calendar.dayShortNames;
|
39
|
+
}
|
40
|
+
_refresh() {
|
41
|
+
this._initValues();
|
42
|
+
this.navTo(this.value || this._today);
|
43
|
+
}
|
44
|
+
constructor() {
|
45
|
+
super();
|
46
|
+
this._today = new AXDateTime(new Date(), this.type);
|
47
|
+
this._footPrint = {
|
48
|
+
year: null,
|
49
|
+
month: null,
|
50
|
+
day: null,
|
51
|
+
};
|
52
|
+
this.views = [];
|
53
|
+
this._dayNames = [];
|
54
|
+
this.onValueChanged.subscribe(this._handleOnValueChanged.bind(this));
|
55
|
+
this.onOptionChanged.subscribe(this._handleOnOptionChanged.bind(this));
|
56
|
+
}
|
57
|
+
ngOnInit() {
|
58
|
+
super.ngOnInit();
|
59
|
+
this._initValues();
|
60
|
+
}
|
61
|
+
ngAfterViewInit() {
|
62
|
+
if (!this.value) {
|
63
|
+
this.goToday();
|
64
|
+
}
|
65
|
+
}
|
66
|
+
render() {
|
67
|
+
if (!this._viewStartDate)
|
68
|
+
return;
|
69
|
+
const applyCellClass = (slot, cellClass = this.cellClass) => {
|
70
|
+
switch (typeof cellClass) {
|
71
|
+
case 'string':
|
72
|
+
cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));
|
73
|
+
break;
|
74
|
+
case 'object':
|
75
|
+
Object.assign(slot.cssClass, cellClass);
|
76
|
+
break;
|
77
|
+
case 'function':
|
78
|
+
applyCellClass(slot, cellClass(slot.date));
|
79
|
+
break;
|
80
|
+
}
|
81
|
+
};
|
82
|
+
this.views = [];
|
83
|
+
for (let i = 0; i < this.count; i++) {
|
84
|
+
let unit = 'month';
|
85
|
+
let value = i;
|
86
|
+
//
|
87
|
+
if (this.activeView == 'day') {
|
88
|
+
unit = 'month';
|
89
|
+
value = i;
|
90
|
+
}
|
91
|
+
else if (this.activeView == 'month') {
|
92
|
+
unit = 'year';
|
93
|
+
value = i;
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
unit = 'year';
|
97
|
+
value = i * 10;
|
98
|
+
}
|
99
|
+
//
|
100
|
+
const current = this._viewStartDate.add(unit, value);
|
101
|
+
const view = {
|
102
|
+
range: this._setDisplayRange(current),
|
103
|
+
slots: [],
|
104
|
+
};
|
105
|
+
this.views.push(view);
|
106
|
+
//
|
107
|
+
// year view
|
108
|
+
if (this.activeView == 'year') {
|
109
|
+
const a = view.range.enumurate('year');
|
110
|
+
view.slots = a.map((d, i) => {
|
111
|
+
const r = {};
|
112
|
+
r.date = d.date;
|
113
|
+
//
|
114
|
+
r.text = d.format('YYYY');
|
115
|
+
r.tooltip = d.format('YYYY');
|
116
|
+
//
|
117
|
+
r.today = d.equal(this._today, 'year');
|
118
|
+
//
|
119
|
+
r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');
|
120
|
+
//
|
121
|
+
const focused = d.year == this._footPrint.year;
|
122
|
+
//
|
123
|
+
r.disabled =
|
124
|
+
(this.min && d.compare(this.min, 'year') == -1) ||
|
125
|
+
(this.max && d.compare(this.max, 'year') == 1);
|
126
|
+
//
|
127
|
+
if (r.disabled) {
|
128
|
+
r.cssClass = {
|
129
|
+
'ax-state-disabled': r.disabled,
|
130
|
+
};
|
131
|
+
}
|
132
|
+
else {
|
133
|
+
r.cssClass = {
|
134
|
+
'ax-state-today': r.today,
|
135
|
+
'ax-state-selected': r.selected,
|
136
|
+
'ax-state-focused': focused,
|
137
|
+
};
|
138
|
+
}
|
139
|
+
applyCellClass(r);
|
140
|
+
return r;
|
141
|
+
});
|
142
|
+
}
|
143
|
+
// month view
|
144
|
+
else if (this.activeView == 'month') {
|
145
|
+
const a = view.range.enumurate('month');
|
146
|
+
view.slots = a.map((d, i) => {
|
147
|
+
const r = {};
|
148
|
+
r.date = d.date;
|
149
|
+
r.text = d.format('MMM');
|
150
|
+
r.tooltip = d.format('MMMM YYYY');
|
151
|
+
r.today = d.equal(this._today, 'month');
|
152
|
+
//
|
153
|
+
r.disabled =
|
154
|
+
(this.min && d.compare(this.min, 'month') == -1) ||
|
155
|
+
(this.max && d.compare(this.max, 'month') == 1);
|
156
|
+
//
|
157
|
+
r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');
|
158
|
+
//
|
159
|
+
const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;
|
160
|
+
//
|
161
|
+
if (r.disabled) {
|
162
|
+
r.cssClass = {
|
163
|
+
'ax-state-disabled': r.disabled,
|
164
|
+
};
|
165
|
+
}
|
166
|
+
else {
|
167
|
+
r.cssClass = {
|
168
|
+
'ax-state-today': r.today,
|
169
|
+
'ax-state-selected': r.selected,
|
170
|
+
'ax-state-focused': focused,
|
171
|
+
};
|
172
|
+
}
|
173
|
+
applyCellClass(r);
|
174
|
+
return r;
|
175
|
+
});
|
176
|
+
}
|
177
|
+
// day view
|
178
|
+
else {
|
179
|
+
const a = view.range.enumurate('day');
|
180
|
+
view.slots = a.map((d, i) => {
|
181
|
+
const r = {};
|
182
|
+
r.date = d.date;
|
183
|
+
r.text = d.dayOfMonth;
|
184
|
+
r.tooltip = d.format();
|
185
|
+
r.today = d.equal(this._today, 'day');
|
186
|
+
r.selected = this.value && d.equal(this.value, 'day');
|
187
|
+
r.holiday = this.isHoliday(d) || this.isWeekend(d);
|
188
|
+
r.disabled =
|
189
|
+
(this.min && d.compare(this.min, 'day') == -1) ||
|
190
|
+
(this.max && d.compare(this.max, 'day') == 1) ||
|
191
|
+
this.isDisabled(d);
|
192
|
+
//
|
193
|
+
const focused = d.dayOfMonth == this._footPrint.day &&
|
194
|
+
d.monthOfYear == this._footPrint.month &&
|
195
|
+
d.year == this._footPrint.year;
|
196
|
+
//
|
197
|
+
if (r.disabled) {
|
198
|
+
r.cssClass = {
|
199
|
+
'ax-state-disabled': true,
|
200
|
+
};
|
201
|
+
}
|
202
|
+
else {
|
203
|
+
r.cssClass = {
|
204
|
+
'ax-state-today': r.today,
|
205
|
+
'ax-state-selected': r.selected,
|
206
|
+
'ax-state-holiday': r.holiday,
|
207
|
+
'ax-state-focused': focused,
|
208
|
+
};
|
209
|
+
}
|
210
|
+
r.cssClass[`ax-col-start-${view.range.startTime.dayOfWeek}`] = i == 0;
|
211
|
+
if (this.cellClass)
|
212
|
+
applyCellClass(r);
|
213
|
+
return r;
|
214
|
+
});
|
215
|
+
}
|
216
|
+
}
|
217
|
+
this.cdr.markForCheck();
|
218
|
+
}
|
219
|
+
_handlePrevClick() {
|
220
|
+
this.isUserInteraction = true;
|
221
|
+
this.prev();
|
222
|
+
this.isUserInteraction = false;
|
223
|
+
}
|
224
|
+
_handleNextClick() {
|
225
|
+
this.isUserInteraction = true;
|
226
|
+
this.next();
|
227
|
+
this.isUserInteraction = false;
|
228
|
+
}
|
229
|
+
_handleSlotClick(e, slot) {
|
230
|
+
if (slot.disabled || this.disabled)
|
231
|
+
return;
|
232
|
+
//
|
233
|
+
this.onSlotClick.emit({
|
234
|
+
component: this,
|
235
|
+
item: slot.date,
|
236
|
+
isUserInteraction: true,
|
237
|
+
nativeEvent: e,
|
238
|
+
});
|
239
|
+
//
|
240
|
+
const val = new AXDateTime(slot.date, this.type);
|
241
|
+
if (this.activeView == 'day') {
|
242
|
+
this._setDate(slot.date);
|
243
|
+
}
|
244
|
+
else if (this.activeView == 'month' && this.depth == 'day') {
|
245
|
+
this.activeView = 'day';
|
246
|
+
this._footPrint.month = val.monthOfYear;
|
247
|
+
this.navTo(slot.date);
|
248
|
+
}
|
249
|
+
else if (this.activeView == 'month' && this.depth == 'month') {
|
250
|
+
this._setDate(slot.date);
|
251
|
+
}
|
252
|
+
else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {
|
253
|
+
this.activeView = 'month';
|
254
|
+
this._footPrint.year = val.year;
|
255
|
+
this.navTo(slot.date);
|
256
|
+
}
|
257
|
+
else if (this.activeView == 'year' && this.depth == 'year') {
|
258
|
+
this._setDate(slot.date);
|
259
|
+
}
|
260
|
+
}
|
261
|
+
_handleNavClick(e, view) {
|
262
|
+
this.isUserInteraction = true;
|
263
|
+
this.activeView = view;
|
264
|
+
this.isUserInteraction = false;
|
265
|
+
}
|
266
|
+
toggleView() {
|
267
|
+
if (this.activeView == 'day')
|
268
|
+
this.activeView = 'month';
|
269
|
+
else if (this.activeView == 'month')
|
270
|
+
this.activeView = 'year';
|
271
|
+
}
|
272
|
+
_handleOnOptionChanged(e) {
|
273
|
+
if (e.name == 'depth' ||
|
274
|
+
e.name == 'activeView' ||
|
275
|
+
e.name == 'disabledDates' ||
|
276
|
+
e.name == 'holidayDates') {
|
277
|
+
this.render();
|
278
|
+
}
|
279
|
+
if (e.name == 'type') {
|
280
|
+
this._refresh();
|
281
|
+
}
|
282
|
+
}
|
283
|
+
_handleOnValueChanged(e) {
|
284
|
+
const val = new AXDateTime(e.value, this.type);
|
285
|
+
if (!this._viewStartDate ||
|
286
|
+
val.compare(this.displayRange.startTime, this.activeView) == -1 ||
|
287
|
+
val.compare(this.displayRange.endTime, this.activeView) == 1) {
|
288
|
+
this._viewStartDate = new AXDateTime(e.value, this.type);
|
289
|
+
}
|
290
|
+
this._footPrint.year = val.year;
|
291
|
+
this._footPrint.month = val.monthOfYear;
|
292
|
+
this._footPrint.day = val.dayOfMonth;
|
293
|
+
this.render();
|
294
|
+
}
|
295
|
+
_handleGoToday() {
|
296
|
+
this.isUserInteraction = true;
|
297
|
+
this._setDate(this._today.date);
|
298
|
+
this.goToday();
|
299
|
+
this.isUserInteraction = false;
|
300
|
+
}
|
301
|
+
next() {
|
302
|
+
this._navNextPrev(false);
|
303
|
+
}
|
304
|
+
prev() {
|
305
|
+
this._navNextPrev(true);
|
306
|
+
}
|
307
|
+
focus() {
|
308
|
+
const func = (s) => this.getHostElement().querySelector(s);
|
309
|
+
const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');
|
310
|
+
div?.focus();
|
311
|
+
}
|
312
|
+
_navNextPrev(prev) {
|
313
|
+
const sign = prev ? -1 : 1;
|
314
|
+
if (this.activeView == 'day')
|
315
|
+
this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));
|
316
|
+
else if (this.activeView == 'month')
|
317
|
+
this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));
|
318
|
+
else
|
319
|
+
this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));
|
320
|
+
}
|
321
|
+
goToday() {
|
322
|
+
this.navTo(this._today);
|
323
|
+
}
|
324
|
+
navTo(date) {
|
325
|
+
const val = AXDateTime.convert(date, this._today.calendar.name());
|
326
|
+
this._viewStartDate = val.startOf();
|
327
|
+
this.render();
|
328
|
+
//to make sure its rendred and displayRange is not null
|
329
|
+
if (this.views.length > 0) {
|
330
|
+
const vr = this.displayRange;
|
331
|
+
this.onNavigate.emit({
|
332
|
+
component: this,
|
333
|
+
isUserInteraction: this.isUserInteraction,
|
334
|
+
start: vr.startTime?.date,
|
335
|
+
end: vr.endTime?.date,
|
336
|
+
htmlElement: this.getHostElement(),
|
337
|
+
});
|
338
|
+
}
|
339
|
+
}
|
340
|
+
get __hostClass() {
|
341
|
+
const _classes = {
|
342
|
+
'ax-state-disabled': this.disabled,
|
343
|
+
};
|
344
|
+
return Object.entries(_classes)
|
345
|
+
.filter((c) => c[1])
|
346
|
+
.map((c) => c[0])
|
347
|
+
.join(' ');
|
348
|
+
}
|
349
|
+
_setDate(value) {
|
350
|
+
if (this.readonly || this.disabled)
|
351
|
+
return;
|
352
|
+
this.value = AXDateTime.convert(value, this._today.calendar.name()).startOf().date;
|
353
|
+
}
|
354
|
+
isDisabled(date) {
|
355
|
+
if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {
|
356
|
+
return this.disabledDates.some((d) => date.equal(d, 'day'));
|
357
|
+
}
|
358
|
+
else if (typeof this.disabledDates == 'function') {
|
359
|
+
return this.disabledDates(date.date);
|
360
|
+
}
|
361
|
+
return false;
|
362
|
+
}
|
363
|
+
isHoliday(date) {
|
364
|
+
if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {
|
365
|
+
return this.holidayDates.some((d) => date.equal(d, 'day'));
|
366
|
+
}
|
367
|
+
else if (typeof this.holidayDates == 'function') {
|
368
|
+
return this.holidayDates(date.date);
|
369
|
+
}
|
370
|
+
return false;
|
371
|
+
}
|
372
|
+
isWeekend(date) {
|
373
|
+
const weekend = AXConfig.get(`dateTime.calendars.${this.type}.weekend`);
|
374
|
+
return weekend.includes(date.dayOfWeek);
|
375
|
+
}
|
376
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
377
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: AXCalendarComponent, selector: "ax-calendar", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation", count: "count" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", countChange: "countChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\n <ng-content select=\"ax-header\"></ng-content>\n <div class=\"ax-calendar-body\">\n <ng-container *ngFor=\"let v of views; let first = first; let last = last\">\n <div [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'year'\">\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else yearTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #yearTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else monthTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #monthTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\">\n {{ v.range.startTime.format('MMM') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _dayNames\">{{ d }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else dayTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #dayTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <ng-content select=\"ax-footer\"></ng-content>\n</ng-container>\n<ng-template #pickerTemplate>\n <div class=\"ax-calendar-picker\">//TODO: picker</div>\n</ng-template>\n", styles: [".ax-dark ax-calendar{background:rgba(var(--ax-color-default))}ax-calendar{display:block;background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));width:max-content}@media (max-width: 599px){ax-calendar{width:100%}}ax-calendar.ax-state-disabled .ax-calendar-slots{opacity:.5;cursor:default}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:row}ax-calendar .ax-calendar-body>div{flex:1}@media (max-width: 599px){ax-calendar .ax-calendar-body>div{width:100%}}@media (min-width: 600px){ax-calendar .ax-calendar-body>div{width:20rem}}@media (min-width: 1200px){ax-calendar .ax-calendar-body>div{width:19rem}}@media (min-width: 1800px){ax-calendar .ax-calendar-body>div{width:21rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;padding:.5rem;border-bottom:1px solid;border-bottom-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.875rem;color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";padding-top:100%;float:left}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";display:block;clear:both}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:2px;outline-style:solid;outline-color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-width:2px;outline-style:dashed}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{color:rgba(var(--ax-color-primary-500));border-width:1px;border-style:solid;border-color:rgba(var(--ax-color-primary-200))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-style:solid;border-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-500))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-week>div{font-size:.875rem;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;cursor:text;margin:.125rem}@media (max-width: 599px){ax-calendar .ax-calendar-body{flex-direction:column}}@media (min-width: 600px){ax-calendar .ax-calendar-body{flex-direction:column}}@media (min-width: 1200px){ax-calendar .ax-calendar-body{flex-direction:row}}@media (min-width: 1800px){ax-calendar .ax-calendar-body{flex-direction:row}}ax-calendar .ax-calendar-footer{display:flex;justify-content:center;align-items:center;margin-top:1.125rem}ax-calendar .ax-calendar-footer .ax-today-button{width:100%;height:var(--ax-size-default);padding:0 1rem;font-size:.875rem;text-align:center;display:block;background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{opacity:.5;cursor:not-allowed}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-color-primary-400))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-600))}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
378
|
+
}
|
379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarComponent, decorators: [{
|
380
|
+
type: Component,
|
381
|
+
args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: [
|
382
|
+
'rtl',
|
383
|
+
'readonly',
|
384
|
+
'value',
|
385
|
+
'name',
|
386
|
+
'disabled',
|
387
|
+
'depth',
|
388
|
+
'activeView',
|
389
|
+
'min',
|
390
|
+
'max',
|
391
|
+
'disabledDates',
|
392
|
+
'holidayDates',
|
393
|
+
'type',
|
394
|
+
'cellTemplate',
|
395
|
+
'cellClass',
|
396
|
+
'showNavigation',
|
397
|
+
'count',
|
398
|
+
], outputs: [
|
399
|
+
'onOptionChanged',
|
400
|
+
'valueChange',
|
401
|
+
'onValueChanged',
|
402
|
+
'onBlur',
|
403
|
+
'onFocus',
|
404
|
+
'depthChange',
|
405
|
+
'typeChange',
|
406
|
+
'activeViewChange',
|
407
|
+
'disabledDatesChange',
|
408
|
+
'holidayDatesChange',
|
409
|
+
'onNavigate',
|
410
|
+
'onSlotClick',
|
411
|
+
'countChange',
|
412
|
+
], template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\n <ng-content select=\"ax-header\"></ng-content>\n <div class=\"ax-calendar-body\">\n <ng-container *ngFor=\"let v of views; let first = first; let last = last\">\n <div [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'year'\">\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else yearTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #yearTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else monthTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #monthTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\">\n {{ v.range.startTime.format('MMM') }}\n </button>\n </div>\n <div class=\"ax-calendar-header-buttons\" *ngIf=\"last\">\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\">\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n </div>\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _dayNames\">{{ d }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n <ng-container *ngIf=\"cellTemplate; else dayTpl\">\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #dayTpl>\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <ng-content select=\"ax-footer\"></ng-content>\n</ng-container>\n<ng-template #pickerTemplate>\n <div class=\"ax-calendar-picker\">//TODO: picker</div>\n</ng-template>\n", styles: [".ax-dark ax-calendar{background:rgba(var(--ax-color-default))}ax-calendar{display:block;background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));width:max-content}@media (max-width: 599px){ax-calendar{width:100%}}ax-calendar.ax-state-disabled .ax-calendar-slots{opacity:.5;cursor:default}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:row}ax-calendar .ax-calendar-body>div{flex:1}@media (max-width: 599px){ax-calendar .ax-calendar-body>div{width:100%}}@media (min-width: 600px){ax-calendar .ax-calendar-body>div{width:20rem}}@media (min-width: 1200px){ax-calendar .ax-calendar-body>div{width:19rem}}@media (min-width: 1800px){ax-calendar .ax-calendar-body>div{width:21rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;padding:.5rem;border-bottom:1px solid;border-bottom-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.875rem;color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";padding-top:100%;float:left}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";display:block;clear:both}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:2px;outline-style:solid;outline-color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-width:2px;outline-style:dashed}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-col-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{color:rgba(var(--ax-color-primary-500));border-width:1px;border-style:solid;border-color:rgba(var(--ax-color-primary-200))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-style:solid;border-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-500))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-week>div{font-size:.875rem;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;cursor:text;margin:.125rem}@media (max-width: 599px){ax-calendar .ax-calendar-body{flex-direction:column}}@media (min-width: 600px){ax-calendar .ax-calendar-body{flex-direction:column}}@media (min-width: 1200px){ax-calendar .ax-calendar-body{flex-direction:row}}@media (min-width: 1800px){ax-calendar .ax-calendar-body{flex-direction:row}}ax-calendar .ax-calendar-footer{display:flex;justify-content:center;align-items:center;margin-top:1.125rem}ax-calendar .ax-calendar-footer .ax-today-button{width:100%;height:var(--ax-size-default);padding:0 1rem;font-size:.875rem;text-align:center;display:block;background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{opacity:.5;cursor:not-allowed}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-color-primary-400))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-600))}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\n"] }]
|
413
|
+
}], ctorParameters: function () { return []; }, propDecorators: { __hostClass: [{
|
414
|
+
type: HostBinding,
|
415
|
+
args: ['class']
|
416
|
+
}] } });
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQVksTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBSUwsc0JBQXNCLEVBQ3RCLGdCQUFnQixHQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBSUwsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBMENuQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsT0FBTyxDQUM5QyxDQUFBLGdCQUFzQixDQUFBLEVBQ3RCLHNCQUFzQixFQUN0Qix1QkFBdUIsQ0FDeEI7SUFDQyxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBbUI7UUFDMUMsUUFBUSxJQUFJLENBQUMsVUFB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IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UsIFRpbWVVbml0IH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGVUaW1lJztcbmltcG9ydCB7XG4gIEFYQ2xpY2tFdmVudCxcbiAgQVhPcHRpb25DaGFuZ2VkRXZlbnQsXG4gIEFYVmFsdWVDaGFuZ2VkRXZlbnQsXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG4gIE1YVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuXG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xuaW1wb3J0IHtcbiAgQVhDYWxlbmRhclZpZXcsXG4gIEFYQ2FsZW5kYXJWaWV3U2xvdCxcbiAgQVhDYWxlbmRhclZpZXdUeXBlLFxuICBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCxcbn0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IFtcbiAgICAncnRsJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ25hbWUnLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICAgICdjb3VudCcsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25PcHRpb25DaGFuZ2VkJyxcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdkZXB0aENoYW5nZScsXG4gICAgJ3R5cGVDaGFuZ2UnLFxuICAgICdhY3RpdmVWaWV3Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWREYXRlc0NoYW5nZScsXG4gICAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXG4gICAgJ29uTmF2aWdhdGUnLFxuICAgICdvblNsb3RDbGljaycsXG4gICAgJ2NvdW50Q2hhbmdlJyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoXG4gIE1YVmFsdWVDb21wb25lbnQ8RGF0ZT4sXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG4gIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50XG4pIHtcbiAgcHVibGljIGdldCBkaXNwbGF5UmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIHRoaXMudmlld3NbMF0ucmFuZ2Uuc3RhcnRUaW1lLFxuICAgICAgdGhpcy52aWV3c1t0aGlzLnZpZXdzLmxlbmd0aCAtIDFdLnJhbmdlLmVuZFRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGlzcGxheVJhbmdlKGN1cnJlbnQ6IEFYRGF0ZVRpbWUpOiBBWERhdGVUaW1lUmFuZ2Uge1xuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xuICAgICAgICBsZXQgbWluID0geSAtICh5ICUgMTApO1xuICAgICAgICBsZXQgbWF4ID0gbWluICsgOTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXG4gICAgICAgICAgQVhEYXRlVGltZS5mcm9tKHtcbiAgICAgICAgICAgIHllYXI6IG1pbixcbiAgICAgICAgICAgIG1vbnRoOiAxLFxuICAgICAgICAgICAgZGF0ZTogMSxcbiAgICAgICAgICAgIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oe1xuICAgICAgICAgICAgeWVhcjogbWF4LFxuICAgICAgICAgICAgbW9udGg6IDEyLFxuICAgICAgICAgICAgZGF0ZTogMjgsXG4gICAgICAgICAgICBjYWxlbmRhcjogdGhpcy5fdmlld1N0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCksXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ21vbnRoJyksIGN1cnJlbnQuZW5kT2YoJ21vbnRoJykpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICBwcml2YXRlIF92aWV3U3RhcnREYXRlITogQVhEYXRlVGltZTtcbiAgcHJpdmF0ZSBfZm9vdFByaW50ID0ge1xuICAgIHllYXI6IG51bGwsXG4gICAgbW9udGg6IG51bGwsXG4gICAgZGF5OiBudWxsLFxuICB9O1xuXG4gIHByb3RlY3RlZCB2aWV3czogQVhDYWxlbmRhclZpZXdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgX2RheU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5fdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICAgIHRoaXMuX2RheU5hbWVzID0gdGhpcy5fdG9kYXkuY2FsZW5kYXIuZGF5U2hvcnROYW1lcztcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKSB7XG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xuICAgIHRoaXMubmF2VG8odGhpcy52YWx1ZSB8fCB0aGlzLl90b2RheSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZU9uVmFsdWVDaGFuZ2VkLmJpbmQodGhpcykpO1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVPbk9wdGlvbkNoYW5nZWQuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmdvVG9kYXkoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKSByZXR1cm47XG4gICAgY29uc3QgYXBwbHlDZWxsQ2xhc3MgPSAoc2xvdDogQVhDYWxlbmRhclZpZXdTbG90LCBjZWxsQ2xhc3M6IGFueSA9IHRoaXMuY2VsbENsYXNzKSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGVvZiBjZWxsQ2xhc3MpIHtcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICBjZWxsQ2xhc3Muc3BsaXQoJyAnKS5mb3JFYWNoKChjKSA9PiAoc2xvdC5jc3NDbGFzc1tjXSA9IHRydWUpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHNsb3QuY3NzQ2xhc3MsIGNlbGxDbGFzcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICBhcHBseUNlbGxDbGFzcyhzbG90LCBjZWxsQ2xhc3Moc2xvdC5kYXRlKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnZpZXdzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50OyBpKyspIHtcbiAgICAgIGxldCB1bml0OiBUaW1lVW5pdCA9ICdtb250aCc7XG4gICAgICBsZXQgdmFsdWU6IG51bWJlciA9IGk7XG4gICAgICAvL1xuICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5Jykge1xuICAgICAgICB1bml0ID0gJ21vbnRoJztcbiAgICAgICAgdmFsdWUgPSBpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgICB1bml0ID0gJ3llYXInO1xuICAgICAgICB2YWx1ZSA9IGk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bml0ID0gJ3llYXInO1xuICAgICAgICB2YWx1ZSA9IGkgKiAxMDtcbiAgICAgIH1cbiAgICAgIC8vXG4gICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQodW5pdCwgdmFsdWUpO1xuICAgICAgY29uc3QgdmlldzogQVhDYWxlbmRhclZpZXcgPSB7XG4gICAgICAgIHJhbmdlOiB0aGlzLl9zZXREaXNwbGF5UmFuZ2UoY3VycmVudCksXG4gICAgICAgIHNsb3RzOiBbXSxcbiAgICAgIH07XG4gICAgICB0aGlzLnZpZXdzLnB1c2godmlldyk7XG4gICAgICAvL1xuICAgICAgLy8geWVhciB2aWV3XG4gICAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFyJykge1xuICAgICAgICBjb25zdCBhID0gdmlldy5yYW5nZS5lbnVtdXJhdGUoJ3llYXInKTtcbiAgICAgICAgdmlldy5zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcjogYW55ID0ge307XG4gICAgICAgICAgci5kYXRlID0gZC5kYXRlO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ1lZWVknKTtcbiAgICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnWVlZWScpO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgci50b2RheSA9IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLnNlbGVjdGVkID0gdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICd5ZWFyJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICd5ZWFyJyk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBjb25zdCBmb2N1c2VkID0gZC55ZWFyID09IHRoaXMuX2Zvb3RQcmludC55ZWFyO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgci5kaXNhYmxlZCA9XG4gICAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fFxuICAgICAgICAgICAgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ3llYXInKSA9PSAxKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGlmIChyLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5Jzogci50b2RheSxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogci5zZWxlY3RlZCxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWZvY3VzZWQnOiBmb2N1c2VkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwbHlDZWxsQ2xhc3Mocik7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbW9udGggdmlld1xuICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcpIHtcbiAgICAgICAgY29uc3QgYSA9IHZpZXcucmFuZ2UuZW51bXVyYXRlKCdtb250aCcpO1xuICAgICAgICB2aWV3LnNsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcbiAgICAgICAgICByLmRhdGUgPSBkLmRhdGU7XG4gICAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ01NTScpO1xuICAgICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCdNTU1NIFlZWVknKTtcbiAgICAgICAgICByLnRvZGF5ID0gZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLmRpc2FibGVkID1cbiAgICAgICAgICAgICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdtb250aCcpID09IC0xKSB8fFxuICAgICAgICAgICAgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLnNlbGVjdGVkID0gdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICdtb250aCcgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnbW9udGgnKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IGZvY3VzZWQgPSBkLm1vbnRoT2ZZZWFyID09IHRoaXMuX2Zvb3RQcmludC5tb250aCAmJiBkLnllYXIgPT0gdGhpcy5fZm9vdFByaW50LnllYXI7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XG4gICAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IHIudG9kYXksXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHIuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1mb2N1c2VkJzogZm9jdXNlZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGFwcGx5Q2VsbENsYXNzKHIpO1xuICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIGRheSB2aWV3XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgYSA9IHZpZXcucmFuZ2UuZW51bXVyYXRlKCdkYXknKTtcbiAgICAgICAgdmlldy5zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcjogYW55ID0ge307XG4gICAgICAgICAgci5kYXRlID0gZC5kYXRlO1xuICAgICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcbiAgICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xuICAgICAgICAgIHIudG9kYXkgPSBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5Jyk7XG4gICAgICAgICAgci5zZWxlY3RlZCA9IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5Jyk7XG4gICAgICAgICAgci5ob2xpZGF5ID0gdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCk7XG4gICAgICAgICAgci5kaXNhYmxlZCA9XG4gICAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnZGF5JykgPT0gLTEpIHx8XG4gICAgICAgICAgICAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZChkKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IGZvY3VzZWQgPVxuICAgICAgICAgICAgZC5kYXlPZk1vbnRoID09IHRoaXMuX2Zvb3RQcmludC5kYXkgJiZcbiAgICAgICAgICAgIGQubW9udGhPZlllYXIgPT0gdGhpcy5fZm9vdFByaW50Lm1vbnRoICYmXG4gICAgICAgICAgICBkLnllYXIgPT0gdGhpcy5fZm9vdFByaW50LnllYXI7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XG4gICAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IHIudG9kYXksXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHIuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5Jzogci5ob2xpZGF5LFxuICAgICAgICAgICAgICAnYXgtc3RhdGUtZm9jdXNlZCc6IGZvY3VzZWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2aWV3LnJhbmdlLnN0YXJ0VGltZS5kYXlPZldlZWt9YF0gPSBpID09IDA7XG4gICAgICAgICAgaWYgKHRoaXMuY2VsbENsYXNzKSBhcHBseUNlbGxDbGFzcyhyKTtcbiAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgdGhpcy5wcmV2KCk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVOZXh0Q2xpY2soKSB7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdDogQVhDYWxlbmRhclZpZXdTbG90KSB7XG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIC8vXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGl0ZW06IHNsb3QuZGF0ZSxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgfSk7XG4gICAgLy9cbiAgICBjb25zdCB2YWwgPSBuZXcgQVhEYXRlVGltZShzbG90LmRhdGUsIHRoaXMudHlwZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5Jykge1xuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcgJiYgdGhpcy5kZXB0aCA9PSAnZGF5Jykge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheSc7XG4gICAgICB0aGlzLl9mb290UHJpbnQubW9udGggPSB2YWwubW9udGhPZlllYXI7XG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJyAmJiB0aGlzLmRlcHRoID09ICdtb250aCcpIHtcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcicgJiYgKHRoaXMuZGVwdGggPT0gJ2RheScgfHwgdGhpcy5kZXB0aCA9PSAnbW9udGgnKSkge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRoJztcbiAgICAgIHRoaXMuX2Zvb3RQcmludC55ZWFyID0gdmFsLnllYXI7XG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXInICYmIHRoaXMuZGVwdGggPT0gJ3llYXInKSB7XG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQgfCBhbnksIHZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZlVmlldyA9IHZpZXc7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXcoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5JykgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRoJztcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJykgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXInO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbk9wdGlvbkNoYW5nZWQoZTogQVhPcHRpb25DaGFuZ2VkRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICBlLm5hbWUgPT0gJ2RlcHRoJyB8fFxuICAgICAgZS5uYW1lID09ICdhY3RpdmVWaWV3JyB8fFxuICAgICAgZS5uYW1lID09ICdkaXNhYmxlZERhdGVzJyB8fFxuICAgICAgZS5uYW1lID09ICdob2xpZGF5RGF0ZXMnXG4gICAgKSB7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cbiAgICBpZiAoZS5uYW1lID09ICd0eXBlJykge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9uVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBjb25zdCB2YWwgPSBuZXcgQVhEYXRlVGltZShlLnZhbHVlLCB0aGlzLnR5cGUpO1xuICAgIGlmIChcbiAgICAgICF0aGlzLl92aWV3U3RhcnREYXRlIHx8XG4gICAgICB2YWwuY29tcGFyZSh0aGlzLmRpc3BsYXlSYW5nZS5zdGFydFRpbWUsIHRoaXMuYWN0aXZlVmlldykgPT0gLTEgfHxcbiAgICAgIHZhbC5jb21wYXJlKHRoaXMuZGlzcGxheVJhbmdlLmVuZFRpbWUsIHRoaXMuYWN0aXZlVmlldykgPT0gMVxuICAgICkge1xuICAgICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKGUudmFsdWUsIHRoaXMudHlwZSk7XG4gICAgfVxuICAgIHRoaXMuX2Zvb3RQcmludC55ZWFyID0gdmFsLnllYXI7XG4gICAgdGhpcy5fZm9vdFByaW50Lm1vbnRoID0gdmFsLm1vbnRoT2ZZZWFyO1xuICAgIHRoaXMuX2Zvb3RQcmludC5kYXkgPSB2YWwuZGF5T2ZNb250aDtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVHb1RvZGF5KCkge1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICAgIHRoaXMuX3NldERhdGUodGhpcy5fdG9kYXkuZGF0ZSk7XG4gICAgdGhpcy5nb1RvZGF5KCk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmV4dCgpIHtcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSk7XG4gIH1cblxuICBwcmV2KCkge1xuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9jdXMoKSB7XG4gICAgY29uc3QgZnVuYyA9IChzOiBzdHJpbmcpID0+IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihzKTtcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xuICAgIGRpdj8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzaWduID0gcHJldiA/IC0xIDogMTtcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXknKVxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgnbW9udGgnLCBzaWduICogMSAqIHRoaXMuY291bnQpKTtcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJylcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSAqIHRoaXMuY291bnQpKTtcbiAgICBlbHNlIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMTAgKiB0aGlzLmNvdW50KSk7XG4gIH1cblxuICBnb1RvZGF5KCkge1xuICAgIHRoaXMubmF2VG8odGhpcy5fdG9kYXkpO1xuICB9XG5cbiAgbmF2VG8oZGF0ZTogRGF0ZSB8IEFYRGF0ZVRpbWUpIHtcbiAgICBjb25zdCB2YWwgPSBBWERhdGVUaW1lLmNvbnZlcnQoZGF0ZSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKTtcbiAgICB0aGlzLl92aWV3U3RhcnREYXRlID0gdmFsLnN0YXJ0T2YoKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIC8vdG8gbWFrZSBzdXJlIGl0cyByZW5kcmVkIGFuZCBkaXNwbGF5UmFuZ2UgaXMgbm90IG51bGxcbiAgICBpZiAodGhpcy52aWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB2ciA9IHRoaXMuZGlzcGxheVJhbmdlO1xuICAgICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLmlzVXNlckludGVyYWN0aW9uLFxuICAgICAgICBzdGFydDogdnIuc3RhcnRUaW1lPy5kYXRlLFxuICAgICAgICBlbmQ6IHZyLmVuZFRpbWU/LmRhdGUsXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBfY2xhc3NlcyA9IHtcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXG4gICAgfTtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoX2NsYXNzZXMpXG4gICAgICAuZmlsdGVyKChjKSA9PiBjWzFdKVxuICAgICAgLm1hcCgoYykgPT4gY1swXSlcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXREYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzKGRhdGUuZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0hvbGlkYXkoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzLnNvbWUoKGQpID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMoZGF0ZS5kYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzV2Vla2VuZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd2Vla2VuZCA9IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJzLiR7dGhpcy50eXBlfS53ZWVrZW5kYCkgYXMgbnVtYmVyW107XG4gICAgcmV0dXJuIHdlZWtlbmQuaW5jbHVkZXMoZGF0ZS5kYXlPZldlZWspO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW50ZXJmYWNlID09PSAnY2FsZW5kYXInOyBlbHNlIHBpY2tlclRlbXBsYXRlXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2IG9mIHZpZXdzOyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFyJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1zdGF0ZS1kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQsICd5ZWFyJylcIj5cbiAgICAgICAgICAgICAgICB7eyB2LnJhbmdlLnN0YXJ0VGltZS5mb3JtYXQoJ1lZWVknKSB9fSAtIHt7IHYucmFuZ2UuZW5kVGltZS5mb3JtYXQoJ1lZWVknKSB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1idXR0b25zXCIgKm5nSWY9XCJsYXN0XCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVQcmV2Q2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb25cIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiAhcnRsLFxuICAgICAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JzogcnRsXG4gICAgICAgICAgICAgICAgICB9XCI+PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtaWNvblwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tbGVmdCc6IHJ0bCxcbiAgICAgICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6ICFydGxcbiAgICAgICAgICAgICAgICAgIH1cIj48L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLXllYXJcIiBbbmdDbGFzc109XCJ7ICdheC1kZWZhdWx0JzogIWNlbGxUZW1wbGF0ZSB9XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzbG90IG9mIHYuc2xvdHNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LCBzbG90KVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbFRlbXBsYXRlOyBlbHNlIHllYXJUcGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgc2xvdDogc2xvdCB9IH1cIj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN5ZWFyVHBsPlxuICAgICAgICAgICAgICAgIDxkaXYgW3RpdGxlXT1cInNsb3QudG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAge3sgc2xvdC50ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItdmlldy1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50LCAneWVhcicpXCI+XG4gICAgICAgICAgICAgICAge3sgdi5yYW5nZS5zdGFydFRpbWUuZm9ybWF0KCdZWVlZJykgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItYnV0dG9uc1wiICpuZ0lmPVwibGFzdFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1pY29uXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1sZWZ0JzogIXJ0bCxcbiAgICAgICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6IHJ0bFxuICAgICAgICAgICAgICAgICAgfVwiPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb25cIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiBydGwsXG4gICAgICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tcmlnaHQnOiAhcnRsXG4gICAgICAgICAgICAgICAgICB9XCI+PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1tb250aFwiIFtuZ0NsYXNzXT1cInsgJ2F4LWRlZmF1bHQnOiAhY2VsbFRlbXBsYXRlIH1cIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNsb3Qgb2Ygdi5zbG90c1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsIHNsb3QpXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsVGVtcGxhdGU7IGVsc2UgbW9udGhUcGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgc2xvdDogc2xvdCB9IH1cIj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtb250aFRwbD5cbiAgICAgICAgICAgICAgICA8ZGl2IFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsb3QudGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXZpZXctaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudCwgJ3llYXInKVwiPlxuICAgICAgICAgICAgICAgIHt7IHYucmFuZ2Uuc3RhcnRUaW1lLmZvcm1hdCgnWVlZWScpIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50LCAnbW9udGgnKVwiPlxuICAgICAgICAgICAgICAgIHt7IHYucmFuZ2Uuc3RhcnRUaW1lLmZvcm1hdCgnTU1NJykgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItYnV0dG9uc1wiICpuZ0lmPVwibGFzdFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1pY29uXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1sZWZ0JzogIXJ0bCxcbiAgICAgICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6IHJ0bFxuICAgICAgICAgICAgICAgICAgfVwiPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb25cIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiBydGwsXG4gICAgICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tcmlnaHQnOiAhcnRsXG4gICAgICAgICAgICAgICAgICB9XCI+PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7IGQgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCIgW25nQ2xhc3NdPVwieyAnYXgtZGVmYXVsdCc6ICFjZWxsVGVtcGxhdGUgfVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2xvdCBvZiB2LnNsb3RzXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LCBzbG90KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsVGVtcGxhdGU7IGVsc2UgZGF5VHBsXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VsbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBzbG90OiBzbG90IH0gfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGF5VHBsPlxuICAgICAgICAgICAgICAgICAgPGRpdiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHNsb3QudGV4dCB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvb3RlclwiPjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXBpY2tlclwiPi8vVE9ETzogcGlja2VyPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXDateTimeModule } from '@acorex/core/dateTime';
|
4
|
+
import { AXCalendarComponent } from './calendar.component';
|
5
|
+
import { AXCalendarRangeComponent } from './calendar-range.component';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
const COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];
|
8
|
+
const MODULES = [CommonModule, AXDateTimeModule];
|
9
|
+
export class AXCalendarModule {
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarModule, declarations: [AXCalendarComponent, AXCalendarRangeComponent], imports: [CommonModule, AXDateTimeModule], exports: [AXCalendarComponent, AXCalendarRangeComponent] }); }
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarModule, imports: [MODULES] }); }
|
13
|
+
}
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXCalendarModule, decorators: [{
|
15
|
+
type: NgModule,
|
16
|
+
args: [{
|
17
|
+
declarations: [...COMPONENT],
|
18
|
+
imports: [...MODULES],
|
19
|
+
exports: [...COMPONENT],
|
20
|
+
providers: [],
|
21
|
+
}]
|
22
|
+
}] });
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUV0RSxNQUFNLFNBQVMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFDbEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQVFqRCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFUVixtQkFBbUIsRUFBRSx3QkFBd0IsYUFDL0MsWUFBWSxFQUFFLGdCQUFnQixhQUQ1QixtQkFBbUIsRUFBRSx3QkFBd0I7K0dBU25ELGdCQUFnQixZQUpaLE9BQU87OzJGQUlYLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZVRpbWUnO1xuaW1wb3J0IHsgQVhDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ2FsZW5kYXJDb21wb25lbnQsIEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZSwgQVhEYXRlVGltZU1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vZHVsZSB7IH1cbiJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
2
|
* Generated bundle index. Do not edit.
|
3
3
|
*/
|
4
|
-
export * from './
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2hlY2tib3gvc3JjL2Fjb3JleC1jb21wb25lbnRzLWNoZWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './lib/checkbox.component';
|
2
|
+
export * from './lib/checkbox.module';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2hlY2tib3gvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC5tb2R1bGUnO1xuIl19
|