@equinor/amplify-component-lib 9.1.1 → 9.2.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.
Files changed (82) hide show
  1. package/dist/atoms/hooks/index.d.ts +1 -2
  2. package/dist/atoms/icons/drilling.d.ts +1 -0
  3. package/dist/atoms/icons/drilling.js +1 -1
  4. package/dist/atoms/index.js +1 -1
  5. package/dist/atoms/utils/index.d.ts +1 -0
  6. package/dist/atoms/utils/richtext.js +1 -1
  7. package/dist/atoms/utils/tutorials.d.ts +10 -0
  8. package/dist/atoms/utils/tutorials.js +1 -0
  9. package/dist/index.js +1 -1
  10. package/dist/molecules/DatePicker/DatePicker.js +1 -1
  11. package/dist/molecules/FileProgress/CompactFileProgress.styles.d.ts +2 -0
  12. package/dist/molecules/OptionalTooltip/OptionalTooltip.d.ts +1 -0
  13. package/dist/molecules/RichTextEditor/index.js +1 -1
  14. package/dist/node_modules/@equinor/eds-tokens/dist/esm/base/index.js +1 -1
  15. package/dist/node_modules/@equinor/eds-tokens/dist/esm/base/spacings.js +1 -1
  16. package/dist/node_modules/prosemirror-transform/dist/index.js +1 -1
  17. package/dist/organisms/FieldSelector/ChangingField.js +4 -4
  18. package/dist/organisms/Filter/Filter.styles.js +1 -1
  19. package/dist/organisms/Filter/QuickFilter.js +1 -1
  20. package/dist/organisms/Filter/Sorting.js +2 -2
  21. package/dist/organisms/SideBar/index.d.ts +7 -2
  22. package/dist/organisms/Status/Illustration.js +2 -2
  23. package/dist/organisms/Status/collections/MissingAccessToApp.js +1 -1
  24. package/dist/organisms/TableOfContents/TableOfContents.constants.js +1 -1
  25. package/dist/organisms/Template/Template.js +2 -2
  26. package/dist/organisms/TopBar/Account/Account.js +1 -1
  27. package/dist/organisms/TopBar/Account/AccountAvatar.js +3 -3
  28. package/dist/organisms/TopBar/Account/AccountButton.js +3 -3
  29. package/dist/organisms/TopBar/Account/ActiveUserImpersonationButton.js +4 -4
  30. package/dist/organisms/TopBar/Account/ImpersonateAvatar.js +1 -1
  31. package/dist/organisms/TopBar/Account/ImpersonateButton.js +1 -1
  32. package/dist/organisms/TopBar/Account/ImpersonateMenu/DeleteUser/DeleteUser.js +1 -1
  33. package/dist/organisms/TopBar/Account/ImpersonateMenu/DeleteUser/DeleteUser.styles.js +1 -1
  34. package/dist/organisms/TopBar/Account/ImpersonateMenu/Impersonate.styles.js +1 -1
  35. package/dist/organisms/TopBar/Notifications/NotificationProvider.js +1 -1
  36. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/UploadFile/UploadFile.styles.d.ts +2 -0
  37. package/dist/organisms/TopBar/Resources/Feedback/providers/FeedbackContextProvider.js +1 -1
  38. package/dist/organisms/TopBar/Resources/ReleaseNotesDialog/ReleaseNotes.js +1 -1
  39. package/dist/organisms/TopBar/Resources/ReleaseNotesDialog/ReleasePosts/ReleasePost/ReleasePost.js +1 -1
  40. package/dist/organisms/TopBar/Resources/Resources.d.ts +0 -3
  41. package/dist/organisms/TopBar/Resources/Resources.js +5 -5
  42. package/dist/organisms/TopBar/TransferToAppDialog.js +3 -3
  43. package/dist/organisms/TopBar/Tutorials/TutorialItem.d.ts +8 -0
  44. package/dist/organisms/TopBar/Tutorials/TutorialItem.js +21 -0
  45. package/dist/organisms/TopBar/Tutorials/Tutorials.d.ts +6 -0
  46. package/dist/organisms/TopBar/Tutorials/Tutorials.js +1 -0
  47. package/dist/organisms/TopBar/Tutorials/Tutorials.styles.d.ts +2 -0
  48. package/dist/organisms/TopBar/Tutorials/Tutorials.styles.js +18 -0
  49. package/dist/organisms/TopBar/index.d.ts +2 -0
  50. package/dist/organisms/TopBar/index.js +1 -1
  51. package/dist/providers/AuthProvider/AuthProvider.js +1 -1
  52. package/dist/providers/ReleaseNotesProvider.utils.js +1 -1
  53. package/dist/providers/StepperProvider.js +1 -1
  54. package/dist/providers/TableOfContentsProvider.js +1 -1
  55. package/dist/providers/ThemeProvider/ThemeProvider.js +1 -1
  56. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProvider.constants.d.ts +2 -0
  57. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProvider.constants.js +1 -0
  58. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProvider.d.ts +11 -0
  59. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProvider.js +1 -0
  60. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProviderInner.d.ts +6 -0
  61. package/dist/providers/TutorialHighlightingProvider/TutorialHighlightingProviderInner.js +24 -0
  62. package/dist/providers/TutorialHighlightingProvider/TutorialPopover/StepIndicator.d.ts +6 -0
  63. package/dist/providers/TutorialHighlightingProvider/TutorialPopover/StepIndicator.js +20 -0
  64. package/dist/providers/TutorialHighlightingProvider/TutorialPopover/TutorialPopover.d.ts +11 -0
  65. package/dist/providers/TutorialHighlightingProvider/TutorialPopover/TutorialPopover.js +45 -0
  66. package/dist/providers/TutorialHighlightingProvider/hooks/useReversedScrollY.d.ts +1 -0
  67. package/dist/providers/TutorialHighlightingProvider/hooks/useReversedScrollY.js +1 -0
  68. package/dist/providers/index.d.ts +1 -1
  69. package/dist/tests/mockHandlers.d.ts +5 -1
  70. package/package.json +69 -70
  71. package/dist/node_modules/@equinor/eds-tokens/dist/esm/base/clickbounds.js +0 -1
  72. package/dist/node_modules/@equinor/eds-tokens/dist/esm/base/interactions.js +0 -1
  73. package/dist/node_modules/@react-aria/i18n/dist/context.js +0 -1
  74. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.js +0 -1
  75. package/dist/node_modules/@react-aria/i18n/dist/utils.js +0 -1
  76. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.js +0 -1
  77. package/dist/organisms/TopBar/Resources/Tutorials/TutorialInfoDialog.d.ts +0 -15
  78. package/dist/organisms/TopBar/Resources/Tutorials/TutorialInfoDialog.js +0 -15
  79. package/dist/organisms/TopBar/Resources/Tutorials/TutorialItem.d.ts +0 -3
  80. package/dist/organisms/TopBar/Resources/Tutorials/TutorialItem.js +0 -12
  81. package/dist/providers/TutorialStepsProvider.d.ts +0 -23
  82. package/dist/providers/TutorialStepsProvider.js +0 -1
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{arrow_back as r,delete_to_trash as t}from"@equinor/eds-icons";import{useDeleteImpersonation as i}from"../hooks/useDeleteImpersonation.js";import{Header as s}from"../Impersonate.styles.js";import{Container as l}from"./DeleteUser.styles.js";import"react";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import{useSnackbar as m}from"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../providers/TutorialStepsProvider.js";import{colors as n}from"../../../../../atoms/style/colors.js";import"../../../../../atoms/enums/Errors.js";import"../../../../../atoms/enums/Theme.js";import"../../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import"../../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../../molecules/Badge/Badge.styles.js";import{Button as a,Icon as c,Typography as p,DotProgress as u}from"@equinor/eds-core-react";import"../../../../../molecules/Banner/Banner.styles.js";import"../../../../../molecules/Chip/Chip.js";import"../../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../../molecules/DatePicker/DatePicker.js";import"../../../../../molecules/Dialog/Dialog.js";import"../../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../../molecules/InfoElement/InfoElement.js";import"../../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../../molecules/ProfileAvatar/ProfileAvatar.js";import"@tiptap/react";import"../../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../../molecules/Sieve/Sieve.styles.js";import"../../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../../molecules/Stepper/Stepper.js";import"../../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../../molecules/Select/Select.styles.js";import"../../../../../molecules/ListItem/ListItem.js";import"../../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../../molecules/SelectionControls/Switch/Switch.js";import{TextContent as d,RolesContainer as j,RoleChip as h}from"../../Account.styles.js";import{ImpersonateAvatar as v}from"../../ImpersonateAvatar.js";const S=({user:S,onBack:f})=>{const{mutateAsync:g,isPending:y}=i(),{showSnackbar:P}=m();return e(l,{children:[e(s,{children:[o(a,{variant:"ghost_icon",onClick:f,children:o(c,{data:r})}),o(p,{variant:"h6",children:"Delete user"})]}),e("section",{children:[o(p,{variant:"h4",children:"You are deleting a user"}),e(p,{variant:"caption",color:n.text.static_icons__tertiary.rgba,children:['Are you sure you want to delete user "',S.fullName,'"?']})]}),o(v,{size:64,fullName:S.fullName}),e(d,{children:[o(p,{variant:"h6",children:S.fullName}),o(p,{children:S.uniqueName})]}),o(j,{children:S.roles.map((e=>o(h,{children:e},e)))}),e("div",{children:[y?o(a,{variant:"outlined",color:"danger",children:o(u,{color:"tertiary"})}):e(a,{variant:"outlined",color:"danger",onClick:async()=>{await g(S),P(`Deleted user "${S.fullName}" successfully`),f()},children:[o(c,{data:t})," Delete user"]}),o(a,{variant:"ghost",onClick:f,children:"Cancel"})]})]})};export{S as DeleteUser};
1
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{arrow_back as r,delete_to_trash as t}from"@equinor/eds-icons";import{useDeleteImpersonation as i}from"../hooks/useDeleteImpersonation.js";import{Header as s}from"../Impersonate.styles.js";import{Container as l}from"./DeleteUser.styles.js";import"react";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import{useSnackbar as m}from"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import{colors as n}from"../../../../../atoms/style/colors.js";import"../../../../../atoms/enums/Errors.js";import"../../../../../atoms/enums/Theme.js";import"../../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import"../../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../../molecules/Badge/Badge.styles.js";import{Button as a,Icon as c,Typography as p,DotProgress as u}from"@equinor/eds-core-react";import"../../../../../molecules/Banner/Banner.styles.js";import"../../../../../molecules/Chip/Chip.js";import"../../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../../molecules/DatePicker/DatePicker.js";import"../../../../../molecules/Dialog/Dialog.js";import"../../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../../molecules/InfoElement/InfoElement.js";import"../../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../../molecules/ProfileAvatar/ProfileAvatar.js";import"@tiptap/react";import"../../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../../molecules/Sieve/Sieve.styles.js";import"../../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../../molecules/Stepper/Stepper.js";import"../../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../../molecules/Select/Select.styles.js";import"../../../../../molecules/ListItem/ListItem.js";import"../../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../../molecules/SelectionControls/Switch/Switch.js";import{TextContent as d,RolesContainer as j,RoleChip as h}from"../../Account.styles.js";import{ImpersonateAvatar as v}from"../../ImpersonateAvatar.js";const S=({user:S,onBack:f})=>{const{mutateAsync:g,isPending:y}=i(),{showSnackbar:k}=m();return e(l,{children:[e(s,{children:[o(a,{variant:"ghost_icon",onClick:f,children:o(c,{data:r})}),o(p,{variant:"h6",children:"Delete user"})]}),e("section",{children:[o(p,{variant:"h4",children:"You are deleting a user"}),e(p,{variant:"caption",color:n.text.static_icons__tertiary.rgba,children:['Are you sure you want to delete user "',S.fullName,'"?']})]}),o(v,{size:64,fullName:S.fullName}),e(d,{children:[o(p,{variant:"h6",children:S.fullName}),o(p,{children:S.uniqueName})]}),o(j,{children:S.roles.map((e=>o(h,{children:e},e)))}),e("div",{children:[y?o(a,{variant:"outlined",color:"danger",children:o(u,{color:"tertiary"})}):e(a,{variant:"outlined",color:"danger",onClick:async()=>{await g(S),k(`Deleted user "${S.fullName}" successfully`),f()},children:[o(c,{data:t})," Delete user"]}),o(a,{variant:"ghost",onClick:f,children:"Cancel"})]})]})};export{S as DeleteUser};
@@ -1,4 +1,4 @@
1
- import"react";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../providers/TutorialStepsProvider.js";import"../../../../../atoms/style/colors.js";import{spacings as i}from"../../../../../atoms/style/spacings.js";import"../../../../../atoms/enums/Errors.js";import"../../../../../atoms/enums/Theme.js";import"../../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import r from"styled-components";const o=r.div`
1
+ import"react";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../atoms/style/colors.js";import{spacings as i}from"../../../../../atoms/style/spacings.js";import"../../../../../atoms/enums/Errors.js";import"../../../../../atoms/enums/Theme.js";import"../../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import r from"styled-components";const o=r.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  min-width: 20rem;
@@ -1,4 +1,4 @@
1
- import"react";import"../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../atoms/enums/Environment.js";import"../../../../atoms/utils/auth_environment.js";import"../../Notifications/NotificationProvider.js";import"../../../../providers/AuthProvider/AuthProvider.js";import"../../../../providers/ReleaseNotesProvider.js";import"../../../../providers/SideBarProvider.js";import"../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../providers/StepperProvider.js";import"../../../../providers/TableOfContentsProvider.js";import"../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../providers/TutorialStepsProvider.js";import{colors as r}from"../../../../atoms/style/colors.js";import{spacings as o}from"../../../../atoms/style/spacings.js";import"../../../../atoms/enums/Errors.js";import"../../../../atoms/enums/Theme.js";import"../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import i from"styled-components";const t=i.header`
1
+ import"react";import"../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../atoms/enums/Environment.js";import"../../../../atoms/utils/auth_environment.js";import"../../Notifications/NotificationProvider.js";import"../../../../providers/AuthProvider/AuthProvider.js";import"../../../../providers/ReleaseNotesProvider.js";import"../../../../providers/SideBarProvider.js";import"../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../providers/StepperProvider.js";import"../../../../providers/TableOfContentsProvider.js";import"../../../../providers/ThemeProvider/ThemeProvider.js";import{colors as r}from"../../../../atoms/style/colors.js";import{spacings as o}from"../../../../atoms/style/spacings.js";import"../../../../atoms/enums/Errors.js";import"../../../../atoms/enums/Theme.js";import"../../../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import i from"styled-components";const t=i.header`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  gap: ${o.medium};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{createContext as t,useContext as e,useState as i}from"react";const o=t(void 0),n=()=>{const r=e(o);if(void 0===r)throw new Error("useNotificationContext must be used within a Notification provider");return r},s=({children:t})=>{const[e,n]=i(!1);return r(o.Provider,{value:{isOpen:e,setIsOpen:n},children:t})};export{s as NotificationProvider,n as useNotification};
1
+ import{jsx as r}from"react/jsx-runtime";import{createContext as t,useState as e,useContext as i}from"react";const o=t(void 0),n=()=>{const r=i(o);if(void 0===r)throw new Error("useNotificationContext must be used within a Notification provider");return r},s=({children:t})=>{const[i,n]=e(!1);return r(o.Provider,{value:{isOpen:i,setIsOpen:n},children:t})};export{s as NotificationProvider,n as useNotification};
@@ -10,9 +10,11 @@ export declare const FileTooltip: import("styled-components/dist/types").IStyled
10
10
  title?: string;
