@unite-us/app-create-referral 0.15.150 → 0.15.151
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/AppReferrals.scss +0 -1
- package/dist/common/form/CurrencyField/index.js +1 -2
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/ErrorMessage/index.js +2 -2
- package/dist/common/form/ErrorMessage/index.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +5 -5
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.test.js +2 -2
- package/dist/common/form/FileUploadV2/FileUpload.test.js.map +1 -1
- package/dist/common/form/FileUploadV2/stylesheets/FileUpload.scss +4 -4
- package/dist/common/form/FormForm/index.js +16 -6
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/common/form/FormForm/index.scss +8 -23
- package/dist/components/ExpandableButton.js +3 -2
- package/dist/components/ExpandableButton.js.map +1 -1
- package/dist/components/LineItem.js +1 -1
- package/dist/components/LineItem.js.map +1 -1
- package/dist/components/SearchableField.js +7 -6
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/StepHeader.js +2 -2
- package/dist/components/StepHeader.js.map +1 -1
- package/dist/components/Stepper.js +2 -2
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +2 -2
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/modal/Dialog.scss +1 -1
- package/dist/components/service_authorization/CaseStatus.js +2 -2
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.scss +1 -1
- package/dist/components/spinners/Spinner/Spinner.scss +2 -2
- package/dist/pages/builder/components/AuthorizationSubform.js +1 -2
- package/dist/pages/builder/components/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/components/ProgramHeader.js +1 -1
- package/dist/pages/builder/components/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/components/ReferralCard.js +3 -3
- package/dist/pages/builder/components/ReferralCard.js.map +1 -1
- package/dist/pages/builder/utils.js +3 -3
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DeleteReferralModal.js +1 -1
- package/dist/pages/review/DeleteReferralModal.js.map +1 -1
- package/dist/pages/review/Review.js +7 -5
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/styles/variables.scss +8 -2
- package/package.json +1 -1
package/dist/AppReferrals.scss
CHANGED
|
@@ -4,8 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import React, { useImperativeHandle } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { omit, get } from 'lodash';
|
|
7
|
-
import { InputField } from '@unite-us/app-components';
|
|
8
|
-
import { getPreferredProp } from '@unite-us/ui';
|
|
7
|
+
import { InputField, getPreferredProp } from '@unite-us/app-components';
|
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
9
|
const dollarsToCents = dollarValue => {
|
|
11
10
|
const centValue = parseFloat(dollarValue) * 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useImperativeHandle","PropTypes","omit","get","InputField","getPreferredProp","jsx","_jsx","dollarsToCents","dollarValue","centValue","parseFloat","Math","abs","parseInt","toFixed","CurrencyField","forwardRef","props","ref","reduxOnChange","reduxOnBlur","toDollarValue","floatNum","Number","isNaN","onChange","event","value","onBlur","inputProps","_objectSpread","type","placeholder","step","propTypes","func","string","field","object","defaultProps"],"sources":["../../../../src/common/form/CurrencyField/index.js"],"sourcesContent":["import React, { useImperativeHandle } from 'react';\nimport PropTypes from 'prop-types';\nimport { omit, get } from 'lodash';\nimport { InputField } from '@unite-us/app-components';\
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useImperativeHandle","PropTypes","omit","get","InputField","getPreferredProp","jsx","_jsx","dollarsToCents","dollarValue","centValue","parseFloat","Math","abs","parseInt","toFixed","CurrencyField","forwardRef","props","ref","reduxOnChange","reduxOnBlur","toDollarValue","floatNum","Number","isNaN","onChange","event","value","onBlur","inputProps","_objectSpread","type","placeholder","step","propTypes","func","string","field","object","defaultProps"],"sources":["../../../../src/common/form/CurrencyField/index.js"],"sourcesContent":["import React, { useImperativeHandle } from 'react';\nimport PropTypes from 'prop-types';\nimport { omit, get } from 'lodash';\nimport { InputField, getPreferredProp } from '@unite-us/app-components';\n\nconst dollarsToCents = (dollarValue) => {\n const centValue = parseFloat(dollarValue) * 100;\n return Math.abs(parseInt(centValue.toFixed(2), 10));\n};\n\nconst CurrencyField = React.forwardRef((props, ref) => {\n useImperativeHandle(ref, () => ({ props }));\n\n const reduxOnChange = getPreferredProp(props, 'onChange');\n const reduxOnBlur = getPreferredProp(props, 'onBlur');\n\n const toDollarValue = (centValue) => {\n const floatNum = parseFloat(centValue) / 100;\n return Number.isNaN(floatNum) ? '' : floatNum;\n };\n\n const onChange = (event) => {\n const value = get(event, 'target.value', '');\n reduxOnChange(dollarsToCents(value));\n };\n\n const onBlur = (event) => {\n const value = get(event, 'target.value', '');\n reduxOnBlur(dollarsToCents(value));\n };\n\n const value = getPreferredProp(props, 'value');\n const inputProps = omit(props, [\n 'field.onBlur',\n 'field.onChange',\n 'field.initialValue',\n 'field.value',\n 'input.onBlur',\n 'input.onChange',\n 'input.value',\n 'meta.initial',\n ]);\n const dollarValue = toDollarValue(value);\n\n return (\n <InputField\n {...inputProps}\n onChange={onChange}\n onBlur={onBlur}\n type=\"number\"\n placeholder=\"0.00\"\n step=\"0.1\"\n value={dollarValue}\n />\n );\n});\n\nCurrencyField.propTypes = {\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n value: PropTypes.string,\n field: PropTypes.object,\n};\n\nCurrencyField.defaultProps = {\n onChange: null,\n onBlur: null,\n value: '',\n field: null,\n};\n\nexport default CurrencyField;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,mBAAmB,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,EAAEC,GAAG,QAAQ,QAAQ;AAClC,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExE,MAAMC,cAAc,GAAIC,WAAW,IAAK;EACtC,MAAMC,SAAS,GAAGC,UAAU,CAACF,WAAW,CAAC,GAAG,GAAG;EAC/C,OAAOG,IAAI,CAACC,GAAG,CAACC,QAAQ,CAACJ,SAAS,CAACK,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAMC,aAAa,gBAAGjB,KAAK,CAACkB,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACrDnB,mBAAmB,CAACmB,GAAG,EAAE,OAAO;IAAED;EAAM,CAAC,CAAC,CAAC;EAE3C,MAAME,aAAa,GAAGf,gBAAgB,CAACa,KAAK,EAAE,UAAU,CAAC;EACzD,MAAMG,WAAW,GAAGhB,gBAAgB,CAACa,KAAK,EAAE,QAAQ,CAAC;EAErD,MAAMI,aAAa,GAAIZ,SAAS,IAAK;IACnC,MAAMa,QAAQ,GAAGZ,UAAU,CAACD,SAAS,CAAC,GAAG,GAAG;IAC5C,OAAOc,MAAM,CAACC,KAAK,CAACF,QAAQ,CAAC,GAAG,EAAE,GAAGA,QAAQ;EAC/C,CAAC;EAED,MAAMG,QAAQ,GAAIC,KAAK,IAAK;IAC1B,MAAMC,KAAK,GAAGzB,GAAG,CAACwB,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;IAC5CP,aAAa,CAACZ,cAAc,CAACoB,KAAK,CAAC,CAAC;EACtC,CAAC;EAED,MAAMC,MAAM,GAAIF,KAAK,IAAK;IACxB,MAAMC,KAAK,GAAGzB,GAAG,CAACwB,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;IAC5CN,WAAW,CAACb,cAAc,CAACoB,KAAK,CAAC,CAAC;EACpC,CAAC;EAED,MAAMA,KAAK,GAAGvB,gBAAgB,CAACa,KAAK,EAAE,OAAO,CAAC;EAC9C,MAAMY,UAAU,GAAG5B,IAAI,CAACgB,KAAK,EAAE,CAC7B,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,CACf,CAAC;EACF,MAAMT,WAAW,GAAGa,aAAa,CAACM,KAAK,CAAC;EAExC,oBACErB,IAAA,CAACH,UAAU,EAAA2B,aAAA,CAAAA,aAAA,KACLD,UAAU;IACdJ,QAAQ,EAAEA,QAAS;IACnBG,MAAM,EAAEA,MAAO;IACfG,IAAI,EAAC,QAAQ;IACbC,WAAW,EAAC,MAAM;IAClBC,IAAI,EAAC,KAAK;IACVN,KAAK,EAAEnB;EAAY,EACpB,CAAC;AAEN,CAAC,CAAC;AAEFO,aAAa,CAACmB,SAAS,GAAG;EACxBT,QAAQ,EAAEzB,SAAS,CAACmC,IAAI;EACxBP,MAAM,EAAE5B,SAAS,CAACmC,IAAI;EACtBR,KAAK,EAAE3B,SAAS,CAACoC,MAAM;EACvBC,KAAK,EAAErC,SAAS,CAACsC;AACnB,CAAC;AAEDvB,aAAa,CAACwB,YAAY,GAAG;EAC3Bd,QAAQ,EAAE,IAAI;EACdG,MAAM,EAAE,IAAI;EACZD,KAAK,EAAE,EAAE;EACTU,KAAK,EAAE;AACT,CAAC;AAED,eAAetB,aAAa","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { Icon } from '@unite-us/
|
|
3
|
+
import { Icon } from '@unite-us/app-components';
|
|
4
4
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
const ErrorMessage = _ref => {
|
|
6
6
|
let {
|
|
@@ -10,7 +10,7 @@ const ErrorMessage = _ref => {
|
|
|
10
10
|
children: [/*#__PURE__*/_jsx("div", {
|
|
11
11
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
12
12
|
className: "fill-current text-red mr-1",
|
|
13
|
-
icon: "
|
|
13
|
+
icon: "ExclamationCircle",
|
|
14
14
|
size: 16
|
|
15
15
|
})
|
|
16
16
|
}), /*#__PURE__*/_jsx("p", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","Icon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ErrorMessage","_ref","children","className","icon","size","propTypes","node","isRequired"],"sources":["../../../../src/common/form/ErrorMessage/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icon } from '@unite-us/
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","Icon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ErrorMessage","_ref","children","className","icon","size","propTypes","node","isRequired"],"sources":["../../../../src/common/form/ErrorMessage/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icon } from '@unite-us/app-components';\n\nconst ErrorMessage = ({ children }) => (\n <>\n <div>\n <Icon \n className=\"fill-current text-red mr-1\"\n icon=\"ExclamationCircle\"\n size={16}\n />\n </div>\n <p className=\"text-red text-13px\">\n {children}\n </p>\n </>\n);\n \n \nErrorMessage.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ErrorMessage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhD,MAAMC,YAAY,GAAGC,IAAA;EAAA,IAAC;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAAA,oBAChCF,KAAA,CAAAF,SAAA;IAAAK,QAAA,gBACEP,IAAA;MAAAO,QAAA,eACEP,IAAA,CAACF,IAAI;QACDU,SAAS,EAAC,4BAA4B;QACtCC,IAAI,EAAC,mBAAmB;QACxBC,IAAI,EAAE;MAAG,CACZ;IAAC,CACC,CAAC,eACNV,IAAA;MAAGQ,SAAS,EAAC,oBAAoB;MAAAD,QAAA,EAC/BA;IAAQ,CACP,CAAC;EAAA,CACJ,CAAC;AAAA,CACJ;AAGDF,YAAY,CAACM,SAAS,GAAG;EACvBJ,QAAQ,EAAEV,SAAS,CAACe,IAAI,CAACC;AAC3B,CAAC;AAED,eAAeR,YAAY","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { PropTypes } from 'prop-types';
|
|
6
6
|
import { useDropzone } from 'react-dropzone';
|
|
7
|
-
import { Icon } from '@unite-us/
|
|
7
|
+
import { Icon } from '@unite-us/app-components';
|
|
8
8
|
import { generateUUID } from '../../utils/utils';
|
|
9
9
|
import FilePreviewWrapper from './components/FilePreviewWrapper';
|
|
10
10
|
import './stylesheets/FileUpload.scss';
|
|
@@ -87,7 +87,7 @@ export const FileUpload = _ref => {
|
|
|
87
87
|
children: [/*#__PURE__*/_jsx("div", {
|
|
88
88
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
89
89
|
className: "mr-2 text-validation-red fill-current pb-1",
|
|
90
|
-
icon: '
|
|
90
|
+
icon: 'Warning',
|
|
91
91
|
size: 14
|
|
92
92
|
})
|
|
93
93
|
}), /*#__PURE__*/_jsxs("div", {
|
|
@@ -112,7 +112,7 @@ export const FileUpload = _ref => {
|
|
|
112
112
|
children: [/*#__PURE__*/_jsx("div", {
|
|
113
113
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
114
114
|
className: "mr-2 text-validation-red fill-current pb-1",
|
|
115
|
-
icon: '
|
|
115
|
+
icon: 'Warning',
|
|
116
116
|
size: 14
|
|
117
117
|
})
|
|
118
118
|
}), /*#__PURE__*/_jsx("span", {
|
|
@@ -132,7 +132,7 @@ export const FileUpload = _ref => {
|
|
|
132
132
|
children: [/*#__PURE__*/_jsx("div", {
|
|
133
133
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
134
134
|
className: "mr-2 text-validation-red fill-current pb-1",
|
|
135
|
-
icon: '
|
|
135
|
+
icon: 'Warning',
|
|
136
136
|
size: 14
|
|
137
137
|
})
|
|
138
138
|
}), /*#__PURE__*/_jsx("span", {
|
|
@@ -154,7 +154,7 @@ export const FileUpload = _ref => {
|
|
|
154
154
|
children: [/*#__PURE__*/_jsx("div", {
|
|
155
155
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
156
156
|
className: "mb-3 text-dark-blue",
|
|
157
|
-
icon: '
|
|
157
|
+
icon: 'Upload',
|
|
158
158
|
size: 16,
|
|
159
159
|
color: 'none'
|
|
160
160
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.js","names":["React","PropTypes","useDropzone","Icon","generateUUID","FilePreviewWrapper","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ACCEPTED_FILE_TYPES","MAX_FILE_SIZE","FileUpload","_ref","rejectedFiles","uploadedFiles","existingFiles","setRejectedFiles","setUploadedFiles","onRemovePendingFile","onRemovePersistedFile","onDrop","acceptedFiles","fileUploadWithIdAndPreview","map","file","tempId","preview","URL","createObjectURL","filesTooBig","filesWrongType","currentFiles","onDropRejected","fileRejections","filesTooBigAndWrongType","reduce","acc","rejectedFile","size","includes","type","_objectSpread","name","getRootProps","getInputProps","accept","maxSize","children","length","className","icon","concat","color","propTypes","object","isRequired","array","func","defaultProps","undefined"],"sources":["../../../../src/common/form/FileUploadV2/FileUpload.jsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useDropzone } from 'react-dropzone';\nimport { Icon } from '@unite-us/ui';\nimport { generateUUID } from '../../utils/utils';\nimport FilePreviewWrapper from './components/FilePreviewWrapper';\nimport './stylesheets/FileUpload.scss';\n\nconst ACCEPTED_FILE_TYPES = `text/csv, application/msword,\napplication/vnd.openxmlformats-officedocument.wordprocessingml.document,\napplication/pdf, application/rtf, text/rtf, application/x-rtf, text/plain,\napplication/excel, application/vnd.ms-excel, application/x-excel, application/x-msexcel,\napplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet,\napplication/vnd.ms-excel.sheet.binary.macroEnabled.12,\napplication/vnd.ms-excel,\napplication/vnd.ms-excel.sheet.macroEnabled.12,\nimage/gif, image/jpg, image/jpeg, image/png, audio/mpeg, audio/m4a,\naudio/x-m4a, audio/wav, audio/x-wav, audio/x-ms-wma, video/x-ms-wma`;\nconst MAX_FILE_SIZE = 10000000;\n\nexport const FileUpload = ({\n rejectedFiles,\n uploadedFiles,\n existingFiles,\n setRejectedFiles,\n setUploadedFiles,\n onRemovePendingFile,\n onRemovePersistedFile,\n}) => {\n const onDrop = (acceptedFiles) => {\n const fileUploadWithIdAndPreview = acceptedFiles.map((file) => ({\n file,\n tempId: generateUUID(),\n preview: URL.createObjectURL(file),\n }));\n\n setRejectedFiles({ filesTooBig: [], filesWrongType: [] });\n setUploadedFiles((currentFiles) => [...currentFiles, ...fileUploadWithIdAndPreview]);\n };\n\n const onDropRejected = (fileRejections) => {\n const { filesTooBig, filesWrongType, filesTooBigAndWrongType } = fileRejections.reduce((acc, rejectedFile) => {\n if (rejectedFile.size > MAX_FILE_SIZE && !ACCEPTED_FILE_TYPES.includes(rejectedFile.type)) {\n return { ...acc, filesTooBigAndWrongType: [...acc.filesTooBigAndWrongType, rejectedFile.name] };\n }\n\n if (rejectedFile.size > MAX_FILE_SIZE) {\n return { ...acc, filesTooBig: [...acc.filesTooBig, rejectedFile.name] };\n }\n\n if (!ACCEPTED_FILE_TYPES.includes(rejectedFile.type)) {\n return { ...acc, filesWrongType: [...acc.filesWrongType, rejectedFile.name] };\n }\n\n return acc;\n }, { filesTooBig: [], filesWrongType: [], filesTooBigAndWrongType: [] });\n\n setRejectedFiles({ filesTooBig, filesWrongType, filesTooBigAndWrongType });\n };\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: ACCEPTED_FILE_TYPES,\n maxSize: MAX_FILE_SIZE,\n onDrop,\n onDropRejected,\n });\n\n const { filesTooBig = [], filesWrongType = [], filesTooBigAndWrongType = [] } = rejectedFiles;\n\n return (\n <>\n {\n filesTooBigAndWrongType.length ? (\n <div>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'V2Warning'}\n size={14}\n />\n </div>\n <div>\n <div className={'text-sm text-validation-red'}>\n This file type is not supported and exceeds the maximum upload size of 10MB.\n </div>\n <div className={'text-sm text-validation-red mt-2'}>\n Accepted formats are CSV .DOC .DOCX .PDF .RTF .TXT .XLS .XLSX .GIF .JPG .JPEG .PNG .MP3 .M4A .WAV .WMA\n </div>\n </div>\n </div>\n <ul>\n {\n filesTooBigAndWrongType.map(\n (file) => <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>,\n )\n }\n </ul>\n </div>\n ) : null\n }\n {\n filesWrongType.length ? (\n <div className={`${filesTooBigAndWrongType.length ? 'mt-3' : ''}`}>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'V2Warning'}\n size={14}\n />\n </div>\n <span className={'text-sm text-validation-red'}>\n This file type is not supported. Accepted formats are CSV .DOC .DOCX .PDF .RTF\n .TXT .XLS .XLSX .GIF .JPG .JPEG .PNG .MP3 .M4A .WAV .WMA\n </span>\n </div>\n <ul>\n {\n filesWrongType.map(\n (file) => <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>,\n )\n }\n </ul>\n </div>\n ) : null\n }\n {\n filesTooBig.length ? (\n <div className={`${(filesWrongType.length || filesTooBigAndWrongType.length) ? 'mt-3' : ''}`}>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'V2Warning'}\n size={14}\n />\n </div>\n <span className={'text-sm text-validation-red'}>\n The following file exceeds the maximum upload size of 10MB\n </span>\n </div>\n <ul>\n {\n filesTooBig.map((file) => (\n <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>\n ))\n }\n </ul>\n </div>\n ) : null\n }\n <div {...getRootProps()} className=\"file-upload-dropzone mb-3 mt-5 w-full\">\n <div className=\"file-upload-dropzone__preview\">\n <div className=\"text-center\">\n <div>\n <Icon\n className=\"mb-3 text-dark-blue\"\n icon={'V2Upload'}\n size={16}\n color={'none'}\n />\n </div>\n <div\n className=\"mb-2 text-base text-dark-blue\"\n >\n Drag and drop files or <button className=\"text-current-blue text-base\">Browse</button>\n </div>\n <p className=\"text-xs\">\n Supported: csv, doc, docx, pdf, rtf, txt, xls, xlsx, gif, jpg, jpeg, png, mp3, m4a, wav, wma\n </p>\n <p className=\"text-xs\">Maximum file size: 10mb</p>\n </div>\n <FilePreviewWrapper\n existingFiles={existingFiles}\n uploadedFiles={uploadedFiles}\n onRemovePendingFile={onRemovePendingFile}\n onRemovePersistedFile={onRemovePersistedFile}\n />\n <input {...getInputProps()} />\n </div>\n </div>\n </>\n );\n};\n\nFileUpload.propTypes = {\n rejectedFiles: PropTypes.object.isRequired,\n uploadedFiles: PropTypes.array.isRequired,\n existingFiles: PropTypes.array,\n setRejectedFiles: PropTypes.func.isRequired,\n setUploadedFiles: PropTypes.func.isRequired,\n onRemovePendingFile: PropTypes.func,\n onRemovePersistedFile: PropTypes.func,\n};\n\nFileUpload.defaultProps = {\n existingFiles: [],\n onRemovePendingFile: undefined,\n onRemovePersistedFile: undefined,\n};\n\nexport default FileUpload;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUpload.js","names":["React","PropTypes","useDropzone","Icon","generateUUID","FilePreviewWrapper","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ACCEPTED_FILE_TYPES","MAX_FILE_SIZE","FileUpload","_ref","rejectedFiles","uploadedFiles","existingFiles","setRejectedFiles","setUploadedFiles","onRemovePendingFile","onRemovePersistedFile","onDrop","acceptedFiles","fileUploadWithIdAndPreview","map","file","tempId","preview","URL","createObjectURL","filesTooBig","filesWrongType","currentFiles","onDropRejected","fileRejections","filesTooBigAndWrongType","reduce","acc","rejectedFile","size","includes","type","_objectSpread","name","getRootProps","getInputProps","accept","maxSize","children","length","className","icon","concat","color","propTypes","object","isRequired","array","func","defaultProps","undefined"],"sources":["../../../../src/common/form/FileUploadV2/FileUpload.jsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useDropzone } from 'react-dropzone';\nimport { Icon } from '@unite-us/app-components';\nimport { generateUUID } from '../../utils/utils';\nimport FilePreviewWrapper from './components/FilePreviewWrapper';\nimport './stylesheets/FileUpload.scss';\n\nconst ACCEPTED_FILE_TYPES = `text/csv, application/msword,\napplication/vnd.openxmlformats-officedocument.wordprocessingml.document,\napplication/pdf, application/rtf, text/rtf, application/x-rtf, text/plain,\napplication/excel, application/vnd.ms-excel, application/x-excel, application/x-msexcel,\napplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet,\napplication/vnd.ms-excel.sheet.binary.macroEnabled.12,\napplication/vnd.ms-excel,\napplication/vnd.ms-excel.sheet.macroEnabled.12,\nimage/gif, image/jpg, image/jpeg, image/png, audio/mpeg, audio/m4a,\naudio/x-m4a, audio/wav, audio/x-wav, audio/x-ms-wma, video/x-ms-wma`;\nconst MAX_FILE_SIZE = 10000000;\n\nexport const FileUpload = ({\n rejectedFiles,\n uploadedFiles,\n existingFiles,\n setRejectedFiles,\n setUploadedFiles,\n onRemovePendingFile,\n onRemovePersistedFile,\n}) => {\n const onDrop = (acceptedFiles) => {\n const fileUploadWithIdAndPreview = acceptedFiles.map((file) => ({\n file,\n tempId: generateUUID(),\n preview: URL.createObjectURL(file),\n }));\n\n setRejectedFiles({ filesTooBig: [], filesWrongType: [] });\n setUploadedFiles((currentFiles) => [...currentFiles, ...fileUploadWithIdAndPreview]);\n };\n\n const onDropRejected = (fileRejections) => {\n const { filesTooBig, filesWrongType, filesTooBigAndWrongType } = fileRejections.reduce((acc, rejectedFile) => {\n if (rejectedFile.size > MAX_FILE_SIZE && !ACCEPTED_FILE_TYPES.includes(rejectedFile.type)) {\n return { ...acc, filesTooBigAndWrongType: [...acc.filesTooBigAndWrongType, rejectedFile.name] };\n }\n\n if (rejectedFile.size > MAX_FILE_SIZE) {\n return { ...acc, filesTooBig: [...acc.filesTooBig, rejectedFile.name] };\n }\n\n if (!ACCEPTED_FILE_TYPES.includes(rejectedFile.type)) {\n return { ...acc, filesWrongType: [...acc.filesWrongType, rejectedFile.name] };\n }\n\n return acc;\n }, { filesTooBig: [], filesWrongType: [], filesTooBigAndWrongType: [] });\n\n setRejectedFiles({ filesTooBig, filesWrongType, filesTooBigAndWrongType });\n };\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: ACCEPTED_FILE_TYPES,\n maxSize: MAX_FILE_SIZE,\n onDrop,\n onDropRejected,\n });\n\n const { filesTooBig = [], filesWrongType = [], filesTooBigAndWrongType = [] } = rejectedFiles;\n\n return (\n <>\n {\n filesTooBigAndWrongType.length ? (\n <div>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'Warning'}\n size={14}\n />\n </div>\n <div>\n <div className={'text-sm text-validation-red'}>\n This file type is not supported and exceeds the maximum upload size of 10MB.\n </div>\n <div className={'text-sm text-validation-red mt-2'}>\n Accepted formats are CSV .DOC .DOCX .PDF .RTF .TXT .XLS .XLSX .GIF .JPG .JPEG .PNG .MP3 .M4A .WAV .WMA\n </div>\n </div>\n </div>\n <ul>\n {\n filesTooBigAndWrongType.map(\n (file) => <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>,\n )\n }\n </ul>\n </div>\n ) : null\n }\n {\n filesWrongType.length ? (\n <div className={`${filesTooBigAndWrongType.length ? 'mt-3' : ''}`}>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'Warning'}\n size={14}\n />\n </div>\n <span className={'text-sm text-validation-red'}>\n This file type is not supported. Accepted formats are CSV .DOC .DOCX .PDF .RTF\n .TXT .XLS .XLSX .GIF .JPG .JPEG .PNG .MP3 .M4A .WAV .WMA\n </span>\n </div>\n <ul>\n {\n filesWrongType.map(\n (file) => <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>,\n )\n }\n </ul>\n </div>\n ) : null\n }\n {\n filesTooBig.length ? (\n <div className={`${(filesWrongType.length || filesTooBigAndWrongType.length) ? 'mt-3' : ''}`}>\n <div className=\"flex\">\n <div>\n <Icon\n className=\"mr-2 text-validation-red fill-current pb-1\"\n icon={'Warning'}\n size={14}\n />\n </div>\n <span className={'text-sm text-validation-red'}>\n The following file exceeds the maximum upload size of 10MB\n </span>\n </div>\n <ul>\n {\n filesTooBig.map((file) => (\n <li key={file} className={'text-sm text-validation-red list-disc mt-1'}>{file}</li>\n ))\n }\n </ul>\n </div>\n ) : null\n }\n <div {...getRootProps()} className=\"file-upload-dropzone mb-3 mt-5 w-full\">\n <div className=\"file-upload-dropzone__preview\">\n <div className=\"text-center\">\n <div>\n <Icon\n className=\"mb-3 text-dark-blue\"\n icon={'Upload'}\n size={16}\n color={'none'}\n />\n </div>\n <div\n className=\"mb-2 text-base text-dark-blue\"\n >\n Drag and drop files or <button className=\"text-current-blue text-base\">Browse</button>\n </div>\n <p className=\"text-xs\">\n Supported: csv, doc, docx, pdf, rtf, txt, xls, xlsx, gif, jpg, jpeg, png, mp3, m4a, wav, wma\n </p>\n <p className=\"text-xs\">Maximum file size: 10mb</p>\n </div>\n <FilePreviewWrapper\n existingFiles={existingFiles}\n uploadedFiles={uploadedFiles}\n onRemovePendingFile={onRemovePendingFile}\n onRemovePersistedFile={onRemovePersistedFile}\n />\n <input {...getInputProps()} />\n </div>\n </div>\n </>\n );\n};\n\nFileUpload.propTypes = {\n rejectedFiles: PropTypes.object.isRequired,\n uploadedFiles: PropTypes.array.isRequired,\n existingFiles: PropTypes.array,\n setRejectedFiles: PropTypes.func.isRequired,\n setUploadedFiles: PropTypes.func.isRequired,\n onRemovePendingFile: PropTypes.func,\n onRemovePersistedFile: PropTypes.func,\n};\n\nFileUpload.defaultProps = {\n existingFiles: [],\n onRemovePendingFile: undefined,\n onRemovePersistedFile: undefined,\n};\n\nexport default FileUpload;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ const loadFileUpload = () => {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
}));
|
|
26
|
-
jest.doMock('@unite-us/
|
|
26
|
+
jest.doMock('@unite-us/app-components', () => ({
|
|
27
27
|
Icon: _ref => {
|
|
28
28
|
let {
|
|
29
29
|
icon
|
|
@@ -54,7 +54,7 @@ describe('FileUpload', () => {
|
|
|
54
54
|
});
|
|
55
55
|
afterEach(() => {
|
|
56
56
|
jest.dontMock('react-dropzone');
|
|
57
|
-
jest.dontMock('@unite-us/
|
|
57
|
+
jest.dontMock('@unite-us/app-components');
|
|
58
58
|
jest.dontMock('./components/FilePreviewWrapper');
|
|
59
59
|
jest.dontMock('../../utils/utils');
|
|
60
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.test.js","names":["React","render","act","jsx","_jsx","mockDropzoneOptions","loadFileUpload","jest","resetModules","undefined","doMock","useDropzone","options","getRootProps","getInputProps","Icon","_ref","icon","props","_objectWithoutProperties","_excluded","require","createElement","_objectSpread","generateUUID","fn","FileUpload","describe","beforeEach","global","URL","createObjectURL","afterEach","dontMock","it","setRejectedFiles","setUploadedFiles","rejectedFiles","existingFiles","uploadedFiles","droppedFile","File","type","onDrop","expect","toHaveBeenCalledWith","filesTooBig","filesWrongType","any","Function","updater","mock","calls","toEqual","file","tempId","preview"],"sources":["../../../../src/common/form/FileUploadV2/FileUpload.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, act } from '@testing-library/react';\n\nlet mockDropzoneOptions;\n\nconst loadFileUpload = () => {\n jest.resetModules();\n mockDropzoneOptions = undefined;\n\n jest.doMock('react-dropzone', () => ({\n useDropzone: (options) => {\n mockDropzoneOptions = options;\n return {\n getRootProps: () => ({ 'data-testid': 'dropzone-root' }),\n getInputProps: () => ({ 'data-testid': 'dropzone-input' }),\n };\n },\n }));\n\n jest.doMock('@unite-us/
|
|
1
|
+
{"version":3,"file":"FileUpload.test.js","names":["React","render","act","jsx","_jsx","mockDropzoneOptions","loadFileUpload","jest","resetModules","undefined","doMock","useDropzone","options","getRootProps","getInputProps","Icon","_ref","icon","props","_objectWithoutProperties","_excluded","require","createElement","_objectSpread","generateUUID","fn","FileUpload","describe","beforeEach","global","URL","createObjectURL","afterEach","dontMock","it","setRejectedFiles","setUploadedFiles","rejectedFiles","existingFiles","uploadedFiles","droppedFile","File","type","onDrop","expect","toHaveBeenCalledWith","filesTooBig","filesWrongType","any","Function","updater","mock","calls","toEqual","file","tempId","preview"],"sources":["../../../../src/common/form/FileUploadV2/FileUpload.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, act } from '@testing-library/react';\n\nlet mockDropzoneOptions;\n\nconst loadFileUpload = () => {\n jest.resetModules();\n mockDropzoneOptions = undefined;\n\n jest.doMock('react-dropzone', () => ({\n useDropzone: (options) => {\n mockDropzoneOptions = options;\n return {\n getRootProps: () => ({ 'data-testid': 'dropzone-root' }),\n getInputProps: () => ({ 'data-testid': 'dropzone-input' }),\n };\n },\n }));\n\n jest.doMock('@unite-us/app-components', () => ({\n Icon: ({ icon, ...props }) => {\n const React = require('react');\n\n return React.createElement('span', {\n ...props,\n 'data-icon': icon,\n });\n },\n }));\n\n jest.doMock('./components/FilePreviewWrapper', () => {\n const React = require('react');\n\n return () => React.createElement('div', { 'data-testid': 'file-preview-wrapper' });\n });\n\n jest.doMock('../../utils/utils', () => ({\n generateUUID: jest.fn(() => 'generated-temp-id'),\n }));\n\n // eslint-disable-next-line global-require\n return require('./FileUpload').FileUpload;\n};\n\ndescribe('FileUpload', () => {\n beforeEach(() => {\n global.URL.createObjectURL = jest.fn(() => 'blob:preview');\n });\n\n afterEach(() => {\n jest.dontMock('react-dropzone');\n jest.dontMock('@unite-us/app-components');\n jest.dontMock('./components/FilePreviewWrapper');\n jest.dontMock('../../utils/utils');\n });\n\n it('appends only new uploaded files on drop', async () => {\n const FileUpload = loadFileUpload();\n const setRejectedFiles = jest.fn();\n const setUploadedFiles = jest.fn();\n\n render(\n <FileUpload\n rejectedFiles={{}}\n existingFiles={[]}\n uploadedFiles={[]}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n />,\n );\n\n const droppedFile = new File(['file contents'], 'new.pdf', { type: 'application/pdf' });\n\n await act(async () => {\n mockDropzoneOptions.onDrop([droppedFile]);\n });\n\n expect(setRejectedFiles).toHaveBeenCalledWith({ filesTooBig: [], filesWrongType: [] });\n expect(setUploadedFiles).toHaveBeenCalledWith(expect.any(Function));\n\n const updater = setUploadedFiles.mock.calls[0][0];\n expect(updater([])).toEqual([\n {\n file: droppedFile,\n tempId: 'generated-temp-id',\n preview: 'blob:preview',\n },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
text-align: center;
|
|
20
20
|
|
|
21
21
|
&__uploader-link {
|
|
22
|
-
color:
|
|
22
|
+
color: var(--color-united-blue);
|
|
23
23
|
text-decoration: underline;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
&__preview-item {
|
|
27
|
-
background
|
|
28
|
-
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px,
|
|
27
|
+
background: var(--color-white);
|
|
28
|
+
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, var(--color-medium-border-blue) 0px 1px 4px;
|
|
29
29
|
display: inline-block;
|
|
30
30
|
margin: 8px;
|
|
31
31
|
min-width: 100px;
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
max-height: 80px;
|
|
38
38
|
}
|
|
39
39
|
&__file-name {
|
|
40
|
-
background:
|
|
40
|
+
background: var(--color-white);
|
|
41
41
|
font-size: 11px;
|
|
42
42
|
line-height: 13px;
|
|
43
43
|
max-width: 100px;
|
|
@@ -4,12 +4,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import React, { useEffect, useState, useRef, memo } from 'react';
|
|
6
6
|
import { SurveyJSFormRenderer, buildResponses } from '@unite-us/ui-surveyjs2';
|
|
7
|
-
import { Icon, Expandable } from '@unite-us/
|
|
7
|
+
import { Icon, Expandable } from '@unite-us/app-components';
|
|
8
8
|
import { get, isEqual } from 'lodash';
|
|
9
9
|
import './index.scss';
|
|
10
10
|
import { coreApi } from '../../../api/config';
|
|
11
11
|
import { useFeatureFlag } from '../../../utils/useFeatureFlag';
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const EXPANDABLE_HEADER_CLASS = 'bg-light-border-grey hover:bg-light-border-grey';
|
|
14
|
+
const EXPANDABLE_BODY_CLASS = 'form-form__expandable-body';
|
|
13
15
|
const StableSurveyRenderer = /*#__PURE__*/memo(_ref => {
|
|
14
16
|
let {
|
|
15
17
|
formData,
|
|
@@ -162,7 +164,10 @@ function FormForm(_ref2) {
|
|
|
162
164
|
return /*#__PURE__*/_jsx(Expandable, {
|
|
163
165
|
expanded: expanded,
|
|
164
166
|
header: "Loading...",
|
|
165
|
-
onExpandChange: handleExpandChange
|
|
167
|
+
onExpandChange: handleExpandChange,
|
|
168
|
+
className: "form-form expandable-app-create-referral",
|
|
169
|
+
headerClassName: EXPANDABLE_HEADER_CLASS,
|
|
170
|
+
bodyClassName: EXPANDABLE_BODY_CLASS
|
|
166
171
|
});
|
|
167
172
|
}
|
|
168
173
|
const title = /*#__PURE__*/_jsxs("span", {
|
|
@@ -180,10 +185,15 @@ function FormForm(_ref2) {
|
|
|
180
185
|
expanded: expanded,
|
|
181
186
|
header: title,
|
|
182
187
|
onExpandChange: handleExpandChange,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
188
|
+
headerClassName: EXPANDABLE_HEADER_CLASS,
|
|
189
|
+
bodyClassName: EXPANDABLE_BODY_CLASS,
|
|
190
|
+
children: !isFetching && /*#__PURE__*/_jsx("div", {
|
|
191
|
+
className: "px-4 py-3",
|
|
192
|
+
children: /*#__PURE__*/_jsx(StableSurveyRenderer, {
|
|
193
|
+
formData: surveyJSON,
|
|
194
|
+
formSubmission: isSensitive ? null : showFormSubmission,
|
|
195
|
+
handleSetSurveyModel: handleSetSurvey
|
|
196
|
+
})
|
|
187
197
|
})
|
|
188
198
|
});
|
|
189
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PropTypes","React","useEffect","useState","useRef","memo","SurveyJSFormRenderer","buildResponses","Icon","Expandable","get","isEqual","coreApi","useFeatureFlag","jsx","_jsx","jsxs","_jsxs","StableSurveyRenderer","_ref","formData","formSubmission","handleSetSurveyModel","formDataRef","formSubmissionRef","children","current","editMode","onSurveyModelSet","prevProps","nextProps","FormForm","_ref2","formId","groupId","expanded","handleExpandChange","setRef","currentEmployee","hasErrors","contextType","context","contextPerson","response","usage_type","state","setState","form","formSubmissionsData","formUsageData","isFetching","surveyRef","setSurveyRef","responsesForEdit","setResponsesForEdit","crtb1121HideFieldInFormEnabled","getData","formResponse","findRecord","apiResponses","Promise","all","query","page","number","size","provider","isSensitive","populateRelationship","error","featureFlagQuestion","configuration","pages","elements","find","e","name","questionIdToHide","html","map","_objectSpread","element","id","visible","formUsage","buildRequestBody","responses","submitter","ref","surveyJSON","title","description","handleSetSurvey","survey","data","header","onExpandChange","className","color","icon","concat","showFormSubmission","propTypes","object","isRequired","bool","string","func","defaultProps","undefined"],"sources":["../../../../src/common/form/FormForm/index.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState, useRef, memo } from 'react';\nimport { SurveyJSFormRenderer, buildResponses } from '@unite-us/ui-surveyjs2';\nimport {\n Icon,\n Expandable,\n} from '@unite-us/ui';\nimport { get, isEqual } from 'lodash';\nimport './index.scss';\nimport { coreApi } from '../../../api/config';\nimport { useFeatureFlag } from '../../../utils/useFeatureFlag';\n\nconst StableSurveyRenderer = memo(({ formData, formSubmission, handleSetSurveyModel }) => {\n const formDataRef = useRef(formData);\n const formSubmissionRef = useRef(formSubmission);\n \n return (\n <div data-testid=\"stable-survey-renderer\">\n <SurveyJSFormRenderer\n formData={formDataRef.current}\n formSubmission={formSubmissionRef.current}\n editMode\n onSurveyModelSet={handleSetSurveyModel}\n />\n </div>\n );\n}, (prevProps, nextProps) => {\n return isEqual(prevProps.formData, nextProps.formData);\n});\n\nfunction FormForm({\n formId,\n groupId,\n expanded,\n handleExpandChange,\n setRef,\n currentEmployee,\n hasErrors,\n contextType,\n context,\n contextPerson,\n response,\n usage_type,\n}) {\n const [state, setState] = useState({\n form: null,\n formSubmissionsData: null,\n formUsageData: null,\n isFetching: true,\n });\n const [surveyRef, setSurveyRef] = useState();\n const [responsesForEdit, setResponsesForEdit] = useState(response);\n\n const crtb1121HideFieldInFormEnabled = useFeatureFlag('crtb1121HideFieldInFormEnabled', false);\n\n useEffect(() => {\n setResponsesForEdit(response);\n }, [response]);\n\n useEffect(() => {\n const getData = async () => {\n let isFetching = true;\n const formResponse = await coreApi.findRecord('form', formId);\n const form = get(formResponse, 'data.data');\n\n const apiResponses = await Promise.all([\n coreApi.query('form_submission', {\n 'context.type': contextType,\n context: contextPerson ? null : context,\n 'context.person': contextPerson,\n form: formId,\n 'form.form_usages.provider': groupId,\n }, {\n page: {\n number: 1,\n size: 1,\n },\n }),\n coreApi.query('form_usage', {\n form: formId,\n provider: groupId,\n usage_type,\n }, {\n page: {\n number: 1,\n size: 1,\n },\n }),\n ]);\n const [formSubmissionsData, formUsageData] = apiResponses;\n\n const formSubmission = responsesForEdit || get(formSubmissionsData, 'data.data[0]');\n let isSensitive = false;\n if (contextType === 'case') {\n // Check for sensitive form submission\n try {\n await coreApi.populateRelationship('context', 'case', formSubmission);\n } catch (error) {\n isSensitive = get(error, 'response.status') === 403;\n }\n }\n isFetching = false;\n\n if (crtb1121HideFieldInFormEnabled && usage_type === 'referral_assessment') {\n const featureFlagQuestion = form.configuration.pages[0].elements.find((e) => (\n e.name === 'crtb-1121-hide-field-in-form'\n ));\n\n if (featureFlagQuestion) {\n const questionIdToHide = featureFlagQuestion.html;\n form.configuration.pages = form.configuration.pages.map((page) => ({\n ...page,\n elements: page.elements.map((element) => {\n if (element.id === questionIdToHide) {\n return { ...element, visible: false };\n }\n return element;\n }),\n }));\n }\n }\n\n setState({\n form,\n formSubmissionsData,\n formUsageData,\n isSensitive,\n isFetching,\n });\n };\n\n getData();\n }, []);\n\n const {\n form,\n formSubmissionsData,\n formUsageData,\n isSensitive,\n isFetching,\n } = state;\n const formUsage = get(formUsageData, 'data.data[0]');\n\n // If response is inherited from props, it means that a form that haven't been submitted is being edited.\n const formSubmission = responsesForEdit || get(formSubmissionsData, 'data.data[0]');\n\n if (!form || !formSubmissionsData || !formUsageData) {\n return null;\n }\n\n const buildRequestBody = () => ({\n responses: buildResponses(surveyRef),\n form: form.id,\n provider: groupId,\n contextType,\n context,\n submitter: currentEmployee.id,\n });\n\n setRef({\n ref: surveyRef,\n buildRequestBody,\n });\n\n const surveyJSON = {\n configuration: {\n title: form.name,\n description: form.description,\n ...form.configuration,\n },\n };\n\n const handleSetSurvey = (survey) => {\n if (!surveyRef || !isEqual(survey.data, surveyRef.data)) {\n setSurveyRef(survey);\n }\n };\n\n if (isFetching) {\n return (\n <Expandable\n expanded={expanded}\n header=\"Loading...\"\n onExpandChange={handleExpandChange}\n />\n );\n }\n\n const title = (\n <span>\n {get(form, 'name', '')}\n {\n hasErrors && (\n <Icon\n className=\"ml-one\"\n color=\"#D0021B\"\n icon=\"ExclamationTriangle\"\n size={12}\n id={`error-icon-${formId}`}\n />\n )\n }\n </span>\n );\n const showFormSubmission = get(formUsage, 'prepopulate') ? formSubmission : null;\n\n return (\n <Expandable\n className=\"form-form expandable-app-create-referral\"\n expanded={expanded}\n header={title}\n onExpandChange={handleExpandChange}\n >\n {(!isFetching) && (\n <StableSurveyRenderer\n formData={surveyJSON}\n formSubmission={isSensitive ? null : showFormSubmission}\n handleSetSurveyModel={handleSetSurvey}\n />\n )}\n </Expandable>\n );\n}\n\nFormForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n expanded: PropTypes.bool.isRequired,\n formId: PropTypes.string.isRequired,\n groupId: PropTypes.string.isRequired,\n handleExpandChange: PropTypes.func.isRequired,\n setRef: PropTypes.func.isRequired,\n hasErrors: PropTypes.bool.isRequired,\n contextType: PropTypes.string.isRequired,\n context: PropTypes.string,\n contextPerson: PropTypes.string,\n response: PropTypes.object,\n usage_type: PropTypes.string.isRequired,\n};\n\nFormForm.defaultProps = {\n response: undefined,\n contextPerson: null,\n};\n\nexport default FormForm;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["PropTypes","React","useEffect","useState","useRef","memo","SurveyJSFormRenderer","buildResponses","Icon","Expandable","get","isEqual","coreApi","useFeatureFlag","jsx","_jsx","jsxs","_jsxs","EXPANDABLE_HEADER_CLASS","EXPANDABLE_BODY_CLASS","StableSurveyRenderer","_ref","formData","formSubmission","handleSetSurveyModel","formDataRef","formSubmissionRef","children","current","editMode","onSurveyModelSet","prevProps","nextProps","FormForm","_ref2","formId","groupId","expanded","handleExpandChange","setRef","currentEmployee","hasErrors","contextType","context","contextPerson","response","usage_type","state","setState","form","formSubmissionsData","formUsageData","isFetching","surveyRef","setSurveyRef","responsesForEdit","setResponsesForEdit","crtb1121HideFieldInFormEnabled","getData","formResponse","findRecord","apiResponses","Promise","all","query","page","number","size","provider","isSensitive","populateRelationship","error","featureFlagQuestion","configuration","pages","elements","find","e","name","questionIdToHide","html","map","_objectSpread","element","id","visible","formUsage","buildRequestBody","responses","submitter","ref","surveyJSON","title","description","handleSetSurvey","survey","data","header","onExpandChange","className","headerClassName","bodyClassName","color","icon","concat","showFormSubmission","propTypes","object","isRequired","bool","string","func","defaultProps","undefined"],"sources":["../../../../src/common/form/FormForm/index.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState, useRef, memo } from 'react';\nimport { SurveyJSFormRenderer, buildResponses } from '@unite-us/ui-surveyjs2';\nimport {\n Icon,\n Expandable,\n} from '@unite-us/app-components';\nimport { get, isEqual } from 'lodash';\nimport './index.scss';\nimport { coreApi } from '../../../api/config';\nimport { useFeatureFlag } from '../../../utils/useFeatureFlag';\n\nconst EXPANDABLE_HEADER_CLASS = 'bg-light-border-grey hover:bg-light-border-grey';\nconst EXPANDABLE_BODY_CLASS = 'form-form__expandable-body';\n\nconst StableSurveyRenderer = memo(({ formData, formSubmission, handleSetSurveyModel }) => {\n const formDataRef = useRef(formData);\n const formSubmissionRef = useRef(formSubmission);\n \n return (\n <div data-testid=\"stable-survey-renderer\">\n <SurveyJSFormRenderer\n formData={formDataRef.current}\n formSubmission={formSubmissionRef.current}\n editMode\n onSurveyModelSet={handleSetSurveyModel}\n />\n </div>\n );\n}, (prevProps, nextProps) => {\n return isEqual(prevProps.formData, nextProps.formData);\n});\n\nfunction FormForm({\n formId,\n groupId,\n expanded,\n handleExpandChange,\n setRef,\n currentEmployee,\n hasErrors,\n contextType,\n context,\n contextPerson,\n response,\n usage_type,\n}) {\n const [state, setState] = useState({\n form: null,\n formSubmissionsData: null,\n formUsageData: null,\n isFetching: true,\n });\n const [surveyRef, setSurveyRef] = useState();\n const [responsesForEdit, setResponsesForEdit] = useState(response);\n\n const crtb1121HideFieldInFormEnabled = useFeatureFlag('crtb1121HideFieldInFormEnabled', false);\n\n useEffect(() => {\n setResponsesForEdit(response);\n }, [response]);\n\n useEffect(() => {\n const getData = async () => {\n let isFetching = true;\n const formResponse = await coreApi.findRecord('form', formId);\n const form = get(formResponse, 'data.data');\n\n const apiResponses = await Promise.all([\n coreApi.query('form_submission', {\n 'context.type': contextType,\n context: contextPerson ? null : context,\n 'context.person': contextPerson,\n form: formId,\n 'form.form_usages.provider': groupId,\n }, {\n page: {\n number: 1,\n size: 1,\n },\n }),\n coreApi.query('form_usage', {\n form: formId,\n provider: groupId,\n usage_type,\n }, {\n page: {\n number: 1,\n size: 1,\n },\n }),\n ]);\n const [formSubmissionsData, formUsageData] = apiResponses;\n\n const formSubmission = responsesForEdit || get(formSubmissionsData, 'data.data[0]');\n let isSensitive = false;\n if (contextType === 'case') {\n // Check for sensitive form submission\n try {\n await coreApi.populateRelationship('context', 'case', formSubmission);\n } catch (error) {\n isSensitive = get(error, 'response.status') === 403;\n }\n }\n isFetching = false;\n\n if (crtb1121HideFieldInFormEnabled && usage_type === 'referral_assessment') {\n const featureFlagQuestion = form.configuration.pages[0].elements.find((e) => (\n e.name === 'crtb-1121-hide-field-in-form'\n ));\n\n if (featureFlagQuestion) {\n const questionIdToHide = featureFlagQuestion.html;\n form.configuration.pages = form.configuration.pages.map((page) => ({\n ...page,\n elements: page.elements.map((element) => {\n if (element.id === questionIdToHide) {\n return { ...element, visible: false };\n }\n return element;\n }),\n }));\n }\n }\n\n setState({\n form,\n formSubmissionsData,\n formUsageData,\n isSensitive,\n isFetching,\n });\n };\n\n getData();\n }, []);\n\n const {\n form,\n formSubmissionsData,\n formUsageData,\n isSensitive,\n isFetching,\n } = state;\n const formUsage = get(formUsageData, 'data.data[0]');\n\n // If response is inherited from props, it means that a form that haven't been submitted is being edited.\n const formSubmission = responsesForEdit || get(formSubmissionsData, 'data.data[0]');\n\n if (!form || !formSubmissionsData || !formUsageData) {\n return null;\n }\n\n const buildRequestBody = () => ({\n responses: buildResponses(surveyRef),\n form: form.id,\n provider: groupId,\n contextType,\n context,\n submitter: currentEmployee.id,\n });\n\n setRef({\n ref: surveyRef,\n buildRequestBody,\n });\n\n const surveyJSON = {\n configuration: {\n title: form.name,\n description: form.description,\n ...form.configuration,\n },\n };\n\n const handleSetSurvey = (survey) => {\n if (!surveyRef || !isEqual(survey.data, surveyRef.data)) {\n setSurveyRef(survey);\n }\n };\n\n if (isFetching) {\n return (\n <Expandable\n expanded={expanded}\n header=\"Loading...\"\n onExpandChange={handleExpandChange}\n className=\"form-form expandable-app-create-referral\"\n headerClassName={EXPANDABLE_HEADER_CLASS}\n bodyClassName={EXPANDABLE_BODY_CLASS}\n />\n );\n }\n\n const title = (\n <span>\n {get(form, 'name', '')}\n {\n hasErrors && (\n <Icon\n className=\"ml-one\"\n color=\"#D0021B\"\n icon=\"ExclamationTriangle\"\n size={12}\n id={`error-icon-${formId}`}\n />\n )\n }\n </span>\n );\n const showFormSubmission = get(formUsage, 'prepopulate') ? formSubmission : null;\n\n return (\n <Expandable\n className=\"form-form expandable-app-create-referral\"\n expanded={expanded}\n header={title}\n onExpandChange={handleExpandChange}\n headerClassName={EXPANDABLE_HEADER_CLASS}\n bodyClassName={EXPANDABLE_BODY_CLASS}\n >\n {(!isFetching) && (\n <div className=\"px-4 py-3\">\n <StableSurveyRenderer\n formData={surveyJSON}\n formSubmission={isSensitive ? null : showFormSubmission}\n handleSetSurveyModel={handleSetSurvey}\n />\n </div>\n )}\n </Expandable>\n );\n}\n\nFormForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n expanded: PropTypes.bool.isRequired,\n formId: PropTypes.string.isRequired,\n groupId: PropTypes.string.isRequired,\n handleExpandChange: PropTypes.func.isRequired,\n setRef: PropTypes.func.isRequired,\n hasErrors: PropTypes.bool.isRequired,\n contextType: PropTypes.string.isRequired,\n context: PropTypes.string,\n contextPerson: PropTypes.string,\n response: PropTypes.object,\n usage_type: PropTypes.string.isRequired,\n};\n\nFormForm.defaultProps = {\n response: undefined,\n contextPerson: null,\n};\n\nexport default FormForm;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,32 +1,17 @@
|
|
|
1
|
-
@import "~@unite-us/ui/src/stylesheets/mixins";
|
|
2
|
-
@import "~@unite-us/ui/src/stylesheets/variables";
|
|
3
|
-
|
|
4
1
|
.expandable-app-create-referral {
|
|
5
|
-
|
|
6
|
-
background-color:
|
|
2
|
+
button > div {
|
|
3
|
+
background-color: var(--color-light-border-grey, #fafbfc);
|
|
4
|
+
|
|
5
|
+
&:hover {
|
|
6
|
+
background-color: var(--color-light-border-grey, #fafbfc);
|
|
7
|
+
}
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
.
|
|
10
|
+
button .flex-auto {
|
|
10
11
|
padding-left: 35px;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
> div > div:last-child {
|
|
14
15
|
padding: 30px;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
.ui-expandable-caret {
|
|
18
|
-
border-bottom: 2px solid $active-color;
|
|
19
|
-
border-right: 2px solid $active-color;
|
|
20
|
-
display: inline-block;
|
|
21
|
-
height: 8px;
|
|
22
|
-
width: 8px;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.sv_q_description {
|
|
26
|
-
display: none;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.add-supporting-details-step {
|
|
31
|
-
padding: 25px;
|
|
32
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PropTypes } from 'prop-types';
|
|
3
|
-
import { Icon } from '@unite-us/
|
|
3
|
+
import { Icon } from '@unite-us/app-components';
|
|
4
4
|
import cx from 'classnames';
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
const ExpandableButton = _ref => {
|
|
@@ -22,7 +22,8 @@ const ExpandableButton = _ref => {
|
|
|
22
22
|
}), /*#__PURE__*/_jsx(Icon, {
|
|
23
23
|
"aria-hidden": true,
|
|
24
24
|
className: cx('transition-transform duration-500 ease-in-out ml-2 cursor-pointer', isOpen && 'transform rotate-180'),
|
|
25
|
-
icon: "
|
|
25
|
+
icon: "ChevronArrow",
|
|
26
|
+
direction: "down",
|
|
26
27
|
size: 12
|
|
27
28
|
})]
|
|
28
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableButton.js","names":["React","PropTypes","Icon","cx","jsx","_jsx","jsxs","_jsxs","ExpandableButton","_ref","isOpen","onClick","dataTestId","className","children","type","icon","size","propTypes","bool","isRequired","func","string","node","defaultProps"],"sources":["../../src/components/ExpandableButton.jsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Icon } from '@unite-us/
|
|
1
|
+
{"version":3,"file":"ExpandableButton.js","names":["React","PropTypes","Icon","cx","jsx","_jsx","jsxs","_jsxs","ExpandableButton","_ref","isOpen","onClick","dataTestId","className","children","type","icon","direction","size","propTypes","bool","isRequired","func","string","node","defaultProps"],"sources":["../../src/components/ExpandableButton.jsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Icon } from '@unite-us/app-components';\nimport cx from 'classnames';\n\nconst ExpandableButton = (\n {\n isOpen, onClick, dataTestId, className, children,\n },\n) => (\n <button\n type=\"button\"\n onClick={onClick}\n className={cx('flex items-center focus:outline-none z-0', className)}\n data-testid={dataTestId}\n >\n <span className=\"text-action-blue font-bold cursor-pointer\">\n {children || (isOpen ? 'Hide' : 'Show')}\n </span>\n <Icon\n aria-hidden\n className={cx(\n 'transition-transform duration-500 ease-in-out ml-2 cursor-pointer',\n isOpen && 'transform rotate-180',\n )}\n icon=\"ChevronArrow\"\n direction=\"down\"\n size={12}\n />\n </button>\n);\n\nExpandableButton.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n dataTestId: PropTypes.string.isRequired,\n className: PropTypes.string,\n children: PropTypes.node,\n};\n\nExpandableButton.defaultProps = {\n className: '',\n children: null,\n};\n\nexport default ExpandableButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,OAAOC,EAAE,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5B,MAAMC,gBAAgB,GAAGC,IAAA;EAAA,IACvB;IACEC,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC,SAAS;IAAEC;EAC1C,CAAC,GAAAL,IAAA;EAAA,oBAEDF,KAAA;IACEQ,IAAI,EAAC,QAAQ;IACbJ,OAAO,EAAEA,OAAQ;IACjBE,SAAS,EAAEV,EAAE,CAAC,0CAA0C,EAAEU,SAAS,CAAE;IACrE,eAAaD,UAAW;IAAAE,QAAA,gBAExBT,IAAA;MAAMQ,SAAS,EAAC,2CAA2C;MAAAC,QAAA,EACxDA,QAAQ,KAAKJ,MAAM,GAAG,MAAM,GAAG,MAAM;IAAC,CACnC,CAAC,eACPL,IAAA,CAACH,IAAI;MACH,mBAAW;MACXW,SAAS,EAAEV,EAAE,CACX,mEAAmE,EACnEO,MAAM,IAAI,sBACZ,CAAE;MACFM,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAC,MAAM;MAChBC,IAAI,EAAE;IAAG,CACV,CAAC;EAAA,CACI,CAAC;AAAA,CACV;AAEDV,gBAAgB,CAACW,SAAS,GAAG;EAC3BT,MAAM,EAAET,SAAS,CAACmB,IAAI,CAACC,UAAU;EACjCV,OAAO,EAAEV,SAAS,CAACqB,IAAI,CAACD,UAAU;EAClCT,UAAU,EAAEX,SAAS,CAACsB,MAAM,CAACF,UAAU;EACvCR,SAAS,EAAEZ,SAAS,CAACsB,MAAM;EAC3BT,QAAQ,EAAEb,SAAS,CAACuB;AACtB,CAAC;AAEDhB,gBAAgB,CAACiB,YAAY,GAAG;EAC9BZ,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { PropTypes } from 'prop-types';
|
|
3
3
|
import { isFunction } from 'lodash';
|
|
4
|
-
import { BarLoader } from '@unite-us/
|
|
4
|
+
import { BarLoader } from '@unite-us/app-components';
|
|
5
5
|
|
|
6
6
|
// Produces unique but stable-between-renders ids to correlate dt and dd
|
|
7
7
|
// elements in combination with `useMemo`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineItem.js","names":["React","useMemo","PropTypes","isFunction","BarLoader","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","nextLineItemId","lineItemIdFactory","concat","LineItem","_ref","children","dataTestElement","isLoaded","field","fieldClassName","valueClassName","colon","dtId","renderChildren","className","id","propTypes","oneOfType","node","func","isRequired","bool","string","defaultProps"],"sources":["../../src/components/LineItem.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { isFunction } from 'lodash';\nimport { BarLoader } from '@unite-us/
|
|
1
|
+
{"version":3,"file":"LineItem.js","names":["React","useMemo","PropTypes","isFunction","BarLoader","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","nextLineItemId","lineItemIdFactory","concat","LineItem","_ref","children","dataTestElement","isLoaded","field","fieldClassName","valueClassName","colon","dtId","renderChildren","className","id","propTypes","oneOfType","node","func","isRequired","bool","string","defaultProps"],"sources":["../../src/components/LineItem.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { isFunction } from 'lodash';\nimport { BarLoader } from '@unite-us/app-components';\n\n// Produces unique but stable-between-renders ids to correlate dt and dd\n// elements in combination with `useMemo`\nlet nextLineItemId = 1;\nconst lineItemIdFactory = () => `line-item-${nextLineItemId++}`;\n\nconst LineItem = ({\n children,\n dataTestElement,\n isLoaded,\n field,\n fieldClassName,\n valueClassName,\n colon,\n}) => {\n const dtId = useMemo(lineItemIdFactory, []);\n const renderChildren = () => (isFunction(children) ? children() : children);\n return (\n <>\n <dt\n className={fieldClassName}\n data-testid={dataTestElement}\n data-test-element={dataTestElement}\n id={dtId}\n >\n {field}{colon && ':'}\n </dt>\n <dd aria-describedby={dtId} className={valueClassName}>\n {isLoaded ? renderChildren() : <BarLoader />}\n </dd>\n </>\n );\n};\n\nLineItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n field: PropTypes.node.isRequired,\n isLoaded: PropTypes.bool,\n dataTestElement: PropTypes.string,\n fieldClassName: PropTypes.string,\n valueClassName: PropTypes.string,\n colon: PropTypes.bool,\n};\n\nLineItem.defaultProps = {\n children: '',\n isLoaded: true,\n dataTestElement: null,\n fieldClassName: 'text-text-blue text-sm font-bold leading-5 break-word',\n valueClassName: 'text-text-blue text-sm leading-5 break-word',\n colon: true,\n};\n\nexport default LineItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,UAAU,QAAQ,QAAQ;AACnC,SAASC,SAAS,QAAQ,0BAA0B;;AAEpD;AACA;AAAA,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,IAAIC,cAAc,GAAG,CAAC;AACtB,MAAMC,iBAAiB,GAAGA,CAAA,kBAAAC,MAAA,CAAmBF,cAAc,EAAE,CAAE;AAE/D,MAAMG,QAAQ,GAAGC,IAAA,IAQX;EAAA,IARY;IAChBC,QAAQ;IACRC,eAAe;IACfC,QAAQ;IACRC,KAAK;IACLC,cAAc;IACdC,cAAc;IACdC;EACF,CAAC,GAAAP,IAAA;EACC,MAAMQ,IAAI,GAAGtB,OAAO,CAACW,iBAAiB,EAAE,EAAE,CAAC;EAC3C,MAAMY,cAAc,GAAGA,CAAA,KAAOrB,UAAU,CAACa,QAAQ,CAAC,GAAGA,QAAQ,CAAC,CAAC,GAAGA,QAAS;EAC3E,oBACEV,KAAA,CAAAI,SAAA;IAAAM,QAAA,gBACEV,KAAA;MACEmB,SAAS,EAAEL,cAAe;MAC1B,eAAaH,eAAgB;MAC7B,qBAAmBA,eAAgB;MACnCS,EAAE,EAAEH,IAAK;MAAAP,QAAA,GAERG,KAAK,EAAEG,KAAK,IAAI,GAAG;IAAA,CAClB,CAAC,eACLd,IAAA;MAAI,oBAAkBe,IAAK;MAACE,SAAS,EAAEJ,cAAe;MAAAL,QAAA,EACnDE,QAAQ,GAAGM,cAAc,CAAC,CAAC,gBAAGhB,IAAA,CAACJ,SAAS,IAAE;IAAC,CAC1C,CAAC;EAAA,CACL,CAAC;AAEP,CAAC;AAEDU,QAAQ,CAACa,SAAS,GAAG;EACnBX,QAAQ,EAAEd,SAAS,CAAC0B,SAAS,CAAC,CAAC1B,SAAS,CAAC2B,IAAI,EAAE3B,SAAS,CAAC4B,IAAI,CAAC,CAAC;EAC/DX,KAAK,EAAEjB,SAAS,CAAC2B,IAAI,CAACE,UAAU;EAChCb,QAAQ,EAAEhB,SAAS,CAAC8B,IAAI;EACxBf,eAAe,EAAEf,SAAS,CAAC+B,MAAM;EACjCb,cAAc,EAAElB,SAAS,CAAC+B,MAAM;EAChCZ,cAAc,EAAEnB,SAAS,CAAC+B,MAAM;EAChCX,KAAK,EAAEpB,SAAS,CAAC8B;AACnB,CAAC;AAEDlB,QAAQ,CAACoB,YAAY,GAAG;EACtBlB,QAAQ,EAAE,EAAE;EACZE,QAAQ,EAAE,IAAI;EACdD,eAAe,EAAE,IAAI;EACrBG,cAAc,EAAE,uDAAuD;EACvEC,cAAc,EAAE,6CAA6C;EAC7DC,KAAK,EAAE;AACT,CAAC;AAED,eAAeR,QAAQ","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { isNull, isEmpty, get } from 'lodash';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import { Combobox } from '@headlessui/react';
|
|
6
|
-
import { Icon } from '@unite-us/
|
|
7
|
-
import { getPreferredProp } from '@unite-us/
|
|
6
|
+
import { Icon } from '@unite-us/app-components';
|
|
7
|
+
import { getPreferredProp } from '@unite-us/app-components';
|
|
8
8
|
import '../pages/builder/ReferralBuilderForm.scss';
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
10
|
export const SearchableSelectField = props => {
|
|
@@ -78,7 +78,7 @@ export const SearchableSelectField = props => {
|
|
|
78
78
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
79
79
|
"aria-hidden": true,
|
|
80
80
|
className: "text-gray",
|
|
81
|
-
icon: "
|
|
81
|
+
icon: "Search",
|
|
82
82
|
size: 16
|
|
83
83
|
})
|
|
84
84
|
}), /*#__PURE__*/_jsx(Combobox.Input, {
|
|
@@ -99,7 +99,7 @@ export const SearchableSelectField = props => {
|
|
|
99
99
|
className: "absolute opacity-50 inset-y-0 inset-x-1 right-4 flex items-center pr-5 pl-1",
|
|
100
100
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
101
101
|
className: "text-gray",
|
|
102
|
-
icon: "
|
|
102
|
+
icon: "Cross",
|
|
103
103
|
size: 10,
|
|
104
104
|
onClick: onClearClick,
|
|
105
105
|
ariaLabel: "Clear ".concat(label)
|
|
@@ -109,7 +109,8 @@ export const SearchableSelectField = props => {
|
|
|
109
109
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
110
110
|
"aria-hidden": true,
|
|
111
111
|
className: "text-gray",
|
|
112
|
-
icon: "
|
|
112
|
+
icon: "ChevronArrow",
|
|
113
|
+
direction: "down",
|
|
113
114
|
size: 12
|
|
114
115
|
})
|
|
115
116
|
})]
|
|
@@ -137,7 +138,7 @@ export const SearchableSelectField = props => {
|
|
|
137
138
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
138
139
|
"aria-hidden": true,
|
|
139
140
|
className: classNames('h-5 w-5 fill-current', active ? 'text-white' : 'text-action-blue'),
|
|
140
|
-
icon: "
|
|
141
|
+
icon: "Check"
|
|
141
142
|
})
|
|
142
143
|
})]
|
|
143
144
|
});
|