@equinor/amplify-component-lib 13.0.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/atoms/hooks/useLocalStorage.d.ts +2 -2
  2. package/dist/atoms/hooks/useSelect.d.ts +3 -3
  3. package/dist/atoms/icons/other.d.ts +2 -1
  4. package/dist/atoms/icons/other.js +1 -1
  5. package/dist/atoms/index.d.ts +1 -1
  6. package/dist/deprecated/ExpandingIconButton/ExpandingIconButton.d.ts +2 -2
  7. package/dist/deprecated/IconToggleButton.d.ts +2 -2
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.js +1 -1
  10. package/dist/molecules/Badge/Badge.d.ts +1 -1
  11. package/dist/molecules/Button/Button.d.ts +8 -10
  12. package/dist/molecules/Button/Button.js +1 -1
  13. package/dist/molecules/Button/Button.styles.js +35 -23
  14. package/dist/molecules/Button/IconButton/IconButton.d.ts +8 -7
  15. package/dist/molecules/Button/IconButton/IconButton.js +1 -1
  16. package/dist/molecules/Button/types.d.ts +2 -2
  17. package/dist/molecules/Chip/Chip.d.ts +2 -2
  18. package/dist/molecules/DatePicker/DatePicker.d.ts +3 -3
  19. package/dist/molecules/Dialog/Dialog.js +1 -1
  20. package/dist/molecules/Dialog/DialogAction.js +1 -1
  21. package/dist/molecules/FileUploadArea/FileUploadArea.js +1 -1
  22. package/dist/molecules/IconCell/IconCell.d.ts +2 -2
  23. package/dist/molecules/ListItem/ListItem.d.ts +2 -2
  24. package/dist/molecules/OptionalTooltip/OptionalTooltip.d.ts +4 -4
  25. package/dist/molecules/ProfileAvatar/ProfileAvatar.d.ts +2 -2
  26. package/dist/molecules/RichTextEditor/MenuBar/MenuBar.d.ts +5 -5
  27. package/dist/molecules/RichTextEditor/index.d.ts +5 -5
  28. package/dist/molecules/Search/Search.d.ts +2 -2
  29. package/dist/molecules/Select/ComboBox/ComboBox.d.ts +2 -2
  30. package/dist/molecules/Select/PersistentComboBox/PersistentComboBox.d.ts +2 -2
  31. package/dist/molecules/Select/Select.styles.d.ts +5 -5
  32. package/dist/molecules/Select/SingleSelect/SingleSelect.d.ts +2 -2
  33. package/dist/molecules/SelectionControls/Checkbox/Checkbox.d.ts +2 -2
  34. package/dist/molecules/SelectionControls/Radio/Radio.d.ts +2 -2
  35. package/dist/molecules/Skeleton/SkeletonBase/SkeletonBase.d.ts +2 -2
  36. package/dist/molecules/Tabs/Tabs.types.d.ts +1 -1
  37. package/dist/molecules/Tag/Tag.d.ts +2 -0
  38. package/dist/molecules/Tag/Tag.js +3 -3
  39. package/dist/molecules/Toast/Toast.js +1 -1
  40. package/dist/organisms/Filter/Filter.d.ts +2 -2
  41. package/dist/organisms/Filter/QuickFilter.d.ts +2 -2
  42. package/dist/organisms/Filter/SortMenu.d.ts +2 -2
  43. package/dist/organisms/ReleaseNote/ToggleExpanded.js +2 -2
  44. package/dist/organisms/SideBar/SideBar.d.ts +2 -2
  45. package/dist/organisms/Status/Action.d.ts +2 -2
  46. package/dist/organisms/Status/Description.d.ts +2 -2
  47. package/dist/organisms/Status/MissingAccesses.d.ts +2 -2
  48. package/dist/organisms/Status/Title.d.ts +2 -2
  49. package/dist/organisms/Status/collections/BadRequest.d.ts +2 -2
  50. package/dist/organisms/Status/collections/GenericError.d.ts +2 -2
  51. package/dist/organisms/Status/collections/MissingPermissions.d.ts +2 -2
  52. package/dist/organisms/Status/collections/PageNotFound.d.ts +2 -2
  53. package/dist/organisms/Status/collections/ServerError.d.ts +2 -2
  54. package/dist/organisms/ToggleGroup/ToggleGroup.d.ts +2 -2
  55. package/dist/organisms/ToggleGroup/ToggleGroupOption.d.ts +2 -2
  56. package/dist/organisms/TopBar/Account/Account.js +1 -1
  57. package/dist/organisms/TopBar/Account/ImpersonateMenu/DeleteUser/DeleteUser.js +1 -1
  58. package/dist/organisms/TopBar/Actions.d.ts +2 -2
  59. package/dist/organisms/TopBar/FieldMenu/FieldMenu.d.ts +2 -2
  60. package/dist/organisms/TopBar/Notifications/NotificationProvider.d.ts +2 -2
  61. package/dist/organisms/TopBar/Resources/Feedback/Feedback.const.js +1 -1
  62. package/dist/organisms/TopBar/Resources/Feedback/Feedback.utils.js +5 -5
  63. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/Description.js +3 -3
  64. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/FeedbackForm.js +1 -1
  65. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/Severity.js +2 -2
  66. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/RequestStatus.js +1 -1
  67. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/ResponsePage.styles.js +3 -3
  68. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/ResponseStatus.js +1 -1
  69. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/Success.js +4 -4
  70. package/dist/organisms/TopBar/Resources/Feedback/hooks/useCreateWorkItemWithAttachment.js +1 -0
  71. package/dist/organisms/TopBar/Resources/Feedback/providers/FeedbackContextProvider.js +1 -1
  72. package/dist/organisms/TopBar/Resources/ReleaseNotesDialog/ReleaseNotesDialog.js +1 -1
  73. package/dist/organisms/TopBar/Resources/Resources.js +3 -3
  74. package/dist/providers/TableOfContentsProvider.d.ts +1 -1
  75. package/package.json +1 -1
  76. package/dist/organisms/TopBar/Resources/Feedback/Feedback.types.js +0 -1
  77. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/FullSlackResponse.js +0 -4
  78. package/dist/organisms/TopBar/Resources/Feedback/hooks/useSlackFileUpload.js +0 -1
  79. package/dist/organisms/TopBar/Resources/Feedback/hooks/useSlackPostMessage.js +0 -1