11
11
  children: React.ReactElement & React.RefAttributes<HTMLElement>;
12
12
  enterDelay?: number;
13
+ portalContainer?: HTMLElement;
13
14
  } & import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>, never>> & string & Omit<import("react").ForwardRefExoticComponent<{
14
15
  placement?: import("@floating-ui/utils").Placement;
15
16
  title?: string;
16
17
  children: React.ReactElement & React.RefAttributes<HTMLElement>;
17
18
  enterDelay?: number;
19
+ portalContainer?: HTMLElement;
18
20
  } & import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as t,useMemo as r,useCallback as o,useEffect as a}from"react";import{ONE_HOUR_IN_MS as i,DEFAULT_FEEDBACK_LOCAL_STORAGE as n}from"../Feedback.const.js";import{StatusEnum as c,FeedbackType as m}from"../Feedback.types.js";import{createServiceNowUrl as u,createServiceNowDescription as p,getUrgencyNumber as d,createSlackMessage as l}from"../Feedback.utils.js";import{useServiceNowIncident as v}from"../hooks/useServiceNowIncident.js";import{useSlackFileUpload as f}from"../hooks/useSlackFileUpload.js";import{useSlackPostMessage as g}from"../hooks/useSlackPostMessage.js";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import{useLocalStorage as h}from"../../../../../atoms/hooks/useLocalStorage.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import{environment as k}from"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import{useAuth as R}from"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../providers/TutorialStepsProvider.js";import"html2canvas";import"proj4";const{getServiceNowConfigurationItem:j}=k,S=s(void 0),w=({children:s,selectedType:k,onClose:w,field:N})=>{const y=j(import.meta.env.VITE_SERVICE_NOW_CONFIGURATION_ITEM)||"117499",{account:I}=R(),T=I?.username,[P,b]=h(k+"-feedbackContentAndRequestStatus",{...n},i),{feedbackContent:q,serviceNowRequestResponse:A}=P,[C,E]=t([]),[F,x]=t({status:c.idle}),[D,O]=t([]),[U,_]=t(!1),[G,B]=t(!1),{mutateAsync:W,isPending:H}=f(q),{mutateAsync:L,status:M}=g(q),{mutateAsync:V,status:K}=v(q),[$,z]=t(""),[J,Q]=t(!1),X=r((()=>"pending"===M||"pending"===K||H),[H,M,K]),Y=r((()=>A.status===c.success),[A.status]),Z=r((()=>{const e=[F.status,...D.map((e=>e.status))];return e.every((e=>e===c.success))?c.success:e.includes(c.error)?c.partial:c.idle}),[D,F.status]),ee=r((()=>Z===c.error||Z===c.partial),[Z]),se=r((()=>ee||A.status===c.error),[A.status,ee]),te=()=>{_((e=>!e))},re=({status:e,response:s,error:t})=>{b({...P,serviceNowRequestResponse:{status:e,errorText:t?.message??void 0,serviceNowId:s?.sysId??void 0}})},oe=({status:e,filename:s,error:t})=>{O((r=>{const o=Array.from(r),a=o.find((e=>e.fileName===s));return a&&(a.status=e,a.errorText=e===c.error?t?.message:void 0),o}))},ae=({status:e,error:s})=>{x({status:e,errorText:s?.message??void 0})},ie=o((()=>{b(n),E([]),x({status:c.idle}),O([])}),[b]);return a((()=>()=>{A.status===c.success&&Z===c.success&&setTimeout((()=>{b(n)}),1100)}),[Z,A.status,b]),a((()=>{D.length!==C.length&&O(C.map((e=>({status:c.idle,fileName:e.name}))))}),[C,D.length]),a((()=>{A.serviceNowId&&0!==A.serviceNowId.length&&z(u(A.serviceNowId,!0))}),[A.serviceNowId]),a((()=>{(k===m.SUGGESTION&&Z===c.success||A.status===c.success&&Z===c.success)&&Q(!0)}),[Z,k,A.status]),e(S.Provider,{value:{selectedType:k,showResponsePage:U,feedbackAttachments:C,slackAttachmentsRequestResponse:D,slackRequestResponse:F,updateFeedback:(e,s)=>{b({...P,feedbackContent:{...q,[e]:s}})},feedbackContent:q,serviceNowRequestResponse:A,handleResponsePageOnClose:()=>{J?w():te()},toggleShowResponsePage:te,onDialogClose:w,handleSave:async()=>{te();let e="";if(k===m.BUG&&T&&A.status!==c.success){const s=new FormData;s.append("ConfigurationItem",y),s.append("Title",q.title),s.append("Description",p(q,N)),s.append("CallerEmail",T),q.urgency&&s.append("urgency",d(q.urgency).toString()),C&&C.length>0&&C.forEach((e=>s.append("Images",e)));try{const t=await V(s);e=t.sysId,re({status:c.success,response:t})}catch(e){re({status:c.error,error:e})}}const s=new FormData;s.append("comment",l(q,N,k,T,e));try{await L(s),ae({status:c.success})}catch(e){ae({status:c.error,error:e})}if(C&&C.length>0)for(const e of C){const s=new FormData;s.append("comment",`Title: ${q.title}`),s.append("file",e);try{await W(s),oe({status:c.success,filename:e.name})}catch(s){oe({status:c.error,filename:e.name,error:s})}}},resetForm:ie,requestIsLoading:X,serviceNowSuccess:Y,isWrongDomain:G,setIsWrongDomain:B,setFeedbackAttachments:E,requestHasError:se,showAllSlackRequests:ee,allSlackRequestStatus:Z,serviceNowUrl:$,relevantRequestsHaveBeenSuccess:J},children:s})};export{S as FeedbackContext,w as FeedbackContextProvider};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as t,useMemo as r,useCallback as o,useEffect as a}from"react";import{DEFAULT_FEEDBACK_LOCAL_STORAGE as i,ONE_HOUR_IN_MS as n}from"../Feedback.const.js";import{StatusEnum as c,FeedbackType as m}from"../Feedback.types.js";import{createServiceNowUrl as u,createServiceNowDescription as p,getUrgencyNumber as d,createSlackMessage as l}from"../Feedback.utils.js";import{useServiceNowIncident as v}from"../hooks/useServiceNowIncident.js";import{useSlackFileUpload as f}from"../hooks/useSlackFileUpload.js";import{useSlackPostMessage as g}from"../hooks/useSlackPostMessage.js";import"../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import{useLocalStorage as h}from"../../../../../atoms/hooks/useLocalStorage.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../atoms/enums/Environment.js";import{environment as k}from"../../../../../atoms/utils/auth_environment.js";import"../../../Notifications/NotificationProvider.js";import{useAuth as R}from"../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../providers/ReleaseNotesProvider.js";import"../../../../../providers/SideBarProvider.js";import"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../providers/StepperProvider.js";import"../../../../../providers/TableOfContentsProvider.js";import"../../../../../providers/ThemeProvider/ThemeProvider.js";import"html2canvas";import"proj4";const{getServiceNowConfigurationItem:j}=k,w=s(void 0),N=({children:s,selectedType:k,onClose:N,field:S})=>{const y=j(import.meta.env.VITE_SERVICE_NOW_CONFIGURATION_ITEM)||"117499",{account:I}=R(),T=I?.username,[P,b]=h(k+"-feedbackContentAndRequestStatus",{...i},n),{feedbackContent:q,serviceNowRequestResponse:A}=P,[C,E]=t([]),[F,x]=t({status:c.idle}),[D,O]=t([]),[U,_]=t(!1),[G,B]=t(!1),{mutateAsync:W,isPending:H}=f(q),{mutateAsync:L,status:M}=g(q),{mutateAsync:V,status:K}=v(q),[$,z]=t(""),[J,Q]=t(!1),X=r((()=>"pending"===M||"pending"===K||H),[H,M,K]),Y=r((()=>A.status===c.success),[A.status]),Z=r((()=>{const e=[F.status,...D.map((e=>e.status))];return e.every((e=>e===c.success))?c.success:e.includes(c.error)?c.partial:c.idle}),[D,F.status]),ee=r((()=>Z===c.error||Z===c.partial),[Z]),se=r((()=>ee||A.status===c.error),[A.status,ee]),te=()=>{_((e=>!e))},re=({status:e,response:s,error:t})=>{b({...P,serviceNowRequestResponse:{status:e,errorText:t?.message??void 0,serviceNowId:s?.sysId??void 0}})},oe=({status:e,filename:s,error:t})=>{O((r=>{const o=Array.from(r),a=o.find((e=>e.fileName===s));return a&&(a.status=e,a.errorText=e===c.error?t?.message:void 0),o}))},ae=({status:e,error:s})=>{x({status:e,errorText:s?.message??void 0})},ie=o((()=>{b(i),E([]),x({status:c.idle}),O([])}),[b]);return a((()=>()=>{A.status===c.success&&Z===c.success&&setTimeout((()=>{b(i)}),1100)}),[Z,A.status,b]),a((()=>{D.length!==C.length&&O(C.map((e=>({status:c.idle,fileName:e.name}))))}),[C,D.length]),a((()=>{A.serviceNowId&&0!==A.serviceNowId.length&&z(u(A.serviceNowId,!0))}),[A.serviceNowId]),a((()=>{(k===m.SUGGESTION&&Z===c.success||A.status===c.success&&Z===c.success)&&Q(!0)}),[Z,k,A.status]),e(w.Provider,{value:{selectedType:k,showResponsePage:U,feedbackAttachments:C,slackAttachmentsRequestResponse:D,slackRequestResponse:F,updateFeedback:(e,s)=>{b({...P,feedbackContent:{...q,[e]:s}})},feedbackContent:q,serviceNowRequestResponse:A,handleResponsePageOnClose:()=>{J?N():te()},toggleShowResponsePage:te,onDialogClose:N,handleSave:async()=>{te();let e="";if(k===m.BUG&&T&&A.status!==c.success){const s=new FormData;s.append("ConfigurationItem",y),s.append("Title",q.title),s.append("Description",p(q,S)),s.append("CallerEmail",T),q.urgency&&s.append("urgency",d(q.urgency).toString()),C&&C.length>0&&C.forEach((e=>s.append("Images",e)));try{const t=await V(s);e=t.sysId,re({status:c.success,response:t})}catch(e){re({status:c.error,error:e})}}const s=new FormData;s.append("comment",l(q,S,k,T,e));try{await L(s),ae({status:c.success})}catch(e){ae({status:c.error,error:e})}if(C&&C.length>0)for(const e of C){const s=new FormData;s.append("comment",`Title: ${q.title}`),s.append("file",e);try{await W(s),oe({status:c.success,filename:e.name})}catch(s){oe({status:c.error,filename:e.name,error:s})}}},resetForm:ie,requestIsLoading:X,serviceNowSuccess:Y,isWrongDomain:G,setIsWrongDomain:B,setFeedbackAttachments:E,requestHasError:se,showAllSlackRequests:ee,allSlackRequestStatus:Z,serviceNowUrl:$,relevantRequestsHaveBeenSuccess:J},children:s})};export{w as FeedbackContext,N as FeedbackContextProvider};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{CircularProgress as r}from"@equinor/eds-core-react";import{useReleaseNotesQuery as t}from"@equinor/subsurface-app-management";import{ReleasePosts as s}from"./ReleasePosts/ReleasePosts.js";import{StyledDialog as i,LoadingWrapper as l,ScrollWrapper as m,Wrapper as p,LeftContainer as n,Content as c}from"./ReleaseNotes.styles.js";import{ReleaseNotesHeader as a}from"./ReleaseNotesHeader.js";import{TableOfContents as u}from"../../../TableOfContents/TableOfContents.js";import"../../../../providers/AuthProvider/AuthProvider.js";import"../../../../providers/SideBarProvider.js";import"../../../../providers/SnackbarProvider/SnackbarProvider.js";import{TableOfContentsProvider as d}from"../../../../providers/TableOfContentsProvider.js";import{useReleaseNotes as j}from"../../../../providers/ReleaseNotesProvider.js";import"../../../../providers/TutorialStepsProvider.js";import"react";import"@tanstack/react-query";import"../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../molecules/Badge/Badge.styles.js";import"../../../../molecules/Banner/Banner.styles.js";import"@equinor/eds-icons";import"../../../../molecules/Chip/Chip.js";import"../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../molecules/DatePicker/DatePicker.js";import"../../../../molecules/Dialog/Dialog.js";import"../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../atoms/style/colors.js";import"../../../../atoms/utils/auth_environment.js";import"html2canvas";import"proj4";import"../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../molecules/InfoElement/InfoElement.js";import"../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../molecules/ProfileAvatar/ProfileAvatar.js";import"@tiptap/react";import"../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../molecules/Sieve/Sieve.styles.js";import"../../../../_virtual/lodash.js";import"../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../molecules/Stepper/Stepper.js";import"../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../molecules/Select/Select.styles.js";import"../../../../molecules/ListItem/ListItem.js";import"../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../molecules/SelectionControls/Switch/Switch.js";import"../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../providers/StepperProvider.js";const h=({enabled:h})=>{const{releaseNotesYears:S,setOpen:v,open:P}=j(),{isLoading:f,data:g}=t({enabled:h});return e(i,{open:P,onClose:()=>{v(!1)},isDismissable:!0,children:[o(a,{}),f?o(l,{children:o(r,{})}):o(d,{items:S,children:o(m,{children:e(p,{children:[o(n,{children:o(u,{})}),o(c,{children:o(s,{posts:g})})]})})})]})};export{h as ReleaseNotes};
