@@ -116,15 +116,17 @@ define(
116116 var city = '' ;
117117 var postcode = '' ;
118118 var postcodeSuffix = '' ;
119+ var subpremise = '' ; // This is apartment/unit/flat number etc
120+ var countryId = '' ;
119121
120122 for ( var i = 0 ; i < place . address_components . length ; i ++ ) {
121123 var addressType = place . address_components [ i ] . types [ 0 ] ;
122124 if ( componentForm [ addressType ] ) {
123125 var value = place . address_components [ i ] [ componentForm [ addressType ] ] ;
124126 if ( addressType === 'subpremise' ) {
125- streetNumber = value + '/' ;
127+ subpremise = value ;
126128 } else if ( addressType === 'street_number' ) {
127- streetNumber = streetNumber + value ;
129+ streetNumber = value ;
128130 } else if ( addressType === 'route' ) {
129131 street [ 1 ] = value ;
130132 } else if ( addressType === 'administrative_area_level_1' ) {
@@ -161,13 +163,19 @@ define(
161163 }
162164
163165 if ( elementId === 'country_id' ) {
164- numberAfterStreet = numberAfterStreetCountries . includes ( value ) ;
166+ countryId = value ;
167+ numberAfterStreet = numberAfterStreetCountries . includes ( countryId ) ;
165168 }
166169 }
167170 } //end if
168171 } //end if
169172 } //end for
170173
174+ // SHQ23-326 US Address Format is street address, unit or apartment number
175+ if ( subpremise . length > 0 && countryId !== 'US' ) {
176+ streetNumber = subpremise + '/' + streetNumber ;
177+ }
178+
171179 if ( street . length > 0 ) {
172180 if ( numberAfterStreet ) {
173181 street [ 0 ] = street [ 1 ] ;
@@ -178,6 +186,11 @@ define(
178186
179187 var domID = uiRegistry . get ( 'checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.street' ) . elems ( ) [ 0 ] . uid ;
180188 var streetString = street . join ( ' ' ) ;
189+
190+ if ( countryId === 'US' ) {
191+ streetString += ', ' + subpremise
192+ }
193+
181194 if ( $ ( '#' + domID ) . length ) {
182195 $ ( '#' + domID ) . val ( streetString ) ;
183196 $ ( '#' + domID ) . trigger ( 'change' ) ;
0 commit comments