@social-mail/social-mail-client 1.8.283 → 1.8.284

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.
@@ -2077,7 +2077,7 @@ if (window) {
2077
2077
 
2078
2078
  AmdLoader.instance.register(
2079
2079
  ["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/web-controls","@web-atoms/date-time","@web-atoms/entity","@web-atoms/email-dom","@web-atoms/data-styles"],
2080
- ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/elements/AtomPopover","@web-atoms/web-controls/dist/basic/elements/relativeRect","@web-atoms/web-controls/dist/basic/elements/getContainingBlock","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/http/JsonError","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Expander","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/common/pages/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/SocialMailApp","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/FileUploader","@social-mail/social-mail-client/dist/services/ffmpeg/FFService","@social-mail/social-mail-client/dist/common/Modules","@social-mail/social-mail-client/dist/admin/pages/cache/AdminCacheListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/controls/phone-editor/PhoneEditor","@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect","@web-atoms/web-controls/dist/basic/MaskedInput","@social-mail/social-mail-client/dist/admin/controls/templates/SiteTemplateDropDown","@social-mail/social-mail-client/dist/admin/controls/templates/ChooseTemplatePage","@social-mail/social-mail-client/dist/admin/controls/templates/PreviewTemplate","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/admin/pages/users/phone-numbers/UpdatePhoneNumberPage","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx","@social-mail/social-mail-client/dist/admin/controls/roles/RoleDropDown","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/controls/hosted-domains/HostedDomainDropDown","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/contacts/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/content/images/gif/loader.gif","@social-mail/social-mail-client/dist/common/cache/CacheVersions","@web-atoms/web-controls/dist/basic/InlinePopupControl","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/InlinePopupButton","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/content/images/icons/audio.svg","@social-mail/social-mail-client/dist/common/FileUrlService","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/round/RoundButton","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/data-styles/data-styles","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AttachFile","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert","@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage","@social-mail/social-mail-client/dist/code-editor/MonacoService","@web-atoms/web-controls/dist/basic/Select","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach","@web-atoms/web-controls/dist/basic/TitleEditor","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/StringFormat","@social-mail/social-mail-client/dist/common/controls/mailboxes/MailboxDropDown","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/web/page/mails/unsubscribe/UnsubscribeWindow","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposePage","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel","@social-mail/social-mail-client/dist/web/page/mails/conversation/ConversationTags","@social-mail/social-mail-client/dist/web/page/mails/ConversationTagChips","@social-mail/social-mail-client/dist/web/page/mails/web-hooks/WebHookListPage","@social-mail/social-mail-client/dist/site-editor-app/pages/store/web-hooks/WebHookPage","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@social-mail/social-mail-client/dist/common/menu/MenuService","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/files/folder/FolderPage","@social-mail/social-mail-client/dist/common/pages/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/common/pages/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/TimeEditor","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage","@social-mail/social-mail-client/dist/services/files/FileHistoryService","@social-mail/social-mail-client/dist/common/pages/websites/detail/WebSiteDetail","@social-mail/social-mail-client/dist/common/AppUrlService","@social-mail/social-mail-client/dist/services/ReportEntityService","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/RealTimeVisitors","@social-mail/social-mail-client/dist/common/controls/charts/ChartControl","@social-mail/social-mail-client/dist/model/reportModel","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitors","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsByCountry","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/ChartDataBuilder","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsByDevices","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsBySources","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/form/AppForm","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderSettings","@social-mail/social-mail-client/dist/common/pages/user/access-tokens/AccessTokenListPage","@social-mail/social-mail-client/dist/common/controls/entity/EntityListControl","@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneListPage","@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneService","@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsZoneEditorPage","@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsRecordEditorPage","@social-mail/social-mail-client/dist/common/pages/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewPDF","@social-mail/social-mail-client/dist/common/pages/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/admin/pages/config/ConfigPage","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/admin/pages/repair/RepairPage","@social-mail/social-mail-client/dist/admin/pages/incoming-sms-sources/EditIncomingSmsSourcePage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/drawer/BaseDrawer","@social-mail/social-mail-client/dist/common/BaseApp","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/common/pages/user/forgot/ForgotPassword","@social-mail/social-mail-client/dist/common/controls/qrcode/QRCode","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@social-mail/social-mail-client/dist/common/TestMode","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle"]);
2080
+ ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/elements/AtomPopover","@web-atoms/web-controls/dist/basic/elements/relativeRect","@web-atoms/web-controls/dist/basic/elements/getContainingBlock","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/http/JsonError","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Expander","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/common/pages/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/SocialMailApp","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/FileUploader","@social-mail/social-mail-client/dist/services/ffmpeg/FFService","@social-mail/social-mail-client/dist/common/Modules","@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/InlinePopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/admin/pages/cache/AdminCacheListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/controls/phone-editor/PhoneEditor","@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect","@web-atoms/web-controls/dist/basic/MaskedInput","@social-mail/social-mail-client/dist/admin/controls/templates/SiteTemplateDropDown","@social-mail/social-mail-client/dist/admin/controls/templates/ChooseTemplatePage","@social-mail/social-mail-client/dist/admin/controls/templates/PreviewTemplate","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/admin/pages/users/phone-numbers/UpdatePhoneNumberPage","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx","@social-mail/social-mail-client/dist/admin/controls/roles/RoleDropDown","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/controls/hosted-domains/HostedDomainDropDown","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/contacts/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/content/images/gif/loader.gif","@social-mail/social-mail-client/dist/common/cache/CacheVersions","@web-atoms/web-controls/dist/basic/InlinePopupControl","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/content/images/icons/audio.svg","@social-mail/social-mail-client/dist/common/FileUrlService","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/round/RoundButton","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/data-styles/data-styles","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AttachFile","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert","@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage","@social-mail/social-mail-client/dist/code-editor/MonacoService","@web-atoms/web-controls/dist/basic/Select","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach","@web-atoms/web-controls/dist/basic/TitleEditor","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/StringFormat","@social-mail/social-mail-client/dist/common/controls/mailboxes/MailboxDropDown","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/web/page/mails/unsubscribe/UnsubscribeWindow","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposePage","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel","@social-mail/social-mail-client/dist/web/page/mails/conversation/ConversationTags","@social-mail/social-mail-client/dist/web/page/mails/ConversationTagChips","@social-mail/social-mail-client/dist/web/page/mails/web-hooks/WebHookListPage","@social-mail/social-mail-client/dist/site-editor-app/pages/store/web-hooks/WebHookPage","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@social-mail/social-mail-client/dist/common/menu/MenuService","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/files/folder/FolderPage","@social-mail/social-mail-client/dist/common/pages/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/common/pages/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/TimeEditor","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage","@social-mail/social-mail-client/dist/services/files/FileHistoryService","@social-mail/social-mail-client/dist/common/pages/websites/detail/WebSiteDetail","@social-mail/social-mail-client/dist/common/AppUrlService","@social-mail/social-mail-client/dist/services/ReportEntityService","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/RealTimeVisitors","@social-mail/social-mail-client/dist/common/controls/charts/ChartControl","@social-mail/social-mail-client/dist/model/reportModel","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitors","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsByCountry","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/ChartDataBuilder","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsByDevices","@social-mail/social-mail-client/dist/common/pages/websites/detail/reports/DailyVisitorsBySources","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/form/AppForm","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderSettings","@social-mail/social-mail-client/dist/common/pages/user/access-tokens/AccessTokenListPage","@social-mail/social-mail-client/dist/common/controls/entity/EntityListControl","@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneListPage","@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneService","@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsZoneEditorPage","@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsRecordEditorPage","@social-mail/social-mail-client/dist/common/pages/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewPDF","@social-mail/social-mail-client/dist/common/pages/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/admin/pages/config/ConfigPage","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/admin/pages/repair/RepairPage","@social-mail/social-mail-client/dist/admin/pages/incoming-sms-sources/EditIncomingSmsSourcePage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/drawer/BaseDrawer","@social-mail/social-mail-client/dist/common/BaseApp","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/common/pages/user/forgot/ForgotPassword","@social-mail/social-mail-client/dist/common/controls/qrcode/QRCode","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@social-mail/social-mail-client/dist/common/TestMode","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle"]);
2081
2081
 
2082
2082
 
2083
2083
  AmdLoader.instance.setup("@web-atoms/core/dist/Pack");
@@ -22774,569 +22774,218 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
22774
22774
  });
22775
22775
  //# sourceMappingURL=DomainUserEditor.js.map
22776
22776
 
22777
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");
22777
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");
22778
22778
 