1
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{CircularProgress as r}from"@equinor/eds-core-react";import{useReleaseNotesQuery as t}from"@equinor/subsurface-app-management";import{ReleasePosts as s}from"./ReleasePosts/ReleasePosts.js";import{StyledDialog as i,LoadingWrapper as l,ScrollWrapper as m,Wrapper as p,LeftContainer as n,Content as c}from"./ReleaseNotes.styles.js";import{ReleaseNotesHeader as a}from"./ReleaseNotesHeader.js";import{TableOfContents as u}from"../../../TableOfContents/TableOfContents.js";import"../../../../providers/AuthProvider/AuthProvider.js";import"../../../../providers/SideBarProvider.js";import"../../../../providers/SnackbarProvider/SnackbarProvider.js";import{TableOfContentsProvider as d}from"../../../../providers/TableOfContentsProvider.js";import{useReleaseNotes as j}from"../../../../providers/ReleaseNotesProvider.js";import"../../../../providers/TutorialHighlightingProvider/TutorialHighlightingProvider.js";import"react";import"@tanstack/react-query";import"../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../molecules/Badge/Badge.styles.js";import"../../../../molecules/Banner/Banner.styles.js";import"@equinor/eds-icons";import"../../../../molecules/Chip/Chip.js";import"../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../molecules/DatePicker/DatePicker.js";import"../../../../molecules/Dialog/Dialog.js";import"../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../atoms/style/colors.js";import"../../../../atoms/utils/auth_environment.js";import"html2canvas";import"proj4";import"../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../molecules/InfoElement/InfoElement.js";import"../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../molecules/ProfileAvatar/ProfileAvatar.js";import"@tiptap/react";import"../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../molecules/Sieve/Sieve.styles.js";import"../../../../_virtual/lodash.js";import"../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../molecules/Stepper/Stepper.js";import"../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../molecules/Select/Select.styles.js";import"../../../../molecules/ListItem/ListItem.js";import"../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../molecules/SelectionControls/Switch/Switch.js";import"../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../providers/StepperProvider.js";const h=({enabled:h})=>{const{releaseNotesYears:v,setOpen:S,open:P}=j(),{isLoading:g,data:f}=t({enabled:h});return e(i,{open:P,onClose:()=>{S(!1)},isDismissable:!0,children:[o(a,{}),g?o(l,{children:o(r,{})}):o(d,{items:v,children:o(m,{children:e(p,{children:[o(n,{children:o(u,{})}),o(c,{children:o(s,{posts:f})})]})})})]})};export{h as ReleaseNotes};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{useState as t,useRef as i}from"react";import{Typography as s,Icon as l}from"@equinor/eds-core-react";import{arrow_drop_up as m,arrow_drop_down as a}from"@equinor/eds-icons";import{ReleaseNotesTypes as n}from"../../ReleaseNotesTypes/ReleaseNotesTypes.js";import{Container as p,TopContainer as c,HeadingContainer as u,RightContainer as d,ReleaseNoteTypeContainer as h,TitleContainer as j,BodyContainer as v,BtnContainer as g,Button as S,AccordionText as P}from"./ReleasePost.styles.js";import"../../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../../atoms/enums/Environment.js";import"../../../../../../atoms/utils/auth_environment.js";import"../../../../Notifications/NotificationProvider.js";import"../../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../../providers/ReleaseNotesProvider.js";import"../../../../../../providers/SideBarProvider.js";import"../../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../../providers/StepperProvider.js";import"../../../../../../providers/TableOfContentsProvider.js";import"../../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../../providers/TutorialStepsProvider.js";import"../../../../../../atoms/style/colors.js";import"../../../../../../atoms/enums/Errors.js";import"../../../../../../atoms/enums/Theme.js";import"../../../../../../atoms/enums/SpacingsMode.js";import{formatDate as f}from"../../../../../../atoms/utils/date.js";import"html2canvas";import"proj4";import"../../../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../../../molecules/Badge/Badge.styles.js";import"../../../../../../molecules/Banner/Banner.styles.js";import"../../../../../../molecules/Chip/Chip.js";import"../../../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../../../molecules/DatePicker/DatePicker.js";import"../../../../../../molecules/Dialog/Dialog.js";import"../../../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../../../molecules/InfoElement/InfoElement.js";import"../../../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../../../molecules/ProfileAvatar/ProfileAvatar.js";import{RichTextDisplay as R}from"../../../../../../molecules/RichTextDisplay/RichTextDisplay.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"@tiptap/react";import"../../../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../../../molecules/Sieve/Sieve.styles.js";import"../../../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../../../molecules/Stepper/Stepper.js";import"../../../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../../../molecules/Select/Select.styles.js";import"../../../../../../molecules/ListItem/ListItem.js";import"../../../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../../../molecules/SelectionControls/Switch/Switch.js";import{releaseNoteImageRead as y}from"./ReleasePost.utils.js";import{motion as T}from"framer-motion";const k=({createdDate:k,version:x,tags:C,title:E,body:B})=>{const[A,D]=t(!1),[M,F]=t(!1),b=i(new ResizeObserver((e=>{const{height:o}=e[0].contentRect;F(o>108)}))),I=A?"Read less":"Read more";return e(p,{"data-testid":"release-post",children:o(T.div,{initial:{height:"250px"},animate:{height:A?"auto":"250px"},children:[o(c,{children:[o(u,{children:[e(s,{group:"paragraph",variant:"overline",children:f(k,{format:"DD. month YYYY"})}),e(s,{group:"paragraph",variant:"overline",children:x})]}),e(d,{children:C?.map((o=>e(h,{children:e(n,{name:o,active:!0,showIcon:!1})},o)))})]}),e(j,{children:e(s,{group:"heading",variant:"h3",children:E})}),e(v,{ref:e=>{e&&b.current.observe(e)},children:e(R,{value:B,onImageRead:y})}),e(g,{$open:M,children:M&&e(S,{variant:"ghost_icon",onClick:()=>{D((e=>!e))},children:o(r,A?{children:[e(P,{children:I}),e(l,{data:m})]}:{children:[e(P,{children:I}),e(l,{data:a})]})})})]})})};export{k as ReleasePost};
1
+ import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{useState as t,useRef as i}from"react";import{Typography as s,Icon as l}from"@equinor/eds-core-react";import{arrow_drop_up as m,arrow_drop_down as a}from"@equinor/eds-icons";import{ReleaseNotesTypes as n}from"../../ReleaseNotesTypes/ReleaseNotesTypes.js";import{Container as p,TopContainer as c,HeadingContainer as u,RightContainer as d,ReleaseNoteTypeContainer as h,TitleContainer as j,BodyContainer as v,BtnContainer as g,Button as S,AccordionText as f}from"./ReleasePost.styles.js";import"../../../../../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../../../../../molecules/RichTextEditor/RichTextEditor.types.js";import"../../../../../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../../../../../atoms/enums/Environment.js";import"../../../../../../atoms/utils/auth_environment.js";import"../../../../Notifications/NotificationProvider.js";import"../../../../../../providers/AuthProvider/AuthProvider.js";import"../../../../../../providers/ReleaseNotesProvider.js";import"../../../../../../providers/SideBarProvider.js";import"../../../../../../providers/SnackbarProvider/SnackbarProvider.js";import"../../../../../../providers/StepperProvider.js";import"../../../../../../providers/TableOfContentsProvider.js";import"../../../../../../providers/ThemeProvider/ThemeProvider.js";import"../../../../../../atoms/style/colors.js";import"../../../../../../atoms/enums/Errors.js";import"../../../../../../atoms/enums/Theme.js";import"../../../../../../atoms/enums/SpacingsMode.js";import{formatDate as P}from"../../../../../../atoms/utils/date.js";import"html2canvas";import"proj4";import"../../../../../../molecules/AnimatedCheckmark/AnimatedCheckmark.styles.js";import"../../../../../../molecules/ApplicationIcon/ApplicationIcon.js";import"../../../../../../molecules/Badge/Badge.styles.js";import"../../../../../../molecules/Banner/Banner.styles.js";import"../../../../../../molecules/Chip/Chip.js";import"../../../../../../molecules/ContentMenu/ContentMenu.styles.js";import"../../../../../../molecules/DatePicker/DatePicker.js";import"../../../../../../molecules/Dialog/Dialog.js";import"../../../../../../molecules/EquinorLogo/EquinorLogo.js";import"../../../../../../molecules/FileProgress/CompactFileProgress.styles.js";import"../../../../../../molecules/FileProgress/RegularFileProgress.styles.js";import"../../../../../../molecules/FileUploadArea/FileUploadArea.js";import"../../../../../../molecules/FullPageSpinner/FullPageSpinner.js";import"../../../../../../molecules/InfoElement/InfoElement.js";import"../../../../../../molecules/OptionalTooltip/OptionalTooltip.js";import"../../../../../../molecules/ProfileAvatar/ProfileAvatar.js";import{RichTextDisplay as R}from"../../../../../../molecules/RichTextDisplay/RichTextDisplay.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuBar.js";import"@tiptap/react";import"../../../../../../molecules/RichTextEditor/RichTextEditor.styles.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuBar.styles.js";import"../../../../../../molecules/RichTextEditor/MenuBar/MenuButton.js";import"../../../../../../molecules/Search/Search.js";import"react-router-dom";import"../../../../../../molecules/Sieve/Sieve.styles.js";import"../../../../../../molecules/SingleFilterMenu/SingleFilterMenu.js";import"../../../../../../molecules/Skeleton/SkeletonBase/SkeletonBase.js";import"../../../../../../molecules/Skeleton/Skeleton.styles.js";import"../../../../../../molecules/Stepper/Stepper.js";import"../../../../../../molecules/OptionDrawer/OptionDrawer.js";import"../../../../../../molecules/Select/Select.styles.js";import"../../../../../../molecules/ListItem/ListItem.js";import"../../../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import"../../../../../../molecules/SelectionControls/Radio/Radio.js";import"../../../../../../molecules/SelectionControls/Switch/Switch.js";import{releaseNoteImageRead as y}from"./ReleasePost.utils.js";import{motion as T}from"framer-motion";const k=({createdDate:k,version:x,releaseDate:C,tags:E,title:B,body:D})=>{const[A,M]=t(!1),[F,b]=t(!1),I=i(new ResizeObserver((e=>{const{height:o}=e[0].contentRect;b(o>108)}))),q=A?"Read less":"Read more";return e(p,{"data-testid":"release-post",children:o(T.div,{initial:{height:"250px"},animate:{height:A?"auto":"250px"},children:[o(c,{children:[o(u,{children:[e(s,{group:"paragraph",variant:"overline",children:P(C||k,{format:"DD. month YYYY"})}),e(s,{group:"paragraph",variant:"overline",children:x})]}),e(d,{children:E?.map((o=>e(h,{children:e(n,{name:o,active:!0,showIcon:!1})},o)))})]}),e(j,{children:e(s,{group:"heading",variant:"h3",children:B})}),e(v,{ref:e=>{e&&I.current.observe(e)},children:e(R,{value:D,onImageRead:y})}),e(g,{$open:F,children:F&&e(S,{variant:"ghost_icon",onClick:()=>{M((e=>!e))},children:o(r,A?{children:[e(f,{children:q}),e(l,{data:m})]}:{children:[e(f,{children:q}),e(l,{data:a})]})})})]})})};export{k as ReleasePost};
@@ -1,13 +1,10 @@
1
1
  import { FC, MutableRefObject, ReactElement, ReactNode } from 'react';
