@lifesg/web-frontend-engine 2.0.0-alpha.18 → 2.0.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/chunks/{file-upload-manager.6f91498f.js → file-upload-manager.6091aa9e.js} +2 -2
  2. package/chunks/file-upload-manager.6091aa9e.js.map +1 -0
  3. package/chunks/{index.01911ac9.js → index.cb4c93a5.js} +6 -6
  4. package/{cjs/chunks/index.33c9bcbb.js.map → chunks/index.cb4c93a5.js.map} +1 -1
  5. package/chunks/{index.c8228568.js → index.dcdbe23e.js} +2 -2
  6. package/chunks/{index.c8228568.js.map → index.dcdbe23e.js.map} +1 -1
  7. package/chunks/{index.94a6f552.js → index.df1ee6f5.js} +2 -2
  8. package/chunks/{index.94a6f552.js.map → index.df1ee6f5.js.map} +1 -1
  9. package/chunks/{location-modal.96339252.js → location-modal.b47d92b7.js} +2 -2
  10. package/chunks/{location-modal.96339252.js.map → location-modal.b47d92b7.js.map} +1 -1
  11. package/cjs/chunks/{file-upload-manager.2465d276.js → file-upload-manager.858f342f.js} +2 -2
  12. package/cjs/chunks/file-upload-manager.858f342f.js.map +1 -0
  13. package/cjs/chunks/{index.c8a96a82.js → index.3cfca5cf.js} +2 -2
  14. package/cjs/chunks/{index.c8a96a82.js.map → index.3cfca5cf.js.map} +1 -1
  15. package/cjs/chunks/{index.33c9bcbb.js → index.7db1a25b.js} +6 -6
  16. package/cjs/chunks/index.7db1a25b.js.map +1 -0
  17. package/cjs/chunks/{index.dbac2c71.js → index.ade37699.js} +2 -2
  18. package/cjs/chunks/{index.dbac2c71.js.map → index.ade37699.js.map} +1 -1
  19. package/cjs/chunks/{location-modal.07158be4.js → location-modal.ff0cd21c.js} +2 -2
  20. package/cjs/chunks/{location-modal.07158be4.js.map → location-modal.ff0cd21c.js.map} +1 -1
  21. package/cjs/index.js +1 -1
  22. package/components/shared/error-messages.d.ts +1 -0
  23. package/context-providers/yup/types.d.ts +8 -1
  24. package/index.js +1 -1
  25. package/package.json +1 -1
  26. package/chunks/file-upload-manager.6f91498f.js.map +0 -1
  27. package/chunks/index.01911ac9.js.map +0 -1
  28. package/cjs/chunks/file-upload-manager.2465d276.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{Modal as i}from"@lifesg/react-design-system/modal";import{Colour as o,Font as r,Spacing as s,MediaQuery as a,Breakpoint as l,Border as h,Motion as c}from"@lifesg/react-design-system/theme";import{h as u,b as d,L as p,T as m,O as f,i as _,j as g,G as v,l as y,S as x,P as b,k as w,D as P}from"./index.01911ac9.js";import{useContext as T,useRef as M,useEffect as z,useState as k,useCallback as C}from"react";import S,{ThemeContext as E,keyframes as I}from"styled-components";import"@lifesg/react-design-system/markup";import Z from"react-dom/server";import{Typography as A}from"@lifesg/react-design-system/typography";import{NavigationIcon as O}from"@lifesg/react-icons/navigation";import{NavigationFillIcon as B}from"@lifesg/react-icons/navigation-fill";import{PinFillIcon as N}from"@lifesg/react-icons/pin-fill";import{Card as R}from"@lifesg/react-design-system/card";import{CrossIcon as D}from"@lifesg/react-icons/cross";import{MagnifierIcon as j}from"@lifesg/react-icons/magnifier";import{Button as $}from"@lifesg/react-design-system/button";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/layout";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/divider";import"@lifesg/react-design-system/v2_media";import"@lifesg/react-design-system/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-icons";import"@lifesg/react-design-system/tab";import"@lifesg/react-icons/plus-circle-fill";import"@lifesg/react-design-system/button-with-icon";import"@lifesg/react-design-system/error-display";import"@lifesg/react-design-system/filter";import"@lifesg/react-design-system/uneditable-section";import"@lifesg/react-design-system/timeline";import"@lifesg/react-design-system/form";import"@lifesg/react-design-system/checkbox";import"@lifesg/react-design-system/toggle";import"@lifesg/react-design-system/file-upload";import"@lifesg/react-design-system/icon-button";import"@lifesg/react-icons/bin";import"@lifesg/react-icons/eraser";import"@lifesg/react-icons/pencil";import"@lifesg/react-icons/pencil-stroke";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-design-system/image-button";import"@lifesg/react-design-system/radio-button";import"@lifesg/react-design-system/v2_layout";const F="https://assets.life.gov.sg/web-frontend-engine/img/common/no-network.png";var W={exports:{}};
