{"version":3,"file":"js/63685-a577ae9d05c2c699ccd4.js","mappings":"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","sources":["webpack:///./app/javascript/components/AddressPicker/desktop/index.jsx","webpack:///./app/javascript/components/AddressPicker/desktop/loading.jsx","webpack:///./app/javascript/components/AddressPicker/desktop/style.js","webpack:///./app/javascript/components/MyCart/Addresses/style.js","webpack:///./app/javascript/components/MyCart/CartShippingAddress/desktop/List.jsx","webpack:///./app/javascript/components/MyCart/Addresses/ShippingAddress/Form/loading.jsx","webpack:///./app/javascript/components/MyCart/Addresses/ShippingAddress/Form/index.jsx","webpack:///./app/javascript/components/MyCart/CartShippingAddress/desktop/index.jsx","webpack:///./app/javascript/components/MyCart/CartShippingAddress/desktop/style.js"],"sourcesContent":["import * as Styled from './style'\nimport AddressPickerLoading from './loading'\nimport { OptionTextInput } from '../../../elements'\n\nimport { i18n } from '../../../utilities/i18n'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nconst getOption = (dataset, data) => {\n return dataset.map(({ key, light = false, render }) => {\n return (\n <Styled.Text key={key} $light={light}>\n {render(data) || '-'}\n </Styled.Text>\n )\n })\n}\n\nconst renderEditAction = (id, onEdit) => {\n return (\n <div onClick={e => onEdit(e, id)}>\n <i className=\"fa-regular fa-pen-to-square\"></i>\n </div>\n )\n}\n\nconst renderOption = (dataset, data) => {\n if (!data) return '-'\n\n const option = getOption(dataset, data)\n\n return <Styled.Option>{option}</Styled.Option>\n}\n\nconst renderOptions = (dataset, source, name, selected, onChange, onEdit) => {\n return source.map(data => {\n const { id } = data\n\n return (\n <OptionTextInput\n key={`${name}_${id}`}\n name={name}\n textInput={getOption(dataset, data)}\n onChange={() => onChange(id)}\n value={id}\n checked={selected === id}\n renderAction={() => renderEditAction(id, onEdit)}\n showAction />\n )\n })\n}\n\nconst renderReadOnly = (dataset, source, selected) => {\n const data = source.find(({ id }) => id === selected)\n\n return (\n <Styled.Wrapper>\n {renderOption(dataset, data)}\n </Styled.Wrapper>\n )\n}\n\nconst AddressPicker = ({\n btnText,\n dataset,\n loading,\n name = 'address_item',\n onChange = () => {},\n onOpenForm = () => {},\n saving,\n selected,\n source,\n readOnly = false\n}) => {\n if (loading) return <AddressPickerLoading dataset={dataset} />\n if (readOnly) return renderReadOnly(dataset, source, selected)\n\n const onEdit = (event, id) => {\n event.stopPropagation()\n\n onOpenForm(event, id)\n }\n\n return (\n <Styled.Wrapper>\n {renderOptions(dataset, source, name, selected, onChange, onEdit)}\n\n <Styled.AddButton onClick={onOpenForm} $disabled={saving}>\n <i className=\"fa-regular fa-plus\"></i> {btnText || i18n.t('Shared.add')}\n </Styled.AddButton>\n </Styled.Wrapper>\n )\n}\n\nAddressPicker.propTypes = {\n btnText: PropTypes.string,\n dataset: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string.isRequired,\n light: PropTypes.bool,\n render: PropTypes.func.isRequired\n })).isRequired,\n loading: PropTypes.bool,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onOpenForm: PropTypes.func,\n saving: PropTypes.bool,\n selected: PropTypes.string,\n source: PropTypes.array.isRequired,\n readOnly: PropTypes.bool\n}\n\nexport default AddressPicker\n","import * as Styled from './style'\nimport { OptionTextInput, Skeleton } from '../../../elements'\n\nimport { renderElementMultipleTimes } from '../../../utilities/render'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nconst loadAddress = dataset => {\n return dataset.map(({ key, load }) => {\n return (\n <Styled.Text key={key}>\n {renderElementMultipleTimes(load, <Skeleton width=\"100%\" size=\"14px\" />)}\n </Styled.Text>\n )\n })\n}\n\nconst AddressPickerLoading = ({\n dataset\n}) => {\n return (\n <Styled.Wrapper>\n {renderElementMultipleTimes(2, (\n <OptionTextInput.Loading>\n {loadAddress(dataset)}\n </OptionTextInput.Loading>\n ))}\n <Styled.AddButton>\n <Skeleton width=\"20px\" height=\"20px\" type=\"image\" circle />\n <Skeleton width=\"160px\" size=\"16px\" />\n </Styled.AddButton>\n </Styled.Wrapper>\n )\n}\n\nAddressPickerLoading.propTypes = {\n dataset: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string.isRequired,\n load: PropTypes.number\n })).isRequired,\n}\n\nexport default AddressPickerLoading\n","import styled from 'styled-components'\n\nexport const Wrapper = styled.div`\n flex: auto;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n`\n\nexport const Option = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n`\n\nexport const Text = styled.div`\n font-weight: ${props => props.$light ? '400' : '600'};\n\n gap: 8px;\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n`\n\nexport const AddButton = styled.button`\n width: fit-content;\n background-color: transparent;\n border: none;\n color: ${props => props.$disabled ? props.theme.colors.textDisabled : props.theme.colors.mainBlue};\n pointer-events: ${props => props.$disabled && 'none'};\n padding: 0 16px;\n\n display: flex;\n gap: 8px;\n align-items: center;\n\n &:hover {\n color: ${props => props.$disabled ? props.theme.colors.textDisabled : props.theme.colors.blue800};\n }\n`\n","import styled from 'styled-components'\n\nconst Styled = styled.div`\n margin-bottom: 16px;\n`\n\nStyled.Content = styled.div`\n background-color: ${props => props.theme.colors.white};\n padding: 32px;\n border-bottom-right-radius: 8px;\n border-bottom-left-radius: 8px;\n`\n\nStyled.Header = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n`\n\nStyled.Title = styled.div`\n font-size: 16px;\n font-weight: 600;\n`\n\nStyled.CloseIcon = styled.div`\n font-size: 16px;\n cursor: pointer;\n`\n\nStyled.Action = styled.div`\n display: flex;\n grid-gap: 24px;\n margin-top: 24px;\n`\n\nStyled.EmptyContent = styled.div`\n background-color: ${props => props.theme.colors.white};\n padding: 16px 40px;\n border-bottom-right-radius: 8px;\n border-bottom-left-radius: 8px;\n`\n\nStyled.OpenDrawer = styled.div`\n color: ${props => props.theme.colors.zinc600};\n cursor: pointer;\n font-size: 14px;\n`\n\nStyled.UploadLoading = styled.div`\n display: flex;\n justify-content: space-between;\n`\n\nexport default Styled\n","import * as Styled from './style'\nimport AddressPicker from '../../../AddressPicker/desktop'\nimport useDefaultQuery from '../queries/default'\n\nimport useListQuery from '../queries/list'\nimport translations from '../../../../constants/locales/ShippingAddresses/translations'\nimport { i18n, initializeI18n } from '../../../../utilities/i18n'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\ninitializeI18n({ localeFiles: translations })\n\nconst ShippingAddressList = ({\n clickAt,\n customerCompanyId,\n shippingAddressId,\n dataset,\n onOpenForm,\n onSubmit,\n isRefetch,\n saving,\n hideLabel = false,\n readOnly = false\n}) => {\n const { loading, source } = useListQuery({ customerCompanyId, isRefetch })\n\n useDefaultQuery({ customerCompanyId, shippingAddressId, onSaveUserCart: onSubmit })\n\n const handleSubmit = selected => {\n onSubmit(source.find(item => item.id === selected))\n }\n\n return (\n <Styled.FlexBox>\n <Styled.Label>{i18n.t('ShippingAddresses.selectShippingAddress')}</Styled.Label>\n\n <AddressPicker\n btnText={i18n.t('ShippingAddresses.addShippingAddress')}\n dataset={dataset}\n loading={loading}\n name=\"shipping_address_item\"\n onChange={handleSubmit}\n onOpenForm={onOpenForm}\n selected={shippingAddressId}\n source={source}\n readOnly={readOnly} />\n </Styled.FlexBox>\n )\n}\n\nShippingAddressList.propTypes = {\n clickAt: PropTypes.string,\n customerCompanyId: PropTypes.string,\n shippingAddressId: PropTypes.string,\n dataset: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string.isRequired,\n light: PropTypes.bool,\n load: PropTypes.number,\n render: PropTypes.func.isRequired\n })).isRequired,\n onOpenForm: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n isRefetch: PropTypes.number.isRequired,\n saving: PropTypes.bool,\n hideLabel: PropTypes.bool,\n readOnly: PropTypes.bool\n}\n\n\n\nexport default ShippingAddressList\n","import Styled from '../../style'\nimport MapUploaderLoading from '../../../../MapUploader/loading'\n\nimport { renderElementMultipleTimes } from '../../../../../utilities/render'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { FormItem, Grid, Skeleton } from 'elements'\n\nconst renderFormInput = size => {\n return (\n <Grid.Column size={`${size}`}>\n <FormItem.Loading>\n <Skeleton width=\"100%\" type=\"box\" rounded />\n </FormItem.Loading>\n </Grid.Column>\n )\n}\n\nconst renderButton = () => {\n return <Skeleton width=\"100%\" height=\"44px\" type=\"box\" rounded />\n}\n\nconst Loading = () => {\n return (\n <Styled.Content>\n <Styled.Header>\n <Skeleton width=\"20%\" />\n </Styled.Header>\n\n <Grid.Row>\n {renderElementMultipleTimes(5, renderFormInput(6))}\n {renderFormInput(12)}\n {renderFormInput(12)}\n </Grid.Row>\n\n <Grid.Row>\n <Grid.Column size=\"12\">\n <MapUploaderLoading />\n </Grid.Column>\n </Grid.Row>\n\n <Styled.Action>\n {renderElementMultipleTimes(2, renderButton())}\n </Styled.Action>\n </Styled.Content>\n )\n}\n\nLoading.propTypes = {\n showCancel: PropTypes.bool\n}\n\nexport default Loading\n","import Loading from './loading'\nimport { useCurrentUser } from '../../../../../utilities/currentUser'\nimport { trackEvent } from '../../../../../utilities/analytics'\n\nimport React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { gql, useMutation, useQuery } from '@apollo/client'\n\nconst Render = React.lazy(() => import('./render'))\n\nconst CURRENT_USER_FIELDS = gql`{\n id\n name\n phoneNumber\n}`\n\nconst CUSTOMER_COMPANY = gql`\n query CustomerCompany($companyId: String!) {\n customerCurrentSelectedCompany(companyNumber: $companyId) {\n id\n name\n phoneNumber\n }\n }\n`\n\nconst SHIPPING_ADDRESS_QUERY = gql`\n query ShippingAddress($id: ID!) {\n shippingAddress(id: $id) {\n id\n contactName\n contactNumber\n provinceId\n districtId\n postalCode\n shippingDetail\n linkUrl\n images {\n id\n file {\n filename\n medium\n }\n }\n }\n }\n`\n\nconst SHIPPING_ADDRESS_MUTATION = gql`\n mutation CartShippingAddress($id: ID, $shippingAddressParams: ShippingAddressInput!, $customerCompanyId: ID) {\n cartShippingAddress(id: $id, shippingAddressParams: $shippingAddressParams, customerCompanyId: $customerCompanyId) {\n errors\n shippingAddress {\n id\n provinceId\n districtId\n contactName\n contactNumber\n fullAddress\n }\n }\n }\n`\n\nconst getDefaultValues = (currentUser, shippingAddress, company) => {\n if (shippingAddress) {\n return {\n ...shippingAddress,\n images: shippingAddress.images.map(({ id, file }) => ({\n id,\n name: file.filename,\n url: file.medium\n }))\n }\n }\n\n return {\n contactName: !company ? currentUser.name : company.name,\n contactNumber: !company ? currentUser.phoneNumber : company.phoneNumber\n }\n}\n\nconst ShippingAddressForm = ({\n cartErrors = {},\n clickAt,\n onCancel,\n onSaveSuccess = () => {},\n saving: savingProp,\n shippingAddressId,\n customerCompanyId\n}) => {\n const [formErrors, setFormErrors] = useState({})\n const { currentUser, loading: userLoading, error: userError } = useCurrentUser({ fields: CURRENT_USER_FIELDS })\n const { loading, data, error, refetch } = useQuery(SHIPPING_ADDRESS_QUERY, {\n skip: !shippingAddressId,\n variables: { id: shippingAddressId }\n })\n const { data: companyData } = useQuery(CUSTOMER_COMPANY, {\n skip: !customerCompanyId,\n variables: { companyId: customerCompanyId }\n })\n\n const [saveShippingAddress, { loading: saving }] = useMutation(SHIPPING_ADDRESS_MUTATION, {\n onCompleted: ({ cartShippingAddress: { errors, shippingAddress } }) => {\n if (errors) {\n setFormErrors(JSON.parse(errors))\n } else {\n setFormErrors({})\n onSaveSuccess(shippingAddress)\n refetch()\n trackEvent(`${shippingAddressId ? 'Edit' : 'New'} shipping address`)\n }\n }\n })\n\n useEffect(() => {\n if (cartErrors['order_shipping_address.phone_number']) {\n setFormErrors({\n ...formErrors,\n phone_number_normalized: cartErrors['order_shipping_address.phone_number']\n })\n }\n }, [cartErrors])\n\n if (userError) return console.error(userError)\n if (error) return console.error(error)\n if (userLoading || loading) return <Loading showCancel={!!onCancel} />\n\n const defaultValues = getDefaultValues(\n currentUser,\n data?.shippingAddress,\n customerCompanyId ? companyData?.customerCurrentSelectedCompany : null\n )\n\n const onSaveShippingAddress = params => {\n saveShippingAddress({\n variables: {\n id: shippingAddressId,\n customerCompanyId: customerCompanyId,\n shippingAddressParams: params\n }\n })\n }\n\n return (\n <React.Suspense fallback={<Loading showCancel={!!onCancel} />}>\n <Render\n clickAt={clickAt}\n defaultValues={defaultValues}\n formErrors={formErrors}\n onCancel={onCancel}\n onSaveShippingAddress={onSaveShippingAddress}\n saving={saving || savingProp}\n />\n </React.Suspense>\n )\n}\n\nShippingAddressForm.propTypes = {\n cartErrors: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n clickAt: PropTypes.string,\n onCancel: PropTypes.func,\n onSaveSuccess: PropTypes.func,\n saving: PropTypes.bool,\n shippingAddressId: PropTypes.string,\n customerCompanyId: PropTypes.string\n}\n\nexport default ShippingAddressForm\n","import ShippingAddressList from './List'\nimport ShippingAddressForm from '../../Addresses/ShippingAddress/Form'\nimport { Modal } from '../../../../elements'\n\nimport useHooks from '../hooks'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nconst CartShippingAddress = ({\n customerCompanyId,\n onChangeShippingAddress,\n shippingAddressId,\n page = 'My Cart',\n hideLabel = false,\n readOnly = false,\n skipMutation = false\n}) => {\n const { isRefetch, saving, onSaveUserCart, ...hooks } = useHooks({ shippingAddressId, onChangeShippingAddress, skipMutation })\n\n const { visible: showForm, toggle: toggleForm } = hooks.formState\n\n return (\n <div>\n <ShippingAddressList\n clickAt={`${page} - In shipping address list`}\n customerCompanyId={customerCompanyId}\n shippingAddressId={shippingAddressId}\n dataset={hooks.dataset}\n onOpenForm={toggleForm}\n onSubmit={onSaveUserCart}\n saving={saving}\n isRefetch={isRefetch}\n hideLabel={hideLabel}\n readOnly={readOnly} />\n <Modal\n width='724px'\n visible={showForm}\n contentStyle={{ borderRadius: '16px', overflow: 'auto', maxHeight: '80vh' }}\n onClose={toggleForm}>\n <ShippingAddressForm\n shippingAddressId={hooks.currentEditing}\n customerCompanyId={customerCompanyId}\n clickAt={`${page} - In shipping address list`}\n onCancel={toggleForm}\n onSaveSuccess={hooks.onSaveFormSuccess}\n />\n </Modal>\n </div>\n )\n}\n\nCartShippingAddress.propTypes = {\n customerCompanyId: PropTypes.string,\n onChangeShippingAddress: PropTypes.func,\n shippingAddressId: PropTypes.string,\n page: PropTypes.string,\n hideLabel: PropTypes.bool,\n skipMutation: PropTypes.bool,\n readOnly: PropTypes.bool\n}\n\nexport default CartShippingAddress\n","import styled from 'styled-components'\n\nexport const FlexBox = styled.div`\n display: flex;\n`\n\nexport const Label = styled.div`\n width: 190px;\n flex: none;\n color: ${props => props.theme.colors.textSubHeading};\n font-weight: 600;\n`\n"],"names":["getOption","dataset","data","map","_ref","key","_ref$light","light","render","React","Styled","$light","renderOptions","source","name","selected","onChange","onEdit","id","OptionTextInput","concat","textInput","value","checked","renderAction","onClick","e","className","renderEditAction","showAction","renderReadOnly","find","_ref2","option","renderOption","_ref3","btnText","loading","_ref3$name","_ref3$onChange","_ref3$onOpenForm","onOpenForm","saving","_ref3$readOnly","readOnly","AddressPickerLoading","event","stopPropagation","$disabled","i18n","t","renderElementMultipleTimes","Loading","load","Skeleton","width","size","loadAddress","height","type","circle","Wrapper","styled","div","_templateObject","_taggedTemplateLiteral","Option","_templateObject2","Text","_templateObject3","props","AddButton","button","_templateObject4","theme","colors","textDisabled","mainBlue","blue800","Content","white","Header","Title","CloseIcon","_templateObject5","Action","_templateObject6","EmptyContent","_templateObject7","OpenDrawer","_templateObject8","zinc600","UploadLoading","_templateObject9","initializeI18n","localeFiles","translations","clickAt","customerCompanyId","shippingAddressId","onSubmit","isRefetch","_ref$readOnly","hideLabel","_useListQuery","useListQuery","useDefaultQuery","onSaveUserCart","AddressPicker","item","renderFormInput","Grid","Column","FormItem","rounded","Row","MapUploaderLoading","Render","CURRENT_USER_FIELDS","gql","CUSTOMER_COMPANY","SHIPPING_ADDRESS_QUERY","SHIPPING_ADDRESS_MUTATION","_ref2$cartErrors","cartErrors","onCancel","_ref2$onSaveSuccess","onSaveSuccess","savingProp","_useState2","_slicedToArray","useState","formErrors","setFormErrors","_useCurrentUser","useCurrentUser","fields","currentUser","userLoading","userError","error","_useQuery","useQuery","skip","variables","refetch","companyData","companyId","_useMutation2","useMutation","onCompleted","_ref3$cartShippingAdd","cartShippingAddress","errors","shippingAddress","JSON","parse","trackEvent","saveShippingAddress","useEffect","_objectSpread","phone_number_normalized","console","showCancel","defaultValues","company","images","file","filename","url","medium","contactName","contactNumber","phoneNumber","getDefaultValues","customerCurrentSelectedCompany","fallback","onSaveShippingAddress","params","shippingAddressParams","onChangeShippingAddress","_ref$page","page","_ref$hideLabel","_ref$skipMutation","skipMutation","_useHooks","useHooks","hooks","_objectWithoutProperties","_excluded","_hooks$formState","formState","showForm","visible","toggleForm","toggle","ShippingAddressList","Modal","contentStyle","borderRadius","overflow","maxHeight","onClose","ShippingAddressForm","currentEditing","onSaveFormSuccess","FlexBox","Label","textSubHeading"],"sourceRoot":""}