@acorex/components 22.2.29 → 22.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/fesm2022/acorex-components-button.mjs +182 -39
  2. package/fesm2022/acorex-components-button.mjs.map +1 -1
  3. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-CObX5Gdf.mjs → acorex-components-conversation-acorex-components-conversation-CkIO-uFA.mjs} +25 -6
  4. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CkIO-uFA.mjs.map +1 -0
  5. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-BlGupvO5.mjs → acorex-components-conversation-picker-rename-file-dialog.component-NqmU5x5o.mjs} +2 -2
  6. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-BlGupvO5.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-NqmU5x5o.mjs.map} +1 -1
  7. package/fesm2022/acorex-components-conversation.mjs +1 -1
  8. package/fesm2022/acorex-components-dropdown-button.mjs +2 -1
  9. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  10. package/fesm2022/acorex-components-dropdown.mjs +5 -0
  11. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  12. package/fesm2022/acorex-components-popover.mjs +47 -6
  13. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  14. package/fesm2022/acorex-components-popup.mjs +20 -53
  15. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  16. package/package.json +3 -3
  17. package/types/acorex-components-button.d.ts +23 -6
  18. package/types/acorex-components-conversation.d.ts +9 -3
  19. package/types/acorex-components-dropdown-button.d.ts +2 -1
  20. package/types/acorex-components-dropdown.d.ts +5 -0
  21. package/types/acorex-components-popover.d.ts +8 -0
  22. package/types/acorex-components-popup.d.ts +5 -14
  23. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CObX5Gdf.mjs.map +0 -1
@@ -9,7 +9,7 @@ import { AsyncPipe } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
10
  import { input, model, EventEmitter, effect, ViewEncapsulation, Component } from '@angular/core';
11
11
  import { FormsModule } from '@angular/forms';
12
- import { i as isValidPickerFileName } from './acorex-components-conversation-acorex-components-conversation-CObX5Gdf.mjs';
12
+ import { i as isValidPickerFileName } from './acorex-components-conversation-acorex-components-conversation-CkIO-uFA.mjs';
13
13
 
