@equinor/amplify-component-lib 12.0.7 → 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 (113) hide show
  1. package/dist/atoms/icons/other.d.ts +2 -1
  2. package/dist/atoms/icons/other.js +1 -1
  3. package/dist/atoms/index.d.ts +1 -1
  4. package/dist/atoms/index.js +1 -1
  5. package/dist/deprecated/ExpandingIconButton/ExpandingIconButton.d.ts +2 -2
  6. package/dist/deprecated/IconToggleButton.d.ts +2 -2
  7. package/dist/index.d.ts +3 -2
  8. package/dist/index.js +1 -1
  9. package/dist/molecules/Badge/Badge.d.ts +1 -1
  10. package/dist/molecules/Button/Button.d.ts +12 -6
  11. package/dist/molecules/Button/Button.js +1 -12
  12. package/dist/molecules/Button/Button.styles.js +100 -0
  13. package/dist/molecules/Button/Button.utils.js +1 -1
  14. package/dist/molecules/Button/IconButton/IconButton.d.ts +18 -0
  15. package/dist/molecules/Button/IconButton/IconButton.js +1 -0
  16. package/dist/molecules/Button/IconButton/IconButton.styles.js +69 -0
  17. package/dist/molecules/Button/tokens/danger.js +1 -0
  18. package/dist/molecules/Button/tokens/disabled.js +1 -0
  19. package/dist/molecules/Button/tokens/primary.js +1 -0
  20. package/dist/molecules/Button/tokens/tokens.js +1 -0
  21. package/dist/molecules/Button/types.d.ts +15 -0
  22. package/dist/molecules/Chip/Chip.d.ts +2 -2
  23. package/dist/molecules/DatePicker/DatePicker.d.ts +3 -3
  24. package/dist/molecules/DateRangePicker/DateRangePicker.d.ts +3 -3
  25. package/dist/molecules/Dialog/Dialog.d.ts +6 -5
  26. package/dist/molecules/Dialog/Dialog.js +1 -1
  27. package/dist/molecules/Dialog/DialogAction.js +1 -1
  28. package/dist/molecules/EquinorLogo/EquinorLogo.d.ts +2 -2
  29. package/dist/molecules/FileUploadArea/FileUploadArea.js +1 -1
  30. package/dist/molecules/IconCell/IconCell.d.ts +2 -2
  31. package/dist/molecules/ListItem/ListItem.d.ts +2 -2
  32. package/dist/molecules/OptionDrawer/OptionDrawer.d.ts +2 -2
  33. package/dist/molecules/OptionalTooltip/OptionalTooltip.d.ts +4 -4
  34. package/dist/molecules/ProfileAvatar/ProfileAvatar.d.ts +2 -2
  35. package/dist/molecules/RichTextEditor/MenuBar/MenuBar.d.ts +7 -7
  36. package/dist/molecules/RichTextEditor/MenuBar/Table/TableColumn.js +1 -1
  37. package/dist/molecules/RichTextEditor/MenuBar/Table/TableMerge.js +1 -1
  38. package/dist/molecules/RichTextEditor/MenuBar/Table/TableRow.js +1 -1
  39. package/dist/molecules/RichTextEditor/MenuBar/Table/ToggleTable.js +1 -1
  40. package/dist/molecules/RichTextEditor/index.d.ts +7 -7
  41. package/dist/molecules/Search/Search.d.ts +2 -2
  42. package/dist/molecules/Select/ComboBox/ComboBox.d.ts +2 -2
  43. package/dist/molecules/Select/PersistentComboBox/PersistentComboBox.d.ts +2 -2
  44. package/dist/molecules/Select/Select.js +1 -1
  45. package/dist/molecules/Select/Select.styles.d.ts +7 -7
  46. package/dist/molecules/Select/SingleSelect/SingleSelect.d.ts +2 -2
  47. package/dist/molecules/SelectionControls/Checkbox/Checkbox.d.ts +2 -2
  48. package/dist/molecules/SelectionControls/Radio/Radio.d.ts +2 -2
  49. package/dist/molecules/SelectionControls/Switch/Switch.d.ts +2 -2
  50. package/dist/molecules/Skeleton/SkeletonBase/SkeletonBase.d.ts +4 -4
  51. package/dist/molecules/Stepper/Step/Step.js +1 -1
  52. package/dist/molecules/Stepper/Step/StepIcon.js +2 -2
  53. package/dist/molecules/Stepper/Stepper.d.ts +11 -0
  54. package/dist/molecules/Stepper/Stepper.js +1 -1
  55. package/dist/molecules/TableHeader/TableHeader.js +1 -1
  56. package/dist/molecules/TableHeader/TableHeader.utils.js +1 -1
  57. package/dist/molecules/Tabs/Tabs.types.d.ts +1 -1
  58. package/dist/molecules/Tag/Tag.d.ts +2 -0
  59. package/dist/molecules/Tag/Tag.js +3 -3
  60. package/dist/molecules/TextField/TextField.js +3 -3
  61. package/dist/molecules/Toast/Toast.js +1 -1
  62. package/dist/molecules/index.d.ts +2 -1
  63. package/dist/molecules/index.js +1 -1
  64. package/dist/node_modules/@equinor/eds-utils/dist/esm/utils/templates/index.js +9 -0
  65. package/dist/organisms/DataGrid/DataGrid.d.ts +2 -2
  66. package/dist/organisms/Filter/Filter.d.ts +2 -2
  67. package/dist/organisms/Filter/QuickFilter.d.ts +2 -2
  68. package/dist/organisms/Filter/SortMenu.d.ts +2 -2
  69. package/dist/organisms/ReleaseNote/ReleaseNote.d.ts +3 -3
  70. package/dist/organisms/ReleaseNote/ToggleExpanded.js +1 -1
  71. package/dist/organisms/SideBar/SideBar.d.ts +2 -2
  72. package/dist/organisms/SideSheet/SideSheet.js +1 -1
  73. package/dist/organisms/Status/Action.d.ts +2 -2
  74. package/dist/organisms/Status/Description.d.ts +2 -2
  75. package/dist/organisms/Status/MissingAccesses.d.ts +2 -2
  76. package/dist/organisms/Status/Title.d.ts +2 -2
  77. package/dist/organisms/Status/collections/BadRequest.d.ts +2 -2
  78. package/dist/organisms/Status/collections/GenericError.d.ts +2 -2
  79. package/dist/organisms/Status/collections/MissingPermissions.d.ts +2 -2
  80. package/dist/organisms/Status/collections/PageNotFound.d.ts +2 -2
  81. package/dist/organisms/Status/collections/ServerError.d.ts +2 -2
  82. package/dist/organisms/Template/Template.d.ts +5 -5
  83. package/dist/organisms/ToggleGroup/ToggleGroup.d.ts +2 -2
  84. package/dist/organisms/ToggleGroup/ToggleGroupOption.d.ts +2 -2
  85. package/dist/organisms/TopBar/Account/Account.js +1 -1
  86. package/dist/organisms/TopBar/Account/ImpersonateMenu/DeleteUser/DeleteUser.js +1 -1
  87. package/dist/organisms/TopBar/Actions.d.ts +2 -2
  88. package/dist/organisms/TopBar/FieldMenu/FieldMenu.d.ts +2 -2
  89. package/dist/organisms/TopBar/Resources/Feedback/Feedback.const.js +1 -1
  90. package/dist/organisms/TopBar/Resources/Feedback/Feedback.utils.js +5 -5
  91. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/Description.js +3 -3
  92. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/FeedbackForm.js +1 -1
  93. package/dist/organisms/TopBar/Resources/Feedback/FeedbackForm/Severity.js +2 -2
  94. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/RequestStatus.js +1 -1
  95. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/ResponsePage.styles.js +3 -3
  96. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/ResponseStatus.js +1 -1
  97. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/Success.js +4 -4
  98. package/dist/organisms/TopBar/Resources/Feedback/hooks/useCreateWorkItemWithAttachment.js +1 -0
  99. package/dist/organisms/TopBar/Resources/Feedback/providers/FeedbackContextProvider.js +1 -1
  100. package/dist/organisms/TopBar/Resources/ReleaseNotesDialog/ReleaseNotesDialog.js +1 -1
  101. package/dist/organisms/TopBar/Resources/Resources.js +3 -3
  102. package/dist/providers/StepperProvider.js +1 -1
  103. package/dist/providers/SurveyProvider/SurveyDialog/SurveyDialog.js +1 -1
  104. package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyFreeTextQuestion.js +2 -2
  105. package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyLinearScaleQuestion.js +2 -2
  106. package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyMultipleChoiceQuestion.js +2 -2
  107. package/dist/providers/SurveyProvider/SurveyDialog/UmuxDialog.js +2 -2
  108. package/dist/providers/TableOfContentsProvider.d.ts +1 -1
  109. package/package.json +3 -1
  110. package/dist/organisms/TopBar/Resources/Feedback/Feedback.types.js +0 -1
  111. package/dist/organisms/TopBar/Resources/Feedback/ResponsePage/FullSlackResponse.js +0 -4
  112. package/dist/organisms/TopBar/Resources/Feedback/hooks/useSlackFileUpload.js +0 -1
  113. package/dist/organisms/TopBar/Resources/Feedback/hooks/useSlackPostMessage.js +0 -1