@@ -1,9 +1,9 @@
1
- import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm/base/index.js";import{spacings as t}from"../../../../../atoms/style/spacings.js";import{TextField as n}from"../../../../../molecules/TextField/TextField.js";import{useFeedbackContext as r}from"../hooks/useFeedbackContext.js";import{LockedInputTooltip as i}from"./LockedInputTooltip.js";import{useMemo as a}from"react";import{Typography as o}from"@equinor/eds-core-react";import s from"styled-components";import{jsx as c,jsxs as l}from"react/jsx-runtime";const{colors:u}=e,d=s.div`
1
+ import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm/base/index.js";import{spacings as t}from"../../../../../atoms/style/spacings.js";import{TextField as n}from"../../../../../molecules/TextField/TextField.js";import{useFeedbackContext as r}from"../hooks/useFeedbackContext.js";import{LockedInputTooltip as i}from"./LockedInputTooltip.js";import{useMemo as a}from"react";import{Typography as o}from"@equinor/eds-core-react";import s from"styled-components";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{WorkItemType as u}from"@equinor/subsurface-app-management";const{colors:d}=e,f=s.div`
2
2
  grid-column: 1/3;
3
3
  display: flex;
4
4
  gap: ${t.medium};
5
5
  flex-direction: column;
6
6
  textarea {
7
- color: ${u.text.static_icons__default.rgba};
7
+ color: ${d.text.static_icons__default.rgba};
8
8
  }