14
14
  class AXConversationPickerRenameFileDialogComponent {
15
15
  constructor() {
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
62
62
  }], ctorParameters: () => [], propDecorators: { initialName: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialName", required: true }] }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }, { type: i0.Output, args: ["fileNameChange"] }] } });
63
63
 
64
64
  export { AXConversationPickerRenameFileDialogComponent };
65
- //# sourceMappingURL=acorex-components-conversation-picker-rename-file-dialog.component-BlGupvO5.mjs.map
65
+ //# sourceMappingURL=acorex-components-conversation-picker-rename-file-dialog.component-NqmU5x5o.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-conversation-picker-rename-file-dialog.component-BlGupvO5.mjs","sources":["../../../../packages/components/conversation/src/lib/plugins/composer/components/shared/picker-rename-file-dialog.component.ts","../../../../packages/components/conversation/src/lib/plugins/composer/components/shared/picker-rename-file-dialog.component.html"],"sourcesContent":["import { AXClosableComponent, AXComponentCloseEvent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, EventEmitter, ViewEncapsulation, effect, input, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { isValidPickerFileName } from './picker-file.utils';\n\n@Component({\n selector: 'ax-conversation-picker-rename-file-dialog',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AsyncPipe,\n FormsModule,\n AXButtonComponent,\n AXDecoratorGenericComponent,\n AXTextBoxModule,\n AXTranslationModule,\n ],\n providers: [{ provide: AXClosableComponent, useExisting: AXConversationPickerRenameFileDialogComponent }],\n templateUrl: './picker-rename-file-dialog.component.html',\n styleUrl: './picker-rename-file-dialog.component.css',\n})\nexport class AXConversationPickerRenameFileDialogComponent {\n readonly initialName = input.required<string>();\n readonly fileName = model('');\n\n constructor() {\n effect(() => {\n this.fileName.set(this.initialName());\n });\n }\n\n canSave(): boolean {\n const next = this.fileName().trim();\n return isValidPickerFileName(next) && next !== this.initialName().trim();\n }\n\n save(): void {\n if (!this.canSave()) {\n return;\n }\n\n const event = new AXComponentCloseEvent();\n event.component = this;\n event.data = this.fileName().trim();\n this.onClosed.emit(event);\n }\n\n cancel(): void {\n const event = new AXComponentCloseEvent();\n event.component = this;\n this.onClosed.emit(event);\n }\n\n onKeyDown(event: { nativeEvent?: KeyboardEvent } | undefined): void {\n if (event?.nativeEvent?.key === 'Enter') {\n event.nativeEvent.preventDefault();\n this.save();\n }\n }\n\n readonly onClosed = new EventEmitter<AXComponentCloseEvent>();\n}\n","<div class=\"ax-conversation-picker-rename-dialog\">\n <div class=\"dialog-content\">\n <ax-text-box\n [(value)]=\"fileName\"\n [look]=\"'outline'\"\n [placeholder]=\"'@acorex:chat.pickers.files.rename-placeholder' | translate | async\"\n (onKeyDown)=\"onKeyDown($event)\"\n />\n </div>\n\n <ax-footer class=\"dialog-footer\">\n <ax-suffix>\n <ax-button\n [text]=\"'@acorex:chat.actions.cancel' | translate | async\"\n [look]=\"'solid'\"\n (onClick)=\"cancel()\"\n />\n <ax-button\n [text]=\"'@acorex:chat.actions.save' | translate | async\"\n [look]=\"'solid'\"\n [color]=\"'primary'\"\n [disabled]=\"!canSave()\"\n (onClick)=\"save()\"\n />\n </ax-suffix>\n </ax-footer>\n</div>\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-conversation-picker-rename-file-dialog.component-NqmU5x5o.mjs","sources":["../../../../packages/components/conversation/src/lib/plugins/composer/components/shared/picker-rename-file-dialog.component.ts","../../../../packages/components/conversation/src/lib/plugins/composer/components/shared/picker-rename-file-dialog.component.html"],"sourcesContent":["import { AXClosableComponent, AXComponentCloseEvent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, EventEmitter, ViewEncapsulation, effect, input, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { isValidPickerFileName } from './picker-file.utils';\n\n@Component({\n selector: 'ax-conversation-picker-rename-file-dialog',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AsyncPipe,\n FormsModule,\n AXButtonComponent,\n AXDecoratorGenericComponent,\n AXTextBoxModule,\n AXTranslationModule,\n ],\n providers: [{ provide: AXClosableComponent, useExisting: AXConversationPickerRenameFileDialogComponent }],\n templateUrl: './picker-rename-file-dialog.component.html',\n styleUrl: './picker-rename-file-dialog.component.css',\n})\nexport class AXConversationPickerRenameFileDialogComponent {\n readonly initialName = input.required<string>();\n readonly fileName = model('');\n\n constructor() {\n effect(() => {\n this.fileName.set(this.initialName());\n });\n }\n\n canSave(): boolean {\n const next = this.fileName().trim();\n return isValidPickerFileName(next) && next !== this.initialName().trim();\n }\n\n save(): void {\n if (!this.canSave()) {\n return;\n }\n\n const event = new AXComponentCloseEvent();\n event.component = this;\n event.data = this.fileName().trim();\n this.onClosed.emit(event);\n }\n\n cancel(): void {\n const event = new AXComponentCloseEvent();\n event.component = this;\n this.onClosed.emit(event);\n }\n\n onKeyDown(event: { nativeEvent?: KeyboardEvent } | undefined): void {\n if (event?.nativeEvent?.key === 'Enter') {\n event.nativeEvent.preventDefault();\n this.save();\n }\n }\n\n readonly onClosed = new EventEmitter<AXComponentCloseEvent>();\n}\n","<div class=\"ax-conversation-picker-rename-dialog\">\n <div class=\"dialog-content\">\n <ax-text-box\n [(value)]=\"fileName\"\n [look]=\"'outline'\"\n [placeholder]=\"'@acorex:chat.pickers.files.rename-placeholder' | translate | async\"\n (onKeyDown)=\"onKeyDown($event)\"\n />\n </div>\n\n <ax-footer class=\"dialog-footer\">\n <ax-suffix>\n <ax-button\n [text]=\"'@acorex:chat.actions.cancel' | translate | async\"\n [look]=\"'solid'\"\n (onClick)=\"cancel()\"\n />\n <ax-button\n [text]=\"'@acorex:chat.actions.save' | translate | async\"\n [look]=\"'solid'\"\n [color]=\"'primary'\"\n [disabled]=\"!canSave()\"\n (onClick)=\"save()\"\n />\n </ax-suffix>\n </ax-footer>\n</div>\n"],"names":["i1","i2"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { A as AXConversationApi, a as AXConversationApiLoggerService, b as AXConversationAudioAttachmentComponent, c as AXConversationAudioFileTypeProvider, d as AXConversationAudioPickerComponent, e as AXConversationAudioRendererComponent, f as AXConversationAvatarComponent, g as AXConversationAvatarPickerComponent, h as AXConversationBaseRegistry, j as AXConversationComposerActionRegistry, k as AXConversationComposerComponent, l as AXConversationComposerFileTypesProvider, m as AXConversationComposerGenerationStateService, n as AXConversationComposerPopupComponent, o as AXConversationComposerService, p as AXConversationComposerTabRegistry, q as AXConversationContainerComponent, r as AXConversationContainerDirective, s as AXConversationDateUtilsService, t as AXConversationDeleteDialogComponent, u as AXConversationEmojiTabComponent, v as AXConversationErrorHandlerService, w as AXConversationFallbackRendererComponent, x as AXConversationFileAttachmentComponent, y as AXConversationFileFileTypeProvider, z as AXConversationFilePickerComponent, B as AXConversationFileRendererComponent, C as AXConversationForwardMessageDialogComponent, D as AXConversationImageAttachmentComponent, E as AXConversationImageFileTypeProvider, F as AXConversationImagePickerComponent, G as AXConversationImageRendererComponent, H as AXConversationInfiniteScrollDirective, I as AXConversationInfoBarActionRegistry, J as AXConversationInfoBarComponent, K as AXConversationInfoBarSearchComponent, L as AXConversationInfoBarService, M as AXConversationItemActionRegistry, N as AXConversationLocationPickerComponent, O as AXConversationLocationRendererComponent, P as AXConversationMediaPlaybackInfoBarBannerComponent, Q as AXConversationMessageActionRegistry, R as AXConversationMessageApi, S as AXConversationMessageListComponent, T as AXConversationMessageListNoActiveDefaultComponent, U as AXConversationMessageListService, V as AXConversationMessageRendererCopyHostComponent, W as AXConversationMessageRendererRegistry, X as AXConversationMessageRendererStateComponent, Y as AXConversationMessageUtilsService, Z as AXConversationModule, _ as AXConversationNewDialogComponent, $ as AXConversationPickerCaptionComponent, a0 as AXConversationPickerEmptyComponent, a1 as AXConversationPickerFooterComponent, a2 as AXConversationPickerHeaderComponent, a3 as AXConversationPickerOptionsComponent, a4 as AXConversationPickerShellComponent, a5 as AXConversationPickerToolbarComponent, a6 as AXConversationRealtimeApi, a7 as AXConversationRegistryComponentOutletComponent, a8 as AXConversationRegistryService, a9 as AXConversationService, aa as AXConversationSidebarComponent, ab as AXConversationSidebarService, ac as AXConversationStickerRendererComponent, ad as AXConversationStickerTabComponent, ae as AXConversationSystemRendererComponent, af as AXConversationTabRegistry, ag as AXConversationTextRendererComponent, ah as AXConversationUserApi, ai as AXConversationVideoAttachmentComponent, aj as AXConversationVideoFileTypeProvider, ak as AXConversationVideoPickerComponent, al as AXConversationVideoRendererComponent, am as AXConversationVoiceFileTypeProvider, an as AXConversationVoiceRecorderComponent, ao as AXConversationVoiceRendererComponent, ap as AX_CONVERSATION_AUDIO_CATALOG, aq as AX_CONVERSATION_AUDIO_PRESENTATION, ar as AX_CONVERSATION_AUDIO_RENDERER, as as AX_CONVERSATION_BUILTIN_COMPOSER_TABS, at as AX_CONVERSATION_COMPOSER_AUDIO_ACTION, au as AX_CONVERSATION_COMPOSER_EMOJI_ACTION, av as AX_CONVERSATION_COMPOSER_EMOJI_TAB, aw as AX_CONVERSATION_COMPOSER_FILE_ACTION, ax as AX_CONVERSATION_COMPOSER_IMAGE_ACTION, ay as AX_CONVERSATION_COMPOSER_LOCATION_ACTION, az as AX_CONVERSATION_COMPOSER_STICKER_TAB, aA as AX_CONVERSATION_COMPOSER_VIDEO_ACTION, aB as AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, aC as AX_CONVERSATION_CONFIG, aD as AX_CONVERSATION_CONNECTION_ERRORS, aE as AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, aF as AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, aG as AX_CONVERSATION_DEFAULT_COMPOSER_TABS, aH as AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, aI as AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, aJ as AX_CONVERSATION_DEFAULT_GROUP_ICON, aK as AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, aL as AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, aM as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, aN as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, aO as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, aP as AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, aQ as AX_CONVERSATION_DEFAULT_ROOM_PREFERENCES, aR as AX_CONVERSATION_DEFAULT_USER_ICON, aS as AX_CONVERSATION_ERRORS, aT as AX_CONVERSATION_ERROR_HANDLER_CONFIG, aU as AX_CONVERSATION_ERROR_MESSAGES, aV as AX_CONVERSATION_FALLBACK_RENDERER, aW as AX_CONVERSATION_FILE_CATALOG, aX as AX_CONVERSATION_FILE_ERRORS, aY as AX_CONVERSATION_FILE_PRESENTATION, aZ as AX_CONVERSATION_FILE_RENDERER, a_ as AX_CONVERSATION_FILE_TYPES_READY, a$ as AX_CONVERSATION_IMAGE_CATALOG, b0 as AX_CONVERSATION_IMAGE_PRESENTATION, b1 as AX_CONVERSATION_IMAGE_RENDERER, b2 as AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, b3 as AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, b4 as AX_CONVERSATION_INFO_BAR_DELETE_ACTION, b5 as AX_CONVERSATION_INFO_BAR_DIVIDER, b6 as AX_CONVERSATION_INFO_BAR_MUTE_ACTION, b7 as AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, b8 as AX_CONVERSATION_ITEM_BLOCK_ACTION, b9 as AX_CONVERSATION_ITEM_DELETE_ACTION, ba as AX_CONVERSATION_ITEM_DIVIDER, bb as AX_CONVERSATION_ITEM_MARK_READ_ACTION, bc as AX_CONVERSATION_ITEM_MUTE_ACTION, bd as AX_CONVERSATION_ITEM_PIN_ACTION, be as AX_CONVERSATION_JUMBO_EMOJI_MAX, bf as AX_CONVERSATION_LOCATION_ERRORS, bg as AX_CONVERSATION_LOCATION_RENDERER, bh as AX_CONVERSATION_MESSAGE_DELETE_ACTION, bi as AX_CONVERSATION_MESSAGE_EDIT_ACTION, bj as AX_CONVERSATION_MESSAGE_ERRORS, bk as AX_CONVERSATION_MESSAGE_FORWARD_ACTION, bl as AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, bm as AX_CONVERSATION_MESSAGE_REPLY_ACTION, bn as AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, bo as AX_CONVERSATION_PEER_AVATAR_TYPES, bp as AX_CONVERSATION_REGISTRY_CONFIG, bq as AX_CONVERSATION_STICKER_API_KEY, br as AX_CONVERSATION_STICKER_RENDERER, bs as AX_CONVERSATION_SYSTEM_RENDERER, bt as AX_CONVERSATION_TAB_ALL, bu as AX_CONVERSATION_TAB_ARCHIVED, bv as AX_CONVERSATION_TAB_BOT, bw as AX_CONVERSATION_TAB_CHANNELS, bx as AX_CONVERSATION_TAB_GROUPS, by as AX_CONVERSATION_TAB_PRIVATE, bz as AX_CONVERSATION_TAB_UNREAD, bA as AX_CONVERSATION_TEXT_RENDERER, bB as AX_CONVERSATION_URL_ERRORS, bC as AX_CONVERSATION_USER_AVATAR_COMPONENT, bD as AX_CONVERSATION_USER_ERRORS, bE as AX_CONVERSATION_VIDEO_CATALOG, bF as AX_CONVERSATION_VIDEO_PRESENTATION, bG as AX_CONVERSATION_VIDEO_RENDERER, bH as AX_CONVERSATION_VOICE_CATALOG, bI as AX_CONVERSATION_VOICE_PRESENTATION, bJ as AX_CONVERSATION_VOICE_RENDERER, bK as AX_DEFAULT_CONVERSATION_CONFIG, bL as abortPickerUploads, bM as applyAudioLocalPreview, bN as applyFileLocalPreview, bO as applyLocalPreview, bP as applyVideoLocalPreview, bQ as applyVoiceLocalPreview, bR as audioItemFromUpload, bS as bindMediaRendererContentState, bT as buildMediaGalleryTiles, bU as canShowRendererContentError, bV as cleanupPickerUploads, bW as conversationAudioUtilities, bX as conversationFileUtilities, bY as conversationImageUtilities, bZ as conversationVideoUtilities, b_ as conversationVoiceUtilities, b$ as copyWithFileTypeFallback, c0 as countLoneEmojis, c1 as createConversationAudioFileType, c2 as createConversationFileFileType, c3 as createConversationImageFileType, c4 as createConversationVideoFileType, c5 as createConversationVoiceFileType, c6 as createLocalPreviewUrl, c7 as createObjectUrl, c8 as createPickerDragHandlers, c9 as createPickerUploadItemId, ca as createResolvedMediaUrlSignal, cb as deleteUploadedPickerMedia, cc as dismissComposerPickerHost, cd as ensureConversationFileCatalogRegistered, ce as fetchConversationMediaPage, cf as fileItemAsAudioMedia, cg as fileItemFromUpload, ch as filesFromClipboardEvent, ci as filterMessagesByMediaCategory, cj as filterSupplementalInfoPanelMessages, ck as findExistingPrivateConversation, cl as formatDuration, cm as formatErrorMessage, cn as formatFileByteSize, co as formatFileSize, cp as formatMediaDuration, cq as formatPickerValidationMessage, cr as getActiveComposerPickerPasteHandler, cs as getConversationMediaCategories, ct as getConversationProfileFields, cu as getErrorMessage, cv as getMessageAudioItems, cw as getMessageVideoItems, cx as getPickerCancelUploadLabel, cy as getPrivatePeerParticipant, cz as hasRegistryComponent, cA as inferFileExtensionHintFromMessage, cB as isAttachmentListCategory, cC as isComposerTabEnabled, cD as isConversationReactionsEnabled, cE as isConversationRoomCreator, cF as isGenericPrivateConversationTitle, cG as isGridMediaCategory, cH as isGroupLikeConversation, cI as isJumboEmojiText, cJ as isJumboEmojiTextMessage, cK as isMessageDeliveryPending, cL as isMessageListThemeBackground, cM as isMessageVisibleAfterHistoryCutoff, cN as isNonPersistableMediaUrl, cO as isPickerItemReadyToSend, cP as isPlainChromeMessage, cQ as isSameMessageListBackground, cR as isUploadAborted, cS as limitFilesToCapacity, cT as listTextGraphemes, cU as mediaCopyText, cV as mergeAudioUploadResult, cW as mergeFileUploadResult, cX as mergeInfoPanelMessages, cY as mergeUploadResult, cZ as mergeVideoUploadResult, c_ as mergeVoiceUploadResult, c$ as mergeWithDefaults, d0 as messageContainsLink, d1 as normalizeAudioPayload, d2 as normalizeFilePayload, d3 as normalizeImagePayload, d4 as normalizeMessageListBackgroundValue, d5 as normalizeVideoPayload, d6 as notifyMaxFilesCapacityExceeded, d7 as notifyPickerValidationErrors, d8 as openWithFileType, d9 as pickDisplayMediaUrl, da as pickEarliestJoinedParticipant, db as pickerItemToMediaReference, dc as pickerItemToUploadResult, dd as probeImageDimensions, de as probeVideoMedia, df as provideConversation, dg as provideConversationComposerFileTypes, dh as provideConversationFileCatalog, di as registerComposerPickerPasteHandler, dj as reportMediaLoadError, dk as resolveComposerMaxFiles, dl as resolveConversationAvatarDisplay, dm as resolveConversationComposerTabs, dn as resolveConversationForViewer, dp as resolveConversationMessageFileType, dq as resolveConversationPeerParticipant, dr as resolveConversationPeerUserId, ds as resolveConversationTitleForViewer, dt as resolveGalleryImageUrl, du as resolveImageDisplayUrl, dv as resolveMessageChrome, dw as resolveMessageListBackgroundRaw, dx as resolveMessageListBackgroundStyle, dy as resolveParticipantProfile, dz as resolvePersistableMediaUrl, dA as resolvePersistedThumbnailUrl, dB as resolvePrivatePeerParticipant, dC as resolvePrivatePeerUserId, dD as resolveUserAvatarDisplay, dE as resolveVideoThumbnailUrl, dF as revokeObjectUrl, dG as revokePickerBlobPreviews, dH as sanitizeInput, dI as shouldUseUserAvatarForConversation, dJ as sortUsersForForward, dK as syncPlaybackInfoBarBanner, dL as toMediaItemUploaderReference, dM as toUploaderReference, dN as uploadPickerFile, dO as usesDefaultMessageListWallpaper, dP as validateConversationId, dQ as validateEmail, dR as validateLatitude, dS as validateLongitude, dT as validateMessagePayload, dU as validateMessageText, dV as validateMessageType, dW as validateUrl, dX as validateUserId, dY as validateUserIds, dZ as videoItemFromUpload } from './acorex-components-conversation-acorex-components-conversation-CObX5Gdf.mjs';
1
+ export { A as AXConversationApi, a as AXConversationApiLoggerService, b as AXConversationAudioAttachmentComponent, c as AXConversationAudioFileTypeProvider, d as AXConversationAudioPickerComponent, e as AXConversationAudioRendererComponent, f as AXConversationAvatarComponent, g as AXConversationAvatarPickerComponent, h as AXConversationBaseRegistry, j as AXConversationComposerActionRegistry, k as AXConversationComposerComponent, l as AXConversationComposerFileTypesProvider, m as AXConversationComposerGenerationStateService, n as AXConversationComposerPopupComponent, o as AXConversationComposerService, p as AXConversationComposerTabRegistry, q as AXConversationContainerComponent, r as AXConversationContainerDirective, s as AXConversationDateUtilsService, t as AXConversationDeleteDialogComponent, u as AXConversationEmojiTabComponent, v as AXConversationErrorHandlerService, w as AXConversationFallbackRendererComponent, x as AXConversationFileAttachmentComponent, y as AXConversationFileFileTypeProvider, z as AXConversationFilePickerComponent, B as AXConversationFileRendererComponent, C as AXConversationForwardMessageDialogComponent, D as AXConversationImageAttachmentComponent, E as AXConversationImageFileTypeProvider, F as AXConversationImagePickerComponent, G as AXConversationImageRendererComponent, H as AXConversationInfiniteScrollDirective, I as AXConversationInfoBarActionRegistry, J as AXConversationInfoBarComponent, K as AXConversationInfoBarSearchComponent, L as AXConversationInfoBarService, M as AXConversationItemActionRegistry, N as AXConversationLocationPickerComponent, O as AXConversationLocationRendererComponent, P as AXConversationMediaPlaybackInfoBarBannerComponent, Q as AXConversationMessageActionRegistry, R as AXConversationMessageApi, S as AXConversationMessageListComponent, T as AXConversationMessageListNoActiveDefaultComponent, U as AXConversationMessageListService, V as AXConversationMessageRendererCopyHostComponent, W as AXConversationMessageRendererRegistry, X as AXConversationMessageRendererStateComponent, Y as AXConversationMessageUtilsService, Z as AXConversationModule, _ as AXConversationNewDialogComponent, $ as AXConversationPickerCaptionComponent, a0 as AXConversationPickerEmptyComponent, a1 as AXConversationPickerFooterComponent, a2 as AXConversationPickerHeaderComponent, a3 as AXConversationPickerOptionsComponent, a4 as AXConversationPickerShellComponent, a5 as AXConversationPickerToolbarComponent, a6 as AXConversationRealtimeApi, a7 as AXConversationRegistryComponentOutletComponent, a8 as AXConversationRegistryService, a9 as AXConversationService, aa as AXConversationSidebarComponent, ab as AXConversationSidebarService, ac as AXConversationStickerRendererComponent, ad as AXConversationStickerTabComponent, ae as AXConversationSystemRendererComponent, af as AXConversationTabRegistry, ag as AXConversationTextRendererComponent, ah as AXConversationUserApi, ai as AXConversationVideoAttachmentComponent, aj as AXConversationVideoFileTypeProvider, ak as AXConversationVideoPickerComponent, al as AXConversationVideoRendererComponent, am as AXConversationVoiceFileTypeProvider, an as AXConversationVoiceRecorderComponent, ao as AXConversationVoiceRendererComponent, ap as AX_CONVERSATION_AUDIO_CATALOG, aq as AX_CONVERSATION_AUDIO_PRESENTATION, ar as AX_CONVERSATION_AUDIO_RENDERER, as as AX_CONVERSATION_BUILTIN_COMPOSER_TABS, at as AX_CONVERSATION_COMPOSER_AUDIO_ACTION, au as AX_CONVERSATION_COMPOSER_EMOJI_ACTION, av as AX_CONVERSATION_COMPOSER_EMOJI_TAB, aw as AX_CONVERSATION_COMPOSER_FILE_ACTION, ax as AX_CONVERSATION_COMPOSER_IMAGE_ACTION, ay as AX_CONVERSATION_COMPOSER_LOCATION_ACTION, az as AX_CONVERSATION_COMPOSER_STICKER_TAB, aA as AX_CONVERSATION_COMPOSER_VIDEO_ACTION, aB as AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, aC as AX_CONVERSATION_CONFIG, aD as AX_CONVERSATION_CONNECTION_ERRORS, aE as AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, aF as AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, aG as AX_CONVERSATION_DEFAULT_COMPOSER_TABS, aH as AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, aI as AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, aJ as AX_CONVERSATION_DEFAULT_GROUP_ICON, aK as AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, aL as AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, aM as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, aN as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, aO as AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, aP as AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, aQ as AX_CONVERSATION_DEFAULT_ROOM_PREFERENCES, aR as AX_CONVERSATION_DEFAULT_USER_ICON, aS as AX_CONVERSATION_ERRORS, aT as AX_CONVERSATION_ERROR_HANDLER_CONFIG, aU as AX_CONVERSATION_ERROR_MESSAGES, aV as AX_CONVERSATION_FALLBACK_RENDERER, aW as AX_CONVERSATION_FILE_CATALOG, aX as AX_CONVERSATION_FILE_ERRORS, aY as AX_CONVERSATION_FILE_PRESENTATION, aZ as AX_CONVERSATION_FILE_RENDERER, a_ as AX_CONVERSATION_FILE_TYPES_READY, a$ as AX_CONVERSATION_IMAGE_CATALOG, b0 as AX_CONVERSATION_IMAGE_PRESENTATION, b1 as AX_CONVERSATION_IMAGE_RENDERER, b2 as AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, b3 as AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, b4 as AX_CONVERSATION_INFO_BAR_DELETE_ACTION, b5 as AX_CONVERSATION_INFO_BAR_DIVIDER, b6 as AX_CONVERSATION_INFO_BAR_MUTE_ACTION, b7 as AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, b8 as AX_CONVERSATION_ITEM_BLOCK_ACTION, b9 as AX_CONVERSATION_ITEM_DELETE_ACTION, ba as AX_CONVERSATION_ITEM_DIVIDER, bb as AX_CONVERSATION_ITEM_MARK_READ_ACTION, bc as AX_CONVERSATION_ITEM_MUTE_ACTION, bd as AX_CONVERSATION_ITEM_PIN_ACTION, be as AX_CONVERSATION_JUMBO_EMOJI_MAX, bf as AX_CONVERSATION_LOCATION_ERRORS, bg as AX_CONVERSATION_LOCATION_RENDERER, bh as AX_CONVERSATION_MESSAGE_DELETE_ACTION, bi as AX_CONVERSATION_MESSAGE_EDIT_ACTION, bj as AX_CONVERSATION_MESSAGE_ERRORS, bk as AX_CONVERSATION_MESSAGE_FORWARD_ACTION, bl as AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, bm as AX_CONVERSATION_MESSAGE_REPLY_ACTION, bn as AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, bo as AX_CONVERSATION_PEER_AVATAR_TYPES, bp as AX_CONVERSATION_REGISTRY_CONFIG, bq as AX_CONVERSATION_STICKER_API_KEY, br as AX_CONVERSATION_STICKER_RENDERER, bs as AX_CONVERSATION_SYSTEM_RENDERER, bt as AX_CONVERSATION_TAB_ALL, bu as AX_CONVERSATION_TAB_ARCHIVED, bv as AX_CONVERSATION_TAB_BOT, bw as AX_CONVERSATION_TAB_CHANNELS, bx as AX_CONVERSATION_TAB_GROUPS, by as AX_CONVERSATION_TAB_PRIVATE, bz as AX_CONVERSATION_TAB_UNREAD, bA as AX_CONVERSATION_TEXT_RENDERER, bB as AX_CONVERSATION_URL_ERRORS, bC as AX_CONVERSATION_USER_AVATAR_COMPONENT, bD as AX_CONVERSATION_USER_ERRORS, bE as AX_CONVERSATION_VIDEO_CATALOG, bF as AX_CONVERSATION_VIDEO_PRESENTATION, bG as AX_CONVERSATION_VIDEO_RENDERER, bH as AX_CONVERSATION_VOICE_CATALOG, bI as AX_CONVERSATION_VOICE_PRESENTATION, bJ as AX_CONVERSATION_VOICE_RENDERER, bK as AX_DEFAULT_CONVERSATION_CONFIG, bL as abortPickerUploads, bM as applyAudioLocalPreview, bN as applyFileLocalPreview, bO as applyLocalPreview, bP as applyVideoLocalPreview, bQ as applyVoiceLocalPreview, bR as audioItemFromUpload, bS as bindMediaRendererContentState, bT as buildMediaGalleryTiles, bU as canShowRendererContentError, bV as cleanupPickerUploads, bW as conversationAudioUtilities, bX as conversationFileUtilities, bY as conversationImageUtilities, bZ as conversationVideoUtilities, b_ as conversationVoiceUtilities, b$ as copyWithFileTypeFallback, c0 as countLoneEmojis, c1 as createConversationAudioFileType, c2 as createConversationFileFileType, c3 as createConversationImageFileType, c4 as createConversationVideoFileType, c5 as createConversationVoiceFileType, c6 as createLocalPreviewUrl, c7 as createObjectUrl, c8 as createPickerDragHandlers, c9 as createPickerUploadItemId, ca as createResolvedMediaUrlSignal, cb as deleteUploadedPickerMedia, cc as dismissComposerPickerHost, cd as ensureConversationFileCatalogRegistered, ce as fetchConversationMediaPage, cf as fileItemAsAudioMedia, cg as fileItemFromUpload, ch as filesFromClipboardEvent, ci as filterMessagesByMediaCategory, cj as filterSupplementalInfoPanelMessages, ck as findExistingPrivateConversation, cl as formatDuration, cm as formatErrorMessage, cn as formatFileByteSize, co as formatFileSize, cp as formatMediaDuration, cq as formatPickerValidationMessage, cr as getActiveComposerPickerPasteHandler, cs as getConversationMediaCategories, ct as getConversationProfileFields, cu as getErrorMessage, cv as getMessageAudioItems, cw as getMessageVideoItems, cx as getPickerCancelUploadLabel, cy as getPrivatePeerParticipant, cz as hasRegistryComponent, cA as inferFileExtensionHintFromMessage, cB as isAttachmentListCategory, cC as isComposerTabEnabled, cD as isConversationReactionsEnabled, cE as isConversationRoomCreator, cF as isGenericPrivateConversationTitle, cG as isGridMediaCategory, cH as isGroupLikeConversation, cI as isJumboEmojiText, cJ as isJumboEmojiTextMessage, cK as isMessageDeliveryPending, cL as isMessageListThemeBackground, cM as isMessageVisibleAfterHistoryCutoff, cN as isNonPersistableMediaUrl, cO as isPickerItemReadyToSend, cP as isPlainChromeMessage, cQ as isSameMessageListBackground, cR as isUploadAborted, cS as limitFilesToCapacity, cT as listTextGraphemes, cU as mediaCopyText, cV as mergeAudioUploadResult, cW as mergeFileUploadResult, cX as mergeInfoPanelMessages, cY as mergeUploadResult, cZ as mergeVideoUploadResult, c_ as mergeVoiceUploadResult, c$ as mergeWithDefaults, d0 as messageContainsLink, d1 as normalizeAudioPayload, d2 as normalizeFilePayload, d3 as normalizeImagePayload, d4 as normalizeMessageListBackgroundValue, d5 as normalizeVideoPayload, d6 as notifyMaxFilesCapacityExceeded, d7 as notifyPickerValidationErrors, d8 as openWithFileType, d9 as pickDisplayMediaUrl, da as pickEarliestJoinedParticipant, db as pickerItemToMediaReference, dc as pickerItemToUploadResult, dd as probeImageDimensions, de as probeVideoMedia, df as provideConversation, dg as provideConversationComposerFileTypes, dh as provideConversationFileCatalog, di as registerComposerPickerPasteHandler, dj as reportMediaLoadError, dk as resolveComposerMaxFiles, dl as resolveConversationAvatarDisplay, dm as resolveConversationComposerTabs, dn as resolveConversationForViewer, dp as resolveConversationMessageFileType, dq as resolveConversationPeerParticipant, dr as resolveConversationPeerUserId, ds as resolveConversationTitleForViewer, dt as resolveGalleryImageUrl, du as resolveImageDisplayUrl, dv as resolveMessageChrome, dw as resolveMessageListBackgroundRaw, dx as resolveMessageListBackgroundStyle, dy as resolveParticipantProfile, dz as resolvePersistableMediaUrl, dA as resolvePersistedThumbnailUrl, dB as resolvePrivatePeerParticipant, dC as resolvePrivatePeerUserId, dD as resolveUserAvatarDisplay, dE as resolveVideoThumbnailUrl, dF as revokeObjectUrl, dG as revokePickerBlobPreviews, dH as sanitizeInput, dI as shouldUseUserAvatarForConversation, dJ as sortUsersForForward, dK as syncPlaybackInfoBarBanner, dL as toMediaItemUploaderReference, dM as toUploaderReference, dN as uploadPickerFile, dO as usesDefaultMessageListWallpaper, dP as validateConversationId, dQ as validateEmail, dR as validateLatitude, dS as validateLongitude, dT as validateMessagePayload, dU as validateMessageText, dV as validateMessageType, dW as validateUrl, dX as validateUserId, dY as validateUserIds, dZ as videoItemFromUpload } from './acorex-components-conversation-acorex-components-conversation-CkIO-uFA.mjs';
2
2
  //# sourceMappingURL=acorex-components-conversation.mjs.map
@@ -9,7 +9,8 @@ import { AXLoadingModule } from '@acorex/components/loading';
9
9
 
10
10
  // import { AXButtonType } from './button-item.class';
11
11
  /**
12
- * The Button is a component which detects user interaction and triggers a corresponding event
12
+ * Combines a button and a dropdown menu. Prefer this over composing `ax-dropdown-panel` inside
13
+ * `ax-button`, which is deprecated.
13
14
  *
14
15
  * @category Components
15
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-dropdown-button.mjs","sources":["../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.ts","../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.html","../../../../packages/components/dropdown-button/src/lib/dropdown-button.module.ts","../../../../packages/components/dropdown-button/src/acorex-components-dropdown-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXStyleColorType,\n AXStyleLookType,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent, AXButtonType } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n// import { AXButtonType } from './button-item.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-button',\n templateUrl: './dropdown-button.component.html',\n styleUrls: ['./dropdown-button.component.css'],\n inputs: ['disabled', 'size', 'text'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'lookChange', 'colorChange', 'disabledChange'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownButtonComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownButtonComponent },\n ],\n imports: [\n AXDropdownPanelComponent,\n AXButtonComponent,\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDropdownButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n @Input({ alias: 'color' })\n dropdownColor: AXStyleColorType = 'default';\n\n @Input({ alias: 'look' })\n dropdownLook: AXStyleLookType = 'solid';\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @ViewChild('panel') dropdownPanel: AXClosableComponent;\n\n /**\n * Defines the type of the button element.\n *\n * @defaultValue 'button'\n */\n @Input()\n type: AXButtonType = 'button';\n\n /**\n * Specifies the mode of the button.\n * Can be either 'split' or 'dropdown'.\n *\n * @defaultValue 'split'\n */\n @Input() mode: 'split' | 'dropdown' = 'split';\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Simulates a click event on the button element.\n *\n * @returns void - No return value. The button click is simulated.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * Sets focus to the button and adds a focus state class.\n *\n * @returns void - No return value. The button receives focus.\n */\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n\n /**\n * Removes the focus state class from the button.\n *\n * @returns void - No return value. The button loses focus.\n */\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n\n /**\n * Closes the dropdown panel.\n *\n * @returns void - No return value. The dropdown panel is closed.\n */\n close() {\n this.dropdownPanel.close();\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return this.disabled ? 'ax-state-disabled ' : '';\n }\n}\n","<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\n\nconst COMPONENT = [AXDropdownButtonComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n AXDropdownModule,\n AXButtonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDropdownButtonModule {}\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-dropdown-button.mjs","sources":["../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.ts","../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.html","../../../../packages/components/dropdown-button/src/lib/dropdown-button.module.ts","../../../../packages/components/dropdown-button/src/acorex-components-dropdown-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXStyleColorType,\n AXStyleLookType,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent, AXButtonType } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n// import { AXButtonType } from './button-item.class';\n\n/**\n * Combines a button and a dropdown menu. Prefer this over composing `ax-dropdown-panel` inside\n * `ax-button`, which is deprecated.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-button',\n templateUrl: './dropdown-button.component.html',\n styleUrls: ['./dropdown-button.component.css'],\n inputs: ['disabled', 'size', 'text'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'lookChange', 'colorChange', 'disabledChange'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownButtonComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownButtonComponent },\n ],\n imports: [\n AXDropdownPanelComponent,\n AXButtonComponent,\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDropdownButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n @Input({ alias: 'color' })\n dropdownColor: AXStyleColorType = 'default';\n\n @Input({ alias: 'look' })\n dropdownLook: AXStyleLookType = 'solid';\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @ViewChild('panel') dropdownPanel: AXClosableComponent;\n\n /**\n * Defines the type of the button element.\n *\n * @defaultValue 'button'\n */\n @Input()\n type: AXButtonType = 'button';\n\n /**\n * Specifies the mode of the button.\n * Can be either 'split' or 'dropdown'.\n *\n * @defaultValue 'split'\n */\n @Input() mode: 'split' | 'dropdown' = 'split';\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Simulates a click event on the button element.\n *\n * @returns void - No return value. The button click is simulated.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * Sets focus to the button and adds a focus state class.\n *\n * @returns void - No return value. The button receives focus.\n */\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n\n /**\n * Removes the focus state class from the button.\n *\n * @returns void - No return value. The button loses focus.\n */\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n\n /**\n * Closes the dropdown panel.\n *\n * @returns void - No return value. The dropdown panel is closed.\n */\n close() {\n this.dropdownPanel.close();\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return this.disabled ? 'ax-state-disabled ' : '';\n }\n}\n","<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\n\nconst COMPONENT = [AXDropdownButtonComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n AXDropdownModule,\n AXButtonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDropdownButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -259,6 +259,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
259
259
  /**
260
260
  * A panel for displaying dropdown content with configurable width and positioning.
261
261
  *
262
+ * Do not compose this component inside `ax-button` for menu triggers; use
263
+ * `AXDropdownButtonComponent` from `@acorex/components/dropdown-button` instead. That pattern is
264
+ * deprecated. `ax-dropdown-panel` remains supported for other hosts (for example `ax-dropdown-box`)
265
+ * and for internal use by `ax-dropdown-button`.
266
+ *
262
267
  * @category Components
263
268
  */