2
- import { tutorialOptions } from './Tutorials/TutorialInfoDialog';
3
2
  export interface ResourcesProps {
4
3
  field?: string;
5
4
  hideFeedback?: boolean;
6
5
  hideReleaseNotes?: boolean;
7
6
  hideLearnMore?: boolean;
8
7
  children?: ReactNode;
9
- showTutorials?: boolean;
10
- tutorialOptions?: tutorialOptions[];
11
8
  customButton?: (ref: MutableRefObject<HTMLButtonElement | null>, onToggle: () => void) => ReactElement;
12
9
  }
13
10
  export declare const Resources: FC<ResourcesProps>;
@@ -1,6 +1,6 @@
1
- import{jsxs as e,Fragment as o,jsx as r}from"react/jsx-runtime";import{useState as t,useRef as i,useMemo as s}from"react";import{Dialog as n,Divider as a,Button as l,Icon as m}from"@equinor/eds-core-react";import{youtube_alt as c,arrow_back as d,report_bug as p,lightbulb as u,file_description as h,school as f}from"@equinor/eds-icons";import{TopBarButton as T}from"../TopBar.styles.js";import{TopBarMenu as g}from"../TopBarMenu.js";import{TransferToAppDialog as j}from"../TransferToAppDialog.js";import{Feedback as k}from"./Feedback/Feedback.js";import{FeedbackType as v}from"./Feedback/Feedback.types.js";import{ReleaseNotes as C}from"./ReleaseNotesDialog/ReleaseNotes.js";import{TutorialInfoDialog as R}from"./Tutorials/TutorialInfoDialog.js";import{ResourceMenuItem as x}from"./ResourceMenuItem.js";import{amplify_small_portal as O,amplify_resources as b}from"../../../atoms/icons/other.js";import"../../../atoms/style/colors.js";import{spacings as y}from"../../../atoms/style/spacings.js";import{environment as I}from"../../../atoms/utils/auth_environment.js";import"html2canvas";import"proj4";import"../../../molecules/RichTextEditor/RichTextEditor.types.js";import{useReleaseNotes as N}from"../../../providers/ReleaseNotesProvider.js";import S from"styled-components";const{PORTAL_URL_WITHOUT_LOCALHOST:B}=I,G=S(n)`
1
+ import{jsxs as e,Fragment as o,jsx as r}from"react/jsx-runtime";import{useState as i,useRef as t,useMemo as n}from"react";import{Dialog as s,Divider as a,Button as l,Icon as m}from"@equinor/eds-core-react";import{arrow_back as c,report_bug as d,lightbulb as p,file_description as u,school as h}from"@equinor/eds-icons";import{TopBarButton as f}from"../TopBar.styles.js";import{TopBarMenu as g}from"../TopBarMenu.js";import{TransferToAppDialog as j}from"../TransferToAppDialog.js";import{Feedback as v}from"./Feedback/Feedback.js";import{FeedbackType as k}from"./Feedback/Feedback.types.js";import{ReleaseNotes as T}from"./ReleaseNotesDialog/ReleaseNotes.js";import{ResourceMenuItem as C}from"./ResourceMenuItem.js";import{amplify_small_portal as R,amplify_resources as x}from"../../../atoms/icons/other.js";import"../../../atoms/style/colors.js";import{spacings as b}from"../../../atoms/style/spacings.js";import{environment as y}from"../../../atoms/utils/auth_environment.js";import"html2canvas";import"proj4";import"../../../molecules/RichTextEditor/RichTextEditor.types.js";import{useReleaseNotes as N}from"../../../providers/ReleaseNotesProvider.js";import O from"styled-components";const{PORTAL_URL_WITHOUT_LOCALHOST:S}=y,B=O(s)`
2
2
  width: fit-content;