9
- `,f=()=>{let{serviceNowSuccess:e,feedbackContent:t,selectedType:s,updateFeedback:f}=r(),p=a(()=>e?u.interactive.disabled__text.rgba:u.text.static_icons__default.rgba,[e]);return l(d,{children:[s===`bug`&&l(`div`,{children:[c(o,{group:`input`,variant:`text`,color:p,children:`What is the specific bug?`}),c(o,{group:`input`,variant:`text`,color:p,children:`What are the expected results?`}),c(o,{group:`input`,variant:`text`,color:p,children:`How can we reproduce the issue?`}),c(o,{group:`input`,variant:`text`,color:p,children:`Is there a known workaround?`})]}),c(i,{show:e,children:c(n,{id:`feedback-description`,label:`Description`,disabled:e,meta:`Required`,value:t.description,placeholder:s===`bug`?`Describe the bug, including expectations, reproductions steps, any workarounds...`:`Describe the feature. What would be the value for you?`,rows:4,onChange:e=>f(`description`,e.currentTarget.value),multiline:!0})})]})};export{f as Description};
9
+ `,p=()=>{let{serviceNowSuccess:e,feedbackContent:t,selectedType:s,updateFeedback:p}=r(),m=a(()=>e?d.interactive.disabled__text.rgba:d.text.static_icons__default.rgba,[e]);return l(f,{children:[s===u.BUG&&l(`div`,{children:[c(o,{group:`input`,variant:`text`,color:m,children:`What is the specific bug?`}),c(o,{group:`input`,variant:`text`,color:m,children:`What are the expected results?`}),c(o,{group:`input`,variant:`text`,color:m,children:`How can we reproduce the issue?`}),c(o,{group:`input`,variant:`text`,color:m,children:`Is there a known workaround?`})]}),c(i,{show:e,children:c(n,{id:`feedback-description`,label:`Description`,disabled:e,meta:`Required`,value:t.description,placeholder:s===u.BUG?`Describe the bug, including expectations, reproductions steps, any workarounds...`:`Describe the feature. What would be the value for you?`,rows:4,onChange:e=>p(`description`,e.currentTarget.value),multiline:!0})})]})};export{p as Description};
@@ -1 +1 @@
1
- import{useFeedbackContext as e}from"../hooks/useFeedbackContext.js";import{UploadFile as t}from"./UploadFile/UploadFile.js";import{Description as n}from"./Description.js";import r from"./Severity.js";import{Title as i}from"./Title.js";import{Url as a}from"./Url.js";import{Actions as o,Container as s,ContentWrapper as c,LockedFormWarning as l,ReportLocationText as u,UploadInfo as d}from"../Feedback.styles.js";import{useMemo as f}from"react";import{Button as p,Icon as m,Typography as h}from"@equinor/eds-core-react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{info_circle as y}from"@equinor/eds-icons";const b=()=>{let{isWrongDomain:b,selectedType:x,resetForm:S,feedbackContent:C,onDialogClose:w,serviceNowSuccess:T,handleSave:E,requestIsLoading:D}=e(),O=f(()=>C.title.length>0&&C.description.length>0&&!b,[C.title.length,C.description.length,b]);return _(c,{children:v(s,{children:[_(i,{}),x===`bug`&&v(g,{children:[_(r,{}),_(a,{})]}),_(n,{}),v(d,{children:[_(m,{data:y}),_(h,{children:`Please make sure the uploaded files do not contain confidential or personal information`})]}),_(t,{}),_(u,{children:x===`bug`?`Bug reports are sent to Service Now and to the development team directly`:`Feature suggestions are sent to the development team directly`}),T&&v(l,{children:[_(m,{data:y}),_(h,{children:`The report has already been sent to service now, and part of the form is locked, so you can retry sending it to the development team. Otherwise you can reset the form with the "Reset form" button in the bottom left corner.`})]}),v(o,{children:[_(p,{variant:`ghost`,onClick:S,"data-testid":`reset-form-button`,children:`Reset form`}),v(`div`,{children:[_(p,{variant:`ghost`,onClick:w,children:`Cancel`}),_(p,{onClick:E,disabled:!O||D,"data-testid":`submit-button`,children:T?`Send again`:`Send`})]})]})]})})};export{b as FeedbackForm};
1
+ import{useFeedbackContext as e}from"../hooks/useFeedbackContext.js";import{UploadFile as t}from"./UploadFile/UploadFile.js";import{Description as n}from"./Description.js";import{Severity as r}from"./Severity.js";import{Title as i}from"./Title.js";import{Url as a}from"./Url.js";import{Actions as o,Container as s,ContentWrapper as c,LockedFormWarning as l,ReportLocationText as u,UploadInfo as d}from"../Feedback.styles.js";import{useMemo as f}from"react";import{Button as p,Icon as m,Typography as h}from"@equinor/eds-core-react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{info_circle as y}from"@equinor/eds-icons";import{WorkItemType as b}from"@equinor/subsurface-app-management";const x=()=>{let{isWrongDomain:x,selectedType:S,resetForm:C,feedbackContent:w,onDialogClose:T,serviceNowSuccess:E,handleSave:D,requestIsLoading:O}=e(),k=f(()=>w.title.length>0&&w.description.length>0&&!x,[w.title.length,w.description.length,x]);return _(c,{children:v(s,{children:[_(i,{}),S===b.BUG&&v(g,{children:[_(r,{}),_(a,{})]}),_(n,{}),v(d,{children:[_(m,{data:y}),_(h,{children:`Please make sure the uploaded files do not contain confidential or personal information`})]}),_(t,{}),_(u,{children:S===b.BUG?`Bug reports are sent to Service Now and to the development team directly`:`Feature suggestions are sent to the development team directly`}),E&&v(l,{children:[_(m,{data:y}),_(h,{children:`The report has already been sent to service now, and part of the form is locked, so you can retry sending it to the development team. Otherwise you can reset the form with the "Reset form" button in the bottom left corner.`})]}),v(o,{children:[_(p,{variant:`ghost`,onClick:C,"data-testid":`reset-form-button`,children:`Reset form`}),v(`div`,{children:[_(p,{variant:`ghost`,onClick:T,children:`Cancel`}),_(p,{onClick:D,disabled:!k||O,"data-testid":`submit-button`,children:E?`Send again`:`Send`})]})]})]})})};export{x as FeedbackForm};
@@ -1,3 +1,3 @@
1
- import{SingleSelect as e}from"../../../../../molecules/Select/SingleSelect/SingleSelect.js";import{UrgencyOption as t}from"../Feedback.types.js";import{useFeedbackContext as n}from"../hooks/useFeedbackContext.js";import{LockedInputTooltip as r}from"./LockedInputTooltip.js";import i from"styled-components";import{jsx as a}from"react/jsx-runtime";const o=i.div`
1
+ import{SingleSelect as e}from"../../../../../molecules/Select/SingleSelect/SingleSelect.js";import{SORTED_BUG_SEVERITY_OPTIONS as t}from"../Feedback.const.js";import{getUrgencyDisplayText as n}from"../Feedback.utils.js";import{useFeedbackContext as r}from"../hooks/useFeedbackContext.js";import{LockedInputTooltip as i}from"./LockedInputTooltip.js";import a from"styled-components";import{jsx as o}from"react/jsx-runtime";const s=a.div`
2
2
  grid-column: 1/2;
3
- `,s=Object.values(t).map(e=>({value:e,label:e})),c=()=>{let{serviceNowSuccess:t,feedbackContent:i,updateFeedback:c}=n();return a(o,{children:a(r,{show:t,children:a(e,{items:s,label:`Severity`,meta:`optional`,clearable:!1,disabled:t,value:i.urgency?{value:i.urgency,label:i.urgency}:void 0,placeholder:`Select error impact`,onSelect:e=>{c(`urgency`,e.value)}})})})};export{c as default};
3
+ `,c=t.map(e=>({value:e,label:n(e)})),l=()=>{let{serviceNowSuccess:t,feedbackContent:a,updateFeedback:l}=r();return o(s,{children:o(i,{show:t,children:o(e,{items:c,label:`Severity`,meta:`optional`,clearable:!0,disabled:t,value:a.urgency?{value:a.urgency,label:n(a.urgency)}:void 0,placeholder:`Select error impact`,onSelect:e=>{l(`urgency`,e?.value)}})})})};export{l as Severity};
@@ -2,4 +2,4 @@ import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm
2
2
  width: 100%;
3
3
  display: flex;
4
4
  justify-content: space-between;
