@acorex/components 22.1.8 → 22.2.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/emoji/README.md +3 -0
- package/emojipicker/README.md +3 -0
- package/fesm2022/acorex-components-accordion.mjs +10 -10
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +15 -14
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +32 -11
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +9 -8
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-bubble.mjs +71 -0
- package/fesm2022/acorex-components-bubble.mjs.map +1 -0
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +365 -55
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +40 -37
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +44 -19
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +28 -28
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +158 -31
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +11 -7
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +28 -28
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-acorex-components-conversation-Cl_dlCTX.mjs → acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs} +2889 -1016
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs} +4 -4
- package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-_F-fv3Ti.mjs → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs} +5 -5
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-_F-fv3Ti.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +47 -47
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +3 -3
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +181 -183
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +777 -160
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +59 -117
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +10 -10
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +11 -11
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -8
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +19 -14
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +15 -14
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-emoji.mjs +74 -0
- package/fesm2022/acorex-components-emoji.mjs.map +1 -0
- package/fesm2022/acorex-components-emojipicker.mjs +425 -0
- package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
- package/fesm2022/acorex-components-fab.mjs +6 -6
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +226 -127
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +16 -16
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-highlight.mjs +80 -0
- package/fesm2022/acorex-components-highlight.mjs.map +1 -0
- package/fesm2022/acorex-components-image-editor.mjs +217 -79
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
- package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +3 -3
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +6 -6
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +28 -9
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +771 -148
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +20 -13
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +215 -218
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +146 -45
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-message-status.mjs +71 -0
- package/fesm2022/acorex-components-message-status.mjs.map +1 -0
- package/fesm2022/acorex-components-message-time.mjs +36 -0
- package/fesm2022/acorex-components-message-time.mjs.map +1 -0
- package/fesm2022/acorex-components-message.mjs +120 -0
- package/fesm2022/acorex-components-message.mjs.map +1 -0
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +13 -14
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +17 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +25 -25
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +61 -13
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +631 -167
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-reaction.mjs +144 -0
- package/fesm2022/acorex-components-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +9 -9
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +54 -54
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +35 -35
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +9 -8
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +55 -42
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-sidebar.mjs +28 -28
- package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +13 -13
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -18
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +367 -72
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +14 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +54 -14
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +13 -13
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +691 -295
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/highlight/README.md +13 -0
- package/inline-reaction/README.md +3 -0
- package/lookup/README.md +1 -1
- package/message/README.md +3 -0
- package/message-status/README.md +3 -0
- package/message-time/README.md +3 -0
- package/package.json +48 -13
- package/reaction/README.md +3 -0
- package/types/acorex-components-action-sheet.d.ts +1 -1
- package/types/acorex-components-audio-wave.d.ts +8 -0
- package/types/acorex-components-bubble.d.ts +31 -0
- package/types/acorex-components-button.d.ts +74 -9
- package/types/acorex-components-calendar.d.ts +13 -4
- package/types/acorex-components-check-box.d.ts +1 -1
- package/types/acorex-components-code-editor.d.ts +4 -1
- package/types/acorex-components-color-box.d.ts +1 -1
- package/types/acorex-components-color-palette.d.ts +2 -2
- package/types/acorex-components-combo-box.d.ts +8 -2
- package/types/acorex-components-command.d.ts +3 -1
- package/types/acorex-components-conversation.d.ts +418 -119
- package/types/acorex-components-cron-job.d.ts +6 -6
- package/types/acorex-components-data-pager.d.ts +27 -9
- package/types/acorex-components-data-table.d.ts +221 -21
- package/types/acorex-components-datetime-box.d.ts +1 -1
- package/types/acorex-components-datetime-picker.d.ts +1 -1
- package/types/acorex-components-decorators.d.ts +15 -33
- package/types/acorex-components-dialog.d.ts +1 -1
- package/types/acorex-components-dropdown-button.d.ts +2 -1
- package/types/acorex-components-dropdown.d.ts +6 -1
- package/types/acorex-components-editor.d.ts +1 -1
- package/types/acorex-components-emoji.d.ts +42 -0
- package/types/acorex-components-emojipicker.d.ts +146 -0
- package/types/acorex-components-file-viewer.d.ts +13 -2
- package/types/acorex-components-highlight.d.ts +31 -0
- package/types/acorex-components-image-editor.d.ts +19 -2
- package/types/acorex-components-inline-reaction.d.ts +52 -0
- package/types/acorex-components-list.d.ts +12 -0
- package/types/acorex-components-loading-dialog.d.ts +1 -1
- package/types/acorex-components-loading.d.ts +1 -1
- package/types/acorex-components-lookup.d.ts +214 -79
- package/types/acorex-components-map.d.ts +7 -2
- package/types/acorex-components-media-viewer.d.ts +4 -3
- package/types/acorex-components-menu.d.ts +17 -5
- package/types/acorex-components-message-status.d.ts +23 -0
- package/types/acorex-components-message-time.d.ts +19 -0
- package/types/acorex-components-message.d.ts +59 -0
- package/types/acorex-components-notification.d.ts +1 -1
- package/types/acorex-components-number-box.d.ts +2 -1
- package/types/acorex-components-otp.d.ts +1 -1
- package/types/acorex-components-page.d.ts +2 -2
- package/types/acorex-components-paint.d.ts +2 -2
- package/types/acorex-components-password-box.d.ts +1 -1
- package/types/acorex-components-phone-box.d.ts +1 -1
- package/types/acorex-components-popover.d.ts +13 -1
- package/types/acorex-components-popup.d.ts +183 -50
- package/types/acorex-components-rail-navigation.d.ts +1 -1
- package/types/acorex-components-range-slider.d.ts +1 -1
- package/types/acorex-components-reaction.d.ts +85 -0
- package/types/acorex-components-rest-api-generator.d.ts +1 -1
- package/types/acorex-components-rrule.d.ts +1 -1
- package/types/acorex-components-scheduler-picker.d.ts +1 -1
- package/types/acorex-components-scheduler.d.ts +1 -1
- package/types/acorex-components-search-box.d.ts +1 -1
- package/types/acorex-components-side-menu.d.ts +6 -8
- package/types/acorex-components-slider.d.ts +1 -1
- package/types/acorex-components-step-wizard.d.ts +4 -4
- package/types/acorex-components-switch.d.ts +1 -1
- package/types/acorex-components-tabs.d.ts +106 -19
- package/types/acorex-components-tag-box.d.ts +2 -2
- package/types/acorex-components-text-area.d.ts +1 -1
- package/types/acorex-components-text-box.d.ts +1 -1
- package/types/acorex-components-time-duration.d.ts +1 -1
- package/types/acorex-components-toast.d.ts +1 -1
- package/types/acorex-components-tree-view.d.ts +23 -1
- package/types/acorex-components-wysiwyg.d.ts +426 -77
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-Cl_dlCTX.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs +0 -85
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs.map +0 -1
- package/fesm2022/acorex-components-flow-chart.mjs +0 -735
- package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
- package/fesm2022/acorex-components-query-builder.mjs +0 -267
- package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
- package/flow-chart/README.md +0 -3
- package/query-builder/README.md +0 -3
- package/types/acorex-components-flow-chart.d.ts +0 -187
- package/types/acorex-components-query-builder.d.ts +0 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-routing-progress.mjs","sources":["../../../../packages/components/routing-progress/src/lib/routing-progress.component.ts","../../../../packages/components/routing-progress/src/lib/routing-progress.component.html","../../../../packages/components/routing-progress/src/lib/routing-progress.module.ts","../../../../packages/components/routing-progress/src/acorex-components-routing-progress.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { Component, OnDestroy, ViewEncapsulation, inject } from '@angular/core';\nimport { Event, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\n\nimport { Subscription, delay, interval } from 'rxjs';\n\n/**\n * Shows routing progress with visual feedback during navigation.\n *\n * @category\n */\n@Component({\n selector: 'ax-routing-progress',\n templateUrl: './routing-progress.component.html',\n styleUrls: ['./routing-progress.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXRoutingProgressComponent }],\n})\nexport class AXRoutingProgressComponent extends MXBaseComponent implements OnDestroy {\n private router = inject(Router);\n\n /**\n * Indicates whether loading is in progress.\n * @defaultValue false\n */\n loading = false;\n\n /**\n * Specifies the width of the component.\n * @defaultValue 0\n */\n width = 0;\n\n /** @ignore */\n private subscription!: Subscription;\n\n /** @ignore */\n constructor() {\n super();\n this.router.events.subscribe((event: Event) => {\n this.width = 0;\n switch (true) {\n case event instanceof NavigationStart: {\n this.loading = true;\n this.subscription = interval(50)\n .pipe(delay(300))\n .subscribe(() => {\n this.width += this.width > 70 ? 1 : 7;\n if (this.width >= 100) {\n this.width = 100;\n this.subscription.unsubscribe();\n }\n this.cdr.markForCheck();\n });\n break;\n }\n\n case event instanceof NavigationEnd:\n case event instanceof NavigationCancel:\n case event instanceof NavigationError: {\n this.subscription?.unsubscribe();\n setTimeout(() => {\n this.width = 100;\n this.loading = false;\n this.cdr.markForCheck();\n }, 500);\n break;\n }\n default: {\n break;\n }\n }\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n}\n","@if (loading) {\n <div [style.width.%]=\"width\"></div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRoutingProgressComponent } from './routing-progress.component';\n\nconst COMPONENT = [AXRoutingProgressComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRoutingProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"acorex-components-routing-progress.mjs","sources":["../../../../packages/components/routing-progress/src/lib/routing-progress.component.ts","../../../../packages/components/routing-progress/src/lib/routing-progress.component.html","../../../../packages/components/routing-progress/src/lib/routing-progress.module.ts","../../../../packages/components/routing-progress/src/acorex-components-routing-progress.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { Component, OnDestroy, ViewEncapsulation, inject } from '@angular/core';\nimport { Event, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\n\nimport { Subscription, delay, interval } from 'rxjs';\n\n/**\n * Shows routing progress with visual feedback during navigation.\n *\n * @category\n */\n@Component({\n selector: 'ax-routing-progress',\n templateUrl: './routing-progress.component.html',\n styleUrls: ['./routing-progress.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXRoutingProgressComponent }],\n})\nexport class AXRoutingProgressComponent extends MXBaseComponent implements OnDestroy {\n private router = inject(Router);\n\n /**\n * Indicates whether loading is in progress.\n * @defaultValue false\n */\n loading = false;\n\n /**\n * Specifies the width of the component.\n * @defaultValue 0\n */\n width = 0;\n\n /** @ignore */\n private subscription!: Subscription;\n\n /** @ignore */\n constructor() {\n super();\n this.router.events.subscribe((event: Event) => {\n this.width = 0;\n switch (true) {\n case event instanceof NavigationStart: {\n this.loading = true;\n this.subscription = interval(50)\n .pipe(delay(300))\n .subscribe(() => {\n this.width += this.width > 70 ? 1 : 7;\n if (this.width >= 100) {\n this.width = 100;\n this.subscription.unsubscribe();\n }\n this.cdr.markForCheck();\n });\n break;\n }\n\n case event instanceof NavigationEnd:\n case event instanceof NavigationCancel:\n case event instanceof NavigationError: {\n this.subscription?.unsubscribe();\n setTimeout(() => {\n this.width = 100;\n this.loading = false;\n this.cdr.markForCheck();\n }, 500);\n break;\n }\n default: {\n break;\n }\n }\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n}\n","@if (loading) {\n <div [style.width.%]=\"width\"></div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRoutingProgressComponent } from './routing-progress.component';\n\nconst COMPONENT = [AXRoutingProgressComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRoutingProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -122,10 +122,10 @@ class AXRruleService {
|
|
|
122
122
|
rruleGetAfter(rule, date, inclusive = false) {
|
|
123
123
|
return rule.after(date, inclusive);
|
|
124
124
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
126
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRruleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
126
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRruleService, providedIn: 'root' }); }
|
|
127
127
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRruleService, decorators: [{
|
|
129
129
|
type: Injectable,
|
|
130
130
|
args: [{
|
|
131
131
|
providedIn: 'root',
|
|
@@ -163,8 +163,8 @@ class AXRrulePreviewComponent {
|
|
|
163
163
|
ngOnInit() {
|
|
164
164
|
this.timeZone.set(Intl.DateTimeFormat().resolvedOptions().timeZone);
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRrulePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXRrulePreviewComponent, isStandalone: true, selector: "ax-rrule-preview", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, repeat: { classPropertyName: "repeat", publicName: "repeat", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
168
168
|
<div class="flex flex-col gap-4 rounded-md border p-4 text-pretty">
|
|
169
169
|
<div>
|
|
170
170
|
<ax-label>{{ 'rrule.text' | translate: { scope: 'common' } | async }}</ax-label>
|
|
@@ -193,7 +193,7 @@ class AXRrulePreviewComponent {
|
|
|
193
193
|
</div>
|
|
194
194
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
195
195
|
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRrulePreviewComponent, decorators: [{
|
|
197
197
|
type: Component,
|
|
198
198
|
args: [{
|
|
199
199
|
selector: 'ax-rrule-preview',
|
|
@@ -497,10 +497,10 @@ class AXRruleComponent {
|
|
|
497
497
|
}
|
|
498
498
|
this._emitAll();
|
|
499
499
|
}
|
|
500
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
501
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: AXRruleComponent, isStandalone: true, selector: "ax-rrule", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", rruleChange: "rruleChange", optionsChange: "optionsChange", stringChange: "stringChange", textChange: "textChange" }, ngImport: i0, template: "<div class=\"ax-rrule-container grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <!-- General -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n <div>\n <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"freq\"\n [items]=\"freqs\"\n [ngModel]=\"options().freq\"\n (ngModelChange)=\"updateOption('freq', $event)\"\n ></ax-selection-list>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"dtstart\"\n [ngModel]=\"options().dtstart\"\n (ngModelChange)=\"updateOption('dtstart', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"until\"\n [ngModel]=\"options().until\"\n (ngModelChange)=\"updateOption('until', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"count\"\n [ngModel]=\"options().count\"\n (ngModelChange)=\"updateOption('count', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"interval\"\n [ngModel]=\"options().interval\"\n (ngModelChange)=\"updateOption('interval', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"tzid\"\n [dataSource]=\"timezones\"\n [ngModel]=\"options().tzid\"\n (ngModelChange)=\"updateOption('tzid', $event)\"\n >\n <ax-search-box></ax-search-box>\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Weekday -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"wkst\"\n [items]=\"weekdays\"\n [ngModel]=\"options().wkst\"\n (ngModelChange)=\"updateOption('wkst', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"byweekday\"\n [items]=\"weekdays\"\n multiple=\"true\"\n [ngModel]=\"options().byweekday\"\n (ngModelChange)=\"updateOption('byweekday', $event)\"\n ></ax-selection-list>\n </div>\n </div>\n\n <!-- By Month -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"bymonth\"\n [items]=\"months\"\n multiple=\"true\"\n [ngModel]=\"options().bymonth\"\n (ngModelChange)=\"updateOption('bymonth', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bymonthday\"\n [dataSource]=\"monthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bymonthday\"\n (ngModelChange)=\"updateOption('bymonthday', $event)\"\n >\n </ax-select-box>\n </div>\n <!-- <div>\n <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n <ax-select-box\n name=\"bynmonthday\"\n [dataSource]=\"nmonthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bynmonthday\"\n (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n >\n </ax-select-box>\n </div> -->\n </div>\n\n <!-- By Year -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byyearday\"\n [dataSource]=\"yeardays\"\n multiple=\"true\"\n [ngModel]=\"options().byyearday\"\n (ngModelChange)=\"updateOption('byyearday', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byweekno\"\n [dataSource]=\"weeknos\"\n multiple=\"true\"\n [ngModel]=\"options().byweekno\"\n (ngModelChange)=\"updateOption('byweekno', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Time -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byhour\"\n [dataSource]=\"hours\"\n multiple=\"true\"\n [ngModel]=\"options().byhour\"\n (ngModelChange)=\"updateOption('byhour', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byminute\"\n [dataSource]=\"minutes\"\n multiple=\"true\"\n [ngModel]=\"options().byminute\"\n (ngModelChange)=\"updateOption('byminute', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysecond\"\n [dataSource]=\"seconds\"\n multiple=\"true\"\n [ngModel]=\"options().bysecond\"\n (ngModelChange)=\"updateOption('bysecond', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- Advanced -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysetpos\"\n [dataSource]=\"setpos\"\n multiple=\"true\"\n [ngModel]=\"options().bysetpos\"\n (ngModelChange)=\"updateOption('bysetpos', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n</div>\n\n<div class=\"flex justify-end py-4\">\n <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i2$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "calendarLook", "yearRange", "boxLook", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i3.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i5.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i8.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }] }); }
|
|
500
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRruleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
501
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXRruleComponent, isStandalone: true, selector: "ax-rrule", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", rruleChange: "rruleChange", optionsChange: "optionsChange", stringChange: "stringChange", textChange: "textChange" }, ngImport: i0, template: "<div class=\"ax-rrule-container grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <!-- General -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n <div>\n <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"freq\"\n [items]=\"freqs\"\n [ngModel]=\"options().freq\"\n (ngModelChange)=\"updateOption('freq', $event)\"\n ></ax-selection-list>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"dtstart\"\n [ngModel]=\"options().dtstart\"\n (ngModelChange)=\"updateOption('dtstart', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"until\"\n [ngModel]=\"options().until\"\n (ngModelChange)=\"updateOption('until', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"count\"\n [ngModel]=\"options().count\"\n (ngModelChange)=\"updateOption('count', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"interval\"\n [ngModel]=\"options().interval\"\n (ngModelChange)=\"updateOption('interval', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"tzid\"\n [dataSource]=\"timezones\"\n [ngModel]=\"options().tzid\"\n (ngModelChange)=\"updateOption('tzid', $event)\"\n >\n <ax-search-box></ax-search-box>\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Weekday -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"wkst\"\n [items]=\"weekdays\"\n [ngModel]=\"options().wkst\"\n (ngModelChange)=\"updateOption('wkst', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"byweekday\"\n [items]=\"weekdays\"\n multiple=\"true\"\n [ngModel]=\"options().byweekday\"\n (ngModelChange)=\"updateOption('byweekday', $event)\"\n ></ax-selection-list>\n </div>\n </div>\n\n <!-- By Month -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"bymonth\"\n [items]=\"months\"\n multiple=\"true\"\n [ngModel]=\"options().bymonth\"\n (ngModelChange)=\"updateOption('bymonth', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bymonthday\"\n [dataSource]=\"monthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bymonthday\"\n (ngModelChange)=\"updateOption('bymonthday', $event)\"\n >\n </ax-select-box>\n </div>\n <!-- <div>\n <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n <ax-select-box\n name=\"bynmonthday\"\n [dataSource]=\"nmonthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bynmonthday\"\n (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n >\n </ax-select-box>\n </div> -->\n </div>\n\n <!-- By Year -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byyearday\"\n [dataSource]=\"yeardays\"\n multiple=\"true\"\n [ngModel]=\"options().byyearday\"\n (ngModelChange)=\"updateOption('byyearday', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byweekno\"\n [dataSource]=\"weeknos\"\n multiple=\"true\"\n [ngModel]=\"options().byweekno\"\n (ngModelChange)=\"updateOption('byweekno', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Time -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byhour\"\n [dataSource]=\"hours\"\n multiple=\"true\"\n [ngModel]=\"options().byhour\"\n (ngModelChange)=\"updateOption('byhour', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byminute\"\n [dataSource]=\"minutes\"\n multiple=\"true\"\n [ngModel]=\"options().byminute\"\n (ngModelChange)=\"updateOption('byminute', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysecond\"\n [dataSource]=\"seconds\"\n multiple=\"true\"\n [ngModel]=\"options().bysecond\"\n (ngModelChange)=\"updateOption('bysecond', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- Advanced -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysetpos\"\n [dataSource]=\"setpos\"\n multiple=\"true\"\n [ngModel]=\"options().bysetpos\"\n (ngModelChange)=\"updateOption('bysetpos', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n</div>\n\n<div class=\"flex justify-end py-4\">\n <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i2$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "calendarLook", "yearRange", "boxLook", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i3.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i5.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i8.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }] }); }
|
|
502
502
|
}
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRruleComponent, decorators: [{
|
|
504
504
|
type: Component,
|
|
505
505
|
args: [{ standalone: true, selector: 'ax-rrule', imports: [
|
|
506
506
|
CommonModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-rrule.mjs","sources":["../../../../packages/components/rrule/src/lib/rrule.service.ts","../../../../packages/components/rrule/src/lib/rrule-preview.ts","../../../../packages/components/rrule/src/lib/rrule.const.ts","../../../../packages/components/rrule/src/lib/rrule.type.ts","../../../../packages/components/rrule/src/lib/rrule.component.ts","../../../../packages/components/rrule/src/lib/rrule.component.html","../../../../packages/components/rrule/src/acorex-components-rrule.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXParsedOptionsType, AXROptionsType, AXRRuleType } from './rrule.type';\n\n/**\n * Service for working with RRule recurrence patterns.\n * Provides methods to create RRule instances from options or strings,\n * convert between formats, and query occurrences.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXRruleService {\n /**\n * Creates an RRule instance from options object.\n * @param options Partial RRule options to create the rule from\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromOptions(options: Partial<AXROptionsType>): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return new RRule(options);\n }\n\n /**\n * Creates an RRule instance from a RRULE string.\n * @param ruleString Valid RRULE string (e.g., \"RRULE:FREQ=WEEKLY;COUNT=5\")\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromString(ruleString: string): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return RRule.fromString(ruleString);\n }\n\n /**\n * Creates an RRule instance from human-readable text.\n * @param ruleText Human-readable text describing the recurrence (e.g., \"every Monday for 5 weeks\")\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromText(ruleText: string): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return RRule.fromText(ruleText);\n }\n\n /**\n * Extracts options from an RRule instance.\n * @param rule RRule instance to extract options from\n * @returns Parsed options with all required fields\n */\n rruleToOptions(rule: AXRRuleType): AXParsedOptionsType {\n return rule.options;\n }\n\n /**\n * Converts an RRule instance to RRULE string format.\n * @param rule RRule instance to convert\n * @returns RRULE string representation\n */\n rruleToString(rule: AXRRuleType): string {\n return rule.toString();\n }\n\n /**\n * Converts an RRule instance to human-readable text.\n * @param rule RRule instance to convert\n * @returns Human-readable text description\n */\n rruleToText(rule: AXRRuleType): string {\n return rule.toText();\n }\n\n /**\n * Gets all occurrences of the rule up to a limit.\n * @param rule RRule instance to query\n * @param limit Maximum number of occurrences to return (default: 500)\n * @returns Array of occurrence dates\n */\n rruleGetAll(rule: AXRRuleType, limit = 500): Date[] {\n return rule.all((d, l) => l < limit);\n }\n\n /**\n * Gets occurrences between two dates.\n * @param rule RRule instance to query\n * @param after Start date (exclusive by default)\n * @param before End date (exclusive by default)\n * @param inclusive Whether to include the boundary dates\n * @returns Array of occurrence dates between the specified dates\n */\n rruleGetBetween(rule: AXRRuleType, after: Date, before: Date, inclusive = false): Date[] {\n return rule.between(after, before, inclusive);\n }\n\n /**\n * Gets the last occurrence before the specified date.\n * @param rule RRule instance to query\n * @param date Date to search before\n * @param inclusive Whether to include the specified date\n * @returns Last occurrence before the date, or null if none found\n */\n rruleGetBefore(rule: AXRRuleType, date: Date, inclusive = false): Date | null {\n return rule.before(date, inclusive);\n }\n\n /**\n * Gets the first occurrence after the specified date.\n * @param rule RRule instance to query\n * @param date Date to search after\n * @param inclusive Whether to include the specified date\n * @returns First occurrence after the date, or null if none found\n */\n rruleGetAfter(rule: AXRRuleType, date: Date, inclusive = false): Date | null {\n return rule.after(date, inclusive);\n }\n}\n","import { AXLabelModule } from '@acorex/components/label';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe, DatePipe } from '@angular/common';\nimport { Component, computed, effect, inject, input, OnInit, signal } from '@angular/core';\nimport { AXRruleService } from './rrule.service';\nimport { AXRRuleType } from './rrule.type';\n\n@Component({\n selector: 'ax-rrule-preview',\n template: `\n <div class=\"flex flex-col gap-4 rounded-md border p-4 text-pretty\">\n <div>\n <ax-label>{{ 'rrule.text' | translate: { scope: 'common' } | async }}</ax-label>\n <code class=\"bg-surface mt-2 block rounded p-2\">\n {{ text() }}\n </code>\n </div>\n <div>\n <ax-label>{{ 'rrule.string' | translate: { scope: 'common' } | async }}</ax-label>\n <code class=\"bg-surface mt-2 block rounded p-2 text-pretty break-all\">\n {{ string() }}\n </code>\n </div>\n <div>\n <ax-label>{{\n 'rrule.occurrences' | translate: { scope: 'common', params: { repeat: repeat() } } | async\n }}</ax-label>\n <div class=\"mt-2 max-h-64 overflow-y-auto\">\n @for (date of dates(); track $index) {\n <code class=\"bg-surface even:bg-lighter block p-1\">\n {{ date | date: format() : timeZone() }}\n </code>\n }\n </div>\n </div>\n </div>\n `,\n\n imports: [AXLabelModule, DatePipe, AXTranslationModule, AsyncPipe],\n})\nexport class AXRrulePreviewComponent implements OnInit {\n value = input<string | null>();\n repeat = input<number>(100);\n format = input<string>('yyyy-MM-dd HH:mm:ss');\n\n protected rruleService = inject(AXRruleService);\n\n protected rrule = signal<AXRRuleType | null>(null);\n protected timeZone = signal<string | null>(null);\n\n protected text = computed(() => (this.rrule() ? this.rruleService.rruleToText(this.rrule()) : ''));\n protected string = computed(() => (this.rrule() ? this.rruleService.rruleToString(this.rrule()) : ''));\n protected dates = computed(() => (this.rrule() ? this.rruleService.rruleGetAll(this.rrule(), this.repeat()) : []));\n protected options = computed(() => (this.rrule() ? this.rruleService.rruleToOptions(this.rrule()) : {}));\n\n eff = effect(async () => {\n if (this.value()) {\n this.rrule.set(await this.rruleService.rruleFromString(this.value()));\n }\n });\n\n ngOnInit(): void {\n this.timeZone.set(Intl.DateTimeFormat().resolvedOptions().timeZone);\n }\n\n // value = input<AXRRuleType | null>();\n // protected rruleService = inject(AXRruleService);\n // protected text = computed(() => (this.value() ? this.rruleService.rruleToText(this.value()) : ''));\n // protected string = computed(() => (this.value() ? this.rruleService.rruleToString(this.value()) : ''));\n // protected dates = computed(() => (this.value() ? this.rruleService.rruleGetAll(this.value()) : []));\n // protected options = computed(() => (this.value() ? this.rruleService.rruleToOptions(this.value()) : {}));\n}\n","export const freqs = [\n { text: 'Yearly', value: 0 },\n { text: 'Monthly', value: 1 },\n { text: 'Weekly', value: 2 },\n { text: 'Daily', value: 3 },\n { text: 'Hourly', value: 4 },\n { text: 'Minutely', value: 5 },\n { text: 'Secondly', value: 6 },\n];\n\nexport const weekdays = [\n { text: 'Sunday', value: 6 },\n { text: 'Monday', value: 0 },\n { text: 'Tuesday', value: 1 },\n { text: 'Wednesday', value: 2 },\n { text: 'Thursday', value: 3 },\n { text: 'Friday', value: 4 },\n { text: 'Saturday', value: 5 },\n];\n\nexport const months = [\n { text: 'January', value: 1 },\n { text: 'February', value: 2 },\n { text: 'March', value: 3 },\n { text: 'April', value: 4 },\n { text: 'May', value: 5 },\n { text: 'June', value: 6 },\n { text: 'July', value: 7 },\n { text: 'August', value: 8 },\n { text: 'September', value: 9 },\n { text: 'October', value: 10 },\n { text: 'November', value: 11 },\n { text: 'December', value: 12 },\n];\n\nexport const timezones = Intl.supportedValuesOf('timeZone');\n\nexport const hours = Array.from({ length: 24 }, (_, i) => i);\nexport const minutes = Array.from({ length: 60 }, (_, i) => i);\nexport const seconds = Array.from({ length: 60 }, (_, i) => i);\nexport const monthdays = Array.from({ length: 31 }, (_, i) => i + 1);\nexport const nmonthdays = [\n ...Array.from({ length: 31 }, (_, i) => -1 * (i + 1)).reverse(),\n ...Array.from({ length: 31 }, (_, i) => i + 1),\n];\nexport const yeardays = Array.from({ length: 366 }, (_, i) => i + 1);\nexport const weeknos = Array.from({ length: 53 }, (_, i) => i + 1);\nexport const setpos = [\n ...Array.from({ length: 366 }, (_, i) => -1 * (i + 1)).reverse(),\n ...Array.from({ length: 366 }, (_, i) => i + 1),\n];\n","export type AXROptionsType = import('rrule').Options;\nexport interface AXParsedOptionsType extends AXROptionsType {\n dtstart: Date;\n wkst: number;\n bysetpos: number[];\n bymonth: number[];\n bymonthday: number[];\n bynmonthday: number[];\n byyearday: number[];\n byweekno: number[];\n byweekday: number[];\n byhour: number[];\n byminute: number[];\n bysecond: number[];\n}\nexport type AXRRuleType = import('rrule').RRule;\n\nexport const defaultOptions: AXROptionsType = {\n freq: 2,\n dtstart: null,\n interval: 1,\n wkst: null,\n count: 5,\n until: null,\n tzid: null,\n bysetpos: [],\n bymonth: [],\n bymonthday: [],\n byyearday: [],\n byweekno: [],\n byweekday: [],\n byhour: [],\n byminute: [],\n bysecond: [],\n byeaster: null,\n bynmonthday: [],\n bynweekday: [],\n};\n\nexport const defaultRrule = 'RRULE:FREQ=WEEKLY;INTERVAL=1;WKST=MO;COUNT=5';\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, effect, inject, input, linkedSignal, output, signal, untracked } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n freqs,\n hours,\n minutes,\n monthdays,\n months,\n nmonthdays,\n seconds,\n setpos,\n timezones,\n weekdays,\n weeknos,\n yeardays,\n} from './rrule.const';\nimport { AXRruleService } from './rrule.service';\nimport { AXROptionsType, AXRRuleType, defaultOptions, defaultRrule } from './rrule.type';\n\n/**\n * RRule component provides a user-friendly interface for creating and managing recurrence rules.\n * Supports various frequencies, intervals, and date constraints with real-time preview and validation.\n */\n@Component({\n standalone: true,\n selector: 'ax-rrule',\n templateUrl: './rrule.component.html',\n\n imports: [\n CommonModule,\n FormsModule,\n AXDateTimeBoxModule,\n AXSelectionListModule,\n AXNumberBoxModule,\n AXFormModule,\n AXSelectBoxModule,\n AXLabelModule,\n AXSearchBoxModule,\n AXButtonModule,\n AXTranslationModule,\n ],\n})\nexport class AXRruleComponent {\n /**\n * Current recurrence rule model value (options object or RRULE string).\n * @default null\n */\n public valueInput = input<AXROptionsType | string | null>(null, { alias: 'value' });\n public value = linkedSignal(this.valueInput);\n\n /**\n * Emitted when the model value changes.\n */\n public valueChange = output<AXROptionsType | string | null>();\n\n /**\n * Emitted with the computed RRule instance when updated.\n */\n public rruleChange = output<AXRRuleType | null>();\n\n /**\n * Emitted with the normalized options whenever they change.\n */\n public optionsChange = output<AXROptionsType>();\n\n /**\n * Emitted with the RRULE string representation.\n */\n public stringChange = output<string | null>();\n\n /**\n * Emitted with the human-readable text of the rule.\n */\n public textChange = output<string | null>();\n\n protected freqs = freqs;\n protected weekdays = weekdays;\n protected months = months;\n protected timezones = timezones;\n protected hours = hours;\n protected minutes = minutes;\n protected seconds = seconds;\n protected monthdays = monthdays;\n protected nmonthdays = nmonthdays;\n protected yeardays = yeardays;\n protected weeknos = weeknos;\n protected setpos = setpos;\n\n protected options = signal<AXROptionsType>({ ...defaultOptions });\n protected rrule = signal<AXRRuleType | null>(null);\n protected string = computed(() => this.rrule()?.toString() ?? null);\n protected text = computed(() => this.rrule()?.toText() ?? null);\n // public all = computed(() => this.rruleService.rruleGetAll(this.rrule()));\n\n private rruleService = inject(AXRruleService);\n private _isUpdating = false;\n private _applyToken = 0;\n\n #valueEffect = effect(() => {\n const incoming = this.value();\n if (this._isUpdating) {\n this._isUpdating = false;\n return;\n }\n this._scheduleApplyIncoming(incoming);\n });\n\n private _scheduleApplyIncoming(incoming: AXROptionsType | string | null) {\n const token = ++this._applyToken;\n // Defer to microtask to avoid doing async work directly inside effect\n Promise.resolve().then(() => this._applyIncomingAsync(incoming, token));\n }\n\n private async _applyIncomingAsync(incoming: AXROptionsType | string | null, token: number) {\n try {\n let rrule: AXRRuleType;\n let newOptions: AXROptionsType;\n\n if (incoming) {\n if (typeof incoming === 'string') {\n rrule = await this.rruleService.rruleFromString(incoming);\n newOptions = this._clearOptions({ ...rrule.options }, incoming);\n } else {\n rrule = await this.rruleService.rruleFromOptions(incoming);\n newOptions = { ...rrule.options } as AXROptionsType;\n }\n } else {\n rrule = await this.rruleService.rruleFromString(defaultRrule);\n newOptions = this._clearOptions({ ...rrule.options }, defaultRrule);\n }\n\n // Only apply the latest scheduled update\n if (token !== this._applyToken) return;\n\n untracked(() => {\n this.rrule.set(rrule);\n this.options.set(newOptions);\n this._emitAll();\n });\n } catch {\n // Swallow errors to avoid breaking the reactive graph; consider surfacing via output events if needed\n }\n }\n\n private _emitAll() {\n this.rruleChange.emit(this.rrule());\n this.optionsChange.emit(this.options());\n this.stringChange.emit(this.string());\n this.textChange.emit(this.text());\n }\n\n private _areOptionValuesEqual<T>(a: T, b: T): boolean {\n if (a === b) return true;\n if (a == null || b == null) return a === b;\n // Compare Date\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n // Compare arrays of primitives\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n return false;\n }\n\n private _clearOptions(options: AXROptionsType, rule: string): AXROptionsType {\n const upperCaseRule = rule.toUpperCase();\n if (!upperCaseRule.includes('DTSTART')) {\n options.dtstart = (this.options().dtstart as Date | null) ?? new Date();\n }\n if (!upperCaseRule.includes('BYHOUR')) {\n options.byhour = [];\n }\n if (!upperCaseRule.includes('BYMINUTE')) {\n options.byminute = [];\n }\n if (!upperCaseRule.includes('BYSECOND')) {\n options.bysecond = [];\n }\n if (!upperCaseRule.includes('BYMONTH')) {\n options.bymonth = [];\n }\n if (!upperCaseRule.includes('BYMONTHDAY')) {\n options.bymonthday = [];\n }\n if (!upperCaseRule.includes('BYWEEKDAY')) {\n options.byweekday = [];\n }\n if (!upperCaseRule.includes('TZID')) {\n const currentTz = this.options().tzid as string | null;\n const userTimeZone = Intl?.DateTimeFormat?.().resolvedOptions?.().timeZone;\n options.tzid = currentTz ?? userTimeZone ?? null;\n }\n return options;\n }\n\n /**\n * Updates a single option and recomputes the rule.\n * @param key The option key to update\n * @param value The new value for the option\n */\n async updateOption<K extends keyof AXROptionsType>(key: K, value: AXROptionsType[K]): Promise<void> {\n const current = this.options()[key] as AXROptionsType[K];\n if (this._areOptionValuesEqual(current as unknown as any, value as unknown as any)) return;\n this.options.update((opts) => ({ ...opts, [key]: value }));\n const newRrule = await this.rruleService.rruleFromOptions(this.options());\n this.rrule.set(newRrule);\n\n this._isUpdating = true;\n if (typeof this.value() === 'string') {\n this.value.set(newRrule.toString());\n } else {\n this.value.set(this.options());\n }\n this._emitAll();\n }\n\n /**\n * Resets options to defaults and recomputes the rule.\n */\n async resetOptions(): Promise<void> {\n this.options.set({ ...defaultOptions });\n const newRrule = await this.rruleService.rruleFromOptions(this.options());\n this.rrule.set(newRrule);\n\n this._isUpdating = true;\n if (typeof this.value() === 'string') {\n this.value.set(newRrule.toString());\n } else {\n this.value.set(this.options());\n }\n this._emitAll();\n }\n}\n","<div class=\"ax-rrule-container grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <!-- General -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n <div>\n <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"freq\"\n [items]=\"freqs\"\n [ngModel]=\"options().freq\"\n (ngModelChange)=\"updateOption('freq', $event)\"\n ></ax-selection-list>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"dtstart\"\n [ngModel]=\"options().dtstart\"\n (ngModelChange)=\"updateOption('dtstart', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"until\"\n [ngModel]=\"options().until\"\n (ngModelChange)=\"updateOption('until', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"count\"\n [ngModel]=\"options().count\"\n (ngModelChange)=\"updateOption('count', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"interval\"\n [ngModel]=\"options().interval\"\n (ngModelChange)=\"updateOption('interval', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"tzid\"\n [dataSource]=\"timezones\"\n [ngModel]=\"options().tzid\"\n (ngModelChange)=\"updateOption('tzid', $event)\"\n >\n <ax-search-box></ax-search-box>\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Weekday -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"wkst\"\n [items]=\"weekdays\"\n [ngModel]=\"options().wkst\"\n (ngModelChange)=\"updateOption('wkst', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"byweekday\"\n [items]=\"weekdays\"\n multiple=\"true\"\n [ngModel]=\"options().byweekday\"\n (ngModelChange)=\"updateOption('byweekday', $event)\"\n ></ax-selection-list>\n </div>\n </div>\n\n <!-- By Month -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"bymonth\"\n [items]=\"months\"\n multiple=\"true\"\n [ngModel]=\"options().bymonth\"\n (ngModelChange)=\"updateOption('bymonth', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bymonthday\"\n [dataSource]=\"monthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bymonthday\"\n (ngModelChange)=\"updateOption('bymonthday', $event)\"\n >\n </ax-select-box>\n </div>\n <!-- <div>\n <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n <ax-select-box\n name=\"bynmonthday\"\n [dataSource]=\"nmonthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bynmonthday\"\n (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n >\n </ax-select-box>\n </div> -->\n </div>\n\n <!-- By Year -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byyearday\"\n [dataSource]=\"yeardays\"\n multiple=\"true\"\n [ngModel]=\"options().byyearday\"\n (ngModelChange)=\"updateOption('byyearday', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byweekno\"\n [dataSource]=\"weeknos\"\n multiple=\"true\"\n [ngModel]=\"options().byweekno\"\n (ngModelChange)=\"updateOption('byweekno', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Time -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byhour\"\n [dataSource]=\"hours\"\n multiple=\"true\"\n [ngModel]=\"options().byhour\"\n (ngModelChange)=\"updateOption('byhour', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byminute\"\n [dataSource]=\"minutes\"\n multiple=\"true\"\n [ngModel]=\"options().byminute\"\n (ngModelChange)=\"updateOption('byminute', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysecond\"\n [dataSource]=\"seconds\"\n multiple=\"true\"\n [ngModel]=\"options().bysecond\"\n (ngModelChange)=\"updateOption('bysecond', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- Advanced -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysetpos\"\n [dataSource]=\"setpos\"\n multiple=\"true\"\n [ngModel]=\"options().bysetpos\"\n (ngModelChange)=\"updateOption('bysetpos', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n</div>\n\n<div class=\"flex justify-end py-4\">\n <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-rrule.mjs","sources":["../../../../packages/components/rrule/src/lib/rrule.service.ts","../../../../packages/components/rrule/src/lib/rrule-preview.ts","../../../../packages/components/rrule/src/lib/rrule.const.ts","../../../../packages/components/rrule/src/lib/rrule.type.ts","../../../../packages/components/rrule/src/lib/rrule.component.ts","../../../../packages/components/rrule/src/lib/rrule.component.html","../../../../packages/components/rrule/src/acorex-components-rrule.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXParsedOptionsType, AXROptionsType, AXRRuleType } from './rrule.type';\n\n/**\n * Service for working with RRule recurrence patterns.\n * Provides methods to create RRule instances from options or strings,\n * convert between formats, and query occurrences.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXRruleService {\n /**\n * Creates an RRule instance from options object.\n * @param options Partial RRule options to create the rule from\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromOptions(options: Partial<AXROptionsType>): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return new RRule(options);\n }\n\n /**\n * Creates an RRule instance from a RRULE string.\n * @param ruleString Valid RRULE string (e.g., \"RRULE:FREQ=WEEKLY;COUNT=5\")\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromString(ruleString: string): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return RRule.fromString(ruleString);\n }\n\n /**\n * Creates an RRule instance from human-readable text.\n * @param ruleText Human-readable text describing the recurrence (e.g., \"every Monday for 5 weeks\")\n * @returns Promise resolving to the RRule instance\n */\n async rruleFromText(ruleText: string): Promise<AXRRuleType> {\n // eslint-disable-next-line @nx/enforce-module-boundaries\n const { RRule } = await import('rrule');\n return RRule.fromText(ruleText);\n }\n\n /**\n * Extracts options from an RRule instance.\n * @param rule RRule instance to extract options from\n * @returns Parsed options with all required fields\n */\n rruleToOptions(rule: AXRRuleType): AXParsedOptionsType {\n return rule.options;\n }\n\n /**\n * Converts an RRule instance to RRULE string format.\n * @param rule RRule instance to convert\n * @returns RRULE string representation\n */\n rruleToString(rule: AXRRuleType): string {\n return rule.toString();\n }\n\n /**\n * Converts an RRule instance to human-readable text.\n * @param rule RRule instance to convert\n * @returns Human-readable text description\n */\n rruleToText(rule: AXRRuleType): string {\n return rule.toText();\n }\n\n /**\n * Gets all occurrences of the rule up to a limit.\n * @param rule RRule instance to query\n * @param limit Maximum number of occurrences to return (default: 500)\n * @returns Array of occurrence dates\n */\n rruleGetAll(rule: AXRRuleType, limit = 500): Date[] {\n return rule.all((d, l) => l < limit);\n }\n\n /**\n * Gets occurrences between two dates.\n * @param rule RRule instance to query\n * @param after Start date (exclusive by default)\n * @param before End date (exclusive by default)\n * @param inclusive Whether to include the boundary dates\n * @returns Array of occurrence dates between the specified dates\n */\n rruleGetBetween(rule: AXRRuleType, after: Date, before: Date, inclusive = false): Date[] {\n return rule.between(after, before, inclusive);\n }\n\n /**\n * Gets the last occurrence before the specified date.\n * @param rule RRule instance to query\n * @param date Date to search before\n * @param inclusive Whether to include the specified date\n * @returns Last occurrence before the date, or null if none found\n */\n rruleGetBefore(rule: AXRRuleType, date: Date, inclusive = false): Date | null {\n return rule.before(date, inclusive);\n }\n\n /**\n * Gets the first occurrence after the specified date.\n * @param rule RRule instance to query\n * @param date Date to search after\n * @param inclusive Whether to include the specified date\n * @returns First occurrence after the date, or null if none found\n */\n rruleGetAfter(rule: AXRRuleType, date: Date, inclusive = false): Date | null {\n return rule.after(date, inclusive);\n }\n}\n","import { AXLabelModule } from '@acorex/components/label';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe, DatePipe } from '@angular/common';\nimport { Component, computed, effect, inject, input, OnInit, signal } from '@angular/core';\nimport { AXRruleService } from './rrule.service';\nimport { AXRRuleType } from './rrule.type';\n\n@Component({\n selector: 'ax-rrule-preview',\n template: `\n <div class=\"flex flex-col gap-4 rounded-md border p-4 text-pretty\">\n <div>\n <ax-label>{{ 'rrule.text' | translate: { scope: 'common' } | async }}</ax-label>\n <code class=\"bg-surface mt-2 block rounded p-2\">\n {{ text() }}\n </code>\n </div>\n <div>\n <ax-label>{{ 'rrule.string' | translate: { scope: 'common' } | async }}</ax-label>\n <code class=\"bg-surface mt-2 block rounded p-2 text-pretty break-all\">\n {{ string() }}\n </code>\n </div>\n <div>\n <ax-label>{{\n 'rrule.occurrences' | translate: { scope: 'common', params: { repeat: repeat() } } | async\n }}</ax-label>\n <div class=\"mt-2 max-h-64 overflow-y-auto\">\n @for (date of dates(); track $index) {\n <code class=\"bg-surface even:bg-lighter block p-1\">\n {{ date | date: format() : timeZone() }}\n </code>\n }\n </div>\n </div>\n </div>\n `,\n\n imports: [AXLabelModule, DatePipe, AXTranslationModule, AsyncPipe],\n})\nexport class AXRrulePreviewComponent implements OnInit {\n value = input<string | null>();\n repeat = input<number>(100);\n format = input<string>('yyyy-MM-dd HH:mm:ss');\n\n protected rruleService = inject(AXRruleService);\n\n protected rrule = signal<AXRRuleType | null>(null);\n protected timeZone = signal<string | null>(null);\n\n protected text = computed(() => (this.rrule() ? this.rruleService.rruleToText(this.rrule()) : ''));\n protected string = computed(() => (this.rrule() ? this.rruleService.rruleToString(this.rrule()) : ''));\n protected dates = computed(() => (this.rrule() ? this.rruleService.rruleGetAll(this.rrule(), this.repeat()) : []));\n protected options = computed(() => (this.rrule() ? this.rruleService.rruleToOptions(this.rrule()) : {}));\n\n eff = effect(async () => {\n if (this.value()) {\n this.rrule.set(await this.rruleService.rruleFromString(this.value()));\n }\n });\n\n ngOnInit(): void {\n this.timeZone.set(Intl.DateTimeFormat().resolvedOptions().timeZone);\n }\n\n // value = input<AXRRuleType | null>();\n // protected rruleService = inject(AXRruleService);\n // protected text = computed(() => (this.value() ? this.rruleService.rruleToText(this.value()) : ''));\n // protected string = computed(() => (this.value() ? this.rruleService.rruleToString(this.value()) : ''));\n // protected dates = computed(() => (this.value() ? this.rruleService.rruleGetAll(this.value()) : []));\n // protected options = computed(() => (this.value() ? this.rruleService.rruleToOptions(this.value()) : {}));\n}\n","export const freqs = [\n { text: 'Yearly', value: 0 },\n { text: 'Monthly', value: 1 },\n { text: 'Weekly', value: 2 },\n { text: 'Daily', value: 3 },\n { text: 'Hourly', value: 4 },\n { text: 'Minutely', value: 5 },\n { text: 'Secondly', value: 6 },\n];\n\nexport const weekdays = [\n { text: 'Sunday', value: 6 },\n { text: 'Monday', value: 0 },\n { text: 'Tuesday', value: 1 },\n { text: 'Wednesday', value: 2 },\n { text: 'Thursday', value: 3 },\n { text: 'Friday', value: 4 },\n { text: 'Saturday', value: 5 },\n];\n\nexport const months = [\n { text: 'January', value: 1 },\n { text: 'February', value: 2 },\n { text: 'March', value: 3 },\n { text: 'April', value: 4 },\n { text: 'May', value: 5 },\n { text: 'June', value: 6 },\n { text: 'July', value: 7 },\n { text: 'August', value: 8 },\n { text: 'September', value: 9 },\n { text: 'October', value: 10 },\n { text: 'November', value: 11 },\n { text: 'December', value: 12 },\n];\n\nexport const timezones = Intl.supportedValuesOf('timeZone');\n\nexport const hours = Array.from({ length: 24 }, (_, i) => i);\nexport const minutes = Array.from({ length: 60 }, (_, i) => i);\nexport const seconds = Array.from({ length: 60 }, (_, i) => i);\nexport const monthdays = Array.from({ length: 31 }, (_, i) => i + 1);\nexport const nmonthdays = [\n ...Array.from({ length: 31 }, (_, i) => -1 * (i + 1)).reverse(),\n ...Array.from({ length: 31 }, (_, i) => i + 1),\n];\nexport const yeardays = Array.from({ length: 366 }, (_, i) => i + 1);\nexport const weeknos = Array.from({ length: 53 }, (_, i) => i + 1);\nexport const setpos = [\n ...Array.from({ length: 366 }, (_, i) => -1 * (i + 1)).reverse(),\n ...Array.from({ length: 366 }, (_, i) => i + 1),\n];\n","export type AXROptionsType = import('rrule').Options;\nexport interface AXParsedOptionsType extends AXROptionsType {\n dtstart: Date;\n wkst: number;\n bysetpos: number[];\n bymonth: number[];\n bymonthday: number[];\n bynmonthday: number[];\n byyearday: number[];\n byweekno: number[];\n byweekday: number[];\n byhour: number[];\n byminute: number[];\n bysecond: number[];\n}\nexport type AXRRuleType = import('rrule').RRule;\n\nexport const defaultOptions: AXROptionsType = {\n freq: 2,\n dtstart: null,\n interval: 1,\n wkst: null,\n count: 5,\n until: null,\n tzid: null,\n bysetpos: [],\n bymonth: [],\n bymonthday: [],\n byyearday: [],\n byweekno: [],\n byweekday: [],\n byhour: [],\n byminute: [],\n bysecond: [],\n byeaster: null,\n bynmonthday: [],\n bynweekday: [],\n};\n\nexport const defaultRrule = 'RRULE:FREQ=WEEKLY;INTERVAL=1;WKST=MO;COUNT=5';\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, effect, inject, input, linkedSignal, output, signal, untracked } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n freqs,\n hours,\n minutes,\n monthdays,\n months,\n nmonthdays,\n seconds,\n setpos,\n timezones,\n weekdays,\n weeknos,\n yeardays,\n} from './rrule.const';\nimport { AXRruleService } from './rrule.service';\nimport { AXROptionsType, AXRRuleType, defaultOptions, defaultRrule } from './rrule.type';\n\n/**\n * RRule component provides a user-friendly interface for creating and managing recurrence rules.\n * Supports various frequencies, intervals, and date constraints with real-time preview and validation.\n */\n@Component({\n standalone: true,\n selector: 'ax-rrule',\n templateUrl: './rrule.component.html',\n\n imports: [\n CommonModule,\n FormsModule,\n AXDateTimeBoxModule,\n AXSelectionListModule,\n AXNumberBoxModule,\n AXFormModule,\n AXSelectBoxModule,\n AXLabelModule,\n AXSearchBoxModule,\n AXButtonModule,\n AXTranslationModule,\n ],\n})\nexport class AXRruleComponent {\n /**\n * Current recurrence rule model value (options object or RRULE string).\n * @default null\n */\n public valueInput = input<AXROptionsType | string | null>(null, { alias: 'value' });\n public value = linkedSignal(this.valueInput);\n\n /**\n * Emitted when the model value changes.\n */\n public valueChange = output<AXROptionsType | string | null>();\n\n /**\n * Emitted with the computed RRule instance when updated.\n */\n public rruleChange = output<AXRRuleType | null>();\n\n /**\n * Emitted with the normalized options whenever they change.\n */\n public optionsChange = output<AXROptionsType>();\n\n /**\n * Emitted with the RRULE string representation.\n */\n public stringChange = output<string | null>();\n\n /**\n * Emitted with the human-readable text of the rule.\n */\n public textChange = output<string | null>();\n\n protected freqs = freqs;\n protected weekdays = weekdays;\n protected months = months;\n protected timezones = timezones;\n protected hours = hours;\n protected minutes = minutes;\n protected seconds = seconds;\n protected monthdays = monthdays;\n protected nmonthdays = nmonthdays;\n protected yeardays = yeardays;\n protected weeknos = weeknos;\n protected setpos = setpos;\n\n protected options = signal<AXROptionsType>({ ...defaultOptions });\n protected rrule = signal<AXRRuleType | null>(null);\n protected string = computed(() => this.rrule()?.toString() ?? null);\n protected text = computed(() => this.rrule()?.toText() ?? null);\n // public all = computed(() => this.rruleService.rruleGetAll(this.rrule()));\n\n private rruleService = inject(AXRruleService);\n private _isUpdating = false;\n private _applyToken = 0;\n\n #valueEffect = effect(() => {\n const incoming = this.value();\n if (this._isUpdating) {\n this._isUpdating = false;\n return;\n }\n this._scheduleApplyIncoming(incoming);\n });\n\n private _scheduleApplyIncoming(incoming: AXROptionsType | string | null) {\n const token = ++this._applyToken;\n // Defer to microtask to avoid doing async work directly inside effect\n Promise.resolve().then(() => this._applyIncomingAsync(incoming, token));\n }\n\n private async _applyIncomingAsync(incoming: AXROptionsType | string | null, token: number) {\n try {\n let rrule: AXRRuleType;\n let newOptions: AXROptionsType;\n\n if (incoming) {\n if (typeof incoming === 'string') {\n rrule = await this.rruleService.rruleFromString(incoming);\n newOptions = this._clearOptions({ ...rrule.options }, incoming);\n } else {\n rrule = await this.rruleService.rruleFromOptions(incoming);\n newOptions = { ...rrule.options } as AXROptionsType;\n }\n } else {\n rrule = await this.rruleService.rruleFromString(defaultRrule);\n newOptions = this._clearOptions({ ...rrule.options }, defaultRrule);\n }\n\n // Only apply the latest scheduled update\n if (token !== this._applyToken) return;\n\n untracked(() => {\n this.rrule.set(rrule);\n this.options.set(newOptions);\n this._emitAll();\n });\n } catch {\n // Swallow errors to avoid breaking the reactive graph; consider surfacing via output events if needed\n }\n }\n\n private _emitAll() {\n this.rruleChange.emit(this.rrule());\n this.optionsChange.emit(this.options());\n this.stringChange.emit(this.string());\n this.textChange.emit(this.text());\n }\n\n private _areOptionValuesEqual<T>(a: T, b: T): boolean {\n if (a === b) return true;\n if (a == null || b == null) return a === b;\n // Compare Date\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n // Compare arrays of primitives\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n return false;\n }\n\n private _clearOptions(options: AXROptionsType, rule: string): AXROptionsType {\n const upperCaseRule = rule.toUpperCase();\n if (!upperCaseRule.includes('DTSTART')) {\n options.dtstart = (this.options().dtstart as Date | null) ?? new Date();\n }\n if (!upperCaseRule.includes('BYHOUR')) {\n options.byhour = [];\n }\n if (!upperCaseRule.includes('BYMINUTE')) {\n options.byminute = [];\n }\n if (!upperCaseRule.includes('BYSECOND')) {\n options.bysecond = [];\n }\n if (!upperCaseRule.includes('BYMONTH')) {\n options.bymonth = [];\n }\n if (!upperCaseRule.includes('BYMONTHDAY')) {\n options.bymonthday = [];\n }\n if (!upperCaseRule.includes('BYWEEKDAY')) {\n options.byweekday = [];\n }\n if (!upperCaseRule.includes('TZID')) {\n const currentTz = this.options().tzid as string | null;\n const userTimeZone = Intl?.DateTimeFormat?.().resolvedOptions?.().timeZone;\n options.tzid = currentTz ?? userTimeZone ?? null;\n }\n return options;\n }\n\n /**\n * Updates a single option and recomputes the rule.\n * @param key The option key to update\n * @param value The new value for the option\n */\n async updateOption<K extends keyof AXROptionsType>(key: K, value: AXROptionsType[K]): Promise<void> {\n const current = this.options()[key] as AXROptionsType[K];\n if (this._areOptionValuesEqual(current as unknown as any, value as unknown as any)) return;\n this.options.update((opts) => ({ ...opts, [key]: value }));\n const newRrule = await this.rruleService.rruleFromOptions(this.options());\n this.rrule.set(newRrule);\n\n this._isUpdating = true;\n if (typeof this.value() === 'string') {\n this.value.set(newRrule.toString());\n } else {\n this.value.set(this.options());\n }\n this._emitAll();\n }\n\n /**\n * Resets options to defaults and recomputes the rule.\n */\n async resetOptions(): Promise<void> {\n this.options.set({ ...defaultOptions });\n const newRrule = await this.rruleService.rruleFromOptions(this.options());\n this.rrule.set(newRrule);\n\n this._isUpdating = true;\n if (typeof this.value() === 'string') {\n this.value.set(newRrule.toString());\n } else {\n this.value.set(this.options());\n }\n this._emitAll();\n }\n}\n","<div class=\"ax-rrule-container grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <!-- General -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n <div>\n <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"freq\"\n [items]=\"freqs\"\n [ngModel]=\"options().freq\"\n (ngModelChange)=\"updateOption('freq', $event)\"\n ></ax-selection-list>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"dtstart\"\n [ngModel]=\"options().dtstart\"\n (ngModelChange)=\"updateOption('dtstart', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-datetime-box\n name=\"until\"\n [ngModel]=\"options().until\"\n (ngModelChange)=\"updateOption('until', $event)\"\n ></ax-datetime-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"count\"\n [ngModel]=\"options().count\"\n (ngModelChange)=\"updateOption('count', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-number-box\n name=\"interval\"\n [ngModel]=\"options().interval\"\n (ngModelChange)=\"updateOption('interval', $event)\"\n [minValue]=\"1\"\n ></ax-number-box>\n </div>\n\n <div>\n <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"tzid\"\n [dataSource]=\"timezones\"\n [ngModel]=\"options().tzid\"\n (ngModelChange)=\"updateOption('tzid', $event)\"\n >\n <ax-search-box></ax-search-box>\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Weekday -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"wkst\"\n [items]=\"weekdays\"\n [ngModel]=\"options().wkst\"\n (ngModelChange)=\"updateOption('wkst', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"byweekday\"\n [items]=\"weekdays\"\n multiple=\"true\"\n [ngModel]=\"options().byweekday\"\n (ngModelChange)=\"updateOption('byweekday', $event)\"\n ></ax-selection-list>\n </div>\n </div>\n\n <!-- By Month -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-selection-list\n valueField=\"value\"\n textField=\"text\"\n name=\"bymonth\"\n [items]=\"months\"\n multiple=\"true\"\n [ngModel]=\"options().bymonth\"\n (ngModelChange)=\"updateOption('bymonth', $event)\"\n ></ax-selection-list>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bymonthday\"\n [dataSource]=\"monthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bymonthday\"\n (ngModelChange)=\"updateOption('bymonthday', $event)\"\n >\n </ax-select-box>\n </div>\n <!-- <div>\n <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n <ax-select-box\n name=\"bynmonthday\"\n [dataSource]=\"nmonthdays\"\n multiple=\"true\"\n [ngModel]=\"options().bynmonthday\"\n (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n >\n </ax-select-box>\n </div> -->\n </div>\n\n <!-- By Year -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byyearday\"\n [dataSource]=\"yeardays\"\n multiple=\"true\"\n [ngModel]=\"options().byyearday\"\n (ngModelChange)=\"updateOption('byyearday', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byweekno\"\n [dataSource]=\"weeknos\"\n multiple=\"true\"\n [ngModel]=\"options().byweekno\"\n (ngModelChange)=\"updateOption('byweekno', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- By Time -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byhour\"\n [dataSource]=\"hours\"\n multiple=\"true\"\n [ngModel]=\"options().byhour\"\n (ngModelChange)=\"updateOption('byhour', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"byminute\"\n [dataSource]=\"minutes\"\n multiple=\"true\"\n [ngModel]=\"options().byminute\"\n (ngModelChange)=\"updateOption('byminute', $event)\"\n >\n </ax-select-box>\n </div>\n <div>\n <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysecond\"\n [dataSource]=\"seconds\"\n multiple=\"true\"\n [ngModel]=\"options().bysecond\"\n (ngModelChange)=\"updateOption('bysecond', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n\n <!-- Advanced -->\n <div class=\"flex flex-col gap-4 rounded-md border p-4\">\n <div class=\"text-lg font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n <div>\n <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n <ax-select-box\n name=\"bysetpos\"\n [dataSource]=\"setpos\"\n multiple=\"true\"\n [ngModel]=\"options().bysetpos\"\n (ngModelChange)=\"updateOption('bysetpos', $event)\"\n >\n </ax-select-box>\n </div>\n </div>\n</div>\n\n<div class=\"flex justify-end py-4\">\n <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i10"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;AAIG;MAIU,cAAc,CAAA;AACzB;;;;AAIG;IACH,MAAM,gBAAgB,CAAC,OAAgC,EAAA;;QAErD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,OAAO,CAAC;AACvC,QAAA,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;IAC3B;AAEA;;;;AAIG;IACH,MAAM,eAAe,CAAC,UAAkB,EAAA;;QAEtC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,OAAO,CAAC;AACvC,QAAA,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;IACrC;AAEA;;;;AAIG;IACH,MAAM,aAAa,CAAC,QAAgB,EAAA;;QAElC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,OAAO,CAAC;AACvC,QAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC;AAEA;;;;AAIG;AACH,IAAA,cAAc,CAAC,IAAiB,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;;;AAIG;AACH,IAAA,aAAa,CAAC,IAAiB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AAEA;;;;AAIG;AACH,IAAA,WAAW,CAAC,IAAiB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;AAEA;;;;;AAKG;AACH,IAAA,WAAW,CAAC,IAAiB,EAAE,KAAK,GAAG,GAAG,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACtC;AAEA;;;;;;;AAOG;IACH,eAAe,CAAC,IAAiB,EAAE,KAAW,EAAE,MAAY,EAAE,SAAS,GAAG,KAAK,EAAA;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;IAC/C;AAEA;;;;;;AAMG;AACH,IAAA,cAAc,CAAC,IAAiB,EAAE,IAAU,EAAE,SAAS,GAAG,KAAK,EAAA;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IACrC;AAEA;;;;;;AAMG;AACH,IAAA,aAAa,CAAC,IAAiB,EAAE,IAAU,EAAE,SAAS,GAAG,KAAK,EAAA;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;IACpC;8GAvGW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MC8BY,uBAAuB,CAAA;AAjCpC,IAAA,WAAA,GAAA;AAkCE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAiB;QAC9B,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,GAAG;mFAAC;QAC3B,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,qBAAqB;mFAAC;AAEnC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;QAErC,IAAA,CAAA,KAAK,GAAG,MAAM,CAAqB,IAAI;kFAAC;QACxC,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAgB,IAAI;qFAAC;AAEtC,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;iFAAC;AACxF,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;mFAAC;AAC5F,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;kFAAC;AACxG,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;oFAAC;AAExG,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,YAAW;AACtB,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAChB,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvE;QACF,CAAC;gFAAC;AAYH,IAAA;IAVC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IACrE;8GAvBW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA/BxB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAES,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA7B,QAAQ,wGAAuB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEtD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjCnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BT,EAAA,CAAA;oBAED,OAAO,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,CAAC;AACnE,iBAAA;;;ACvCM,MAAM,KAAK,GAAG;AACnB,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;CAC/B;AAEM,MAAM,QAAQ,GAAG;AACtB,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;CAC/B;AAEM,MAAM,MAAM,GAAG;AACpB,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3B,IAAA,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACzB,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1B,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;CAChC;AAEM,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;AAEpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG;AACxB,IAAA,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;IAC/D,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAC/C;AACM,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3D,MAAM,MAAM,GAAG;AACpB,IAAA,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;IAChE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAChD;;ACjCM,MAAM,cAAc,GAAmB;AAC5C,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,UAAU,EAAE,EAAE;;AAGT,MAAM,YAAY,GAAG;;ACV5B;;;AAGG;MAoBU,gBAAgB,CAAA;AAnB7B,IAAA,WAAA,GAAA;AAoBE;;;AAGG;QACI,IAAA,CAAA,UAAU,GAAG,KAAK,CAAiC,IAAI,kFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAC5E,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU;kFAAC;AAE5C;;AAEG;QACI,IAAA,CAAA,WAAW,GAAG,MAAM,EAAkC;AAE7D;;AAEG;QACI,IAAA,CAAA,WAAW,GAAG,MAAM,EAAsB;AAEjD;;AAEG;QACI,IAAA,CAAA,aAAa,GAAG,MAAM,EAAkB;AAE/C;;AAEG;QACI,IAAA,CAAA,YAAY,GAAG,MAAM,EAAiB;AAE7C;;AAEG;QACI,IAAA,CAAA,UAAU,GAAG,MAAM,EAAiB;QAEjC,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,QAAQ,GAAG,QAAQ;QACnB,IAAA,CAAA,MAAM,GAAG,MAAM;QACf,IAAA,CAAA,SAAS,GAAG,SAAS;QACrB,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,OAAO,GAAG,OAAO;QACjB,IAAA,CAAA,OAAO,GAAG,OAAO;QACjB,IAAA,CAAA,SAAS,GAAG,SAAS;QACrB,IAAA,CAAA,UAAU,GAAG,UAAU;QACvB,IAAA,CAAA,QAAQ,GAAG,QAAQ;QACnB,IAAA,CAAA,OAAO,GAAG,OAAO;QACjB,IAAA,CAAA,MAAM,GAAG,MAAM;AAEf,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAiB,EAAE,GAAG,cAAc,EAAE;oFAAC;QACvD,IAAA,CAAA,KAAK,GAAG,MAAM,CAAqB,IAAI;kFAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI;mFAAC;AACzD,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,IAAI;iFAAC;;AAGvD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;QACrC,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,WAAW,GAAG,CAAC;AAEvB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,MAAK;AACzB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;gBACxB;YACF;AACA,YAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QACvC,CAAC;yFAAC;AAkIH,IAAA;AAzIC,IAAA,YAAY;AASJ,IAAA,sBAAsB,CAAC,QAAwC,EAAA;AACrE,QAAA,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,WAAW;;AAEhC,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzE;AAEQ,IAAA,MAAM,mBAAmB,CAAC,QAAwC,EAAE,KAAa,EAAA;AACvF,QAAA,IAAI;AACF,YAAA,IAAI,KAAkB;AACtB,YAAA,IAAI,UAA0B;YAE9B,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;oBAChC,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC;AACzD,oBAAA,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;gBACjE;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC1D,oBAAA,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAoB;gBACrD;YACF;iBAAO;gBACL,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC;AAC7D,gBAAA,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC;YACrE;;AAGA,YAAA,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW;gBAAE;YAEhC,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,CAAC,CAAC;QACJ;AAAE,QAAA,MAAM;;QAER;IACF;IAEQ,QAAQ,GAAA;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC;IAEQ,qBAAqB,CAAI,CAAI,EAAE,CAAI,EAAA;QACzC,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI;AACxB,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC;;AAE1C,QAAA,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;;AAE9E,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACxC,YAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AAAE,gBAAA,OAAO,KAAK;AACvC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAAE,oBAAA,OAAO,KAAK;YACjC;AACA,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,KAAK;IACd;IAEQ,aAAa,CAAC,OAAuB,EAAE,IAAY,EAAA;AACzD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE;QACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACtC,YAAA,OAAO,CAAC,OAAO,GAAI,IAAI,CAAC,OAAO,EAAE,CAAC,OAAuB,IAAI,IAAI,IAAI,EAAE;QACzE;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,OAAO,CAAC,MAAM,GAAG,EAAE;QACrB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AACvC,YAAA,OAAO,CAAC,QAAQ,GAAG,EAAE;QACvB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AACvC,YAAA,OAAO,CAAC,QAAQ,GAAG,EAAE;QACvB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACtC,YAAA,OAAO,CAAC,OAAO,GAAG,EAAE;QACtB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACzC,YAAA,OAAO,CAAC,UAAU,GAAG,EAAE;QACzB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,SAAS,GAAG,EAAE;QACxB;QACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAqB;AACtD,YAAA,MAAM,YAAY,GAAG,IAAI,EAAE,cAAc,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ;YAC1E,OAAO,CAAC,IAAI,GAAG,SAAS,IAAI,YAAY,IAAI,IAAI;QAClD;AACA,QAAA,OAAO,OAAO;IAChB;AAEA;;;;AAIG;AACH,IAAA,MAAM,YAAY,CAAiC,GAAM,EAAE,KAAwB,EAAA;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAsB;AACxD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAyB,EAAE,KAAuB,CAAC;YAAE;QACpF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;AAC1D,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzE,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAExB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC;aAAO;YACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC;QACA,IAAI,CAAC,QAAQ,EAAE;IACjB;AAEA;;AAEG;AACH,IAAA,MAAM,YAAY,GAAA;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AACvC,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzE,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAExB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC;aAAO;YACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC;QACA,IAAI,CAAC,QAAQ,EAAE;IACjB;8GAhMW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpD7B,+4OA4NA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrLI,YAAY,8BACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,qBAAqB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACrB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,aAAa,gKACb,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGV,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnB5B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,UAAU,EAAA,OAAA,EAGX;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,qBAAqB;wBACrB,iBAAiB;wBACjB,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,iBAAiB;wBACjB,cAAc;wBACd,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,+4OAAA,EAAA;;;AElDH;;AAEG;;"}
|