3
- `,U=S.div`
4
- padding: ${y.medium} ${y.medium} ${y.small}
5
- ${y.medium};
6
- `,L=({field:y,hideFeedback:I=!1,hideReleaseNotes:S=!1,hideLearnMore:L=!1,children:E,tutorialOptions:F,showTutorials:H,customButton:_})=>{const{open:A,toggle:D}=N(),[$,w]=t(!1),[M,P]=t(!1),[q,W]=t(!1),[z,J]=t(!1),[K,Q]=t(void 0),V=i(null),[X,Y]=t(void 0),Z=()=>{Q(void 0),w(!1)},ee=()=>w((e=>!e)),oe=e=>{Y(e?.currentTarget.id),P(!0)},re=()=>{Y(void 0),Z(),P(!1)},te=()=>Q(void 0),ie=()=>{W(!0)},se=()=>{J(!0)},ne=s((()=>"learn-more"===K?e(o,{children:[r(x,{text:"Open Application portal",icon:O,onClick:ie,isHref:!0}),H&&r(x,{text:"Tutorials",icon:c,onClick:se,lastItem:!0}),E&&!I&&!S&&r(a,{style:{margin:0}}),E&&r("div",{onClick:Z,children:E}),r(U,{children:e(l,{variant:"outlined",onClick:te,children:[r(m,{data:d})," Back"]})})]}):null),[E,I,S,H,K]);return e(o,{children:[_?_(V,ee):r(T,{variant:"ghost_icon",ref:V,id:"anchor-match","aria-haspopup":"true","aria-expanded":$,"aria-controls":"menu-match",onClick:ee,children:r(m,{data:b})}),r(g,{open:$&&!A&&!M,title:"Resources",onClose:Z,anchorEl:V.current,children:ne||e(o,{children:[r(x,{id:v.BUG,onClick:oe,icon:p,text:"Report a bug",lastItem:!0}),r(x,{id:v.SUGGESTION,onClick:oe,icon:u,text:"Suggest idea",lastItem:!0}),!S&&r(x,{id:"release-notes",icon:h,onClick:D,text:"Open release notes",isHref:!0}),!L&&r(x,{text:"Learn more",icon:f,onClick:()=>Q("learn-more")})]})}),z&&F&&r(R,{options:F,open:z,onClose:()=>{J(!1),Z()}}),A&&r(C,{}),!I&&void 0!==X&&e(G,{open:X===v.BUG||X===v.SUGGESTION,onClose:re,isDismissable:!0,children:[r(n.Header,{children:X===v.BUG?"Report a bug - ServiceNow":"Suggest a feature"}),r(k,{field:y,selectedType:X,onClose:re})]}),q&&r(j,{onClose:()=>{W(!1),Z()},url:B,applicationName:"Portal"})]})};export{L as Resources};
3
+ `,G=O.div`
4
+ padding: ${b.medium} ${b.medium} ${b.small}
5
+ ${b.medium};
6
+ `,U=({field:b,hideFeedback:y=!1,hideReleaseNotes:O=!1,hideLearnMore:U=!1,children:I,customButton:L})=>{const{open:E,toggle:F}=N(),[H,_]=i(!1),[A,$]=i(!1),[D,M]=i(!1),[P,q]=i(void 0),w=t(null),[W,z]=i(void 0),J=()=>{q(void 0),_(!1)},K=()=>_((e=>!e)),Q=e=>{z(e?.currentTarget.id),$(!0)},V=()=>{z(void 0),J(),$(!1)},X=()=>q(void 0),Y=()=>{M(!0)},Z=n((()=>"learn-more"===P?e(o,{children:[r(C,{text:"Open Application portal",icon:R,onClick:Y,isHref:!0}),I&&!y&&!O&&r(a,{style:{margin:0}}),I&&r("div",{onClick:J,children:I}),r(G,{children:e(l,{variant:"outlined",onClick:X,children:[r(m,{data:c})," Back"]})})]}):null),[I,y,O,P]);return e(o,{children:[L?L(w,K):r(f,{variant:"ghost_icon",ref:w,id:"anchor-match","aria-haspopup":"true","aria-expanded":H,"aria-controls":"menu-match",onClick:K,children:r(m,{data:x})}),r(g,{open:H&&!E&&!A,title:"Resources",onClose:J,anchorEl:w.current,children:Z||e(o,{children:[r(C,{id:k.BUG,onClick:Q,icon:d,text:"Report a bug",lastItem:!0}),r(C,{id:k.SUGGESTION,onClick:Q,icon:p,text:"Suggest idea",lastItem:!0}),!O&&r(C,{id:"release-notes",icon:u,onClick:F,text:"Open release notes",isHref:!0}),!U&&r(C,{text:"Learn more",icon:h,onClick:()=>q("learn-more")})]})}),E&&r(T,{}),!y&&void 0!==W&&e(B,{open:W===k.BUG||W===k.SUGGESTION,onClose:V,isDismissable:!0,children:[r(s.Header,{children:W===k.BUG?"Report a bug - ServiceNow":"Suggest a feature"}),r(v,{field:b,selectedType:W,onClose:V})]}),D&&r(j,{onClose:()=>{M(!1),J()},url:S,applicationName:"Portal"})]})};export{U as Resources};
@@ -1,4 +1,4 @@
1
- import{jsx as r,Fragment as e,jsxs as i}from"react/jsx-runtime";import{Dialog as o,Typography as t,Button as s,Icon as n,LinearProgress as a}from"@equinor/eds-core-react";import{close as m}from"@equinor/eds-icons";import"react";import"../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../molecules/RichTextEditor/RichTextEditor.types.js";import{useFakeProgress as p}from"../../atoms/hooks/useFakeProgress.js";import"../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../atoms/enums/Environment.js";import"../../atoms/utils/auth_environment.js";import"./Notifications/NotificationProvider.js";import"../../providers/AuthProvider/AuthProvider.js";import"../../providers/ReleaseNotesProvider.js";import"../../providers/SideBarProvider.js";import"../../providers/SnackbarProvider/SnackbarProvider.js";import"../../providers/StepperProvider.js";import"../../providers/TableOfContentsProvider.js";import"../../providers/ThemeProvider/ThemeProvider.js";import"../../providers/TutorialStepsProvider.js";import"../../atoms/style/colors.js";import{spacings as d}from"../../atoms/style/spacings.js";import"html2canvas";import"proj4";import{capitalize as l}from"../../atoms/utils/string.js";import{AnimatedCheckmark as c}from"../../molecules/AnimatedCheckmark/AnimatedCheckmark.js";import h from"styled-components";const u=h(o)`
1
+ import{jsx as r,Fragment as e,jsxs as i}from"react/jsx-runtime";import{Dialog as t,Typography as o,Button as s,Icon as n,LinearProgress as a}from"@equinor/eds-core-react";import{close as m}from"@equinor/eds-icons";import"react";import"../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../molecules/RichTextEditor/RichTextEditor.types.js";import{useFakeProgress as p}from"../../atoms/hooks/useFakeProgress.js";import"../../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../atoms/enums/Environment.js";import"../../atoms/utils/auth_environment.js";import"./Notifications/NotificationProvider.js";import"../../providers/AuthProvider/AuthProvider.js";import"../../providers/ReleaseNotesProvider.js";import"../../providers/SideBarProvider.js";import"../../providers/SnackbarProvider/SnackbarProvider.js";import"../../providers/StepperProvider.js";import"../../providers/TableOfContentsProvider.js";import"../../providers/ThemeProvider/ThemeProvider.js";import"../../atoms/style/colors.js";import{spacings as d}from"../../atoms/style/spacings.js";import"html2canvas";import"proj4";import{capitalize as l}from"../../atoms/utils/string.js";import{AnimatedCheckmark as c}from"../../molecules/AnimatedCheckmark/AnimatedCheckmark.js";import h from"styled-components";const u=h(t)`
2
2
  width: 400px;
3
3
  height: 323px;
4
4
  `,v=h.div`