264
269
  class AXDropdownPanelComponent extends MXInteractiveComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-dropdown.mjs","sources":["../../../../packages/components/dropdown/src/lib/dropdown-box.class.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.html","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.html","../../../../packages/components/dropdown/src/lib/dropdown.module.ts","../../../../packages/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\n/**\n * Base behavior for components that manage a dropdown/popup via an internal `AXDropdownBoxComponent`.\n *\n * Extends MXInteractiveComponent to inherit interactive features (focus, blur, disabled, tabIndex)\n * and exposes a consistent API to open/close/toggle the dropdown as well as events for open/close lifecycle.\n */\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n /**\n * Emitted when the dropdown/popup is opened.\n *\n * @event\n */\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onOpened` event with component context.\n * @ignore\n */\n protected emitOnOpenedEvent(): void {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Emitted when the dropdown/popup is closed.\n *\n * @event\n */\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onClosed` event with component context.\n * @ignore\n */\n protected emitOnClosedEvent(): void {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Reference to the underlying dropdown controller.\n */\n protected abstract dropdown: AXDropdownBoxComponent;\n\n /**\n * Toggles the dropdown if the component is not disabled.\n *\n * @returns void - No return value. Switches between open and closed states.\n */\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n /**\n * Closes the dropdown if it is open and the component is not disabled, then focuses the host.\n *\n * @returns void - No return value. Dropdown is closed and focus returns to the host.\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n /**\n * Opens the dropdown if it is not already open and the component is not disabled, then focuses the dropdown.\n *\n * @returns void - No return value. Dropdown becomes open and receives focus.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n /**\n * Indicates whether the dropdown is currently open.\n *\n * @returns boolean - True if open; otherwise false.\n */\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import { AXComponent, AXEvent, MXInteractiveComponent, MXLookComponent, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n input,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n\n providers: [{ provide: AXComponent, useExisting: AXDropdownBoxComponent }],\n})\nexport class AXDropdownBoxComponent extends classes(MXInteractiveComponent, MXLookComponent) implements OnInit {\n readonly hasInput = input(true);\n\n readonly popoverWidth = input<string>('auto');\n\n private _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _target: HTMLDivElement;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _popoverWidth = '180px';\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent, { static: true })\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the drawer is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the drawer is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * @ignore\n */\n override ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'Space' || e.code === 'Enter') {\n this.open();\n }\n if (e.ctrlKey && e.code === 'ArrowDown') {\n e.preventDefault();\n this.open();\n }\n if (e.code === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n /**\n * Updates the position of the popover.\n * @ignore\n */\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it's open and not disabled, then focuses the element.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it's not already open and not disabled, then focuses the popover.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Indicates if the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * Indicates if the popover is styled as an actionsheet.\n */\n get isActionsheetStyle(): boolean {\n return this._platform.is('SM');\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return this.hasInput()\n ? `ax-editor-container ax-default ${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`\n : '';\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [closeOnScroll]=\"!isActionsheetStyle\"\n [width]=\"popoverWidth()\"\n visualContextScope=\"theme\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover\n>\n <div aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport {\n AXClosableComponent,\n AXComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform, isBrowser } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n/**\n * A panel for displaying dropdown content with configurable width and positioning.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.css'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownPanelComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownPanelComponent },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _isMobile = false;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n readonly placement = input<'bottom-start' | 'bottom-end'>('bottom-start');\n\n #effect = effect(() => {\n if (!this.placement()) return;\n this._placement = convertToPlacement(this.placement());\n });\n\n /**\n * @ignore\n */\n _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n private __target: HTMLDivElement;\n\n /**\n * Gets the target HTML element for the dropdown panel.\n */\n @Input()\n public get _target(): HTMLDivElement {\n return this.__target;\n }\n\n /**\n * Sets the target HTML element for the dropdown panel.\n */\n public set _target(v: HTMLDivElement) {\n this.__target = v;\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the dropdown panel is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the dropdown panel is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Determines if adaptivity is enabled for the component.\n *\n * @defaultValue false\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n\n /**\n * @ignore\n */\n override ngOnInit() {\n if (isBrowser()) {\n super.ngOnInit();\n if (!this._target) {\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n }\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el?.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it is open and not disabled.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it is not already open and not disabled.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Gets whether the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n visualContextScope=\"theme\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div>\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n A11yModule,\n AXDecoratorModule,\n AXPopoverModule,\n AXDropdownPanelComponent,\n AXDropdownBoxComponent,\n ],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAKA;;;;;AAKG;AACG,MAAgB,0BAA2B,SAAQ,sBAAsB,CAAA;AAP/E,IAAA,WAAA,GAAA;;AAQE;;;;AAIG;AACH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AAa7D;;;;AAIG;AACH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AA+D9D,IAAA;AA/EC;;;AAGG;IACO,iBAAiB,GAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC;IACJ;AASA;;;AAGG;IACO,iBAAiB,GAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC;IACJ;AAOA;;;;AAIG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxB;IACF;AAEA;;;;AAIG;IACH,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrB,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;;AAIG;IACH,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AAEA;;;;AAIG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM;IAC9B;8GAtFoB,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAP/C;;;ACuBK,MAAO,sBAAuB,SAAQ,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;AAV5F,IAAA,WAAA,GAAA;;QAWW,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,IAAI;qFAAC;QAEtB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAS,MAAM;yFAAC;AAErC,QAAA,IAAA,CAAA,SAAS,GAAe,MAAM,CAAC,UAAU,CAAC;AAYlD;;AAEG;QACO,IAAA,CAAA,aAAa,GAAG,OAAO;AAEjC;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC;AAQzD;;;;AAIG;AAEH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AAE7D;;;;AAIG;AAEH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AAuH9D,IAAA;AArHC;;AAEG;IACM,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE;AACpC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;YACrD,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,KAAK,EAAE;AAC5C,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;AACO,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC;IACJ;AAEA;;AAEG;AACO,IAAA,oBAAoB,CAAC,CAAU,EAAA;QACvC,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC;IACJ;AAEA;;AAEG;AAEO,IAAA,cAAc,CAAC,CAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YAC5C,IAAI,CAAC,IAAI,EAAE;QACb;QACA,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YACvC,CAAC,CAAC,cAAc,EAAE;YAClB,IAAI,CAAC,IAAI,EAAE;QACb;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,CAAC,CAAC,cAAc,EAAE;YAClB,IAAI,CAAC,KAAK,EAAE;QACd;IACF;AAEA;;;AAGG;IACH,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE;IACjC;AAEA;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxB;IACF;AAEA;;;AAGG;IACH,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrB,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;AAGG;IACH,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AAEA;;;AAGG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM;IAC9B;AAEA;;AAEG;AACH,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;IAChC;AAEA;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,IAAI,CAAC,QAAQ;AAClB,cAAE,CAAA,+BAAA,EAAkC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAA;cACvF,EAAE;IACR;8GArKW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,23BAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgC/D,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzD/B,6iBAkBA,4CDKY,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,UAEnB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAA,OAAA,EACnB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAA,IAAA,EACrD,EAAE,eAAe,EAAE,MAAM,EAAE,EAAA,OAAA,EACxB,CAAC,kBAAkB,CAAC,EAAA,SAAA,EAElB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,6iBAAA,EAAA;;sBAgCzE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAQ9C;;sBAQA;;sBAuCA,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBA2ElC,WAAW;uBAAC,OAAO;;;AElKtB;;;;AAIG;AAmBG,MAAO,wBAAyB,SAAQ,sBAAsB,CAAA;AAoBlE,IAAA,OAAO;AAeP;;AAEG;AACH,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;AAEG;IACH,IAAW,OAAO,CAAC,CAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;IACnB;AAgCA;;AAEG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAnFC,QAAA,IAAA,CAAA,SAAS,GAAe,MAAM,CAAC,UAAU,CAAC;AAEpD;;AAEG;QACO,IAAA,CAAA,SAAS,GAAG,KAAK;AAO3B;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC;QAEhD,IAAA,CAAA,SAAS,GAAG,KAAK,CAAgC,cAAc;sFAAC;AAEzE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAK;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBAAE;YACvB,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACxD,CAAC;oFAAC;AAEF;;AAEG;QACH,IAAA,CAAA,KAAK,GAAmB,EAAE;AA4B1B;;;;AAIG;AAEH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AAE7D;;;;AAIG;AAEH,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW;AAE7D;;;;AAIG;QAEH,IAAA,CAAA,iBAAiB,GAAG,KAAK;IAOzB;AAEA;;AAEG;IACM,QAAQ,GAAA;QACf,IAAI,SAAS,EAAE,EAAE;YACf,KAAK,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAA+B;YACvE;AACA,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;AACxC,gBAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AACxB,YAAA,CAAC,CAAC;QACJ;IACF;AAEA;;AAEG;IACH,eAAe,GAAA;AACb,QAAA,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YACnD,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAI;gBACpC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;oBACrC,CAAC,CAAC,eAAe,EAAE;oBACnB,IAAI,CAAC,KAAK,EAAE;gBACd;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;IACH,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACvB,CAAC,EAAE,WAAW,EAAE;AAClB,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;AACO,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC;IACJ;AAEA;;AAEG;AACO,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC;IACJ;AAEA;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxB;IACF;AAEA;;;AAGG;IACH,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrB,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;AAGG;IACH,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AAEA;;;AAGG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM;IAC9B;AAEA;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAC,mBAAmB,CAAC;IAC9B;8GApMW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAVxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,wBAAwB;AACtC,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE;AAChE,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyDU,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrG/B,0WAcA,EAAA,MAAA,EAAA,CAAA,y2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDgCY,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAlBpC,SAAS;+BACE,mBAAmB,EAAA,MAAA,EAGrB,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,WACnD,CAAC,UAAU,EAAE,UAAU,CAAC,iBAElB,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAA,wBAA0B;AACtC,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,0BAA0B,EAAE;qBAChE,EAAA,IAAA,EACK,EAAE,eAAe,EAAE,MAAM,EAAE,EAAA,OAAA,EACxB,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,0WAAA,EAAA,MAAA,EAAA,CAAA,y2BAAA,CAAA,EAAA;;sBAwC5B;;sBAeA,SAAS;uBAAC,kBAAkB;;sBAQ5B;;sBAQA;;sBAQA;;sBAoHA,WAAW;uBAAC,OAAO;;;ME3NT,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAXzB,YAAY;YACZ,cAAc;YACd,UAAU;YACV,iBAAiB;YACjB,eAAe;YACf,wBAAwB;YACxB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAEd,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAG/C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAXzB,YAAY;YACZ,cAAc;YACd,UAAU;YACV,iBAAiB;YACjB,eAAe;YACf,wBAAwB;YACxB,sBAAsB,CAAA,EAAA,CAAA,CAAA;;2FAKb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,UAAU;wBACV,iBAAiB;wBACjB,eAAe;wBACf,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAC3D,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACrBD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-dropdown.mjs","sources":["../../../../packages/components/dropdown/src/lib/dropdown-box.class.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.html","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.html","../../../../packages/components/dropdown/src/lib/dropdown.module.ts","../../../../packages/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\n/**\n * Base behavior for components that manage a dropdown/popup via an internal `AXDropdownBoxComponent`.\n *\n * Extends MXInteractiveComponent to inherit interactive features (focus, blur, disabled, tabIndex)\n * and exposes a consistent API to open/close/toggle the dropdown as well as events for open/close lifecycle.\n */\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n /**\n * Emitted when the dropdown/popup is opened.\n *\n * @event\n */\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onOpened` event with component context.\n * @ignore\n */\n protected emitOnOpenedEvent(): void {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Emitted when the dropdown/popup is closed.\n *\n * @event\n */\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onClosed` event with component context.\n * @ignore\n */\n protected emitOnClosedEvent(): void {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Reference to the underlying dropdown controller.\n */\n protected abstract dropdown: AXDropdownBoxComponent;\n\n /**\n * Toggles the dropdown if the component is not disabled.\n *\n * @returns void - No return value. Switches between open and closed states.\n */\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n /**\n * Closes the dropdown if it is open and the component is not disabled, then focuses the host.\n *\n * @returns void - No return value. Dropdown is closed and focus returns to the host.\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n /**\n * Opens the dropdown if it is not already open and the component is not disabled, then focuses the dropdown.\n *\n * @returns void - No return value. Dropdown becomes open and receives focus.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n /**\n * Indicates whether the dropdown is currently open.\n *\n * @returns boolean - True if open; otherwise false.\n */\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import { AXComponent, AXEvent, MXInteractiveComponent, MXLookComponent, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n input,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n\n providers: [{ provide: AXComponent, useExisting: AXDropdownBoxComponent }],\n})\nexport class AXDropdownBoxComponent extends classes(MXInteractiveComponent, MXLookComponent) implements OnInit {\n readonly hasInput = input(true);\n\n readonly popoverWidth = input<string>('auto');\n\n private _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _target: HTMLDivElement;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _popoverWidth = '180px';\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent, { static: true })\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the drawer is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the drawer is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * @ignore\n */\n override ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'Space' || e.code === 'Enter') {\n this.open();\n }\n if (e.ctrlKey && e.code === 'ArrowDown') {\n e.preventDefault();\n this.open();\n }\n if (e.code === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n /**\n * Updates the position of the popover.\n * @ignore\n */\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it's open and not disabled, then focuses the element.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it's not already open and not disabled, then focuses the popover.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Indicates if the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * Indicates if the popover is styled as an actionsheet.\n */\n get isActionsheetStyle(): boolean {\n return this._platform.is('SM');\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return this.hasInput()\n ? `ax-editor-container ax-default ${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`\n : '';\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [closeOnScroll]=\"!isActionsheetStyle\"\n [width]=\"popoverWidth()\"\n visualContextScope=\"theme\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover\n>\n <div aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport {\n AXClosableComponent,\n AXComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform, isBrowser } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n/**\n * A panel for displaying dropdown content with configurable width and positioning.\n *\n * Do not compose this component inside `ax-button` for menu triggers; use\n * `AXDropdownButtonComponent` from `@acorex/components/dropdown-button` instead. That pattern is\n * deprecated. `ax-dropdown-panel` remains supported for other hosts (for example `ax-dropdown-box`)\n * and for internal use by `ax-dropdown-button`.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.css'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownPanelComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownPanelComponent },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _isMobile = false;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n readonly placement = input<'bottom-start' | 'bottom-end'>('bottom-start');\n\n #effect = effect(() => {\n if (!this.placement()) return;\n this._placement = convertToPlacement(this.placement());\n });\n\n /**\n * @ignore\n */\n _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n private __target: HTMLDivElement;\n\n /**\n * Gets the target HTML element for the dropdown panel.\n */\n @Input()\n public get _target(): HTMLDivElement {\n return this.__target;\n }\n\n /**\n * Sets the target HTML element for the dropdown panel.\n */\n public set _target(v: HTMLDivElement) {\n this.__target = v;\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the dropdown panel is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the dropdown panel is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Determines if adaptivity is enabled for the component.\n *\n * @defaultValue false\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n\n /**\n * @ignore\n */\n override ngOnInit() {\n if (isBrowser()) {\n super.ngOnInit();\n if (!this._target) {\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n }\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el?.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it is open and not disabled.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it is not already open and not disabled.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Gets whether the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n visualContextScope=\"theme\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div>\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n A11yModule,\n AXDecoratorModule,\n AXPopoverModule,\n AXDropdownPanelComponent,\n AXDropdownBoxComponent,\n ],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { AXTranslationService } from '@acorex/core/translation';
5
5
  import { isPlatformBrowser, CommonModule } from '@angular/common';
6
6
  import * as i0 from '@angular/core';
7
7
  import { inject, DOCUMENT, PLATFORM_ID, input, afterNextRender, EventEmitter, ElementRef, TemplateRef, Output, Input, ViewChild, ViewEncapsulation, Component, NgModule } from '@angular/core';
8
- import { Subject, fromEvent, switchMap, timer, takeUntil } from 'rxjs';
8
+ import { Subject, fromEvent, tap, switchMap, timer, takeUntil } from 'rxjs';
9
9
 
10
10
  /**
11
11
  * @category Components
@@ -34,6 +34,10 @@ class AXPopoverComponent extends MXBaseComponent {
34
34
  /** @ignore */
35
35
  this._scrollActivationFrame = null;
36
36
  /** @ignore */
37
+ this._leaveCloseTimer = null;
38
+ /** @ignore */
39
+ this._overlayLeaveEvents = {};
40
+ /** @ignore */
37
41
  this.resizeObserver = null;
38
42
  /** @ignore */
39
43
  this.resize$ = new Subject();
@@ -298,16 +302,23 @@ class AXPopoverComponent extends MXBaseComponent {
298
302
  const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');
299
303
  if (this.openOn === 'hover') {
300
304
  this._targetEvents.mouseenter = targetMouseEnter$
301
- .pipe(switchMap(() => timer(this.openAfter).pipe(takeUntil(targetMouseLeave$))))
305
+ .pipe(tap(() => {
306
+ if (this.closeOn === 'leave') {
307
+ this.clearLeaveCloseTimer();
308
+ }
309
+ }), switchMap(() => timer(this.openAfter).pipe(takeUntil(targetMouseLeave$))))
302
310
  .subscribe(() => {
303
311
  this.open();
304
312
  });
305
313
  }
314
+ else if (this.closeOn === 'leave') {
315
+ this._targetEvents.mouseenter = targetMouseEnter$.subscribe(() => {
316
+ this.clearLeaveCloseTimer();
317
+ });
318
+ }
306
319
  if (this.closeOn === 'leave') {
307
- this._targetEvents.mouseleave = targetMouseLeave$
308
- .pipe(switchMap(() => timer(this.closeAfter).pipe(takeUntil(targetMouseEnter$))))
309
- .subscribe(() => {
310
- this.close();
320
+ this._targetEvents.mouseleave = targetMouseLeave$.subscribe(() => {
321
+ this.scheduleLeaveClose();
311
322
  });
312
323
  }
313
324
  if (this.openOn === 'click' || this.openOn === 'toggle') {
@@ -338,6 +349,16 @@ class AXPopoverComponent extends MXBaseComponent {
338
349
  };
339
350
  this.document.addEventListener('mousedown', this._outsideClickHandler);
340
351
  }
352
+ if (this.closeOn === 'leave') {
353
+ const overlayMouseEnter$ = fromEvent(overlayElement, 'mouseenter');
354
+ const overlayMouseLeave$ = fromEvent(overlayElement, 'mouseleave');
355
+ this._overlayLeaveEvents.mouseenter = overlayMouseEnter$.subscribe(() => {
356
+ this.clearLeaveCloseTimer();
357
+ });
358
+ this._overlayLeaveEvents.mouseleave = overlayMouseLeave$.subscribe(() => {
359
+ this.scheduleLeaveClose();
360
+ });
361
+ }
341
362
  // Scroll listener to close popover when scrolling outside
342
363
  this.setupScrollListener(overlayElement);
343
364
  // Resize observer
@@ -347,11 +368,30 @@ class AXPopoverComponent extends MXBaseComponent {
347
368
  }, this.openAfter);
348
369
  }
349
370
  /** @ignore */
371
+ clearLeaveCloseTimer() {
372
+ if (this._leaveCloseTimer) {
373
+ clearTimeout(this._leaveCloseTimer);
374
+ this._leaveCloseTimer = null;
375
+ }
376
+ }
377
+ /** @ignore */
378
+ scheduleLeaveClose() {
379
+ this.clearLeaveCloseTimer();
380
+ this._leaveCloseTimer = setTimeout(() => {
381
+ this._leaveCloseTimer = null;
382
+ this.close();
383
+ }, this.closeAfter);
384
+ }
385
+ /** @ignore */
350
386
  removeOverlayEvents() {
351
387
  if (this._outsideClickHandler) {
352
388
  this.document.removeEventListener('mousedown', this._outsideClickHandler);
353
389
  this._outsideClickHandler = null;
354
390
  }
391
+ this._overlayLeaveEvents.mouseenter?.unsubscribe();
392
+ this._overlayLeaveEvents.mouseleave?.unsubscribe();
393
+ this._overlayLeaveEvents = {};
394
+ this.clearLeaveCloseTimer();
355
395
  this.removeScrollListener();
356
396
  }
357
397
  /** @ignore */
@@ -471,6 +511,7 @@ class AXPopoverComponent extends MXBaseComponent {
471
511
  if (!this.isOpen) {
472
512
  return;
473
513
  }
514
+ this.clearLeaveCloseTimer();
474
515
  this.disconnectResizeObserver();
475
516
  this.removeOverlayEvents();
476
517
  this.removeKeyDownListener();