@widergy/energy-ui 3.188.6 → 3.189.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/CHANGELOG.md CHANGED
@@ -1,16 +1,31 @@
1
- ## [3.188.6](https://github.com/widergy/energy-ui/compare/v3.188.5...v3.188.6) (2026-09-24)
1
+ # [3.189.0](https://github.com/widergy/energy-ui/compare/v3.188.7...v3.189.0) (2026-09-28)
2
2
 
3
3
 
4
- ### Bug Fixes
4
+ ### Features
5
+
6
+ * [CX-3046] heic to jpeg attachment ([#874](https://github.com/widergy/energy-ui/issues/874)) ([8c03564](https://github.com/widergy/energy-ui/commit/8c03564f1d998c8c1c194c47216c541b65185648))
7
+
8
+ ## [3.188.7](https://github.com/widergy/energy-ui/compare/v3.188.6...v3.188.7) (2026-09-25)
9
+
10
+ ### Correcciones
11
+
12
+ * Se corrigió un problema por el que los identificadores de prueba no se aplicaban correctamente sobre las opciones de los campos de selección tipo radio, lo que impedía su detección en pruebas automatizadas. [#871](https://github.com/widergy/Energy-UI/pull/871) [CX-3138](https://widergy.atlassian.net/browse/CX-3138)
5
13
 
6
- * allow hexa colors in component tokens ([#875](https://github.com/widergy/energy-ui/issues/875)) ([b3cec38](https://github.com/widergy/energy-ui/commit/b3cec38bd8b2d175590c2be62b63715dc3738a3c))
14
+ ## [3.188.6](https://github.com/widergy/energy-ui/compare/v3.188.5...v3.188.6) (2026-09-24)
15
+
16
+ ### Novedades y Mejoras
17
+
18
+ * Se amplió la flexibilidad en la personalización visual de componentes, permitiendo definir colores directamente en formato hexadecimal además de los valores semánticos ya disponibles. [#875](https://github.com/widergy/Energy-UI/pull/875) [AXAG-469](https://widergy.atlassian.net/browse/AXAG-469)
7
19
 
8
20
  ## [3.188.5](https://github.com/widergy/energy-ui/compare/v3.188.4...v3.188.5) (2026-09-24)
9
21
 
22
+ ### Correcciones
10
23
 
11
- ### Bug Fixes
24
+ * Se corrigió un problema que impedía que las opciones de selección deshabilitadas se mostraran correctamente, lo que en algunos casos hacía que el estilo visual no reflejara su estado inactivo. [#872](https://github.com/widergy/Energy-UI/pull/872) [AXCH-2333](https://widergy.atlassian.net/browse/AXCH-2333)
25
+
26
+ ### Novedades y Mejoras
12
27
 
13
- * prop disabled in uttouchablewithfeedback radio ([#872](https://github.com/widergy/energy-ui/issues/872)) ([d3d6919](https://github.com/widergy/energy-ui/commit/d3d6919f544d569be32cd2f7d15cae0f6870d1be))
28
+ * Mejoras internas de la plataforma. [`5649453`](https://github.com/widergy/Energy-UI/commit/5649453)
14
29
 
15
30
  ## [3.188.4](https://github.com/widergy/energy-ui/compare/v3.188.3...v3.188.4) (2026-09-21)
16
31
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_propTypes=require("prop-types"),_validate=require("@widergy/web-utils/lib/validate"),_image=require("@widergy/web-utils/lib/image"),_browser=require("@widergy/web-utils/lib/browser"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_buttonTypes=require("../../types/buttonTypes"),_WithTheme=_interopRequireDefault(require("../WithTheme")),_theme=require("./theme"),_constants=require("./constants"),_layout=_interopRequireDefault(require("./layout")),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,s,n={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return n;if(i=t?r:a){if(i.has(e))return i.get(e);i.set(e,n)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?i(n,t,s):n[t]=e[t]);return n})(e,t)}const AttachmentListContainer=e=>{var t,a,r,i,s;let{acceptedFileTypes:n,actions:l,allowedPDFUploadSizes:o,classes:p,containerClassname:u,customValidation:d,dataTestId:_,deleteDataTestId:y,disabled:c,disableResize:f,errorClassname:T,field:v,fieldTypes:m=[],hideLabels:g,icon:h,input:b,loadingTextClassname:E,maxFileSize:R=99999999,onLoaded:w,notifyOnInitialLoad:I=!0,previewDataTestId:O,readOnly:A=!1,resizeConfig:C,sanitize:S,theme:z,titleVariant:D}=e;const{areaBackground:F,areaBorderColor:q}=(0,_utils.getUploadIconAreaColors)(z),P=null==v||null===(t=v.configuration)||void 0===t?void 0:t.help_text,x=(null==v||null===(a=v.configuration)||void 0===a?void 0:a.max_file_size)||R,L=(null==v||null===(r=v.configuration)||void 0===r?void 0:r.accepted_file_types)||n,M=(null==v||null===(i=v.configuration)||void 0===i?void 0:i.max_files)||_constants.DEFAULT_MAX_FILES,[W,V]=(0,_react.useState)([]),[j,B]=(0,_react.useState)(!1),[k,U]=(0,_react.useState)(_constants.FORMAT_ERROR_TEXT),X=(0,_react.useRef)(null),[N,Y]=(0,_react.useState)((null==b||null===(s=b.value)||void 0===s?void 0:s.files)||[]),G=(e,t)=>{B(!0),U(t?"".concat(e,"(").concat(t,")"):e)},H=async e=>{const t=e=>new Promise((t,a)=>{const r=new FileReader;r.onload=a=>{(0,_utils.hasPreview)(e)||(0,_utils.isDownloadable)(e)?t({src:a.target.result,file:e}):t({src:null,file:e})},r.onerror=e=>a(e),r.readAsDataURL(e)});try{const a=(await Promise.all(e.map(t))).map(e=>{let{src:t,file:a}=e;return((e,t)=>({...t,src:e}))(t,{type:a.type,name:a.name,size:(0,_utils.getSizeInMB)(a.size),onClick:()=>{return(e=a.name)&&V(t=>t.filter(t=>t.name!==e)),Y(t=>{const a=Object.values(t).filter(t=>t.name!==e);return b.onChange&&b.onChange((0,_isEmpty.default)(a)?null:{files:a}),a}),X.current&&(X.current.value=null),void B(!1);var e}})});V(e=>(0,_utils.getNotRepeatedFiles)([...(e||[]).filter(e=>"loading"!==e.type),...a]))}catch(e){V(e=>(e||[]).filter(e=>"loading"!==e.type)),G(null==e?void 0:e.message)}},Z=async function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const i=Array.isArray(b.value)?b.value.length:1;if(a===i)return w&&w(),I&&b.onChange&&b.onChange({files:r}),Y(r),void H(r);const s=Array.isArray(b.value)?b.value.flatMap(e=>Object.values(e)[0]):b.value,n=Array.isArray(b.value)?(null===(e=b.value[a])||void 0===e?void 0:e.url)||(null===(t=s[a])||void 0===t?void 0:t.url):b.value;(0,_utils.getBlobFromUrl)(n,async e=>{if(e){var t,i;const n=Array.isArray(b.value)?(null===(t=b.value[a])||void 0===t?void 0:t.name)||(null===(i=s[a])||void 0===i?void 0:i.name):null,l=new File([e],n||(0,_utils.getDefaultAttachment)(e.type.substring(e.type.indexOf("/")+1),a+1),{type:e.type});Z(a+1,[...r,l])}else V(e=>{let t=!1;return e.map(e=>t||e.type!==_constants.PREVIEW_TYPES.LOADING?e:(t=!0,{...e,type:_constants.PREVIEW_TYPES.ERROR}))}),Z(a+1,r)})};return(0,_react.useEffect)(()=>{var e;if((0,_isEmpty.default)(N)?(0,_isEmpty.default)(null===(e=b.value)||void 0===e?void 0:e.files)||H(b.value.files):H(N),Array.isArray(b.value)&&!(0,_isEmpty.default)(b.value)||b.value&&"string"==typeof b.value){if((0,_isEmpty.default)(W)){const e=Array.isArray(b.value)?b.value.length:1;V(Array.from({length:e},()=>({type:_constants.PREVIEW_TYPES.LOADING})))}Z()}},[b]),_react.default.createElement(_layout.default,{actions:l,acceptedFileTypes:L,areaBackground:F,areaBorderColor:q,classes:p,containerClassname:u,disabled:c,dataTestId:_,deleteDataTestId:y,error:j,errorClassname:T,errorText:k,field:v,fieldTypes:m,fileInputRef:X,helpText:P,hideLabels:g,icon:h,loadingTextClassname:E,maxFiles:M,maxFileSize:(0,_utils.getSizeInMB)(x),onChange:async e=>{var t;const a=(null===(t=b.value)||void 0===t?void 0:t.files)||N,r=Object.values((0,_isEmpty.default)(a)?e.target.files:(0,_utils.getNotRepeatedFiles)([...a,...e.target.files])),i={formatError:_constants.FORMAT_ERROR_TEXT,sizeError:"".concat(_constants.SIZE_ERROR_TEXT," ").concat((0,_utils.getSizeInMB)(x),"MB."),aspectRatioError:"".concat(_constants.ASPECT_RATIO_ERROR_TEXT," ").concat(null==o?void 0:o.map(e=>e.name).join(" - "),")")};B(!1);const s=async e=>{if(e<r.length){if(M&&r.length>M)return void G(_constants.MAX_FILES_ERROR,M);let t=r[e];if(t){let a=!d||await d(t,G);if(a){if(a=await(0,_validate.fileSignatureValidation)(t,m,t.type),!a)return void G(i.formatError);if(S&&(t=await S(t)),a=(0,_validate.fileSizeValidation)(t,x),a&&(0,_utils.isPDF)(t)&&!(0,_isEmpty.default)(o)&&(a=await(0,_utils.pdfAspectRatioValidation)(t,o),!a))return void G(i.aspectRatioError);if(a||f||!(0,_utils.isImage)(t)||(0,_browser.isIE)()||(t=await(0,_image.resizeImage)(t,C),a=(0,_validate.fileSizeValidation)(t,x),r[e]=t),!a)return void G(i.sizeError)}}await s(e+1)}else b.onChange&&b.onChange({files:r}),Y(r),await H(r)};await s(0)},preview:W,previewDataTestId:O,readOnly:A,titleVariant:D})};AttachmentListContainer.propTypes={acceptedFileTypes:_propTypes.string,actions:(0,_propTypes.arrayOf)(_buttonTypes.buttonTypes),allowedPDFUploadSizes:(0,_propTypes.arrayOf)((0,_propTypes.shape)({name:_propTypes.string,heightInPt:_propTypes.number,widthInPt:_propTypes.number,tolerance:_propTypes.number})),classes:(0,_propTypes.objectOf)(_propTypes.string),containerClassname:_propTypes.string,customValidation:_propTypes.func,disabled:_propTypes.bool,dataTestId:_propTypes.string,deleteDataTestId:_propTypes.string,disableResize:_propTypes.bool,errorClassname:_propTypes.string,field:_propTypes.any,fieldTypes:(0,_propTypes.arrayOf)(_propTypes.string),hideLabels:_propTypes.bool,icon:_propTypes.node,input:(0,_propTypes.shape)({value:(0,_propTypes.oneOfType)([_propTypes.string,(0,_propTypes.shape)({name:_propTypes.string,type:_propTypes.string})])}),loadingTextClassname:_propTypes.string,maxFileSize:_propTypes.number,onLoaded:_propTypes.func,notifyOnInitialLoad:_propTypes.bool,previewDataTestId:_propTypes.string,readOnly:_propTypes.bool,resizeConfig:(0,_propTypes.shape)({type:_propTypes.string,maxWidth:_propTypes.number,maxHeight:_propTypes.number}),sanitize:_propTypes.func,theme:_propTypes.any,titleVariant:_propTypes.string};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(AttachmentListContainer);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_propTypes=require("prop-types"),_validate=require("@widergy/web-utils/lib/validate"),_image=require("@widergy/web-utils/lib/image"),_browser=require("@widergy/web-utils/lib/browser"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_buttonTypes=require("../../types/buttonTypes"),_WithTheme=_interopRequireDefault(require("../WithTheme")),_theme=require("./theme"),_constants=require("./constants"),_layout=_interopRequireDefault(require("./layout")),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,s,n={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return n;if(i=t?r:a){if(i.has(e))return i.get(e);i.set(e,n)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?i(n,t,s):n[t]=e[t]);return n})(e,t)}const AttachmentListContainer=e=>{var t,a,r,i,s;let{acceptedFileTypes:n,actions:l,allowedPDFUploadSizes:o,classes:p,containerClassname:u,customValidation:d,dataTestId:_,deleteDataTestId:y,disabled:c,disableResize:f,errorClassname:T,field:v,fieldTypes:m=[],hideLabels:g,icon:h,input:b,loadingTextClassname:E,maxFileSize:R=99999999,onLoaded:w,notifyOnInitialLoad:I=!0,previewDataTestId:O,readOnly:A=!1,resizeConfig:C,sanitize:S,theme:z,titleVariant:D}=e;const{areaBackground:F,areaBorderColor:q}=(0,_utils.getUploadIconAreaColors)(z),P=null==v||null===(t=v.configuration)||void 0===t?void 0:t.help_text,x=(null==v||null===(a=v.configuration)||void 0===a?void 0:a.max_file_size)||R,L=(null==v||null===(r=v.configuration)||void 0===r?void 0:r.accepted_file_types)||n,M=(null==v||null===(i=v.configuration)||void 0===i?void 0:i.max_files)||_constants.DEFAULT_MAX_FILES,[W,V]=(0,_react.useState)([]),[j,B]=(0,_react.useState)(!1),[k,U]=(0,_react.useState)(_constants.FORMAT_ERROR_TEXT),X=(0,_react.useRef)(null),[N,Y]=(0,_react.useState)((null==b||null===(s=b.value)||void 0===s?void 0:s.files)||[]),G=(e,t)=>{B(!0),U(t?"".concat(e,"(").concat(t,")"):e)},H=async e=>{const t=e=>new Promise((t,a)=>{const r=new FileReader;r.onload=a=>{(0,_utils.hasPreview)(e)||(0,_utils.isDownloadable)(e)?t({src:a.target.result,file:e}):t({src:null,file:e})},r.onerror=e=>a(e),r.readAsDataURL(e)});try{const a=(await Promise.all(e.map(t))).map(e=>{let{src:t,file:a}=e;return((e,t)=>({...t,src:e}))(t,{type:a.type,name:a.name,size:(0,_utils.getSizeInMB)(a.size),onClick:()=>{return(e=a.name)&&V(t=>t.filter(t=>t.name!==e)),Y(t=>{const a=Object.values(t).filter(t=>t.name!==e);return b.onChange&&b.onChange((0,_isEmpty.default)(a)?null:{files:a}),a}),X.current&&(X.current.value=null),void B(!1);var e}})});V(e=>(0,_utils.getNotRepeatedFiles)([...(e||[]).filter(e=>"loading"!==e.type),...a]))}catch(e){V(e=>(e||[]).filter(e=>"loading"!==e.type)),G(null==e?void 0:e.message)}},Z=async function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const i=Array.isArray(b.value)?b.value.length:1;if(a===i)return w&&w(),I&&b.onChange&&b.onChange({files:r}),Y(r),void H(r);const s=Array.isArray(b.value)?b.value.flatMap(e=>Object.values(e)[0]):b.value,n=Array.isArray(b.value)?(null===(e=b.value[a])||void 0===e?void 0:e.url)||(null===(t=s[a])||void 0===t?void 0:t.url):b.value;(0,_utils.getBlobFromUrl)(n,async e=>{if(e){var t,i;const n=Array.isArray(b.value)?(null===(t=b.value[a])||void 0===t?void 0:t.name)||(null===(i=s[a])||void 0===i?void 0:i.name):null,l=new File([e],n||(0,_utils.getDefaultAttachment)(e.type.substring(e.type.indexOf("/")+1),a+1),{type:e.type});Z(a+1,[...r,l])}else V(e=>{let t=!1;return e.map(e=>t||e.type!==_constants.PREVIEW_TYPES.LOADING?e:(t=!0,{...e,type:_constants.PREVIEW_TYPES.ERROR}))}),Z(a+1,r)})};return(0,_react.useEffect)(()=>{var e;if((0,_isEmpty.default)(N)?(0,_isEmpty.default)(null===(e=b.value)||void 0===e?void 0:e.files)||H(b.value.files):H(N),Array.isArray(b.value)&&!(0,_isEmpty.default)(b.value)||b.value&&"string"==typeof b.value){if((0,_isEmpty.default)(W)){const e=Array.isArray(b.value)?b.value.length:1;V(Array.from({length:e},()=>({type:_constants.PREVIEW_TYPES.LOADING})))}Z()}},[b]),_react.default.createElement(_layout.default,{actions:l,acceptedFileTypes:L,areaBackground:F,areaBorderColor:q,classes:p,containerClassname:u,disabled:c,dataTestId:_,deleteDataTestId:y,error:j,errorClassname:T,errorText:k,field:v,fieldTypes:m,fileInputRef:X,helpText:P,hideLabels:g,icon:h,loadingTextClassname:E,maxFiles:M,maxFileSize:(0,_utils.getSizeInMB)(x),onChange:async e=>{var t;const a=(null===(t=b.value)||void 0===t?void 0:t.files)||N,r=Object.values((0,_isEmpty.default)(a)?e.target.files:(0,_utils.getNotRepeatedFiles)([...a,...e.target.files])),i={formatError:_constants.FORMAT_ERROR_TEXT,sizeError:"".concat(_constants.SIZE_ERROR_TEXT," ").concat((0,_utils.getSizeInMB)(x),"MB."),aspectRatioError:"".concat(_constants.ASPECT_RATIO_ERROR_TEXT," ").concat(null==o?void 0:o.map(e=>e.name).join(" - "),")")};B(!1);const s=async e=>{if(e<r.length){if(M&&r.length>M)return void G(_constants.MAX_FILES_ERROR,M);let t=r[e];if(t){let a=!d||await d(t,G);if(a){if(a=await(0,_validate.fileSignatureValidation)(t,m,t.type),!a)return void G(i.formatError);if(S)try{t=await S(t)}catch(e){return void G(i.formatError)}if(a=(0,_validate.fileSizeValidation)(t,x),a&&(0,_utils.isPDF)(t)&&!(0,_isEmpty.default)(o)&&(a=await(0,_utils.pdfAspectRatioValidation)(t,o),!a))return void G(i.aspectRatioError);if(a||f||!(0,_utils.isImage)(t)||(0,_browser.isIE)()||(t=await(0,_image.resizeImage)(t,C),a=(0,_validate.fileSizeValidation)(t,x)),r[e]=t,!a)return void G(i.sizeError)}}await s(e+1)}else b.onChange&&b.onChange({files:r}),Y(r),await H(r)};await s(0)},preview:W,previewDataTestId:O,readOnly:A,titleVariant:D})};AttachmentListContainer.propTypes={acceptedFileTypes:_propTypes.string,actions:(0,_propTypes.arrayOf)(_buttonTypes.buttonTypes),allowedPDFUploadSizes:(0,_propTypes.arrayOf)((0,_propTypes.shape)({name:_propTypes.string,heightInPt:_propTypes.number,widthInPt:_propTypes.number,tolerance:_propTypes.number})),classes:(0,_propTypes.objectOf)(_propTypes.string),containerClassname:_propTypes.string,customValidation:_propTypes.func,disabled:_propTypes.bool,dataTestId:_propTypes.string,deleteDataTestId:_propTypes.string,disableResize:_propTypes.bool,errorClassname:_propTypes.string,field:_propTypes.any,fieldTypes:(0,_propTypes.arrayOf)(_propTypes.string),hideLabels:_propTypes.bool,icon:_propTypes.node,input:(0,_propTypes.shape)({value:(0,_propTypes.oneOfType)([_propTypes.string,(0,_propTypes.shape)({name:_propTypes.string,type:_propTypes.string})])}),loadingTextClassname:_propTypes.string,maxFileSize:_propTypes.number,onLoaded:_propTypes.func,notifyOnInitialLoad:_propTypes.bool,previewDataTestId:_propTypes.string,readOnly:_propTypes.bool,resizeConfig:(0,_propTypes.shape)({type:_propTypes.string,maxWidth:_propTypes.number,maxHeight:_propTypes.number}),sanitize:_propTypes.func,theme:_propTypes.any,titleVariant:_propTypes.string};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(AttachmentListContainer);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireDefault(require("react")),_propTypes=require("prop-types"),_UTTouchableWithoutFeedback=_interopRequireDefault(require("../../../../../UTTouchableWithoutFeedback")),_UTIcon=_interopRequireDefault(require("../../../../../UTIcon")),_UTLabel=_interopRequireDefault(require("../../../../../UTLabel")),_UTTooltip=_interopRequireDefault(require("../../../../../UTTooltip")),_WithTheme=_interopRequireDefault(require("../../../../../WithTheme")),_theme=require("./theme"),_utils=require("./utils"),_constants=require("./constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const Radio=e=>{let{classes:t,description:a,descriptionProps:r={},disabled:o,icon:n,iconProps:c={},iconSelectedProps:s={},name:l,nameProps:i={},nameSelectedProps:p={},onChange:_,prefix:d,selected:u,suffix:T,theme:m,tooltip:f,variant:y=_constants.RADIO_VARIANTS.DEFAULT}=e;const E=y===_constants.RADIO_VARIANTS.CARD,{areaBackground:N,areaBorderColor:h}=(0,_utils.getIconAreaColors)(m),b=l&&_react.default.createElement(_UTLabel.default,_extends({className:t.name,colorTheme:"dark"},i,u?p:{}),l);return _react.default.createElement(_UTTouchableWithoutFeedback.default,{className:t.root,disabled:o,onClick:()=>!o&&_()},y===_constants.RADIO_VARIANTS.DEFAULT&&_react.default.createElement("div",{className:t.radioCircleContainer},_react.default.createElement("div",{className:t.radioCircle},u&&_react.default.createElement("div",{className:t.radioDot}))),_react.default.createElement("div",{className:t.content},(()=>{if(!n)return null;const e=(0,_utils.getIconContentType)(n);if(e===_constants.ICON_CONTENT_TYPES.IMAGE)return _react.default.createElement("img",{alt:n.alt||"",className:t.iconImage,src:n.src});if(e===_constants.ICON_CONTENT_TYPES.COMPONENT){const e=n;return _react.default.createElement(e,{className:t.icon})}return _react.default.createElement(_UTIcon.default,_extends({colorTheme:"dark",name:n,size:_constants.ICON_SIZES[y]},E&&{area:!0,areaBackground:N,areaBorderColor:h,areaRadius:_constants.ICON_AREA_RADIUS,areaSize:_constants.ICON_AREA_SIZE},c,u?s:{}))})(),_react.default.createElement("div",{className:t.contentContainer},_react.default.createElement("div",{className:t.content},d&&_react.default.createElement(_UTLabel.default,{colorTheme:"gray"},d),E&&f?_react.default.createElement("div",{className:t.titleAndTooltip},b,_react.default.createElement(_UTTooltip.default,{content:f},_react.default.createElement("span",{className:t.tooltip},_react.default.createElement(_UTIcon.default,{className:t.infoIcon,colorTheme:u&&E?"accent":o&&E?"gray":"dark",name:"IconHelp",size:20})))):b,T&&_react.default.createElement(_UTLabel.default,{colorTheme:"gray",variant:"small",weight:"medium"},T)),_react.default.createElement(_UTLabel.default,_extends({className:t.description,colorTheme:"gray",variant:"body"},r),a))),E&&_react.default.createElement("div",{className:t.cardRadio},u&&_react.default.createElement("div",{className:t.radioDot})),u&&y===_constants.RADIO_VARIANTS.BUTTON&&_react.default.createElement(_UTIcon.default,{name:"IconCheck",colorTheme:"accent"}))};Radio.propTypes={classes:_propTypes.object,description:_propTypes.string,descriptionProps:_propTypes.object,disabled:_propTypes.bool,icon:(0,_propTypes.oneOfType)([_propTypes.string,_propTypes.elementType,(0,_propTypes.shape)({alt:_propTypes.string,src:_propTypes.string})]),iconProps:_propTypes.object,iconSelectedProps:_propTypes.object,name:_propTypes.string,nameProps:_propTypes.object,nameSelectedProps:_propTypes.object,onChange:_propTypes.func,prefix:_propTypes.string,selected:_propTypes.bool,suffix:_propTypes.string,theme:_propTypes.object,tooltip:_propTypes.string,variant:_propTypes.string};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(Radio);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireDefault(require("react")),_propTypes=require("prop-types"),_UTTouchableWithoutFeedback=_interopRequireDefault(require("../../../../../UTTouchableWithoutFeedback")),_UTIcon=_interopRequireDefault(require("../../../../../UTIcon")),_UTLabel=_interopRequireDefault(require("../../../../../UTLabel")),_UTTooltip=_interopRequireDefault(require("../../../../../UTTooltip")),_WithTheme=_interopRequireDefault(require("../../../../../WithTheme")),_theme=require("./theme"),_utils=require("./utils"),_constants=require("./constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const Radio=e=>{let{classes:t,dataTestId:a,description:r,descriptionProps:o={},disabled:n,icon:s,iconProps:c={},iconSelectedProps:l={},name:i,nameProps:p={},nameSelectedProps:_={},onChange:d,prefix:u,selected:T,suffix:m,theme:f,tooltip:y,variant:E=_constants.RADIO_VARIANTS.DEFAULT}=e;const N=E===_constants.RADIO_VARIANTS.CARD,{areaBackground:h,areaBorderColor:I}=(0,_utils.getIconAreaColors)(f),b=i&&_react.default.createElement(_UTLabel.default,_extends({className:t.name,colorTheme:"dark"},p,T?_:{}),i);return _react.default.createElement(_UTTouchableWithoutFeedback.default,{className:t.root,dataTestId:a,disabled:n,onClick:()=>!n&&d()},E===_constants.RADIO_VARIANTS.DEFAULT&&_react.default.createElement("div",{className:t.radioCircleContainer},_react.default.createElement("div",{className:t.radioCircle},T&&_react.default.createElement("div",{className:t.radioDot}))),_react.default.createElement("div",{className:t.content},(()=>{if(!s)return null;const e=(0,_utils.getIconContentType)(s);if(e===_constants.ICON_CONTENT_TYPES.IMAGE)return _react.default.createElement("img",{alt:s.alt||"",className:t.iconImage,src:s.src});if(e===_constants.ICON_CONTENT_TYPES.COMPONENT){const e=s;return _react.default.createElement(e,{className:t.icon})}return _react.default.createElement(_UTIcon.default,_extends({colorTheme:"dark",name:s,size:_constants.ICON_SIZES[E]},N&&{area:!0,areaBackground:h,areaBorderColor:I,areaRadius:_constants.ICON_AREA_RADIUS,areaSize:_constants.ICON_AREA_SIZE},c,T?l:{}))})(),_react.default.createElement("div",{className:t.contentContainer},_react.default.createElement("div",{className:t.content},u&&_react.default.createElement(_UTLabel.default,{colorTheme:"gray"},u),N&&y?_react.default.createElement("div",{className:t.titleAndTooltip},b,_react.default.createElement(_UTTooltip.default,{content:y},_react.default.createElement("span",{className:t.tooltip},_react.default.createElement(_UTIcon.default,{className:t.infoIcon,colorTheme:T&&N?"accent":n&&N?"gray":"dark",name:"IconHelp",size:20})))):b,m&&_react.default.createElement(_UTLabel.default,{colorTheme:"gray",variant:"small",weight:"medium"},m)),_react.default.createElement(_UTLabel.default,_extends({className:t.description,colorTheme:"gray",variant:"body"},o),r))),N&&_react.default.createElement("div",{className:t.cardRadio},T&&_react.default.createElement("div",{className:t.radioDot})),T&&E===_constants.RADIO_VARIANTS.BUTTON&&_react.default.createElement(_UTIcon.default,{name:"IconCheck",colorTheme:"accent"}))};Radio.propTypes={classes:_propTypes.object,dataTestId:_propTypes.string,description:_propTypes.string,descriptionProps:_propTypes.object,disabled:_propTypes.bool,icon:(0,_propTypes.oneOfType)([_propTypes.string,_propTypes.elementType,(0,_propTypes.shape)({alt:_propTypes.string,src:_propTypes.string})]),iconProps:_propTypes.object,iconSelectedProps:_propTypes.object,name:_propTypes.string,nameProps:_propTypes.object,nameSelectedProps:_propTypes.object,onChange:_propTypes.func,prefix:_propTypes.string,selected:_propTypes.bool,suffix:_propTypes.string,theme:_propTypes.object,tooltip:_propTypes.string,variant:_propTypes.string};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(Radio);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_propTypes=require("prop-types"),_validate=require("@widergy/web-utils/lib/validate"),_image=require("@widergy/web-utils/lib/image"),_browser=require("@widergy/web-utils/lib/browser"),_array=require("@widergy/web-utils/lib/array"),_WithTheme=_interopRequireDefault(require("../../components/WithTheme")),_buttonTypes=require("../../types/buttonTypes"),_theme=require("./theme"),_constants=require("./constants"),_layout=_interopRequireDefault(require("./layout")),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,s,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(a=t?r:i){if(a.has(e))return a.get(e);a.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?a(o,t,s):o[t]=e[t]);return o})(e,t)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}class AttachmentContainer extends _react.Component{constructor(e){super(e),_defineProperty(this,"loadElement",()=>{const{input:e,onLoaded:t}=this.props;(0,_utils.getBlobFromUrl)(e.value,i=>{if(null!=i&&i.type){const t=i.type.substring(i.type.indexOf("/")+1);this.setState({name:this.getDefaultAttachment(e.value,t)}),(0,_utils.hasPreview)(i)&&this.buildPreview(i)}else this.setState({name:this.getDefaultAttachment(e.value)});t&&t()})}),_defineProperty(this,"loadDefaultValues",()=>{const{input:e}=this.props;this.hasDefaultValueToLoad()?this.loadElement():this.hasDefaultFileObjectToLoad()&&this.setFile(e.value.file)}),_defineProperty(this,"getDefaultAttachment",(e,t)=>e&&"string"==typeof e&&_react.default.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},_constants.DEFAULT_ATTACHMENT_NAME,t&&".".concat(t))||""),_defineProperty(this,"hasDefaultValueToLoad",()=>this.props.input.value&&"string"==typeof this.props.input.value),_defineProperty(this,"hasDefaultFileObjectToLoad",()=>{const{input:e}=this.props;return e.value&&"object"==typeof e.value&&(0,_utils.isValidFile)(e.value.file)}),_defineProperty(this,"onChange",async e=>{var t;let i=e.target.files[0];const{resizeConfig:r,disableResize:a}=this.props,s={formatError:_constants.FORMAT_ERROR_TEXT,sizeError:"".concat(_constants.SIZE_ERROR_TEXT," ").concat(Math.round(this.props.maxFileSize/1048576),"MB."),aspectRatioError:"".concat(_constants.ASPECT_RATIO_ERROR_TEXT," ").concat(null===(t=this.props.allowedPDFUploadSizes)||void 0===t?void 0:t.map(e=>e.name).join(" - "),")")};if(this.setState({error:!1}),i){let e=!this.props.customValidation||await this.props.customValidation(i,this.onFailValidation);if(e){if(e=await(0,_validate.fileSignatureValidation)(i,this.props.fieldTypes,i.type),e)return this.props.sanitize&&(i=await this.props.sanitize(i)),e=(0,_validate.fileSizeValidation)(i,this.props.maxFileSize),e&&(0,_utils.isPDF)(i)&&!(0,_array.isEmpty)(this.props.allowedPDFUploadSizes)?(e=await(0,_utils.pdfAspectRatioValidation)(i,this.props.allowedPDFUploadSizes),e?this.setFile(i):this.onFailValidation(s.aspectRatioError)):(e||a||!(0,_utils.isImage)(i)||(0,_browser.isIE)()||(i=await(0,_image.resizeImage)(i,r),e=(0,_validate.fileSizeValidation)(i,this.props.maxFileSize)),e?this.setFile(i):this.onFailValidation(s.sizeError));this.onFailValidation(s.formatError)}}}),_defineProperty(this,"onFailValidation",e=>this.setState({error:!0,errorText:e})),_defineProperty(this,"setFile",async e=>{const{onChange:t,onLoaded:i}=this.props;this.setState({loading:!0,name:e.name}),(0,_utils.hasPreview)(e)&&this.buildPreview(e),t&&t({file:e}),this.setState({loading:!1}),i&&i()}),_defineProperty(this,"buildPreview",e=>{const t=new FileReader;t.onload=t=>this.setState({preview:{src:t.target.result,type:e.type}}),t.readAsDataURL(e)}),_defineProperty(this,"removeValue",()=>{this.setState({loading:!1,name:"",preview:{}}),this.props.onChange&&this.props.onChange("")}),this.state={loading:!1,name:"",preview:{},error:!1,errorText:_constants.FORMAT_ERROR_TEXT}}componentDidMount(){this.loadDefaultValues()}componentDidUpdate(e){var t;const{fieldTypes:i,input:r}=this.props;(null===(t=e.fieldTypes)||void 0===t?void 0:t[0])!==(null==i?void 0:i[0])?this.removeValue():(0,_utils.isNewFile)(e.input.value,r.value)&&this.loadDefaultValues()}render(){const{acceptedFileTypes:e,actions:t,classes:i,containerClassname:r,dataTestId:a,deleteDataTestId:s,disabled:o,errorClassname:p,field:n,fieldTypes:l,hideLabels:u,icon:d,input:_,loadingTextClassname:y,previewClassname:c,previewDataTestId:h,previewProps:f,RemoveIcon:T,removeFileClassname:m,titleVariant:v}=this.props,{name:g,preview:b,loading:w,error:P,errorText:F}=this.state,D=this.hasDefaultValueToLoad()&&!g;return _react.default.createElement(_layout.default,{acceptedFileTypes:e,actions:t,classes:i,containerClassname:r,dataTestId:a,deleteDataTestId:s,disabled:o,error:P,errorClassname:p,errorText:F,field:n,fieldTypes:l,hideLabels:u,icon:d,loading:w||D,loadingTextClassname:y,name:g||this.getDefaultAttachment(_.value),onChange:this.onChange,onClick:this.removeValue,preview:b,previewClassname:c,previewDataTestId:h,previewProps:f,removeFileClassname:m,RemoveIcon:T,titleVariant:v,uploadingText:D?_constants.DEFAULT_UPLOADING_TEXT:""})}}AttachmentContainer.propTypes={acceptedFileTypes:_propTypes.string,actions:(0,_propTypes.arrayOf)(_buttonTypes.buttonTypes),allowedPDFUploadSizes:(0,_propTypes.arrayOf)((0,_propTypes.shape)({name:_propTypes.string,heightInPt:_propTypes.number,widthInPt:_propTypes.number,tolerance:_propTypes.number})),classes:(0,_propTypes.objectOf)(_propTypes.string),containerClassname:_propTypes.string,customValidation:_propTypes.func,dataTestId:_propTypes.string,deleteDataTestId:_propTypes.string,disableResize:_propTypes.bool,disabled:_propTypes.bool,errorClassname:_propTypes.string,field:_propTypes.object,fieldTypes:(0,_propTypes.arrayOf)(_propTypes.string),hideLabels:_propTypes.string,icon:_propTypes.node,input:(0,_propTypes.shape)({value:(0,_propTypes.oneOfType)([_propTypes.string,(0,_propTypes.shape)({name:_propTypes.string,type:_propTypes.string})])}),loadingTextClassname:_propTypes.string,maxFileSize:_propTypes.number,onChange:_propTypes.func,onLoaded:_propTypes.func,previewClassname:_propTypes.string,previewDataTestId:_propTypes.string,previewProps:_constants.previewPropType,removeFileClassname:_propTypes.string,RemoveIcon:_propTypes.elementType,resizeConfig:(0,_propTypes.shape)({type:_propTypes.string,maxWidth:_propTypes.number,maxHeight:_propTypes.number}),sanitize:_propTypes.func,titleVariant:_propTypes.string},AttachmentContainer.defaultProps={maxFileSize:99999999};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(AttachmentContainer);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_propTypes=require("prop-types"),_validate=require("@widergy/web-utils/lib/validate"),_image=require("@widergy/web-utils/lib/image"),_browser=require("@widergy/web-utils/lib/browser"),_array=require("@widergy/web-utils/lib/array"),_WithTheme=_interopRequireDefault(require("../../components/WithTheme")),_buttonTypes=require("../../types/buttonTypes"),_theme=require("./theme"),_constants=require("./constants"),_layout=_interopRequireDefault(require("./layout")),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,s,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(a=t?r:i){if(a.has(e))return a.get(e);a.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?a(o,t,s):o[t]=e[t]);return o})(e,t)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}class AttachmentContainer extends _react.Component{constructor(e){super(e),_defineProperty(this,"loadElement",()=>{const{input:e,onLoaded:t}=this.props;(0,_utils.getBlobFromUrl)(e.value,i=>{if(null!=i&&i.type){const t=i.type.substring(i.type.indexOf("/")+1);this.setState({name:this.getDefaultAttachment(e.value,t)}),(0,_utils.hasPreview)(i)&&this.buildPreview(i)}else this.setState({name:this.getDefaultAttachment(e.value)});t&&t()})}),_defineProperty(this,"loadDefaultValues",()=>{const{input:e}=this.props;this.hasDefaultValueToLoad()?this.loadElement():this.hasDefaultFileObjectToLoad()&&this.setFile(e.value.file)}),_defineProperty(this,"getDefaultAttachment",(e,t)=>e&&"string"==typeof e&&_react.default.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},_constants.DEFAULT_ATTACHMENT_NAME,t&&".".concat(t))||""),_defineProperty(this,"hasDefaultValueToLoad",()=>this.props.input.value&&"string"==typeof this.props.input.value),_defineProperty(this,"hasDefaultFileObjectToLoad",()=>{const{input:e}=this.props;return e.value&&"object"==typeof e.value&&(0,_utils.isValidFile)(e.value.file)}),_defineProperty(this,"onChange",async e=>{var t;let i=e.target.files[0];const{resizeConfig:r,disableResize:a}=this.props,s={formatError:_constants.FORMAT_ERROR_TEXT,sizeError:"".concat(_constants.SIZE_ERROR_TEXT," ").concat(Math.round(this.props.maxFileSize/1048576),"MB."),aspectRatioError:"".concat(_constants.ASPECT_RATIO_ERROR_TEXT," ").concat(null===(t=this.props.allowedPDFUploadSizes)||void 0===t?void 0:t.map(e=>e.name).join(" - "),")")};if(this.setState({error:!1}),i){let e=!this.props.customValidation||await this.props.customValidation(i,this.onFailValidation);if(e){if(e=await(0,_validate.fileSignatureValidation)(i,this.props.fieldTypes,i.type),e){if(this.props.sanitize)try{i=await this.props.sanitize(i)}catch(e){return this.onFailValidation(s.formatError)}return e=(0,_validate.fileSizeValidation)(i,this.props.maxFileSize),e&&(0,_utils.isPDF)(i)&&!(0,_array.isEmpty)(this.props.allowedPDFUploadSizes)?(e=await(0,_utils.pdfAspectRatioValidation)(i,this.props.allowedPDFUploadSizes),e?this.setFile(i):this.onFailValidation(s.aspectRatioError)):(e||a||!(0,_utils.isImage)(i)||(0,_browser.isIE)()||(i=await(0,_image.resizeImage)(i,r),e=(0,_validate.fileSizeValidation)(i,this.props.maxFileSize)),e?this.setFile(i):this.onFailValidation(s.sizeError))}this.onFailValidation(s.formatError)}}}),_defineProperty(this,"onFailValidation",e=>this.setState({error:!0,errorText:e})),_defineProperty(this,"setFile",async e=>{const{onChange:t,onLoaded:i}=this.props;this.setState({loading:!0,name:e.name}),(0,_utils.hasPreview)(e)&&this.buildPreview(e),t&&t({file:e}),this.setState({loading:!1}),i&&i()}),_defineProperty(this,"buildPreview",e=>{const t=new FileReader;t.onload=t=>this.setState({preview:{src:t.target.result,type:e.type}}),t.readAsDataURL(e)}),_defineProperty(this,"removeValue",()=>{this.setState({loading:!1,name:"",preview:{}}),this.props.onChange&&this.props.onChange("")}),this.state={loading:!1,name:"",preview:{},error:!1,errorText:_constants.FORMAT_ERROR_TEXT}}componentDidMount(){this.loadDefaultValues()}componentDidUpdate(e){var t;const{fieldTypes:i,input:r}=this.props;(null===(t=e.fieldTypes)||void 0===t?void 0:t[0])!==(null==i?void 0:i[0])?this.removeValue():(0,_utils.isNewFile)(e.input.value,r.value)&&this.loadDefaultValues()}render(){const{acceptedFileTypes:e,actions:t,classes:i,containerClassname:r,dataTestId:a,deleteDataTestId:s,disabled:o,errorClassname:p,field:n,fieldTypes:l,hideLabels:u,icon:d,input:_,loadingTextClassname:y,previewClassname:c,previewDataTestId:h,previewProps:f,RemoveIcon:T,removeFileClassname:m,titleVariant:v}=this.props,{name:g,preview:b,loading:w,error:P,errorText:F}=this.state,D=this.hasDefaultValueToLoad()&&!g;return _react.default.createElement(_layout.default,{acceptedFileTypes:e,actions:t,classes:i,containerClassname:r,dataTestId:a,deleteDataTestId:s,disabled:o,error:P,errorClassname:p,errorText:F,field:n,fieldTypes:l,hideLabels:u,icon:d,loading:w||D,loadingTextClassname:y,name:g||this.getDefaultAttachment(_.value),onChange:this.onChange,onClick:this.removeValue,preview:b,previewClassname:c,previewDataTestId:h,previewProps:f,removeFileClassname:m,RemoveIcon:T,titleVariant:v,uploadingText:D?_constants.DEFAULT_UPLOADING_TEXT:""})}}AttachmentContainer.propTypes={acceptedFileTypes:_propTypes.string,actions:(0,_propTypes.arrayOf)(_buttonTypes.buttonTypes),allowedPDFUploadSizes:(0,_propTypes.arrayOf)((0,_propTypes.shape)({name:_propTypes.string,heightInPt:_propTypes.number,widthInPt:_propTypes.number,tolerance:_propTypes.number})),classes:(0,_propTypes.objectOf)(_propTypes.string),containerClassname:_propTypes.string,customValidation:_propTypes.func,dataTestId:_propTypes.string,deleteDataTestId:_propTypes.string,disableResize:_propTypes.bool,disabled:_propTypes.bool,errorClassname:_propTypes.string,field:_propTypes.object,fieldTypes:(0,_propTypes.arrayOf)(_propTypes.string),hideLabels:_propTypes.string,icon:_propTypes.node,input:(0,_propTypes.shape)({value:(0,_propTypes.oneOfType)([_propTypes.string,(0,_propTypes.shape)({name:_propTypes.string,type:_propTypes.string})])}),loadingTextClassname:_propTypes.string,maxFileSize:_propTypes.number,onChange:_propTypes.func,onLoaded:_propTypes.func,previewClassname:_propTypes.string,previewDataTestId:_propTypes.string,previewProps:_constants.previewPropType,removeFileClassname:_propTypes.string,RemoveIcon:_propTypes.elementType,resizeConfig:(0,_propTypes.shape)({type:_propTypes.string,maxWidth:_propTypes.number,maxHeight:_propTypes.number}),sanitize:_propTypes.func,titleVariant:_propTypes.string},AttachmentContainer.defaultProps={maxFileSize:99999999};var _default=exports.default=(0,_WithTheme.default)(_theme.retrieveStyle)(AttachmentContainer);
@@ -1 +1 @@
1
- import React,{useEffect,useRef,useState}from"react";import{func,arrayOf,string,shape,number,node,bool,objectOf,oneOfType,any}from"prop-types";import{fileSignatureValidation,fileSizeValidation}from"@widergy/web-utils/lib/validate";import{resizeImage}from"@widergy/web-utils/lib/image";import{isIE}from"@widergy/web-utils/lib/browser";import isEmpty from"lodash/isEmpty";import{buttonTypes}from"../../types/buttonTypes";import WithTheme from"../WithTheme";import{retrieveStyle}from"./theme";import{FORMAT_ERROR_TEXT,SIZE_ERROR_TEXT,ASPECT_RATIO_ERROR_TEXT,MAX_FILES_ERROR,DEFAULT_MAX_FILES,PREVIEW_TYPES}from"./constants";import Attachment from"./layout";import{pdfAspectRatioValidation,isImage,isPDF,getSizeInMB,hasPreview,isDownloadable,getNotRepeatedFiles,getBlobFromUrl,getDefaultAttachment,getUploadIconAreaColors}from"./utils";const AttachmentListContainer=e=>{var t,a,i,r,n;let{acceptedFileTypes:l,actions:o,allowedPDFUploadSizes:s,classes:d,containerClassname:u,customValidation:m,dataTestId:c,deleteDataTestId:f,disabled:p,disableResize:y,errorClassname:g,field:v,fieldTypes:E=[],hideLabels:T,icon:R,input:h,loadingTextClassname:b,maxFileSize:A=99999999,onLoaded:I,notifyOnInitialLoad:O=!0,previewDataTestId:_,readOnly:S=!1,resizeConfig:w,sanitize:C,theme:F,titleVariant:z}=e;const{areaBackground:P,areaBorderColor:D}=getUploadIconAreaColors(F),L=null==v||null===(t=v.configuration)||void 0===t?void 0:t.help_text,x=(null==v||null===(a=v.configuration)||void 0===a?void 0:a.max_file_size)||A,V=(null==v||null===(i=v.configuration)||void 0===i?void 0:i.accepted_file_types)||l,M=(null==v||null===(r=v.configuration)||void 0===r?void 0:r.max_files)||DEFAULT_MAX_FILES,[B,X]=useState([]),[U,W]=useState(!1),[j,N]=useState(FORMAT_ERROR_TEXT),Y=useRef(null),[k,G]=useState((null==h||null===(n=h.value)||void 0===n?void 0:n.files)||[]),Z=(e,t)=>{W(!0),N(t?"".concat(e,"(").concat(t,")"):e)},H=async e=>{const t=e=>new Promise((t,a)=>{const i=new FileReader;i.onload=a=>{hasPreview(e)||isDownloadable(e)?t({src:a.target.result,file:e}):t({src:null,file:e})},i.onerror=e=>a(e),i.readAsDataURL(e)});try{const a=(await Promise.all(e.map(t))).map(e=>{let{src:t,file:a}=e;return((e,t)=>({...t,src:e}))(t,{type:a.type,name:a.name,size:getSizeInMB(a.size),onClick:()=>{return(e=a.name)&&X(t=>t.filter(t=>t.name!==e)),G(t=>{const a=Object.values(t).filter(t=>t.name!==e);return h.onChange&&h.onChange(isEmpty(a)?null:{files:a}),a}),Y.current&&(Y.current.value=null),void W(!1);var e}})});X(e=>getNotRepeatedFiles([...(e||[]).filter(e=>"loading"!==e.type),...a]))}catch(e){X(e=>(e||[]).filter(e=>"loading"!==e.type)),Z(null==e?void 0:e.message)}},q=async function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(h.value)?h.value.length:1;if(a===r)return I&&I(),O&&h.onChange&&h.onChange({files:i}),G(i),void H(i);const n=Array.isArray(h.value)?h.value.flatMap(e=>Object.values(e)[0]):h.value,l=Array.isArray(h.value)?(null===(e=h.value[a])||void 0===e?void 0:e.url)||(null===(t=n[a])||void 0===t?void 0:t.url):h.value;getBlobFromUrl(l,async e=>{if(e){var t,r;const l=Array.isArray(h.value)?(null===(t=h.value[a])||void 0===t?void 0:t.name)||(null===(r=n[a])||void 0===r?void 0:r.name):null,o=new File([e],l||getDefaultAttachment(e.type.substring(e.type.indexOf("/")+1),a+1),{type:e.type});q(a+1,[...i,o])}else X(e=>{let t=!1;return e.map(e=>t||e.type!==PREVIEW_TYPES.LOADING?e:(t=!0,{...e,type:PREVIEW_TYPES.ERROR}))}),q(a+1,i)})};return useEffect(()=>{var e;if(isEmpty(k)?isEmpty(null===(e=h.value)||void 0===e?void 0:e.files)||H(h.value.files):H(k),Array.isArray(h.value)&&!isEmpty(h.value)||h.value&&"string"==typeof h.value){if(isEmpty(B)){const e=Array.isArray(h.value)?h.value.length:1;X(Array.from({length:e},()=>({type:PREVIEW_TYPES.LOADING})))}q()}},[h]),React.createElement(Attachment,{actions:o,acceptedFileTypes:V,areaBackground:P,areaBorderColor:D,classes:d,containerClassname:u,disabled:p,dataTestId:c,deleteDataTestId:f,error:U,errorClassname:g,errorText:j,field:v,fieldTypes:E,fileInputRef:Y,helpText:L,hideLabels:T,icon:R,loadingTextClassname:b,maxFiles:M,maxFileSize:getSizeInMB(x),onChange:async e=>{var t;const a=(null===(t=h.value)||void 0===t?void 0:t.files)||k,i=Object.values(isEmpty(a)?e.target.files:getNotRepeatedFiles([...a,...e.target.files])),r={formatError:FORMAT_ERROR_TEXT,sizeError:"".concat(SIZE_ERROR_TEXT," ").concat(getSizeInMB(x),"MB."),aspectRatioError:"".concat(ASPECT_RATIO_ERROR_TEXT," ").concat(null==s?void 0:s.map(e=>e.name).join(" - "),")")};W(!1);const n=async e=>{if(e<i.length){if(M&&i.length>M)return void Z(MAX_FILES_ERROR,M);let t=i[e];if(t){let a=!m||await m(t,Z);if(a){if(a=await fileSignatureValidation(t,E,t.type),!a)return void Z(r.formatError);if(C&&(t=await C(t)),a=fileSizeValidation(t,x),a&&isPDF(t)&&!isEmpty(s)&&(a=await pdfAspectRatioValidation(t,s),!a))return void Z(r.aspectRatioError);if(a||y||!isImage(t)||isIE()||(t=await resizeImage(t,w),a=fileSizeValidation(t,x),i[e]=t),!a)return void Z(r.sizeError)}}await n(e+1)}else h.onChange&&h.onChange({files:i}),G(i),await H(i)};await n(0)},preview:B,previewDataTestId:_,readOnly:S,titleVariant:z})};AttachmentListContainer.propTypes={acceptedFileTypes:string,actions:arrayOf(buttonTypes),allowedPDFUploadSizes:arrayOf(shape({name:string,heightInPt:number,widthInPt:number,tolerance:number})),classes:objectOf(string),containerClassname:string,customValidation:func,disabled:bool,dataTestId:string,deleteDataTestId:string,disableResize:bool,errorClassname:string,field:any,fieldTypes:arrayOf(string),hideLabels:bool,icon:node,input:shape({value:oneOfType([string,shape({name:string,type:string})])}),loadingTextClassname:string,maxFileSize:number,onLoaded:func,notifyOnInitialLoad:bool,previewDataTestId:string,readOnly:bool,resizeConfig:shape({type:string,maxWidth:number,maxHeight:number}),sanitize:func,theme:any,titleVariant:string};export default WithTheme(retrieveStyle)(AttachmentListContainer);
1
+ import React,{useEffect,useRef,useState}from"react";import{func,arrayOf,string,shape,number,node,bool,objectOf,oneOfType,any}from"prop-types";import{fileSignatureValidation,fileSizeValidation}from"@widergy/web-utils/lib/validate";import{resizeImage}from"@widergy/web-utils/lib/image";import{isIE}from"@widergy/web-utils/lib/browser";import isEmpty from"lodash/isEmpty";import{buttonTypes}from"../../types/buttonTypes";import WithTheme from"../WithTheme";import{retrieveStyle}from"./theme";import{FORMAT_ERROR_TEXT,SIZE_ERROR_TEXT,ASPECT_RATIO_ERROR_TEXT,MAX_FILES_ERROR,DEFAULT_MAX_FILES,PREVIEW_TYPES}from"./constants";import Attachment from"./layout";import{pdfAspectRatioValidation,isImage,isPDF,getSizeInMB,hasPreview,isDownloadable,getNotRepeatedFiles,getBlobFromUrl,getDefaultAttachment,getUploadIconAreaColors}from"./utils";const AttachmentListContainer=e=>{var t,a,i,r,n;let{acceptedFileTypes:l,actions:o,allowedPDFUploadSizes:s,classes:d,containerClassname:u,customValidation:m,dataTestId:c,deleteDataTestId:f,disabled:p,disableResize:y,errorClassname:g,field:v,fieldTypes:E=[],hideLabels:T,icon:R,input:h,loadingTextClassname:b,maxFileSize:A=99999999,onLoaded:I,notifyOnInitialLoad:O=!0,previewDataTestId:_,readOnly:S=!1,resizeConfig:w,sanitize:C,theme:F,titleVariant:z}=e;const{areaBackground:P,areaBorderColor:D}=getUploadIconAreaColors(F),L=null==v||null===(t=v.configuration)||void 0===t?void 0:t.help_text,x=(null==v||null===(a=v.configuration)||void 0===a?void 0:a.max_file_size)||A,V=(null==v||null===(i=v.configuration)||void 0===i?void 0:i.accepted_file_types)||l,M=(null==v||null===(r=v.configuration)||void 0===r?void 0:r.max_files)||DEFAULT_MAX_FILES,[B,X]=useState([]),[U,W]=useState(!1),[j,N]=useState(FORMAT_ERROR_TEXT),Y=useRef(null),[k,G]=useState((null==h||null===(n=h.value)||void 0===n?void 0:n.files)||[]),Z=(e,t)=>{W(!0),N(t?"".concat(e,"(").concat(t,")"):e)},H=async e=>{const t=e=>new Promise((t,a)=>{const i=new FileReader;i.onload=a=>{hasPreview(e)||isDownloadable(e)?t({src:a.target.result,file:e}):t({src:null,file:e})},i.onerror=e=>a(e),i.readAsDataURL(e)});try{const a=(await Promise.all(e.map(t))).map(e=>{let{src:t,file:a}=e;return((e,t)=>({...t,src:e}))(t,{type:a.type,name:a.name,size:getSizeInMB(a.size),onClick:()=>{return(e=a.name)&&X(t=>t.filter(t=>t.name!==e)),G(t=>{const a=Object.values(t).filter(t=>t.name!==e);return h.onChange&&h.onChange(isEmpty(a)?null:{files:a}),a}),Y.current&&(Y.current.value=null),void W(!1);var e}})});X(e=>getNotRepeatedFiles([...(e||[]).filter(e=>"loading"!==e.type),...a]))}catch(e){X(e=>(e||[]).filter(e=>"loading"!==e.type)),Z(null==e?void 0:e.message)}},q=async function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(h.value)?h.value.length:1;if(a===r)return I&&I(),O&&h.onChange&&h.onChange({files:i}),G(i),void H(i);const n=Array.isArray(h.value)?h.value.flatMap(e=>Object.values(e)[0]):h.value,l=Array.isArray(h.value)?(null===(e=h.value[a])||void 0===e?void 0:e.url)||(null===(t=n[a])||void 0===t?void 0:t.url):h.value;getBlobFromUrl(l,async e=>{if(e){var t,r;const l=Array.isArray(h.value)?(null===(t=h.value[a])||void 0===t?void 0:t.name)||(null===(r=n[a])||void 0===r?void 0:r.name):null,o=new File([e],l||getDefaultAttachment(e.type.substring(e.type.indexOf("/")+1),a+1),{type:e.type});q(a+1,[...i,o])}else X(e=>{let t=!1;return e.map(e=>t||e.type!==PREVIEW_TYPES.LOADING?e:(t=!0,{...e,type:PREVIEW_TYPES.ERROR}))}),q(a+1,i)})};return useEffect(()=>{var e;if(isEmpty(k)?isEmpty(null===(e=h.value)||void 0===e?void 0:e.files)||H(h.value.files):H(k),Array.isArray(h.value)&&!isEmpty(h.value)||h.value&&"string"==typeof h.value){if(isEmpty(B)){const e=Array.isArray(h.value)?h.value.length:1;X(Array.from({length:e},()=>({type:PREVIEW_TYPES.LOADING})))}q()}},[h]),React.createElement(Attachment,{actions:o,acceptedFileTypes:V,areaBackground:P,areaBorderColor:D,classes:d,containerClassname:u,disabled:p,dataTestId:c,deleteDataTestId:f,error:U,errorClassname:g,errorText:j,field:v,fieldTypes:E,fileInputRef:Y,helpText:L,hideLabels:T,icon:R,loadingTextClassname:b,maxFiles:M,maxFileSize:getSizeInMB(x),onChange:async e=>{var t;const a=(null===(t=h.value)||void 0===t?void 0:t.files)||k,i=Object.values(isEmpty(a)?e.target.files:getNotRepeatedFiles([...a,...e.target.files])),r={formatError:FORMAT_ERROR_TEXT,sizeError:"".concat(SIZE_ERROR_TEXT," ").concat(getSizeInMB(x),"MB."),aspectRatioError:"".concat(ASPECT_RATIO_ERROR_TEXT," ").concat(null==s?void 0:s.map(e=>e.name).join(" - "),")")};W(!1);const n=async e=>{if(e<i.length){if(M&&i.length>M)return void Z(MAX_FILES_ERROR,M);let t=i[e];if(t){let a=!m||await m(t,Z);if(a){if(a=await fileSignatureValidation(t,E,t.type),!a)return void Z(r.formatError);if(C)try{t=await C(t)}catch(e){return void Z(r.formatError)}if(a=fileSizeValidation(t,x),a&&isPDF(t)&&!isEmpty(s)&&(a=await pdfAspectRatioValidation(t,s),!a))return void Z(r.aspectRatioError);if(a||y||!isImage(t)||isIE()||(t=await resizeImage(t,w),a=fileSizeValidation(t,x)),i[e]=t,!a)return void Z(r.sizeError)}}await n(e+1)}else h.onChange&&h.onChange({files:i}),G(i),await H(i)};await n(0)},preview:B,previewDataTestId:_,readOnly:S,titleVariant:z})};AttachmentListContainer.propTypes={acceptedFileTypes:string,actions:arrayOf(buttonTypes),allowedPDFUploadSizes:arrayOf(shape({name:string,heightInPt:number,widthInPt:number,tolerance:number})),classes:objectOf(string),containerClassname:string,customValidation:func,disabled:bool,dataTestId:string,deleteDataTestId:string,disableResize:bool,errorClassname:string,field:any,fieldTypes:arrayOf(string),hideLabels:bool,icon:node,input:shape({value:oneOfType([string,shape({name:string,type:string})])}),loadingTextClassname:string,maxFileSize:number,onLoaded:func,notifyOnInitialLoad:bool,previewDataTestId:string,readOnly:bool,resizeConfig:shape({type:string,maxWidth:number,maxHeight:number}),sanitize:func,theme:any,titleVariant:string};export default WithTheme(retrieveStyle)(AttachmentListContainer);
@@ -1 +1 @@
1
- function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)({}).hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},_extends.apply(null,arguments)}import React from"react";import{object,bool,elementType,func,oneOfType,shape,string}from"prop-types";import UTTouchableWithoutFeedback from"../../../../../UTTouchableWithoutFeedback";import UTIcon from"../../../../../UTIcon";import UTLabel from"../../../../../UTLabel";import UTTooltip from"../../../../../UTTooltip";import WithTheme from"../../../../../WithTheme";import{retrieveStyle}from"./theme";import{getIconAreaColors,getIconContentType}from"./utils";import{RADIO_VARIANTS,ICON_SIZES,ICON_AREA_RADIUS,ICON_AREA_SIZE,ICON_CONTENT_TYPES}from"./constants";const Radio=e=>{let{classes:t,description:a,descriptionProps:o={},disabled:r,icon:c,iconProps:n={},iconSelectedProps:i={},name:l,nameProps:s={},nameSelectedProps:m={},onChange:T,prefix:d,selected:p,suffix:R,theme:E,tooltip:I,variant:N=RADIO_VARIANTS.DEFAULT}=e;const A=N===RADIO_VARIANTS.CARD,{areaBackground:b,areaBorderColor:h}=getIconAreaColors(E),f=l&&React.createElement(UTLabel,_extends({className:t.name,colorTheme:"dark"},s,p?m:{}),l);return React.createElement(UTTouchableWithoutFeedback,{className:t.root,disabled:r,onClick:()=>!r&&T()},N===RADIO_VARIANTS.DEFAULT&&React.createElement("div",{className:t.radioCircleContainer},React.createElement("div",{className:t.radioCircle},p&&React.createElement("div",{className:t.radioDot}))),React.createElement("div",{className:t.content},(()=>{if(!c)return null;const e=getIconContentType(c);if(e===ICON_CONTENT_TYPES.IMAGE)return React.createElement("img",{alt:c.alt||"",className:t.iconImage,src:c.src});if(e===ICON_CONTENT_TYPES.COMPONENT){const e=c;return React.createElement(e,{className:t.icon})}return React.createElement(UTIcon,_extends({colorTheme:"dark",name:c,size:ICON_SIZES[N]},A&&{area:!0,areaBackground:b,areaBorderColor:h,areaRadius:ICON_AREA_RADIUS,areaSize:ICON_AREA_SIZE},n,p?i:{}))})(),React.createElement("div",{className:t.contentContainer},React.createElement("div",{className:t.content},d&&React.createElement(UTLabel,{colorTheme:"gray"},d),A&&I?React.createElement("div",{className:t.titleAndTooltip},f,React.createElement(UTTooltip,{content:I},React.createElement("span",{className:t.tooltip},React.createElement(UTIcon,{className:t.infoIcon,colorTheme:p&&A?"accent":r&&A?"gray":"dark",name:"IconHelp",size:20})))):f,R&&React.createElement(UTLabel,{colorTheme:"gray",variant:"small",weight:"medium"},R)),React.createElement(UTLabel,_extends({className:t.description,colorTheme:"gray",variant:"body"},o),a))),A&&React.createElement("div",{className:t.cardRadio},p&&React.createElement("div",{className:t.radioDot})),p&&N===RADIO_VARIANTS.BUTTON&&React.createElement(UTIcon,{name:"IconCheck",colorTheme:"accent"}))};Radio.propTypes={classes:object,description:string,descriptionProps:object,disabled:bool,icon:oneOfType([string,elementType,shape({alt:string,src:string})]),iconProps:object,iconSelectedProps:object,name:string,nameProps:object,nameSelectedProps:object,onChange:func,prefix:string,selected:bool,suffix:string,theme:object,tooltip:string,variant:string};export default WithTheme(retrieveStyle)(Radio);
1
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)({}).hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},_extends.apply(null,arguments)}import React from"react";import{object,bool,elementType,func,oneOfType,shape,string}from"prop-types";import UTTouchableWithoutFeedback from"../../../../../UTTouchableWithoutFeedback";import UTIcon from"../../../../../UTIcon";import UTLabel from"../../../../../UTLabel";import UTTooltip from"../../../../../UTTooltip";import WithTheme from"../../../../../WithTheme";import{retrieveStyle}from"./theme";import{getIconAreaColors,getIconContentType}from"./utils";import{RADIO_VARIANTS,ICON_SIZES,ICON_AREA_RADIUS,ICON_AREA_SIZE,ICON_CONTENT_TYPES}from"./constants";const Radio=e=>{let{classes:t,dataTestId:a,description:o,descriptionProps:r={},disabled:c,icon:n,iconProps:i={},iconSelectedProps:s={},name:l,nameProps:m={},nameSelectedProps:d={},onChange:T,prefix:p,selected:R,suffix:I,theme:E,tooltip:N,variant:A=RADIO_VARIANTS.DEFAULT}=e;const b=A===RADIO_VARIANTS.CARD,{areaBackground:h,areaBorderColor:f}=getIconAreaColors(E),g=l&&React.createElement(UTLabel,_extends({className:t.name,colorTheme:"dark"},m,R?d:{}),l);return React.createElement(UTTouchableWithoutFeedback,{className:t.root,dataTestId:a,disabled:c,onClick:()=>!c&&T()},A===RADIO_VARIANTS.DEFAULT&&React.createElement("div",{className:t.radioCircleContainer},React.createElement("div",{className:t.radioCircle},R&&React.createElement("div",{className:t.radioDot}))),React.createElement("div",{className:t.content},(()=>{if(!n)return null;const e=getIconContentType(n);if(e===ICON_CONTENT_TYPES.IMAGE)return React.createElement("img",{alt:n.alt||"",className:t.iconImage,src:n.src});if(e===ICON_CONTENT_TYPES.COMPONENT){const e=n;return React.createElement(e,{className:t.icon})}return React.createElement(UTIcon,_extends({colorTheme:"dark",name:n,size:ICON_SIZES[A]},b&&{area:!0,areaBackground:h,areaBorderColor:f,areaRadius:ICON_AREA_RADIUS,areaSize:ICON_AREA_SIZE},i,R?s:{}))})(),React.createElement("div",{className:t.contentContainer},React.createElement("div",{className:t.content},p&&React.createElement(UTLabel,{colorTheme:"gray"},p),b&&N?React.createElement("div",{className:t.titleAndTooltip},g,React.createElement(UTTooltip,{content:N},React.createElement("span",{className:t.tooltip},React.createElement(UTIcon,{className:t.infoIcon,colorTheme:R&&b?"accent":c&&b?"gray":"dark",name:"IconHelp",size:20})))):g,I&&React.createElement(UTLabel,{colorTheme:"gray",variant:"small",weight:"medium"},I)),React.createElement(UTLabel,_extends({className:t.description,colorTheme:"gray",variant:"body"},r),o))),b&&React.createElement("div",{className:t.cardRadio},R&&React.createElement("div",{className:t.radioDot})),R&&A===RADIO_VARIANTS.BUTTON&&React.createElement(UTIcon,{name:"IconCheck",colorTheme:"accent"}))};Radio.propTypes={classes:object,dataTestId:string,description:string,descriptionProps:object,disabled:bool,icon:oneOfType([string,elementType,shape({alt:string,src:string})]),iconProps:object,iconSelectedProps:object,name:string,nameProps:object,nameSelectedProps:object,onChange:func,prefix:string,selected:bool,suffix:string,theme:object,tooltip:string,variant:string};export default WithTheme(retrieveStyle)(Radio);
@@ -1 +1 @@
1
- function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}import React,{Component}from"react";import{arrayOf,bool,elementType,func,node,number,object,objectOf,oneOfType,shape,string}from"prop-types";import{fileSignatureValidation,fileSizeValidation}from"@widergy/web-utils/lib/validate";import{resizeImage}from"@widergy/web-utils/lib/image";import{isIE}from"@widergy/web-utils/lib/browser";import{isEmpty}from"@widergy/web-utils/lib/array";import WithTheme from"../../components/WithTheme";import{buttonTypes}from"../../types/buttonTypes";import{retrieveStyle}from"./theme";import{FORMAT_ERROR_TEXT,SIZE_ERROR_TEXT,ASPECT_RATIO_ERROR_TEXT,DEFAULT_UPLOADING_TEXT,DEFAULT_ATTACHMENT_NAME,previewPropType}from"./constants";import Attachment from"./layout";import{getBlobFromUrl,pdfAspectRatioValidation,hasPreview,isImage,isPDF,isValidFile,isNewFile}from"./utils";class AttachmentContainer extends Component{constructor(e){super(e),_defineProperty(this,"loadElement",()=>{const{input:e,onLoaded:t}=this.props;getBlobFromUrl(e.value,i=>{if(null!=i&&i.type){const t=i.type.substring(i.type.indexOf("/")+1);this.setState({name:this.getDefaultAttachment(e.value,t)}),hasPreview(i)&&this.buildPreview(i)}else this.setState({name:this.getDefaultAttachment(e.value)});t&&t()})}),_defineProperty(this,"loadDefaultValues",()=>{const{input:e}=this.props;this.hasDefaultValueToLoad()?this.loadElement():this.hasDefaultFileObjectToLoad()&&this.setFile(e.value.file)}),_defineProperty(this,"getDefaultAttachment",(e,t)=>e&&"string"==typeof e&&React.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},DEFAULT_ATTACHMENT_NAME,t&&".".concat(t))||""),_defineProperty(this,"hasDefaultValueToLoad",()=>this.props.input.value&&"string"==typeof this.props.input.value),_defineProperty(this,"hasDefaultFileObjectToLoad",()=>{const{input:e}=this.props;return e.value&&"object"==typeof e.value&&isValidFile(e.value.file)}),_defineProperty(this,"onChange",async e=>{var t;let i=e.target.files[0];const{resizeConfig:a,disableResize:r}=this.props,s={formatError:FORMAT_ERROR_TEXT,sizeError:"".concat(SIZE_ERROR_TEXT," ").concat(Math.round(this.props.maxFileSize/1048576),"MB."),aspectRatioError:"".concat(ASPECT_RATIO_ERROR_TEXT," ").concat(null===(t=this.props.allowedPDFUploadSizes)||void 0===t?void 0:t.map(e=>e.name).join(" - "),")")};if(this.setState({error:!1}),i){let e=!this.props.customValidation||await this.props.customValidation(i,this.onFailValidation);if(e){if(e=await fileSignatureValidation(i,this.props.fieldTypes,i.type),e)return this.props.sanitize&&(i=await this.props.sanitize(i)),e=fileSizeValidation(i,this.props.maxFileSize),e&&isPDF(i)&&!isEmpty(this.props.allowedPDFUploadSizes)?(e=await pdfAspectRatioValidation(i,this.props.allowedPDFUploadSizes),e?this.setFile(i):this.onFailValidation(s.aspectRatioError)):(e||r||!isImage(i)||isIE()||(i=await resizeImage(i,a),e=fileSizeValidation(i,this.props.maxFileSize)),e?this.setFile(i):this.onFailValidation(s.sizeError));this.onFailValidation(s.formatError)}}}),_defineProperty(this,"onFailValidation",e=>this.setState({error:!0,errorText:e})),_defineProperty(this,"setFile",async e=>{const{onChange:t,onLoaded:i}=this.props;this.setState({loading:!0,name:e.name}),hasPreview(e)&&this.buildPreview(e),t&&t({file:e}),this.setState({loading:!1}),i&&i()}),_defineProperty(this,"buildPreview",e=>{const t=new FileReader;t.onload=t=>this.setState({preview:{src:t.target.result,type:e.type}}),t.readAsDataURL(e)}),_defineProperty(this,"removeValue",()=>{this.setState({loading:!1,name:"",preview:{}}),this.props.onChange&&this.props.onChange("")}),this.state={loading:!1,name:"",preview:{},error:!1,errorText:FORMAT_ERROR_TEXT}}componentDidMount(){this.loadDefaultValues()}componentDidUpdate(e){var t;const{fieldTypes:i,input:a}=this.props;(null===(t=e.fieldTypes)||void 0===t?void 0:t[0])!==(null==i?void 0:i[0])?this.removeValue():isNewFile(e.input.value,a.value)&&this.loadDefaultValues()}render(){const{acceptedFileTypes:e,actions:t,classes:i,containerClassname:a,dataTestId:r,deleteDataTestId:s,disabled:o,errorClassname:n,field:l,fieldTypes:p,hideLabels:d,icon:m,input:h,loadingTextClassname:u,previewClassname:f,previewDataTestId:c,previewProps:T,RemoveIcon:y,removeFileClassname:g,titleVariant:v}=this.props,{name:b,preview:w,loading:E,error:F,errorText:P}=this.state,R=this.hasDefaultValueToLoad()&&!b;return React.createElement(Attachment,{acceptedFileTypes:e,actions:t,classes:i,containerClassname:a,dataTestId:r,deleteDataTestId:s,disabled:o,error:F,errorClassname:n,errorText:P,field:l,fieldTypes:p,hideLabels:d,icon:m,loading:E||R,loadingTextClassname:u,name:b||this.getDefaultAttachment(h.value),onChange:this.onChange,onClick:this.removeValue,preview:w,previewClassname:f,previewDataTestId:c,previewProps:T,removeFileClassname:g,RemoveIcon:y,titleVariant:v,uploadingText:R?DEFAULT_UPLOADING_TEXT:""})}}AttachmentContainer.propTypes={acceptedFileTypes:string,actions:arrayOf(buttonTypes),allowedPDFUploadSizes:arrayOf(shape({name:string,heightInPt:number,widthInPt:number,tolerance:number})),classes:objectOf(string),containerClassname:string,customValidation:func,dataTestId:string,deleteDataTestId:string,disableResize:bool,disabled:bool,errorClassname:string,field:object,fieldTypes:arrayOf(string),hideLabels:string,icon:node,input:shape({value:oneOfType([string,shape({name:string,type:string})])}),loadingTextClassname:string,maxFileSize:number,onChange:func,onLoaded:func,previewClassname:string,previewDataTestId:string,previewProps:previewPropType,removeFileClassname:string,RemoveIcon:elementType,resizeConfig:shape({type:string,maxWidth:number,maxHeight:number}),sanitize:func,titleVariant:string},AttachmentContainer.defaultProps={maxFileSize:99999999};export default WithTheme(retrieveStyle)(AttachmentContainer);
1
+ function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}import React,{Component}from"react";import{arrayOf,bool,elementType,func,node,number,object,objectOf,oneOfType,shape,string}from"prop-types";import{fileSignatureValidation,fileSizeValidation}from"@widergy/web-utils/lib/validate";import{resizeImage}from"@widergy/web-utils/lib/image";import{isIE}from"@widergy/web-utils/lib/browser";import{isEmpty}from"@widergy/web-utils/lib/array";import WithTheme from"../../components/WithTheme";import{buttonTypes}from"../../types/buttonTypes";import{retrieveStyle}from"./theme";import{FORMAT_ERROR_TEXT,SIZE_ERROR_TEXT,ASPECT_RATIO_ERROR_TEXT,DEFAULT_UPLOADING_TEXT,DEFAULT_ATTACHMENT_NAME,previewPropType}from"./constants";import Attachment from"./layout";import{getBlobFromUrl,pdfAspectRatioValidation,hasPreview,isImage,isPDF,isValidFile,isNewFile}from"./utils";class AttachmentContainer extends Component{constructor(e){super(e),_defineProperty(this,"loadElement",()=>{const{input:e,onLoaded:t}=this.props;getBlobFromUrl(e.value,i=>{if(null!=i&&i.type){const t=i.type.substring(i.type.indexOf("/")+1);this.setState({name:this.getDefaultAttachment(e.value,t)}),hasPreview(i)&&this.buildPreview(i)}else this.setState({name:this.getDefaultAttachment(e.value)});t&&t()})}),_defineProperty(this,"loadDefaultValues",()=>{const{input:e}=this.props;this.hasDefaultValueToLoad()?this.loadElement():this.hasDefaultFileObjectToLoad()&&this.setFile(e.value.file)}),_defineProperty(this,"getDefaultAttachment",(e,t)=>e&&"string"==typeof e&&React.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},DEFAULT_ATTACHMENT_NAME,t&&".".concat(t))||""),_defineProperty(this,"hasDefaultValueToLoad",()=>this.props.input.value&&"string"==typeof this.props.input.value),_defineProperty(this,"hasDefaultFileObjectToLoad",()=>{const{input:e}=this.props;return e.value&&"object"==typeof e.value&&isValidFile(e.value.file)}),_defineProperty(this,"onChange",async e=>{var t;let i=e.target.files[0];const{resizeConfig:a,disableResize:r}=this.props,s={formatError:FORMAT_ERROR_TEXT,sizeError:"".concat(SIZE_ERROR_TEXT," ").concat(Math.round(this.props.maxFileSize/1048576),"MB."),aspectRatioError:"".concat(ASPECT_RATIO_ERROR_TEXT," ").concat(null===(t=this.props.allowedPDFUploadSizes)||void 0===t?void 0:t.map(e=>e.name).join(" - "),")")};if(this.setState({error:!1}),i){let e=!this.props.customValidation||await this.props.customValidation(i,this.onFailValidation);if(e){if(e=await fileSignatureValidation(i,this.props.fieldTypes,i.type),e){if(this.props.sanitize)try{i=await this.props.sanitize(i)}catch(e){return this.onFailValidation(s.formatError)}return e=fileSizeValidation(i,this.props.maxFileSize),e&&isPDF(i)&&!isEmpty(this.props.allowedPDFUploadSizes)?(e=await pdfAspectRatioValidation(i,this.props.allowedPDFUploadSizes),e?this.setFile(i):this.onFailValidation(s.aspectRatioError)):(e||r||!isImage(i)||isIE()||(i=await resizeImage(i,a),e=fileSizeValidation(i,this.props.maxFileSize)),e?this.setFile(i):this.onFailValidation(s.sizeError))}this.onFailValidation(s.formatError)}}}),_defineProperty(this,"onFailValidation",e=>this.setState({error:!0,errorText:e})),_defineProperty(this,"setFile",async e=>{const{onChange:t,onLoaded:i}=this.props;this.setState({loading:!0,name:e.name}),hasPreview(e)&&this.buildPreview(e),t&&t({file:e}),this.setState({loading:!1}),i&&i()}),_defineProperty(this,"buildPreview",e=>{const t=new FileReader;t.onload=t=>this.setState({preview:{src:t.target.result,type:e.type}}),t.readAsDataURL(e)}),_defineProperty(this,"removeValue",()=>{this.setState({loading:!1,name:"",preview:{}}),this.props.onChange&&this.props.onChange("")}),this.state={loading:!1,name:"",preview:{},error:!1,errorText:FORMAT_ERROR_TEXT}}componentDidMount(){this.loadDefaultValues()}componentDidUpdate(e){var t;const{fieldTypes:i,input:a}=this.props;(null===(t=e.fieldTypes)||void 0===t?void 0:t[0])!==(null==i?void 0:i[0])?this.removeValue():isNewFile(e.input.value,a.value)&&this.loadDefaultValues()}render(){const{acceptedFileTypes:e,actions:t,classes:i,containerClassname:a,dataTestId:r,deleteDataTestId:s,disabled:o,errorClassname:n,field:l,fieldTypes:p,hideLabels:d,icon:m,input:h,loadingTextClassname:u,previewClassname:f,previewDataTestId:c,previewProps:T,RemoveIcon:y,removeFileClassname:g,titleVariant:v}=this.props,{name:b,preview:w,loading:E,error:F,errorText:P}=this.state,R=this.hasDefaultValueToLoad()&&!b;return React.createElement(Attachment,{acceptedFileTypes:e,actions:t,classes:i,containerClassname:a,dataTestId:r,deleteDataTestId:s,disabled:o,error:F,errorClassname:n,errorText:P,field:l,fieldTypes:p,hideLabels:d,icon:m,loading:E||R,loadingTextClassname:u,name:b||this.getDefaultAttachment(h.value),onChange:this.onChange,onClick:this.removeValue,preview:w,previewClassname:f,previewDataTestId:c,previewProps:T,removeFileClassname:g,RemoveIcon:y,titleVariant:v,uploadingText:R?DEFAULT_UPLOADING_TEXT:""})}}AttachmentContainer.propTypes={acceptedFileTypes:string,actions:arrayOf(buttonTypes),allowedPDFUploadSizes:arrayOf(shape({name:string,heightInPt:number,widthInPt:number,tolerance:number})),classes:objectOf(string),containerClassname:string,customValidation:func,dataTestId:string,deleteDataTestId:string,disableResize:bool,disabled:bool,errorClassname:string,field:object,fieldTypes:arrayOf(string),hideLabels:string,icon:node,input:shape({value:oneOfType([string,shape({name:string,type:string})])}),loadingTextClassname:string,maxFileSize:number,onChange:func,onLoaded:func,previewClassname:string,previewDataTestId:string,previewProps:previewPropType,removeFileClassname:string,RemoveIcon:elementType,resizeConfig:shape({type:string,maxWidth:number,maxHeight:number}),sanitize:func,titleVariant:string},AttachmentContainer.defaultProps={maxFileSize:99999999};export default WithTheme(retrieveStyle)(AttachmentContainer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widergy/energy-ui",
3
- "version": "3.188.6",
3
+ "version": "3.189.0",
4
4
  "description": "Widergy Web Components",
5
5
  "author": "widergy",
6
6
  "license": "MIT",