1
+ import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{Modal as i}from"@lifesg/react-design-system/modal";import{Colour as o,Font as r,Spacing as s,MediaQuery as a,Breakpoint as l,Border as h,Motion as c}from"@lifesg/react-design-system/theme";import{h as u,b as d,L as p,T as m,O as f,i as _,j as g,G as v,l as y,S as x,P as b,k as w,D as P}from"./index.cb4c93a5.js";import{useContext as T,useRef as M,useEffect as z,useState as k,useCallback as C}from"react";import S,{ThemeContext as E,keyframes as I}from"styled-components";import"@lifesg/react-design-system/markup";import Z from"react-dom/server";import{Typography as A}from"@lifesg/react-design-system/typography";import{NavigationIcon as O}from"@lifesg/react-icons/navigation";import{NavigationFillIcon as B}from"@lifesg/react-icons/navigation-fill";import{PinFillIcon as N}from"@lifesg/react-icons/pin-fill";import{Card as R}from"@lifesg/react-design-system/card";import{CrossIcon as D}from"@lifesg/react-icons/cross";import{MagnifierIcon as j}from"@lifesg/react-icons/magnifier";import{Button as $}from"@lifesg/react-design-system/button";import"@lifesg/react-design-system/alert";import"@lifesg/react-design-system/layout";import"@lifesg/react-design-system/box-container";import"@lifesg/react-design-system/divider";import"@lifesg/react-design-system/v2_media";import"@lifesg/react-design-system/text-list";import"@lifesg/react-design-system/popover-v2";import"@lifesg/react-icons";import"@lifesg/react-design-system/tab";import"@lifesg/react-icons/plus-circle-fill";import"@lifesg/react-design-system/button-with-icon";import"@lifesg/react-design-system/error-display";import"@lifesg/react-design-system/filter";import"@lifesg/react-design-system/uneditable-section";import"@lifesg/react-design-system/timeline";import"@lifesg/react-design-system/form";import"@lifesg/react-design-system/checkbox";import"@lifesg/react-design-system/toggle";import"@lifesg/react-design-system/file-upload";import"@lifesg/react-design-system/icon-button";import"@lifesg/react-icons/bin";import"@lifesg/react-icons/eraser";import"@lifesg/react-icons/pencil";import"@lifesg/react-icons/pencil-stroke";import"@lifesg/react-icons/plus";import"@lifesg/react-icons/exclamation-triangle";import"@lifesg/react-design-system/image-button";import"@lifesg/react-design-system/radio-button";import"@lifesg/react-design-system/v2_layout";const F="https://assets.life.gov.sg/web-frontend-engine/img/common/no-network.png";var W={exports:{}};
2
2
  /* @preserve
3
3
  * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
4
4
  * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
@@ -344,4 +344,4 @@ import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{Modal as
344
344
  max-width: 16.5rem;
345
345
  }
346
346
  `,Ot=({id:n,cachedImage:i,refreshNetwork:o})=>e(St,{id:m.generateId(n,"no-internet-connectivity"),"data-testid":m.generateId(n,"no-internet-connectivity"),children:[t(Et,{src:i,alt:"no-connectivity"}),t(It,{weight:"semibold",children:"No connection found"}),t(Zt,{children:"Check your internet connection and try again."}),t(At,{onClick:o,children:"Try again"})]}),Bt=({id:o="location-modal",className:r,formValues:s,showLocationModal:a,mapPanZoom:h,interactiveMapPinIconUrl:c,reverseGeoCodeEndpoint:u,convertLatLngToXYEndpoint:p,gettingCurrentLocationFetchMessage:_,mapBannerText:g,mustHavePostalCode:x,locationModalStyles:L,onClose:S,onConfirm:I,updateFormValues:Z,locationListTitle:A,locationSelectionMode:O,disableSearch:B,addressFieldPlaceholder:N,searchBarIcon:R,bufferRadius:D,pinsOnlyIndicateCurrentLocation:j})=>{const[$,W]=k("double"),[H,V]=k({}),[U,G]=k([]),[q,K]=k(!0),[Y,et]=k(!1),{dispatchFieldEvent:nt,addFieldEventListener:it,removeFieldEventListener:ot}=d(),[rt,st]=k(!0),[at,lt]=k(!1),[ht,ct]=k(!1),[ut,dt]=k(!1),[pt,mt]=k(),[ft,_t]=k(),gt=M(!0),vt=T(E),yt=C(((t,e)=>{W((n=>"double"===n||e&&n!==e?n:t))}),[]),xt=C((async()=>{et(!0);if(!!nt("get-current-location",o)){const t={};try{t.payload=await w.getCurrentLocation()}catch(e){t.errors=e}return nt("set-current-location",o,t),t.payload}}),[nt,o]),bt=C((()=>{V(s||{})}),[s]),wt=C((()=>{gt.current=!0,S()}),[S]),Lt=C((()=>{bt(),wt()}),[wt,bt]),Pt=C((t=>{const e=y.exports.isEmpty(t?.detail)?H:t?.detail;I(e),wt()}),[wt,I,H]),Tt=()=>{!nt("before-hide-permission-modal",o)||lt(!1)};z((()=>{const t={"error-end":t=>{const e=t.detail?.payload?.errorType;if(e)switch(e){case"OneMapError":case"GetLocationTimeoutError":wt()}},"set-selectable-pins":t=>{const e=t.detail.pins;Array.isArray(e)?G(e):ct(!0)},"confirm-location":Pt,"hide-permission-modal":()=>{lt(!1)},"dismiss-location-modal":Lt,"trigger-get-current-location":xt};return Object.entries(t).forEach((([t,e])=>{it(t,o,e)})),()=>{Object.entries(t).forEach((([t,e])=>{ot(t,o,e)}))}}),[it,xt,Lt,wt,Pt,o,ot]),z((()=>{if(!window)return;const t=matchMedia(`(max-width: ${l["lg-max"]({theme:vt})}px)`);W(t.matches?"map":"double");const e=()=>st(!0),n=()=>st(!1),i=t=>{W(t.matches?"map":"double")};return window.addEventListener("online",e),window.addEventListener("offline",n),t.addEventListener("change",i),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",n),t.removeEventListener("change",i)}}),[]),z((()=>{if(!a)return void W((t=>"double"!==t?"map":t));(async()=>{const{lat:t,lng:e}=s||{};t||e?gt.current&&nt("get-selectable-pins",o,{lat:t,lng:e}):await xt(),gt.current=!1})()}),[nt,s,xt,o,a]),z((()=>{y.exports.isEmpty(H)||yt("map","search")}),[H,Y,yt]),z((()=>{V(s||{})}),[s]);return e(n,{children:[t(tt,{src:F,alt:"no internet connectivity"}),t(i,{id:m.generateId(o,"modal",a?"show":"hide"),className:`${r}-location-modal`,show:a,children:t(X,{id:m.generateId(o,"modal-box"),className:`${r}-modal-box`,showCloseButton:!1,locationModalStyles:L,children:rt?e(n,{children:[t(Ct,{id:o,className:r,onCancel:Lt,onConfirm:()=>{!nt("click-confirm-location",o,H)||Pt()},updateFormValues:Z,gettingCurrentLocation:Y,panelInputMode:$,selectedAddressInfo:H,mapPickedLatLng:pt,formValues:s,onChangeSelectedAddressInfo:V,handleApiErrors:t=>{const e=(e,n)=>{!nt("error",o,{payload:{errorType:e},errors:t})||n()};et(!1),t instanceof f?e("OneMapError",(()=>{bt(),ct(!0)})):(K(!1),t instanceof v&&t?.code?.toString()===GeolocationPositionError.TIMEOUT.toString()?e("GetLocationTimeoutError",(()=>{dt(!0)})):e("GetLocationError",(()=>{lt(!0)})))},onGetLocationCallback:(t,e)=>{et(!1),K(!0),_t({lat:t,lng:e})},setSinglePanelMode:yt,showLocationModal:a,reverseGeoCodeEndpoint:u,convertLatLngToXYEndpoint:p,gettingCurrentLocationFetchMessage:_,mustHavePostalCode:x,locationListTitle:A,restrictLocationSelection:"pins-only"===O,selectablePins:U,disableSearch:B,addressFieldPlaceholder:N,searchBarIcon:R,bufferRadius:D}),t(J,{id:o,className:r,panelInputMode:$,locationAvailable:q,gettingCurrentLocation:Y,showLocationModal:a,selectedLocationCoord:{lat:H.lat,lng:H.lng},getCurrentLocation:xt,onMapCenterChange:t=>{mt(t)},interactiveMapPinIconUrl:c,mapPanZoom:h,mapBannerText:g,disableSelectionFromMap:"pins-only"===O,disableSelectedLocationMarker:"pins-only"===O,selectablePins:U,pinsOnlyIndicateCurrentLocation:j&&"pins-only"===O,currentLocation:ft})]}):t(Ot,{id:o,cachedImage:F,refreshNetwork:()=>{try{navigator.onLine&&st(!0)}catch(t){}}})})}),(()=>{if(rt&&a)return ht?t(b,{id:m.generateId(o,"onemap-error"),"data-testid":m.generateId(o,"onemap-error"),title:"Map not available",size:"large",show:!0,image:t(Q,{src:"https://assets.life.gov.sg/web-frontend-engine/img/common/error.svg"}),description:e(P,{weight:"regular",children:["Sorry, there was a problem with the map. You’ll not be able to enter the location right now. Please try again later.",t("br",{}),t("br",{}),"Do note that you’ll not be able to submit your report without entering the location."]}),buttons:[{id:"ok",title:"OK",onClick:()=>{ct(!1),wt()}}]}):at?t(b,{id:m.generateId(o,"get-location-error"),"data-testid":m.generateId(o,"get-location-error"),title:"Enable location settings",size:"large",show:!0,description:"We need your permission to determine your location. Enable location access in your browser and device settings, or enter your location manually.",buttons:[{id:"ok",title:"OK",onClick:Tt}]}):ut?t(b,{id:m.generateId(o,"get-location-timeout-error"),"data-testid":m.generateId(o,"get-location-timeout-error"),title:"Something went wrong",size:"large",show:!0,image:t(Q,{src:"https://assets.life.gov.sg/web-frontend-engine/img/icons/get-location-timeout.svg"}),description:t(P,{weight:"regular",children:"It’s taking longer than expected to retrieve your location. Please exit the map and try again."}),buttons:[{id:"ok",title:"OK",onClick:()=>{dt(!1),wt()}}]}):void 0})()]})};export{Bt as default};
347
- //# sourceMappingURL=location-modal.96339252.js.map
347
+ //# sourceMappingURL=location-modal.b47d92b7.js.map