@equinor/amplify-component-lib 12.0.6 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atoms/hooks/useLocalStorage.d.ts +2 -2
- package/dist/atoms/hooks/useSelect.d.ts +3 -3
- package/dist/atoms/index.js +1 -1
- package/dist/deprecated/ExpandingIconButton/ExpandingIconButton.d.ts +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/molecules/Button/Button.d.ts +15 -7
- package/dist/molecules/Button/Button.js +1 -12
- package/dist/molecules/Button/Button.styles.js +88 -0
- package/dist/molecules/Button/Button.utils.js +1 -1
- package/dist/molecules/Button/IconButton/IconButton.d.ts +17 -0
- package/dist/molecules/Button/IconButton/IconButton.js +1 -0
- package/dist/molecules/Button/IconButton/IconButton.styles.js +69 -0
- package/dist/molecules/Button/tokens/danger.js +1 -0
- package/dist/molecules/Button/tokens/disabled.js +1 -0
- package/dist/molecules/Button/tokens/primary.js +1 -0
- package/dist/molecules/Button/tokens/tokens.js +1 -0
- package/dist/molecules/Button/types.d.ts +15 -0
- package/dist/molecules/Chip/Chip.d.ts +2 -2
- package/dist/molecules/DatePicker/DatePicker.d.ts +3 -3
- package/dist/molecules/DateRangePicker/DateRangePicker.d.ts +3 -3
- package/dist/molecules/Dialog/Dialog.d.ts +6 -5
- package/dist/molecules/Dialog/DialogAction.js +1 -1
- package/dist/molecules/EquinorLogo/EquinorLogo.d.ts +2 -2
- package/dist/molecules/FileUploadArea/FileUploadArea.js +1 -1
- package/dist/molecules/IconCell/IconCell.d.ts +2 -2
- package/dist/molecules/ListItem/ListItem.d.ts +2 -2
- package/dist/molecules/OptionalTooltip/OptionalTooltip.d.ts +4 -4
- package/dist/molecules/ProfileAvatar/ProfileAvatar.d.ts +2 -2
- package/dist/molecules/RichTextEditor/MenuBar/Table/TableColumn.js +1 -1
- package/dist/molecules/RichTextEditor/MenuBar/Table/TableMerge.js +1 -1
- package/dist/molecules/RichTextEditor/MenuBar/Table/TableRow.js +1 -1
- package/dist/molecules/RichTextEditor/MenuBar/Table/ToggleTable.js +1 -1
- package/dist/molecules/Search/Search.d.ts +2 -2
- package/dist/molecules/Select/ComboBox/ComboBox.d.ts +2 -2
- package/dist/molecules/Select/PersistentComboBox/PersistentComboBox.d.ts +2 -2
- package/dist/molecules/Select/Select.js +1 -1
- package/dist/molecules/Select/SingleSelect/SingleSelect.d.ts +2 -2
- package/dist/molecules/SelectionControls/Checkbox/Checkbox.d.ts +2 -2
- package/dist/molecules/SelectionControls/Radio/Radio.d.ts +2 -2
- package/dist/molecules/Skeleton/SkeletonBase/SkeletonBase.d.ts +2 -2
- package/dist/molecules/Stepper/Step/Step.js +1 -1
- package/dist/molecules/Stepper/Step/StepIcon.js +2 -2
- package/dist/molecules/Stepper/Stepper.d.ts +11 -0
- package/dist/molecules/Stepper/Stepper.js +1 -1
- package/dist/molecules/TableHeader/TableHeader.js +1 -1
- package/dist/molecules/TableHeader/TableHeader.utils.js +1 -1
- package/dist/molecules/TextField/TextField.js +3 -3
- package/dist/molecules/Toast/Toast.js +1 -1
- package/dist/molecules/index.d.ts +2 -1
- package/dist/molecules/index.js +1 -1
- package/dist/node_modules/@equinor/eds-utils/dist/esm/utils/templates/index.js +9 -0
- package/dist/organisms/ReleaseNote/ToggleExpanded.js +2 -2
- package/dist/organisms/SideBar/SideBar.d.ts +2 -2
- package/dist/organisms/SideSheet/SideSheet.d.ts +1 -0
- package/dist/organisms/SideSheet/SideSheet.js +1 -1
- package/dist/organisms/SideSheet/SideSheet.styles.js +9 -3
- package/dist/organisms/SideSheet/SideSheet.types.d.ts +4 -1
- package/dist/organisms/Status/Action.d.ts +2 -2
- package/dist/organisms/Status/Description.d.ts +2 -2
- package/dist/organisms/Status/MissingAccesses.d.ts +2 -2
- package/dist/organisms/Status/Title.d.ts +2 -2
- package/dist/organisms/Status/collections/BadRequest.d.ts +2 -2
- package/dist/organisms/Status/collections/GenericError.d.ts +2 -2
- package/dist/organisms/Status/collections/MissingPermissions.d.ts +2 -2
- package/dist/organisms/Status/collections/PageNotFound.d.ts +2 -2
- package/dist/organisms/Status/collections/ServerError.d.ts +2 -2
- package/dist/organisms/ToggleGroup/ToggleGroup.d.ts +2 -2
- package/dist/organisms/ToggleGroup/ToggleGroupOption.d.ts +2 -2
- package/dist/organisms/TopBar/Account/Account.js +1 -1
- package/dist/organisms/TopBar/Account/ImpersonateMenu/DeleteUser/DeleteUser.js +1 -1
- package/dist/organisms/TopBar/Actions.d.ts +2 -2
- package/dist/organisms/TopBar/FieldMenu/FieldMenu.d.ts +2 -2
- package/dist/organisms/TopBar/Notifications/NotificationProvider.d.ts +2 -2
- package/dist/organisms/TopBar/Resources/ReleaseNotesDialog/ReleaseNotesDialog.js +1 -1
- package/dist/providers/StepperProvider.js +1 -1
- package/dist/providers/SurveyProvider/SurveyDialog/SurveyDialog.js +1 -1
- package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyFreeTextQuestion.js +2 -2
- package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyLinearScaleQuestion.js +2 -2
- package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyMultipleChoiceQuestion.js +2 -2
- package/dist/providers/SurveyProvider/SurveyDialog/UmuxDialog.js +2 -2
- package/package.json +3 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ToggleGroup as ToggleGroup$1 } from "./ToggleGroup.types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react212 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/organisms/ToggleGroup/ToggleGroup.d.ts
|
|
5
|
-
declare const ToggleGroup:
|
|
5
|
+
declare const ToggleGroup: react212.ForwardRefExoticComponent<ToggleGroup$1 & react212.RefAttributes<HTMLDivElement>>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ToggleGroup };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ToggleGroupOption as ToggleGroupOption$1 } from "./ToggleGroup.types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react210 from "react";
|
|
3
3
|
import { HTMLAttributes } from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/organisms/ToggleGroup/ToggleGroupOption.d.ts
|
|
6
6
|
type ToggleGroupOptionProps = ToggleGroupOption$1 & Omit<HTMLAttributes<HTMLButtonElement>, 'onToggle' | 'disabled'>;
|
|
7
|
-
declare const ToggleGroupOption:
|
|
7
|
+
declare const ToggleGroupOption: react210.ForwardRefExoticComponent<ToggleGroupOptionProps & react210.RefAttributes<HTMLButtonElement>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { ToggleGroupOption };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../../atoms/enums/Environment.js";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{Button as r}from"../../../molecules/Button/Button.js";import{TopBarMenu as i}from"../TopBarMenu.js";import{useActiveImpersonationUser as a}from"./ImpersonateMenu/hooks/useActiveImpersonationUser.js";import{useCanImpersonate as o}from"./ImpersonateMenu/hooks/useCanImpersonate.js";import{useMappedRoles as
|
|
1
|
+
import"../../../atoms/enums/Environment.js";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{Button as r}from"../../../molecules/Button/Button.js";import{TopBarMenu as i}from"../TopBarMenu.js";import{useActiveImpersonationUser as a}from"./ImpersonateMenu/hooks/useActiveImpersonationUser.js";import{useCanImpersonate as o}from"./ImpersonateMenu/hooks/useCanImpersonate.js";import{useMappedRoles as ee}from"./ImpersonateMenu/hooks/useMappedRoles.js";import{useStopImpersonation as s}from"./ImpersonateMenu/hooks/useStopImpersonation.js";import{ButtonWrapper as c,Container as l,EnvironmentToggleWrapper as u,TextContent as d}from"./Account.styles.js";import{impersonateUserDtoToFullName as te}from"./ImpersonateMenu/Impersonate.utils.js";import{ImpersonateMenu as f}from"./ImpersonateMenu/ImpersonateMenu.js";import{AccountAvatar as p}from"./AccountAvatar.js";import{AccountButton as m}from"./AccountButton.js";import{ActiveUserImpersonationButton as h}from"./ActiveUserImpersonationButton.js";import{ImpersonateButton as g}from"./ImpersonateButton.js";import{RoleList as _}from"./RoleList.js";import{EnvironmentToggle as ne}from"./EnvironmentToggle.js";import{StatusChips as v}from"./StatusChips.js";import{useCallback as re,useEffect as ie,useMemo as y,useRef as b,useState as x}from"react";import{Typography as S}from"@equinor/eds-core-react";import{Fragment as C,jsx as w,jsxs as T}from"react/jsx-runtime";import{log_out as E}from"@equinor/eds-icons";import{ENVIRONMENT_TOGGLE_KEY as D}from"@equinor/subsurface-app-management";const O=({renderCustomButton:O,hideRoles:k=!1,useDisplayNameForRole:A=!1,children:j,enableEnvironmentToggle:M=!1,onImpersonateChange:N})=>{let P=e.getEnvironmentName(import.meta.env.VITE_ENVIRONMENT_NAME),F=e.getApiClientId(import.meta.env.VITE_API_CLIENT_ID),I=e.getAppName(import.meta.env.VITE_NAME),{account:L,roles:R,logout:z}=t(),[B,V]=x(!1),[H,U]=x(!1),[W,G]=n(D,[]),K=b(null),{data:q=!0}=o(),{data:J}=a(),{mutate:Y}=s(),X=ee(J?J.roles:R??[],A),ae=J?te(J):L?.name,oe=J?J.uniqueName:L?.username,Z=()=>V(!1),Q=re(()=>{V(e=>!e),U(!1)},[]),$=()=>{U(!0),V(!1)};return ie(()=>{J&&J.appName!=null&&J.appName.toUpperCase()!=I.toUpperCase()&&Y()},[J,I,Y]),T(C,{children:[y(()=>O?O(K,Q):null,[O,Q])||w(m,{ref:K,onClick:Q,environmentToggle:W}),T(i,{open:B,title:`Account`,onClose:Z,anchorEl:K.current,children:[T(l,{children:[J&&w(h,{onClick:$}),w(p,{environmentToggle:W}),T(d,{children:[w(S,{variant:`h6`,children:ae}),w(S,{children:oe})]}),W.length>0&&w(v,{statuses:W}),X&&!k&&w(C,{children:X.length<=3?w(v,{statuses:X}):w(_,{roles:X})}),j,q&&P!==`production`&&F&&w(g,{onOpenImpersonateMenu:$,onClose:Z,onImpersonateChange:N})]}),M&&P!==`production`&&w(u,{children:w(ne,{setEnvironmentToggle:G,environmentToggle:W})}),w(c,{children:w(r,{label:`Log out`,leadingIcon:E,variant:`ghost`,onClick:z})})]}),w(f,{open:H,onClose:()=>U(!1),anchorEl:K.current,onImpersonateChange:N})]})};O.displayName=`TopBar.Account`;export{O as Account};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{colors as e}from"../../../../../atoms/style/colors.js";import{useSnackbar as t}from"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import{Button as n}from"../../../../../molecules/Button/Button.js";import{
|
|
1
|
+
import{colors as e}from"../../../../../atoms/style/colors.js";import{useSnackbar as t}from"../../../../../providers/SnackbarProvider/SnackbarProvider.js";import{Button as n}from"../../../../../molecules/Button/Button.js";import{IconButton as r}from"../../../../../molecules/Button/IconButton/IconButton.js";import{Header as i}from"../Impersonate.styles.js";import{useDeleteImpersonation as a}from"../hooks/useDeleteImpersonation.js";import{Container as o}from"./DeleteUser.styles.js";import{RoleChip as s,RolesContainer as c,TextContent as l}from"../../Account.styles.js";import{StatusAvatar as u}from"../../StatusAvatar.js";import{Typography as d}from"@equinor/eds-core-react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{arrow_back as m,delete_to_trash as h}from"@equinor/eds-icons";const g=({user:g,onBack:_})=>{let{mutateAsync:v,isPending:y}=a(),{showSnackbar:b}=t(),x=`${g.firstName} ${g.lastName}`;return p(o,{children:[p(i,{children:[f(r,{icon:m,variant:`ghost`,onClick:_}),f(d,{variant:`h6`,children:`Delete user`})]}),p(`section`,{children:[f(d,{variant:`h4`,children:`You are deleting a user`}),p(d,{variant:`caption`,color:e.text.static_icons__tertiary.rgba,children:[`Are you sure you want to delete user "`,x,`"?`]})]}),f(u,{size:64,name:x,variant:`impersonate`}),p(l,{children:[f(d,{variant:`h6`,children:x}),f(d,{children:g.uniqueName})]}),f(c,{children:g.roles.map(e=>f(s,{children:e},e))}),p(`div`,{children:[f(n,{loading:y,leadingIcon:h,variant:`outlined`,color:`danger`,label:`Delete user`,onClick:async()=>{await v(g),b(`Deleted user "${x}" successfully`),_()}}),f(n,{label:`Cancel`,variant:`ghost`,onClick:_})]})]})};export{g as DeleteUser};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react198 from "react";
|
|
2
2
|
import { HTMLAttributes } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/organisms/TopBar/Actions.d.ts
|
|
5
|
-
declare const Actions:
|
|
5
|
+
declare const Actions: react198.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react198.RefAttributes<HTMLDivElement>>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { Actions };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field } from "../../../atoms/types/Field.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react196 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/organisms/TopBar/FieldMenu/FieldMenu.d.ts
|
|
5
5
|
interface FieldMenuProps {
|
|
@@ -8,6 +8,6 @@ interface FieldMenuProps {
|
|
|
8
8
|
itemNameSingular?: string;
|
|
9
9
|
showAccessITLink?: boolean;
|
|
10
10
|
}
|
|
11
|
-
declare const FieldMenu:
|
|
11
|
+
declare const FieldMenu: react196.ForwardRefExoticComponent<FieldMenuProps & react196.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { FieldMenu };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react195 from "react";
|
|
2
2
|
import { Dispatch, FC, ReactNode, SetStateAction } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/organisms/TopBar/Notifications/NotificationProvider.d.ts
|
|
@@ -6,7 +6,7 @@ interface NotificationContext {
|
|
|
6
6
|
setIsOpen: Dispatch<SetStateAction<boolean>>;
|
|
7
7
|
isOpen: boolean;
|
|
8
8
|
}
|
|
9
|
-
declare const NotificationContext:
|
|
9
|
+
declare const NotificationContext: react195.Context<NotificationContext | undefined>;
|
|
10
10
|
declare const useNotification: () => NotificationContext;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { useNotification };
|
|
@@ -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{
|
|
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 +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)},
|
|
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{
|
|
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{
|
|
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}=
|
|
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};
|
package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyLinearScaleQuestion.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
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}=
|
|
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};
|
package/dist/providers/SurveyProvider/SurveyDialog/SurveyQuestion/SurveyMultipleChoiceQuestion.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{spacings as e}from"../../../../atoms/style/spacings.js";import{
|
|
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}=
|
|
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{
|
|
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:_}=
|
|
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};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/amplify-component-lib",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.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",
|