@@ -15,7 +15,7 @@ import{jsx as r,Fragment as e,jsxs as i}from"react/jsx-runtime";import{Dialog as
15
15
  width: 100%;
16
16
  max-width: 370px;
17
17
  padding: ${d.medium} ${d.large};
18
- `,f=h(t)`
18
+ `,f=h(o)`
19
19
  span {
20
20
  text-transform: capitalize;
21
21
  }
@@ -30,4 +30,4 @@ import{jsx as r,Fragment as e,jsxs as i}from"react/jsx-runtime";import{Dialog as
30
30
  width: 100%;
31
31
  align-items: center;
32
32
  padding: ${d.large} 0;
33
- `,x=({onClose:d,applicationName:h,url:x})=>{const{finished:P,progress:k}=p({onDone:()=>window.open(x,"_self")});return r(e,{children:i(u,{open:!0,children:[i(o.Header,{children:["Open link",r(s,{variant:"ghost_icon",onClick:d,"data-testid":"close-transfer-app",children:r(n,{data:m})})]}),r(o.CustomContent,{children:r(v,{children:P?i(g,{children:[r(f,{variant:"h3",children:r("span",{children:l(h)})}),r(c,{size:"small"})]}):i(j,{children:[i(t,{variant:"h3",children:["Transferring you to application.",".".repeat(k/35)]}),r(a,{variant:"determinate",value:k})]})})})]})})};export{x as TransferToAppDialog};
33
+ `,x=({onClose:d,applicationName:h,url:x})=>{const{finished:P,progress:k}=p({onDone:()=>window.open(x,"_self")});return r(e,{children:i(u,{open:!0,children:[i(t.Header,{children:["Open link",r(s,{variant:"ghost_icon",onClick:d,"data-testid":"close-transfer-app",children:r(n,{data:m})})]}),r(t.CustomContent,{children:r(v,{children:P?i(g,{children:[r(f,{variant:"h3",children:r("span",{children:l(h)})}),r(c,{size:"small"})]}):i(j,{children:[i(o,{variant:"h3",children:["Transferring you to application.",".".repeat(k/35)]}),r(a,{variant:"determinate",value:k})]})})})]})})};export{x as TransferToAppDialog};
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { MyTutorialDto } from '@equinor/subsurface-app-management';
3
+ interface TutorialItemProps extends MyTutorialDto {
4
+ onTutorialStart: (tutorialId: string) => void;
5
+ onClose: () => void;
6
+ }
7
+ export declare const TutorialItem: FC<TutorialItemProps>;
8
+ export {};
@@ -0,0 +1,21 @@
1
+ import{jsxs as r,jsx as t}from"react/jsx-runtime";import{Icon as i,Typography as a}from"@equinor/eds-core-react";import{check as o,chevron_right as e}from"@equinor/eds-icons";import{useTutorials as n}from"@equinor/subsurface-app-management";import{animation as s}from"../../../atoms/style/animation.js";import{colors as m}from"../../../atoms/style/colors.js";import{spacings as l}from"../../../atoms/style/spacings.js";import c from"styled-components";const p=c.button`
2
+ display: grid;
3
+ align-items: center;
4
+ grid-template-columns: 1fr auto;
5
+ row-gap: ${l.small};
6
+ padding: ${l.medium};
7
+ transition: background ${s.transitionMS};
8
+ > header {
9
+ display: flex;
10
+ align-items: center;
11
+ gap: ${l.small};
12
+ grid-column: span 2;
13
+ > p {
14
+ color: ${m.interactive.primary__resting.rgba};
15
+ font-weight: 500;
16
+ }
17
+ }
18
+ &:hover {
19
+ background: ${m.interactive.primary__hover_alt.rgba};
20
+ }
21
+ `,d=({onTutorialStart:s,onClose:l,id:c,name:d})=>{const{startTutorial:g,seenTutorialIDs:u}=n(),f=u.includes(c);return r(p,{onClick:()=>{g(c),s(c),l()},children:[f&&r("header",{children:[t(i,{data:o,size:16,color:m.interactive.primary__resting.rgba}),t(a,{varinat:"caption",children:"COMPLETED"})]}),t(a,{variant:"h4",children:d}),t(i,{data:e,color:m.interactive.primary__resting.rgba})]})};export{d as TutorialItem};
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ interface TutorialsProps {
3
+ onTutorialStart: (tutorialId: string) => void;
4
+ }
5
+ export declare const Tutorials: FC<TutorialsProps>;
6
+ export {};
@@ -0,0 +1 @@
1
+ import{jsxs as r,Fragment as o,jsx as t}from"react/jsx-runtime";import{useState as e,useRef as i}from"react";import{Icon as n,Typography as a,Divider as l}from"@equinor/eds-core-react";import{youtube_alt as s}from"@equinor/eds-icons";import{useTutorials as c}from"@equinor/subsurface-app-management";import{TutorialItem as m}from"./TutorialItem.js";import{Container as p,TutorialList as h}from"./Tutorials.styles.js";import{TopBarButton as u}from"../TopBar.styles.js";import{TopBarMenu as d}from"../TopBarMenu.js";const f=({onTutorialStart:f})=>{const{allTutorials:g,tutorialsOnThisPage:T}=c(),[j,v]=e(!1),C=i(null),q=g.filter((r=>-1===T.findIndex((o=>o.id===r.id)))),x=()=>v((r=>!r));return r(o,{children:[t(u,{variant:"ghost_icon",ref:C,onClick:x,children:t(n,{data:s})}),j&&t(d,{open:!0,onClose:x,anchorEl:C.current,children:r(p,{children:[r(a,{variant:"h4",children:["Available Tutorials (",g.length,")"]}),T.length>0&&r(h,{children:[t(a,{variant:"caption",children:"For current page"}),T.map((r=>t(m,{onTutorialStart:f,onClose:x,...r},r.id)))]}),T.length>0&&q.length>0&&t(l,{}),q.length>0&&r(h,{children:[t(a,{variant:"caption",children:"For other pages"}),q.map((r=>t(m,{onTutorialStart:f,onClose:x,...r},r.id)))]})]})})]})};export{f as Tutorials};
@@ -0,0 +1,2 @@
1
+ export declare const Container: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const TutorialList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
@@ -0,0 +1,18 @@
1
+ import"../../../atoms/style/colors.js";import{spacings as o}from"../../../atoms/style/spacings.js";import t from"styled-components";const i=t.div`
2
+ display: flex;
3
+ flex-direction: column;
4
+ padding: ${o.large};
5
+ width: 520px;
6
+ > h4 {
7
+ margin-bottom: ${o.x_large};
8
+ }
9
+ > hr {
10
+ margin-bottom: ${o.x_large};
11
+ }
12
+ `,m=t.section`
13
+ display: flex;
14
+ flex-direction: column;
15
+ > p:first-child {
16
+ margin-bottom: ${o.medium_small};
17
+ }
18
+ `;export{i as Container,m as TutorialList};
@@ -4,6 +4,7 @@ import { FieldMenu } from './FieldMenu/FieldMenu';
4
4
  import { GuidelineSections } from './Guidelines/Guidelines';
5
5
  import { Notifications } from './Notifications/Notifications';
6
6
  import { Resources } from './Resources/Resources';
7
+ import { Tutorials } from './Tutorials/Tutorials';
7
8
  import { Actions } from './Actions';
8
9
  import { Guidelines } from './Guidelines';
9
10
  import { Settings, SettingsProps } from './Settings';
@@ -17,6 +18,7 @@ type TopBarType = typeof BaseTopBar & {
17
18
  FieldSelector: typeof FieldMenu;
18
19
  Resources: typeof Resources;
19
20
  ApplicationDrawer: typeof ApplicationDrawer;
21
+ Tutorials: typeof Tutorials;
20
22
  };
21
23
  export declare const TopBar: TopBarType;
22
24
  export type { GuidelineSections, SettingsProps, TopBarType };
@@ -1 +1 @@
1
- import{Account as o}from"./Account/Account.js";import{ApplicationDrawer as i}from"./ApplicationDrawer/ApplicationDrawer.js";import{FieldMenu as r}from"./FieldMenu/FieldMenu.js";import{Notifications as t}from"./Notifications/Notifications.js";import{Resources as s}from"./Resources/Resources.js";import{Actions as e}from"./Actions.js";import{Guidelines as c}from"./Guidelines/index.js";import{Settings as n}from"./Settings.js";import{TopBar as m}from"./TopBar.js";const p=m;p.Account=o,p.Actions=e,p.Guidelines=c,p.Settings=n,p.Notifications=t,p.FieldSelector=r,p.Resources=s,p.ApplicationDrawer=i;export{p as TopBar};
1
+ import{Account as o}from"./Account/Account.js";import{ApplicationDrawer as i}from"./ApplicationDrawer/ApplicationDrawer.js";import{FieldMenu as r}from"./FieldMenu/FieldMenu.js";import{Notifications as t}from"./Notifications/Notifications.js";import{Resources as s}from"./Resources/Resources.js";import{Tutorials as e}from"./Tutorials/Tutorials.js";import{Actions as m}from"./Actions.js";import{Guidelines as c}from"./Guidelines/index.js";import{Settings as n}from"./Settings.js";import{TopBar as p}from"./TopBar.js";const a=p;a.Account=o,a.Actions=m,a.Guidelines=c,a.Settings=n,a.Notifications=t,a.FieldSelector=r,a.Resources=s,a.ApplicationDrawer=i,a.Tutorials=e;export{a as TopBar};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{createContext as t,useContext as e,useState as n,useMemo as r}from"react";import{MsalProvider as i}from"@azure/msal-react";import{AuthProviderInner as a}from"./AuthProviderInner.js";import{auth as c,environment as u}from"../../atoms/utils/auth_environment.js";const{msalApp:m}=c,{getIsMock:d,getMockUserPhoto:s,getMockRoles:l}=u,h=t(void 0),p=()=>{const o=e(h);if(void 0===o)throw new Error("useAuth must be used within a AuthContext provider");return o},v={homeAccountId:"mock-home-account-id",environment:"mock",tenantId:"mock-tenant-id",username:"MOCK@equinor.com",localAccountId:"mock-local-account-id",name:"Mock mocksnes",idToken:"fake",idTokenClaims:{id:"claim"},nativeAccountId:"accountid",authorityType:"authority",tenantProfiles:new Map},g=({children:t,loadingComponent:e,unauthorizedComponent:c,withoutLoader:u=!1})=>{const[p,g]=n(void 0),[k,C]=n(),[I,A]=n("loading"),[M,f]=n(),T=r((()=>d(import.meta.env.VITE_IS_MOCK)),[]),_=r((()=>s(import.meta.env.VITE_MOCK_USER_PHOTO)),[]),O=r((()=>l(import.meta.env.VITE_MOCK_ROLES)),[]);return T?("loading"===I&&setTimeout((()=>{A("authorized")}),1e3),o(h.Provider,{value:{roles:O,account:v,photo:_,logout:()=>console.log("Logged out the user!"),authState:I},children:t})):o(h.Provider,{value:{roles:k,account:p,photo:M,logout:()=>m.logoutRedirect(),authState:I},children:o(i,{instance:m,children:o(a,{loadingComponent:e,unauthorizedComponent:c,account:p,setAccount:g,setRoles:C,setPhoto:f,authState:I,setAuthState:A,withoutLoader:u,children:t})})})};export{g as AuthProvider,v as MOCK_USER,p as useAuth};
1
+ import{jsx as o}from"react/jsx-runtime";import{createContext as t,useContext as e,useState as n,useMemo as r}from"react";import{MsalProvider as i}from"@azure/msal-react";import{AuthProviderInner as a}from"./AuthProviderInner.js";import{environment as c,auth as u}from"../../atoms/utils/auth_environment.js";const{msalApp:m}=u,{getIsMock:d,getMockUserPhoto:s,getMockRoles:l}=c,h=t(void 0),p=()=>{const o=e(h);if(void 0===o)throw new Error("useAuth must be used within a AuthContext provider");return o},v={homeAccountId:"mock-home-account-id",environment:"mock",tenantId:"mock-tenant-id",username:"MOCK@equinor.com",localAccountId:"mock-local-account-id",name:"Mock mocksnes",idToken:"fake",idTokenClaims:{id:"claim"},nativeAccountId:"accountid",authorityType:"authority",tenantProfiles:new Map},g=({children:t,loadingComponent:e,unauthorizedComponent:c,withoutLoader:u=!1})=>{const[p,g]=n(void 0),[k,C]=n(),[I,A]=n("loading"),[M,f]=n(),T=r((()=>d(import.meta.env.VITE_IS_MOCK)),[]),_=r((()=>s(import.meta.env.VITE_MOCK_USER_PHOTO)),[]),O=r((()=>l(import.meta.env.VITE_MOCK_ROLES)),[]);return T?("loading"===I&&setTimeout((()=>{A("authorized")}),1e3),o(h.Provider,{value:{roles:O,account:v,photo:_,logout:()=>console.log("Logged out the user!"),authState:I},children:t})):o(h.Provider,{value:{roles:k,account:p,photo:M,logout:()=>m.logoutRedirect(),authState:I},children:o(i,{instance:m,children:o(a,{loadingComponent:e,unauthorizedComponent:c,account:p,setAccount:g,setRoles:C,setPhoto:f,authState:I,setAuthState:A,withoutLoader:u,children:t})})})};export{g as AuthProvider,v as MOCK_USER,p as useAuth};
@@ -1 +1 @@
1
- import"react";import"../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../molecules/RichTextEditor/RichTextEditor.types.js";import"../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../atoms/enums/Environment.js";import"../atoms/utils/auth_environment.js";import"../organisms/TopBar/Notifications/NotificationProvider.js";import"./AuthProvider/AuthProvider.js";import"./ReleaseNotesProvider.js";import"./SideBarProvider.js";import"./SnackbarProvider/SnackbarProvider.js";import"./StepperProvider.js";import"./TableOfContentsProvider.js";import"./ThemeProvider/ThemeProvider.js";import"./TutorialStepsProvider.js";import"../atoms/style/colors.js";import"../atoms/enums/Errors.js";import"../atoms/enums/Theme.js";import"../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import{sortByDate as t}from"../atoms/utils/sort.js";const e=t=>{const e=[],r=t.filter((t=>t.createdDate)),o=r.map((t=>{const e=new Date(t.createdDate);return{date:e,year:e.getFullYear(),month:e.getMonth()}}));for(const t of r){const r=new Date(t.createdDate),a=r.toLocaleString("en-US",{year:"numeric"}),i=`year${r.toLocaleString("en-US",{year:"numeric"})}`;if(e.find((t=>t.value===i)))continue;const s=o.filter((t=>t.year===r.getFullYear())),n=[...new Map(s.map((t=>[t.month,t]))).values()];n.sort(((t,e)=>e.date.getTime()-t.date.getTime()));const m=n.map((t=>{const e=t.date.toLocaleString("en-US",{month:"long"});return{label:e,value:`${i}--${e}`}}));e.push({label:a,value:i,children:m})}return e.sort(((t,e)=>{const r=parseInt(t.label);return parseInt(e.label)-r})),e},r=t=>`year${t.getFullYear()}--${t.toLocaleDateString("en-GB",{month:"long"})}`,o=e=>e.sort(((e,r)=>t(e.createdDate,r.createdDate)));export{e as extractDatesFromReleaseNotes,r as monthValueToString,o as sortReleaseNotesByDate};
1
+ import"react";import"../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../molecules/RichTextEditor/RichTextEditor.types.js";import"../_virtual/lodash.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../atoms/enums/Environment.js";import"../atoms/utils/auth_environment.js";import"../organisms/TopBar/Notifications/NotificationProvider.js";import"./AuthProvider/AuthProvider.js";import"./ReleaseNotesProvider.js";import"./SideBarProvider.js";import"./SnackbarProvider/SnackbarProvider.js";import"./StepperProvider.js";import"./TableOfContentsProvider.js";import"./ThemeProvider/ThemeProvider.js";import"../atoms/style/colors.js";import"../atoms/enums/Errors.js";import"../atoms/enums/Theme.js";import"../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";import{sortByDate as t}from"../atoms/utils/sort.js";const e=t=>{const e=[],r=t.filter((t=>t.createdDate)),o=r.map((t=>{const e=new Date(t.createdDate);return{date:e,year:e.getFullYear(),month:e.getMonth()}}));for(const t of r){const r=new Date(t.createdDate),a=r.toLocaleString("en-US",{year:"numeric"}),i=`year${r.toLocaleString("en-US",{year:"numeric"})}`;if(e.find((t=>t.value===i)))continue;const s=o.filter((t=>t.year===r.getFullYear())),n=[...new Map(s.map((t=>[t.month,t]))).values()];n.sort(((t,e)=>e.date.getTime()-t.date.getTime()));const m=n.map((t=>{const e=t.date.toLocaleString("en-US",{month:"long"});return{label:e,value:`${i}--${e}`}}));e.push({label:a,value:i,children:m})}return e.sort(((t,e)=>{const r=parseInt(t.label);return parseInt(e.label)-r})),e},r=t=>`year${t.getFullYear()}--${t.toLocaleDateString("en-GB",{month:"long"})}`,o=e=>e.sort(((e,r)=>t(e.createdDate,r.createdDate)));export{e as extractDatesFromReleaseNotes,r as monthValueToString,o as sortReleaseNotesByDate};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{createContext as e,useContext as r,useState as s}from"react";const n=e(void 0);function i(){const t=r(n);if(!t)throw new Error("useStepper must be used within a StepperProvider");return t}const p=({initialStep:e=0,steps:r,children:i})=>{const[p,o]=s(e),[u,S]=s(0);if(e>=r.length||e<0)throw new Error("initialStep must be a valid index of the steps array");return t(n.Provider,{value:{steps:r,currentStep:p,currentSubStep:u,setCurrentStep:o,goToNextStep:()=>{"subSteps"in r[p]&&r[p].subSteps&&u<r[p].subSteps.length-1?S((t=>t+1)):p!==r.length-1&&(o((t=>t+1)),0!==u&&S(0))},goToPreviousStep:()=>{if(u>0&&"subSteps"in r[p]&&r[p].subSteps&&r[p].subSteps.length>0)return void S((t=>t-1));if(0===p)return;o((t=>t-1));const t=r.at(p-1);t&&"subSteps"in t&&t.subSteps&&S(t.subSteps.length-1)}},children:i})};export{n as StepperContext,p as StepperProvider,i as useStepper};
1
+ import{jsx as t}from"react/jsx-runtime";import{createContext as e,useState as r,useContext as s}from"react";const n=e(void 0);function i(){const t=s(n);if(!t)throw new Error("useStepper must be used within a StepperProvider");return t}const p=({initialStep:e=0,steps:s,children:i})=>{const[p,o]=r(e),[u,S]=r(0);if(e>=s.length||e<0)throw new Error("initialStep must be a valid index of the steps array");return t(n.Provider,{value:{steps:s,currentStep:p,currentSubStep:u,setCurrentStep:o,goToNextStep:()=>{"subSteps"in s[p]&&s[p].subSteps&&u<s[p].subSteps.length-1?S((t=>t+1)):p!==s.length-1&&(o((t=>t+1)),0!==u&&S(0))},goToPreviousStep:()=>{if(u>0&&"subSteps"in s[p]&&s[p].subSteps&&s[p].subSteps.length>0)return void S((t=>t-1));if(0===p)return;o((t=>t-1));const t=s.at(p-1);t&&"subSteps"in t&&t.subSteps&&S(t.subSteps.length-1)}},children:i})};export{n as StepperContext,p as StepperProvider,i as useStepper};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as t,useContext as r,useState as n,useMemo as o,useEffect as i,useCallback as s,useRef as l}from"react";import{useNavigate as c,useLocation as u}from"react-router";import{useOnScreenMultiple as a}from"../atoms/hooks/useOnScreenMultiple.js";import{getValues as m}from"./TableOfContentsProvider.utils.js";const d=t(void 0);function f(){const e=r(d);if(void 0===e)throw new Error("'useTableOfContents' must be used within provider");return e}const h=({items:t,children:r,hashNavigation:f})=>{const h=c(),{hash:p}=u(),[v,g]=n(t[0]?.value),[b,w]=n([]),[I,O]=n(""!==p),j=o((()=>t.flatMap((e=>m([],e)))),[t]);i((()=>{w(j.map((e=>document.getElementById(e))))}),[j]);const x=s((e=>{if(e.value===v)return!0;if(e.children&&v){return m([],e).includes(v)}return!1}),[v]),A=a(b),C=l(-1),M=s(((e,t)=>{const r=j.findIndex((t=>t===e)),n=b[r];if(n){const e=t?.shouldInstantlyJumpOnMount&&I?"instant":t?.behavior??"smooth";n.scrollIntoView({block:"start",behavior:e}),C.current=r;let o=1/0,i=0;const s=()=>{const e=n?.getBoundingClientRect().top;if(e===o){if(i+=1,i>1)return g(j[r]),f&&(h(`#${j[r]}`,{replace:!0}),O(!1)),void(C.current=-1)}else i=0,o=e;requestAnimationFrame(s)};requestAnimationFrame(s)}}),[b,f,h,I,j]);return i((()=>{if(0===A.length||A.length!==j.length||-1!==C.current)return;let e=-1;for(let t=A.length-1;t>=0;t--)A[t]&&(e=t);-1!==e&&void 0!==j.at(e)&&(g(j[e]),f&&h(`#${j[e]}`,{replace:!0}))}),[f,h,j,A]),e(d.Provider,{value:{items:t,selected:v,setSelected:M,isActive:x},children:r})};export{h as TableOfContentsProvider,f as useTableOfContents};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as t,useState as r,useMemo as n,useEffect as o,useCallback as i,useRef as s,useContext as l}from"react";import{useNavigate as c,useLocation as u}from"react-router";import{useOnScreenMultiple as a}from"../atoms/hooks/useOnScreenMultiple.js";import{getValues as m}from"./TableOfContentsProvider.utils.js";const d=t(void 0);function f(){const e=l(d);if(void 0===e)throw new Error("'useTableOfContents' must be used within provider");return e}const h=({items:t,children:l,hashNavigation:f})=>{const h=c(),{hash:p}=u(),[v,g]=r(t[0]?.value),[b,w]=r([]),[I,O]=r(""!==p),j=n((()=>t.flatMap((e=>m([],e)))),[t]);o((()=>{w(j.map((e=>document.getElementById(e))))}),[j]);const x=i((e=>{if(e.value===v)return!0;if(e.children&&v){return m([],e).includes(v)}return!1}),[v]),A=a(b),C=s(-1),M=i(((e,t)=>{const r=j.findIndex((t=>t===e)),n=b[r];if(n){const e=t?.shouldInstantlyJumpOnMount&&I?"instant":t?.behavior??"smooth";n.scrollIntoView({block:"start",behavior:e}),C.current=r;let o=1/0,i=0;const s=()=>{const e=n?.getBoundingClientRect().top;if(e===o){if(i+=1,i>1)return g(j[r]),f&&(h(`#${j[r]}`,{replace:!0}),O(!1)),void(C.current=-1)}else i=0,o=e;requestAnimationFrame(s)};requestAnimationFrame(s)}}),[b,f,h,I,j]);return o((()=>{if(0===A.length||A.length!==j.length||-1!==C.current)return;let e=-1;for(let t=A.length-1;t>=0;t--)A[t]&&(e=t);-1!==e&&void 0!==j.at(e)&&(g(j[e]),f&&h(`#${j[e]}`,{replace:!0}))}),[f,h,j,A]),e(d.Provider,{value:{items:t,selected:v,setSelected:M,isActive:x},children:l})};export{h as TableOfContentsProvider,f as useTableOfContents};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{createContext as o,useContext as t,useEffect as e}from"react";import{THEME_LOCALSTORAGE_KEY as i}from"./ThemeProvider.constants.js";import"../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../molecules/RichTextEditor/RichTextEditor.types.js";import{useLocalStorage as s}from"../../atoms/hooks/useLocalStorage.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../atoms/enums/Environment.js";import"../../atoms/utils/auth_environment.js";import"../../organisms/TopBar/Notifications/NotificationProvider.js";import"../AuthProvider/AuthProvider.js";import"../ReleaseNotesProvider.js";import"../SideBarProvider.js";import"../SnackbarProvider/SnackbarProvider.js";import"../StepperProvider.js";import"../TableOfContentsProvider.js";import"../TutorialStepsProvider.js";import"../../atoms/style/colors.js";import"../../atoms/enums/Errors.js";import{Theme as m}from"../../atoms/enums/Theme.js";import"../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";const n=o(void 0);function a(){const r=t(n);if(void 0===r)throw new Error("ThemeProvider must be used within Provider");return r}const p=({children:o})=>{const[t,a]=s(i,m.LIGHT);e((()=>{document.documentElement.setAttribute("data-theme",t)}),[t]);return r(n.Provider,{value:{theme:t,setTheme:r=>{a(r)}},children:o})};export{p as ThemeProvider,n as ThemeProviderContext,a as useThemeProvider};
1
+ import{jsx as r}from"react/jsx-runtime";import{createContext as o,useEffect as t,useContext as e}from"react";import{THEME_LOCALSTORAGE_KEY as i}from"./ThemeProvider.constants.js";import"../../molecules/RichTextEditor/custom-extensions/AmplifyKit.js";import"../../molecules/RichTextEditor/RichTextEditor.types.js";import{useLocalStorage as s}from"../../atoms/hooks/useLocalStorage.js";import"@equinor/subsurface-app-management";import"@microsoft/signalr";import"@tanstack/react-query";import"../../atoms/enums/Environment.js";import"../../atoms/utils/auth_environment.js";import"../../organisms/TopBar/Notifications/NotificationProvider.js";import"../AuthProvider/AuthProvider.js";import"../ReleaseNotesProvider.js";import"../SideBarProvider.js";import"../SnackbarProvider/SnackbarProvider.js";import"../StepperProvider.js";import"../TableOfContentsProvider.js";import"../../atoms/style/colors.js";import"../../atoms/enums/Errors.js";import{Theme as m}from"../../atoms/enums/Theme.js";import"../../atoms/enums/SpacingsMode.js";import"html2canvas";import"proj4";const n=o(void 0);function a(){const r=e(n);if(void 0===r)throw new Error("ThemeProvider must be used within Provider");return r}const p=({children:o})=>{const[e,a]=s(i,m.LIGHT);t((()=>{document.documentElement.setAttribute("data-theme",e)}),[e]);return r(n.Provider,{value:{theme:e,setTheme:r=>{a(r)}},children:o})};export{p as ThemeProvider,n as ThemeProviderContext,a as useThemeProvider};
@@ -0,0 +1,2 @@
1
+ import { MotionProps } from 'framer-motion';
2
+ export declare const TUTORIAL_HIGHLIGHT_ANIMATION_PROPS: MotionProps;
@@ -0,0 +1 @@
1
+ const i={initial:{opacity:0},animate:{opacity:1},transition:{delay:.5,duration:.5}};export{i as TUTORIAL_HIGHLIGHT_ANIMATION_PROPS};
@@ -0,0 +1,11 @@
1
+ import { FC, ReactElement } from 'react';
2
+ interface TutorialHighlightingContextType {
3
+ customStepContent: Record<string, ReactElement>;
4
+ }
5
+ export declare function useTutorialHighlighting(): TutorialHighlightingContextType;
6
+ interface TutorialHighlightingProviderProps {
7
+ children: ReactElement | ReactElement[];
8
+ customStepContent?: Record<string, ReactElement>;
9
+ }
10
+ export declare const TutorialHighlightingProvider: FC<TutorialHighlightingProviderProps>;
11
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{createContext as t,useContext as i}from"react";import{TutorialProvider as o}from"@equinor/subsurface-app-management";import{TutorialHighlightingProviderInner as e}from"./TutorialHighlightingProviderInner.js";const n=t(void 0);function u(){const r=i(n);if(!r)throw new Error("useTutorialHighlighting must be used within a TutorialHighlightingProvider");return r}const m=({children:t,customStepContent:i})=>r(n.Provider,{value:{customStepContent:i??{}},children:r(o,{children:r(e,{children:t})})});export{m as TutorialHighlightingProvider,u as useTutorialHighlighting};
@@ -0,0 +1,6 @@
1
+ import { FC, ReactElement } from 'react';
2
+ interface TutorialHighlightingProviderInnerProps {
3
+ children: ReactElement | ReactElement[];
4
+ }
5
+ export declare const TutorialHighlightingProviderInner: FC<TutorialHighlightingProviderInnerProps>;
6
+ export {};
@@ -0,0 +1,24 @@
1
+ import{jsxs as t,Fragment as i,jsx as e}from"react/jsx-runtime";import{useMemo as r}from"react";import{useTutorials as o}from"@equinor/subsurface-app-management";import{useReversedScrollY as n}from"./hooks/useReversedScrollY.js";import{TutorialPopover as s}from"./TutorialPopover/TutorialPopover.js";import{TUTORIAL_HIGHLIGHT_ANIMATION_PROPS as l}from"./TutorialHighlightingProvider.constants.js";import"../../atoms/style/colors.js";import{spacings as a}from"../../atoms/style/spacings.js";import{getHighlightElementBoundingBox as h}from"../../atoms/utils/tutorials.js";import{motion as d}from"framer-motion";import m from"styled-components";const p=m.svg`
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ height: 100vh;
6
+ width: 100vw;
7
+ z-index: 9999999;
8
+ background: none;
9
+ pointer-events: none;
10
+ `,c=m.div`
11
+ position: fixed;
12
+ top: 0;
13
+ left: 0;
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: ${a.medium};
17
+ z-index: 99999999;
18
+ justify-content: center;
19
+ align-items: center;
20
+ width: 100vw;
21
+ height: 100vh;
22
+ background: none;
23
+ pointer-events: none;
24
+ `,g=({children:a})=>{const{activeTutorial:m,activeStep:g,unseenTutorialsOnThisPage:f}=o(),u=n(),v=m?[m]:f,$=r((()=>{if(m&&void 0!==g){if(!m.steps[g].highlightElement)return[];const t=h(m.id,g);return t?[t]:[]}return f.map((t=>{if(t.steps.at(0)?.highlightElement)return h(t.id,0)})).filter((t=>void 0!==t))}),[g,m,f]);return v.length>0?t(i,{children:[a,e(c,{children:v.map((t=>{const i=$.find((i=>i.id===t.id));return e(s,{isHighlighting:$.length>0,...t,...i},t.id)}))}),t(p,{children:[t("mask",{id:"tutorials-rectangles",children:[e("rect",{width:"100%",height:"100%",fill:"white"}),e(d.g,{style:{translateY:u},children:$.map((t=>e(d.path,{"data-testid":`tutorial-mask-${t.id}`,initial:{opacity:0,d:`M ${t.left} ${t.top} h ${t.width} v ${t.height} h -${t.width} Z`},animate:{opacity:1,d:`M ${t.left} ${t.top} h ${t.width} v ${t.height} h -${t.width} Z`},fill:"black"},t.id)))})]}),e(d.rect,{width:"100%",height:"100%",fill:"rgba(111, 111, 111, 0.35)",mask:"url(#tutorials-rectangles)",...l})]})]}):e(i,{children:a})};export{g as TutorialHighlightingProviderInner};
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ interface StepIndicatorProps {
3
+ stepAmount: number;
4
+ }
5
+ export declare const StepIndicator: FC<StepIndicatorProps>;
6
+ export {};
@@ -0,0 +1,20 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{useTutorials as r}from"@equinor/subsurface-app-management";import{shape as e}from"../../../atoms/style/index.js";import o from"styled-components";import{spacings as i}from"../../../atoms/style/spacings.js";import{colors as a}from"../../../atoms/style/colors.js";import{animation as n}from"../../../atoms/style/animation.js";const s=o.div`
2
+ display: grid;
3
+ gap: ${i.x_small};
4
+ `,m=o.span`
5
+ overflow: hidden;
6
+ height: 4px;
7
+ width: 100%;
8
+ background: ${a.infographic.primary__moss_green_34.rgba};
9
+ border-radius: ${e.rounded.borderRadius};
10
+ position: relative;
11
+ &:after {
12
+ content: '';
13
+ position: absolute;
14
+ background: ${a.interactive.primary__resting.rgba};
15
+ width: 100%;
16
+ height: 100%;
17
+ transition: left ${n.transitionMS};
18
+ left: calc(${({$index:t,$activeIndex:r})=>100*(r-t)}%);
19
+ }
20
+ `,p=({stepAmount:e})=>{const{activeStep:o}=r();return t(s,{style:{gridTemplateColumns:`repeat(${e}, 1fr)`},children:Array.from({length:e}).map(((r,e)=>t(m,{$index:e,$activeIndex:o},e)))})};export{p as StepIndicator};
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ import { MyTutorialDto } from '@equinor/subsurface-app-management';
3
+ interface TutorialPopoverProps extends MyTutorialDto {
4
+ isHighlighting: boolean;
5
+ top?: number;
6
+ left?: number;
7
+ width?: number;
8
+ height?: number;
9
+ }
10
+ export declare const TutorialPopover: FC<TutorialPopoverProps>;
11
+ export {};
@@ -0,0 +1,45 @@
1
+ import{jsxs as t,jsx as i,Fragment as o}from"react/jsx-runtime";import{Card as r,Icon as e,Typography as n,Button as a}from"@equinor/eds-core-react";import{info_circle as l}from"@equinor/eds-icons";import{useTutorials as s,useTutorialStepImage as d}from"@equinor/subsurface-app-management";import{useTutorialHighlighting as m}from"../TutorialHighlightingProvider.js";import{TUTORIAL_HIGHLIGHT_ANIMATION_PROPS as h}from"../TutorialHighlightingProvider.constants.js";import{StepIndicator as c}from"./StepIndicator.js";import{elevation as p}from"../../../atoms/style/index.js";import{useReversedScrollY as g}from"../hooks/useReversedScrollY.js";import{motion as u,useTransform as f}from"framer-motion";import v,{css as b}from"styled-components";import{spacings as x}from"../../../atoms/style/spacings.js";import{colors as y}from"../../../atoms/style/colors.js";const $=v(u(r))`
2
+ width: 360px;
3
+ padding: ${x.medium};
4
+ background: ${y.infographic.primary__moss_green_13.rgba};
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: ${x.medium};
8
+ transition:
9
+ top 400ms,
10
+ left 400ms;
11
+ box-shadow: ${p.raised};
12
+ pointer-events: auto;
13
+ > header {
14
+ display: flex;
15
+ gap: ${x.small};
16
+ align-items: center;
17
+ }
18
+ > img {
19
+ max-height: 170px;
20
+ object-fit: contain;
21
+ }
22
+ ${({$highlightingElement:t})=>t&&b`
23
+ transform: translateX(-50%);
24
+ &:before {
25
+ z-index: -1;
26
+ content: '';
27
+ width: 32px;
28
+ height: 26px;
29
+ background: ${y.infographic.primary__moss_green_13.rgba};
30
+ position: absolute;
31
+ top: 0;
32
+ left: 50%;
33
+ transform: translate(-50%, 0) rotate(45deg);
34
+ }
35
+ `}
36
+ `,_=v.div`
37
+ display: flex;
38
+ justify-content: flex-end;
39
+ gap: ${x.small};
40
+ &:has(> :last-child:nth-child(3)) {
41
+ > button:first-child {
42
+ margin-right: auto;
43
+ }
44
+ }
45
+ `,k=({isHighlighting:r,id:p,top:u,left:v,width:b,height:x,name:k,steps:j})=>{const{customStepContent:C}=m(),{activeTutorial:S,activeStep:T,skipTutorial:w,startTutorial:E,goToNextStep:H,goToPreviousStep:P}=s(),{data:q}=d(S?.steps.at(T)?.imgUrl??void 0),I=g(),D=u&&x?u+x+16:void 0,N=v&&b?v+b/2:void 0,z=!!D&&!!N,A=f(I,(t=>z?t+D:null)),B=()=>{w(p)},F=()=>{E(p)};if(void 0!==T&&j[T].custom&&!C[j[T].id])throw new Error(`[TutorialHighlightingProvider]: Custom step content not found, tutorial ID: ${p}, step ID: ${j[T].id}`);return!z&&r?null:t($,S&&void 0!==T?{style:{position:z?"absolute":void 0,top:A,left:N},$highlightingElement:z,...h,children:[j[T].custom?C[j[T].id]:t(o,{children:[t("header",{children:[i(e,{data:l,color:y.interactive.primary__resting.rgba}),i(n,{variant:"h6",children:j[T]?.title})]}),i(n,{variant:"body_short",children:j[T]?.body}),q?i("img",{src:q,alt:j[T].title}):null]}),t(_,{children:[i(a,{variant:"outlined",disabled:0===T,onClick:P,children:"Back"}),i(a,{variant:"ghost",onClick:B,children:"Cancel"}),i(a,{onClick:H,children:T===j.length-1?"Finish":"Next"})]}),i(c,{stepAmount:j.length})]}:{style:{position:z?"absolute":void 0,top:A,left:N},$highlightingElement:z,...h,children:[t("header",{children:[i(e,{data:l,color:y.interactive.primary__resting.rgba}),i(n,{variant:"h6",children:k})]}),t(_,{children:[i(a,{variant:"ghost",onClick:B,children:"Skip"}),i(a,{onClick:F,children:"Start tour"})]})]})};export{k as TutorialPopover};
@@ -0,0 +1 @@
1
+ export declare function useReversedScrollY(): import("framer-motion").MotionValue<number>;
@@ -0,0 +1 @@
1
+ import{useScroll as t,useTransform as n}from"framer-motion";function o(){const{scrollY:o}=t({container:{current:document.getElementById("content")}});return n(o,(t=>t>0?-1*t:0))}export{o as useReversedScrollY};