5
- `,f=({requestStatus:e,title:a})=>{let f=n(()=>{switch(e.status){case`partial`:return`Partially Failed`;case`idle`:case`pending`:return`Sending...`;case`success`:return`Success`;default:return``}},[e]),p=e.status===`partial`||e.status===`error`;return s(d,{children:[o(i,{group:`ui`,variant:`accordion_header`,children:a}),s(t,{children:[o(i,{color:p?u.interactive.warning__text.rgba:``,group:`ui`,variant:`snackbar`,children:e.status===`error`?e.errorText??`There was an error with the request`:f}),(p||e.status===`success`)&&o(r,{color:p?u.interactive.warning__text.rgba:u.interactive.success__resting.rgba,data:p?l:c})]})]})};export{f as RequestStatus};
5
+ `,f=({requestStatus:e,title:a})=>{let f=n(()=>{switch(e.status){case`idle`:case`pending`:return`Sending...`;case`success`:return`Success`;default:return``}},[e]),p=e.status===`error`;return s(d,{children:[o(i,{group:`ui`,variant:`accordion_header`,children:a}),s(t,{children:[o(i,{color:p?u.interactive.warning__text.rgba:``,group:`ui`,variant:`snackbar`,children:e.status===`error`?e.errorText??`There was an error with the request`:f}),(p||e.status===`success`)&&o(r,{color:p?u.interactive.warning__text.rgba:u.interactive.success__resting.rgba,data:p?l:c})]})]})};export{f as RequestStatus};
@@ -5,16 +5,16 @@ import{colors as e}from"../../../../../atoms/style/colors.js";import{spacings as
5
5
  p {
6
6
  font-weight: 500;
7
7
  }
8
- `,a=r.div`
8
+ `;r.div`
9
9
  display: flex;
10
10
  flex-direction: column;
11
11
  padding-top: ${t.medium};
12
12
  gap: ${t.large};
13
13
  margin-left: ${t.large};
14
- `;r(n)`
14
+ `,r(n)`
15
15
  align-self: flex-end;
16
16
  color: ${e.interactive.warning__text.rgba};
17
17
  font-size: 16px;
18
18
  font-weight: 500;
19
19
  text-align: end;
20
- `;export{a as SlackRequestsWrapper,i as Status};
20
+ `;export{i as Status};
@@ -1 +1 @@
1
- import{useFeedbackContext as e}from"../hooks/useFeedbackContext.js";import{RequestStatus as t}from"./RequestStatus.js";import{FullSlackResponse as n}from"./FullSlackResponse.js";import{Fragment as r,jsx as i,jsxs as a}from"react/jsx-runtime";const o=()=>{let{serviceNowRequestResponse:o,selectedType:s,showAllSlackRequests:c,allSlackRequestStatus:l}=e();return a(r,{children:[s===`bug`&&i(t,{title:`Service Now`,requestStatus:o}),c?i(n,{allSlackRequestStatus:{status:l}}):i(t,{title:`Development team`,requestStatus:{status:l}})]})};export{o as default};
1
+ import{useFeedbackContext as e}from"../hooks/useFeedbackContext.js";import{RequestStatus as t}from"./RequestStatus.js";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";import{WorkItemType as a}from"@equinor/subsurface-app-management";const o=()=>{let{serviceNowRequestResponse:o,workItemRequestResponse:s,selectedType:c}=e();return i(n,{children:[c===a.BUG&&r(t,{title:`Service Now`,requestStatus:o}),r(t,{title:`Development team`,requestStatus:s})]})};export{o as default};
@@ -1,9 +1,9 @@
1
- import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm/base/index.js";import{spacings as t}from"../../../../../atoms/style/spacings.js";import{useFeedbackContext as n}from"../hooks/useFeedbackContext.js";import{Typography as r}from"@equinor/eds-core-react";import i from"styled-components";import{jsx as a,jsxs as o}from"react/jsx-runtime";const{colors:s}=e,c=i.div`
1
+ import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm/base/index.js";import{spacings as t}from"../../../../../atoms/style/spacings.js";import{useFeedbackContext as n}from"../hooks/useFeedbackContext.js";import{Typography as r}from"@equinor/eds-core-react";import i from"styled-components";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{WorkItemType as s}from"@equinor/subsurface-app-management";const{colors:c}=e,l=i.div`
2
2
  display: flex;
3
3
  align-items: center;
4
- `,l=i.a`
5
- color: ${s.interactive.primary__resting.rgba};
4
+ `,u=i.a`
5
+ color: ${c.interactive.primary__resting.rgba};
6
6
  padding-left: ${t.large};
7
7
  font-weight: 400;
8
8
  font-size: 16px;
9
- `,u=()=>{let{selectedType:e,serviceNowUrl:t}=n();return o(c,{children:[a(r,{variant:`h3`,children:`Thank you, we have received your ${e===`bug`?`report!`:`suggestion!`}`}),e===`bug`&&t.length>0&&a(l,{href:t,children:`See ticket in ServiceNow`})]})};export{u as Success};
9
+ `,d=()=>{let{selectedType:e,serviceNowUrl:t}=n();return o(l,{children:[a(r,{variant:`h3`,children:`Thank you, we have received your ${e===s.BUG?`report!`:`suggestion!`}`}),e===s.BUG&&t.length>0&&a(u,{href:t,children:`See ticket in ServiceNow`})]})};export{d as Success};
@@ -0,0 +1 @@
1
+ import{CREATE_WORK_ITEM_QUERY_KEY as e}from"../Feedback.const.js";import{WorkItemsService as t}from"@equinor/subsurface-app-management";import{useMutation as n}from"@tanstack/react-query";function r(){return n({mutationKey:[e],mutationFn:({slackMessage:e,attachmentMessage:n,formData:r})=>t.createWorkItemWithAttachment(e,n,r)})}export{r as useCreateWorkItemWithAttachment};
@@ -1 +1 @@
1
- import{environment as e}from"../../../../../atoms/utils/auth_environment.js";import{useAuth as t}from"../../../../../providers/AuthProvider/AuthProvider.js";import{useLocalStorage as n}from"../../../../../atoms/hooks/useLocalStorage.js";import{useTopBarInternalContext as r}from"../../../TopBarInternalContextProvider.js";import{DEFAULT_FEEDBACK_LOCAL_STORAGE as i,ONE_HOUR_IN_MS as a}from"../Feedback.const.js";import{createServiceNowDescription as ee,createServiceNowUrl as o,createSlackMessage as s,getUrgencyNumber as c}from"../Feedback.utils.js";import{useServiceNowIncident as te}from"../hooks/useServiceNowIncident.js";import{useSlackFileUpload as l}from"../hooks/useSlackFileUpload.js";import{useSlackPostMessage as u}from"../hooks/useSlackPostMessage.js";import{createContext as d,useCallback as f,useEffect as p,useMemo as m,useState as h}from"react";import{jsx as ne}from"react/jsx-runtime";const{getServiceNowConfigurationItem:re}=e,g=d(void 0),_=({children:e,selectedType:d,onClose:_})=>{let{selectedField:v}=r(),y=re(import.meta.env.VITE_SERVICE_NOW_CONFIGURATION_ITEM)||`117499`,{account:b}=t(),x=b?.username,[S,C]=n(d+`-feedbackContentAndRequestStatus`,{...i},a),{feedbackContent:w,serviceNowRequestResponse:T}=S,[E,D]=h([]),[O,k]=h({status:`idle`}),[A,j]=h([]),[M,N]=h(!1),[P,F]=h(!1),{mutateAsync:I,isPending:L}=l(w),{mutateAsync:R,status:z}=u(w),{mutateAsync:B,status:V}=te(w),[H,U]=h(``),[W,G]=h(!1),K=m(()=>z===`pending`||V===`pending`||L,[L,z,V]),q=m(()=>T.status===`success`,[T.status]),J=m(()=>{let e=[O.status,...A.map(e=>e.status)];return e.every(e=>e===`success`)?`success`:e.includes(`error`)?`partial`:`idle`},[A,O.status]),Y=m(()=>J===`error`||J===`partial`,[J]),ie=m(()=>Y||T.status===`error`,[T.status,Y]),X=()=>{N(e=>!e)},Z=({status:e,response:t,error:n})=>{C({...S,serviceNowRequestResponse:{status:e,errorText:n?.message??void 0,serviceNowId:t?.sysId??void 0}})},Q=({status:e,filename:t,error:n})=>{j(r=>{let i=Array.from(r),a=i.find(e=>e.fileName===t);return a&&(a.status=e,a.errorText=e===`error`?n?.message:void 0),i})},$=({status:e,error:t})=>{k({status:e,errorText:t?.message??void 0})},ae=()=>{W?_():X()},oe=(e,t)=>{C({...S,feedbackContent:{...w,[e]:t}})},se=async()=>{X();let e=``;if(d===`bug`&&x&&T.status!==`success`){let t=new FormData;t.append(`ConfigurationItem`,y),t.append(`Title`,w.title),t.append(`Description`,ee(w,v?.name)),t.append(`CallerEmail`,x),w.urgency&&t.append(`urgency`,c(w.urgency).toString()),E&&E.length>0&&E.forEach(e=>t.append(`Images`,e));try{let n=await B(t);e=n.sysId,Z({status:`success`,response:n})}catch(e){Z({status:`error`,error:e})}}let t=new FormData;t.append(`comment`,s(w,v?.name,d,x,e));try{await R(t),$({status:`success`})}catch(e){$({status:`error`,error:e})}if(E&&E.length>0)for(let e of E){let t=new FormData;t.append(`comment`,`Title: ${w.title}`),t.append(`file`,e);try{await I(t),Q({status:`success`,filename:e.name})}catch(t){Q({status:`error`,filename:e.name,error:t})}}},ce=f(()=>{C(i),D([]),k({status:`idle`}),j([])},[C]);return p(()=>()=>{T.status===`success`&&J===`success`&&setTimeout(()=>{C(i)},1100)},[J,T.status,C]),p(()=>{A.length!==E.length&&j(E.map(e=>({status:`idle`,fileName:e.name})))},[E,A.length]),p(()=>{T.serviceNowId&&T.serviceNowId.length!==0&&U(o(T.serviceNowId,!0))},[T.serviceNowId]),p(()=>{(d===`suggestion`&&J===`success`||T.status===`success`&&J===`success`)&&G(!0)},[J,d,T.status]),ne(g.Provider,{value:{selectedType:d,showResponsePage:M,feedbackAttachments:E,slackAttachmentsRequestResponse:A,slackRequestResponse:O,updateFeedback:oe,feedbackContent:w,serviceNowRequestResponse:T,handleResponsePageOnClose:ae,toggleShowResponsePage:X,onDialogClose:_,handleSave:se,resetForm:ce,requestIsLoading:K,serviceNowSuccess:q,isWrongDomain:P,setIsWrongDomain:F,setFeedbackAttachments:D,requestHasError:ie,showAllSlackRequests:Y,allSlackRequestStatus:J,serviceNowUrl:H,relevantRequestsHaveBeenSuccess:W},children:e})};export{g as FeedbackContext,_ as FeedbackContextProvider};
1
+ import{environment as e}from"../../../../../atoms/utils/auth_environment.js";import{useAuth as t}from"../../../../../providers/AuthProvider/AuthProvider.js";import{useLocalStorage as n}from"../../../../../atoms/hooks/useLocalStorage.js";import{useTopBarInternalContext as r}from"../../../TopBarInternalContextProvider.js";import{DEFAULT_FEEDBACK_LOCAL_STORAGE as i,ONE_HOUR_IN_MS as a}from"../Feedback.const.js";import{createServiceNowDescription as o,createServiceNowUrl as s,createSlackMessage as ee,getBrowserInfo as c,getServiceNowUrgencyNumber as l}from"../Feedback.utils.js";import{useServiceNowIncident as u}from"../hooks/useServiceNowIncident.js";import{useCreateWorkItemWithAttachment as d}from"../hooks/useCreateWorkItemWithAttachment.js";import{createContext as f,useCallback as p,useEffect as m,useMemo as h,useState as g}from"react";import{jsx as _}from"react/jsx-runtime";import{WorkItemType as v}from"@equinor/subsurface-app-management";const{getServiceNowConfigurationItem:y,getAppName:b}=e,x=f(void 0),S=({children:e,selectedType:f,onClose:S})=>{let{selectedField:C}=r(),w=y(import.meta.env.VITE_SERVICE_NOW_CONFIGURATION_ITEM)||`117499`,{account:T}=t(),E=T?.username,[D,O]=n(f+`-feedbackContentAndRequestStatus`,{...i},a),{feedbackContent:k,serviceNowRequestResponse:A}=D,[j,M]=g([]),[N,P]=g({status:`idle`}),[F,I]=g(!1),[L,R]=g(!1),{mutateAsync:z,status:B}=d(),{mutateAsync:V,status:H}=u(k),[U,W]=g(``),[G,K]=g(!1),q=h(()=>B===`pending`||H===`pending`,[B,H]),J=h(()=>A.status===`success`,[A.status]),Y=h(()=>N.status===`success`,[N.status]),X=h(()=>N.status===`error`||A.status===`error`,[A.status,N.status]),Z=()=>{I(e=>!e)},Q=({status:e,response:t,error:n})=>{O({...D,serviceNowRequestResponse:{status:e,errorText:n?.message??void 0,serviceNowId:t?.sysId??void 0}})},$=({status:e,error:t})=>{P({status:e,errorText:t?.message??void 0})},te=()=>{G?S():Z()},ne=(e,t)=>{O({...D,feedbackContent:{...k,[e]:t}})},re=async()=>{Z();let e=A.serviceNowId??``;if(f===v.BUG&&E&&A.status!==`success`){let t=new FormData;t.append(`ConfigurationItem`,w),t.append(`Title`,k.title),t.append(`Description`,o(k,C?.name)),t.append(`CallerEmail`,E),k.urgency&&t.append(`urgency`,l(k.urgency).toString()),j&&j.length>0&&j.forEach(e=>t.append(`Images`,e));try{let n=await V(t);e=n.sysId,Q({status:`success`,response:n})}catch(e){Q({status:`error`,error:e})}}try{await z({slackMessage:ee(k,C?.name,f,E,e),attachmentMessage:k.title,formData:{fileList:j,Title:k.title,Description:k.description,ApplicationName:b(import.meta.env.VITE_NAME),Browser:c(),Field:C?.name??`Not found`,IssueUrl:e?s(e,!1):void 0,Severity:k.urgency,WorkItemType:f}}),$({status:`success`})}catch(e){$({status:`error`,error:e})}},ie=p(()=>{O(i),M([]),P({status:`idle`})},[O]);return m(()=>{A.serviceNowId&&A.serviceNowId.length!==0&&W(s(A.serviceNowId,!0))},[A.serviceNowId]),m(()=>{(f===v.SUGGESTION&&Y||J&&Y)&&K(!0)},[f,A.status,J,Y]),_(x.Provider,{value:{selectedType:f,showResponsePage:F,feedbackAttachments:j,workItemRequestResponse:N,updateFeedback:ne,feedbackContent:k,serviceNowRequestResponse:A,handleResponsePageOnClose:te,toggleShowResponsePage:Z,onDialogClose:S,handleSave:re,resetForm:ie,requestIsLoading:q,serviceNowSuccess:J,isWrongDomain:L,setIsWrongDomain:R,setFeedbackAttachments:M,requestHasError:X,workItemSuccess:Y,serviceNowUrl:U,relevantRequestsHaveBeenSuccess:G},children:e})};export{x as FeedbackContext,S as FeedbackContextProvider};
@@ -1 +1 @@
1
- import{Status as e}from"../../../Status/index.js";import{usePrefetchRichTextImages as t}from"../../../../atoms/hooks/usePrefetchRichTextImages.js";import{Button as n}from"../../../../molecules/Button/Button.js";import{useReleaseNotes as r}from"../../../../providers/ReleaseNotesProvider.js";import{Header as i}from"./Header/Header.js";import{AllReleaseNotesWrapper as a,LoadingWrapper as o,StyledDialog as s}from"./ReleaseNotesDialog.styles.js";import{ReleaseNote as c}from"../../../ReleaseNote/ReleaseNote.js";import{CircularProgress as l}from"@equinor/eds-core-react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{ReleaseNotesService as p,useReleaseNotesQuery as m}from"@equinor/subsurface-app-management";const h=({enabled:h})=>{let{setOpen:g,open:_,mostRecentReleaseNote:v}=r(),{isLoading:y}=m({enabled:h}),{isPrefetching:b}=t({richTextValues:v?.body?[v.body]:[],onImageRead:p.getReleaseNoteImage}),x=()=>{g(!1)};return f(s,{open:_,onClose:x,isDismissable:!0,children:[d(i,{}),y||b?d(o,{children:d(l,{})}):v?f(u,{children:[d(c,{...v,expanded:!0}),d(a,{children:d(n,{variant:`ghost`,to:`/release-notes`,onClick:x,label:`See all release notes`})})]}):f(e,{children:[d(e.Title,{title:`No published release notes`}),d(e.Description,{text:`This application has no published release notes yet.`})]})]})};export{h as ReleaseNotesDialog};
1
+ import{Status as e}from"../../../Status/index.js";import{usePrefetchRichTextImages as t}from"../../../../atoms/hooks/usePrefetchRichTextImages.js";import{Button as n}from"../../../../molecules/Button/Button.js";import{useReleaseNotes as r}from"../../../../providers/ReleaseNotesProvider.js";import{Header as i}from"./Header/Header.js";import{AllReleaseNotesWrapper as a,LoadingWrapper as o,StyledDialog as s}from"./ReleaseNotesDialog.styles.js";import{ReleaseNote as c}from"../../../ReleaseNote/ReleaseNote.js";import{CircularProgress as l}from"@equinor/eds-core-react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{ReleaseNotesService as p,useReleaseNotesQuery as m}from"@equinor/subsurface-app-management";const h=({enabled:h})=>{let{setOpen:g,open:_,mostRecentReleaseNote:v}=r(),{isLoading:y}=m({enabled:h}),{isPrefetching:b}=t({richTextValues:v?.body?[v.body]:[],onImageRead:p.getReleaseNoteImage}),x=()=>{g(!1)};return f(s,{open:_,onClose:x,isDismissable:!0,children:[d(i,{}),y||b?d(o,{children:d(l,{})}):v?f(u,{children:[d(c,{...v,expanded:!0}),d(a,{children:d(n,{variant:`ghost`,linkOptions:{to:`/release-notes`},onClick:x,children:`See all release notes`})})]}):f(e,{children:[d(e.Title,{title:`No published release notes`}),d(e.Description,{text:`This application has no published release notes yet.`})]})]})};export{h as ReleaseNotesDialog};
@@ -1,6 +1,6 @@
1
- import{environment as e}from"../../../atoms/utils/auth_environment.js";import{spacings as t}from"../../../atoms/style/spacings.js";import{amplify_resources as n,amplify_small_portal as r}from"../../../atoms/icons/other.js";import{useReleaseNotes as i}from"../../../providers/ReleaseNotesProvider.js";import{TopBarMenu as a}from"../TopBarMenu.js";import{TopBarButton as o}from"../TopBar.styles.js";import{TransferToAppDialog as s}from"../TransferToAppDialog.js";import{Feedback as c}from"./Feedback/Feedback.js";import{ResourceMenuItem as l}from"./ResourceMenuItem.js";import{ReleaseNotesDialog as u}from"./ReleaseNotesDialog/ReleaseNotesDialog.js";import{useMemo as d,useRef as f,useState as p}from"react";import{Button as m,Dialog as h,Divider as g,Icon as _}from"@equinor/eds-core-react";import v from"styled-components";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import{arrow_back as S,file_description as C,lightbulb as w,report_bug as T,school as E}from"@equinor/eds-icons";const{PORTAL_URL_WITHOUT_LOCALHOST:D}=e,O=v(h)`
1
+ import{environment as e}from"../../../atoms/utils/auth_environment.js";import{spacings as t}from"../../../atoms/style/spacings.js";import{amplify_resources as n,amplify_small_portal as r}from"../../../atoms/icons/other.js";import{useReleaseNotes as i}from"../../../providers/ReleaseNotesProvider.js";import{TopBarMenu as a}from"../TopBarMenu.js";import{TopBarButton as o}from"../TopBar.styles.js";import{TransferToAppDialog as s}from"../TransferToAppDialog.js";import{Feedback as c}from"./Feedback/Feedback.js";import{ResourceMenuItem as l}from"./ResourceMenuItem.js";import{ReleaseNotesDialog as u}from"./ReleaseNotesDialog/ReleaseNotesDialog.js";import{useMemo as d,useRef as f,useState as p}from"react";import{Button as m,Dialog as h,Divider as g,Icon as _}from"@equinor/eds-core-react";import v from"styled-components";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import{arrow_back as S,file_description as C,lightbulb as w,report_bug as T,school as E}from"@equinor/eds-icons";import{WorkItemType as D}from"@equinor/subsurface-app-management";const{PORTAL_URL_WITHOUT_LOCALHOST:O}=e,k=v(h)`
2
2
  width: fit-content;
3
- `,k=v.div`
3
+ `,A=v.div`
4
4
  padding: ${t.medium} ${t.medium} ${t.small}
5
5
  ${t.medium};
6
- `,A=({hideFeedback:e=!1,hideReleaseNotes:t=!1,hideLearnMore:v=!1,children:A,customButton:j})=>{let{open:M,setOpen:N}=i(),[P,F]=p(!1),[I,L]=p(!1),[R,z]=p(!1),[B,V]=p(void 0),H=f(null),[U,W]=p(void 0),G=()=>{V(void 0),F(!1)},K=()=>F(e=>!e),q=e=>{W(e?.currentTarget.id),L(!0)},J=()=>{W(void 0),G(),L(!1)},Y=()=>{N(!0),G()},X=()=>V(void 0),Z=()=>V(`learn-more`),Q=()=>{z(!0)},$=()=>{z(!1),G()},ee=d(()=>{switch(B){case`learn-more`:return x(y,{children:[b(l,{text:`Open Application portal`,icon:r,onClick:Q,isHref:!0}),A&&!e&&!t&&b(g,{style:{margin:0}}),A&&b(`div`,{onClick:G,children:A}),b(k,{children:x(m,{variant:`outlined`,onClick:X,children:[b(_,{data:S}),` Back`]})})]});default:return null}},[A,e,t,B]);return x(y,{children:[j?j(H,K):b(o,{variant:`ghost_icon`,ref:H,id:`anchor-match`,"aria-haspopup":`true`,"aria-expanded":P,"aria-controls":`menu-match`,onClick:K,children:b(_,{data:n})}),b(a,{open:P&&!M&&!I,title:`Resources`,onClose:G,anchorEl:H.current,children:ee||x(`section`,{children:[b(l,{id:`bug`,onClick:q,icon:T,text:`Report a bug`,lastItem:!0}),b(l,{id:`suggestion`,onClick:q,icon:w,text:`Suggest idea`,lastItem:!0}),!t&&b(l,{id:`release-notes`,icon:C,onClick:Y,text:`Open release notes`,isHref:!0}),!v&&b(l,{text:`Learn more`,icon:E,onClick:Z})]})}),M&&b(u,{}),!e&&U!==void 0&&x(O,{open:U===`bug`||U===`suggestion`,onClose:J,isDismissable:!0,children:[b(h.Header,{children:U===`bug`?`Report a bug - ServiceNow`:`Suggest a feature`}),b(c,{selectedType:U,onClose:J})]}),R&&b(s,{onClose:$,url:D,applicationName:`Portal`})]})};export{A as Resources};
6
+ `,j=({hideFeedback:e=!1,hideReleaseNotes:t=!1,hideLearnMore:v=!1,children:j,customButton:M})=>{let{open:N,setOpen:P}=i(),[F,I]=p(!1),[L,R]=p(!1),[z,B]=p(!1),[V,H]=p(void 0),U=f(null),[W,G]=p(void 0),K=()=>{H(void 0),I(!1)},q=()=>I(e=>!e),J=e=>{G(e?.currentTarget.id),R(!0)},Y=()=>{G(void 0),K(),R(!1)},X=()=>{P(!0),K()},Z=()=>H(void 0),Q=()=>H(`learn-more`),$=()=>{B(!0)},ee=()=>{B(!1),K()},te=d(()=>{switch(V){case`learn-more`:return x(y,{children:[b(l,{text:`Open Application portal`,icon:r,onClick:$,isHref:!0}),j&&!e&&!t&&b(g,{style:{margin:0}}),j&&b(`div`,{onClick:K,children:j}),b(A,{children:x(m,{variant:`outlined`,onClick:Z,children:[b(_,{data:S}),` Back`]})})]});default:return null}},[j,e,t,V]);return x(y,{children:[M?M(U,q):b(o,{variant:`ghost_icon`,ref:U,id:`anchor-match`,"aria-haspopup":`true`,"aria-expanded":F,"aria-controls":`menu-match`,onClick:q,children:b(_,{data:n})}),b(a,{open:F&&!N&&!L,title:`Resources`,onClose:K,anchorEl:U.current,children:te||x(`section`,{children:[b(l,{id:D.BUG,onClick:J,icon:T,text:`Report a bug`,lastItem:!0}),b(l,{id:D.SUGGESTION,onClick:J,icon:w,text:`Suggest idea`,lastItem:!0}),!t&&b(l,{id:`release-notes`,icon:C,onClick:X,text:`Open release notes`,isHref:!0}),!v&&b(l,{text:`Learn more`,icon:E,onClick:Q})]})}),N&&b(u,{}),!e&&W!==void 0&&x(k,{open:W===D.BUG||W===D.SUGGESTION,onClose:Y,isDismissable:!0,children:[b(h.Header,{children:W===D.BUG?`Report a bug - ServiceNow`:`Suggest a feature`}),b(c,{selectedType:W,onClose:Y})]}),z&&b(s,{onClose:ee,url:O,applicationName:`Portal`})]})};export{j as Resources};
@@ -4,7 +4,7 @@ import { FC, ReactNode } from "react";
4
4
  interface TableOfContentsItemType {
5
5
  label: string;
6
6
  value: string;
7
- count?: number;
7
+ count?: number | string;
8
8
  disabled?: boolean;
9
9
  children?: TableOfContentsItemType[];
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/amplify-component-lib",
3
- "version": "13.0.0",
3
+ "version": "13.1.0",
4
4
  "description": "Frontend Typescript components for the Amplify team",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- let e=function(e){return e.NO_IMPACT=`I am not impacted`,e.IMPEDES=`It impedes my progress`,e.UNABLE=`I am unable to work`,e}({});export{e as UrgencyOption};
@@ -1,4 +0,0 @@
1
- import{tokens as e}from"../../../../../node_modules/@equinor/eds-tokens/dist/esm/base/index.js";import{spacings as t}from"../../../../../atoms/style/spacings.js";import{useFeedbackContext as n}from"../hooks/useFeedbackContext.js";import{SlackRequestsWrapper as r}from"./ResponsePage.styles.js";import{RequestStatus as i}from"./RequestStatus.js";import a from"styled-components";import{jsx as o,jsxs as s}from"react/jsx-runtime";const{colors:c}=e,l=a.div`
2
- padding: ${t.small};
3
- background-color: ${c.ui.background__light.rgba};
4
- `,u=({allSlackRequestStatus:e})=>{let{slackRequestResponse:t,slackAttachmentsRequestResponse:a}=n();return s(l,{children:[o(i,{title:`Sending to development team`,requestStatus:e}),s(r,{children:[o(i,{title:`Posting text `,requestStatus:t}),a.map(e=>o(i,{title:`Posting ${e.fileName}`,requestStatus:e},e.fileName))]})]})};export{u as FullSlackResponse};
@@ -1 +0,0 @@
1
- import{SLACK_FILE_QUERY_KEY as e}from"../Feedback.const.js";import{SlackService as t}from"@equinor/subsurface-app-management";import{useMutation as n}from"@tanstack/react-query";function r(r){return n({mutationKey:[e,r],mutationFn:e=>t.fileUpload(e)})}export{r as useSlackFileUpload};
@@ -1 +0,0 @@
1
- import{SLACK_POST_QUERY_KEY as e}from"../Feedback.const.js";import{SlackService as t}from"@equinor/subsurface-app-management";import{useMutation as n}from"@tanstack/react-query";function r(r){return n({mutationKey:[e,r],mutationFn:e=>t.postmessage(e)})}export{r as useSlackPostMessage};