@finsemble/finsemble-ui 7.0.1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +13 -11
- package/react/actions/favoriteActions.d.ts +1 -0
- package/react/actions/favoriteActions.js +1 -0
- package/react/actions/favoriteActions.js.map +1 -1
- package/react/actions/menuActions.d.ts +1 -0
- package/react/actions/menuActions.js +1 -0
- package/react/actions/menuActions.js.map +1 -1
- package/react/actions/rootActions.d.ts +1 -0
- package/react/actions/rootActions.js +1 -0
- package/react/actions/rootActions.js.map +1 -1
- package/react/actions/searchActions.d.ts +1 -0
- package/react/actions/searchActions.js +1 -0
- package/react/actions/searchActions.js.map +1 -1
- package/react/actions/toolbarActions.d.ts +34 -0
- package/react/actions/toolbarActions.js +17 -0
- package/react/actions/toolbarActions.js.map +1 -1
- package/react/actions/workspaceActions.d.ts +1 -0
- package/react/actions/workspaceActions.js +1 -0
- package/react/actions/workspaceActions.js.map +1 -1
- package/react/assets/css/advancedAppLauncher.css +22 -19
- package/react/assets/css/appCatalog.css +67 -72
- package/react/assets/css/authentication.css +4 -3
- package/react/assets/css/button.css +3 -10
- package/react/assets/css/core/formElements.css +1 -1
- package/react/assets/css/core/icons.css +3 -2
- package/react/assets/css/core/notifications.css +2 -2
- package/react/assets/css/core/windowFrame.css +9 -9
- package/react/assets/css/dashbar.css +1 -1
- package/react/assets/css/defaultTheme.css +9 -53
- package/react/assets/css/dialogs.css +13 -11
- package/react/assets/css/favorites.css +3 -1
- package/react/assets/css/finsemble.css +3 -2
- package/react/assets/css/font-finance.css +233 -120
- package/react/assets/css/fonts/Open_Sans/OpenSans-Definition.css +10 -10
- package/react/assets/css/linkerWindow.css +2 -2
- package/react/assets/css/menus.css +10 -10
- package/react/assets/css/notificationsCenter.css +16 -31
- package/react/assets/css/processMonitor.css +7 -4
- package/react/assets/css/search.css +1 -1
- package/react/assets/css/shared/animations.css +10 -4
- package/react/assets/css/shared/common.css +2 -2
- package/react/assets/css/tags.css +10 -10
- package/react/assets/css/toolbar.css +22 -19
- package/react/assets/css/userPreferences.css +12 -14
- package/react/assets/css/windowTitleBar.css +75 -36
- package/react/componentTemplateGenerator.js +3 -2
- package/react/componentTemplateGenerator.js.map +1 -1
- package/react/components/FinsembleProvider.d.ts +7 -0
- package/react/components/FinsembleProvider.js +2 -0
- package/react/components/FinsembleProvider.js.map +1 -1
- package/react/components/appCatalog/AppCatalog.d.ts +4 -0
- package/react/components/appCatalog/AppCatalog.js +4 -0
- package/react/components/appCatalog/AppCatalog.js.map +1 -1
- package/react/components/appCatalog/AppCatalogComponent.d.ts +58 -0
- package/react/components/appCatalog/AppCatalogComponent.js +70 -1
- package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
- package/react/components/appCatalog/components/AppCard.d.ts +35 -0
- package/react/components/appCatalog/components/AppCard.js +42 -0
- package/react/components/appCatalog/components/AppCard.js.map +1 -1
- package/react/components/appCatalog/components/AppResults.d.ts +10 -0
- package/react/components/appCatalog/components/AppResults.js +24 -0
- package/react/components/appCatalog/components/AppResults.js.map +1 -1
- package/react/components/appCatalog/components/Carousel.d.ts +26 -0
- package/react/components/appCatalog/components/Carousel.js +34 -0
- package/react/components/appCatalog/components/Carousel.js.map +1 -1
- package/react/components/appCatalog/components/EmptyResults.d.ts +4 -0
- package/react/components/appCatalog/components/EmptyResults.js +8 -0
- package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
- package/react/components/appCatalog/components/Hero.d.ts +15 -0
- package/react/components/appCatalog/components/Hero.js +15 -0
- package/react/components/appCatalog/components/Hero.js.map +1 -1
- package/react/components/appCatalog/components/Home.d.ts +6 -4
- package/react/components/appCatalog/components/Home.js +10 -0
- package/react/components/appCatalog/components/Home.js.map +1 -1
- package/react/components/appCatalog/components/SearchBar.d.ts +31 -0
- package/react/components/appCatalog/components/SearchBar.js +33 -0
- package/react/components/appCatalog/components/SearchBar.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -0
- package/react/components/appCatalog/components/Showcase/AppDescription.js +9 -0
- package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +7 -0
- package/react/components/appCatalog/components/Showcase/AppDevNotes.js +15 -0
- package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +17 -0
- package/react/components/appCatalog/components/Showcase/AppShowcase.js +25 -0
- package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Header.d.ts +7 -0
- package/react/components/appCatalog/components/Showcase/Header.js +12 -0
- package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +7 -0
- package/react/components/appCatalog/components/Showcase/ImageCarousel.js +11 -0
- package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Modal.d.ts +10 -0
- package/react/components/appCatalog/components/Showcase/Modal.js +10 -0
- package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +5 -0
- package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +9 -0
- package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +6 -0
- package/react/components/appCatalog/components/Showcase/SupportNotes.js +11 -0
- package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +5 -0
- package/react/components/appCatalog/components/Showcase/VersionNotes.js +9 -0
- package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
- package/react/components/appCatalog/components/Tag.d.ts +6 -0
- package/react/components/appCatalog/components/Tag.js +10 -0
- package/react/components/appCatalog/components/Tag.js.map +1 -1
- package/react/components/appCatalog/components/Toast.d.ts +5 -0
- package/react/components/appCatalog/components/Toast.js +9 -0
- package/react/components/appCatalog/components/Toast.js.map +1 -1
- package/react/components/appCatalog/components/helpers.js +1 -0
- package/react/components/appCatalog/components/helpers.js.map +1 -1
- package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -0
- package/react/components/appCatalog/modules/AppDirectory.js +5 -0
- package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
- package/react/components/appCatalog/modules/FDC3.d.ts +37 -0
- package/react/components/appCatalog/modules/FDC3.js +40 -0
- package/react/components/appCatalog/modules/FDC3.js.map +1 -1
- package/react/components/appCatalog/stores/appStore.js +1 -0
- package/react/components/appCatalog/stores/appStore.js.map +1 -1
- package/react/components/appCatalog/stores/storeActions.d.ts +91 -0
- package/react/components/appCatalog/stores/storeActions.js +116 -1
- package/react/components/appCatalog/stores/storeActions.js.map +1 -1
- package/react/components/common/Checkbox.d.ts +1 -0
- package/react/components/common/Checkbox.js +2 -2
- package/react/components/common/Checkbox.js.map +1 -1
- package/react/components/common/ColorPicker.d.ts +5 -0
- package/react/components/common/ColorPicker.js +40 -0
- package/react/components/common/ColorPicker.js.map +1 -1
- package/react/components/common/DropZone.d.ts +11 -0
- package/react/components/common/DropZone.js +21 -1
- package/react/components/common/DropZone.js.map +1 -1
- package/react/components/common/DropdownButton.d.ts +4 -0
- package/react/components/common/DropdownButton.js +4 -0
- package/react/components/common/DropdownButton.js.map +1 -1
- package/react/components/common/ErrorBoundary.d.ts +18 -0
- package/react/components/common/ErrorBoundary.js +21 -0
- package/react/components/common/ErrorBoundary.js.map +1 -1
- package/react/components/common/FileInput.d.ts +8 -1
- package/react/components/common/FileInput.js +19 -4
- package/react/components/common/FileInput.js.map +1 -1
- package/react/components/common/FinsembleIcon.d.ts +10 -0
- package/react/components/common/FinsembleIcon.js +51 -2
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.js +5 -1
- package/react/components/common/FinsembleSelect.js.map +1 -1
- package/react/components/common/FinsembleToggleButtonBar.js +1 -1
- package/react/components/common/FinsembleToggleButtonBar.js.map +1 -1
- package/react/components/common/InputTable.d.ts +7 -0
- package/react/components/common/InputTable.js +7 -0
- package/react/components/common/InputTable.js.map +1 -1
- package/react/components/common/Tab.js +3 -0
- package/react/components/common/Tab.js.map +1 -1
- package/react/components/common/TimeSelect.js +24 -0
- package/react/components/common/TimeSelect.js.map +1 -1
- package/react/components/common/Tooltip.js +2 -0
- package/react/components/common/Tooltip.js.map +1 -1
- package/react/components/common/css/accordion.css +9 -6
- package/react/components/common/css/application-edit-page.css +39 -44
- package/react/components/common/css/button.css +10 -5
- package/react/components/common/css/color-picker.css +3 -3
- package/react/components/common/css/drop-zone.css +2 -6
- package/react/components/common/css/file-input.css +5 -5
- package/react/components/common/css/header.css +3 -2
- package/react/components/common/css/icon.css +1 -1
- package/react/components/common/css/loading-spinner.css +7 -12
- package/react/components/common/css/selector.css +4 -4
- package/react/components/common/css/styles.css +22 -16
- package/react/components/common/css/tab.css +8 -8
- package/react/components/common/css/time-select.css +1 -0
- package/react/components/common/css/toggle.css +4 -4
- package/react/components/common/css/tooltip.css +2 -3
- package/react/components/common/file_helpers.js +2 -0
- package/react/components/common/file_helpers.js.map +1 -1
- package/react/components/common/helpers.js +1 -0
- package/react/components/common/helpers.js.map +1 -1
- package/react/components/common/stories/ColorPicker.stories.js +3 -0
- package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
- package/react/components/common/stories/FileInput.stories.d.ts +3 -1
- package/react/components/common/stories/FileInput.stories.js +12 -0
- package/react/components/common/stories/FileInput.stories.js.map +1 -1
- package/react/components/common/tests/Accordion.spec.js +6 -0
- package/react/components/common/tests/Accordion.spec.js.map +1 -1
- package/react/components/common/tests/Checkbox.spec.js +1 -0
- package/react/components/common/tests/Checkbox.spec.js.map +1 -1
- package/react/components/common/tests/ColorPicker.spec.js +6 -0
- package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
- package/react/components/common/tests/DropZone.spec.js +1 -0
- package/react/components/common/tests/DropZone.spec.js.map +1 -1
- package/react/components/common/tests/FileInput.spec.js +22 -0
- package/react/components/common/tests/FileInput.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleSelect.spec.js +1 -0
- package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggle.spec.js +1 -0
- package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +1 -0
- package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -1
- package/react/components/common/tests/TimeSelect.spec.js +4 -0
- package/react/components/common/tests/TimeSelect.spec.js.map +1 -1
- package/react/components/common/tests/Tooltip.spec.js +16 -0
- package/react/components/common/tests/Tooltip.spec.js.map +1 -1
- package/react/components/favorites/FavoriteMaker.d.ts +8 -0
- package/react/components/favorites/FavoriteMaker.js +9 -0
- package/react/components/favorites/FavoriteMaker.js.map +1 -1
- package/react/components/favorites/FavoritesShell.d.ts +4 -0
- package/react/components/favorites/FavoritesShell.js +13 -1
- package/react/components/favorites/FavoritesShell.js.map +1 -1
- package/react/components/favorites/FavoritesShell.spec.js +3 -0
- package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js +8 -0
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.css +16 -3
- package/react/components/fdc3Resolver/ResolverDialog.js +7 -2
- package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js +3 -2
- package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js +2 -0
- package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
- package/react/components/icon/Icon.d.ts +13 -0
- package/react/components/icon/Icon.js +34 -0
- package/react/components/icon/Icon.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialog.d.ts +4 -0
- package/react/components/legacyControls/FinsembleDialog.js +15 -0
- package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.d.ts +3 -0
- package/react/components/legacyControls/FinsembleDialogButton.js +6 -1
- package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +7 -0
- package/react/components/legacyControls/FinsembleDialogQuestion.js +7 -0
- package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +3 -0
- package/react/components/legacyControls/FinsembleDialogTextInput.js +14 -0
- package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.d.ts +19 -0
- package/react/components/legacyControls/FinsembleDnDContext.js +126 -1
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/legacyControls/FinsembleDraggable.d.ts +3 -0
- package/react/components/legacyControls/FinsembleDraggable.js +3 -0
- package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
- package/react/components/legacyControls/FinsembleHoverDetector.d.ts +15 -0
- package/react/components/legacyControls/FinsembleHoverDetector.js +26 -1
- package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
- package/react/components/legacyControls/FinsembleMenuSection.d.ts +4 -0
- package/react/components/legacyControls/FinsembleMenuSection.js +38 -0
- package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +1 -0
- package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -0
- package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
- package/react/components/linker/LinkerMenu.d.ts +3 -0
- package/react/components/linker/LinkerMenu.js +21 -0
- package/react/components/linker/LinkerMenu.js.map +1 -1
- package/react/components/linker/LinkerMenuDeprecated.d.ts +3 -0
- package/react/components/linker/LinkerMenuDeprecated.js +9 -0
- package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
- package/react/components/menu/Menu.d.ts +15 -0
- package/react/components/menu/Menu.js +15 -0
- package/react/components/menu/Menu.js.map +1 -1
- package/react/components/menu/MenuAutoResizer.d.ts +7 -0
- package/react/components/menu/MenuAutoResizer.js +27 -0
- package/react/components/menu/MenuAutoResizer.js.map +1 -1
- package/react/components/menu/MenuContent.d.ts +4 -0
- package/react/components/menu/MenuContent.js +4 -0
- package/react/components/menu/MenuContent.js.map +1 -1
- package/react/components/menu/MenuHotKey.d.ts +14 -0
- package/react/components/menu/MenuHotKey.js +15 -0
- package/react/components/menu/MenuHotKey.js.map +1 -1
- package/react/components/menu/MenuItem.d.ts +8 -0
- package/react/components/menu/MenuItem.js +13 -2
- package/react/components/menu/MenuItem.js.map +1 -1
- package/react/components/menu/MenuPortal.js +112 -2
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/menu/MenuShell.d.ts +16 -0
- package/react/components/menu/MenuShell.js +26 -0
- package/react/components/menu/MenuShell.js.map +1 -1
- package/react/components/menu/MenuToggle.d.ts +3 -0
- package/react/components/menu/MenuToggle.js +3 -0
- package/react/components/menu/MenuToggle.js.map +1 -1
- package/react/components/menu/keyboardNavigation.d.ts +12 -0
- package/react/components/menu/keyboardNavigation.js +55 -0
- package/react/components/menu/keyboardNavigation.js.map +1 -1
- package/react/components/menu/menuContext.d.ts +6 -0
- package/react/components/menu/menuContext.js +6 -0
- package/react/components/menu/menuContext.js.map +1 -1
- package/react/components/menu/menuHelpers.d.ts +22 -0
- package/react/components/menu/menuHelpers.js +58 -1
- package/react/components/menu/menuHelpers.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerControls.js +8 -0
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerHeader.js +5 -0
- package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +18 -0
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +3 -0
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.js +1 -1
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +9 -0
- package/react/components/notifications/components/shared/NotificationCardShell.js +13 -6
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +4 -0
- package/react/components/notifications/components/shared/OverflowMenu.js +16 -2
- package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js +3 -0
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.js +8 -0
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/notificationsContext.d.ts +4 -0
- package/react/components/notifications/notificationsContext.js +4 -0
- package/react/components/notifications/notificationsContext.js.map +1 -1
- package/react/components/notifications/types.d.ts +3 -0
- package/react/components/notifications/utils.d.ts +4 -0
- package/react/components/notifications/utils.js +4 -0
- package/react/components/notifications/utils.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.d.ts +3 -0
- package/react/components/processMonitor/ProcessMonitor.js +17 -2
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/components/ChildWindow.d.ts +3 -0
- package/react/components/processMonitor/components/ChildWindow.js +5 -0
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +5 -0
- package/react/components/processMonitor/components/ListHeader.js +7 -0
- package/react/components/processMonitor/components/ListHeader.js.map +1 -1
- package/react/components/processMonitor/components/ProcessStatistics.js +12 -1
- package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
- package/react/components/processMonitor/constants.js +6 -0
- package/react/components/processMonitor/constants.js.map +1 -1
- package/react/components/processMonitor/helpers.d.ts +13 -0
- package/react/components/processMonitor/helpers.js +23 -3
- package/react/components/processMonitor/helpers.js.map +1 -1
- package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +39 -0
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +50 -0
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/quickComponentForm/QuickComponentForm.d.ts +3 -0
- package/react/components/quickComponentForm/QuickComponentForm.js +20 -0
- package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
- package/react/components/quickComponentForm/quickComponent.css +1 -1
- package/react/components/sdd/AddApp.d.ts +4 -2
- package/react/components/sdd/AddApp.js +57 -49
- package/react/components/sdd/AddApp.js.map +1 -1
- package/react/components/sdd/AppEditAccess.js +8 -0
- package/react/components/sdd/AppEditAccess.js.map +1 -1
- package/react/components/sdd/AppEditPage.d.ts +2 -1
- package/react/components/sdd/AppEditPage.js +148 -361
- package/react/components/sdd/AppEditPage.js.map +1 -1
- package/react/components/sdd/Appearance.css +1 -1
- package/react/components/sdd/Appearance.js +3 -0
- package/react/components/sdd/Appearance.js.map +1 -1
- package/react/components/sdd/Application.js +39 -7
- package/react/components/sdd/Application.js.map +1 -1
- package/react/components/sdd/Applications.js +89 -13
- package/react/components/sdd/Applications.js.map +1 -1
- package/react/components/sdd/AssetsPage.css +3 -3
- package/react/components/sdd/EditPreload.js +10 -0
- package/react/components/sdd/EditPreload.js.map +1 -1
- package/react/components/sdd/ExportCloud.js +4 -0
- package/react/components/sdd/ExportCloud.js.map +1 -1
- package/react/components/sdd/Publish.js +2 -0
- package/react/components/sdd/Publish.js.map +1 -1
- package/react/components/sdd/PublishProgress.js +11 -1
- package/react/components/sdd/PublishProgress.js.map +1 -1
- package/react/components/sdd/SmartDesktopDesigner.js +17 -0
- package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
- package/react/components/sdd/ThemePage.css +6 -23
- package/react/components/sdd/ThemePage.js +1 -1
- package/react/components/sdd/ThemePage.js.map +1 -1
- package/react/components/sdd/Themes.js +2 -0
- package/react/components/sdd/Themes.js.map +1 -1
- package/react/components/sdd/Toolbar.js +7 -0
- package/react/components/sdd/Toolbar.js.map +1 -1
- package/react/components/sdd/appEditPage/Behavior.d.ts +34 -0
- package/react/components/sdd/appEditPage/Behavior.js +134 -0
- package/react/components/sdd/appEditPage/Behavior.js.map +1 -0
- package/react/components/sdd/appEditPage/Component.d.ts +22 -0
- package/react/components/sdd/appEditPage/Component.js +76 -0
- package/react/components/sdd/appEditPage/Component.js.map +1 -0
- package/react/components/sdd/appEditPage/DebugToolkit.d.ts +9 -0
- package/react/components/sdd/appEditPage/DebugToolkit.js +20 -0
- package/react/components/sdd/appEditPage/DebugToolkit.js.map +1 -0
- package/react/components/sdd/appEditPage/Interop.d.ts +10 -0
- package/react/components/sdd/appEditPage/Interop.js +40 -0
- package/react/components/sdd/appEditPage/Interop.js.map +1 -0
- package/react/components/sdd/appEditPage/Position.d.ts +18 -0
- package/react/components/sdd/appEditPage/Position.js +72 -0
- package/react/components/sdd/appEditPage/Position.js.map +1 -0
- package/react/components/sdd/appEditPage/Preloads.d.ts +9 -0
- package/react/components/sdd/appEditPage/Preloads.js +16 -0
- package/react/components/sdd/appEditPage/Preloads.js.map +1 -0
- package/react/components/sdd/appEditPage/SelectConnect.d.ts +15 -0
- package/react/components/sdd/appEditPage/SelectConnect.js +28 -0
- package/react/components/sdd/appEditPage/SelectConnect.js.map +1 -0
- package/react/components/sdd/appEditPage/Workspace.d.ts +12 -0
- package/react/components/sdd/appEditPage/Workspace.js +30 -0
- package/react/components/sdd/appEditPage/Workspace.js.map +1 -0
- package/react/components/sdd/common/getCSSVars.js +7 -2
- package/react/components/sdd/common/getCSSVars.js.map +1 -1
- package/react/components/sdd/common/setPreloadDefaults.js +4 -0
- package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
- package/react/components/sdd/css/addApp.css +18 -5
- package/react/components/sdd/css/appearance.css +6 -0
- package/react/components/sdd/css/applications.css +27 -14
- package/react/components/sdd/css/authentication.css +7 -6
- package/react/components/sdd/css/buttons.css +1 -1
- package/react/components/sdd/css/export.css +5 -3
- package/react/components/sdd/css/getting-started.css +2 -2
- package/react/components/sdd/css/nav.css +8 -11
- package/react/components/sdd/css/project-header.css +5 -7
- package/react/components/sdd/css/styles.css +29 -23
- package/react/components/sdd/css/views.css +4 -3
- package/react/components/sdd/fixtures/apps.js +12 -0
- package/react/components/sdd/fixtures/apps.js.map +1 -1
- package/react/components/sdd/fixtures/configTemplate.js +1 -0
- package/react/components/sdd/fixtures/configTemplate.js.map +1 -1
- package/react/components/sdd/fixtures/publishProgress.js +40 -0
- package/react/components/sdd/fixtures/publishProgress.js.map +1 -1
- package/react/components/sdd/sdd_helpers.d.ts +6 -0
- package/react/components/sdd/sdd_helpers.js +6 -0
- package/react/components/sdd/sdd_helpers.js.map +1 -1
- package/react/components/sdd/smartDesktopClient.d.ts +303 -0
- package/react/components/sdd/smartDesktopClient.js +334 -1
- package/react/components/sdd/smartDesktopClient.js.map +1 -1
- package/react/components/sdd/smartDesktopClient.spec.js +5 -2
- package/react/components/sdd/smartDesktopClient.spec.js.map +1 -1
- package/react/components/sdd/stories/AddApp.stories.d.ts +2 -1
- package/react/components/sdd/stories/AddApp.stories.js +8 -0
- package/react/components/sdd/stories/AddApp.stories.js.map +1 -1
- package/react/components/sdd/stories/AppEditPage.stories.d.ts +3 -1
- package/react/components/sdd/stories/AppEditPage.stories.js +3 -0
- package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/sdd/stories/Appearance.stories.js +1 -0
- package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
- package/react/components/sdd/tests/AddApp.spec.js +40 -3
- package/react/components/sdd/tests/AddApp.spec.js.map +1 -1
- package/react/components/sdd/tests/AppEditPage.spec.js +16 -0
- package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/sdd/tests/Application.spec.js +33 -438
- package/react/components/sdd/tests/Application.spec.js.map +1 -1
- package/react/components/sdd/tests/Applications.spec.d.ts +1 -1
- package/react/components/sdd/tests/Applications.spec.js +29 -5
- package/react/components/sdd/tests/Applications.spec.js.map +1 -1
- package/react/components/sdd/tests/Authentication.spec.js +7 -0
- package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
- package/react/components/sdd/tests/ContentHeader.spec.js +2 -0
- package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -1
- package/react/components/sdd/tests/EditPreload.spec.js +13 -0
- package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
- package/react/components/sdd/tests/Export.spec.js +2 -1
- package/react/components/sdd/tests/Export.spec.js.map +1 -1
- package/react/components/sdd/tests/ItemList.spec.js +4 -0
- package/react/components/sdd/tests/ItemList.spec.js.map +1 -1
- package/react/components/sdd/tests/OptionalSettingsView.spec.js +29 -0
- package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
- package/react/components/sdd/tests/ProjectErrors.spec.js +2 -0
- package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
- package/react/components/sdd/tests/Themes.spec.js +1 -1
- package/react/components/sdd/tests/Themes.spec.js.map +1 -1
- package/react/components/sdd/tests/Toolbar.spec.js +53 -0
- package/react/components/sdd/tests/Toolbar.spec.js.map +1 -1
- package/react/components/sdd/tests/a11y_helper.js +8 -0
- package/react/components/sdd/tests/a11y_helper.js.map +1 -1
- package/react/components/search/Highlight.d.ts +6 -0
- package/react/components/search/Highlight.js +19 -0
- package/react/components/search/Highlight.js.map +1 -1
- package/react/components/search/SearchBestMatch.d.ts +4 -0
- package/react/components/search/SearchBestMatch.js +11 -0
- package/react/components/search/SearchBestMatch.js.map +1 -1
- package/react/components/search/SearchInput.d.ts +5 -0
- package/react/components/search/SearchInput.js +6 -0
- package/react/components/search/SearchInput.js.map +1 -1
- package/react/components/search/SearchProviderResults.js +2 -0
- package/react/components/search/SearchProviderResults.js.map +1 -1
- package/react/components/search/SearchResult.js +6 -0
- package/react/components/search/SearchResult.js.map +1 -1
- package/react/components/search/SearchResult.spec.js +7 -0
- package/react/components/search/SearchResult.spec.js.map +1 -1
- package/react/components/search/SearchResult.stories.js +4 -0
- package/react/components/search/SearchResult.stories.js.map +1 -1
- package/react/components/search/SearchResults.js +5 -1
- package/react/components/search/SearchResults.js.map +1 -1
- package/react/components/search/SearchResults.spec.js +7 -0
- package/react/components/search/SearchResults.spec.js.map +1 -1
- package/react/components/shared/Animate.d.ts +5 -0
- package/react/components/shared/Animate.js +12 -1
- package/react/components/shared/Animate.js.map +1 -1
- package/react/components/shared/DefaultDropdownButton.js +9 -0
- package/react/components/shared/DefaultDropdownButton.js.map +1 -1
- package/react/components/shared/Tag.d.ts +0 -4
- package/react/components/shared/Tag.js +4 -0
- package/react/components/shared/Tag.js.map +1 -1
- package/react/components/shared/TagsMenu.d.ts +6 -0
- package/react/components/shared/TagsMenu.js +7 -0
- package/react/components/shared/TagsMenu.js.map +1 -1
- package/react/components/shared/addProtocolToValidURL.d.ts +6 -0
- package/react/components/shared/addProtocolToValidURL.js +6 -0
- package/react/components/shared/addProtocolToValidURL.js.map +1 -1
- package/react/components/shared/openQuitConfirmationDialog.d.ts +1 -1
- package/react/components/shared/openQuitConfirmationDialog.js +4 -4
- package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
- package/react/components/shared/tests/addProtocolToValidURL.spec.js +1 -0
- package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
- package/react/components/shared/validateURL.d.ts +18 -0
- package/react/components/shared/validateURL.js +24 -5
- package/react/components/shared/validateURL.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.css +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.d.ts +3 -0
- package/react/components/singleInputDialog/SingleInputDialog.js +44 -0
- package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +6 -0
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/system/System.d.ts +22 -0
- package/react/components/system/System.js +23 -1
- package/react/components/system/System.js.map +1 -1
- package/react/components/system/System.stories.js +1 -0
- package/react/components/system/System.stories.js.map +1 -1
- package/react/components/system/SystemTrayComponentShell.d.ts +6 -0
- package/react/components/system/SystemTrayComponentShell.js +9 -0
- package/react/components/system/SystemTrayComponentShell.js.map +1 -1
- package/react/components/toolbar/AutoArrange.d.ts +5 -0
- package/react/components/toolbar/AutoArrange.js +8 -1
- package/react/components/toolbar/AutoArrange.js.map +1 -1
- package/react/components/toolbar/AutoArrange.spec.js +1 -0
- package/react/components/toolbar/AutoArrange.spec.js.map +1 -1
- package/react/components/toolbar/AutoArrange.stories.js +1 -0
- package/react/components/toolbar/AutoArrange.stories.js.map +1 -1
- package/react/components/toolbar/DragHandle.d.ts +4 -0
- package/react/components/toolbar/DragHandle.js +11 -0
- package/react/components/toolbar/DragHandle.js.map +1 -1
- package/react/components/toolbar/DragHandle.spec.js +1 -0
- package/react/components/toolbar/DragHandle.spec.js.map +1 -1
- package/react/components/toolbar/DragHandle.stories.js +1 -0
- package/react/components/toolbar/DragHandle.stories.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.d.ts +4 -0
- package/react/components/toolbar/MinimizeAll.js +7 -1
- package/react/components/toolbar/MinimizeAll.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.spec.js +1 -0
- package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.stories.js +1 -0
- package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
- package/react/components/toolbar/NotificationControl.d.ts +5 -0
- package/react/components/toolbar/NotificationControl.js +8 -1
- package/react/components/toolbar/NotificationControl.js.map +1 -1
- package/react/components/toolbar/RevealAll.d.ts +4 -0
- package/react/components/toolbar/RevealAll.js +7 -1
- package/react/components/toolbar/RevealAll.js.map +1 -1
- package/react/components/toolbar/RevealAll.spec.js +1 -0
- package/react/components/toolbar/RevealAll.spec.js.map +1 -1
- package/react/components/toolbar/RevealAll.stories.js +1 -0
- package/react/components/toolbar/RevealAll.stories.js.map +1 -1
- package/react/components/toolbar/SddButton.d.ts +4 -0
- package/react/components/toolbar/SddButton.js +4 -0
- package/react/components/toolbar/SddButton.js.map +1 -1
- package/react/components/toolbar/ToolbarIcon.d.ts +4 -0
- package/react/components/toolbar/ToolbarIcon.js +4 -0
- package/react/components/toolbar/ToolbarIcon.js.map +1 -1
- package/react/components/toolbar/ToolbarSection.d.ts +7 -0
- package/react/components/toolbar/ToolbarSection.js +19 -1
- package/react/components/toolbar/ToolbarSection.js.map +1 -1
- package/react/components/toolbar/ToolbarShell.d.ts +5 -0
- package/react/components/toolbar/ToolbarShell.js +7 -0
- package/react/components/toolbar/ToolbarShell.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +16 -0
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +20 -0
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +52 -0
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +58 -0
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +5 -0
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +5 -0
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +27 -0
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +49 -0
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +13 -0
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +14 -0
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +5 -0
- package/react/components/toolbar/advancedAppLauncher/components/Content.js +19 -0
- package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +4 -0
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -0
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +16 -0
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +39 -0
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +4 -0
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +9 -0
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +3 -0
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +6 -0
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +7 -0
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +5 -0
- package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +5 -0
- package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -0
- package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +5 -0
- package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +37 -0
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +40 -0
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +3 -0
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +82 -0
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +10 -0
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -0
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
- package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +18 -0
- package/react/components/toolbar/appLauncher/AppLauncherMenu.js +20 -0
- package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +9 -0
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +12 -0
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/appLauncher.css +1 -1
- package/react/components/toolbar/appLauncher/components/componentList.d.ts +3 -0
- package/react/components/toolbar/appLauncher/components/componentList.js +17 -3
- package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +6 -0
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +26 -0
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +70 -3
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/dashbar/DashbarItem.js +5 -0
- package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +7 -0
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +7 -0
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +16 -0
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +20 -0
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +26 -0
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +29 -0
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +5 -0
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +6 -0
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +76 -0
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +140 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +8 -18
- package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +4 -0
- package/react/components/userPreferences/NotificationsPreferencesContext.js +4 -0
- package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
- package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -0
- package/react/components/userPreferences/UserPreferences.d.ts +8 -0
- package/react/components/userPreferences/UserPreferences.js +8 -0
- package/react/components/userPreferences/UserPreferences.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesBase.js +4 -0
- package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
- package/react/components/userPreferences/components/ContentSection.d.ts +5 -0
- package/react/components/userPreferences/components/LeftNav.d.ts +4 -0
- package/react/components/userPreferences/components/content/DashbarEditor.js +3 -0
- package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
- package/react/components/userPreferences/components/content/Notifications.js +3 -0
- package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +12 -0
- package/react/components/userPreferences/components/content/Workspaces.js +36 -3
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +3 -0
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +3 -0
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +3 -0
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledClose.js +11 -0
- package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +20 -10
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +17 -0
- package/react/components/userPreferences/stores/UserPreferencesStore.js +27 -0
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
- package/react/components/userPreferences/tests/Workspace.spec.js +20 -0
- package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +111 -0
- package/react/components/windowTitleBar/WindowTitleBarShell.js +218 -47
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
- package/react/components/windowTitleBar/components/center/Tab.js +3 -0
- package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
- package/react/components/windowTitleBar/components/center/TabList.js +170 -4
- package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js +25 -9
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
- package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
- package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
- package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
- package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
- package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
- package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
- package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
- package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
- package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
- package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
- package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
- package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
- package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
- package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
- package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
- package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
- package/react/components/windowTitleBar/components/windowTitle.js +172 -10
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +72 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.css +1 -1
- package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
- package/react/components/yesNoDialog/YesNoDialog.js +63 -0
- package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
- package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
- package/react/components/yesNoDialog/timer.js +2 -0
- package/react/components/yesNoDialog/timer.js.map +1 -1
- package/react/enzymeSetup.js +5 -0
- package/react/enzymeSetup.js.map +1 -1
- package/react/hooks/useDashbar.js +10 -0
- package/react/hooks/useDashbar.js.map +1 -1
- package/react/hooks/useDeepEffect.d.ts +4 -0
- package/react/hooks/useDeepEffect.js +21 -0
- package/react/hooks/useDeepEffect.js.map +1 -1
- package/react/hooks/useFavorites.d.ts +15 -0
- package/react/hooks/useFavorites.js +3 -0
- package/react/hooks/useFavorites.js.map +1 -1
- package/react/hooks/useFavoritesShell.d.ts +4 -0
- package/react/hooks/useFavoritesShell.js +23 -0
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/react/hooks/useHotkey.d.ts +6 -0
- package/react/hooks/useHotkey.js +9 -0
- package/react/hooks/useHotkey.js.map +1 -1
- package/react/hooks/useLinker.js +14 -0
- package/react/hooks/useLinker.js.map +1 -1
- package/react/hooks/useMenu.d.ts +29 -0
- package/react/hooks/useMenu.js +12 -1
- package/react/hooks/useMenu.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +44 -0
- package/react/hooks/useNotifications.js +100 -4
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/hooks/useOutsideClickDetector.d.ts +3 -0
- package/react/hooks/useOutsideClickDetector.js +3 -0
- package/react/hooks/useOutsideClickDetector.js.map +1 -1
- package/react/hooks/usePubSub.d.ts +17 -0
- package/react/hooks/usePubSub.js +18 -0
- package/react/hooks/usePubSub.js.map +1 -1
- package/react/hooks/useSearch.d.ts +5 -0
- package/react/hooks/useSearch.js +30 -0
- package/react/hooks/useSearch.js.map +1 -1
- package/react/hooks/useToolbar.js +52 -0
- package/react/hooks/useToolbar.js.map +1 -1
- package/react/reducers/favoriteReducer.d.ts +3 -0
- package/react/reducers/linkerReducer.d.ts +3 -0
- package/react/reducers/linkerReducer.js +4 -0
- package/react/reducers/linkerReducer.js.map +1 -1
- package/react/reducers/menuReducer.d.ts +28 -0
- package/react/reducers/menuReducer.js +34 -0
- package/react/reducers/menuReducer.js.map +1 -1
- package/react/reducers/rootReducer.js +3 -0
- package/react/reducers/rootReducer.js.map +1 -1
- package/react/reducers/searchReducer.d.ts +7 -0
- package/react/reducers/searchReducer.js +6 -0
- package/react/reducers/searchReducer.js.map +1 -1
- package/react/reducers/workspaceReducer.js +1 -0
- package/react/reducers/workspaceReducer.js.map +1 -1
- package/react/store.d.ts +4 -0
- package/react/store.js +11 -0
- package/react/store.js.map +1 -1
- package/react/tsconfig.tsbuildinfo +1 -1
- package/react/types/fdc3.d.ts +2 -0
- package/react/types/linkerTypes.d.ts +13 -0
- package/react/types/linkerTypes.js +1 -0
- package/react/types/linkerTypes.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +5 -0
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/workspaceTypes.d.ts +8 -0
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { services } from "@finsemble/finsemble-api";
|
|
3
3
|
declare type IconDescriptor = services.window.types.IconDescriptor;
|
|
4
|
+
/**
|
|
5
|
+
* Converts a Finsemble config entry to an Icon type that can be used to create <Icon> components.
|
|
6
|
+
* @param config A finsemble icon config entry as derived by the launcher (e.g. "icons.toolBar", "icons.taskbar" or "icons.titleBar")
|
|
7
|
+
* @param title The title for the icon
|
|
8
|
+
*/
|
|
4
9
|
export declare const iconFromConfig: (config: any, title: string, appD: any) => IconDescriptor;
|
|
5
10
|
declare type IconProps = IconDescriptor & {
|
|
6
11
|
className?: string;
|
|
7
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* An icon to accompany Finsemble components or workspaces.
|
|
15
|
+
* @param {string} [imageType] - "fonticon" | "url" | "initials" - Determines how the icon is generated.
|
|
16
|
+
* @param {string} [path] - The path of the image.
|
|
17
|
+
* @param {string} [name] - Used if imageType is "initials" to generate a text based icon.
|
|
18
|
+
* @param {string} [category] - This will appear on the `data-category` attribute which can be used to drive CSS.
|
|
19
|
+
* @param {string} [className] - Optional class to be appended.
|
|
20
|
+
*/
|
|
8
21
|
export declare const Icon: React.FunctionComponent<Partial<IconProps>>;
|
|
9
22
|
export {};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Converts a Finsemble config entry to an Icon type that can be used to create <Icon> components.
|
|
4
|
+
* @param config A finsemble icon config entry as derived by the launcher (e.g. "icons.toolBar", "icons.taskbar" or "icons.titleBar")
|
|
5
|
+
* @param title The title for the icon
|
|
6
|
+
*/
|
|
2
7
|
export const iconFromConfig = (config, title, appD) => {
|
|
3
8
|
var _a;
|
|
4
9
|
if (((_a = appD === null || appD === void 0 ? void 0 : appD.icons) === null || _a === void 0 ? void 0 : _a.length) > 0 && appD.icons[0].src) {
|
|
@@ -7,11 +12,13 @@ export const iconFromConfig = (config, title, appD) => {
|
|
|
7
12
|
path: appD.icons[0].src,
|
|
8
13
|
};
|
|
9
14
|
}
|
|
15
|
+
// Our default icon. The <Icon> component can generate an "initials" icon based just off of the `name`
|
|
10
16
|
const defaultIcon = {
|
|
11
17
|
imageType: "initials",
|
|
12
18
|
name: title,
|
|
13
19
|
category: "Application",
|
|
14
20
|
};
|
|
21
|
+
// Use iconography if available in the app's icon config entry
|
|
15
22
|
if (config === null || config === void 0 ? void 0 : config.iconClass) {
|
|
16
23
|
return {
|
|
17
24
|
imageType: "fonticon",
|
|
@@ -36,17 +43,32 @@ const deriveClasses = (imageType, className = "") => {
|
|
|
36
43
|
}
|
|
37
44
|
return classes;
|
|
38
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Derives two initials from a given name based on some simple heuristics.
|
|
48
|
+
*/
|
|
39
49
|
const avatarInitialsFromName = (name) => {
|
|
50
|
+
// Significant words are over three characters
|
|
40
51
|
const significantWords = name
|
|
41
52
|
.toUpperCase()
|
|
42
53
|
.split(" ")
|
|
43
54
|
.flatMap((str) => (str.length > 3 ? [str] : []));
|
|
55
|
+
// If no significant words then just return first two characters of the original name
|
|
44
56
|
if (significantWords.length === 0)
|
|
45
57
|
return name.substr(0, 2);
|
|
58
|
+
// If only one significant word then return its first two characters
|
|
46
59
|
if (significantWords.length === 1)
|
|
47
60
|
return significantWords[0].substr(0, 2);
|
|
61
|
+
// Return the first character of the first two significant words
|
|
48
62
|
return significantWords[0].substr(0, 1).concat(significantWords[1].substr(0, 1));
|
|
49
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* An icon to accompany Finsemble components or workspaces.
|
|
66
|
+
* @param {string} [imageType] - "fonticon" | "url" | "initials" - Determines how the icon is generated.
|
|
67
|
+
* @param {string} [path] - The path of the image.
|
|
68
|
+
* @param {string} [name] - Used if imageType is "initials" to generate a text based icon.
|
|
69
|
+
* @param {string} [category] - This will appear on the `data-category` attribute which can be used to drive CSS.
|
|
70
|
+
* @param {string} [className] - Optional class to be appended.
|
|
71
|
+
*/
|
|
50
72
|
export const Icon = (props) => {
|
|
51
73
|
var _a, _b;
|
|
52
74
|
let avatar;
|
|
@@ -64,4 +86,16 @@ export const Icon = (props) => {
|
|
|
64
86
|
const classes = deriveClasses(imageType, props.className);
|
|
65
87
|
return (React.createElement("div", { className: classes, "data-category": props.category }, avatar));
|
|
66
88
|
};
|
|
89
|
+
/*
|
|
90
|
+
export const CategoryIcon: React.FunctionComponent<CategoryIconProps> = (props) => {
|
|
91
|
+
let className = "";
|
|
92
|
+
if(props.category == "Application")
|
|
93
|
+
className=`entity-component ${props.className}`;
|
|
94
|
+
if(props.category == "Workspace")
|
|
95
|
+
className=`entity-workspace ${props.className}`;
|
|
96
|
+
return (
|
|
97
|
+
<Icon {...props} {...className} />
|
|
98
|
+
)
|
|
99
|
+
}
|
|
100
|
+
*/
|
|
67
101
|
//# sourceMappingURL=Icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,KAAa,EAAE,IAAS,EAAkB,EAAE;;IACvF,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACjD,OAAO;YACN,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG;SACvB,CAAC;KACF;IAED,sGAAsG;IACtG,MAAM,WAAW,GAAmB;QACnC,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,aAAa;KACvB,CAAC;IAEF,8DAA8D;IAC9D,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE;QACtB,OAAO;YACN,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,MAAM,CAAC,SAAS;SACtB,CAAC;KACF;IACD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE;QACpB,OAAO;YACN,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,MAAM,CAAC,OAAO;SACpB,CAAC;KACF;IACD,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,YAAoB,EAAE,EAAU,EAAE;IAC3E,IAAI,OAAO,GAAG,uBAAuB,SAAS,EAAE,CAAC;IACjD,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,GAAG,GAAG,OAAO,kBAAkB,CAAC;KACvC;SAAM;QACN,OAAO,GAAG,GAAG,OAAO,cAAc,CAAC;KACnC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAMF;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAU,EAAE;IACvD,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,IAAI;SAC3B,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAElD,qFAAqF;IACrF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,oEAAoE;IACpE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3E,gEAAgE;IAChE,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAgD,CAAC,KAAK,EAAE,EAAE;;IAC1E,IAAI,MAAM,CAAC;IACX,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC9B,MAAM,GAAG,kCAAO,sBAAsB,CAAC,IAAI,CAAC,CAAQ,CAAC;KACrD;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,GAAG,2BAAG,SAAS,EAAE,KAAK,CAAC,IAAI,GAAM,CAAC;KACxC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE;QAC9B,MAAM,GAAG,6BAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;KAClC;IACD,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,UAAU,CAAC;IAChD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE1D,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO,mBAAiB,KAAK,CAAC,QAAQ,IACpD,MAAM,CACF,CACN,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;EAWE","sourcesContent":["import * as React from \"react\";\nimport { services } from \"@finsemble/finsemble-api\";\n\ntype IconDescriptor = services.window.types.IconDescriptor;\n\n/**\n * Converts a Finsemble config entry to an Icon type that can be used to create <Icon> components.\n * @param config A finsemble icon config entry as derived by the launcher (e.g. \"icons.toolBar\", \"icons.taskbar\" or \"icons.titleBar\")\n * @param title The title for the icon\n */\nexport const iconFromConfig = (config: any, title: string, appD: any): IconDescriptor => {\n\tif (appD?.icons?.length > 0 && appD.icons[0].src) {\n\t\treturn {\n\t\t\timageType: \"url\",\n\t\t\tpath: appD.icons[0].src,\n\t\t};\n\t}\n\n\t// Our default icon. The <Icon> component can generate an \"initials\" icon based just off of the `name`\n\tconst defaultIcon: IconDescriptor = {\n\t\timageType: \"initials\",\n\t\tname: title,\n\t\tcategory: \"Application\",\n\t};\n\n\t// Use iconography if available in the app's icon config entry\n\tif (config?.iconClass) {\n\t\treturn {\n\t\t\timageType: \"fonticon\",\n\t\t\tpath: config.iconClass,\n\t\t};\n\t}\n\tif (config?.iconURL) {\n\t\treturn {\n\t\t\timageType: \"url\",\n\t\t\tpath: config.iconURL,\n\t\t};\n\t}\n\treturn defaultIcon;\n};\n\nconst deriveClasses = (imageType: string, className: string = \"\"): string => {\n\tlet classes = `icon-avatar-wrapper ${className}`;\n\tif (imageType === \"url\") {\n\t\tclasses = `${classes} entity-with-img`;\n\t} else {\n\t\tclasses = `${classes} icon-avatar`;\n\t}\n\treturn classes;\n};\n\ntype IconProps = IconDescriptor & {\n\tclassName?: string;\n};\n\n/**\n * Derives two initials from a given name based on some simple heuristics.\n */\nconst avatarInitialsFromName = (name: string): string => {\n\t// Significant words are over three characters\n\tconst significantWords = name\n\t\t.toUpperCase()\n\t\t.split(\" \")\n\t\t.flatMap((str) => (str.length > 3 ? [str] : []));\n\n\t// If no significant words then just return first two characters of the original name\n\tif (significantWords.length === 0) return name.substr(0, 2);\n\n\t// If only one significant word then return its first two characters\n\tif (significantWords.length === 1) return significantWords[0].substr(0, 2);\n\n\t// Return the first character of the first two significant words\n\treturn significantWords[0].substr(0, 1).concat(significantWords[1].substr(0, 1));\n};\n\n/**\n * An icon to accompany Finsemble components or workspaces.\n * @param {string} [imageType] - \"fonticon\" | \"url\" | \"initials\" - Determines how the icon is generated.\n * @param {string} [path] - The path of the image.\n * @param {string} [name] - Used if imageType is \"initials\" to generate a text based icon.\n * @param {string} [category] - This will appear on the `data-category` attribute which can be used to drive CSS.\n * @param {string} [className] - Optional class to be appended.\n */\nexport const Icon: React.FunctionComponent<Partial<IconProps>> = (props) => {\n\tlet avatar;\n\tif (props.imageType === \"initials\") {\n\t\tconst name = props.name ?? \"\";\n\t\tavatar = <span>{avatarInitialsFromName(name)}</span>;\n\t}\n\tif (props.imageType === \"fonticon\") {\n\t\tavatar = <i className={props.path}></i>;\n\t}\n\tif (props.imageType === \"url\") {\n\t\tavatar = <img src={props.path} />;\n\t}\n\tconst imageType = props.imageType ?? \"initials\";\n\tconst classes = deriveClasses(imageType, props.className);\n\n\treturn (\n\t\t<div className={classes} data-category={props.category}>\n\t\t\t{avatar}\n\t\t</div>\n\t);\n};\n\n/*\nexport const CategoryIcon: React.FunctionComponent<CategoryIconProps> = (props) => {\n\tlet className = \"\";\n\tif(props.category == \"Application\")\n\t\tclassName=`entity-component ${props.className}`;\n\tif(props.category == \"Workspace\")\n\t\tclassName=`entity-workspace ${props.className}`;\n\treturn (\n\t\t<Icon {...props} {...className} />\n\t)\n}\n*/\n"]}
|
|
@@ -11,4 +11,8 @@ export declare type FinsembleDialogProps = {
|
|
|
11
11
|
className?: string;
|
|
12
12
|
children?: any;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* This is a component that adds some baked in behavior that is common accross several
|
|
16
|
+
* of the finsemble dialogs. Hiding/closing on blur, timing out, etc.
|
|
17
|
+
*/
|
|
14
18
|
export declare const FinsembleDialog: React.FunctionComponent<FinsembleDialogProps>;
|
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
const DIALOG_BASE_CLASS = "dialog";
|
|
7
|
+
/**
|
|
8
|
+
* This is a component that adds some baked in behavior that is common accross several
|
|
9
|
+
* of the finsemble dialogs. Hiding/closing on blur, timing out, etc.
|
|
10
|
+
*/
|
|
7
11
|
export const FinsembleDialog = (props) => {
|
|
8
12
|
let { userInputTimeout, onShowRequested, isModal, className, children } = props;
|
|
9
13
|
const handleKeyDown = (e) => {
|
|
14
|
+
// If the user hits escape then hide the window
|
|
15
|
+
// openerMessage won't be null if data is in transit to the originating window, in which
|
|
16
|
+
// case we bypass the hide() -- this is some sort of race condition from a long time ago
|
|
17
|
+
// that is not fully understood
|
|
10
18
|
if (e.key === "Escape" && FSBL.Clients.DialogManager.openerMessage === null) {
|
|
11
19
|
finsembleWindow.hide();
|
|
12
20
|
}
|
|
@@ -17,10 +25,17 @@ export const FinsembleDialog = (props) => {
|
|
|
17
25
|
if (typeof onShowRequested === "undefined") {
|
|
18
26
|
throw new Error("No onShowRequested passed to FinsembleDialog. Pass onShowRequested as a property to the FinsembleDialog component.");
|
|
19
27
|
}
|
|
28
|
+
/*if (typeof behaviorOnResponse === "undefined") {
|
|
29
|
+
behaviorOnResponse = "hide";
|
|
30
|
+
}*/
|
|
20
31
|
if (typeof userInputTimeout === "undefined") {
|
|
21
32
|
userInputTimeout = 10000;
|
|
22
33
|
}
|
|
23
34
|
FSBL.Clients.DialogManager.userInputTimeout = userInputTimeout;
|
|
35
|
+
//FSBL.Clients.DialogManager.behaviorOnResponse = behaviorOnResponse;
|
|
36
|
+
/**
|
|
37
|
+
* Registers some event listeners the first time this component is rendered.
|
|
38
|
+
*/
|
|
24
39
|
React.useEffect(() => {
|
|
25
40
|
document.body.addEventListener("keydown", handleKeyDown);
|
|
26
41
|
document.body.className = `${document.body.className} dialog`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinsembleDialog.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,iBAAiB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"FinsembleDialog.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAUnC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkD,CAAC,KAAU,EAAE,EAAE;IAC5F,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhF,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE;QAC1C,+CAA+C;QAC/C,wFAAwF;QACxF,wFAAwF;QACxF,+BAA+B;QAC/B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,EAAE;YAC5E,eAAe,CAAC,IAAI,EAAE,CAAC;SACvB;IACF,CAAC,CAAC;IAEF,eAAe,CAAC,cAAc,CAAC;QAC9B,WAAW,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;QAC3C,MAAM,IAAI,KAAK,CACd,oHAAoH,CACpH,CAAC;KACF;IAED;;OAEG;IAEH,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QAC5C,gBAAgB,GAAG,KAAK,CAAC;KACzB;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC/D,qEAAqE;IAErE;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAEnE,IAAI,OAAO,EAAE;YACZ,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAChF,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACjF;QAED,OAAO,GAAG,EAAE;YACX,IAAI,OAAO,EAAE;gBACZ,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACnF,eAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACpF;QACF,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACpD,OAAO,6BAAK,SAAS,EAAE,OAAO,IAAG,QAAQ,CAAO,CAAC;AAClD,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport * as React from \"react\";\nconst DIALOG_BASE_CLASS = \"dialog\";\nexport type FinsembleDialogProps = {\n\tbehaviorOnResponse?: \"close\" | \"hide\";\n\tuserInputTimeout?: number;\n\tonShowRequested?: (err: any, response: any) => void;\n\tisModal: boolean;\n\tclassName?: string;\n\tchildren?: any;\n};\n\n/**\n * This is a component that adds some baked in behavior that is common accross several\n * of the finsemble dialogs. Hiding/closing on blur, timing out, etc.\n */\nexport const FinsembleDialog: React.FunctionComponent<FinsembleDialogProps> = (props: any) => {\n\tlet { userInputTimeout, onShowRequested, isModal, className, children } = props;\n\n\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t// If the user hits escape then hide the window\n\t\t// openerMessage won't be null if data is in transit to the originating window, in which\n\t\t// case we bypass the hide() -- this is some sort of race condition from a long time ago\n\t\t// that is not fully understood\n\t\tif (e.key === \"Escape\" && FSBL.Clients.DialogManager.openerMessage === null) {\n\t\t\tfinsembleWindow.hide();\n\t\t}\n\t};\n\n\tfinsembleWindow.setAlwaysOnTop({\n\t\talwaysOnTop: true,\n\t});\n\n\tif (typeof onShowRequested === \"undefined\") {\n\t\tthrow new Error(\n\t\t\t\"No onShowRequested passed to FinsembleDialog. Pass onShowRequested as a property to the FinsembleDialog component.\"\n\t\t);\n\t}\n\n\t/*if (typeof behaviorOnResponse === \"undefined\") {\n\t\tbehaviorOnResponse = \"hide\";\n\t}*/\n\n\tif (typeof userInputTimeout === \"undefined\") {\n\t\tuserInputTimeout = 10000;\n\t}\n\n\tFSBL.Clients.DialogManager.userInputTimeout = userInputTimeout;\n\t//FSBL.Clients.DialogManager.behaviorOnResponse = behaviorOnResponse;\n\n\t/**\n\t * Registers some event listeners the first time this component is rendered.\n\t */\n\tReact.useEffect(() => {\n\t\tdocument.body.addEventListener(\"keydown\", handleKeyDown);\n\t\tdocument.body.className = `${document.body.className} dialog`;\n\n\t\tFSBL.Clients.DialogManager.registerDialogCallback(onShowRequested);\n\n\t\tif (isModal) {\n\t\t\tfinsembleWindow.addEventListener(\"shown\", FSBL.Clients.DialogManager.showModal);\n\t\t\tfinsembleWindow.addEventListener(\"hidden\", FSBL.Clients.DialogManager.hideModal);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (isModal) {\n\t\t\t\tfinsembleWindow.removeEventListener(\"shown\", FSBL.Clients.DialogManager.showModal);\n\t\t\t\tfinsembleWindow.removeEventListener(\"hidden\", FSBL.Clients.DialogManager.hideModal);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst classes = `${className} ${DIALOG_BASE_CLASS}`;\n\treturn <div className={classes}>{children}</div>;\n};\n"]}
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
import * as React from "react";
|
|
6
|
+
/**
|
|
7
|
+
* Button that is rendered on a dialog.
|
|
8
|
+
*/
|
|
6
9
|
export const FinsembleDialogButton = (props) => {
|
|
10
|
+
// Default size is medium.
|
|
7
11
|
var _a, _b;
|
|
8
|
-
|
|
12
|
+
// [Julianna Langston, 2021-04-19] I don't think this is being used, since the css class `fsbl-button-md` doesn't exist anywhere. Candidate for removal, along with associated prop.
|
|
13
|
+
const size = (_a = props.buttonSize) !== null && _a !== void 0 ? _a : "md"; // `fsbl-button-md` css doesn't exist anywhere?
|
|
9
14
|
const classes = `fsbl-button fsbl-button-${size} ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}`;
|
|
10
15
|
return props.show !== false ? (React.createElement("div", { className: classes, onClick: props.onClick }, props.children)) : null;
|
|
11
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinsembleDialogButton.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FinsembleDialogButton.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAwD,CAAC,KAAU,EAAE,EAAE;IACxG,0BAA0B;;IAE1B,oLAAoL;IACpL,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,IAAI,CAAC,CAAC,+CAA+C;IACtF,MAAM,OAAO,GAAG,2BAA2B,IAAI,IAAI,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,EAAE,CAAC;IAC3E,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAC7B,6BAAK,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAC7C,KAAK,CAAC,QAAQ,CACV,CACN,CAAC,CAAC,CAAC,IAAI,CAAC;AACV,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport * as React from \"react\";\n\nexport type FinsembleDialogButtonProps = {\n\tbuttonSize?: string;\n\tclassName?: string;\n\tshow?: boolean;\n\tonClick?: Function;\n};\n\n/**\n * Button that is rendered on a dialog.\n */\nexport const FinsembleDialogButton: React.FunctionComponent<FinsembleDialogButtonProps> = (props: any) => {\n\t// Default size is medium.\n\n\t// [Julianna Langston, 2021-04-19] I don't think this is being used, since the css class `fsbl-button-md` doesn't exist anywhere. Candidate for removal, along with associated prop.\n\tconst size = props.buttonSize ?? \"md\"; // `fsbl-button-md` css doesn't exist anywhere?\n\tconst classes = `fsbl-button fsbl-button-${size} ${props.className ?? \"\"}`;\n\treturn props.show !== false ? (\n\t\t<div className={classes} onClick={props.onClick}>\n\t\t\t{props.children}\n\t\t</div>\n\t) : null;\n};\n"]}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2017 by ChartIQ, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
1
5
|
import * as React from "react";
|
|
2
6
|
export declare type FinsembleDialogQuestionProps = {
|
|
3
7
|
className?: string;
|
|
4
8
|
question?: string;
|
|
5
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* This component is essentially just a component that adds classes so the styling looks good on dialogs.
|
|
12
|
+
*/
|
|
6
13
|
export declare const FinsembleDialogQuestion: React.FunctionComponent<FinsembleDialogQuestionProps>;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2017 by ChartIQ, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
1
5
|
import * as React from "react";
|
|
2
6
|
const DIALOG_QUESTION_BASE_CLASS = "dialog-question";
|
|
7
|
+
/**
|
|
8
|
+
* This component is essentially just a component that adds classes so the styling looks good on dialogs.
|
|
9
|
+
*/
|
|
3
10
|
export const FinsembleDialogQuestion = (props) => {
|
|
4
11
|
var _a;
|
|
5
12
|
const classes = `${(_a = props.className) !== null && _a !== void 0 ? _a : ""} ${DIALOG_QUESTION_BASE_CLASS}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinsembleDialogQuestion.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogQuestion.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FinsembleDialogQuestion.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogQuestion.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAOrD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0D,CAAC,KAAU,EAAE,EAAE;;IAC5G,MAAM,OAAO,GAAG,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,IAAI,0BAA0B,EAAE,CAAC;IACzE,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACrB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport * as React from \"react\";\nconst DIALOG_QUESTION_BASE_CLASS = \"dialog-question\";\n\nexport type FinsembleDialogQuestionProps = {\n\tclassName?: string;\n\tquestion?: string;\n};\n\n/**\n * This component is essentially just a component that adds classes so the styling looks good on dialogs.\n */\nexport const FinsembleDialogQuestion: React.FunctionComponent<FinsembleDialogQuestionProps> = (props: any) => {\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_QUESTION_BASE_CLASS}`;\n\treturn (\n\t\t<div className={classes}>\n\t\t\t{props.question}\n\t\t\t{props.children}\n\t\t</div>\n\t);\n};\n"]}
|
|
@@ -14,4 +14,7 @@ export declare type FinsembleDialogTextInputProps = {
|
|
|
14
14
|
onInputChange: React.ChangeEventHandler;
|
|
15
15
|
inputPattern?: string;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* A big text field that's shown on dialogs.
|
|
19
|
+
*/
|
|
17
20
|
export declare const FinsembleDialogTextInput: React.FunctionComponent<FinsembleDialogTextInputProps>;
|
|
@@ -4,16 +4,25 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
const DIALOG_INPUT_BASE_CLASS = "dialog-input";
|
|
7
|
+
/**
|
|
8
|
+
* A big text field that's shown on dialogs.
|
|
9
|
+
*/
|
|
7
10
|
export const FinsembleDialogTextInput = (props) => {
|
|
8
11
|
var _a, _b, _c;
|
|
9
12
|
const [textValue, setTextValue] = React.useState((_a = props.value) !== null && _a !== void 0 ? _a : "");
|
|
10
13
|
const textInput = React.useRef(null);
|
|
11
14
|
const inputPatternRegEx = props.inputPattern ? new RegExp(props.inputPattern) : undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Focuses the input field.
|
|
17
|
+
*/
|
|
12
18
|
const focusInput = () => {
|
|
13
19
|
var _a;
|
|
14
20
|
if ((_a = textInput === null || textInput === void 0 ? void 0 : textInput.current) === null || _a === void 0 ? void 0 : _a.focus)
|
|
15
21
|
textInput.current.focus();
|
|
16
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Listens for the shown event so it can focus the input.
|
|
25
|
+
*/
|
|
17
26
|
React.useEffect(() => {
|
|
18
27
|
if (props.focusOnShow) {
|
|
19
28
|
finsembleWindow.addEventListener("shown", focusInput);
|
|
@@ -32,6 +41,11 @@ export const FinsembleDialogTextInput = (props) => {
|
|
|
32
41
|
}, [props.value]);
|
|
33
42
|
const placeholder = (_b = props.placeholder) !== null && _b !== void 0 ? _b : "";
|
|
34
43
|
const classes = `${(_c = props.className) !== null && _c !== void 0 ? _c : ""} ${DIALOG_INPUT_BASE_CLASS}`;
|
|
44
|
+
/**
|
|
45
|
+
* If the input is a match for the props.inputPattern regular expression, then pass on the change
|
|
46
|
+
*
|
|
47
|
+
* @param {React.ChangeEvent<HTMLInputElement>} e
|
|
48
|
+
*/
|
|
35
49
|
const changeEvent = (e) => {
|
|
36
50
|
if (inputPatternRegEx === undefined || e.target.value.match(inputPatternRegEx)) {
|
|
37
51
|
props.onInputChange(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinsembleDialogTextInput.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogTextInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,uBAAuB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FinsembleDialogTextInput.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogTextInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAc/C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA2D,CAAC,KAAK,EAAE,EAAE;;IACzG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAgC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAuB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G;;OAEG;IACH,MAAM,UAAU,GAAG,GAAG,EAAE;;QACvB,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,KAAK;YAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,WAAW,EAAE;YACtB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,EAAE;YACX,IAAI,KAAK,CAAC,WAAW,EAAE;gBACtB,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACzD;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACpB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,YAAY,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;SAChC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,IAAI,uBAAuB,EAAE,CAAC;IAEtE;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC9D,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YAC/E,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACvB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC/B,oCAAoC,CAAC,CAAC,MAAM,CAAC,KAAK,iDAAiD,KAAK,CAAC,YAAY,GAAG,CACxH,CAAC;SACF;IACF,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACtB,+BAAO,OAAO,EAAC,cAAc,IAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAS;QAC9D,6BAAK,SAAS,EAAC,YAAY;YAC1B,+BACC,EAAE,EAAC,cAAc,EACjB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,SAAS,GACf,CACG;QACL,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport * as React from \"react\";\nconst DIALOG_INPUT_BASE_CLASS = \"dialog-input\";\n\nexport type FinsembleDialogTextInputProps = {\n\tclassName?: string;\n\tmaxLength?: number;\n\tplaceholder?: string;\n\tautoFocus?: boolean;\n\tfocusOnShow?: boolean;\n\tinputLabel?: string;\n\tvalue?: string;\n\tonInputChange: React.ChangeEventHandler;\n\tinputPattern?: string;\n};\n\n/**\n * A big text field that's shown on dialogs.\n */\nexport const FinsembleDialogTextInput: React.FunctionComponent<FinsembleDialogTextInputProps> = (props) => {\n\tconst [textValue, setTextValue] = React.useState<string>(props.value ?? \"\");\n\tconst textInput: React.Ref<HTMLInputElement> = React.useRef(null);\n\tconst inputPatternRegEx: RegExp | undefined = props.inputPattern ? new RegExp(props.inputPattern) : undefined;\n\t/**\n\t * Focuses the input field.\n\t */\n\tconst focusInput = () => {\n\t\tif (textInput?.current?.focus) textInput.current.focus();\n\t};\n\n\t/**\n\t * Listens for the shown event so it can focus the input.\n\t */\n\tReact.useEffect(() => {\n\t\tif (props.focusOnShow) {\n\t\t\tfinsembleWindow.addEventListener(\"shown\", focusInput);\n\t\t}\n\t\treturn () => {\n\t\t\tif (props.focusOnShow) {\n\t\t\t\tfinsembleWindow.removeEventListener(\"shown\", focusInput);\n\t\t\t}\n\t\t};\n\t}, [props.focusOnShow]);\n\n\tReact.useEffect(() => {\n\t\tif (props.value !== textValue) {\n\t\t\tsetTextValue(props.value ?? \"\");\n\t\t}\n\t}, [props.value]);\n\n\tconst placeholder = props.placeholder ?? \"\";\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_INPUT_BASE_CLASS}`;\n\n\t/**\n\t * If the input is a match for the props.inputPattern regular expression, then pass on the change\n\t *\n\t * @param {React.ChangeEvent<HTMLInputElement>} e\n\t */\n\tconst changeEvent = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tif (inputPatternRegEx === undefined || e.target.value.match(inputPatternRegEx)) {\n\t\t\tprops.onInputChange(e);\n\t\t\tsetTextValue(e.target.value);\n\t\t} else {\n\t\t\tFSBL.Clients.Logger.system.debug(\n\t\t\t\t`FinsembleDialogTextInput: input '${e.target.value}' failed to match against props.inputPattern '${props.inputPattern}'`\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={classes}>\n\t\t\t<label htmlFor=\"single-input\">{props.inputLabel || \"\"}</label>\n\t\t\t<div className=\"form-group\">\n\t\t\t\t<input\n\t\t\t\t\tid=\"single-input\"\n\t\t\t\t\tautoFocus={props.autoFocus}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tmaxLength={props.maxLength}\n\t\t\t\t\tonChange={changeEvent}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tref={textInput}\n\t\t\t\t\tvalue={textValue}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{props.children}\n\t\t</div>\n\t);\n};\n"]}
|
|
@@ -22,5 +22,24 @@ declare type FinsembleDnDContextProps = {
|
|
|
22
22
|
className?: string;
|
|
23
23
|
metadata?: Record<string, any> | undefined;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* The FinsembleDnDContext allows for all of the Draggable and Droppable components to work.
|
|
27
|
+
* It wraps its children and allows them to do draggy and droppy things.
|
|
28
|
+
* It also allows for horizontal containers to provide scrolling functionality.
|
|
29
|
+
* @param props
|
|
30
|
+
* @param props.id ID for the container that wraps the sortable container
|
|
31
|
+
* @param props.allowHorizontalScroll whether the DND context should allow for horizontal scrolling
|
|
32
|
+
* @param props.showScrollButtonsTooltip
|
|
33
|
+
* @param props.leftButtonTooltip Tooltip for left scroll button
|
|
34
|
+
* @param props.rightButtonTooltip Tooltip for right scroll button
|
|
35
|
+
* @param props.chevronScrollDistance how far clicking the chevrons should push the content forward or backwards
|
|
36
|
+
* @param props.onDragEnd handler for sorting
|
|
37
|
+
* @param props.onDragBegin handler for sorting
|
|
38
|
+
* @param props.onDragOver
|
|
39
|
+
* @param props.onLayoutUpdate handler for rendering. Invokes on useLayoutEffect
|
|
40
|
+
* @param props.distance how far the user has to drag an element to trigger sorting behavior
|
|
41
|
+
* @param props.axis whether to sort vertically or horizontally.
|
|
42
|
+
* @param props.className optional styles to pass the the sortable container
|
|
43
|
+
*/
|
|
25
44
|
export declare const FinsembleDnDContext: React.FunctionComponent<FinsembleDnDContextProps>;
|
|
26
45
|
export {};
|
|
@@ -27,12 +27,25 @@ const DEFAULT_CONTAINER_MEASUREMENTS = {
|
|
|
27
27
|
offsetWidth: 0,
|
|
28
28
|
};
|
|
29
29
|
const DEFAULT_CHEVRON_SCROLL_DISTANCE = 60;
|
|
30
|
+
/**
|
|
31
|
+
* Listens for resize events on the DOM and changes whether we should render the scrolling chevrons.
|
|
32
|
+
* @param overflowStateSetter
|
|
33
|
+
*/
|
|
30
34
|
const addResizeHandler = (overflowStateSetter) => () => {
|
|
31
35
|
window.addEventListener("resize", overflowStateSetter);
|
|
32
36
|
return () => {
|
|
33
37
|
window.removeEventListener("resize", overflowStateSetter);
|
|
34
38
|
};
|
|
35
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Scrolls forward or back
|
|
42
|
+
* @param containerRef
|
|
43
|
+
* @param distance How far to move
|
|
44
|
+
* @param state Current scroll state
|
|
45
|
+
* @param stateSetters Scroll state setters
|
|
46
|
+
* @param scrollDir Whether we're scrolling forward or backwards
|
|
47
|
+
* @param deltaY The scroll amount that came from the `wheel` event.
|
|
48
|
+
*/
|
|
36
49
|
const scrollHorizontally = (distance, state, stateSetters, scrollDir, deltaY) => {
|
|
37
50
|
const { setScrollLeft } = stateSetters;
|
|
38
51
|
const { containerScrollLeft, containerMeasurements } = state;
|
|
@@ -47,15 +60,20 @@ const scrollHorizontally = (distance, state, stateSetters, scrollDir, deltaY) =>
|
|
|
47
60
|
delta = Math.max(-1, Math.min(1, scrollDir));
|
|
48
61
|
}
|
|
49
62
|
let fakeItemWidth = 0;
|
|
63
|
+
// advance the scroll position 40 px forward or back, depending on the mouse wheel direction.
|
|
64
|
+
// eslint-disable-next-line no-mixed-operators
|
|
50
65
|
let newScrollLeft = containerScrollLeft - delta * distance;
|
|
51
66
|
if (scrollAmount >= distance) {
|
|
52
67
|
return fakeItemWidth;
|
|
53
68
|
}
|
|
69
|
+
// See the links inside of the main body of FinsembleDnDContext if offsetLeft/Width are unfamiliar to you
|
|
54
70
|
const rightEdgeOfScrollingViewport = containerMeasurements.offsetLeft + containerMeasurements.offsetWidth + newScrollLeft;
|
|
55
71
|
const rightMostEdgeOfScrollingArea = containerMeasurements.offsetLeft + containerMeasurements.scrollWidth;
|
|
72
|
+
// if we've scrolled beyond the right-most edge of the area, calculate the fake item width
|
|
56
73
|
if (rightEdgeOfScrollingViewport > rightMostEdgeOfScrollingArea) {
|
|
57
74
|
fakeItemWidth = newScrollLeft - (containerMeasurements.scrollWidth - containerMeasurements.clientWidth);
|
|
58
75
|
}
|
|
76
|
+
// if we've scrolled past the left-most area, set the scrollLeft to the leftMost edge of the region.
|
|
59
77
|
if (newScrollLeft < 0)
|
|
60
78
|
newScrollLeft = 0;
|
|
61
79
|
if (newScrollLeft !== containerScrollLeft) {
|
|
@@ -63,6 +81,10 @@ const scrollHorizontally = (distance, state, stateSetters, scrollDir, deltaY) =>
|
|
|
63
81
|
}
|
|
64
82
|
return fakeItemWidth;
|
|
65
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* Simple component that renders the left and right chevrons.
|
|
86
|
+
* @param props
|
|
87
|
+
*/
|
|
66
88
|
const ScrollingChevron = (props) => {
|
|
67
89
|
const { isDisabled, chevronDirection, showToolTip, title, scrollFunction } = props;
|
|
68
90
|
const classNames = `scroll-button ff-chevron-${chevronDirection} ${isDisabled ? "greyedOut" : null}`;
|
|
@@ -70,6 +92,25 @@ const ScrollingChevron = (props) => {
|
|
|
70
92
|
return (React.createElement("div", { className: "chevron-container", title: toolTip },
|
|
71
93
|
React.createElement("i", { className: classNames, onClick: scrollFunction })));
|
|
72
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* The FinsembleDnDContext allows for all of the Draggable and Droppable components to work.
|
|
97
|
+
* It wraps its children and allows them to do draggy and droppy things.
|
|
98
|
+
* It also allows for horizontal containers to provide scrolling functionality.
|
|
99
|
+
* @param props
|
|
100
|
+
* @param props.id ID for the container that wraps the sortable container
|
|
101
|
+
* @param props.allowHorizontalScroll whether the DND context should allow for horizontal scrolling
|
|
102
|
+
* @param props.showScrollButtonsTooltip
|
|
103
|
+
* @param props.leftButtonTooltip Tooltip for left scroll button
|
|
104
|
+
* @param props.rightButtonTooltip Tooltip for right scroll button
|
|
105
|
+
* @param props.chevronScrollDistance how far clicking the chevrons should push the content forward or backwards
|
|
106
|
+
* @param props.onDragEnd handler for sorting
|
|
107
|
+
* @param props.onDragBegin handler for sorting
|
|
108
|
+
* @param props.onDragOver
|
|
109
|
+
* @param props.onLayoutUpdate handler for rendering. Invokes on useLayoutEffect
|
|
110
|
+
* @param props.distance how far the user has to drag an element to trigger sorting behavior
|
|
111
|
+
* @param props.axis whether to sort vertically or horizontally.
|
|
112
|
+
* @param props.className optional styles to pass the the sortable container
|
|
113
|
+
*/
|
|
73
114
|
export const FinsembleDnDContext = (props) => {
|
|
74
115
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
75
116
|
const { allowHorizontalScroll } = props;
|
|
@@ -77,29 +118,88 @@ export const FinsembleDnDContext = (props) => {
|
|
|
77
118
|
const onDragBegin = (_b = props.onDragStart) !== null && _b !== void 0 ? _b : defaultOnDragBegin;
|
|
78
119
|
const onDragMove = (_c = props.onDragMove) !== null && _c !== void 0 ? _c : defaultOnDrag;
|
|
79
120
|
const onDragOver = (_d = props.onDragOver) !== null && _d !== void 0 ? _d : defaultOnDragOver;
|
|
121
|
+
// This is the numberr of pixels that a draggable element has to be dragged before the sorting kicks in.
|
|
80
122
|
const distance = (_e = props.distance) !== null && _e !== void 0 ? _e : SORT_CONTAINER_DRAG_DISTANCE;
|
|
81
123
|
const onLayoutUpdate = (_f = props.onLayoutUpdate) !== null && _f !== void 0 ? _f : defaultOnLayoutUpdate;
|
|
124
|
+
// This is the stateful variable that holds the active 'scrollLeft' property for the DOM node
|
|
125
|
+
// that's rendered inside of the sort container.
|
|
82
126
|
const [containerScrollLeft, setContainerScrollLeft] = React.useState(0);
|
|
127
|
+
// read the comment in doForceUpdate to understand this.
|
|
128
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
83
129
|
const [forceUpdate, setForceUpdate] = React.useState(0);
|
|
130
|
+
// Index of current visible left item
|
|
84
131
|
const [leftItemIndex, setLeftItemIndex] = React.useState(0);
|
|
132
|
+
// Width of fake right (last) item to align the position of the left item
|
|
85
133
|
const [fakeItemWidth, setFakeItemWidth] = React.useState(0);
|
|
86
134
|
const containerRef = React.useRef(null);
|
|
135
|
+
// An object with all of the measurements that we'll need to set chevron visibility.
|
|
136
|
+
// If you don't understand client vs offset vs scrollWidth/Left,
|
|
137
|
+
// go check out this image https://i.stack.imgur.com/Cl1IA.png
|
|
138
|
+
// Here's an interactive version too: https://jsfiddle.net/y8Y32/25/
|
|
87
139
|
const containerMeasurements = containerRef.current
|
|
88
140
|
? {
|
|
89
141
|
clientLeft: containerRef.current.clientLeft,
|
|
90
142
|
clientWidth: containerRef.current.clientWidth,
|
|
91
143
|
offsetLeft: containerRef.current.offsetLeft,
|
|
92
144
|
offsetWidth: containerRef.current.offsetWidth,
|
|
145
|
+
// not using the actual container's scrollLeft because it may not have been set yet.
|
|
146
|
+
// this uses the scrollLeft we have set in state.
|
|
93
147
|
scrollLeft: containerScrollLeft,
|
|
94
148
|
scrollWidth: containerRef.current.scrollWidth,
|
|
95
149
|
}
|
|
96
150
|
: DEFAULT_CONTAINER_MEASUREMENTS;
|
|
97
151
|
const chevronScrollDistance = (_g = props.chevronScrollDistance) !== null && _g !== void 0 ? _g : DEFAULT_CHEVRON_SCROLL_DISTANCE;
|
|
98
|
-
|
|
152
|
+
// Whether the elements inside of the DND container have overflowed the clientWidth.
|
|
153
|
+
const isOverflowPresent =
|
|
154
|
+
// Explicitly made this !== 0 instead of just checking whether clientWidth was truthy
|
|
155
|
+
// so it was clear why this check was here. If it's not clear,
|
|
156
|
+
// if the clientWidth of the containerRef is 0, we should not have any chevrons. Ever.
|
|
157
|
+
// A client width of 0 indicates that the Ref's children haven't fully rendered.
|
|
158
|
+
containerMeasurements.clientWidth !== 0 &&
|
|
159
|
+
// On a monitor that's scaled at 100%, when clientWidth and scrollWidth are the same
|
|
160
|
+
// there is no overflow present. When monitors are NOT scaled at 100%,
|
|
161
|
+
// there's a chance that these two numbers are off.
|
|
99
162
|
Math.abs(containerMeasurements.clientWidth - containerMeasurements.scrollWidth) > 0;
|
|
100
163
|
const showChevrons = allowHorizontalScroll && isOverflowPresent;
|
|
164
|
+
// disabled === 'grayed out' and onClick won't fire. When you've scrolled all the way to the left,
|
|
165
|
+
// the left chevron is disabled. If you've scrolled all the way to the right, the right chevron is disabled
|
|
101
166
|
const leftChevronDisabled = !!(showChevrons && containerScrollLeft === 0);
|
|
102
167
|
const rightChevronDisabled = !!(showChevrons &&
|
|
168
|
+
/**
|
|
169
|
+
* This is a calculation that figures out where the right edge of the current viewport is.
|
|
170
|
+
* It's a little tricky to imagine. So look at this diagram.
|
|
171
|
+
+-------------------------------------------scrollWidth-------------------------------------------+
|
|
172
|
+
|----------------------------------------------------|
|
|
173
|
+
| |
|
|
174
|
+
+-------------------------------------------------------------------------------------------------+
|
|
175
|
+
|(0) |(200) |(200) |(300)
|
|
176
|
+
| | | |
|
|
177
|
+
| | | |
|
|
178
|
+
| | | |
|
|
179
|
+
| | | |
|
|
180
|
+
| | | |
|
|
181
|
+
| | | |
|
|
182
|
+
| | | |
|
|
183
|
+
| | | |
|
|
184
|
+
| | | |
|
|
185
|
+
| | | |
|
|
186
|
+
| | | (A) |
|
|
187
|
+
+-------------------------------------------------------------------------------------------------+
|
|
188
|
+
| |
|
|
189
|
+
+----------------------clientWidth-------------------+
|
|
190
|
+
^ ^
|
|
191
|
+
| |
|
|
192
|
+
| |
|
|
193
|
+
| |
|
|
194
|
+
+ +
|
|
195
|
+
scrollLeft = 100 scrollRight = 200
|
|
196
|
+
|
|
197
|
+
* The numbers in parens are the numbers for the 'scroll box'. We're trying to figure out where the point labeled (A) is located.
|
|
198
|
+
*
|
|
199
|
+
* Walking through the calculation, we take the scrollWidth and subtract the scrollLeft. This gives us the right edge of the scroll box.
|
|
200
|
+
* offsetWidth is effectively the right edge of the element. If the right edge of the scroll box and the right edge of the element are the same number,
|
|
201
|
+
* then we cannot scroll any further, and the chevron should be disabled.
|
|
202
|
+
*/
|
|
103
203
|
containerMeasurements.scrollWidth - containerScrollLeft - containerMeasurements.offsetWidth === 0);
|
|
104
204
|
const scrollFunctionState = {
|
|
105
205
|
containerScrollLeft,
|
|
@@ -108,6 +208,9 @@ export const FinsembleDnDContext = (props) => {
|
|
|
108
208
|
const scrollFunctionStateSetters = {
|
|
109
209
|
setScrollLeft: setContainerScrollLeft,
|
|
110
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* Left Chevron's onClickHandler
|
|
213
|
+
*/
|
|
111
214
|
const scrollToLeft = () => {
|
|
112
215
|
var _a, _b;
|
|
113
216
|
if (leftChevronDisabled)
|
|
@@ -119,6 +222,9 @@ export const FinsembleDnDContext = (props) => {
|
|
|
119
222
|
setLeftItemIndex(leftItemIndex - 1);
|
|
120
223
|
}
|
|
121
224
|
};
|
|
225
|
+
/**
|
|
226
|
+
* Right Chevron's onClickHandler
|
|
227
|
+
*/
|
|
122
228
|
const scrollToRight = () => {
|
|
123
229
|
var _a, _b;
|
|
124
230
|
if (rightChevronDisabled)
|
|
@@ -130,9 +236,14 @@ export const FinsembleDnDContext = (props) => {
|
|
|
130
236
|
setLeftItemIndex(leftItemIndex + 1);
|
|
131
237
|
}
|
|
132
238
|
};
|
|
239
|
+
/**
|
|
240
|
+
* "wheel" handler. scrolls forward or backwards
|
|
241
|
+
* @param event
|
|
242
|
+
*/
|
|
133
243
|
const scrollme = (event) => {
|
|
134
244
|
if (!event.nativeEvent.deltaY)
|
|
135
245
|
return;
|
|
246
|
+
// do scroll only if the container is overflowed
|
|
136
247
|
if (isOverflowPresent) {
|
|
137
248
|
event.nativeEvent.deltaY < 0 ? scrollToLeft() : scrollToRight();
|
|
138
249
|
}
|
|
@@ -141,22 +252,36 @@ export const FinsembleDnDContext = (props) => {
|
|
|
141
252
|
if (props.allowHorizontalScroll && containerRef.current)
|
|
142
253
|
containerRef.current.scrollLeft = containerScrollLeft;
|
|
143
254
|
};
|
|
255
|
+
// This function increments `forceUpdate`, which is a piece of state that's irrelevant to the
|
|
256
|
+
// rendering of this component. After a resize, we need to re-measure the DOM so we can figure out if
|
|
257
|
+
// the chevrons are necessary. Because no state changes on a resize. the component doesn't rerender.
|
|
258
|
+
// This function will change state, which will cause a re-rendering, and the component will be re-measured.
|
|
144
259
|
const doForceUpdate = () => {
|
|
145
260
|
setForceUpdate((currentValueOfForceUpdate) => currentValueOfForceUpdate + 1);
|
|
146
261
|
};
|
|
262
|
+
// This function is needed for correct positioning after resizing the window.
|
|
147
263
|
const scrollToInitialState = () => {
|
|
148
264
|
const calculatedFakeItemWidth = scrollHorizontally(containerScrollLeft, scrollFunctionState, scrollFunctionStateSetters, 1);
|
|
149
265
|
setFakeItemWidth(calculatedFakeItemWidth);
|
|
150
266
|
setLeftItemIndex(0);
|
|
151
267
|
setContainerScrollLeft(0);
|
|
152
268
|
};
|
|
269
|
+
// After every render, set the actual DOM element's scrollLeft to be whatever we calculated during the previous render.
|
|
153
270
|
React.useLayoutEffect(doDOMManipulation);
|
|
271
|
+
// after the children change, we need to force an update so that we can re-measure the DOM after the render happens
|
|
272
|
+
// without this, adding and removing elements from the DNDContext won't recalculate whether the chevrons should render
|
|
154
273
|
React.useEffect(doForceUpdate, [props.children]);
|
|
274
|
+
// Whenever the window resizes, force an update so that the DOM is re-measured.
|
|
155
275
|
React.useEffect(addResizeHandler(doForceUpdate), []);
|
|
276
|
+
// Whenever the window resizes, scroll widgets to the left.
|
|
156
277
|
React.useEffect(addResizeHandler(scrollToInitialState), []);
|
|
278
|
+
/**
|
|
279
|
+
* Actual container that provides drag and drop functionality
|
|
280
|
+
*/
|
|
157
281
|
const SortContainer = SortableContainer((sortableContainerProps) => (React.createElement("div", { onWheel: scrollme, ref: containerRef, className: props.className },
|
|
158
282
|
sortableContainerProps.children,
|
|
159
283
|
React.createElement("div", { style: { width: `${fakeItemWidth}px`, flexShrink: 0 } }))));
|
|
284
|
+
// After every render, call onLayoutUpdate function
|
|
160
285
|
React.useLayoutEffect(() => {
|
|
161
286
|
onLayoutUpdate();
|
|
162
287
|
}, [SortContainer]);
|