@@ -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};
@@ -1 +1 @@
1
- import{createContext as e,useCallback as t,useContext as n,useState as r}from"react";import{jsx as i}from"react/jsx-runtime";import{useLocation as a,useNavigate as o,useParams as s}from"@tanstack/react-router";const c=e(void 0);function l(){let e=n(c);if(!e)throw Error(`useStepper must be used within a StepperProvider`);return e}const u=({steps:e,children:n,isStepDisabled:l,...u})=>{let{step:d}=s({strict:!1}),f=o(),p=a().pathname.split(`/`).slice(0,-1).join(`/`),m=u.syncToURLParam?Number(d):u?.initialStep??0;if(u.syncToURLParam&&d&&isNaN(Number(d)))throw Error(`Step URL param must be a valid number when using "syncToURLParam"`);if(e.length<2)throw Error(`Stepper must have at least 2 steps`);let[h,g]=r(m),_=u.syncToURLParam?Number(d):h,[v,y]=r(0);if(m>=e.length||m<0)throw Error(`initialStep must be a valid index of the steps array`);let b=e=>{u.syncToURLParam?f({to:`${p}/${e}`}):g(e)},x=()=>{v!==0&&y(0)},S=()=>{if(`subSteps`in e[_]&&e[_].subSteps&&v<e[_].subSteps.length-1){y(e=>e+1);return}_!==e.length-1&&(b(_+1),x())},C=()=>{if(v>0&&`subSteps`in e[_]&&e[_].subSteps&&e[_].subSteps.length>0){y(e=>e-1);return}if(_===0)return;b(_-1);let t=e.at(_-1);t&&`subSteps`in t&&t.subSteps&&y(t.subSteps.length-1)},w=t(t=>l?l({step:e[t],stepIndex:t,currentStep:e[_],currentStepIndex:_}):!1,[l,_,e]);return i(c.Provider,{value:{steps:e,currentStep:_,currentSubStep:v,setCurrentStep:b,goToNextStep:S,goToPreviousStep:C,isStepAtIndexDisabled:w},children:n})};export{u as StepperProvider,l as useStepper};
1
+ import{createContext as e,useCallback as t,useContext as n,useState as r}from"react";import{jsx as i}from"react/jsx-runtime";import{useLocation as a,useNavigate as o,useParams as s}from"@tanstack/react-router";const c=e(void 0);function l(){let e=n(c);if(!e)throw Error(`useStepper must be used within a StepperProvider`);return e}const u=({steps:e,children:n,isStepDisabled:l,...u})=>{let{step:d}=s({strict:!1}),f=o(),p=a().pathname.split(`/`).slice(0,-1).join(`/`),m=u.syncToURLParam?Number(d):u?.initialStep??0;if(u.syncToURLParam&&d&&isNaN(Number(d)))throw Error(`Step URL param must be a valid number when using "syncToURLParam"`);if(e.length<2)throw Error(`Stepper must have at least 2 steps`);let[h,g]=r(m),_=u.syncToURLParam?Number(d):h,[v,y]=r(0);if(m>=e.length||m<0)throw Error(`initialStep must be a valid index of the steps array`);let b=t=>{if(t===_)return;if(t>_){v!==0&&y(0);return}let n=e.at(t);if(n&&`subSteps`in n&&n.subSteps&&n.subSteps.length>0){y(n.subSteps.length-1);return}v!==0&&y(0)},x=e=>{b(e),u.syncToURLParam?f({to:`${p}/${e}`}):g(e)},S=()=>{if(`subSteps`in e[_]&&e[_].subSteps&&v<e[_].subSteps.length-1){y(e=>e+1);return}_!==e.length-1&&x(_+1)},C=()=>{if(v>0&&`subSteps`in e[_]&&e[_].subSteps&&e[_].subSteps.length>0){y(e=>e-1);return}_!==0&&x(_-1)},w=t(t=>l?l({step:e[t],stepIndex:t,currentStep:e[_],currentStepIndex:_}):!1,[l,_,e]);return i(c.Provider,{value:{steps:e,currentStep:_,currentSubStep:v,setCurrentStep:x,goToNextStep:S,goToPreviousStep:C,isStepAtIndexDisabled:w},children:n})};export{u as StepperProvider,l as useStepper};
@@ -1 +1 @@
1
- import{useSurvey as e}from"../hooks/useSurvey.js";import{SurveyQuestion as t}from"./SurveyQuestion/SurveyQuestion.js";import{Content as n}from"./SurveyDialog.styles.js";import{SurveyProgress as r}from"./SurveyProgress.js";import{Dialog as i}from"../../../molecules/Dialog/Dialog.js";import{UmuxDialog as a}from"./UmuxDialog.js";import{useState as o}from"react";import{Typography as s}from"@equinor/eds-core-react";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{QuestionType as u,SurveyType as d}from"@equinor/subsurface-app-management";const f=()=>{let{activeSurvey:f,activeQuestionIndex:p,setActiveQuestionIndex:m,cancelSurvey:h,hideSurvey:g,answerQuestion:_,currentAnswer:v,setCurrentAnswer:y,isCancelled:b}=e(),[x,S]=o(!1);if(!f||p===void 0||b)return null;let C=[{text:p===0?`Maybe later`:`Back`,variant:`ghost`,onClick:()=>{if(p===0){h();return}let e=f.questions[p-1].answer;e&&(m(p-1),y({id:f.questions[p-1].questionId,...e}))}},{text:p===0?`Get started`:p===f.questions.length-1?`Complete`:`Next`,disabled:(()=>{if(!v)return!0;let e=f?.questions[p??0];switch(e.type){case u.CHOICE:return!v.selectedOptionIds||v.selectedOptionIds.length===0||v.selectedOptionIds.length>(e.multipleChoiceVm?.maxSelectableOptions??0);case u.LINEAR_SCALE:return v.numericAnswer===void 0;case u.TEXT:return!v.textAnswer||v.textAnswer.trim()===``}})(),onClick:async()=>{if(v){S(!0);try{await _({...v,selectedOptionIds:v?.selectedOptionIds??[]})}finally{S(!1)}}},isLoading:x}];return f.surveyType===d.UMUX?c(a,{}):c(i,{open:!0,width:650,title:f.title,onClose:h,actions:p===0?[{text:`Do not show me this again`,variant:`ghost`,onClick:g,position:`left`},...C]:C,children:l(n,{children:[c(r,{}),c(s,{variant:`body_short_bold`,children:f.questions[p].questionText}),c(t,{})]})})};export{f as SurveyDialog};
1
+ import{Dialog as e}from"../../../molecules/Dialog/Dialog.js";import{useSurvey as t}from"../hooks/useSurvey.js";import{SurveyQuestion as n}from"./SurveyQuestion/SurveyQuestion.js";import{Content as r}from"./SurveyDialog.styles.js";import{SurveyProgress as i}from"./SurveyProgress.js";import{UmuxDialog as a}from"./UmuxDialog.js";import{useState as o}from"react";import{Typography as s}from"@equinor/eds-core-react";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{QuestionType as u,SurveyType as d}from"@equinor/subsurface-app-management";const f=()=>{let{activeSurvey:f,activeQuestionIndex:p,setActiveQuestionIndex:m,cancelSurvey:h,hideSurvey:g,answerQuestion:_,currentAnswer:v,setCurrentAnswer:y,isCancelled:b}=t(),[x,S]=o(!1);if(!f||p===void 0||b)return null;let C=[{text:p===0?`Maybe later`:`Back`,variant:`ghost`,onClick:()=>{if(p===0){h();return}let e=f.questions[p-1].answer;e&&(m(p-1),y({id:f.questions[p-1].questionId,...e}))}},{text:p===0?`Get started`:p===f.questions.length-1?`Complete`:`Next`,disabled:(()=>{if(!v)return!0;let e=f?.questions[p??0];switch(e.type){case u.CHOICE:return!v.selectedOptionIds||v.selectedOptionIds.length===0||v.selectedOptionIds.length>(e.multipleChoiceVm?.maxSelectableOptions??0);case u.LINEAR_SCALE:return v.numericAnswer===void 0;case u.TEXT:return!v.textAnswer||v.textAnswer.trim()===``}})(),onClick:async()=>{if(v){S(!0);try{await _({...v,selectedOptionIds:v?.selectedOptionIds??[]})}finally{S(!1)}}},isLoading:x}];return f.surveyType===d.UMUX?c(a,{}):c(e,{open:!0,width:650,title:f.title,onClose:h,actions:p===0?[{text:`Do not show me this again`,variant:`ghost`,onClick:g,position:`left`},...C]:C,children:l(r,{children:[c(i,{}),c(s,{variant:`body_short_bold`,children:f.questions[p].questionText}),c(n,{})]})})};export{f as SurveyDialog};
@@ -1,5 +1,5 @@
1
- import{spacings as e}from"../../../../atoms/style/spacings.js";import{useSurvey as t}from"../../hooks/useSurvey.js";import{TextField as n}from"../../../../molecules/TextField/TextField.js";import r from"styled-components";import{jsx as i}from"react/jsx-runtime";const a=r.div`
1
+ import{spacings as e}from"../../../../atoms/style/spacings.js";import{TextField as t}from"../../../../molecules/TextField/TextField.js";import{useSurvey as n}from"../../hooks/useSurvey.js";import r from"styled-components";import{jsx as i}from"react/jsx-runtime";const a=r.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: ${e.medium};
5
- `,o=({questionId:e})=>{let{currentAnswer:r,setCurrentAnswer:o}=t();return i(a,{children:i(n,{id:`free-text-${e.value}`,autoComplete:`off`,placeholder:`Write answer here...`,value:r?.textAnswer??``,onChange:t=>{o({id:e,textAnswer:t.target.value})}})})};export{o as SurveyFreeTextQuestion};
5
+ `,o=({questionId:e})=>{let{currentAnswer:r,setCurrentAnswer:o}=n();return i(a,{children:i(t,{id:`free-text-${e.value}`,autoComplete:`off`,placeholder:`Write answer here...`,value:r?.textAnswer??``,onChange:t=>{o({id:e,textAnswer:t.target.value})}})})};export{o as SurveyFreeTextQuestion};
@@ -1,4 +1,4 @@
1
- import{useSurvey as e}from"../../hooks/useSurvey.js";import{Radio as t}from"../../../../molecules/SelectionControls/Radio/Radio.js";import{Typography as n}from"@equinor/eds-core-react";import r from"styled-components";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=r.div`
1
+ import{Radio as e}from"../../../../molecules/SelectionControls/Radio/Radio.js";import{useSurvey as t}from"../../hooks/useSurvey.js";import{Typography as n}from"@equinor/eds-core-react";import r from"styled-components";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=r.div`
2
2
  display: grid;
3
3
  grid-template-columns: ${({$rangeAmount:e})=>`auto repeat(${e}, auto) auto`};
4
4
  align-items: center;
@@ -7,4 +7,4 @@ import{useSurvey as e}from"../../hooks/useSurvey.js";import{Radio as t}from"../.
7
7
  display: flex;
8
8
  flex-direction: column;
9
9
  align-items: center;
10
- `,c=({questionId:r,linearScaleVm:c,...l})=>{let{currentAnswer:u,setCurrentAnswer:d}=e(),f=c.maxValue-c.minValue+1,p=(`setAnswer`in l?l.answer:u)?.numericAnswer,m=e=>{`answer`in l&&`setAnswer`in l?l.setAnswer({...l.answer,numericAnswer:e}):d({id:r,numericAnswer:e})};return a(o,{$rangeAmount:f,children:[i(n,{children:c.minLabel}),Array.from({length:f}).map((e,o)=>a(s,{children:[i(n,{variant:`body_short`,children:c.minValue+o}),i(t,{"data-testid":`range-radio-${r.value}`,name:`range-${r.value}`,label:``,value:c.minValue+o,checked:p===c.minValue+o,onChange:()=>{m(c.minValue+o)}})]},`range-radio-${o}`)),i(n,{children:c.maxLabel})]})};export{c as SurveyLinearScaleQuestion};
10
+ `,c=({questionId:r,linearScaleVm:c,...l})=>{let{currentAnswer:u,setCurrentAnswer:d}=t(),f=c.maxValue-c.minValue+1,p=(`setAnswer`in l?l.answer:u)?.numericAnswer,m=e=>{`answer`in l&&`setAnswer`in l?l.setAnswer({...l.answer,numericAnswer:e}):d({id:r,numericAnswer:e})};return a(o,{$rangeAmount:f,children:[i(n,{children:c.minLabel}),Array.from({length:f}).map((t,o)=>a(s,{children:[i(n,{variant:`body_short`,children:c.minValue+o}),i(e,{"data-testid":`range-radio-${r.value}`,name:`range-${r.value}`,label:``,value:c.minValue+o,checked:p===c.minValue+o,onChange:()=>{m(c.minValue+o)}})]},`range-radio-${o}`)),i(n,{children:c.maxLabel})]})};export{c as SurveyLinearScaleQuestion};
@@ -1,5 +1,5 @@
1
- import{spacings as e}from"../../../../atoms/style/spacings.js";import{useSurvey as t}from"../../hooks/useSurvey.js";import{Checkbox as n}from"../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import r from"styled-components";import{jsx as i}from"react/jsx-runtime";const a=r.div`
1
+ import{spacings as e}from"../../../../atoms/style/spacings.js";import{Checkbox as t}from"../../../../molecules/SelectionControls/Checkbox/Checkbox.js";import{useSurvey as n}from"../../hooks/useSurvey.js";import r from"styled-components";import{jsx as i}from"react/jsx-runtime";const a=r.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: ${e.medium};
5
- `,o=({questionId:e,multipleChoiceVm:r})=>{let{currentAnswer:o,setCurrentAnswer:s}=t();return i(a,{children:r.options.map(t=>{let a=o?.selectedOptionIds?.some(e=>e.value===t.id.value);return i(n,{label:t.optionText,checked:a,disabled:!a&&r.maxSelectableOptions===(o?.selectedOptionIds?.length??0),onChange:n=>{s(r=>{let i=(r&&r.selectedOptionIds)??[];if(n.target.checked)i.push(t.id);else{let e=i.findIndex(e=>e.value===t.id.value);i.splice(e,1)}return{...r,id:e,selectedOptionIds:i}})}},t.id.value)})})};export{o as SurveyMultipleChoiceQuestion};
5
+ `,o=({questionId:e,multipleChoiceVm:r})=>{let{currentAnswer:o,setCurrentAnswer:s}=n();return i(a,{children:r.options.map(n=>{let a=o?.selectedOptionIds?.some(e=>e.value===n.id.value);return i(t,{label:n.optionText,checked:a,disabled:!a&&r.maxSelectableOptions===(o?.selectedOptionIds?.length??0),onChange:t=>{s(r=>{let i=(r&&r.selectedOptionIds)??[];if(t.target.checked)i.push(n.id);else{let e=i.findIndex(e=>e.value===n.id.value);i.splice(e,1)}return{...r,id:e,selectedOptionIds:i}})}},n.id.value)})})};export{o as SurveyMultipleChoiceQuestion};
@@ -1,5 +1,5 @@
1
- import{spacings as e}from"../../../atoms/style/spacings.js";import{useSurvey as t}from"../hooks/useSurvey.js";import{SurveyLinearScaleQuestion as n}from"./SurveyQuestion/SurveyLinearScaleQuestion.js";import{Content as r}from"./SurveyDialog.styles.js";import{Dialog as i}from"../../../molecules/Dialog/Dialog.js";import{InformationalNotice as a}from"../../../molecules/InformationalNotice/InformationalNotice.js";import{useState as o}from"react";import{Typography as s}from"@equinor/eds-core-react";import c from"styled-components";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{QuestionType as d,useAnswerQuestionActiveSurvey as f,useRespondActiveSurvey as p}from"@equinor/subsurface-app-management";const m=c.div`
1
+ import{spacings as e}from"../../../atoms/style/spacings.js";import{Dialog as t}from"../../../molecules/Dialog/Dialog.js";import{InformationalNotice as n}from"../../../molecules/InformationalNotice/InformationalNotice.js";import{useSurvey as r}from"../hooks/useSurvey.js";import{SurveyLinearScaleQuestion as i}from"./SurveyQuestion/SurveyLinearScaleQuestion.js";import{Content as a}from"./SurveyDialog.styles.js";import{useState as o}from"react";import{Typography as s}from"@equinor/eds-core-react";import c from"styled-components";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{QuestionType as d,useAnswerQuestionActiveSurvey as f,useRespondActiveSurvey as p}from"@equinor/subsurface-app-management";const m=c.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: ${e.medium_small};
5
- `,h=()=>{let{activeSurvey:e,hideSurvey:c,cancelSurvey:h,setActiveQuestionIndex:g,completeSurvey:_}=t(),{mutateAsync:v}=p(),{mutateAsync:y}=f(),[b,x]=o([]),[S,C]=o(!1);if(!e)return null;let w=b.length!==e.questions.length||b.some(e=>e.numericAnswer===void 0||e.numericAnswer===null);return l(i,{open:!0,width:650,title:e.title,onClose:h,actions:[{text:`Do not show me this again`,variant:`ghost`,onClick:c,position:`left`},{text:`Maybe later`,variant:`ghost`,onClick:h},{text:`Complete`,onClick:async()=>{C(!0);let t=await v({surveyId:e.surveyId,optOut:!1});await Promise.all(b.map(e=>y({surveyResponseId:t.value,body:e}))),C(!1),g(void 0),_()},isLoading:S,disabled:w}],children:u(r,{children:[l(a,{children:`Your insights help us create a better experience. Please take a moment to answer two short questions, it is completely anonymous.`}),e.questions.map((e,t)=>u(m,{children:[l(s,{variant:`body_short_bold`,children:e.questionText}),e.linearScaleVm&&l(n,{type:d.LINEAR_SCALE,questionText:e.questionText,questionId:e.questionId,linearScaleVm:e.linearScaleVm,answer:b[t],setAnswer:n=>{x(r=>{let i=[...r];return i[t]={...n,id:e.questionId},i})}})]},e.questionId.value))]})})};export{h as UmuxDialog};
5
+ `,h=()=>{let{activeSurvey:e,hideSurvey:c,cancelSurvey:h,setActiveQuestionIndex:g,completeSurvey:_}=r(),{mutateAsync:v}=p(),{mutateAsync:y}=f(),[b,x]=o([]),[S,C]=o(!1);if(!e)return null;let w=b.length!==e.questions.length||b.some(e=>e.numericAnswer===void 0||e.numericAnswer===null);return l(t,{open:!0,width:650,title:e.title,onClose:h,actions:[{text:`Do not show me this again`,variant:`ghost`,onClick:c,position:`left`},{text:`Maybe later`,variant:`ghost`,onClick:h},{text:`Complete`,onClick:async()=>{C(!0);let t=await v({surveyId:e.surveyId,optOut:!1});await Promise.all(b.map(e=>y({surveyResponseId:t.value,body:e}))),C(!1),g(void 0),_()},isLoading:S,disabled:w}],children:u(a,{children:[l(n,{children:`Your insights help us create a better experience. Please take a moment to answer two short questions, it is completely anonymous.`}),e.questions.map((e,t)=>u(m,{children:[l(s,{variant:`body_short_bold`,children:e.questionText}),e.linearScaleVm&&l(i,{type:d.LINEAR_SCALE,questionText:e.questionText,questionId:e.questionId,linearScaleVm:e.linearScaleVm,answer:b[t],setAnswer:n=>{x(r=>{let i=[...r];return i[t]={...n,id:e.questionId},i})}})]},e.questionId.value))]})})};export{h as UmuxDialog};
@@ -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": "12.0.7",
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",
@@ -20,7 +20,9 @@
20
20
  ],
21
21
  "sideEffects": false,
22
22
  "scripts": {
23
+ "clean": "rm -rf node_modules/.cache/storybook node_modules/.vite",
23
24
  "start": "storybook dev -p 6006",
25
+ "start:fresh": "npm run clean && storybook dev -p 6006",
24
26
  "build-storybook": "storybook build",
25
27
  "pretty": "prettier --check ./config ./src ./.storybook",
26
28
  "pretty:fix": "prettier --write ./config ./src ./.storybook",
@@ -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};