22779
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/web/core/AtomUI", "./TreeView.global.css"], function (_export, _context) {
22779
+ System.register([], function (_export, _context) {
22780
22780
  "use strict";
22781
22781
 
22782
- var __awaiter, __decorate, __metadata, XNode, AtomControl, BindableProperty, AncestorEnumerator, TreeView, expandSymbol;
22783
- function findTreeElement(element) {
22784
- if (element.matches("[data-layout=tree-view-item]")) {
22785
- return element;
22782
+ var SocialMailApp, _a, socialMail;
22783
+ return {
22784
+ setters: [],
22785
+ execute: function () {
22786
+ socialMail = (_a = window.socialMail) !== null && _a !== void 0 ? _a : {
22787
+ path: "/",
22788
+ name: "Social Mail"
22789
+ };
22790
+ SocialMailApp = class SocialMailApp {
22791
+ static get isAdmin() {
22792
+ var _a;
22793
+ return (_a = this.user.roles) === null || _a === void 0 ? void 0 : _a.some(r => /admin/i.test(r.roleName));
22794
+ }
22795
+ };
22796
+ SocialMailApp.config = socialMail;
22797
+ SocialMailApp.newFolderTagID = null;
22798
+ SocialMailApp.contactsFolderTagID = null;
22799
+ _export("default", SocialMailApp);
22786
22800
  }
22787
- return AncestorEnumerator.findSelector(element, "[data-layout=tree-view-item]");
22788
- }
22789
- _export({
22790
- findTreeElement: findTreeElement,
22791
- default: void 0
22792
- });
22801
+ };
22802
+ });
22803
+ //# sourceMappingURL=SocialMailApp.js.map
22804
+
22805
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUploader");
22806
+
22807
+ System.register(["tslib"], function (_export, _context) {
22808
+ "use strict";
22809
+
22810
+ var __awaiter, FileUploader;
22811
+ _export("default", void 0);
22793
22812
  return {
22794
22813
  setters: [function (_tslib) {
22795
22814
  __awaiter = _tslib.__awaiter;
22796
- __decorate = _tslib.__decorate;
22797
- __metadata = _tslib.__metadata;
22798
- }, function (_webAtomsCoreDistCoreXNode) {
22799
- XNode = _webAtomsCoreDistCoreXNode.default;
22800
- }, function (_webAtomsCoreDistWebControlsAtomControl) {
22801
- AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
22802
- }, function (_webAtomsCoreDistCoreBindableProperty) {
22803
- BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
22804
- }, function (_webAtomsCoreDistWebCoreAtomUI) {
22805
- AncestorEnumerator = _webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;
22806
- }, function (_TreeViewGlobalCss) {}],
22815
+ }],
22807
22816
  execute: function () {
22808
- expandSymbol = Symbol("expand");
22809
22817
  ;
22810
- _export("default", TreeView = class TreeView extends AtomControl {
22811
- constructor() {
22812
- super(...arguments);
22813
- this.map = new WeakMap();
22814
- this.canSelect = x => true;
22815
- this.isFolder = x => true;
22818
+ _export("default", FileUploader = class FileUploader {
22819
+ constructor(tm) {
22820
+ this.tm = tm;
22821
+ this.rateLimit = 4;
22816
22822
  }
22817
- init() {
22818
- return __awaiter(this, void 0, void 0, function* () {});
22823
+ upload(req) {
22824
+ const {
22825
+ file,
22826
+ progress
22827
+ } = req;
22828
+ const result = {
22829
+ file,
22830
+ done: 0,
22831
+ promise: null
22832
+ };
22833
+ req.progress = n => {
22834
+ result.done = n;
22835
+ progress === null || progress === void 0 ? void 0 : progress(n);
22836
+ };
22837
+ result.promise = this.tm.queueRun(() => this.tryUpload3(req));
22838
+ return result;
22819
22839
  }
22820
- onPropertyChanging(name, oldValue, newValue) {
22821
- if (name === "selectedItem") {
22822
- if (oldValue) {
22823
- const selectedElement = this.map.get(oldValue);
22824
- if (selectedElement) {
22825
- selectedElement.removeAttribute("data-selected");
22826
- }
22827
- }
22828
- if (newValue) {
22829
- this.selectItem(newValue);
22830
- }
22831
- }
22840
+ sha256(blob) {
22841
+ return __awaiter(this, void 0, void 0, function* () {
22842
+ const msgBuffer = yield blob.arrayBuffer();
22843
+ const hashBuffer = yield crypto.subtle.digest('SHA-256', msgBuffer);
22844
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
22845
+ const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
22846
+ return hashHex;
22847
+ });
22832
22848
  }
22833
- selectItem(newValue) {
22834
- if (!this.childrenProperty) {
22835
- return;
22836
- }
22837
- const element = this.map.get(newValue);
22838
- if (!element) {
22839
- if (this.root) {
22840
- console.error(`Item not in the tree`);
22841
- }
22842
- return;
22843
- }
22844
- element.setAttribute("data-selected", "true");
22845
- let start = element;
22846
- while (start) {
22847
- const pi = start.parentItem;
22848
- if (!pi) {
22849
- break;
22849
+ tryUpload3(req) {
22850
+ return __awaiter(this, void 0, void 0, function* () {
22851
+ let lastError;
22852
+ if (!req.sha256) {
22853
+ req.sha256 = yield this.sha256(req.file);
22850
22854
  }
22851
- start = this.map.get(pi);
22852
- if (!start) {
22853
- break;
22855
+ for (let index = 0; index < 3; index++) {
22856
+ try {
22857
+ return yield this.tryUpload(req);
22858
+ } catch (error) {
22859
+ lastError = error;
22860
+ }
22854
22861
  }
22855
- this.expandElement(start, false);
22856
- }
22862
+ throw lastError;
22863
+ });
22857
22864
  }
22858
- onPropertyChanged(name) {
22859
- switch (name) {
22860
- case "root":
22861
- case "childrenProperty":
22862
- case "labelRenderer":
22863
- case "folderIconRenderer":
22864
- case "fileIconRenderer":
22865
- case "actionRenderer":
22866
- const rootElement = this.element.firstElementChild;
22867
- rootElement === null || rootElement === void 0 ? void 0 : rootElement.dispose();
22868
- if (this.root && this.childrenProperty && this.labelRenderer && this.folderIconRenderer) {
22869
- this.element.innerHTML = "";
22870
- this.createElement(this.root, void 0, -1);
22871
- this.expand(this.root);
22872
- if (this.selectedItem) {
22873
- this.selectItem(this.selectedItem);
22865
+ tryUpload({
22866
+ file,
22867
+ url,
22868
+ sha256,
22869
+ extra,
22870
+ folder,
22871
+ cancelToken,
22872
+ progress
22873
+ }) {
22874
+ return new Promise((resolve, reject) => {
22875
+ const body = new FormData();
22876
+ body.append(file.name, file, file.name);
22877
+ body.append("sha256", sha256);
22878
+ const xhr = new XMLHttpRequest();
22879
+ const onError = () => {
22880
+ reject(new Error(xhr.responseText || "Error"));
22881
+ };
22882
+ cancelToken === null || cancelToken === void 0 ? void 0 : cancelToken.registerForCancel(() => xhr.abort());
22883
+ xhr.upload.addEventListener("progress", event => {
22884
+ if (event.lengthComputable) {
22885
+ try {
22886
+ progress === null || progress === void 0 ? void 0 : progress(event.loaded / event.total);
22887
+ } catch (error) {
22888
+ console.error(error);
22874
22889
  }
22875
22890
  }
22876
- break;
22877
- case "selectedItem":
22878
- if (this.selectedItem) {
22879
- this.selectItem(this.selectedItem);
22891
+ });
22892
+ xhr.upload.addEventListener("timeout", onError);
22893
+ xhr.upload.addEventListener("error", onError);
22894
+ xhr.upload.addEventListener("abort", onError);
22895
+ xhr.addEventListener("timeout", onError);
22896
+ xhr.addEventListener("abort", onError);
22897
+ xhr.addEventListener("error", onError);
22898
+ xhr.upload.addEventListener("progress", event => {
22899
+ if (event.lengthComputable) {
22900
+ try {
22901
+ progress === null || progress === void 0 ? void 0 : progress(event.loaded / event.total);
22902
+ } catch (error) {
22903
+ console.error(error);
22904
+ }
22880
22905
  }
22881
- break;
22882
- }
22883
- }
22884
- expand(item) {
22885
- const element = this.map.get(item);
22886
- if (element) {
22887
- this.expandElement(element, false);
22888
- }
22889
- }
22890
- preCreate() {
22891
- this.root = null;
22892
- this.selectedItem = null;
22893
- this.childrenProperty = null;
22894
- this.actionRenderer = null;
22895
- this.element.setAttribute("data-layout", "tree-view");
22896
- this.labelRenderer = item => {
22897
- var _a, _b, _c, _d;
22898
- return XNode.create("span", {
22899
- title: (_b = (_a = item.label) !== null && _a !== void 0 ? _a : item.name) !== null && _b !== void 0 ? _b : item,
22900
- text: (_d = (_c = item.label) !== null && _c !== void 0 ? _c : item.name) !== null && _d !== void 0 ? _d : item
22901
22906
  });
22902
- };
22903
- this.folderIconRenderer = item => XNode.create("i", {
22904
- class: "fas"
22905
- });
22906
- this.fileIconRenderer = item => XNode.create("i", {
22907
- "data-element": "icon",
22908
- "data-click-event": "none"
22909
- });
22910
- this.runAfterInit(() => {
22911
- if (this.root && !this.element.firstElementChild) {
22912
- if (this.childrenProperty) {
22913
- this.createElement(this.root);
22914
- this.expand(this.root);
22907
+ xhr.addEventListener("load", () => {
22908
+ if (xhr.status <= 300) {
22909
+ const r = Object.assign(Object.assign({}, JSON.parse(xhr.responseText)), {
22910
+ file
22911
+ });
22912
+ resolve(r);
22915
22913
  }
22916
- if (this.selectedItem) {
22917
- this.selectItem(this.selectedItem);
22914
+ });
22915
+ const s = new URLSearchParams();
22916
+ if (extra) {
22917
+ for (const key in extra) {
22918
+ if (Object.prototype.hasOwnProperty.call(extra, key)) {
22919
+ const element = extra[key];
22920
+ if (element) {
22921
+ s.append(key, element);
22922
+ }
22923
+ }
22918
22924
  }
22919
22925
  }
22920
- });
22921
- this.bindEvent(this.element, "selectItem", ce => {
22922
- if (ce.defaultPrevented) {
22923
- return;
22924
- }
22925
- const element = findTreeElement(ce.target);
22926
- const dataItem = element === null || element === void 0 ? void 0 : element.dataItem;
22927
- if (dataItem) {
22928
- if (this.selectedItem !== dataItem) {
22929
- const se = new CustomEvent("selectedItemChanging", {
22930
- detail: dataItem,
22931
- bubbles: true,
22932
- cancelable: true
22933
- });
22934
- this.element.dispatchEvent(se);
22935
- if (se.defaultPrevented) {
22936
- return;
22937
- }
22938
- this.selectedItem = dataItem;
22939
- }
22940
- }
22941
- });
22942
- this.bindEvent(this.element, "toggleExpand", ce => {
22943
- const element = findTreeElement(ce.target);
22944
- this.expandElement(element);
22945
- });
22946
- this.runAfterInit(() => this.app.runAsync(() => {
22947
- var _a;
22948
- return (_a = this.init) === null || _a === void 0 ? void 0 : _a.call(this);
22949
- }));
22950
- }
22951
- dispatchClickEvent(e, data) {
22952
- const target = e.target;
22953
- let start = target;
22954
- while (start) {
22955
- if (start.getAttribute("data-layout") === "tree-view-item") {
22956
- break;
22957
- }
22958
- start = start.parentElement;
22959
- }
22960
- if (!start) {
22961
- return super.dispatchClickEvent(e, data);
22962
- }
22963
- const item = start;
22964
- const clickEvent = data === null || data === void 0 ? void 0 : data.clickEvent;
22965
- data = item.dataItem;
22966
- if (data) {
22967
- data.clickEvent = clickEvent;
22968
- }
22969
- super.dispatchClickEvent(e, data);
22970
- }
22971
- expandElement(element, toggle = true) {
22972
- if (!element) {
22973
- return;
22974
- }
22975
- const {
22976
- dataItem
22977
- } = element;
22978
- if (!dataItem) {
22979
- return;
22980
- }
22981
- if (element.getAttribute("data-expanded")) {
22982
- if (toggle) {
22983
- element.removeAttribute("data-expanded");
22984
- element.dispatchEvent(new CustomEvent("itemCollapsed", {
22985
- detail: dataItem,
22986
- bubbles: true,
22987
- cancelable: true
22988
- }));
22989
- const children = this.childrenProperty(element.dataItem);
22990
- for (const iterator of children) {
22991
- this.updateExpanded(iterator, false);
22992
- }
22993
- }
22994
- } else {
22995
- element.setAttribute("data-expanded", "true");
22996
- element.dispatchEvent(new CustomEvent("itemExpanded", {
22997
- detail: dataItem,
22998
- bubbles: true,
22999
- cancelable: true
23000
- }));
23001
- this.updateExpanded(dataItem, true);
23002
- }
23003
- }
23004
- createElement(item, parentItem, insertIndex = -1) {
23005
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
23006
- const element = document.createElement("div");
23007
- element.setAttribute("data-layout", "tree-view-item");
23008
- element.dataItem = item;
23009
- element.parentItem = parentItem;
23010
- this.map.set(item, element);
23011
- const children = this.childrenProperty(item);
23012
- if (!children) {
23013
- throw new Error("Children array must not be empty");
23014
- }
23015
- const watcher = children.watch((target, event, index, child) => {
23016
- var _a;
23017
- if (event === "add") {
23018
- this.createElement(child, item, index);
23019
- return;
23020
- }
23021
- if (event === "set") {
23022
- const childElement = this.map.get(child);
23023
- childElement === null || childElement === void 0 ? void 0 : childElement.dispose();
23024
- this.createElement(child, item, index);
23025
- return;
23026
- }
23027
- if (event === "remove") {
23028
- const childElement = this.map.get(child);
23029
- childElement === null || childElement === void 0 ? void 0 : childElement.dispose();
23030
- return;
23031
- }
23032
- for (const iterator of children) {
23033
- (_a = this.map.get(iterator)) === null || _a === void 0 ? void 0 : _a.dispose();
23034
- }
23035
- for (const iterator of children) {
23036
- this.createElement(iterator, item);
22926
+ if (folder) {
22927
+ s.append("folder", folder);
23037
22928
  }
22929
+ xhr.open("POST", url + "?" + s.toString(), true);
22930
+ xhr.send(body);
23038
22931
  });
23039
- element.dispose = () => {
23040
- var _a;
23041
- watcher.dispose();
23042
- for (const iterator of children) {
23043
- (_a = this.map.get(iterator)) === null || _a === void 0 ? void 0 : _a.dispose();
23044
- }
23045
- element.remove();
23046
- };
23047
- const actionElement = (_a = this.actionRenderer) === null || _a === void 0 ? void 0 : _a.call(this, item);
23048
- const isFolder = (_c = (_b = this.isFolder) === null || _b === void 0 ? void 0 : _b.call(this, item)) !== null && _c !== void 0 ? _c : true;
23049
- const iconElement = isFolder ? this.folderIconRenderer(item) : (_e = (_d = this.fileIconRenderer) === null || _d === void 0 ? void 0 : _d.call(this, item)) !== null && _e !== void 0 ? _e : XNode.create("i", null);
23050
- const labelElement = this.labelRenderer(item);
23051
- if (iconElement) {
23052
- const a = (_f = iconElement.attributes) !== null && _f !== void 0 ? _f : iconElement.attributes = {};
23053
- (_g = a["data-element"]) !== null && _g !== void 0 ? _g : a["data-element"] = isFolder ? "expand-collapse" : "file-icon";
23054
- (_h = a["data-click-event"]) !== null && _h !== void 0 ? _h : a["data-click-event"] = "toggle-expand";
23055
- this.render(XNode.create("div", null, iconElement), element, this);
23056
- }
23057
- if (labelElement) {
23058
- const a = (_j = labelElement.attributes) !== null && _j !== void 0 ? _j : labelElement.attributes = {};
23059
- a["data-element"] = "label";
23060
- (_k = a["data-click-event"]) !== null && _k !== void 0 ? _k : a["data-click-event"] = "select-item";
23061
- this.render(XNode.create("div", null, labelElement), element, this);
23062
- }
23063
- if (actionElement) {
23064
- ((_l = actionElement.attributes) !== null && _l !== void 0 ? _l : actionElement.attributes = {})["data-element"] = "action";
23065
- this.render(XNode.create("div", null, actionElement), element, this);
23066
- }
23067
- const header = document.createElement("div");
23068
- header.setAttribute("data-element", "header");
23069
- element.appendChild(header);
23070
- const parentElement = this.map.get(parentItem);
23071
- let last = parentElement;
23072
- if (parentItem) {
23073
- const siblings = this.childrenProperty(parentItem);
23074
- if (insertIndex === -1) {
23075
- insertIndex = siblings.indexOf(item);
23076
- }
23077
- if (insertIndex >= 1) {
23078
- last = this.map.get(siblings[insertIndex - 1]);
23079
- }
23080
- last.insertAdjacentElement("afterend", element);
23081
- const pad = Number((_m = parentElement.getAttribute("data-pad")) !== null && _m !== void 0 ? _m : "0") + 10;
23082
- element.setAttribute("data-pad", `${pad}`);
23083
- element.style.paddingLeft = `${pad}px`;
23084
- } else {
23085
- this.element.appendChild(element);
23086
- this.expandElement(element, false);
23087
- }
23088
- for (const iterator of children) {
23089
- this.createElement(iterator, item);
23090
- }
23091
- setTimeout(() => this.updateExpanded(), 1);
23092
- return element;
23093
- }
23094
- updateExpanded(item, show) {
23095
- if (!item) {
23096
- item = this.root;
23097
- show = true;
23098
- }
23099
- const element = this.map.get(item);
23100
- if (!element) {
23101
- return;
23102
- }
23103
- if (item === this.root) {
23104
- show = true;
23105
- } else if (show === void 0) {
23106
- show = element.getAttribute("data-expanded") === "true";
23107
- }
23108
- if (show) {
23109
- element.style.display = "";
23110
- } else {
23111
- element.style.display = "none";
23112
- }
23113
- const children = this.childrenProperty(element.dataItem);
23114
- show && (show = element.getAttribute("data-expanded") === "true");
23115
- for (const iterator of children) {
23116
- this.updateExpanded(iterator, show);
23117
- }
23118
22932
  }
23119
22933
  });
23120
- __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "root", void 0);
23121
- __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "selectedItem", void 0);
23122
- delete TreeView.prototype.init;
23123
22934
  }
23124
22935
  };
23125
22936
  });
23126
- //# sourceMappingURL=TreeView.js.map
22937
+ //# sourceMappingURL=FileUploader.js.map
23127
22938
 
23128
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");
22939
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Modules");
23129
22940
 
23130
- System.register([], function (_export, _context) {
22941
+ System.register(["tslib"], function (_export, _context) {
23131
22942
  "use strict";
23132
22943
 
23133
- var SocialMailApp, _a, socialMail;
22944
+ var __awaiter, Modules, modules, pendingModules;
22945
+ _export("default", void 0);
23134
22946
  return {
23135
- setters: [],
22947
+ setters: [function (_tslib) {
22948
+ __awaiter = _tslib.__awaiter;
22949
+ }],
23136
22950
  execute: function () {
23137
- socialMail = (_a = window.socialMail) !== null && _a !== void 0 ? _a : {
23138
- path: "/",
23139
- name: "Social Mail"
23140
- };
23141
- SocialMailApp = class SocialMailApp {
23142
- static get isAdmin() {
23143
- var _a;
23144
- return (_a = this.user.roles) === null || _a === void 0 ? void 0 : _a.some(r => /admin/i.test(r.roleName));
22951
+ modules = new Map();
22952
+ pendingModules = new Map();
22953
+ window.pendingModules = pendingModules;
22954
+ _export("default", Modules = class Modules {
22955
+ static import(name) {
22956
+ return __awaiter(this, void 0, void 0, function* () {
22957
+ let m = modules.get(name);
22958
+ if (!m) {
22959
+ m = new Promise((resolve, reject) => {
22960
+ const script = document.createElement("script");
22961
+ pendingModules.set(name, {
22962
+ resolve,
22963
+ reject,
22964
+ script
22965
+ });
22966
+ script.type = "module";
22967
+ script.textContent = `
22968
+ import * as result from "${name}";
22969
+ const { resolve, script } = window.pendingModules.get("${name}");
22970
+ resolve(result);
22971
+ script.remove();
22972
+ `;
22973
+ document.body.append(script);
22974
+ });
22975
+ modules.set(name, m);
22976
+ }
22977
+ return m;
22978
+ });
23145
22979
  }
23146
- };
23147
- SocialMailApp.config = socialMail;
23148
- SocialMailApp.newFolderTagID = null;
23149
- SocialMailApp.contactsFolderTagID = null;
23150
- _export("default", SocialMailApp);
22980
+ });
23151
22981
  }
23152
22982
  };
23153
22983
  });
23154
- //# sourceMappingURL=SocialMailApp.js.map
22984
+ //# sourceMappingURL=Modules.js.map
23155
22985
 
23156
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUploader");
22986
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/ffmpeg/FFService");
23157
22987
 
23158
- System.register(["tslib"], function (_export, _context) {
23159
- "use strict";
23160
-
23161
- var __awaiter, FileUploader;
23162
- _export("default", void 0);
23163
- return {
23164
- setters: [function (_tslib) {
23165
- __awaiter = _tslib.__awaiter;
23166
- }],
23167
- execute: function () {
23168
- ;
23169
- _export("default", FileUploader = class FileUploader {
23170
- constructor(tm) {
23171
- this.tm = tm;
23172
- this.rateLimit = 4;
23173
- }
23174
- upload(req) {
23175
- const {
23176
- file,
23177
- progress
23178
- } = req;
23179
- const result = {
23180
- file,
23181
- done: 0,
23182
- promise: null
23183
- };
23184
- req.progress = n => {
23185
- result.done = n;
23186
- progress === null || progress === void 0 ? void 0 : progress(n);
23187
- };
23188
- result.promise = this.tm.queueRun(() => this.tryUpload3(req));
23189
- return result;
23190
- }
23191
- sha256(blob) {
23192
- return __awaiter(this, void 0, void 0, function* () {
23193
- const msgBuffer = yield blob.arrayBuffer();
23194
- const hashBuffer = yield crypto.subtle.digest('SHA-256', msgBuffer);
23195
- const hashArray = Array.from(new Uint8Array(hashBuffer));
23196
- const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
23197
- return hashHex;
23198
- });
23199
- }
23200
- tryUpload3(req) {
23201
- return __awaiter(this, void 0, void 0, function* () {
23202
- let lastError;
23203
- if (!req.sha256) {
23204
- req.sha256 = yield this.sha256(req.file);
23205
- }
23206
- for (let index = 0; index < 3; index++) {
23207
- try {
23208
- return yield this.tryUpload(req);
23209
- } catch (error) {
23210
- lastError = error;
23211
- }
23212
- }
23213
- throw lastError;
23214
- });
23215
- }
23216
- tryUpload({
23217
- file,
23218
- url,
23219
- sha256,
23220
- extra,
23221
- folder,
23222
- cancelToken,
23223
- progress
23224
- }) {
23225
- return new Promise((resolve, reject) => {
23226
- const body = new FormData();
23227
- body.append(file.name, file, file.name);
23228
- body.append("sha256", sha256);
23229
- const xhr = new XMLHttpRequest();
23230
- const onError = () => {
23231
- reject(new Error(xhr.responseText || "Error"));
23232
- };
23233
- cancelToken === null || cancelToken === void 0 ? void 0 : cancelToken.registerForCancel(() => xhr.abort());
23234
- xhr.upload.addEventListener("progress", event => {
23235
- if (event.lengthComputable) {
23236
- try {
23237
- progress === null || progress === void 0 ? void 0 : progress(event.loaded / event.total);
23238
- } catch (error) {
23239
- console.error(error);
23240
- }
23241
- }
23242
- });
23243
- xhr.upload.addEventListener("timeout", onError);
23244
- xhr.upload.addEventListener("error", onError);
23245
- xhr.upload.addEventListener("abort", onError);
23246
- xhr.addEventListener("timeout", onError);
23247
- xhr.addEventListener("abort", onError);
23248
- xhr.addEventListener("error", onError);
23249
- xhr.upload.addEventListener("progress", event => {
23250
- if (event.lengthComputable) {
23251
- try {
23252
- progress === null || progress === void 0 ? void 0 : progress(event.loaded / event.total);
23253
- } catch (error) {
23254
- console.error(error);
23255
- }
23256
- }
23257
- });
23258
- xhr.addEventListener("load", () => {
23259
- if (xhr.status <= 300) {
23260
- const r = Object.assign(Object.assign({}, JSON.parse(xhr.responseText)), {
23261
- file
23262
- });
23263
- resolve(r);
23264
- }
23265
- });
23266
- const s = new URLSearchParams();
23267
- if (extra) {
23268
- for (const key in extra) {
23269
- if (Object.prototype.hasOwnProperty.call(extra, key)) {
23270
- const element = extra[key];
23271
- if (element) {
23272
- s.append(key, element);
23273
- }
23274
- }
23275
- }
23276
- }
23277
- if (folder) {
23278
- s.append("folder", folder);
23279
- }
23280
- xhr.open("POST", url + "?" + s.toString(), true);
23281
- xhr.send(body);
23282
- });
23283
- }
23284
- });
23285
- }
23286
- };
23287
- });
23288
- //# sourceMappingURL=FileUploader.js.map
23289
-
23290
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Modules");
23291
-
23292
- System.register(["tslib"], function (_export, _context) {
23293
- "use strict";
23294
-
23295
- var __awaiter, Modules, modules, pendingModules;
23296
- _export("default", void 0);
23297
- return {
23298
- setters: [function (_tslib) {
23299
- __awaiter = _tslib.__awaiter;
23300
- }],
23301
- execute: function () {
23302
- modules = new Map();
23303
- pendingModules = new Map();
23304
- window.pendingModules = pendingModules;
23305
- _export("default", Modules = class Modules {
23306
- static import(name) {
23307
- return __awaiter(this, void 0, void 0, function* () {
23308
- let m = modules.get(name);
23309
- if (!m) {
23310
- m = new Promise((resolve, reject) => {
23311
- const script = document.createElement("script");
23312
- pendingModules.set(name, {
23313
- resolve,
23314
- reject,
23315
- script
23316
- });
23317
- script.type = "module";
23318
- script.textContent = `
23319
- import * as result from "${name}";
23320
- const { resolve, script } = window.pendingModules.get("${name}");
23321
- resolve(result);
23322
- script.remove();
23323
- `;
23324
- document.body.append(script);
23325
- });
23326
- modules.set(name, m);
23327
- }
23328
- return m;
23329
- });
23330
- }
23331
- });
23332
- }
23333
- };
23334
- });
23335
- //# sourceMappingURL=Modules.js.map
23336
-
23337
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/ffmpeg/FFService");
23338
-
23339
- System.register(["tslib", "../../common/Modules", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/core/dist/core/XNode"], function (_export, _context) {
22988
+ System.register(["tslib", "../../common/Modules", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/core/dist/core/XNode"], function (_export, _context) {
23340
22989
  "use strict";
23341
22990
 
23342
22991
  var __awaiter, Modules, PopupWindow, XNode, FFConverterWindow, FFService;
@@ -24143,49 +23792,1084 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
24143
23792
  }
24144
23793
  delete(files) {
24145
23794
  return __awaiter(this, void 0, void 0, function* () {
24146
- files = files.map(({
24147
- $type,
24148
- appFileID
24149
- }) => ({
24150
- $type,
24151
- appFileID,
24152
- isDeleted: true
24153
- }));
24154
- yield this.entityService.save(files);
23795
+ files = files.map(({
23796
+ $type,
23797
+ appFileID
23798
+ }) => ({
23799
+ $type,
23800
+ appFileID,
23801
+ isDeleted: true
23802
+ }));
23803
+ yield this.entityService.save(files);
23804
+ });
23805
+ }
23806
+ getFilePath(root, selectedFile) {
23807
+ var _a;
23808
+ const [ignore, ...segments] = selectedFile.path.split("/");
23809
+ let path = "";
23810
+ for (const iterator of segments) {
23811
+ if (selectedFile.appFileID === iterator) {
23812
+ break;
23813
+ }
23814
+ root = (_a = root.children) === null || _a === void 0 ? void 0 : _a.find(x => x.appFileID === iterator);
23815
+ if (!root) {
23816
+ return path;
23817
+ }
23818
+ path += root.name + "/";
23819
+ }
23820
+ return path;
23821
+ }
23822
+ };
23823
+ __decorate([Inject, __metadata("design:type", EntityService)], CloudFileService.prototype, "entityService", void 0);
23824
+ __decorate([Inject, __metadata("design:type", LocalFileService)], CloudFileService.prototype, "localFileService", void 0);
23825
+ CloudFileService = __decorate([DISingleton()], CloudFileService);
23826
+ _export("default", CloudFileService);
23827
+ }
23828
+ };
23829
+ });
23830
+ //# sourceMappingURL=CloudFileService.js.map
23831
+
23832
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");
23833
+
23834
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/web/core/AtomUI", "./TreeView.global.css"], function (_export, _context) {
23835
+ "use strict";
23836
+
23837
+ var __awaiter, __decorate, __metadata, XNode, AtomControl, BindableProperty, AncestorEnumerator, TreeView, expandSymbol;
23838
+ function findTreeElement(element) {
23839
+ if (element.matches("[data-layout=tree-view-item]")) {
23840
+ return element;
23841
+ }
23842
+ return AncestorEnumerator.findSelector(element, "[data-layout=tree-view-item]");
23843
+ }
23844
+ _export({
23845
+ findTreeElement: findTreeElement,
23846
+ default: void 0
23847
+ });
23848
+ return {
23849
+ setters: [function (_tslib) {
23850
+ __awaiter = _tslib.__awaiter;
23851
+ __decorate = _tslib.__decorate;
23852
+ __metadata = _tslib.__metadata;
23853
+ }, function (_webAtomsCoreDistCoreXNode) {
23854
+ XNode = _webAtomsCoreDistCoreXNode.default;
23855
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
23856
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
23857
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
23858
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
23859
+ }, function (_webAtomsCoreDistWebCoreAtomUI) {
23860
+ AncestorEnumerator = _webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;
23861
+ }, function (_TreeViewGlobalCss) {}],
23862
+ execute: function () {
23863
+ expandSymbol = Symbol("expand");
23864
+ ;
23865
+ _export("default", TreeView = class TreeView extends AtomControl {
23866
+ constructor() {
23867
+ super(...arguments);
23868
+ this.map = new WeakMap();
23869
+ this.canSelect = x => true;
23870
+ this.isFolder = x => true;
23871
+ }
23872
+ init() {
23873
+ return __awaiter(this, void 0, void 0, function* () {});
23874
+ }
23875
+ onPropertyChanging(name, oldValue, newValue) {
23876
+ if (name === "selectedItem") {
23877
+ if (oldValue) {
23878
+ const selectedElement = this.map.get(oldValue);
23879
+ if (selectedElement) {
23880
+ selectedElement.removeAttribute("data-selected");
23881
+ }
23882
+ }
23883
+ if (newValue) {
23884
+ this.selectItem(newValue);
23885
+ }
23886
+ }
23887
+ }
23888
+ selectItem(newValue) {
23889
+ if (!this.childrenProperty) {
23890
+ return;
23891
+ }
23892
+ const element = this.map.get(newValue);
23893
+ if (!element) {
23894
+ if (this.root) {
23895
+ console.error(`Item not in the tree`);
23896
+ }
23897
+ return;
23898
+ }
23899
+ element.setAttribute("data-selected", "true");
23900
+ let start = element;
23901
+ while (start) {
23902
+ const pi = start.parentItem;
23903
+ if (!pi) {
23904
+ break;
23905
+ }
23906
+ start = this.map.get(pi);
23907
+ if (!start) {
23908
+ break;
23909
+ }
23910
+ this.expandElement(start, false);
23911
+ }
23912
+ }
23913
+ onPropertyChanged(name) {
23914
+ switch (name) {
23915
+ case "root":
23916
+ case "childrenProperty":
23917
+ case "labelRenderer":
23918
+ case "folderIconRenderer":
23919
+ case "fileIconRenderer":
23920
+ case "actionRenderer":
23921
+ const rootElement = this.element.firstElementChild;
23922
+ rootElement === null || rootElement === void 0 ? void 0 : rootElement.dispose();
23923
+ if (this.root && this.childrenProperty && this.labelRenderer && this.folderIconRenderer) {
23924
+ this.element.innerHTML = "";
23925
+ this.createElement(this.root, void 0, -1);
23926
+ this.expand(this.root);
23927
+ if (this.selectedItem) {
23928
+ this.selectItem(this.selectedItem);
23929
+ }
23930
+ }
23931
+ break;
23932
+ case "selectedItem":
23933
+ if (this.selectedItem) {
23934
+ this.selectItem(this.selectedItem);
23935
+ }
23936
+ break;
23937
+ }
23938
+ }
23939
+ expand(item) {
23940
+ const element = this.map.get(item);
23941
+ if (element) {
23942
+ this.expandElement(element, false);
23943
+ }
23944
+ }
23945
+ preCreate() {
23946
+ this.root = null;
23947
+ this.selectedItem = null;
23948
+ this.childrenProperty = null;
23949
+ this.actionRenderer = null;
23950
+ this.element.setAttribute("data-layout", "tree-view");
23951
+ this.labelRenderer = item => {
23952
+ var _a, _b, _c, _d;
23953
+ return XNode.create("span", {
23954
+ title: (_b = (_a = item.label) !== null && _a !== void 0 ? _a : item.name) !== null && _b !== void 0 ? _b : item,
23955
+ text: (_d = (_c = item.label) !== null && _c !== void 0 ? _c : item.name) !== null && _d !== void 0 ? _d : item
23956
+ });
23957
+ };
23958
+ this.folderIconRenderer = item => XNode.create("i", {
23959
+ class: "fas"
23960
+ });
23961
+ this.fileIconRenderer = item => XNode.create("i", {
23962
+ "data-element": "icon",
23963
+ "data-click-event": "none"
23964
+ });
23965
+ this.runAfterInit(() => {
23966
+ if (this.root && !this.element.firstElementChild) {
23967
+ if (this.childrenProperty) {
23968
+ this.createElement(this.root);
23969
+ this.expand(this.root);
23970
+ }
23971
+ if (this.selectedItem) {
23972
+ this.selectItem(this.selectedItem);
23973
+ }
23974
+ }
23975
+ });
23976
+ this.bindEvent(this.element, "selectItem", ce => {
23977
+ if (ce.defaultPrevented) {
23978
+ return;
23979
+ }
23980
+ const element = findTreeElement(ce.target);
23981
+ const dataItem = element === null || element === void 0 ? void 0 : element.dataItem;
23982
+ if (dataItem) {
23983
+ if (this.selectedItem !== dataItem) {
23984
+ const se = new CustomEvent("selectedItemChanging", {
23985
+ detail: dataItem,
23986
+ bubbles: true,
23987
+ cancelable: true
23988
+ });
23989
+ this.element.dispatchEvent(se);
23990
+ if (se.defaultPrevented) {
23991
+ return;
23992
+ }
23993
+ this.selectedItem = dataItem;
23994
+ }
23995
+ }
23996
+ });
23997
+ this.bindEvent(this.element, "toggleExpand", ce => {
23998
+ const element = findTreeElement(ce.target);
23999
+ this.expandElement(element);
24000
+ });
24001
+ this.runAfterInit(() => this.app.runAsync(() => {
24002
+ var _a;
24003
+ return (_a = this.init) === null || _a === void 0 ? void 0 : _a.call(this);
24004
+ }));
24005
+ }
24006
+ dispatchClickEvent(e, data) {
24007
+ const target = e.target;
24008
+ let start = target;
24009
+ while (start) {
24010
+ if (start.getAttribute("data-layout") === "tree-view-item") {
24011
+ break;
24012
+ }
24013
+ start = start.parentElement;
24014
+ }
24015
+ if (!start) {
24016
+ return super.dispatchClickEvent(e, data);
24017
+ }
24018
+ const item = start;
24019
+ const clickEvent = data === null || data === void 0 ? void 0 : data.clickEvent;
24020
+ data = item.dataItem;
24021
+ if (data) {
24022
+ data.clickEvent = clickEvent;
24023
+ }
24024
+ super.dispatchClickEvent(e, data);
24025
+ }
24026
+ expandElement(element, toggle = true) {
24027
+ if (!element) {
24028
+ return;
24029
+ }
24030
+ const {
24031
+ dataItem
24032
+ } = element;
24033
+ if (!dataItem) {
24034
+ return;
24035
+ }
24036
+ if (element.getAttribute("data-expanded")) {
24037
+ if (toggle) {
24038
+ element.removeAttribute("data-expanded");
24039
+ element.dispatchEvent(new CustomEvent("itemCollapsed", {
24040
+ detail: dataItem,
24041
+ bubbles: true,
24042
+ cancelable: true
24043
+ }));
24044
+ const children = this.childrenProperty(element.dataItem);
24045
+ for (const iterator of children) {
24046
+ this.updateExpanded(iterator, false);
24047
+ }
24048
+ }
24049
+ } else {
24050
+ element.setAttribute("data-expanded", "true");
24051
+ element.dispatchEvent(new CustomEvent("itemExpanded", {
24052
+ detail: dataItem,
24053
+ bubbles: true,
24054
+ cancelable: true
24055
+ }));
24056
+ this.updateExpanded(dataItem, true);
24057
+ }
24058
+ }
24059
+ createElement(item, parentItem, insertIndex = -1) {
24060
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
24061
+ const element = document.createElement("div");
24062
+ element.setAttribute("data-layout", "tree-view-item");
24063
+ element.dataItem = item;
24064
+ element.parentItem = parentItem;
24065
+ this.map.set(item, element);
24066
+ const children = this.childrenProperty(item);
24067
+ if (!children) {
24068
+ throw new Error("Children array must not be empty");
24069
+ }
24070
+ const watcher = children.watch((target, event, index, child) => {
24071
+ var _a;
24072
+ if (event === "add") {
24073
+ this.createElement(child, item, index);
24074
+ return;
24075
+ }
24076
+ if (event === "set") {
24077
+ const childElement = this.map.get(child);
24078
+ childElement === null || childElement === void 0 ? void 0 : childElement.dispose();
24079
+ this.createElement(child, item, index);
24080
+ return;
24081
+ }
24082
+ if (event === "remove") {
24083
+ const childElement = this.map.get(child);
24084
+ childElement === null || childElement === void 0 ? void 0 : childElement.dispose();
24085
+ return;
24086
+ }
24087
+ for (const iterator of children) {
24088
+ (_a = this.map.get(iterator)) === null || _a === void 0 ? void 0 : _a.dispose();
24089
+ }
24090
+ for (const iterator of children) {
24091
+ this.createElement(iterator, item);
24092
+ }
24093
+ });
24094
+ element.dispose = () => {
24095
+ var _a;
24096
+ watcher.dispose();
24097
+ for (const iterator of children) {
24098
+ (_a = this.map.get(iterator)) === null || _a === void 0 ? void 0 : _a.dispose();
24099
+ }
24100
+ element.remove();
24101
+ };
24102
+ const actionElement = (_a = this.actionRenderer) === null || _a === void 0 ? void 0 : _a.call(this, item);
24103
+ const isFolder = (_c = (_b = this.isFolder) === null || _b === void 0 ? void 0 : _b.call(this, item)) !== null && _c !== void 0 ? _c : true;
24104
+ const iconElement = isFolder ? this.folderIconRenderer(item) : (_e = (_d = this.fileIconRenderer) === null || _d === void 0 ? void 0 : _d.call(this, item)) !== null && _e !== void 0 ? _e : XNode.create("i", null);
24105
+ const labelElement = this.labelRenderer(item);
24106
+ if (iconElement) {
24107
+ const a = (_f = iconElement.attributes) !== null && _f !== void 0 ? _f : iconElement.attributes = {};
24108
+ (_g = a["data-element"]) !== null && _g !== void 0 ? _g : a["data-element"] = isFolder ? "expand-collapse" : "file-icon";
24109
+ (_h = a["data-click-event"]) !== null && _h !== void 0 ? _h : a["data-click-event"] = "toggle-expand";
24110
+ this.render(XNode.create("div", null, iconElement), element, this);
24111
+ }
24112
+ if (labelElement) {
24113
+ const a = (_j = labelElement.attributes) !== null && _j !== void 0 ? _j : labelElement.attributes = {};
24114
+ a["data-element"] = "label";
24115
+ (_k = a["data-click-event"]) !== null && _k !== void 0 ? _k : a["data-click-event"] = "select-item";
24116
+ this.render(XNode.create("div", null, labelElement), element, this);
24117
+ }
24118
+ if (actionElement) {
24119
+ ((_l = actionElement.attributes) !== null && _l !== void 0 ? _l : actionElement.attributes = {})["data-element"] = "action";
24120
+ this.render(XNode.create("div", null, actionElement), element, this);
24121
+ }
24122
+ const header = document.createElement("div");
24123
+ header.setAttribute("data-element", "header");
24124
+ element.appendChild(header);
24125
+ const parentElement = this.map.get(parentItem);
24126
+ let last = parentElement;
24127
+ if (parentItem) {
24128
+ const siblings = this.childrenProperty(parentItem);
24129
+ if (insertIndex === -1) {
24130
+ insertIndex = siblings.indexOf(item);
24131
+ }
24132
+ if (insertIndex >= 1) {
24133
+ last = this.map.get(siblings[insertIndex - 1]);
24134
+ }
24135
+ last.insertAdjacentElement("afterend", element);
24136
+ const pad = Number((_m = parentElement.getAttribute("data-pad")) !== null && _m !== void 0 ? _m : "0") + 10;
24137
+ element.setAttribute("data-pad", `${pad}`);
24138
+ element.style.paddingLeft = `${pad}px`;
24139
+ } else {
24140
+ this.element.appendChild(element);
24141
+ this.expandElement(element, false);
24142
+ }
24143
+ for (const iterator of children) {
24144
+ this.createElement(iterator, item);
24145
+ }
24146
+ setTimeout(() => this.updateExpanded(), 1);
24147
+ return element;
24148
+ }
24149
+ updateExpanded(item, show) {
24150
+ if (!item) {
24151
+ item = this.root;
24152
+ show = true;
24153
+ }
24154
+ const element = this.map.get(item);
24155
+ if (!element) {
24156
+ return;
24157
+ }
24158
+ if (item === this.root) {
24159
+ show = true;
24160
+ } else if (show === void 0) {
24161
+ show = element.getAttribute("data-expanded") === "true";
24162
+ }
24163
+ if (show) {
24164
+ element.style.display = "";
24165
+ } else {
24166
+ element.style.display = "none";
24167
+ }
24168
+ const children = this.childrenProperty(element.dataItem);
24169
+ show && (show = element.getAttribute("data-expanded") === "true");
24170
+ for (const iterator of children) {
24171
+ this.updateExpanded(iterator, show);
24172
+ }
24173
+ }
24174
+ });
24175
+ __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "root", void 0);
24176
+ __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "selectedItem", void 0);
24177
+ delete TreeView.prototype.init;
24178
+ }
24179
+ };
24180
+ });
24181
+ //# sourceMappingURL=TreeView.js.map
24182
+
24183
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupButton");
24184
+
24185
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "./elements/AtomPopover"], function (_export, _context) {
24186
+ "use strict";
24187
+
24188
+ var __rest, XNode, AtomControl, AtomPopover;
24189
+ function InlinePopupButton(_a, ...nodes) {
24190
+ var _b, _c;
24191
+ var {
24192
+ icon,
24193
+ text,
24194
+ label,
24195
+ closeOnClick = true,
24196
+ popup
24197
+ } = _a,
24198
+ a = __rest(_a, ["icon", "text", "label", "closeOnClick", "popup"]);
24199
+ if (!a["anchor-right"]) {
24200
+ (_b = a["anchor-left"]) !== null && _b !== void 0 ? _b : a["anchor-left"] = "parent-right";
24201
+ }
24202
+ if (!a["anchor-bottom"]) {
24203
+ (_c = a["anchor-top"]) !== null && _c !== void 0 ? _c : a["anchor-top"] = "parent-top";
24204
+ }
24205
+ a["data-atom-popup-button"] = "popup-button";
24206
+ if (!popup) {
24207
+ const copy = nodes;
24208
+ const div = XNode.create("div", null, ...copy);
24209
+ popup = () => div;
24210
+ nodes = [];
24211
+ }
24212
+ a["popupFactory"] = popup;
24213
+ if (closeOnClick) {
24214
+ a["data-close-on-click"] = true;
24215
+ }
24216
+ if (!a["data-layout"]) {
24217
+ if (icon && text) {
24218
+ a["data-layout"] = "icon-button";
24219
+ } else {
24220
+ a["data-layout"] = "button";
24221
+ }
24222
+ }
24223
+ return XNode.create("button", Object.assign({
24224
+ "data-inline-popup-button": "inline-popup-button",
24225
+ "data-atom-popup-button": "1"
24226
+ }, a), icon && XNode.create("i", {
24227
+ class: icon
24228
+ }), text && XNode.create("span", {
24229
+ text: text
24230
+ }), label && XNode.create("label", {
24231
+ text: text
24232
+ }), ...nodes);
24233
+ }
24234
+ _export("default", InlinePopupButton);
24235
+ return {
24236
+ setters: [function (_tslib) {
24237
+ __rest = _tslib.__rest;
24238
+ }, function (_webAtomsCoreDistCoreXNode) {
24239
+ XNode = _webAtomsCoreDistCoreXNode.default;
24240
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
24241
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24242
+ }, function (_elementsAtomPopover) {
24243
+ AtomPopover = _elementsAtomPopover.default;
24244
+ }],
24245
+ execute: function () {
24246
+ document.body.addEventListener("click", e => {
24247
+ let start = e.target;
24248
+ while (start) {
24249
+ if (start.hasAttribute("data-atom-popup-button")) {
24250
+ break;
24251
+ }
24252
+ start = start.parentElement;
24253
+ }
24254
+ if (!start) {
24255
+ return;
24256
+ }
24257
+ const pf = start["popupFactory"];
24258
+ if (!pf) {
24259
+ return;
24260
+ }
24261
+ const control = AtomControl.from(start);
24262
+ const app = control.app;
24263
+ const target = start;
24264
+ const element = control.element;
24265
+ const dataFactory = () => {
24266
+ let itemIndex;
24267
+ let data;
24268
+ if (control.items && control.itemRenderer) {
24269
+ while (start && start !== element) {
24270
+ itemIndex !== null && itemIndex !== void 0 ? itemIndex : itemIndex = start.getAttribute("data-item-index");
24271
+ if (itemIndex) {
24272
+ data = control.items[~~itemIndex];
24273
+ break;
24274
+ }
24275
+ start = start.parentElement;
24276
+ }
24277
+ }
24278
+ if (!data) {
24279
+ data = new Proxy(target, {
24280
+ get(t, p, receiver) {
24281
+ let s = target;
24282
+ while (s) {
24283
+ const v = s.dataset[p];
24284
+ if (v !== void 0) {
24285
+ return v;
24286
+ }
24287
+ s = s.parentElement;
24288
+ }
24289
+ }
24290
+ });
24291
+ }
24292
+ return data;
24293
+ };
24294
+ let closeOnClick = void 0;
24295
+ const dataCloseOnClick = target.getAttribute("data-close-on-click");
24296
+ if (dataCloseOnClick) {
24297
+ closeOnClick = /^(true|yes|1)$/i.test(dataCloseOnClick);
24298
+ }
24299
+ AtomPopover.create(target, {
24300
+ nodeFactory: data => pf(data),
24301
+ dataFactory,
24302
+ closeOnClick,
24303
+ "anchor-bottom": target.getAttribute("anchor-bottom"),
24304
+ "anchor-top": target.getAttribute("anchor-top"),
24305
+ "anchor-left": target.getAttribute("anchor-left"),
24306
+ "anchor-right": target.getAttribute("anchor-right")
24307
+ });
24308
+ });
24309
+ }
24310
+ };
24311
+ });
24312
+ //# sourceMappingURL=InlinePopupButton.js.map
24313
+
24314
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PopupButton");
24315
+
24316
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/popup-button.global.css", "./InlinePopupButton"], function (_export, _context) {
24317
+ "use strict";
24318
+
24319
+ var __rest, XNode, InlinePopupButton;
24320
+ function MenuItem(_a) {
24321
+ var {
24322
+ label,
24323
+ icon,
24324
+ eventClick,
24325
+ href,
24326
+ target
24327
+ } = _a,
24328
+ others = __rest(_a, ["label", "icon", "eventClick", "href", "target"]);
24329
+ if (href) {
24330
+ return XNode.create("a", Object.assign({
24331
+ "data-menu-item": "menu-item",
24332
+ href: href,
24333
+ target: target
24334
+ }, others), icon && XNode.create("i", {
24335
+ "data-element": "icon",
24336
+ class: icon
24337
+ }), label && XNode.create("span", {
24338
+ "data-element": "label",
24339
+ text: label
24340
+ }));
24341
+ }
24342
+ return XNode.create("div", Object.assign({
24343
+ "data-menu-item": "menu-item",
24344
+ eventClick: eventClick
24345
+ }, others), icon && XNode.create("i", {
24346
+ "data-element": "icon",
24347
+ class: icon
24348
+ }), label && XNode.create("span", {
24349
+ "data-element": "label",
24350
+ text: label
24351
+ }));
24352
+ }
24353
+ function PopupActionButton(a, ...nodes) {
24354
+ var _a;
24355
+ (_a = a.closeOnClick) !== null && _a !== void 0 ? _a : a.closeOnClick = true;
24356
+ a["anchor-top"] = "parent-bottom";
24357
+ a["anchor-right"] = "parent-left";
24358
+ return InlinePopupButton(a, ...nodes);
24359
+ }
24360
+ _export({
24361
+ MenuItem: MenuItem,
24362
+ PopupActionButton: PopupActionButton
24363
+ });
24364
+ return {
24365
+ setters: [function (_tslib) {
24366
+ __rest = _tslib.__rest;
24367
+ }, function (_webAtomsCoreDistCoreXNode) {
24368
+ XNode = _webAtomsCoreDistCoreXNode.default;
24369
+ }, function (_stylesPopupButtonGlobalCss) {}, function (_InlinePopupButton) {
24370
+ InlinePopupButton = _InlinePopupButton.default;
24371
+ }],
24372
+ execute: function () {
24373
+ _export("default", InlinePopupButton);
24374
+ }
24375
+ };
24376
+ });
24377
+ //# sourceMappingURL=PopupButton.js.map
24378
+
24379
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");
24380
+
24381
+ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core/Command", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/web/services/PopupService"], function (_export, _context) {
24382
+ "use strict";
24383
+
24384
+ var __rest, App, Command, StringHelper, XNode, AtomControl, PopupService, UploadEvent, acceptCache, isFileType, previousFile, uploadCommand, requestUpload, id;
24385
+ return {
24386
+ setters: [function (_tslib) {
24387
+ __rest = _tslib.__rest;
24388
+ }, function (_webAtomsCoreDistApp) {
24389
+ App = _webAtomsCoreDistApp.App;
24390
+ }, function (_webAtomsCoreDistCoreCommand) {
24391
+ Command = _webAtomsCoreDistCoreCommand.default;
24392
+ }, function (_webAtomsCoreDistCoreStringHelper) {
24393
+ StringHelper = _webAtomsCoreDistCoreStringHelper.StringHelper;
24394
+ }, function (_webAtomsCoreDistCoreXNode) {
24395
+ XNode = _webAtomsCoreDistCoreXNode.default;
24396
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
24397
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24398
+ }, function (_webAtomsCoreDistWebServicesPopupService) {
24399
+ PopupService = _webAtomsCoreDistWebServicesPopupService.default;
24400
+ }],
24401
+ execute: function () {
24402
+ acceptCache = {};
24403
+ _export("isFileType", isFileType = acceptType => {
24404
+ var _a;
24405
+ function isFileTypeFactory(accept) {
24406
+ if (!accept || accept === "*/*") {
24407
+ return () => true;
24408
+ }
24409
+ const types = accept.split(/\,/g).map(x => {
24410
+ x = x.trim();
24411
+ if (x.startsWith(".")) {
24412
+ return file => file.name.endsWith(x);
24413
+ }
24414
+ if (x.endsWith("/*")) {
24415
+ const prefix = x.substring(0, x.length - 1);
24416
+ return file => file.type.startsWith(prefix);
24417
+ }
24418
+ return file => file.type === x;
24419
+ });
24420
+ return file => {
24421
+ for (const iterator of types) {
24422
+ if (iterator(file)) {
24423
+ return true;
24424
+ }
24425
+ }
24426
+ return false;
24427
+ };
24428
+ }
24429
+ return (_a = acceptCache[acceptType]) !== null && _a !== void 0 ? _a : acceptCache[acceptType] = isFileTypeFactory(acceptType);
24430
+ });
24431
+ uploadCommand = Command.create({
24432
+ name: "upload-command"
24433
+ });
24434
+ requestUpload = ({
24435
+ element,
24436
+ multiple,
24437
+ authorize,
24438
+ extra,
24439
+ convert,
24440
+ upload,
24441
+ folder,
24442
+ stream,
24443
+ maxStreamSize,
24444
+ uploadEvent
24445
+ }) => {
24446
+ if (authorize) {
24447
+ if (!App.authorize()) {
24448
+ return;
24449
+ }
24450
+ }
24451
+ const chain = [];
24452
+ let start = element;
24453
+ while (start) {
24454
+ chain.push(start);
24455
+ start = start.parentElement;
24456
+ }
24457
+ previousFile === null || previousFile === void 0 ? void 0 : previousFile.remove();
24458
+ const file = document.createElement("input");
24459
+ file.type = "file";
24460
+ file.multiple = multiple;
24461
+ if (folder) {
24462
+ file.webkitdirectory = folder;
24463
+ }
24464
+ const accept = element.getAttribute("data-accept") || "*/*";
24465
+ file.accept = accept;
24466
+ const capture = element.getAttribute("data-capture");
24467
+ if (capture) {
24468
+ file.capture = capture;
24469
+ }
24470
+ file.style.position = "absolute";
24471
+ file.style.left = "-1000px";
24472
+ file.style.top = "-1000px";
24473
+ document.body.append(file);
24474
+ previousFile = file;
24475
+ const maxSize = parseInt(element.getAttribute("data-max-size") || "0", 10);
24476
+ stream || (stream = element.getAttribute("data-stream") === "true");
24477
+ maxStreamSize !== null && maxStreamSize !== void 0 ? maxStreamSize : maxStreamSize = parseInt(element.getAttribute("data-max-stream-size") || "0", 10);
24478
+ const forceType = element.getAttribute("data-force-type") === "true";
24479
+ file.addEventListener("change", () => {
24480
+ let files = Array.from(file.files);
24481
+ let msgItems = [];
24482
+ if (forceType || maxSize) {
24483
+ const validated = [];
24484
+ const checkFileType = isFileType(accept);
24485
+ for (const iterator of files) {
24486
+ if (forceType) {
24487
+ if (!checkFileType(iterator)) {
24488
+ msgItems.push(`${iterator.name} is invalid file.`, XNode.create("br", null));
24489
+ continue;
24490
+ }
24491
+ }
24492
+ if (stream) {
24493
+ if (iterator.size > maxStreamSize) {
24494
+ msgItems.push(`Size of ${iterator.name} is more than ${maxSize}.`, XNode.create("br", null));
24495
+ continue;
24496
+ }
24497
+ validated.push(iterator);
24498
+ continue;
24499
+ }
24500
+ if (!convert && maxSize && iterator.size > maxSize) {
24501
+ msgItems.push(`Size of ${iterator.name} is more than ${maxSize}.`, XNode.create("br", null));
24502
+ continue;
24503
+ }
24504
+ validated.push(iterator);
24505
+ }
24506
+ files = validated;
24507
+ }
24508
+ file.remove();
24509
+ previousFile = null;
24510
+ chain.reverse();
24511
+ while (chain.length) {
24512
+ const root = chain.pop();
24513
+ if (root.isConnected) {
24514
+ const control = AtomControl.from(root);
24515
+ if (msgItems.length) {
24516
+ const msg = XNode.create("p", null, ...msgItems);
24517
+ control.app.runAsync(() => PopupService.alert({
24518
+ message: msg
24519
+ }));
24520
+ if (files.length === 0) {
24521
+ return;
24522
+ }
24523
+ }
24524
+ if (upload) {
24525
+ const doUploadEvent = new CustomEvent("uploadRequested", {
24526
+ detail: {
24527
+ files,
24528
+ extra,
24529
+ convert,
24530
+ stream,
24531
+ maxStreamSize,
24532
+ maxSize,
24533
+ uploadEvent
24534
+ },
24535
+ bubbles: true,
24536
+ cancelable: true
24537
+ });
24538
+ root.dispatchEvent(doUploadEvent);
24539
+ if (doUploadEvent.defaultPrevented) {
24540
+ return;
24541
+ }
24542
+ }
24543
+ root.dispatchEvent(new CustomEvent(uploadEvent, {
24544
+ detail: {
24545
+ files,
24546
+ extra
24547
+ },
24548
+ bubbles: true
24549
+ }));
24550
+ break;
24551
+ }
24552
+ }
24553
+ });
24554
+ setTimeout(() => {
24555
+ file.dispatchEvent(new MouseEvent("click"));
24556
+ });
24557
+ };
24558
+ window.addEventListener(uploadCommand.eventName, ce => {
24559
+ var _a, _b;
24560
+ if (ce.defaultPrevented) {
24561
+ return;
24562
+ }
24563
+ const element = ce.target;
24564
+ const authorize = element.getAttribute("data-authorize") === "true";
24565
+ const multiple = element.getAttribute("data-multiple") === "true";
24566
+ const extra = (_a = element.extra) !== null && _a !== void 0 ? _a : element.getAttribute("data-extra");
24567
+ const upload = element.getAttribute("data-upload") === "true";
24568
+ const folder = element.hasAttribute("data-folder");
24569
+ const convert = element.getAttribute("data-convert") === "true";
24570
+ const stream = element.getAttribute("data-stream") === "true";
24571
+ const maxStreamSize = parseInt((_b = element.getAttribute("data-max-stream-size")) !== null && _b !== void 0 ? _b : "0", 10);
24572
+ const uploadEvent = StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));
24573
+ requestUpload({
24574
+ element,
24575
+ authorize,
24576
+ multiple,
24577
+ extra,
24578
+ convert,
24579
+ upload,
24580
+ folder,
24581
+ stream,
24582
+ maxStreamSize,
24583
+ uploadEvent
24584
+ });
24585
+ });
24586
+ id = 1;
24587
+ UploadEvent = class UploadEvent {
24588
+ static AttachUploadAction(_a) {
24589
+ var {
24590
+ uploadEvent = "filesAvailable",
24591
+ accept = "*/*",
24592
+ capture,
24593
+ multiple = false,
24594
+ forceType = true,
24595
+ maxSize = 524288000,
24596
+ maxStreamSize = 100 * 1024 * 1024,
24597
+ stream = false,
24598
+ extra,
24599
+ convert = false,
24600
+ upload = true,
24601
+ authorize = true,
24602
+ ariaLabel = "Upload",
24603
+ folder = false
24604
+ } = _a,
24605
+ others = __rest(_a, ["uploadEvent", "accept", "capture", "multiple", "forceType", "maxSize", "maxStreamSize", "stream", "extra", "convert", "upload", "authorize", "ariaLabel", "folder"]);
24606
+ return Object.assign(Object.assign({}, others), {
24607
+ "data-folder": folder ? "true" : void 0,
24608
+ "data-click-command": uploadCommand.name,
24609
+ "data-upload-event": uploadEvent,
24610
+ "data-accept": accept,
24611
+ "data-multiple": multiple ? "true" : "false",
24612
+ "data-capture": capture,
24613
+ "data-convert": convert,
24614
+ "data-stream": stream ? "true" : "false",
24615
+ "data-max-stream-size": maxStreamSize ? maxStreamSize.toString() : undefined,
24616
+ "data-upload": upload ? "true" : "false",
24617
+ "data-force-type": forceType ? "true" : "false",
24618
+ "data-max-size": maxSize ? maxSize.toString() : undefined,
24619
+ "data-authorize": authorize.toString(),
24620
+ "aria-label": ariaLabel,
24621
+ extra
24622
+ });
24623
+ }
24624
+ };
24625
+ UploadEvent.requestUpload = requestUpload;
24626
+ _export("default", UploadEvent);
24627
+ }
24628
+ };
24629
+ });
24630
+ //# sourceMappingURL=UploadEvent.js.map
24631
+
24632
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");
24633
+
24634
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./TreeView", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/basic/PopupButton", "@web-atoms/web-controls/dist/basic/UploadEvent", "../../pages/files/service/CloudFileService"], function (_export, _context) {
24635
+ "use strict";
24636
+
24637
+ var __awaiter, __decorate, __metadata, XNode, TreeView, BindableProperty, InjectProperty, Bind, Action, InlinePopupButton, MenuItem, UploadEvent, CloudFileService, FolderTreeView, FileTreeView, getExtension;
24638
+ _export({
24639
+ FolderTreeView: void 0,
24640
+ FileTreeView: void 0
24641
+ });
24642
+ return {
24643
+ setters: [function (_tslib) {
24644
+ __awaiter = _tslib.__awaiter;
24645
+ __decorate = _tslib.__decorate;
24646
+ __metadata = _tslib.__metadata;
24647
+ }, function (_webAtomsCoreDistCoreXNode) {
24648
+ XNode = _webAtomsCoreDistCoreXNode.default;
24649
+ }, function (_TreeView) {
24650
+ TreeView = _TreeView.default;
24651
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
24652
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
24653
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
24654
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
24655
+ }, function (_webAtomsCoreDistCoreBind) {
24656
+ Bind = _webAtomsCoreDistCoreBind.default;
24657
+ }, function (_webAtomsCoreDistViewModelAction) {
24658
+ Action = _webAtomsCoreDistViewModelAction.default;
24659
+ }, function (_webAtomsWebControlsDistBasicPopupButton) {
24660
+ InlinePopupButton = _webAtomsWebControlsDistBasicPopupButton.default;
24661
+ MenuItem = _webAtomsWebControlsDistBasicPopupButton.MenuItem;
24662
+ }, function (_webAtomsWebControlsDistBasicUploadEvent) {
24663
+ UploadEvent = _webAtomsWebControlsDistBasicUploadEvent.default;
24664
+ }, function (_pagesFilesServiceCloudFileService) {
24665
+ CloudFileService = _pagesFilesServiceCloudFileService.default;
24666
+ }],
24667
+ execute: function () {
24668
+ getExtension = name => {
24669
+ const index = name.lastIndexOf(".");
24670
+ if (index === -1) {
24671
+ return "dat";
24672
+ }
24673
+ return name.substring(index + 1);
24674
+ };
24675
+ _export("FolderTreeView", FolderTreeView = class FolderTreeView extends TreeView {
24676
+ constructor(app, e) {
24677
+ super(app, e);
24678
+ this.accept = null;
24679
+ this.childrenProperty = item => {
24680
+ var _a;
24681
+ return (_a = item.children) !== null && _a !== void 0 ? _a : item.children = [];
24682
+ };
24683
+ this.canSelect = item => item.isFolder;
24684
+ this.isFolder = item => item.isFolder;
24685
+ this.fileIconRenderer = item => XNode.create("i", {
24686
+ "data-click-event": "none",
24687
+ class: `fiv-viv fiv-icon-${getExtension(item.name)}`
24688
+ });
24689
+ this.labelRenderer = x => XNode.create("span", {
24690
+ text: x.name,
24691
+ title: x.name
24692
+ });
24693
+ this.actionRenderer = item => this.root === item ? XNode.create("i", {
24694
+ "data-cursor": "pointer",
24695
+ title: "New Folder",
24696
+ "data-click-event": "new-folder",
24697
+ class: "fas fa-plus"
24698
+ }) : XNode.create(InlinePopupButton, {
24699
+ "data-layout": "icon-button",
24700
+ icon: "fa-solid fa-ellipsis-vertical"
24701
+ }, XNode.create("div", {
24702
+ "data-layout": "vertical-flex",
24703
+ "style-width": "200px"
24704
+ }, item.isFolder && XNode.create(MenuItem, {
24705
+ "data-click-event": "new-folder",
24706
+ icon: "fas fa-plus",
24707
+ label: "New Folder"
24708
+ }), this.root !== item && XNode.create(MenuItem, {
24709
+ "data-click-event": "rename-file",
24710
+ icon: "fa-duotone fa-i-cursor",
24711
+ label: "Rename"
24712
+ }), this.root !== item && XNode.create(MenuItem, {
24713
+ "data-click-event": "delete-file",
24714
+ icon: "fas fa-trash-can",
24715
+ label: "Delete"
24716
+ })));
24717
+ this.render(XNode.create("div", {
24718
+ folder: Bind.oneWayAsync((c, _, cancelToken) => this.loadFolder(this.folderId, this.accept, cancelToken))
24719
+ }));
24720
+ }
24721
+ onItemExpanded(item) {
24722
+ return __awaiter(this, void 0, void 0, function* () {
24723
+ yield this.cloudFileService.expand(item, void 0, this.accept);
24724
+ const setParent = i => {
24725
+ if (!i.children) {
24726
+ return;
24727
+ }
24728
+ for (const iterator of i.children) {
24729
+ iterator.parent = i;
24730
+ }
24731
+ };
24732
+ setParent(item);
24733
+ });
24734
+ }
24735
+ onDeleteItem(file) {
24736
+ return __awaiter(this, void 0, void 0, function* () {
24737
+ var _a;
24738
+ file.isDeleted = true;
24739
+ yield this.cloudFileService.save(file);
24740
+ const e = this.map.get(file);
24741
+ const prev = (_a = e.previousElementSibling) !== null && _a !== void 0 ? _a : e.parentElement;
24742
+ e.remove();
24743
+ this.selectedItem = prev.dataItem;
24744
+ this.element.dispatchEvent(new CustomEvent("file-deleted", {
24745
+ detail: file,
24746
+ bubbles: true
24747
+ }));
24748
+ });
24749
+ }
24750
+ onNewFolder(file) {
24751
+ return __awaiter(this, void 0, void 0, function* () {
24752
+ var _a;
24753
+ const name = prompt("Enter new name of new folder", "");
24754
+ if (!name) {
24755
+ return;
24756
+ }
24757
+ const parentID = file.appFileID;
24758
+ const child = yield this.cloudFileService.createFolder({
24759
+ name,
24760
+ parentID
24761
+ });
24762
+ ((_a = file.children) !== null && _a !== void 0 ? _a : file.children = []).add(child);
24763
+ child.parent = file;
24764
+ });
24765
+ }
24766
+ onRenameItem(file) {
24767
+ return __awaiter(this, void 0, void 0, function* () {
24768
+ const newName = prompt("Enter new name of the file", file.name);
24769
+ if (!newName || newName === file.name) {
24770
+ return;
24771
+ }
24772
+ file.name = newName;
24773
+ yield this.cloudFileService.save(file);
24774
+ const e = this.map.get(file);
24775
+ const {
24776
+ parentItem: {
24777
+ children
24778
+ }
24779
+ } = e;
24780
+ children.set(children.indexOf(file), file);
24781
+ });
24782
+ }
24783
+ loadFolder(folder, accept, cancelToken) {
24784
+ return __awaiter(this, void 0, void 0, function* () {
24785
+ const f = yield this.cloudFileService.getFolder(folder, cancelToken);
24786
+ this.root = f;
24787
+ this.selectedItem = f;
24155
24788
  });
24156
24789
  }
24157
- getFilePath(root, selectedFile) {
24158
- var _a;
24159
- const [ignore, ...segments] = selectedFile.path.split("/");
24160
- let path = "";
24161
- for (const iterator of segments) {
24162
- if (selectedFile.appFileID === iterator) {
24163
- break;
24164
- }
24165
- root = (_a = root.children) === null || _a === void 0 ? void 0 : _a.find(x => x.appFileID === iterator);
24166
- if (!root) {
24167
- return path;
24790
+ });
24791
+ __decorate([BindableProperty, __metadata("design:type", String)], FolderTreeView.prototype, "accept", void 0);
24792
+ __decorate([BindableProperty, __metadata("design:type", Number)], FolderTreeView.prototype, "folderId", void 0);
24793
+ __decorate([InjectProperty, __metadata("design:type", CloudFileService)], FolderTreeView.prototype, "cloudFileService", void 0);
24794
+ __decorate([Action({
24795
+ onEvent: "item-expanded"
24796
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], FolderTreeView.prototype, "onItemExpanded", null);
24797
+ __decorate([Action({
24798
+ onEvent: "delete-file",
24799
+ confirm: "Are you sure you want to delete the selected?"
24800
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], FolderTreeView.prototype, "onDeleteItem", null);
24801
+ __decorate([Action({
24802
+ onEvent: "new-folder"
24803
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], FolderTreeView.prototype, "onNewFolder", null);
24804
+ __decorate([Action({
24805
+ onEvent: "rename-file"
24806
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], FolderTreeView.prototype, "onRenameItem", null);
24807
+ _export("FileTreeView", FileTreeView = class FileTreeView extends FolderTreeView {
24808
+ constructor(app, e) {
24809
+ super(app, e);
24810
+ this.menuActions = null;
24811
+ this.canSelect = item => !item.isFolder;
24812
+ this.labelRenderer = x => XNode.create("span", {
24813
+ text: x.name,
24814
+ title: x.name,
24815
+ "data-click-event": x.isFolder ? "none" : "select-item"
24816
+ });
24817
+ this.actionRenderer = item => XNode.create(InlinePopupButton, {
24818
+ "data-layout": "icon-button",
24819
+ icon: "fa-solid fa-ellipsis-vertical",
24820
+ popup: () => {
24821
+ var _a, _b;
24822
+ return XNode.create("div", {
24823
+ "data-layout": "vertical-flex",
24824
+ "style-width": "200px"
24825
+ }, item.isFolder && XNode.create(MenuItem, {
24826
+ "data-click-event": "new-folder",
24827
+ icon: "fas fa-plus",
24828
+ label: "New Folder"
24829
+ }), item.isFolder && XNode.create(MenuItem, Object.assign({
24830
+ "data-click-event": "none",
24831
+ icon: "fas fa-upload",
24832
+ label: "Upload File",
24833
+ "data-extra": JSON.stringify({
24834
+ parentID: item.appFileID
24835
+ })
24836
+ }, UploadEvent.AttachUploadAction({
24837
+ multiple: true,
24838
+ folder: true,
24839
+ accept: "*/*"
24840
+ }))), ...((_b = (_a = this.menuActions) === null || _a === void 0 ? void 0 : _a.call(this, item)) !== null && _b !== void 0 ? _b : []), this.root !== item && XNode.create(MenuItem, {
24841
+ "data-click-event": "rename-file",
24842
+ icon: "fa-duotone fa-i-cursor",
24843
+ label: "Rename"
24844
+ }), this.root !== item && XNode.create(MenuItem, {
24845
+ "data-click-event": "delete-file",
24846
+ icon: "fas fa-trash-can",
24847
+ label: "Delete"
24848
+ }));
24168
24849
  }
24169
- path += root.name + "/";
24170
- }
24171
- return path;
24850
+ });
24172
24851
  }
24173
- };
24174
- __decorate([Inject, __metadata("design:type", EntityService)], CloudFileService.prototype, "entityService", void 0);
24175
- __decorate([Inject, __metadata("design:type", LocalFileService)], CloudFileService.prototype, "localFileService", void 0);
24176
- CloudFileService = __decorate([DISingleton()], CloudFileService);
24177
- _export("default", CloudFileService);
24852
+ loadFolder(folder, accept, cancelToken) {
24853
+ return __awaiter(this, void 0, void 0, function* () {
24854
+ const f = yield this.cloudFileService.root({
24855
+ id: folder,
24856
+ cancelToken
24857
+ });
24858
+ this.root = f;
24859
+ });
24860
+ }
24861
+ });
24178
24862
  }
24179
24863
  };
24180
24864
  });
24181
- //# sourceMappingURL=CloudFileService.js.map
24865
+ //# sourceMappingURL=FileTreeView.js.map
24182
24866
 
24183
24867
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage");
24184
24868
 
24185
- System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/core/dist/core/XNode", "../../controls/tree/TreeView", "../../../model/model", "@web-atoms/core/dist/core/InjectProperty", "../../controls/buttons/IconButton", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../files/service/CloudFileService", "./ChooseFolderPage.local.css"], function (_export, _context) {
24869
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/core/dist/core/XNode", "../../../model/model", "@web-atoms/core/dist/core/InjectProperty", "../../controls/buttons/IconButton", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../files/service/CloudFileService", "./ChooseFolderPage.local.css", "../../controls/tree/FileTreeView"], function (_export, _context) {
24186
24870
  "use strict";
24187
24871
 
24188
- var __awaiter, __decorate, __metadata, PopupWindowPage, XNode, TreeView, AppFile, InjectProperty, SaveIconTextButton, Bind, AtomRepeater, CloudFileService, ChooserFolderPage, css;
24872
+ var __awaiter, __decorate, __metadata, PopupWindowPage, XNode, AppFile, InjectProperty, SaveIconTextButton, Bind, AtomRepeater, CloudFileService, FolderTreeView, ChooserFolderPage, css;
24189
24873
  _export("default", void 0);
24190
24874
  return {
24191
24875
  setters: [function (_tslib) {
@@ -24196,8 +24880,6 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24196
24880
  PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
24197
24881
  }, function (_webAtomsCoreDistCoreXNode) {
24198
24882
  XNode = _webAtomsCoreDistCoreXNode.default;
24199
- }, function (_controlsTreeTreeView) {
24200
- TreeView = _controlsTreeTreeView.default;
24201
24883
  }, function (_modelModel) {
24202
24884
  AppFile = _modelModel.AppFile;
24203
24885
  }, function (_webAtomsCoreDistCoreInjectProperty) {
@@ -24210,7 +24892,9 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24210
24892
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
24211
24893
  }, function (_filesServiceCloudFileService) {
24212
24894
  CloudFileService = _filesServiceCloudFileService.default;
24213
- }, function (_ChooseFolderPageLocalCss) {}],
24895
+ }, function (_ChooseFolderPageLocalCss) {}, function (_controlsTreeFileTreeView) {
24896
+ FolderTreeView = _controlsTreeFileTreeView.FolderTreeView;
24897
+ }],
24214
24898
  execute: function () {
24215
24899
  css = "choose-folder-page";
24216
24900
  _export("default", ChooserFolderPage = class ChooserFolderPage extends PopupWindowPage {
@@ -24240,7 +24924,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24240
24924
  this.root.children = drives.items;
24241
24925
  this.renderer = XNode.create("div", {
24242
24926
  class: css
24243
- }, XNode.create(TreeView, {
24927
+ }, XNode.create(FolderTreeView, {
24244
24928
  class: "folders",
24245
24929
  childrenProperty: item => {
24246
24930
  var _a;
@@ -28997,207 +29681,11 @@ System.register(["@web-atoms/date-time/dist/DateTime"], function (_export, _cont
28997
29681
  return diff + " " + suffix;
28998
29682
  }
28999
29683
  }
29000
- });
29001
- }
29002
- };
29003
- });
29004
- //# sourceMappingURL=DateFormats.js.map
29005
-
29006
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupButton");
29007
-
29008
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "./elements/AtomPopover"], function (_export, _context) {
29009
- "use strict";
29010
-
29011
- var __rest, XNode, AtomControl, AtomPopover;
29012
- function InlinePopupButton(_a, ...nodes) {
29013
- var _b, _c;
29014
- var {
29015
- icon,
29016
- text,
29017
- label,
29018
- closeOnClick = true,
29019
- popup
29020
- } = _a,
29021
- a = __rest(_a, ["icon", "text", "label", "closeOnClick", "popup"]);
29022
- if (!a["anchor-right"]) {
29023
- (_b = a["anchor-left"]) !== null && _b !== void 0 ? _b : a["anchor-left"] = "parent-right";
29024
- }
29025
- if (!a["anchor-bottom"]) {
29026
- (_c = a["anchor-top"]) !== null && _c !== void 0 ? _c : a["anchor-top"] = "parent-top";
29027
- }
29028
- a["data-atom-popup-button"] = "popup-button";
29029
- if (!popup) {
29030
- const copy = nodes;
29031
- const div = XNode.create("div", null, ...copy);
29032
- popup = () => div;
29033
- nodes = [];
29034
- }
29035
- a["popupFactory"] = popup;
29036
- if (closeOnClick) {
29037
- a["data-close-on-click"] = true;
29038
- }
29039
- if (!a["data-layout"]) {
29040
- if (icon && text) {
29041
- a["data-layout"] = "icon-button";
29042
- } else {
29043
- a["data-layout"] = "button";
29044
- }
29045
- }
29046
- return XNode.create("button", Object.assign({
29047
- "data-inline-popup-button": "inline-popup-button",
29048
- "data-atom-popup-button": "1"
29049
- }, a), icon && XNode.create("i", {
29050
- class: icon
29051
- }), text && XNode.create("span", {
29052
- text: text
29053
- }), label && XNode.create("label", {
29054
- text: text
29055
- }), ...nodes);
29056
- }
29057
- _export("default", InlinePopupButton);
29058
- return {
29059
- setters: [function (_tslib) {
29060
- __rest = _tslib.__rest;
29061
- }, function (_webAtomsCoreDistCoreXNode) {
29062
- XNode = _webAtomsCoreDistCoreXNode.default;
29063
- }, function (_webAtomsCoreDistWebControlsAtomControl) {
29064
- AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
29065
- }, function (_elementsAtomPopover) {
29066
- AtomPopover = _elementsAtomPopover.default;
29067
- }],
29068
- execute: function () {
29069
- document.body.addEventListener("click", e => {
29070
- let start = e.target;
29071
- while (start) {
29072
- if (start.hasAttribute("data-atom-popup-button")) {
29073
- break;
29074
- }
29075
- start = start.parentElement;
29076
- }
29077
- if (!start) {
29078
- return;
29079
- }
29080
- const pf = start["popupFactory"];
29081
- if (!pf) {
29082
- return;
29083
- }
29084
- const control = AtomControl.from(start);
29085
- const app = control.app;
29086
- const target = start;
29087
- const element = control.element;
29088
- const dataFactory = () => {
29089
- let itemIndex;
29090
- let data;
29091
- if (control.items && control.itemRenderer) {
29092
- while (start && start !== element) {
29093
- itemIndex !== null && itemIndex !== void 0 ? itemIndex : itemIndex = start.getAttribute("data-item-index");
29094
- if (itemIndex) {
29095
- data = control.items[~~itemIndex];
29096
- break;
29097
- }
29098
- start = start.parentElement;
29099
- }
29100
- }
29101
- if (!data) {
29102
- data = new Proxy(target, {
29103
- get(t, p, receiver) {
29104
- let s = target;
29105
- while (s) {
29106
- const v = s.dataset[p];
29107
- if (v !== void 0) {
29108
- return v;
29109
- }
29110
- s = s.parentElement;
29111
- }
29112
- }
29113
- });
29114
- }
29115
- return data;
29116
- };
29117
- let closeOnClick = void 0;
29118
- const dataCloseOnClick = target.getAttribute("data-close-on-click");
29119
- if (dataCloseOnClick) {
29120
- closeOnClick = /^(true|yes|1)$/i.test(dataCloseOnClick);
29121
- }
29122
- AtomPopover.create(target, {
29123
- nodeFactory: data => pf(data),
29124
- dataFactory,
29125
- closeOnClick,
29126
- "anchor-bottom": target.getAttribute("anchor-bottom"),
29127
- "anchor-top": target.getAttribute("anchor-top"),
29128
- "anchor-left": target.getAttribute("anchor-left"),
29129
- "anchor-right": target.getAttribute("anchor-right")
29130
- });
29131
- });
29132
- }
29133
- };
29134
- });
29135
- //# sourceMappingURL=InlinePopupButton.js.map
29136
-
29137
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PopupButton");
29138
-
29139
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/popup-button.global.css", "./InlinePopupButton"], function (_export, _context) {
29140
- "use strict";
29141
-
29142
- var __rest, XNode, InlinePopupButton;
29143
- function MenuItem(_a) {
29144
- var {
29145
- label,
29146
- icon,
29147
- eventClick,
29148
- href,
29149
- target
29150
- } = _a,
29151
- others = __rest(_a, ["label", "icon", "eventClick", "href", "target"]);
29152
- if (href) {
29153
- return XNode.create("a", Object.assign({
29154
- "data-menu-item": "menu-item",
29155
- href: href,
29156
- target: target
29157
- }, others), icon && XNode.create("i", {
29158
- "data-element": "icon",
29159
- class: icon
29160
- }), label && XNode.create("span", {
29161
- "data-element": "label",
29162
- text: label
29163
- }));
29164
- }
29165
- return XNode.create("div", Object.assign({
29166
- "data-menu-item": "menu-item",
29167
- eventClick: eventClick
29168
- }, others), icon && XNode.create("i", {
29169
- "data-element": "icon",
29170
- class: icon
29171
- }), label && XNode.create("span", {
29172
- "data-element": "label",
29173
- text: label
29174
- }));
29175
- }
29176
- function PopupActionButton(a, ...nodes) {
29177
- var _a;
29178
- (_a = a.closeOnClick) !== null && _a !== void 0 ? _a : a.closeOnClick = true;
29179
- a["anchor-top"] = "parent-bottom";
29180
- a["anchor-right"] = "parent-left";
29181
- return InlinePopupButton(a, ...nodes);
29182
- }
29183
- _export({
29184
- MenuItem: MenuItem,
29185
- PopupActionButton: PopupActionButton
29186
- });
29187
- return {
29188
- setters: [function (_tslib) {
29189
- __rest = _tslib.__rest;
29190
- }, function (_webAtomsCoreDistCoreXNode) {
29191
- XNode = _webAtomsCoreDistCoreXNode.default;
29192
- }, function (_stylesPopupButtonGlobalCss) {}, function (_InlinePopupButton) {
29193
- InlinePopupButton = _InlinePopupButton.default;
29194
- }],
29195
- execute: function () {
29196
- _export("default", InlinePopupButton);
29684
+ });
29197
29685
  }
29198
29686
  };
29199
29687
  });
29200
- //# sourceMappingURL=PopupButton.js.map
29688
+ //# sourceMappingURL=DateFormats.js.map
29201
29689
 
29202
29690
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService");
29203
29691
 
@@ -32306,259 +32794,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
32306
32794
  });
32307
32795
  //# sourceMappingURL=Source.js.map
32308
32796
 
32309
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");
32310
-
32311
- System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core/Command", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/web/services/PopupService"], function (_export, _context) {
32312
- "use strict";
32313
-
32314
- var __rest, App, Command, StringHelper, XNode, AtomControl, PopupService, UploadEvent, acceptCache, isFileType, previousFile, uploadCommand, requestUpload, id;
32315
- return {
32316
- setters: [function (_tslib) {
32317
- __rest = _tslib.__rest;
32318
- }, function (_webAtomsCoreDistApp) {
32319
- App = _webAtomsCoreDistApp.App;
32320
- }, function (_webAtomsCoreDistCoreCommand) {
32321
- Command = _webAtomsCoreDistCoreCommand.default;
32322
- }, function (_webAtomsCoreDistCoreStringHelper) {
32323
- StringHelper = _webAtomsCoreDistCoreStringHelper.StringHelper;
32324
- }, function (_webAtomsCoreDistCoreXNode) {
32325
- XNode = _webAtomsCoreDistCoreXNode.default;
32326
- }, function (_webAtomsCoreDistWebControlsAtomControl) {
32327
- AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
32328
- }, function (_webAtomsCoreDistWebServicesPopupService) {
32329
- PopupService = _webAtomsCoreDistWebServicesPopupService.default;
32330
- }],
32331
- execute: function () {
32332
- acceptCache = {};
32333
- _export("isFileType", isFileType = acceptType => {
32334
- var _a;
32335
- function isFileTypeFactory(accept) {
32336
- if (!accept || accept === "*/*") {
32337
- return () => true;
32338
- }
32339
- const types = accept.split(/\,/g).map(x => {
32340
- x = x.trim();
32341
- if (x.startsWith(".")) {
32342
- return file => file.name.endsWith(x);
32343
- }
32344
- if (x.endsWith("/*")) {
32345
- const prefix = x.substring(0, x.length - 1);
32346
- return file => file.type.startsWith(prefix);
32347
- }
32348
- return file => file.type === x;
32349
- });
32350
- return file => {
32351
- for (const iterator of types) {
32352
- if (iterator(file)) {
32353
- return true;
32354
- }
32355
- }
32356
- return false;
32357
- };
32358
- }
32359
- return (_a = acceptCache[acceptType]) !== null && _a !== void 0 ? _a : acceptCache[acceptType] = isFileTypeFactory(acceptType);
32360
- });
32361
- uploadCommand = Command.create({
32362
- name: "upload-command"
32363
- });
32364
- requestUpload = ({
32365
- element,
32366
- multiple,
32367
- authorize,
32368
- extra,
32369
- convert,
32370
- upload,
32371
- folder,
32372
- stream,
32373
- maxStreamSize,
32374
- uploadEvent
32375
- }) => {
32376
- if (authorize) {
32377
- if (!App.authorize()) {
32378
- return;
32379
- }
32380
- }
32381
- const chain = [];
32382
- let start = element;
32383
- while (start) {
32384
- chain.push(start);
32385
- start = start.parentElement;
32386
- }
32387
- previousFile === null || previousFile === void 0 ? void 0 : previousFile.remove();
32388
- const file = document.createElement("input");
32389
- file.type = "file";
32390
- file.multiple = multiple;
32391
- if (folder) {
32392
- file.webkitdirectory = folder;
32393
- }
32394
- const accept = element.getAttribute("data-accept") || "*/*";
32395
- file.accept = accept;
32396
- const capture = element.getAttribute("data-capture");
32397
- if (capture) {
32398
- file.capture = capture;
32399
- }
32400
- file.style.position = "absolute";
32401
- file.style.left = "-1000px";
32402
- file.style.top = "-1000px";
32403
- document.body.append(file);
32404
- previousFile = file;
32405
- const maxSize = parseInt(element.getAttribute("data-max-size") || "0", 10);
32406
- stream || (stream = element.getAttribute("data-stream") === "true");
32407
- maxStreamSize !== null && maxStreamSize !== void 0 ? maxStreamSize : maxStreamSize = parseInt(element.getAttribute("data-max-stream-size") || "0", 10);
32408
- const forceType = element.getAttribute("data-force-type") === "true";
32409
- file.addEventListener("change", () => {
32410
- let files = Array.from(file.files);
32411
- let msgItems = [];
32412
- if (forceType || maxSize) {
32413
- const validated = [];
32414
- const checkFileType = isFileType(accept);
32415
- for (const iterator of files) {
32416
- if (forceType) {
32417
- if (!checkFileType(iterator)) {
32418
- msgItems.push(`${iterator.name} is invalid file.`, XNode.create("br", null));
32419
- continue;
32420
- }
32421
- }
32422
- if (stream) {
32423
- if (iterator.size > maxStreamSize) {
32424
- msgItems.push(`Size of ${iterator.name} is more than ${maxSize}.`, XNode.create("br", null));
32425
- continue;
32426
- }
32427
- validated.push(iterator);
32428
- continue;
32429
- }
32430
- if (!convert && maxSize && iterator.size > maxSize) {
32431
- msgItems.push(`Size of ${iterator.name} is more than ${maxSize}.`, XNode.create("br", null));
32432
- continue;
32433
- }
32434
- validated.push(iterator);
32435
- }
32436
- files = validated;
32437
- }
32438
- file.remove();
32439
- previousFile = null;
32440
- chain.reverse();
32441
- while (chain.length) {
32442
- const root = chain.pop();
32443
- if (root.isConnected) {
32444
- const control = AtomControl.from(root);
32445
- if (msgItems.length) {
32446
- const msg = XNode.create("p", null, ...msgItems);
32447
- control.app.runAsync(() => PopupService.alert({
32448
- message: msg
32449
- }));
32450
- if (files.length === 0) {
32451
- return;
32452
- }
32453
- }
32454
- if (upload) {
32455
- const doUploadEvent = new CustomEvent("uploadRequested", {
32456
- detail: {
32457
- files,
32458
- extra,
32459
- convert,
32460
- stream,
32461
- maxStreamSize,
32462
- maxSize,
32463
- uploadEvent
32464
- },
32465
- bubbles: true,
32466
- cancelable: true
32467
- });
32468
- root.dispatchEvent(doUploadEvent);
32469
- if (doUploadEvent.defaultPrevented) {
32470
- return;
32471
- }
32472
- }
32473
- root.dispatchEvent(new CustomEvent(uploadEvent, {
32474
- detail: {
32475
- files,
32476
- extra
32477
- },
32478
- bubbles: true
32479
- }));
32480
- break;
32481
- }
32482
- }
32483
- });
32484
- setTimeout(() => {
32485
- file.dispatchEvent(new MouseEvent("click"));
32486
- });
32487
- };
32488
- window.addEventListener(uploadCommand.eventName, ce => {
32489
- var _a, _b;
32490
- if (ce.defaultPrevented) {
32491
- return;
32492
- }
32493
- const element = ce.target;
32494
- const authorize = element.getAttribute("data-authorize") === "true";
32495
- const multiple = element.getAttribute("data-multiple") === "true";
32496
- const extra = (_a = element.extra) !== null && _a !== void 0 ? _a : element.getAttribute("data-extra");
32497
- const upload = element.getAttribute("data-upload") === "true";
32498
- const folder = element.hasAttribute("data-folder");
32499
- const convert = element.getAttribute("data-convert") === "true";
32500
- const stream = element.getAttribute("data-stream") === "true";
32501
- const maxStreamSize = parseInt((_b = element.getAttribute("data-max-stream-size")) !== null && _b !== void 0 ? _b : "0", 10);
32502
- const uploadEvent = StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));
32503
- requestUpload({
32504
- element,
32505
- authorize,
32506
- multiple,
32507
- extra,
32508
- convert,
32509
- upload,
32510
- folder,
32511
- stream,
32512
- maxStreamSize,
32513
- uploadEvent
32514
- });
32515
- });
32516
- id = 1;
32517
- UploadEvent = class UploadEvent {
32518
- static AttachUploadAction(_a) {
32519
- var {
32520
- uploadEvent = "filesAvailable",
32521
- accept = "*/*",
32522
- capture,
32523
- multiple = false,
32524
- forceType = true,
32525
- maxSize = 524288000,
32526
- maxStreamSize = 100 * 1024 * 1024,
32527
- stream = false,
32528
- extra,
32529
- convert = false,
32530
- upload = true,
32531
- authorize = true,
32532
- ariaLabel = "Upload",
32533
- folder = false
32534
- } = _a,
32535
- others = __rest(_a, ["uploadEvent", "accept", "capture", "multiple", "forceType", "maxSize", "maxStreamSize", "stream", "extra", "convert", "upload", "authorize", "ariaLabel", "folder"]);
32536
- return Object.assign(Object.assign({}, others), {
32537
- "data-folder": folder ? "true" : void 0,
32538
- "data-click-command": uploadCommand.name,
32539
- "data-upload-event": uploadEvent,
32540
- "data-accept": accept,
32541
- "data-multiple": multiple ? "true" : "false",
32542
- "data-capture": capture,
32543
- "data-convert": convert,
32544
- "data-stream": stream ? "true" : "false",
32545
- "data-max-stream-size": maxStreamSize ? maxStreamSize.toString() : undefined,
32546
- "data-upload": upload ? "true" : "false",
32547
- "data-force-type": forceType ? "true" : "false",
32548
- "data-max-size": maxSize ? maxSize.toString() : undefined,
32549
- "data-authorize": authorize.toString(),
32550
- "aria-label": ariaLabel,
32551
- extra
32552
- });
32553
- }
32554
- };
32555
- UploadEvent.requestUpload = requestUpload;
32556
- _export("default", UploadEvent);
32557
- }
32558
- };
32559
- });
32560
- //# sourceMappingURL=UploadEvent.js.map
32561
-
32562
32797
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");
32563
32798
 
32564
32799
  System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor", "@web-atoms/web-controls/dist/html-editor/commands/Toolbar", "@web-atoms/web-controls/dist/html-editor/commands/Bold", "@web-atoms/web-controls/dist/html-editor/commands/Italic", "@web-atoms/web-controls/dist/html-editor/commands/Underline", "@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough", "@web-atoms/web-controls/dist/html-editor/commands/Align", "@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule", "@web-atoms/web-controls/dist/html-editor/commands/Separator", "@web-atoms/web-controls/dist/html-editor/commands/Headings", "@web-atoms/web-controls/dist/html-editor/commands/ChangeColor", "@web-atoms/web-controls/dist/html-editor/commands/ChangeFont", "@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize", "@web-atoms/web-controls/dist/html-editor/commands/NumberedList", "@web-atoms/web-controls/dist/html-editor/commands/UnorderedList", "@web-atoms/web-controls/dist/html-editor/commands/IndentLess", "@web-atoms/web-controls/dist/html-editor/commands/IndentMore", "@web-atoms/web-controls/dist/html-editor/commands/AddLink", "@web-atoms/web-controls/dist/html-editor/commands/Unlink", "@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat", "@web-atoms/web-controls/dist/html-editor/commands/Source", "@web-atoms/web-controls/dist/basic/UploadEvent", "../../../services/files/LocalFileService", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/web/core/AtomUI", "./InlineHtmlEditorWithToolbar.local.css"], function (_export, _context) {