@x15ventures/x15-ui-library 3.16.1 → 3.18.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/dist/cjs/autoGenerated/libraryThemes.js +12 -12
- package/dist/cjs/autoGenerated/libraryThemes.js.map +1 -1
- package/dist/cjs/autoGenerated/libraryThemes.json +12 -12
- package/dist/cjs/components/design/accordion/Accordion.js +7 -23
- package/dist/cjs/components/design/accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/design/banners/pageBanner/PageBanner.js +2 -4
- package/dist/cjs/components/design/banners/pageBanner/PageBanner.js.map +1 -1
- package/dist/cjs/components/design/card/cardContent/CardContentLine.js +2 -2
- package/dist/cjs/components/design/card/cardContent/CardContentLine.js.map +1 -1
- package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js +2 -2
- package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
- package/dist/cjs/components/design/dialog/Dialog.js +3 -1
- package/dist/cjs/components/design/dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/design/dialog/dialog.css +5 -0
- package/dist/cjs/components/design/headerBar/HeaderBar.js +3 -3
- package/dist/cjs/components/design/headerBar/HeaderBar.js.map +1 -1
- package/dist/cjs/components/design/icons/notificationIcon/NotificationIcon.js +4 -5
- package/dist/cjs/components/design/icons/notificationIcon/NotificationIcon.js.map +1 -1
- package/dist/cjs/components/design/paginators/Paginator.js +4 -12
- package/dist/cjs/components/design/paginators/Paginator.js.map +1 -1
- package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js +89 -0
- package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js.map +1 -0
- package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/circularProgressIndicator.css +301 -0
- package/dist/cjs/components/design/revealMore/RevealMoreBelow.js +1 -3
- package/dist/cjs/components/design/revealMore/RevealMoreBelow.js.map +1 -1
- package/dist/cjs/components/design/revealMore/RevealMoreInline.js +3 -5
- package/dist/cjs/components/design/revealMore/RevealMoreInline.js.map +1 -1
- package/dist/cjs/components/design/revealMore/types/revealMoreTypes.js.map +1 -1
- package/dist/cjs/components/design/sidePanel/SidePanel.js +3 -5
- package/dist/cjs/components/design/sidePanel/SidePanel.js.map +1 -1
- package/dist/cjs/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js +6 -11
- package/dist/cjs/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js.map +1 -1
- package/dist/cjs/components/design/tabs/Tabs.js +2 -2
- package/dist/cjs/components/design/tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/design/themeLoader/ThemeLoader.js +2 -2
- package/dist/cjs/components/design/themeLoader/ThemeLoader.js.map +1 -1
- package/dist/cjs/components/design/tooltip/Tooltip.js +43 -13
- package/dist/cjs/components/design/tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/design/tooltip/index.js +6 -0
- package/dist/cjs/components/design/tooltip/index.js.map +1 -1
- package/dist/cjs/components/design/tooltip/tooltip.css +18 -7
- package/dist/cjs/components/form/buttons/SimpleButton.js +3 -3
- package/dist/cjs/components/form/buttons/SimpleButton.js.map +1 -1
- package/dist/cjs/components/form/buttons/button.interface.js.map +1 -1
- package/dist/cjs/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +5 -5
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js +176 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js.map +1 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/_checkboxSwitchVariables.css +0 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitch.css +306 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js +6 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js.map +1 -0
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +3 -5
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js +12 -22
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileInputProps.js.map +1 -1
- package/dist/cjs/components/index.js +14 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/navigation/menu/Menu.interfaces.js.map +1 -1
- package/dist/cjs/components/navigation/menu/menuItemContent/MenuItemIcon.js +19 -31
- package/dist/cjs/components/navigation/menu/menuItemContent/MenuItemIcon.js.map +1 -1
- package/dist/cjs/helpers/iconHelpers.js +83 -0
- package/dist/cjs/helpers/iconHelpers.js.map +1 -0
- package/dist/cjs/helpers/index.js +43 -0
- package/dist/cjs/helpers/index.js.map +1 -1
- package/dist/cjs/helpers/objectHelpers.js +9 -2
- package/dist/cjs/helpers/objectHelpers.js.map +1 -1
- package/dist/cjs/hooks/InteractiveHostFocus.js +62 -0
- package/dist/cjs/hooks/InteractiveHostFocus.js.map +1 -0
- package/dist/cjs/hooks/index.js +7 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/index.js +79 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/headerText.interface.js.map +1 -1
- package/dist/cjs/package.json +16 -28
- package/dist/cjs/styles/index.css +61 -0
- package/dist/cjs/styles/storybook/storybook.css +7 -0
- package/dist/cjs/styles/variables/cssVars/_darkModeVariables.css +21 -0
- package/dist/cjs/styles/variables/cssVars/_formVariables.css +40 -0
- package/dist/cjs/widgets/index.js +14 -0
- package/dist/cjs/widgets/index.js.map +1 -0
- package/dist/cjs/widgets/processLauncher/ProcessLauncher.js +272 -0
- package/dist/cjs/widgets/processLauncher/ProcessLauncher.js.map +1 -0
- package/dist/cjs/widgets/processLauncher/index.js +13 -0
- package/dist/cjs/widgets/processLauncher/index.js.map +1 -0
- package/dist/cjs/widgets/processLauncher/processLauncher.interfaces.js +6 -0
- package/dist/cjs/widgets/processLauncher/processLauncher.interfaces.js.map +1 -0
- package/dist/components/design/accordion/Accordion.d.ts +3 -2
- package/dist/components/design/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/design/banners/pageBanner/PageBanner.d.ts +2 -1
- package/dist/components/design/banners/pageBanner/PageBanner.d.ts.map +1 -1
- package/dist/components/design/card/cardContent/CardContentLine.d.ts +2 -2
- package/dist/components/design/card/cardContent/CardContentLine.d.ts.map +1 -1
- package/dist/components/design/card/cardHeader/CardHeaderItem.d.ts +2 -2
- package/dist/components/design/card/cardHeader/CardHeaderItem.d.ts.map +1 -1
- package/dist/components/design/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/design/headerBar/HeaderBar.d.ts.map +1 -1
- package/dist/components/design/icons/notificationIcon/NotificationIcon.d.ts +2 -2
- package/dist/components/design/icons/notificationIcon/NotificationIcon.d.ts.map +1 -1
- package/dist/components/design/paginators/Paginator.d.ts +3 -2
- package/dist/components/design/paginators/Paginator.d.ts.map +1 -1
- package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.d.ts +18 -0
- package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.d.ts.map +1 -0
- package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts +5 -0
- package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts.map +1 -0
- package/dist/components/design/revealMore/RevealMoreBelow.d.ts.map +1 -1
- package/dist/components/design/revealMore/RevealMoreInline.d.ts.map +1 -1
- package/dist/components/design/revealMore/types/revealMoreTypes.d.ts +3 -2
- package/dist/components/design/revealMore/types/revealMoreTypes.d.ts.map +1 -1
- package/dist/components/design/sidePanel/SidePanel.d.ts +3 -2
- package/dist/components/design/sidePanel/SidePanel.d.ts.map +1 -1
- package/dist/components/design/statusIndicators/statusIconLabel/StatusIconLabel.d.ts +2 -2
- package/dist/components/design/statusIndicators/statusIconLabel/StatusIconLabel.d.ts.map +1 -1
- package/dist/components/design/tabs/Tabs.d.ts +3 -3
- package/dist/components/design/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/design/tooltip/Tooltip.d.ts +17 -3
- package/dist/components/design/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/design/tooltip/Tooltip.test.d.ts +1 -1
- package/dist/components/design/tooltip/Tooltip.test.d.ts.map +1 -1
- package/dist/components/design/tooltip/index.d.ts +1 -1
- package/dist/components/design/tooltip/index.d.ts.map +1 -1
- package/dist/components/form/buttons/SimpleButton.test.d.ts +5 -0
- package/dist/components/form/buttons/SimpleButton.test.d.ts.map +1 -0
- package/dist/components/form/buttons/button.interface.d.ts +3 -3
- package/dist/components/form/buttons/button.interface.d.ts.map +1 -1
- package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts +2 -1
- package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.d.ts +29 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.d.ts.map +1 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts +5 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts.map +1 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.d.ts +52 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.d.ts.map +1 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts +3 -3
- package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/file/fileInputProps.d.ts +4 -3
- package/dist/components/form/formFields/subComponents/inputs/file/fileInputProps.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/navigation/menu/Menu.interfaces.d.ts +4 -3
- package/dist/components/navigation/menu/Menu.interfaces.d.ts.map +1 -1
- package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.d.ts +2 -1
- package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.d.ts.map +1 -1
- package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts +5 -0
- package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts.map +1 -0
- package/dist/esm/autoGenerated/libraryThemes.js +12 -12
- package/dist/esm/autoGenerated/libraryThemes.js.map +1 -1
- package/dist/esm/autoGenerated/libraryThemes.json +12 -12
- package/dist/esm/components/design/accordion/Accordion.js +7 -23
- package/dist/esm/components/design/accordion/Accordion.js.map +1 -1
- package/dist/esm/components/design/banners/pageBanner/PageBanner.js +2 -4
- package/dist/esm/components/design/banners/pageBanner/PageBanner.js.map +1 -1
- package/dist/esm/components/design/card/cardContent/CardContentLine.js +2 -2
- package/dist/esm/components/design/card/cardContent/CardContentLine.js.map +1 -1
- package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js +2 -2
- package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
- package/dist/esm/components/design/dialog/Dialog.js +3 -1
- package/dist/esm/components/design/dialog/Dialog.js.map +1 -1
- package/dist/esm/components/design/dialog/dialog.css +5 -0
- package/dist/esm/components/design/headerBar/HeaderBar.js +3 -3
- package/dist/esm/components/design/headerBar/HeaderBar.js.map +1 -1
- package/dist/esm/components/design/icons/notificationIcon/NotificationIcon.js +4 -5
- package/dist/esm/components/design/icons/notificationIcon/NotificationIcon.js.map +1 -1
- package/dist/esm/components/design/paginators/Paginator.js +4 -12
- package/dist/esm/components/design/paginators/Paginator.js.map +1 -1
- package/dist/esm/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js +82 -0
- package/dist/esm/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js.map +1 -0
- package/dist/esm/components/design/progressIndicators/circularProgressIndicator/circularProgressIndicator.css +301 -0
- package/dist/esm/components/design/revealMore/RevealMoreBelow.js +1 -3
- package/dist/esm/components/design/revealMore/RevealMoreBelow.js.map +1 -1
- package/dist/esm/components/design/revealMore/RevealMoreInline.js +2 -4
- package/dist/esm/components/design/revealMore/RevealMoreInline.js.map +1 -1
- package/dist/esm/components/design/revealMore/types/revealMoreTypes.js.map +1 -1
- package/dist/esm/components/design/sidePanel/SidePanel.js +3 -5
- package/dist/esm/components/design/sidePanel/SidePanel.js.map +1 -1
- package/dist/esm/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js +6 -11
- package/dist/esm/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js.map +1 -1
- package/dist/esm/components/design/tabs/Tabs.js +2 -2
- package/dist/esm/components/design/tabs/Tabs.js.map +1 -1
- package/dist/esm/components/design/themeLoader/ThemeLoader.js +1 -1
- package/dist/esm/components/design/themeLoader/ThemeLoader.js.map +1 -1
- package/dist/esm/components/design/tooltip/Tooltip.js +41 -12
- package/dist/esm/components/design/tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/design/tooltip/index.js +1 -1
- package/dist/esm/components/design/tooltip/index.js.map +1 -1
- package/dist/esm/components/design/tooltip/tooltip.css +18 -7
- package/dist/esm/components/form/buttons/SimpleButton.js +3 -3
- package/dist/esm/components/form/buttons/SimpleButton.js.map +1 -1
- package/dist/esm/components/form/buttons/button.interface.js.map +1 -1
- package/dist/esm/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +5 -5
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js +167 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js.map +1 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/_checkboxSwitchVariables.css +0 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitch.css +306 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js +2 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js.map +1 -0
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +3 -5
- package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js +12 -22
- package/dist/esm/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/file/fileInputProps.js.map +1 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/navigation/menu/Menu.interfaces.js.map +1 -1
- package/dist/esm/components/navigation/menu/menuItemContent/MenuItemIcon.js +17 -30
- package/dist/esm/components/navigation/menu/menuItemContent/MenuItemIcon.js.map +1 -1
- package/dist/esm/helpers/iconHelpers.js +73 -0
- package/dist/esm/helpers/iconHelpers.js.map +1 -0
- package/dist/esm/helpers/index.js +2 -1
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/esm/helpers/objectHelpers.js +7 -3
- package/dist/esm/helpers/objectHelpers.js.map +1 -1
- package/dist/esm/hooks/InteractiveHostFocus.js +56 -0
- package/dist/esm/hooks/InteractiveHostFocus.js.map +1 -0
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/headerText.interface.js.map +1 -1
- package/dist/esm/package.json +16 -28
- package/dist/esm/styles/index.css +61 -0
- package/dist/esm/styles/storybook/storybook.css +7 -0
- package/dist/esm/styles/variables/cssVars/_darkModeVariables.css +21 -0
- package/dist/esm/styles/variables/cssVars/_formVariables.css +40 -0
- package/dist/esm/widgets/index.js +4 -0
- package/dist/esm/widgets/index.js.map +1 -0
- package/dist/esm/widgets/processLauncher/ProcessLauncher.js +263 -0
- package/dist/esm/widgets/processLauncher/ProcessLauncher.js.map +1 -0
- package/dist/esm/widgets/processLauncher/index.js +2 -0
- package/dist/esm/widgets/processLauncher/index.js.map +1 -0
- package/dist/esm/widgets/processLauncher/processLauncher.interfaces.js +2 -0
- package/dist/esm/widgets/processLauncher/processLauncher.interfaces.js.map +1 -0
- package/dist/helpers/iconHelpers.d.ts +30 -0
- package/dist/helpers/iconHelpers.d.ts.map +1 -0
- package/dist/helpers/iconHelpers.test.d.ts +5 -0
- package/dist/helpers/iconHelpers.test.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +4 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/objectHelpers.d.ts +10 -3
- package/dist/helpers/objectHelpers.d.ts.map +1 -1
- package/dist/hooks/InteractiveHostFocus.d.ts +12 -0
- package/dist/hooks/InteractiveHostFocus.d.ts.map +1 -0
- package/dist/hooks/InteractiveHostFocus.test.d.ts +5 -0
- package/dist/hooks/InteractiveHostFocus.test.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/interfaces/headerText.interface.d.ts +3 -3
- package/dist/interfaces/headerText.interface.d.ts.map +1 -1
- package/dist/package.json +16 -28
- package/dist/widgets/index.d.ts +3 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/processLauncher/ProcessLauncher.d.ts +21 -0
- package/dist/widgets/processLauncher/ProcessLauncher.d.ts.map +1 -0
- package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts +5 -0
- package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts.map +1 -0
- package/dist/widgets/processLauncher/index.d.ts +4 -0
- package/dist/widgets/processLauncher/index.d.ts.map +1 -0
- package/dist/widgets/processLauncher/processLauncher.interfaces.d.ts +45 -0
- package/dist/widgets/processLauncher/processLauncher.interfaces.d.ts.map +1 -0
- package/package.json +16 -28
- package/readme.md +0 -36
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useCallback, useEffect, useRef } from 'react';
|
|
3
|
+
import { useFormContext } from 'react-hook-form';
|
|
4
|
+
import { SimpleButton, Dialog, CircularProgressIndicator } from '../../components';
|
|
5
|
+
/*
|
|
6
|
+
ProcessLauncher is a component that provides a UI for launching an process.
|
|
7
|
+
It displays a button that opens a modal for launching the process when the process is in the 'prelaunch' state.
|
|
8
|
+
It displays a CircularProgressIndicator when the process is in other states (running, complete, warning, error).
|
|
9
|
+
The dialog contains a form for configuring the process before launching it. The form is passed as children to the ProcessLauncher component.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const defaultLaunchButtonProps = {
|
|
13
|
+
cssClass: 'button outline icon-only processLauncherButton',
|
|
14
|
+
hideLabel: true,
|
|
15
|
+
size: 'default',
|
|
16
|
+
icon: 'magic-wand'
|
|
17
|
+
};
|
|
18
|
+
const defaultProgressIndicatorProps = {
|
|
19
|
+
size: 'small',
|
|
20
|
+
hideLabel: true,
|
|
21
|
+
icon: 'magic-wand'
|
|
22
|
+
};
|
|
23
|
+
export const ProcessLauncher = ({
|
|
24
|
+
initialStatus = 'idle',
|
|
25
|
+
statusMessage = '',
|
|
26
|
+
processDefinition,
|
|
27
|
+
launchButtonProps = {},
|
|
28
|
+
progressIndicatorProps = {},
|
|
29
|
+
onLaunch = () => {},
|
|
30
|
+
onCancel = () => {},
|
|
31
|
+
progressUpdateMode = 'fetch',
|
|
32
|
+
onProgressCheck,
|
|
33
|
+
progressSubscription,
|
|
34
|
+
onProgressIndicatorClick,
|
|
35
|
+
preRequisiteFieldIds = [],
|
|
36
|
+
preRequisitesDialogTitle = 'Launch Process',
|
|
37
|
+
children
|
|
38
|
+
}) => {
|
|
39
|
+
const {
|
|
40
|
+
id: processId
|
|
41
|
+
} = processDefinition;
|
|
42
|
+
const [isDialogOpen, setIsDialogOpen] = React.useState(false);
|
|
43
|
+
const [status, setStatus] = React.useState(initialStatus);
|
|
44
|
+
const [currentProgress, setCurrentProgress] = React.useState(0);
|
|
45
|
+
const launchAttemptRef = useRef(0);
|
|
46
|
+
const formContext = useFormContext();
|
|
47
|
+
const handleCancel = () => {
|
|
48
|
+
launchAttemptRef.current += 1;
|
|
49
|
+
setIsDialogOpen(false);
|
|
50
|
+
setStatus('idle');
|
|
51
|
+
onCancel();
|
|
52
|
+
};
|
|
53
|
+
const handlePreLaunchTriggered = () => {
|
|
54
|
+
launchAttemptRef.current += 1;
|
|
55
|
+
setStatus('prelaunch');
|
|
56
|
+
setIsDialogOpen(true);
|
|
57
|
+
};
|
|
58
|
+
const handleLaunch = async () => {
|
|
59
|
+
const launchAttempt = ++launchAttemptRef.current;
|
|
60
|
+
// Validate the form data here if needed before launching the process
|
|
61
|
+
// Get the field values from the form and pass them to the onLaunch function
|
|
62
|
+
// Loop through the preRequisiteFieldIds and check if they have values in the form
|
|
63
|
+
// Also bundle the values of the preRequisiteFieldIds and pass them to the onLaunch function
|
|
64
|
+
if (preRequisiteFieldIds.length === 0) {
|
|
65
|
+
// If there are no preRequisiteFieldIds, we can launch the process without any validation
|
|
66
|
+
setIsDialogOpen(false);
|
|
67
|
+
setStatus('running');
|
|
68
|
+
onLaunch({
|
|
69
|
+
processId,
|
|
70
|
+
fieldValues: {}
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const {
|
|
75
|
+
trigger,
|
|
76
|
+
getFieldState,
|
|
77
|
+
setFocus
|
|
78
|
+
} = formContext;
|
|
79
|
+
const isValid = await trigger(preRequisiteFieldIds);
|
|
80
|
+
if (launchAttempt !== launchAttemptRef.current) return;
|
|
81
|
+
if (!isValid) {
|
|
82
|
+
const firstInvalidFieldId = preRequisiteFieldIds.find(fieldId => getFieldState(fieldId).invalid);
|
|
83
|
+
if (firstInvalidFieldId) setFocus(firstInvalidFieldId);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
setIsDialogOpen(false);
|
|
87
|
+
setStatus('running');
|
|
88
|
+
setCurrentProgress(0);
|
|
89
|
+
const fieldValues = Object.fromEntries(preRequisiteFieldIds.map(fieldId => [fieldId, formContext.getValues(fieldId)]));
|
|
90
|
+
onLaunch({
|
|
91
|
+
processId,
|
|
92
|
+
fieldValues
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// Ref (not a render-scoped let) so every closure clears the same interval handle
|
|
97
|
+
const progressCheckIntervalRef = useRef(null);
|
|
98
|
+
const progressUnsubscribeRef = useRef(null);
|
|
99
|
+
const turnOffProgressCheck = useCallback(() => {
|
|
100
|
+
if (progressCheckIntervalRef.current) {
|
|
101
|
+
clearInterval(progressCheckIntervalRef.current);
|
|
102
|
+
progressCheckIntervalRef.current = null;
|
|
103
|
+
}
|
|
104
|
+
}, []);
|
|
105
|
+
const turnOffProgressSubscription = useCallback(() => {
|
|
106
|
+
if (progressUnsubscribeRef.current) {
|
|
107
|
+
progressUnsubscribeRef.current();
|
|
108
|
+
progressUnsubscribeRef.current = null;
|
|
109
|
+
}
|
|
110
|
+
}, []);
|
|
111
|
+
const handleProgressUpdate = useCallback(({
|
|
112
|
+
progress: updatedProgress,
|
|
113
|
+
status: explicitStatus
|
|
114
|
+
}) => {
|
|
115
|
+
if (updatedProgress === undefined || updatedProgress === null) {
|
|
116
|
+
setStatus('error');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
setCurrentProgress(updatedProgress);
|
|
120
|
+
|
|
121
|
+
// An explicit status (e.g. warning) always wins over the value inferred from progress alone.
|
|
122
|
+
if (explicitStatus) {
|
|
123
|
+
setStatus(explicitStatus);
|
|
124
|
+
if (explicitStatus === 'complete' || explicitStatus === 'error') {
|
|
125
|
+
turnOffProgressCheck();
|
|
126
|
+
turnOffProgressSubscription();
|
|
127
|
+
}
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (updatedProgress === 100) {
|
|
131
|
+
setStatus('complete');
|
|
132
|
+
turnOffProgressCheck();
|
|
133
|
+
turnOffProgressSubscription();
|
|
134
|
+
} else if (updatedProgress >= 0 && updatedProgress < 100) {
|
|
135
|
+
setStatus('running');
|
|
136
|
+
}
|
|
137
|
+
}, [setStatus, setCurrentProgress, turnOffProgressCheck, turnOffProgressSubscription]);
|
|
138
|
+
const turnOnProgressCheck = useCallback(() => {
|
|
139
|
+
turnOffProgressCheck();
|
|
140
|
+
let inFlight = false;
|
|
141
|
+
let active = true;
|
|
142
|
+
progressCheckIntervalRef.current = setInterval(() => {
|
|
143
|
+
if (inFlight || !active) return;
|
|
144
|
+
inFlight = true;
|
|
145
|
+
onProgressCheck?.().then(updatedProgress => {
|
|
146
|
+
if (active) handleProgressUpdate({
|
|
147
|
+
progress: updatedProgress
|
|
148
|
+
});
|
|
149
|
+
}).catch(e => {
|
|
150
|
+
if (active) {
|
|
151
|
+
console.error('Error getting process progress', e);
|
|
152
|
+
setStatus('error');
|
|
153
|
+
}
|
|
154
|
+
}).finally(() => {
|
|
155
|
+
inFlight = false;
|
|
156
|
+
});
|
|
157
|
+
}, 1000);
|
|
158
|
+
return () => {
|
|
159
|
+
active = false;
|
|
160
|
+
turnOffProgressCheck();
|
|
161
|
+
};
|
|
162
|
+
}, [turnOffProgressCheck, onProgressCheck, handleProgressUpdate]);
|
|
163
|
+
const turnOnProgressSubscription = useCallback(() => {
|
|
164
|
+
turnOffProgressSubscription();
|
|
165
|
+
if (!progressSubscription) {
|
|
166
|
+
console.error('progressUpdateMode is "subscribe" but no progressSubscription was provided');
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
progressUnsubscribeRef.current = progressSubscription.subscribe(progressSubscription.eventName, {
|
|
170
|
+
onProgress: handleProgressUpdate,
|
|
171
|
+
onError: () => setStatus('error')
|
|
172
|
+
});
|
|
173
|
+
}, [turnOffProgressSubscription, progressSubscription, handleProgressUpdate]);
|
|
174
|
+
const handleResetLauncher = () => {
|
|
175
|
+
setStatus('idle');
|
|
176
|
+
setCurrentProgress(0);
|
|
177
|
+
turnOffProgressCheck();
|
|
178
|
+
turnOffProgressSubscription();
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
// 'warning' is a non-terminal state pushed mid-run, so treat it the same as 'running' here.
|
|
182
|
+
const isProgressActive = status === 'running' || status === 'warning';
|
|
183
|
+
useEffect(() => {
|
|
184
|
+
// Depending on the derived boolean (not `status` itself) avoids tearing down and
|
|
185
|
+
// re-establishing the poll/subscription when moving between 'running' and 'warning'.
|
|
186
|
+
let stopProgressCheck;
|
|
187
|
+
if (isProgressActive) {
|
|
188
|
+
if (progressUpdateMode === 'subscribe') {
|
|
189
|
+
turnOnProgressSubscription();
|
|
190
|
+
} else {
|
|
191
|
+
stopProgressCheck = turnOnProgressCheck();
|
|
192
|
+
}
|
|
193
|
+
} else {
|
|
194
|
+
turnOffProgressCheck();
|
|
195
|
+
turnOffProgressSubscription();
|
|
196
|
+
}
|
|
197
|
+
return () => {
|
|
198
|
+
stopProgressCheck?.();
|
|
199
|
+
turnOffProgressSubscription();
|
|
200
|
+
};
|
|
201
|
+
}, [isProgressActive, progressUpdateMode, turnOnProgressCheck, turnOnProgressSubscription, turnOffProgressCheck, turnOffProgressSubscription]);
|
|
202
|
+
const getLaunchButtonClassName = () => {
|
|
203
|
+
if (launchButtonProps.cssClass) {
|
|
204
|
+
return launchButtonProps.cssClass;
|
|
205
|
+
}
|
|
206
|
+
return launchButtonProps.size === 'xsmall' ? `${defaultLaunchButtonProps.cssClass} compact` : defaultLaunchButtonProps.cssClass;
|
|
207
|
+
};
|
|
208
|
+
const baseProgressIndicatorProps = {
|
|
209
|
+
...defaultProgressIndicatorProps,
|
|
210
|
+
...progressIndicatorProps,
|
|
211
|
+
statusMessage,
|
|
212
|
+
id: `processLauncherProgressIndicator_${processDefinition.id}`,
|
|
213
|
+
name: processDefinition.name,
|
|
214
|
+
progress: currentProgress
|
|
215
|
+
};
|
|
216
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
217
|
+
className: `processLauncher ${launchButtonProps.size || 'default'}`
|
|
218
|
+
}, (status === 'idle' || status === 'prelaunch') && /*#__PURE__*/React.createElement(SimpleButton, _extends({}, defaultLaunchButtonProps, launchButtonProps, {
|
|
219
|
+
cssClass: getLaunchButtonClassName(),
|
|
220
|
+
leftIcon: launchButtonProps.icon || defaultLaunchButtonProps.icon,
|
|
221
|
+
id: `processLauncherButton_${processDefinition.id}`,
|
|
222
|
+
label: `Launch ${processDefinition.name}`,
|
|
223
|
+
onClickHandler: preRequisiteFieldIds.length > 0 ? handlePreLaunchTriggered : handleLaunch
|
|
224
|
+
})), status === 'prelaunch' && /*#__PURE__*/React.createElement(Dialog, {
|
|
225
|
+
customCssClasses: {
|
|
226
|
+
dialog: 'processLauncherDialog'
|
|
227
|
+
},
|
|
228
|
+
open: isDialogOpen,
|
|
229
|
+
id: `processLauncherDialog_${processDefinition.id}`,
|
|
230
|
+
size: "m",
|
|
231
|
+
onClose: handleCancel,
|
|
232
|
+
header: preRequisitesDialogTitle,
|
|
233
|
+
footer: /*#__PURE__*/React.createElement("div", {
|
|
234
|
+
className: "actionButtons"
|
|
235
|
+
}, /*#__PURE__*/React.createElement(SimpleButton, {
|
|
236
|
+
id: `processLauncherDialogCancelButton_${processDefinition.id}`,
|
|
237
|
+
label: "Cancel",
|
|
238
|
+
onClickHandler: handleCancel,
|
|
239
|
+
cssClass: "secondary outline"
|
|
240
|
+
}), /*#__PURE__*/React.createElement(SimpleButton, {
|
|
241
|
+
id: `processLauncherDialogLaunchButton_${processDefinition.id}`,
|
|
242
|
+
label: "Launch process",
|
|
243
|
+
onClickHandler: handleLaunch,
|
|
244
|
+
cssClass: "primary"
|
|
245
|
+
}))
|
|
246
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
247
|
+
className: "processLauncherPrerequisites"
|
|
248
|
+
}, children)), status === 'running' && /*#__PURE__*/React.createElement(CircularProgressIndicator, _extends({}, baseProgressIndicatorProps, {
|
|
249
|
+
mode: "default",
|
|
250
|
+
onClickHandler: onProgressIndicatorClick
|
|
251
|
+
})), status === 'warning' && /*#__PURE__*/React.createElement(CircularProgressIndicator, _extends({}, baseProgressIndicatorProps, {
|
|
252
|
+
mode: "warning",
|
|
253
|
+
onClickHandler: onProgressIndicatorClick
|
|
254
|
+
})), status === 'complete' && /*#__PURE__*/React.createElement(CircularProgressIndicator, _extends({}, baseProgressIndicatorProps, {
|
|
255
|
+
mode: "success",
|
|
256
|
+
onClickHandler: handleResetLauncher
|
|
257
|
+
})), status === 'error' && /*#__PURE__*/React.createElement(CircularProgressIndicator, _extends({}, baseProgressIndicatorProps, {
|
|
258
|
+
mode: "error",
|
|
259
|
+
onClickHandler: handleResetLauncher
|
|
260
|
+
})));
|
|
261
|
+
};
|
|
262
|
+
export default ProcessLauncher;
|
|
263
|
+
//# sourceMappingURL=ProcessLauncher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessLauncher.js","names":["React","useCallback","useEffect","useRef","useFormContext","SimpleButton","Dialog","CircularProgressIndicator","defaultLaunchButtonProps","cssClass","hideLabel","size","icon","defaultProgressIndicatorProps","ProcessLauncher","initialStatus","statusMessage","processDefinition","launchButtonProps","progressIndicatorProps","onLaunch","onCancel","progressUpdateMode","onProgressCheck","progressSubscription","onProgressIndicatorClick","preRequisiteFieldIds","preRequisitesDialogTitle","children","id","processId","isDialogOpen","setIsDialogOpen","useState","status","setStatus","currentProgress","setCurrentProgress","launchAttemptRef","formContext","handleCancel","current","handlePreLaunchTriggered","handleLaunch","launchAttempt","length","fieldValues","trigger","getFieldState","setFocus","isValid","firstInvalidFieldId","find","fieldId","invalid","Object","fromEntries","map","getValues","progressCheckIntervalRef","progressUnsubscribeRef","turnOffProgressCheck","clearInterval","turnOffProgressSubscription","handleProgressUpdate","progress","updatedProgress","explicitStatus","undefined","turnOnProgressCheck","inFlight","active","setInterval","then","catch","e","console","error","finally","turnOnProgressSubscription","subscribe","eventName","onProgress","onError","handleResetLauncher","isProgressActive","stopProgressCheck","getLaunchButtonClassName","baseProgressIndicatorProps","name","createElement","className","_extends","leftIcon","label","onClickHandler","customCssClasses","dialog","open","onClose","header","footer","mode"],"sources":["../../../../src/widgets/processLauncher/ProcessLauncher.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useEffect, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { SimpleButton, Dialog, CircularProgressIndicator } from '../../components';\n\nimport {\n ProcessDefinition,\n ProcessLaunchButtonProps,\n ProcessLauncherProgressProps,\n ProcessProgressIndicatorProps, ProcessProgressUpdate, ProcessStatus\n} from './processLauncher.interfaces';\n\nexport type ProcessLauncherProps = {\n initialStatus?: ProcessStatus;\n statusMessage?: string;\n processDefinition: ProcessDefinition;\n launchButtonProps?: ProcessLaunchButtonProps;\n progressIndicatorProps?: ProcessProgressIndicatorProps;\n /* eslint-disable-next-line no-unused-vars */\n onLaunch: (params: {processId: string, fieldValues: Record<string, unknown>}) => void;\n onCancel: () => void;\n onProgressIndicatorClick?: () => void;\n preRequisiteFieldIds?: string[];\n preRequisitesDialogTitle?: string;\n children: ReactNode;\n} & ProcessLauncherProgressProps;\n\n/*\n ProcessLauncher is a component that provides a UI for launching an process.\n It displays a button that opens a modal for launching the process when the process is in the 'prelaunch' state.\n It displays a CircularProgressIndicator when the process is in other states (running, complete, warning, error).\n The dialog contains a form for configuring the process before launching it. The form is passed as children to the ProcessLauncher component.\n */\n\nconst defaultLaunchButtonProps: ProcessLaunchButtonProps = {\n cssClass: 'button outline icon-only processLauncherButton',\n hideLabel: true,\n size: 'default',\n icon: 'magic-wand'\n};\n\nconst defaultProgressIndicatorProps: ProcessProgressIndicatorProps = {\n size: 'small',\n hideLabel: true,\n icon: 'magic-wand'\n};\n\nexport const ProcessLauncher: React.FC<ProcessLauncherProps> = (\n {\n initialStatus = 'idle',\n statusMessage = '',\n processDefinition,\n launchButtonProps = {},\n progressIndicatorProps = {},\n onLaunch = () => {},\n onCancel = () => {},\n progressUpdateMode = 'fetch',\n onProgressCheck,\n progressSubscription,\n onProgressIndicatorClick,\n preRequisiteFieldIds = [],\n preRequisitesDialogTitle = 'Launch Process',\n children\n }\n) => {\n const { id: processId } = processDefinition;\n\n const [isDialogOpen, setIsDialogOpen] = React.useState(false);\n const [status, setStatus] = React.useState<ProcessStatus>(initialStatus);\n const [currentProgress, setCurrentProgress] = React.useState<number>(0);\n const launchAttemptRef = useRef(0);\n\n const formContext = useFormContext();\n\n const handleCancel = () => {\n launchAttemptRef.current += 1;\n setIsDialogOpen(false);\n setStatus('idle');\n onCancel();\n };\n\n const handlePreLaunchTriggered = () => {\n launchAttemptRef.current += 1;\n setStatus('prelaunch');\n setIsDialogOpen(true);\n };\n\n const handleLaunch = async () => {\n const launchAttempt = ++launchAttemptRef.current;\n // Validate the form data here if needed before launching the process\n // Get the field values from the form and pass them to the onLaunch function\n // Loop through the preRequisiteFieldIds and check if they have values in the form\n // Also bundle the values of the preRequisiteFieldIds and pass them to the onLaunch function\n if (preRequisiteFieldIds.length === 0) {\n // If there are no preRequisiteFieldIds, we can launch the process without any validation\n setIsDialogOpen(false);\n setStatus('running');\n onLaunch({ processId, fieldValues: {} });\n return;\n }\n\n const { trigger, getFieldState, setFocus } = formContext;\n const isValid = await trigger(preRequisiteFieldIds);\n if (launchAttempt !== launchAttemptRef.current) return;\n\n if (!isValid) {\n const firstInvalidFieldId = preRequisiteFieldIds.find((fieldId) => getFieldState(fieldId).invalid);\n if (firstInvalidFieldId) setFocus(firstInvalidFieldId);\n return;\n }\n\n setIsDialogOpen(false);\n setStatus('running');\n setCurrentProgress(0);\n\n const fieldValues = Object.fromEntries(\n preRequisiteFieldIds.map((fieldId) => [fieldId, formContext.getValues(fieldId)])\n );\n onLaunch({ processId, fieldValues });\n };\n\n // Ref (not a render-scoped let) so every closure clears the same interval handle\n const progressCheckIntervalRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const progressUnsubscribeRef = useRef<(() => void) | null>(null);\n\n const turnOffProgressCheck = useCallback(() => {\n if (progressCheckIntervalRef.current) {\n clearInterval(progressCheckIntervalRef.current);\n progressCheckIntervalRef.current = null;\n }\n }, []);\n\n const turnOffProgressSubscription = useCallback(() => {\n if (progressUnsubscribeRef.current) {\n progressUnsubscribeRef.current();\n progressUnsubscribeRef.current = null;\n }\n }, []);\n\n const handleProgressUpdate = useCallback(({ progress: updatedProgress, status: explicitStatus }: ProcessProgressUpdate) => {\n if (updatedProgress === undefined || updatedProgress === null) {\n setStatus('error');\n return;\n }\n\n setCurrentProgress(updatedProgress);\n\n // An explicit status (e.g. warning) always wins over the value inferred from progress alone.\n if (explicitStatus) {\n setStatus(explicitStatus);\n if (explicitStatus === 'complete' || explicitStatus === 'error') {\n turnOffProgressCheck();\n turnOffProgressSubscription();\n }\n return;\n }\n\n if (updatedProgress === 100) {\n setStatus('complete');\n turnOffProgressCheck();\n turnOffProgressSubscription();\n } else if (updatedProgress >= 0 && updatedProgress < 100) {\n setStatus('running');\n }\n }, [setStatus, setCurrentProgress, turnOffProgressCheck, turnOffProgressSubscription]);\n\n const turnOnProgressCheck = useCallback(() => {\n turnOffProgressCheck();\n let inFlight = false;\n let active = true;\n progressCheckIntervalRef.current = setInterval(() => {\n if (inFlight || !active) return;\n inFlight = true;\n onProgressCheck?.().then((updatedProgress) => {\n if (active) handleProgressUpdate({ progress: updatedProgress });\n }).catch((e) => {\n if (active) {\n console.error('Error getting process progress', e);\n setStatus('error');\n }\n }).finally(() => {\n inFlight = false;\n });\n }, 1000);\n return () => {\n active = false;\n turnOffProgressCheck();\n };\n }, [turnOffProgressCheck, onProgressCheck, handleProgressUpdate]);\n\n const turnOnProgressSubscription = useCallback(() => {\n turnOffProgressSubscription();\n if (!progressSubscription) {\n console.error('progressUpdateMode is \"subscribe\" but no progressSubscription was provided');\n return;\n }\n\n progressUnsubscribeRef.current = progressSubscription.subscribe(\n progressSubscription.eventName,\n {\n onProgress: handleProgressUpdate,\n onError: () => setStatus('error')\n }\n );\n }, [turnOffProgressSubscription, progressSubscription, handleProgressUpdate]);\n\n const handleResetLauncher = () => {\n setStatus('idle');\n setCurrentProgress(0);\n turnOffProgressCheck();\n turnOffProgressSubscription();\n };\n\n // 'warning' is a non-terminal state pushed mid-run, so treat it the same as 'running' here.\n const isProgressActive = status === 'running' || status === 'warning';\n\n useEffect(() => {\n // Depending on the derived boolean (not `status` itself) avoids tearing down and\n // re-establishing the poll/subscription when moving between 'running' and 'warning'.\n let stopProgressCheck: (() => void) | undefined;\n if (isProgressActive) {\n if (progressUpdateMode === 'subscribe') {\n turnOnProgressSubscription();\n } else {\n stopProgressCheck = turnOnProgressCheck();\n }\n } else {\n turnOffProgressCheck();\n turnOffProgressSubscription();\n }\n return () => {\n stopProgressCheck?.();\n turnOffProgressSubscription();\n };\n }, [isProgressActive, progressUpdateMode, turnOnProgressCheck, turnOnProgressSubscription, turnOffProgressCheck, turnOffProgressSubscription]);\n\n const getLaunchButtonClassName = () => {\n if (launchButtonProps.cssClass) {\n return launchButtonProps.cssClass;\n }\n\n return launchButtonProps.size === 'xsmall'\n ? `${ defaultLaunchButtonProps.cssClass } compact`\n : defaultLaunchButtonProps.cssClass;\n };\n\n const baseProgressIndicatorProps = {\n ...defaultProgressIndicatorProps,\n ...progressIndicatorProps,\n statusMessage,\n id: `processLauncherProgressIndicator_${ processDefinition.id }`,\n name: processDefinition.name,\n progress: currentProgress,\n };\n\n return (\n <div className={ `processLauncher ${ launchButtonProps.size || 'default' }` }>\n {\n (status === 'idle' || status === 'prelaunch') &&\n <SimpleButton\n {\n ...{\n ...defaultLaunchButtonProps,\n ...launchButtonProps,\n }\n }\n cssClass={ getLaunchButtonClassName() }\n leftIcon={ launchButtonProps.icon || defaultLaunchButtonProps.icon }\n id={ `processLauncherButton_${ processDefinition.id }` }\n label={ `Launch ${ processDefinition.name }` }\n onClickHandler={\n preRequisiteFieldIds.length > 0 ? handlePreLaunchTriggered : handleLaunch\n }\n />\n }\n\n {\n status === 'prelaunch' && (\n <Dialog\n customCssClasses={ { dialog: 'processLauncherDialog' } }\n open={ isDialogOpen }\n id={ `processLauncherDialog_${ processDefinition.id }` }\n size=\"m\"\n onClose={ handleCancel }\n header={ preRequisitesDialogTitle }\n footer={\n <div className=\"actionButtons\">\n <SimpleButton id={ `processLauncherDialogCancelButton_${ processDefinition.id }` } label=\"Cancel\" onClickHandler={ handleCancel } cssClass=\"secondary outline\" />\n <SimpleButton id={ `processLauncherDialogLaunchButton_${ processDefinition.id }` } label=\"Launch process\" onClickHandler={ handleLaunch } cssClass=\"primary\" />\n </div>\n }\n >\n <div className=\"processLauncherPrerequisites\">\n { children }\n </div>\n </Dialog>\n )\n }\n\n { status === 'running' && (\n <CircularProgressIndicator\n {\n ...{\n ...baseProgressIndicatorProps\n }\n }\n mode=\"default\"\n onClickHandler={ onProgressIndicatorClick }\n />\n ) }\n\n { status === 'warning' && (\n <CircularProgressIndicator\n {\n ...{\n ...baseProgressIndicatorProps\n }\n }\n mode=\"warning\"\n onClickHandler={ onProgressIndicatorClick }\n />\n ) }\n\n { status === 'complete' && (\n <CircularProgressIndicator\n {\n ...{\n ...baseProgressIndicatorProps\n }\n }\n mode=\"success\"\n onClickHandler={ handleResetLauncher }\n />\n ) }\n\n { status === 'error' && (\n <CircularProgressIndicator\n {\n ...{\n ...baseProgressIndicatorProps\n }\n }\n mode=\"error\"\n onClickHandler={ handleResetLauncher }\n />\n ) }\n </div>\n );\n};\n\nexport default ProcessLauncher;"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ProcessLauncher"],"sources":["../../../../src/widgets/processLauncher/index.ts"],"sourcesContent":["export { ProcessLauncher } from './ProcessLauncher';\n\nexport type { ProcessLauncherProps } from './ProcessLauncher';\nexport type {\n ProcessDefinition,\n ProcessLaunchButtonProps,\n ProcessProgressIndicatorProps,\n ProcessStatus,\n ProcessProgressUpdateMode,\n ProcessPushableStatus,\n ProcessProgressUpdate,\n ProcessProgressSubscriptionHandlers,\n ProcessProgressUnsubscribe,\n ProcessProgressSubscription,\n ProcessLauncherFetchProgressProps,\n ProcessLauncherSubscribeProgressProps,\n ProcessLauncherProgressProps\n} from './processLauncher.interfaces';\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processLauncher.interfaces.js","names":[],"sources":["../../../../src/widgets/processLauncher/processLauncher.interfaces.ts"],"sourcesContent":["import { IconSource } from '../../helpers/iconHelpers';\n\nexport type ProcessDefinition = {\n id: string;\n name: string;\n description: string;\n};\n\nexport type ProcessLaunchButtonProps = {\n cssClass?: string;\n icon?: IconSource;\n hideLabel?: boolean;\n size?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';\n};\n\nexport type ProcessProgressIndicatorProps = {\n icon?: IconSource;\n hideLabel?: boolean;\n size?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';\n};\n\nexport type ProcessStatus = 'idle' | 'prelaunch' | 'running' | 'warning' | 'complete' | 'error';\n\nexport type ProcessProgressUpdateMode = 'fetch' | 'subscribe';\n\n// Statuses a subscription message is allowed to push explicitly; 'idle'/'prelaunch' are launcher-controlled only.\nexport type ProcessPushableStatus = Extract<ProcessStatus, 'running' | 'warning' | 'complete' | 'error'>;\n\nexport type ProcessProgressUpdate = {\n progress: number;\n // Omit to let progress alone drive status (0-99 = running, 100 = complete), or set explicitly for warning/error.\n status?: ProcessPushableStatus;\n};\n\nexport type ProcessProgressSubscriptionHandlers = {\n /* eslint-disable-next-line no-unused-vars */\n onProgress: (update: ProcessProgressUpdate) => void;\n /* eslint-disable-next-line no-unused-vars */\n onError?: (error: unknown) => void;\n};\n\nexport type ProcessProgressUnsubscribe = () => void;\n\n/*\n Transport-agnostic subscription contract. Consumers wire `subscribe` to whatever\n message bus they use (EventSource, WebSocket, pub/sub client, etc.), listen for\n `eventName`, parse the raw message into a progress percentage (0-100), and invoke\n the provided `onProgress`/`onError` handlers. The returned function must unsubscribe.\n */\nexport type ProcessProgressSubscription = {\n eventName: string;\n /* eslint-disable-next-line no-unused-vars */\n subscribe: (eventName: string, handlers: ProcessProgressSubscriptionHandlers) => ProcessProgressUnsubscribe;\n};\n\nexport type ProcessLauncherFetchProgressProps = {\n progressUpdateMode?: 'fetch';\n onProgressCheck: () => Promise<number>;\n progressSubscription?: never;\n};\n\nexport type ProcessLauncherSubscribeProgressProps = {\n progressUpdateMode: 'subscribe';\n progressSubscription: ProcessProgressSubscription;\n onProgressCheck?: never;\n};\n\nexport type ProcessLauncherProgressProps =\n | ProcessLauncherFetchProgressProps\n | ProcessLauncherSubscribeProgressProps;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { SvgIconDefinition } from '@x15ventures/x15-ui-library-icons/svgIcon/svgIconDefinition.interface';
|
|
3
|
+
import { IconProps } from '../components/design/icons/basicIcon/Icon';
|
|
4
|
+
export type { SvgIconDefinition };
|
|
5
|
+
export type SvgIconSize = 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
6
|
+
/**
|
|
7
|
+
* Every supported way of specifying an icon:
|
|
8
|
+
* - `string`: an icon font name, rendered via `<Icon icon="name" />`
|
|
9
|
+
* - `SvgIconDefinition`: an icon definition from `@x15ventures/x15-ui-library-icons/iconDefinitions`, rendered via `<SvgIcon />`
|
|
10
|
+
* - `IconProps`: props for `<Icon />`, e.g. `{ icon: 'bell', customCssClass: 'large' }`
|
|
11
|
+
* - `ReactElement` / `ReactNode`: rendered as provided, e.g. `<SvgIcon svgDefinition={ car } />` or `<img />`
|
|
12
|
+
*/
|
|
13
|
+
export type IconSource = string | SvgIconDefinition | IconProps | ReactElement | ReactNode;
|
|
14
|
+
export interface RenderIconOptions {
|
|
15
|
+
/** Added to icons rendered via `<Icon />` or `<SvgIcon />`. Not applied to React elements. */
|
|
16
|
+
customCssClass?: string;
|
|
17
|
+
/** Only applied to `SvgIconDefinition` sources. */
|
|
18
|
+
svgSize?: SvgIconSize | string;
|
|
19
|
+
/** Used when the icon source is empty (`undefined`, `null`, `false` or `''`). */
|
|
20
|
+
fallback?: IconSource;
|
|
21
|
+
}
|
|
22
|
+
export declare const isSvgIconDefinition: (value: unknown) => value is SvgIconDefinition;
|
|
23
|
+
export declare const isIconProps: (value: unknown) => value is IconProps;
|
|
24
|
+
export declare const isEmptyIconSource: (value: unknown) => boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Normalises any supported `IconSource` into a renderable node.
|
|
27
|
+
* Returns `null` when there is nothing to render.
|
|
28
|
+
*/
|
|
29
|
+
export declare const renderIcon: (icon: IconSource, options?: RenderIconOptions) => ReactNode;
|
|
30
|
+
//# sourceMappingURL=iconHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconHelpers.d.ts","sourceRoot":"","sources":["../../src/helpers/iconHelpers.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uEAAuE,CAAC;AAC/G,OAAO,EAAQ,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAI5E,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,KAAK,IAAI,iBAE7D,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,KAAK,IAAI,SAErD,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,OAElD,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,UAAU,YAAW,iBAAiB,KAAQ,SAmC9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconHelpers.test.d.ts","sourceRoot":"","sources":["../../src/helpers/iconHelpers.test.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,2BAA2B,CAAC"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -6,5 +6,8 @@ export { dateToShortIsoString, isValidDate, dateToShortReadableDate, dateToShort
|
|
|
6
6
|
export { USER_CURRENCY, intlCurrencyFormatter, intlNumberFormatter, formatNumberForLocale, formatAsCurrencyForLocale, getNumberAbbreviation, formatRoundedNumberWithAbbreviation, formatNumberWithAbbreviation, formatNumberForChartAxis, formatAsSimpleCurrencyForChartAxis, formatAsInternationalCurrencyForChartAxis, formatAsCurrencyWithAbbreviation, formatFileSize } from './formatters';
|
|
7
7
|
export { getRandomNumberBelow, getRandomBetweenInclusive, getRandomBetweenExclusive, hashCode, roundToDecimal, formatNumberToMinDigits, formatDigitalTime } from './numberHelpers';
|
|
8
8
|
export { richTextParser, capitalize, capitalizeFirstLetter, lowerCaseFirstLetter, getCharacterCount, clampToGraphemeMax, useAnInsteadOfA, splitCamelCase, pluralize, pluralizeIfNeeded, getInitialsOrAcronym } from './stringHelpers';
|
|
9
|
-
export { objectsAreTheSame, isAnObject, createCompareValueOverride, deepMergeObjects, overrideMergeObjects, makeInheritanceObject, updateNestedProperty, filterObject, getArrayOfObjectKeys, getArrayOfReadableObjectKeys, getBranchFromPath, deepRemoveProps } from './objectHelpers';
|
|
9
|
+
export { objectsAreTheSame, isAnObject, createCompareValueOverride, isReactElement, isNonElementObject, isPlainObject, deepMergeObjects, overrideMergeObjects, makeInheritanceObject, updateNestedProperty, filterObject, getArrayOfObjectKeys, getArrayOfReadableObjectKeys, getBranchFromPath, deepRemoveProps } from './objectHelpers';
|
|
10
|
+
export type { DeepMergeObjectsArgs, MakeInheritanceObjectArgs, UpdateNestedPropertyArgs } from './objectHelpers';
|
|
11
|
+
export { renderIcon, isSvgIconDefinition, isIconProps, isEmptyIconSource } from './iconHelpers';
|
|
12
|
+
export type { IconSource, RenderIconOptions, SvgIconDefinition, SvgIconSize } from './iconHelpers';
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,yCAAyC,EACzC,gCAAgC,EAChC,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,yCAAyC,EACzC,gCAAgC,EAChC,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,eAAe,CAAC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { JSONObject } from '../interfaces/generic.interface';
|
|
2
3
|
export declare const objectsAreTheSame: (obj1: object, obj2: object) => boolean;
|
|
3
4
|
export declare const isAnObject: (value: unknown) => boolean;
|
|
4
5
|
export declare const createCompareValueOverride: (key: string, compareValue: any) => string;
|
|
5
|
-
interface DeepMergeObjectsArgs {
|
|
6
|
+
export interface DeepMergeObjectsArgs {
|
|
6
7
|
baseObject: Record<string, any>;
|
|
7
8
|
overrideObject: Record<string, any>;
|
|
8
9
|
}
|
|
10
|
+
export declare const isReactElement: (val: unknown) => val is React.ReactElement;
|
|
11
|
+
export declare const isNonElementObject: (value: unknown) => value is Record<string, unknown>;
|
|
12
|
+
export declare const isPlainObject: (val: unknown) => val is Record<string, unknown>;
|
|
9
13
|
export declare function deepMergeObjects<T extends object, U extends object>({ baseObject, overrideObject }: DeepMergeObjectsArgs): T & U;
|
|
10
14
|
export declare const overrideMergeObjects: ({ baseObject, overrideObject }: DeepMergeObjectsArgs) => object;
|
|
11
|
-
interface MakeInheritanceObjectArgs {
|
|
15
|
+
export interface MakeInheritanceObjectArgs {
|
|
12
16
|
base: {
|
|
13
17
|
[key: string]: any;
|
|
14
18
|
};
|
|
@@ -19,7 +23,7 @@ interface MakeInheritanceObjectArgs {
|
|
|
19
23
|
excludePropSpread?: string[];
|
|
20
24
|
}
|
|
21
25
|
export declare const makeInheritanceObject: ({ base, valueOnly, baseObjectName, compare, propPath, excludePropSpread }: MakeInheritanceObjectArgs) => string;
|
|
22
|
-
interface UpdateNestedPropertyArgs {
|
|
26
|
+
export interface UpdateNestedPropertyArgs {
|
|
23
27
|
jsonObject: Record<string, any>;
|
|
24
28
|
propertyPath: string;
|
|
25
29
|
newValue: any;
|
|
@@ -39,6 +43,9 @@ declare const _default: {
|
|
|
39
43
|
objectsAreTheSame: (obj1: object, obj2: object) => boolean;
|
|
40
44
|
isAnObject: (value: unknown) => boolean;
|
|
41
45
|
createCompareValueOverride: (key: string, compareValue: any) => string;
|
|
46
|
+
isReactElement: (val: unknown) => val is React.ReactElement;
|
|
47
|
+
isNonElementObject: (value: unknown) => value is Record<string, unknown>;
|
|
48
|
+
isPlainObject: (val: unknown) => val is Record<string, unknown>;
|
|
42
49
|
deepMergeObjects: typeof deepMergeObjects;
|
|
43
50
|
overrideMergeObjects: ({ baseObject, overrideObject }: DeepMergeObjectsArgs) => object;
|
|
44
51
|
makeInheritanceObject: ({ base, valueOnly, baseObjectName, compare, propPath, excludePropSpread }: MakeInheritanceObjectArgs) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectHelpers.d.ts","sourceRoot":"","sources":["../../src/helpers/objectHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"objectHelpers.d.ts","sourceRoot":"","sources":["../../src/helpers/objectHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const INTERACTIVE_HOST_SELECTOR = "button, a[href], [tabindex], [role=\"button\"]";
|
|
3
|
+
interface UseOnInteractiveHostFocusProps {
|
|
4
|
+
wrapperRef: React.RefObject<HTMLElement>;
|
|
5
|
+
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const useOnInteractiveHostFocus: ({ wrapperRef, setIsOpen, enabled }: UseOnInteractiveHostFocusProps) => {
|
|
9
|
+
isDismissed: boolean;
|
|
10
|
+
};
|
|
11
|
+
export default useOnInteractiveHostFocus;
|
|
12
|
+
//# sourceMappingURL=InteractiveHostFocus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractiveHostFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/InteractiveHostFocus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,eAAO,MAAM,yBAAyB,mDAAiD,CAAC;AAExF,UAAU,8BAA8B;IACtC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,yBAAyB,uCAOpC,8BAA8B;;CAmD/B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractiveHostFocus.test.d.ts","sourceRoot":"","sources":["../../src/hooks/InteractiveHostFocus.test.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,2BAA2B,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export { useDialogOverlay } from './DialogOverlay';
|
|
|
7
7
|
export { useEllipsisBookends } from './EllipsisBookends';
|
|
8
8
|
export { useFocusTrap } from './FocusTrap';
|
|
9
9
|
export { useInertAttribute } from './InertAttribute';
|
|
10
|
+
export { useOnInteractiveHostFocus } from './InteractiveHostFocus';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import './styles/index.scss';
|
|
2
2
|
import './icons/style.scss';
|
|
3
|
-
export { Accordion, Chip, Pill, Badge, Dialog, HeaderBar, Icon, NotificationIcon, VentureLogo, CreditSavvyLogo, HomeInLogo, KitLogo, DoshiiLogo, TruyuLogo, SidePanel, Skeleton, Spinner, StatusIconButton, StatusLight, StatusLightsBar, Tabs, Tooltip, EllipsisTooltip, RevealMore, CopyText, Paginator, PageBanner, Banner, Alert, SimpleButton, Button, FormField, InputCheckbox, CheckboxInput, StyledRadioGroup, StyledRadioInput, StyledRadioLabel, HookFormWrapper, TextInput, EmailInput, FileInput, SearchInput, NumberInput, PhoneInput, UrlInput, PasswordInput, PasswordInputSignup, SelectDropdown, Select, Combobox, Textarea, InputDate, DateInput, Card, ReportFooter, MainHeader, ThemeLoader, DevToolbar, ThemeSwitch, LoremIpsum, GlobalDashboard, Menu, PopupMenu, SearchPanelMenu, Link, TemplateForm, TemplateLoading, TemplateDashboard, TemplatePage } from './components';
|
|
4
|
-
export
|
|
5
|
-
export {
|
|
3
|
+
export { Accordion, Chip, Pill, Badge, Dialog, HeaderBar, Icon, NotificationIcon, VentureLogo, CreditSavvyLogo, HomeInLogo, KitLogo, DoshiiLogo, TruyuLogo, SidePanel, Skeleton, Spinner, StatusIconButton, StatusLight, StatusLightsBar, CircularProgressIndicator, Tabs, Tooltip, EllipsisTooltip, RevealMore, CopyText, Paginator, PageBanner, Banner, Alert, SimpleButton, Button, FormField, InputCheckbox, CheckboxInput, CheckboxSwitch, StyledRadioGroup, StyledRadioInput, StyledRadioLabel, HookFormWrapper, TextInput, EmailInput, FileInput, SearchInput, NumberInput, PhoneInput, UrlInput, PasswordInput, PasswordInputSignup, SelectDropdown, Select, Combobox, Textarea, InputDate, DateInput, Card, ReportFooter, MainHeader, ThemeLoader, DevToolbar, ThemeSwitch, LoremIpsum, GlobalDashboard, Menu, PopupMenu, SearchPanelMenu, Link, TemplateForm, TemplateLoading, TemplateDashboard, TemplatePage } from './components';
|
|
4
|
+
export { ProcessLauncher } from './widgets';
|
|
5
|
+
export type { ProcessLauncherProps, ProcessDefinition, ProcessLaunchButtonProps, ProcessProgressIndicatorProps, ProcessStatus, ProcessProgressUpdateMode, ProcessPushableStatus, ProcessProgressUpdate, ProcessProgressSubscriptionHandlers, ProcessProgressUnsubscribe, ProcessProgressSubscription, ProcessLauncherFetchProgressProps, ProcessLauncherSubscribeProgressProps, ProcessLauncherProgressProps } from './widgets';
|
|
6
|
+
export type { PageBannerProps, FormComponentProps, DropdownSelectProps, PasswordInputProps, StyledRadioGroupProps, CheckboxSwitchProps, CheckboxSwitchSize, CheckboxSwitchVariant, CheckboxSwitchShape, CheckboxSwitchStateDisplay, CheckboxSwitchGlowTheme, CheckboxSwitchButtonStyle, CheckboxSwitchStateProps, SkeletonProps, ThemeStructure, MenuItemPropTypes, MenuButtonPropTypes, MenuItemIconStates, TemplateFormProps, TemplateLoadingProps, TemplateDashboardProps, TemplatePageProps, CircularProgressIndicatorProps } from './components';
|
|
7
|
+
export { useOnClickOutside, usePopupKeys, useOnEdgeProximityDetect, useFirstCapital, useTabbableInputGroup, useDialogOverlay, useEllipsisBookends, useFocusTrap, useInertAttribute, useOnInteractiveHostFocus } from './hooks';
|
|
6
8
|
export * from './interfaces';
|
|
7
9
|
export { getMinAge, getMaxAge, getMinAndMaxAges, validateBirthdate, isDateEntryComplete, getAgeInWeeks, getAgeInYears } from './helpers/ageHelpers';
|
|
8
10
|
export { binaryFindInArray, addAndSortArray, moveItemInArrayMutate, moveItemInArrayCopy, getRandomItemFromArray, getItemIndexWithinArray, getRoundedMedian, getMostOccurringBoolean, cssClassesArrayToString } from './helpers/arrayHelpers';
|
|
@@ -12,7 +14,10 @@ export { dateToShortIsoString, isValidDate, dateToShortReadableDate, dateToShort
|
|
|
12
14
|
export { USER_CURRENCY, intlCurrencyFormatter, intlNumberFormatter, formatNumberForLocale, formatAsCurrencyForLocale, getNumberAbbreviation, formatRoundedNumberWithAbbreviation, formatNumberWithAbbreviation, formatNumberForChartAxis, formatAsSimpleCurrencyForChartAxis, formatAsInternationalCurrencyForChartAxis, formatAsCurrencyWithAbbreviation, formatFileSize } from './helpers/formatters';
|
|
13
15
|
export { getRandomNumberBelow, getRandomBetweenInclusive, getRandomBetweenExclusive, hashCode, roundToDecimal, formatNumberToMinDigits, formatDigitalTime } from './helpers/numberHelpers';
|
|
14
16
|
export { richTextParser, capitalize, capitalizeFirstLetter, lowerCaseFirstLetter, useAnInsteadOfA, splitCamelCase, pluralize, pluralizeIfNeeded, getInitialsOrAcronym } from './helpers/stringHelpers';
|
|
15
|
-
export { objectsAreTheSame, isAnObject, createCompareValueOverride, deepMergeObjects, overrideMergeObjects, makeInheritanceObject, updateNestedProperty, filterObject, getArrayOfObjectKeys, getArrayOfReadableObjectKeys, getBranchFromPath, deepRemoveProps } from './helpers/objectHelpers';
|
|
17
|
+
export { objectsAreTheSame, isAnObject, createCompareValueOverride, isReactElement, isNonElementObject, isPlainObject, deepMergeObjects, overrideMergeObjects, makeInheritanceObject, updateNestedProperty, filterObject, getArrayOfObjectKeys, getArrayOfReadableObjectKeys, getBranchFromPath, deepRemoveProps } from './helpers/objectHelpers';
|
|
18
|
+
export type { DeepMergeObjectsArgs, MakeInheritanceObjectArgs, UpdateNestedPropertyArgs } from './helpers/objectHelpers';
|
|
19
|
+
export { renderIcon, isSvgIconDefinition, isIconProps, isEmptyIconSource } from './helpers/iconHelpers';
|
|
20
|
+
export type { IconSource, RenderIconOptions, SvgIconDefinition, SvgIconSize } from './helpers/iconHelpers';
|
|
16
21
|
export { UserMock, MenuMock, xGraphTopMenuMock, xGraphMainMenuMock, DashboardMenuMock, UserMenuMock } from './mocks';
|
|
17
22
|
export { CBA_ORG_STRUCTURE, CBA_LOGO, VENTURES, DEFAULT_PASSWORD_REGEX, DEFAULT_EMAIL_REGEX, DEFAULT_PHONE_REGEX, DEFAULT_NUMBER_REGEX, DEFAULT_URL_REGEX, DATA_CLASSIFICATIONS, BLACKLISTED_FILE_TYPES, DEFAULT_UPLOAD_FILE_TYPES, DEFAULT_UPLOAD_FILE_EXTENSIONS, LIBRARY_CDN_BASE_URL, LIBRARY_CDN_BASE_URL_PROD, LIBRARY_CDN_BUCKET_NAME, LIBRARY_CDN_BUCKET_FOLDER, LIBRARY_CDN_DEV_BASE_URL, LIBRARY_CDN_PROD_BASE_URL, LIBRARY_VERSION } from './constants';
|
|
18
23
|
export type { USER, GlobalUserRole, ScopedUserRole, UserAuthType, VentureSite, VentureSites, VentureDefinition, VentureDefinitions } from './constants';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,IAAI,EACJ,OAAO,EACP,eAAe,EACf,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,EACN,KAAK,EACL,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,IAAI,EACJ,SAAS,EACT,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { NotificationIconProps } from '../components/design/icons/notificationIcon/NotificationIcon';
|
|
3
3
|
import { ButtonProps } from '../components/form/buttons/button.interface';
|
|
4
|
-
import {
|
|
4
|
+
import { IconSource } from '../helpers/iconHelpers';
|
|
5
5
|
import { NotificationsButtonProps } from '../components/form/buttons/notificationsButton/NotificationsButton';
|
|
6
6
|
export type SimpleHeaderButton = ButtonProps & {
|
|
7
7
|
kind?: 'simple';
|
|
@@ -11,8 +11,8 @@ export type NotificationsHeaderButton = Omit<NotificationsButtonProps, 'label'>
|
|
|
11
11
|
};
|
|
12
12
|
export type HeaderButtonTypes = SimpleHeaderButton | NotificationsHeaderButton;
|
|
13
13
|
export interface HeaderTextInterface {
|
|
14
|
-
leftIcon?:
|
|
15
|
-
rightIcon?:
|
|
14
|
+
leftIcon?: IconSource;
|
|
15
|
+
rightIcon?: IconSource;
|
|
16
16
|
text?: string;
|
|
17
17
|
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
18
18
|
notificationIcon?: NotificationIconProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerText.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/headerText.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"headerText.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/headerText.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oEAAoE,CAAC;AAE9G,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG;IAChF,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,yBAAyB,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
|