@servicetitan/onboarding-ui 15.0.0 → 16.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"state-and-province-dropdown-input.d.ts","sourceRoot":"","sources":["../../../src/company-profile/components/state-and-province-dropdown-input.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sCAAsC,CAAC;AAE1F,UAAU,kCAAmC,SAAQ,iBAAiB;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;CAC1B;AAKD,eAAO,MAAM,6BAA6B,UAC9B,kCAAkC,4CAoF7C,CAAC"}
1
+ {"version":3,"file":"state-and-province-dropdown-input.d.ts","sourceRoot":"","sources":["../../../src/company-profile/components/state-and-province-dropdown-input.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sCAAsC,CAAC;AAG1F,UAAU,kCAAmC,SAAQ,iBAAiB;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;CAC1B;AAKD,eAAO,MAAM,6BAA6B,UAC9B,kCAAkC,4CAoF7C,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
3
  import { Form } from '@servicetitan/design-system';
4
4
  import { observer } from 'mobx-react';
5
+ import { isCountry, Country } from '../../utils/country-helpers';
5
6
  const toTitleCase = (str)=>str.replace(/\w\S*/g, (txt)=>txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
6
7
  export const StateAndProvinceDropdownInput = observer((props)=>{
7
8
  const { fieldState, regionNameToCodeMap, countryAndRegionData, countryCode, width, placeholder, ...rest } = props;
@@ -14,7 +15,7 @@ export const StateAndProvinceDropdownInput = observer((props)=>{
14
15
  * (salesforce data input through text input field not dropdown),
15
16
  * so convert to proper casing to find value in map
16
17
  * https://servicetitan.atlassian.net/browse/OX-948
17
- */ if (value && value.length > 2 && countryCode !== 'AU') {
18
+ */ if (value && value.length > 2 && !isCountry(countryCode, Country.Australia)) {
18
19
  var _regionNameToCodeMap_get;
19
20
  onChange((_regionNameToCodeMap_get = regionNameToCodeMap.get(toTitleCase(value))) !== null && _regionNameToCodeMap_get !== void 0 ? _regionNameToCodeMap_get : ' ');
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/company-profile/components/state-and-province-dropdown-input.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { Form, FormDropdownProps, SemanticWIDTHS } from '@servicetitan/design-system';\nimport { observer } from 'mobx-react';\nimport { DropdownFieldState } from '@servicetitan/form';\nimport { CountryWithRegions, DropdownRegion } from '../stores/company-profile-form.store';\n\ninterface StateAndProvinceDropdownInputProps extends FormDropdownProps {\n countryCode: string;\n fieldState: DropdownFieldState<string>;\n countryAndRegionData: CountryWithRegions[];\n regionNameToCodeMap: Map<string, string>;\n width?: SemanticWIDTHS;\n}\n\nconst toTitleCase = (str: string) =>\n str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n\nexport const StateAndProvinceDropdownInput = observer(\n (props: StateAndProvinceDropdownInputProps) => {\n const {\n fieldState,\n regionNameToCodeMap,\n countryAndRegionData,\n countryCode,\n width,\n placeholder,\n ...rest\n } = props;\n const { value, onChange, onChangeHandler } = fieldState;\n\n useEffect(() => {\n /*\n * requirement: convert any incoming state value that is a full state/province name\n * to it's respective state code (e.g. 'Alabama' => 'AL')\n * The incoming value may not have proper casing\n * (salesforce data input through text input field not dropdown),\n * so convert to proper casing to find value in map\n * https://servicetitan.atlassian.net/browse/OX-948\n */\n if (value && value.length > 2 && countryCode !== 'AU') {\n onChange(regionNameToCodeMap.get(toTitleCase(value)) ?? ' ');\n }\n }, [countryCode, onChange, regionNameToCodeMap, value]);\n\n let americanRegionalData;\n let canadianRegionalData;\n let australiaRegionalData;\n\n countryAndRegionData.forEach((countryOption: CountryWithRegions) => {\n const data = countryOption.Regions.map((option: DropdownRegion) => ({\n key: option.Code,\n value: option.Code,\n text: option.Name,\n }));\n if (countryOption.Country === 'US') {\n americanRegionalData = data;\n }\n if (countryOption.Country === 'CA') {\n canadianRegionalData = data;\n }\n if (countryOption.Country === 'AU') {\n australiaRegionalData = data;\n }\n });\n\n const regionType =\n countryCode.toLowerCase() === 'canada' || countryCode.toLowerCase() === 'ca'\n ? 'Province'\n : 'State';\n let options = americanRegionalData;\n switch (countryCode.toLowerCase()) {\n case 'us':\n case 'usa':\n options = americanRegionalData;\n break;\n case 'ca':\n case 'canada':\n options = canadianRegionalData;\n break;\n case 'au':\n case 'australia':\n options = australiaRegionalData;\n break;\n default:\n options = americanRegionalData;\n break;\n }\n\n return (\n <Form.Select\n search\n fluid\n width={width ?? '12'}\n label={regionType}\n placeholder={placeholder ?? regionType}\n value={value}\n onChange={onChangeHandler}\n options={options!}\n {...rest}\n />\n );\n }\n);\n"],"names":["useEffect","Form","observer","toTitleCase","str","replace","txt","charAt","toUpperCase","substr","toLowerCase","StateAndProvinceDropdownInput","props","fieldState","regionNameToCodeMap","countryAndRegionData","countryCode","width","placeholder","rest","value","onChange","onChangeHandler","length","get","americanRegionalData","canadianRegionalData","australiaRegionalData","forEach","countryOption","data","Regions","map","option","key","Code","text","Name","Country","regionType","options","Select","search","fluid","label"],"mappings":";AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,IAAI,QAA2C,8BAA8B;AACtF,SAASC,QAAQ,QAAQ,aAAa;AAYtC,MAAMC,cAAc,CAACC,MACjBA,IAAIC,OAAO,CAAC,UAAUC,CAAAA,MAAOA,IAAIC,MAAM,CAAC,GAAGC,WAAW,KAAKF,IAAIG,MAAM,CAAC,GAAGC,WAAW;AAExF,OAAO,MAAMC,gCAAgCT,SACzC,CAACU;IACG,MAAM,EACFC,UAAU,EACVC,mBAAmB,EACnBC,oBAAoB,EACpBC,WAAW,EACXC,KAAK,EACLC,WAAW,EACX,GAAGC,MACN,GAAGP;IACJ,MAAM,EAAEQ,KAAK,EAAEC,QAAQ,EAAEC,eAAe,EAAE,GAAGT;IAE7Cb,UAAU;QACN;;;;;;;aAOC,GACD,IAAIoB,SAASA,MAAMG,MAAM,GAAG,KAAKP,gBAAgB,MAAM;gBAC1CF;YAATO,SAASP,CAAAA,2BAAAA,oBAAoBU,GAAG,CAACrB,YAAYiB,qBAApCN,sCAAAA,2BAA+C;QAC5D;IACJ,GAAG;QAACE;QAAaK;QAAUP;QAAqBM;KAAM;IAEtD,IAAIK;IACJ,IAAIC;IACJ,IAAIC;IAEJZ,qBAAqBa,OAAO,CAAC,CAACC;QAC1B,MAAMC,OAAOD,cAAcE,OAAO,CAACC,GAAG,CAAC,CAACC,SAA4B,CAAA;gBAChEC,KAAKD,OAAOE,IAAI;gBAChBf,OAAOa,OAAOE,IAAI;gBAClBC,MAAMH,OAAOI,IAAI;YACrB,CAAA;QACA,IAAIR,cAAcS,OAAO,KAAK,MAAM;YAChCb,uBAAuBK;QAC3B;QACA,IAAID,cAAcS,OAAO,KAAK,MAAM;YAChCZ,uBAAuBI;QAC3B;QACA,IAAID,cAAcS,OAAO,KAAK,MAAM;YAChCX,wBAAwBG;QAC5B;IACJ;IAEA,MAAMS,aACFvB,YAAYN,WAAW,OAAO,YAAYM,YAAYN,WAAW,OAAO,OAClE,aACA;IACV,IAAI8B,UAAUf;IACd,OAAQT,YAAYN,WAAW;QAC3B,KAAK;QACL,KAAK;YACD8B,UAAUf;YACV;QACJ,KAAK;QACL,KAAK;YACDe,UAAUd;YACV;QACJ,KAAK;QACL,KAAK;YACDc,UAAUb;YACV;QACJ;YACIa,UAAUf;YACV;IACR;IAEA,qBACI,KAACxB,KAAKwC,MAAM;QACRC,MAAM;QACNC,KAAK;QACL1B,OAAOA,kBAAAA,mBAAAA,QAAS;QAChB2B,OAAOL;QACPrB,aAAaA,wBAAAA,yBAAAA,cAAeqB;QAC5BnB,OAAOA;QACPC,UAAUC;QACVkB,SAASA;QACR,GAAGrB,IAAI;;AAGpB,GACF"}
1
+ {"version":3,"sources":["../../../src/company-profile/components/state-and-province-dropdown-input.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { Form, FormDropdownProps, SemanticWIDTHS } from '@servicetitan/design-system';\nimport { observer } from 'mobx-react';\nimport { DropdownFieldState } from '@servicetitan/form';\nimport { CountryWithRegions, DropdownRegion } from '../stores/company-profile-form.store';\nimport { isCountry, Country } from '../../utils/country-helpers';\n\ninterface StateAndProvinceDropdownInputProps extends FormDropdownProps {\n countryCode: string;\n fieldState: DropdownFieldState<string>;\n countryAndRegionData: CountryWithRegions[];\n regionNameToCodeMap: Map<string, string>;\n width?: SemanticWIDTHS;\n}\n\nconst toTitleCase = (str: string) =>\n str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n\nexport const StateAndProvinceDropdownInput = observer(\n (props: StateAndProvinceDropdownInputProps) => {\n const {\n fieldState,\n regionNameToCodeMap,\n countryAndRegionData,\n countryCode,\n width,\n placeholder,\n ...rest\n } = props;\n const { value, onChange, onChangeHandler } = fieldState;\n\n useEffect(() => {\n /*\n * requirement: convert any incoming state value that is a full state/province name\n * to it's respective state code (e.g. 'Alabama' => 'AL')\n * The incoming value may not have proper casing\n * (salesforce data input through text input field not dropdown),\n * so convert to proper casing to find value in map\n * https://servicetitan.atlassian.net/browse/OX-948\n */\n if (value && value.length > 2 && !isCountry(countryCode, Country.Australia)) {\n onChange(regionNameToCodeMap.get(toTitleCase(value)) ?? ' ');\n }\n }, [countryCode, onChange, regionNameToCodeMap, value]);\n\n let americanRegionalData;\n let canadianRegionalData;\n let australiaRegionalData;\n\n countryAndRegionData.forEach((countryOption: CountryWithRegions) => {\n const data = countryOption.Regions.map((option: DropdownRegion) => ({\n key: option.Code,\n value: option.Code,\n text: option.Name,\n }));\n if (countryOption.Country === 'US') {\n americanRegionalData = data;\n }\n if (countryOption.Country === 'CA') {\n canadianRegionalData = data;\n }\n if (countryOption.Country === 'AU') {\n australiaRegionalData = data;\n }\n });\n\n const regionType =\n countryCode.toLowerCase() === 'canada' || countryCode.toLowerCase() === 'ca'\n ? 'Province'\n : 'State';\n let options = americanRegionalData;\n switch (countryCode.toLowerCase()) {\n case 'us':\n case 'usa':\n options = americanRegionalData;\n break;\n case 'ca':\n case 'canada':\n options = canadianRegionalData;\n break;\n case 'au':\n case 'australia':\n options = australiaRegionalData;\n break;\n default:\n options = americanRegionalData;\n break;\n }\n\n return (\n <Form.Select\n search\n fluid\n width={width ?? '12'}\n label={regionType}\n placeholder={placeholder ?? regionType}\n value={value}\n onChange={onChangeHandler}\n options={options!}\n {...rest}\n />\n );\n }\n);\n"],"names":["useEffect","Form","observer","isCountry","Country","toTitleCase","str","replace","txt","charAt","toUpperCase","substr","toLowerCase","StateAndProvinceDropdownInput","props","fieldState","regionNameToCodeMap","countryAndRegionData","countryCode","width","placeholder","rest","value","onChange","onChangeHandler","length","Australia","get","americanRegionalData","canadianRegionalData","australiaRegionalData","forEach","countryOption","data","Regions","map","option","key","Code","text","Name","regionType","options","Select","search","fluid","label"],"mappings":";AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,IAAI,QAA2C,8BAA8B;AACtF,SAASC,QAAQ,QAAQ,aAAa;AAGtC,SAASC,SAAS,EAAEC,OAAO,QAAQ,8BAA8B;AAUjE,MAAMC,cAAc,CAACC,MACjBA,IAAIC,OAAO,CAAC,UAAUC,CAAAA,MAAOA,IAAIC,MAAM,CAAC,GAAGC,WAAW,KAAKF,IAAIG,MAAM,CAAC,GAAGC,WAAW;AAExF,OAAO,MAAMC,gCAAgCX,SACzC,CAACY;IACG,MAAM,EACFC,UAAU,EACVC,mBAAmB,EACnBC,oBAAoB,EACpBC,WAAW,EACXC,KAAK,EACLC,WAAW,EACX,GAAGC,MACN,GAAGP;IACJ,MAAM,EAAEQ,KAAK,EAAEC,QAAQ,EAAEC,eAAe,EAAE,GAAGT;IAE7Cf,UAAU;QACN;;;;;;;aAOC,GACD,IAAIsB,SAASA,MAAMG,MAAM,GAAG,KAAK,CAACtB,UAAUe,aAAad,QAAQsB,SAAS,GAAG;gBAChEV;YAATO,SAASP,CAAAA,2BAAAA,oBAAoBW,GAAG,CAACtB,YAAYiB,qBAApCN,sCAAAA,2BAA+C;QAC5D;IACJ,GAAG;QAACE;QAAaK;QAAUP;QAAqBM;KAAM;IAEtD,IAAIM;IACJ,IAAIC;IACJ,IAAIC;IAEJb,qBAAqBc,OAAO,CAAC,CAACC;QAC1B,MAAMC,OAAOD,cAAcE,OAAO,CAACC,GAAG,CAAC,CAACC,SAA4B,CAAA;gBAChEC,KAAKD,OAAOE,IAAI;gBAChBhB,OAAOc,OAAOE,IAAI;gBAClBC,MAAMH,OAAOI,IAAI;YACrB,CAAA;QACA,IAAIR,cAAc5B,OAAO,KAAK,MAAM;YAChCwB,uBAAuBK;QAC3B;QACA,IAAID,cAAc5B,OAAO,KAAK,MAAM;YAChCyB,uBAAuBI;QAC3B;QACA,IAAID,cAAc5B,OAAO,KAAK,MAAM;YAChC0B,wBAAwBG;QAC5B;IACJ;IAEA,MAAMQ,aACFvB,YAAYN,WAAW,OAAO,YAAYM,YAAYN,WAAW,OAAO,OAClE,aACA;IACV,IAAI8B,UAAUd;IACd,OAAQV,YAAYN,WAAW;QAC3B,KAAK;QACL,KAAK;YACD8B,UAAUd;YACV;QACJ,KAAK;QACL,KAAK;YACDc,UAAUb;YACV;QACJ,KAAK;QACL,KAAK;YACDa,UAAUZ;YACV;QACJ;YACIY,UAAUd;YACV;IACR;IAEA,qBACI,KAAC3B,KAAK0C,MAAM;QACRC,MAAM;QACNC,KAAK;QACL1B,OAAOA,kBAAAA,mBAAAA,QAAS;QAChB2B,OAAOL;QACPrB,aAAaA,wBAAAA,yBAAAA,cAAeqB;QAC5BnB,OAAOA;QACPC,UAAUC;QACVkB,SAASA;QACR,GAAGrB,IAAI;;AAGpB,GACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/onboarding-ui",
3
- "version": "15.0.0",
3
+ "version": "16.0.1",
4
4
  "description": "Shared components between servicetitan monolith and Onboarding",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,11 +30,11 @@
30
30
  "resumablejs": "~1.0.2"
31
31
  },
32
32
  "devDependencies": {
33
- "@servicetitan/confirm": "^36.0.0",
34
- "@servicetitan/culture": "^36.0.0",
35
- "@servicetitan/data-query": "^36.0.0",
33
+ "@servicetitan/confirm": "^37.0.3",
34
+ "@servicetitan/culture": "^37.0.3",
35
+ "@servicetitan/data-query": "^37.0.3",
36
36
  "@servicetitan/design-system": "~14.5.1",
37
- "@servicetitan/form": "^36.0.0",
37
+ "@servicetitan/form": "^37.0.3",
38
38
  "@servicetitan/react-ioc": "^33.0.0",
39
39
  "@types/contentful-resolve-response": "^0.1.31",
40
40
  "@types/react": "~18.2.55",
@@ -69,5 +69,5 @@
69
69
  "less": true,
70
70
  "webpack": false
71
71
  },
72
- "gitHead": "aafdfc3cb503509159642338517d94ca7f5c672b"
72
+ "gitHead": "adf2c3ae6e37a646304d21b6701d358a52f8f2e7"
73
73
  }
@@ -3,6 +3,7 @@ import { Form, FormDropdownProps, SemanticWIDTHS } from '@servicetitan/design-sy
3
3
  import { observer } from 'mobx-react';
4
4
  import { DropdownFieldState } from '@servicetitan/form';
5
5
  import { CountryWithRegions, DropdownRegion } from '../stores/company-profile-form.store';
6
+ import { isCountry, Country } from '../../utils/country-helpers';
6
7
 
7
8
  interface StateAndProvinceDropdownInputProps extends FormDropdownProps {
8
9
  countryCode: string;
@@ -37,7 +38,7 @@ export const StateAndProvinceDropdownInput = observer(
37
38
  * so convert to proper casing to find value in map
38
39
  * https://servicetitan.atlassian.net/browse/OX-948
39
40
  */
40
- if (value && value.length > 2 && countryCode !== 'AU') {
41
+ if (value && value.length > 2 && !isCountry(countryCode, Country.Australia)) {
41
42
  onChange(regionNameToCodeMap.get(toTitleCase(value)) ?? ' ');
42
43
  }
43
44
  }, [countryCode, onChange, regionNameToCodeMap, value]);