@gusto/embedded-react-sdk 0.10.2-rc.3 → 0.10.3-rc.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.3
4
+
5
+ - Expose types for adapter and create a loading indicator provider
6
+ - Remove manual invalidation in favor of automatic invalidation after mutation
7
+ - Invalidate queryCache after running mutation API
8
+ - Produce lockfile for documentation to better organize frontmatter for Github Action
9
+ - Reorganize docs to match readme hierarchy
10
+
3
11
  ## 0.10.2
4
12
 
5
13
  ### Fixes
@@ -1,20 +1,20 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { useTranslation as s, Trans as t } from "react-i18next";
3
- import { useComponentContext as i } from "../../../contexts/ComponentAdapter/useComponentContext.js";
4
- function p() {
5
- const { t: o } = s("Company.FederalTaxes"), n = i();
6
- return /* @__PURE__ */ r("header", { children: [
7
- /* @__PURE__ */ e(n.Heading, { as: "h2", children: o("pageTitle") }),
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { useTranslation as o, Trans as i } from "react-i18next";
3
+ import { useComponentContext as s } from "../../../contexts/ComponentAdapter/useComponentContext.js";
4
+ function l() {
5
+ const { t: r } = o("Company.FederalTaxes"), n = s();
6
+ return /* @__PURE__ */ t("header", { children: [
7
+ /* @__PURE__ */ e(n.Heading, { as: "h2", children: r("pageTitle") }),
8
8
  /* @__PURE__ */ e(n.Text, { children: /* @__PURE__ */ e(
9
- t,
9
+ i,
10
10
  {
11
- t: o,
11
+ t: r,
12
12
  i18nKey: "entity_type_and_legal_name_intro",
13
13
  components: {
14
14
  einLink: /* @__PURE__ */ e(
15
15
  n.Link,
16
16
  {
17
- href: "https://www.irs.gov/businesses/small-businesses-self-employed/lost-or-misplaced-your-ein",
17
+ href: "https://www.irs.gov/businesses/employer-identification-number#lost",
18
18
  target: "_blank",
19
19
  rel: "noopener noreferrer"
20
20
  }
@@ -25,6 +25,6 @@ function p() {
25
25
  ] });
26
26
  }
27
27
  export {
28
- p as Head
28
+ l as Head
29
29
  };
30
30
  //# sourceMappingURL=Head.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","sources":["../../../../src/components/Company/FederalTaxes/Head.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Head() {\n const { t } = useTranslation('Company.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <header>\n <Components.Heading as=\"h2\">{t('pageTitle')}</Components.Heading>\n <Components.Text>\n <Trans\n t={t}\n i18nKey=\"entity_type_and_legal_name_intro\"\n components={{\n einLink: (\n <Components.Link\n href=\"https://www.irs.gov/businesses/small-businesses-self-employed/lost-or-misplaced-your-ein\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n ),\n }}\n />\n </Components.Text>\n </header>\n )\n}\n"],"names":["Head","t","useTranslation","Components","useComponentContext","jsx","Trans"],"mappings":";;;AAGO,SAASA,IAAO;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sBAAsB,GAC7CC,IAAaC,EAAoB;AAEvC,2BACG,UACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACF,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,WAAW,GAAE;AAAA,IAC5C,gBAAAI,EAACF,EAAW,MAAX,EACC,UAAA,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,GAAAL;AAAA,QACA,SAAQ;AAAA,QACR,YAAY;AAAA,UACV,SACE,gBAAAI;AAAA,YAACF,EAAW;AAAA,YAAX;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,KAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAEJ;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"Head.js","sources":["../../../../src/components/Company/FederalTaxes/Head.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Head() {\n const { t } = useTranslation('Company.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <header>\n <Components.Heading as=\"h2\">{t('pageTitle')}</Components.Heading>\n <Components.Text>\n <Trans\n t={t}\n i18nKey=\"entity_type_and_legal_name_intro\"\n components={{\n einLink: (\n <Components.Link\n href=\"https://www.irs.gov/businesses/employer-identification-number#lost\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n ),\n }}\n />\n </Components.Text>\n </header>\n )\n}\n"],"names":["Head","t","useTranslation","Components","useComponentContext","jsx","Trans"],"mappings":";;;AAGO,SAASA,IAAO;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sBAAsB,GAC7CC,IAAaC,EAAoB;AAEvC,2BACG,UACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACF,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,WAAW,GAAE;AAAA,IAC5C,gBAAAI,EAACF,EAAW,MAAX,EACC,UAAA,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,GAAAL;AAAA,QACA,SAAQ;AAAA,QACR,YAAY;AAAA,UACV,SACE,gBAAAI;AAAA,YAACF,EAAW;AAAA,YAAX;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,KAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAEJ;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -72,7 +72,7 @@ const q = () => {
72
72
  currentPage: d,
73
73
  totalPages: l
74
74
  },
75
- emptyState: () => /* @__PURE__ */ t(b, { title: e("emptyTableTitle"), description: e("emptyTableDescription"), children: /* @__PURE__ */ t(a.Button, { variant: "secondary", onClick: h, children: e("addFirstLicationCta") }) })
75
+ emptyState: () => /* @__PURE__ */ t(b, { title: e("emptyTableTitle"), description: e("emptyTableDescription"), children: /* @__PURE__ */ t(a.Button, { variant: "secondary", onClick: h, children: e("addFirstLocationCta") }) })
76
76
  });
77
77
  return /* @__PURE__ */ t(S, { label: e("locationListLabel"), ...f });
78
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../../../src/components/Company/Locations/LocationsList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useLocationsList } from './useLocationsList'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { DataView, EmptyData, useDataView, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { getCityStateZip, getStreet } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const Components = useComponentContext()\n const {\n locationList,\n handleEditLocation,\n currentPage,\n totalPages,\n handleFirstPage,\n handleItemsPerPageChange,\n handleLastPage,\n handleNextPage,\n handlePreviousPage,\n handleAddLocation,\n } = useLocationsList()\n\n const { t } = useTranslation('Company.Locations')\n const { ...dataViewProps } = useDataView({\n data: locationList,\n columns: [\n {\n key: 'name',\n title: t('locationListCol1'),\n render: location => {\n return (\n <>\n <address>\n {getStreet(location)}\n <br />\n <small>{getCityStateZip(location)}</small>\n </address>\n </>\n )\n },\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('locationListCol2')}</VisuallyHidden>,\n render: location => {\n return (\n <>\n {location.mailingAddress && (\n <Components.Badge status={'info'}>{t('mailingAddress')}</Components.Badge>\n )}\n {location.filingAddress && (\n <>\n {' '}\n <Components.Badge status={'info'}>{t('filingAddress')}</Components.Badge>\n </>\n )}\n </>\n )\n },\n },\n ],\n itemMenu: location => {\n return (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n onClick: () => {\n handleEditLocation(location.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n 'data-testid': 'edit-location',\n },\n ]}\n data-testid=\"location-hamburger\"\n triggerLabel={t('hamburgerTitle')}\n />\n )\n },\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <Components.Button variant=\"secondary\" onClick={handleAddLocation}>\n {t('addFirstLicationCta')}\n </Components.Button>\n </EmptyData>\n ),\n })\n return <DataView label={t('locationListLabel')} {...dataViewProps} />\n}\n"],"names":["List","Components","useComponentContext","locationList","handleEditLocation","currentPage","totalPages","handleFirstPage","handleItemsPerPageChange","handleLastPage","handleNextPage","handlePreviousPage","handleAddLocation","useLocationsList","t","useTranslation","dataViewProps","useDataView","location","jsx","Fragment","getStreet","getCityStateZip","VisuallyHidden","jsxs","HamburgerMenu","PencilSvg","EmptyData","DataView"],"mappings":";;;;;;;;;;;;AASO,MAAMA,IAAO,MAAM;AACxB,QAAMC,IAAaC,EAAoB,GACjC;AAAA,IACJ,cAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,MACEC,EAAiB,GAEf,EAAE,GAAAC,EAAA,IAAMC,EAAe,mBAAmB,GAC1C,EAAE,GAAGC,EAAc,IAAIC,EAAY;AAAA,IACvC,MAAMd;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOW,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CAAYI,MAEhB,gBAAAC,EAAAC,GAAA,EACE,4BAAC,WACE,EAAA,UAAA;AAAA,UAAAC,EAAUH,CAAQ;AAAA,4BAClB,MAAG,EAAA;AAAA,UACH,gBAAAC,EAAA,SAAA,EAAO,UAAgBG,EAAAJ,CAAQ,EAAE,CAAA;AAAA,QAAA,EAAA,CACpC,EACF,CAAA;AAAA,MAGN;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO,gBAAAC,EAACI,GAAgB,EAAA,UAAAT,EAAE,kBAAkB,GAAE;AAAA,QAC9C,QAAQ,CAAYI,MAGb,gBAAAM,EAAAJ,GAAA,EAAA,UAAA;AAAA,UAASF,EAAA,oCACPjB,EAAW,OAAX,EAAiB,QAAQ,QAAS,UAAEa,EAAA,gBAAgB,EAAE,CAAA;AAAA,UAExDI,EAAS,iBAEL,gBAAAM,EAAAJ,GAAA,EAAA,UAAA;AAAA,YAAA;AAAA,YACD,gBAAAD,EAAClB,EAAW,OAAX,EAAiB,QAAQ,QAAS,UAAAa,EAAE,eAAe,EAAE,CAAA;AAAA,UAAA,EACxD,CAAA;AAAA,QAAA,GAEJ;AAAA,MAEJ;AAAA,IAEJ;AAAA,IACA,UAAU,CAAYI,MAElB,gBAAAC;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL;AAAA,YACE,OAAOX,EAAE,SAAS;AAAA,YAClB,SAAS,MAAM;AACb,cAAAV,EAAmBc,EAAS,IAAI;AAAA,YAClC;AAAA,YACA,MAAM,gBAAAC,EAACO,GAAU,EAAA,eAAW,GAAC,CAAA;AAAA,YAC7B,eAAe;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,eAAY;AAAA,QACZ,cAAcZ,EAAE,gBAAgB;AAAA,MAAA;AAAA,IAClC;AAAA,IAGJ,YAAY;AAAA,MACV,gBAAAJ;AAAA,MACA,iBAAAH;AAAA,MACA,gBAAAE;AAAA,MACA,oBAAAE;AAAA,MACA,0BAAAH;AAAA,MACA,aAAAH;AAAA,MACA,YAAAC;AAAA,IACF;AAAA,IACA,YAAY,MACT,gBAAAa,EAAAQ,GAAA,EAAU,OAAOb,EAAE,iBAAiB,GAAG,aAAaA,EAAE,uBAAuB,GAC5E,UAAC,gBAAAK,EAAAlB,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASW,GAC7C,UAAAE,EAAE,qBAAqB,EAC1B,CAAA,EACF,CAAA;AAAA,EAAA,CAEH;AACD,2BAAQc,GAAS,EAAA,OAAOd,EAAE,mBAAmB,GAAI,GAAGE,GAAe;AACrE;"}
1
+ {"version":3,"file":"List.js","sources":["../../../../../src/components/Company/Locations/LocationsList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useLocationsList } from './useLocationsList'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { DataView, EmptyData, useDataView, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { getCityStateZip, getStreet } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const Components = useComponentContext()\n const {\n locationList,\n handleEditLocation,\n currentPage,\n totalPages,\n handleFirstPage,\n handleItemsPerPageChange,\n handleLastPage,\n handleNextPage,\n handlePreviousPage,\n handleAddLocation,\n } = useLocationsList()\n\n const { t } = useTranslation('Company.Locations')\n const { ...dataViewProps } = useDataView({\n data: locationList,\n columns: [\n {\n key: 'name',\n title: t('locationListCol1'),\n render: location => {\n return (\n <>\n <address>\n {getStreet(location)}\n <br />\n <small>{getCityStateZip(location)}</small>\n </address>\n </>\n )\n },\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('locationListCol2')}</VisuallyHidden>,\n render: location => {\n return (\n <>\n {location.mailingAddress && (\n <Components.Badge status={'info'}>{t('mailingAddress')}</Components.Badge>\n )}\n {location.filingAddress && (\n <>\n {' '}\n <Components.Badge status={'info'}>{t('filingAddress')}</Components.Badge>\n </>\n )}\n </>\n )\n },\n },\n ],\n itemMenu: location => {\n return (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n onClick: () => {\n handleEditLocation(location.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n 'data-testid': 'edit-location',\n },\n ]}\n data-testid=\"location-hamburger\"\n triggerLabel={t('hamburgerTitle')}\n />\n )\n },\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <Components.Button variant=\"secondary\" onClick={handleAddLocation}>\n {t('addFirstLocationCta')}\n </Components.Button>\n </EmptyData>\n ),\n })\n return <DataView label={t('locationListLabel')} {...dataViewProps} />\n}\n"],"names":["List","Components","useComponentContext","locationList","handleEditLocation","currentPage","totalPages","handleFirstPage","handleItemsPerPageChange","handleLastPage","handleNextPage","handlePreviousPage","handleAddLocation","useLocationsList","t","useTranslation","dataViewProps","useDataView","location","jsx","Fragment","getStreet","getCityStateZip","VisuallyHidden","jsxs","HamburgerMenu","PencilSvg","EmptyData","DataView"],"mappings":";;;;;;;;;;;;AASO,MAAMA,IAAO,MAAM;AACxB,QAAMC,IAAaC,EAAoB,GACjC;AAAA,IACJ,cAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,MACEC,EAAiB,GAEf,EAAE,GAAAC,EAAA,IAAMC,EAAe,mBAAmB,GAC1C,EAAE,GAAGC,EAAc,IAAIC,EAAY;AAAA,IACvC,MAAMd;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOW,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CAAYI,MAEhB,gBAAAC,EAAAC,GAAA,EACE,4BAAC,WACE,EAAA,UAAA;AAAA,UAAAC,EAAUH,CAAQ;AAAA,4BAClB,MAAG,EAAA;AAAA,UACH,gBAAAC,EAAA,SAAA,EAAO,UAAgBG,EAAAJ,CAAQ,EAAE,CAAA;AAAA,QAAA,EAAA,CACpC,EACF,CAAA;AAAA,MAGN;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO,gBAAAC,EAACI,GAAgB,EAAA,UAAAT,EAAE,kBAAkB,GAAE;AAAA,QAC9C,QAAQ,CAAYI,MAGb,gBAAAM,EAAAJ,GAAA,EAAA,UAAA;AAAA,UAASF,EAAA,oCACPjB,EAAW,OAAX,EAAiB,QAAQ,QAAS,UAAEa,EAAA,gBAAgB,EAAE,CAAA;AAAA,UAExDI,EAAS,iBAEL,gBAAAM,EAAAJ,GAAA,EAAA,UAAA;AAAA,YAAA;AAAA,YACD,gBAAAD,EAAClB,EAAW,OAAX,EAAiB,QAAQ,QAAS,UAAAa,EAAE,eAAe,EAAE,CAAA;AAAA,UAAA,EACxD,CAAA;AAAA,QAAA,GAEJ;AAAA,MAEJ;AAAA,IAEJ;AAAA,IACA,UAAU,CAAYI,MAElB,gBAAAC;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL;AAAA,YACE,OAAOX,EAAE,SAAS;AAAA,YAClB,SAAS,MAAM;AACb,cAAAV,EAAmBc,EAAS,IAAI;AAAA,YAClC;AAAA,YACA,MAAM,gBAAAC,EAACO,GAAU,EAAA,eAAW,GAAC,CAAA;AAAA,YAC7B,eAAe;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,eAAY;AAAA,QACZ,cAAcZ,EAAE,gBAAgB;AAAA,MAAA;AAAA,IAClC;AAAA,IAGJ,YAAY;AAAA,MACV,gBAAAJ;AAAA,MACA,iBAAAH;AAAA,MACA,gBAAAE;AAAA,MACA,oBAAAE;AAAA,MACA,0BAAAH;AAAA,MACA,aAAAH;AAAA,MACA,YAAAC;AAAA,IACF;AAAA,IACA,YAAY,MACT,gBAAAa,EAAAQ,GAAA,EAAU,OAAOb,EAAE,iBAAiB,GAAG,aAAaA,EAAE,uBAAuB,GAC5E,UAAC,gBAAAK,EAAAlB,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASW,GAC7C,UAAAE,EAAE,qBAAqB,EAC1B,CAAA,EACF,CAAA;AAAA,EAAA,CAEH;AACD,2BAAQc,GAAS,EAAA,OAAOd,EAAE,mBAAmB,GAAI,GAAGE,GAAe;AACrE;"}
@@ -1,63 +1,61 @@
1
- import { state as c, transition as i, reduce as A } from "robot3";
2
- import { LocationsListContextual as C, LocationFormContextual as O } from "./locationsStateMachine.js";
3
- import { companyEvents as n, componentEvents as d } from "../../../shared/constants.js";
4
- const e = (o, t, N, T) => {
5
- console.log(`[Locations State Machine] ${o} -> ${t} (${N})`, T);
6
- }, a = (o, t) => {
7
- console.log(`[Locations State Machine] Event: ${o}`, t);
8
- }, E = i(
9
- d.CANCEL,
1
+ import { state as c, transition as n, reduce as t } from "robot3";
2
+ import { LocationsListContextual as a, LocationFormContextual as e } from "./locationsStateMachine.js";
3
+ import { companyEvents as i, componentEvents as A } from "../../../shared/constants.js";
4
+ const d = n(
5
+ A.CANCEL,
10
6
  "index",
11
- A((o) => (e("current", "index", d.CANCEL), {
7
+ t((o) => ({
12
8
  ...o,
13
- component: C,
9
+ component: a,
14
10
  locationId: void 0
15
11
  }))
16
- ), L = {
12
+ ), O = {
17
13
  index: c(
18
- i(
19
- n.COMPANY_LOCATION_EDIT,
14
+ n(
15
+ i.COMPANY_LOCATION_EDIT,
20
16
  "locationEdit",
21
- A(
22
- (o, t) => (a(n.COMPANY_LOCATION_EDIT, t.payload), e("index", "locationEdit", n.COMPANY_LOCATION_EDIT, t.payload), {
17
+ t(
18
+ (o, m) => ({
23
19
  ...o,
24
- component: O,
25
- locationId: t.payload.uuid
20
+ component: e,
21
+ locationId: m.payload.uuid
26
22
  })
27
23
  )
28
24
  ),
29
- i(
30
- n.COMPANY_LOCATION_CREATE,
25
+ n(
26
+ i.COMPANY_LOCATION_CREATE,
31
27
  "locationAdd",
32
- A((o) => (a(n.COMPANY_LOCATION_CREATE), e("index", "locationAdd", n.COMPANY_LOCATION_CREATE), {
33
- ...o,
34
- component: O
35
- }))
28
+ t(
29
+ (o) => ({
30
+ ...o,
31
+ component: e
32
+ })
33
+ )
36
34
  )
37
35
  ),
38
36
  locationAdd: c(
39
- i(
40
- n.COMPANY_LOCATION_CREATED,
37
+ n(
38
+ i.COMPANY_LOCATION_CREATED,
41
39
  "index",
42
- A((o) => (a(n.COMPANY_LOCATION_CREATED), e("locationAdd", "index", n.COMPANY_LOCATION_CREATED), { ...o, component: C }))
40
+ t((o) => ({ ...o, component: a }))
43
41
  ),
44
- E
42
+ d
45
43
  ),
46
44
  locationEdit: c(
47
- i(
48
- n.COMPANY_LOCATION_UPDATED,
45
+ n(
46
+ i.COMPANY_LOCATION_UPDATED,
49
47
  "index",
50
- A((o) => (a(n.COMPANY_LOCATION_UPDATED), e("locationEdit", "index", n.COMPANY_LOCATION_UPDATED), {
48
+ t((o) => ({
51
49
  ...o,
52
- component: C,
50
+ component: a,
53
51
  locationId: void 0
54
52
  }))
55
53
  ),
56
- E
54
+ d
57
55
  )
58
56
  };
59
57
  export {
60
- E as cancelTransition,
61
- L as locationsStateMachine
58
+ d as cancelTransition,
59
+ O as locationsStateMachine
62
60
  };
63
61
  //# sourceMappingURL=stateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stateMachine.js","sources":["../../../../src/components/Company/Locations/stateMachine.ts"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { LocationsContextInterface, EventPayloads } from './locationsStateMachine'\nimport { LocationFormContextual, LocationsListContextual } from './locationsStateMachine'\nimport { companyEvents, componentEvents } from '@/shared/constants'\nimport type { MachineEventType } from '@/types/Helpers'\n\n// Helper function to log state transitions\nconst logTransition = (fromState: string, toState: string, event: string, payload?: unknown) => {\n // eslint-disable-next-line no-console\n console.log(`[Locations State Machine] ${fromState} -> ${toState} (${event})`, payload)\n}\n\n// Helper function to log event received\nconst logEvent = (event: string, payload?: unknown) => {\n // eslint-disable-next-line no-console\n console.log(`[Locations State Machine] Event: ${event}`, payload)\n}\n\nexport const cancelTransition = transition(\n componentEvents.CANCEL,\n 'index',\n reduce((ctx: LocationsContextInterface) => {\n logTransition('current', 'index', componentEvents.CANCEL)\n return {\n ...ctx,\n component: LocationsListContextual,\n locationId: undefined,\n }\n }),\n)\n\nexport const locationsStateMachine = {\n index: state(\n transition(\n companyEvents.COMPANY_LOCATION_EDIT,\n 'locationEdit',\n reduce(\n (\n ctx: LocationsContextInterface,\n ev: MachineEventType<EventPayloads, typeof companyEvents.COMPANY_LOCATION_EDIT>,\n ): LocationsContextInterface => {\n logEvent(companyEvents.COMPANY_LOCATION_EDIT, ev.payload)\n logTransition('index', 'locationEdit', companyEvents.COMPANY_LOCATION_EDIT, ev.payload)\n return {\n ...ctx,\n component: LocationFormContextual,\n locationId: ev.payload.uuid,\n }\n },\n ),\n ),\n transition(\n companyEvents.COMPANY_LOCATION_CREATE,\n 'locationAdd',\n reduce((ctx: LocationsContextInterface): LocationsContextInterface => {\n logEvent(companyEvents.COMPANY_LOCATION_CREATE)\n logTransition('index', 'locationAdd', companyEvents.COMPANY_LOCATION_CREATE)\n return {\n ...ctx,\n component: LocationFormContextual,\n }\n }),\n ),\n ),\n locationAdd: state(\n transition(\n companyEvents.COMPANY_LOCATION_CREATED,\n 'index',\n reduce((ctx: LocationsContextInterface) => {\n logEvent(companyEvents.COMPANY_LOCATION_CREATED)\n logTransition('locationAdd', 'index', companyEvents.COMPANY_LOCATION_CREATED)\n return { ...ctx, component: LocationsListContextual }\n }),\n ),\n cancelTransition,\n ),\n locationEdit: state(\n transition(\n companyEvents.COMPANY_LOCATION_UPDATED,\n 'index',\n reduce((ctx: LocationsContextInterface) => {\n logEvent(companyEvents.COMPANY_LOCATION_UPDATED)\n logTransition('locationEdit', 'index', companyEvents.COMPANY_LOCATION_UPDATED)\n return {\n ...ctx,\n component: LocationsListContextual,\n locationId: undefined,\n }\n }),\n ),\n cancelTransition,\n ),\n}\n"],"names":["logTransition","fromState","toState","event","payload","logEvent","cancelTransition","transition","componentEvents","reduce","ctx","LocationsListContextual","locationsStateMachine","state","companyEvents","ev","LocationFormContextual"],"mappings":";;;AAOA,MAAMA,IAAgB,CAACC,GAAmBC,GAAiBC,GAAeC,MAAsB;AAEtF,UAAA,IAAI,6BAA6BH,CAAS,OAAOC,CAAO,KAAKC,CAAK,KAAKC,CAAO;AACxF,GAGMC,IAAW,CAACF,GAAeC,MAAsB;AAErD,UAAQ,IAAI,oCAAoCD,CAAK,IAAIC,CAAO;AAClE,GAEaE,IAAmBC;AAAA,EAC9BC,EAAgB;AAAA,EAChB;AAAA,EACAC,EAAO,CAACC,OACQV,EAAA,WAAW,SAASQ,EAAgB,MAAM,GACjD;AAAA,IACL,GAAGE;AAAA,IACH,WAAWC;AAAA,IACX,YAAY;AAAA,EACd,EACD;AACH,GAEaC,IAAwB;AAAA,EACnC,OAAOC;AAAA,IACLN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL;AAAA,QACE,CACEC,GACAK,OAESV,EAAAS,EAAc,uBAAuBC,EAAG,OAAO,GACxDf,EAAc,SAAS,gBAAgBc,EAAc,uBAAuBC,EAAG,OAAO,GAC/E;AAAA,UACL,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,YAAYD,EAAG,QAAQ;AAAA,QACzB;AAAA,MACF;AAAA,IAEJ;AAAA,IACAR;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL,EAAO,CAACC,OACNL,EAASS,EAAc,uBAAuB,GAChCd,EAAA,SAAS,eAAec,EAAc,uBAAuB,GACpE;AAAA,QACL,GAAGJ;AAAA,QACH,WAAWM;AAAA,MACb,EACD;AAAA,IAAA;AAAA,EAEL;AAAA,EACA,aAAaH;AAAA,IACXN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL,EAAO,CAACC,OACNL,EAASS,EAAc,wBAAwB,GACjCd,EAAA,eAAe,SAASc,EAAc,wBAAwB,GACrE,EAAE,GAAGJ,GAAK,WAAWC,EAAwB,EACrD;AAAA,IACH;AAAA,IACAL;AAAA,EACF;AAAA,EACA,cAAcO;AAAA,IACZN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL,EAAO,CAACC,OACNL,EAASS,EAAc,wBAAwB,GACjCd,EAAA,gBAAgB,SAASc,EAAc,wBAAwB,GACtE;AAAA,QACL,GAAGJ;AAAA,QACH,WAAWC;AAAA,QACX,YAAY;AAAA,MACd,EACD;AAAA,IACH;AAAA,IACAL;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"stateMachine.js","sources":["../../../../src/components/Company/Locations/stateMachine.ts"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { LocationsContextInterface, EventPayloads } from './locationsStateMachine'\nimport { LocationFormContextual, LocationsListContextual } from './locationsStateMachine'\nimport { companyEvents, componentEvents } from '@/shared/constants'\nimport type { MachineEventType } from '@/types/Helpers'\n\nexport const cancelTransition = transition(\n componentEvents.CANCEL,\n 'index',\n reduce((ctx: LocationsContextInterface) => ({\n ...ctx,\n component: LocationsListContextual,\n locationId: undefined,\n })),\n)\n\nexport const locationsStateMachine = {\n index: state(\n transition(\n companyEvents.COMPANY_LOCATION_EDIT,\n 'locationEdit',\n reduce(\n (\n ctx: LocationsContextInterface,\n ev: MachineEventType<EventPayloads, typeof companyEvents.COMPANY_LOCATION_EDIT>,\n ): LocationsContextInterface => ({\n ...ctx,\n component: LocationFormContextual,\n locationId: ev.payload.uuid,\n }),\n ),\n ),\n transition(\n companyEvents.COMPANY_LOCATION_CREATE,\n 'locationAdd',\n reduce(\n (ctx: LocationsContextInterface): LocationsContextInterface => ({\n ...ctx,\n component: LocationFormContextual,\n }),\n ),\n ),\n ),\n locationAdd: state(\n transition(\n companyEvents.COMPANY_LOCATION_CREATED,\n 'index',\n reduce((ctx: LocationsContextInterface) => ({ ...ctx, component: LocationsListContextual })),\n ),\n cancelTransition,\n ),\n locationEdit: state(\n transition(\n companyEvents.COMPANY_LOCATION_UPDATED,\n 'index',\n reduce((ctx: LocationsContextInterface) => ({\n ...ctx,\n component: LocationsListContextual,\n locationId: undefined,\n })),\n ),\n cancelTransition,\n ),\n}\n"],"names":["cancelTransition","transition","componentEvents","reduce","ctx","LocationsListContextual","locationsStateMachine","state","companyEvents","ev","LocationFormContextual"],"mappings":";;;AAMO,MAAMA,IAAmBC;AAAA,EAC9BC,EAAgB;AAAA,EAChB;AAAA,EACAC,EAAO,CAACC,OAAoC;AAAA,IAC1C,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,YAAY;AAAA,EAAA,EACZ;AACJ,GAEaC,IAAwB;AAAA,EACnC,OAAOC;AAAA,IACLN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL;AAAA,QACE,CACEC,GACAK,OAC+B;AAAA,UAC/B,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,YAAYD,EAAG,QAAQ;AAAA,QACzB;AAAA,MAAA;AAAA,IAEJ;AAAA,IACAR;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL;AAAA,QACE,CAACC,OAA+D;AAAA,UAC9D,GAAGA;AAAA,UACH,WAAWM;AAAA,QACb;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ;AAAA,EACA,aAAaH;AAAA,IACXN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL,EAAO,CAACC,OAAoC,EAAE,GAAGA,GAAK,WAAWC,IAA0B;AAAA,IAC7F;AAAA,IACAL;AAAA,EACF;AAAA,EACA,cAAcO;AAAA,IACZN;AAAA,MACEO,EAAc;AAAA,MACd;AAAA,MACAL,EAAO,CAACC,OAAoC;AAAA,QAC1C,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,YAAY;AAAA,MAAA,EACZ;AAAA,IACJ;AAAA,IACAL;AAAA,EAAA;AAEJ;"}
@@ -1,85 +1,82 @@
1
- import { jsx as t, jsxs as m, Fragment as p } from "react/jsx-runtime";
2
- import { useTranslation as c } from "react-i18next";
3
- import { useContractors as u } from "./useContractorList.js";
4
- import { Flex as C } from "../../Common/Flex/Flex.js";
1
+ import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
+ import { useTranslation as s } from "react-i18next";
3
+ import { useContractors as d } from "./useContractorList.js";
4
+ import { Flex as u } from "../../Common/Flex/Flex.js";
5
+ import { Grid as f } from "../../Common/Grid/Grid.js";
5
6
  import "classnames";
6
- import { EmptyData as f } from "../../Common/EmptyData/EmptyData.js";
7
- import { firstLastName as h } from "../../../helpers/formattedStrings.js";
8
- import { HamburgerMenu as L } from "../../Common/HamburgerMenu/HamburgerMenu.js";
9
- import g from "../../../assets/icons/pencil.svg.js";
10
- import { useComponentContext as l } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
+ import { EmptyData as C } from "../../Common/EmptyData/EmptyData.js";
8
+ import { ActionsLayout as L } from "../../Common/ActionsLayout/ActionsLayout.js";
9
+ import { firstLastName as g } from "../../../helpers/formattedStrings.js";
10
+ import { HamburgerMenu as h } from "../../Common/HamburgerMenu/HamburgerMenu.js";
11
+ import y from "../../../assets/icons/pencil.svg.js";
12
+ import { useComponentContext as m } from "../../../contexts/ComponentAdapter/useComponentContext.js";
11
13
  import { ContractorOnboardingStatusBadge as b } from "../../Common/OnboardingStatusBadge/index.js";
12
14
  import { useI18n as T } from "../../../i18n/I18n.js";
13
- import { useDataView as y } from "../../Common/DataView/useDataView.js";
15
+ import { useDataView as A } from "../../Common/DataView/useDataView.js";
14
16
  import { DataView as x } from "../../Common/DataView/DataView.js";
15
- function A({ count: o, handleAdd: n }) {
16
- const { Badge: r, Button: i, Heading: e } = l(), { t: a } = c("Contractor.ContractorList");
17
- return /* @__PURE__ */ m(C, { children: [
18
- /* @__PURE__ */ t(e, { as: "h2", children: a("title") }),
19
- /* @__PURE__ */ t(r, { children: o }),
20
- o !== 0 && /* @__PURE__ */ t(i, { variant: "secondary", onClick: n, children: a("addAnotherCTA") })
17
+ function D({ count: e, handleAdd: o }) {
18
+ const { Button: r, Heading: i } = m(), { t: n } = s("Contractor.ContractorList");
19
+ return /* @__PURE__ */ c(u, { alignItems: "center", justifyContent: "space-between", children: [
20
+ /* @__PURE__ */ t(i, { as: "h2", children: n("title") }),
21
+ e !== 0 && /* @__PURE__ */ t(r, { variant: "secondary", onClick: o, children: n("addAnotherCTA") })
21
22
  ] });
22
23
  }
23
- function D({ handleAdd: o }) {
24
- const { Button: n } = l(), { t: r } = c("Contractor.ContractorList");
25
- return /* @__PURE__ */ m(f, { children: [
26
- /* @__PURE__ */ t("h1", { children: r("emptyTableTitle") }),
27
- r("emptyTableDescription"),
28
- /* @__PURE__ */ t(n, { onClick: o, children: r("addContractorCTA") })
29
- ] });
24
+ function H({ handleAdd: e }) {
25
+ const { Button: o } = m(), { t: r } = s("Contractor.ContractorList");
26
+ return /* @__PURE__ */ t(C, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(L, { justifyContent: "center", children: /* @__PURE__ */ t(o, { onClick: e, children: r("addContractorCTA") }) }) });
30
27
  }
31
- function H({
32
- contractors: o,
33
- handleAdd: n,
28
+ function j({
29
+ contractors: e,
30
+ handleAdd: o,
34
31
  handleEdit: r,
35
32
  totalCount: i
36
33
  }) {
37
34
  T("Contractor.ContractorList");
38
- const { t: e } = c("Contractor.ContractorList"), a = y({
35
+ const { t: n } = s("Contractor.ContractorList"), l = A({
39
36
  columns: [
40
37
  {
41
- title: e("listHeaders.name"),
42
- render: (s) => h({ first_name: s.firstName, last_name: s.lastName })
38
+ title: n("listHeaders.name"),
39
+ render: (a) => g({ first_name: a.firstName, last_name: a.lastName })
43
40
  },
44
41
  {
45
- title: e("listHeaders.status"),
46
- render: ({ onboarded: s, onboardingStatus: d }) => /* @__PURE__ */ t(
42
+ title: n("listHeaders.status"),
43
+ render: ({ onboarded: a, onboardingStatus: p }) => /* @__PURE__ */ t(
47
44
  b,
48
45
  {
49
- onboarded: s,
50
- onboardingStatus: d
46
+ onboarded: a,
47
+ onboardingStatus: p
51
48
  }
52
49
  )
53
50
  }
54
51
  ],
55
- data: o,
52
+ data: e,
56
53
  itemMenu: () => /* @__PURE__ */ t(
57
- L,
54
+ h,
58
55
  {
59
- items: [{ label: e("editCTA"), icon: /* @__PURE__ */ t(g, { "aria-hidden": !0 }), onClick: r }],
60
- triggerLabel: e("editCTA"),
56
+ items: [{ label: n("editCTA"), icon: /* @__PURE__ */ t(y, { "aria-hidden": !0 }), onClick: r }],
57
+ triggerLabel: n("editCTA"),
61
58
  isLoading: !1
62
59
  }
63
60
  ),
64
- emptyState: () => /* @__PURE__ */ t(D, { handleAdd: n })
61
+ emptyState: () => /* @__PURE__ */ t(H, { handleAdd: o })
65
62
  });
66
- return /* @__PURE__ */ m(p, { children: [
67
- /* @__PURE__ */ t(A, { count: i, handleAdd: n }),
68
- /* @__PURE__ */ t(x, { label: e("contractorListLabel"), ...a })
63
+ return /* @__PURE__ */ c(f, { gap: 20, children: [
64
+ /* @__PURE__ */ t(D, { count: i, handleAdd: o }),
65
+ /* @__PURE__ */ t(x, { label: n("contractorListLabel"), ...l })
69
66
  ] });
70
67
  }
71
- function O({
72
- companyId: o,
73
- handleAdd: n,
68
+ function W({
69
+ companyId: e,
70
+ handleAdd: o,
74
71
  handleEdit: r
75
72
  }) {
76
- const i = u({ companyUuid: o, handleAdd: n });
77
- return /* @__PURE__ */ t(H, { handleEdit: r, ...i });
73
+ const i = d({ companyUuid: e, handleAdd: o });
74
+ return /* @__PURE__ */ t(j, { handleEdit: r, ...i });
78
75
  }
79
76
  export {
80
- H as ContractorList,
81
- O as ContractorListWithApi,
82
- D as EmptyDataContractorsList,
83
- A as Head
77
+ j as ContractorList,
78
+ W as ContractorListWithApi,
79
+ H as EmptyDataContractorsList,
80
+ D as Head
84
81
  };
85
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/List/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractors } from './useContractorList'\nimport { DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\n\nexport type ContractorListDisplay = Pick<\n Contractor,\n 'onboardingStatus' | 'firstName' | 'lastName' | 'onboarded'\n>\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Badge, Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Badge>{count}</Badge>\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCTA')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData>\n <h1>{t('emptyTableTitle')}</h1>\n {t('emptyTableDescription')}\n <Button onClick={handleAdd}>{t('addContractorCTA')}</Button>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps {\n contractors: ContractorListDisplay[]\n handleAdd: () => void\n handleEdit: () => void\n totalCount: number\n}\n\nexport function ContractorList({\n contractors,\n handleAdd,\n handleEdit,\n totalCount,\n}: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n\n const dataViewProps = useDataView<ContractorListDisplay>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: () => (\n <HamburgerMenu\n items={[{ label: t('editCTA'), icon: <PencilSvg aria-hidden />, onClick: handleEdit }]}\n triggerLabel={t('editCTA')}\n isLoading={false}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n })\n\n return (\n <>\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n </>\n )\n}\n\nexport interface ContractorListWithApiProps {\n companyId: string\n handleAdd: () => void\n handleEdit: () => void\n}\n\nexport function ContractorListWithApi({\n companyId,\n handleAdd,\n handleEdit,\n}: ContractorListWithApiProps) {\n const contractorProps = useContractors({ companyUuid: companyId, handleAdd })\n\n return <ContractorList handleEdit={handleEdit} {...contractorProps} />\n}\n"],"names":["Head","count","handleAdd","Badge","Button","Heading","useComponentContext","t","useTranslation","Flex","jsx","EmptyDataContractorsList","EmptyData","ContractorList","contractors","handleEdit","totalCount","useI18n","dataViewProps","useDataView","contractor","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","jsxs","Fragment","DataView","ContractorListWithApi","companyId","contractorProps","useContractors"],"mappings":";;;;;;;;;;;;;;AAoBO,SAASA,EAAK,EAAE,OAAAC,GAAO,WAAAC,KAAwB;AACpD,QAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,SAAAC,EAAA,IAAYC,EAAoB,GACjD,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AAExD,2BACGC,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACL,GAAQ,EAAA,IAAG,MAAM,UAAAE,EAAE,OAAO,GAAE;AAAA,IAC7B,gBAAAG,EAACP,KAAO,UAAMF,EAAA,CAAA;AAAA,IACbA,MAAU,KACT,gBAAAS,EAACN,GAAO,EAAA,SAAQ,aAAY,SAASF,GAClC,UAAEK,EAAA,eAAe,EACpB,CAAA;AAAA,EAAA,GAEJ;AAEJ;AAKgB,SAAAI,EAAyB,EAAE,WAAAT,KAA4C;AAC/E,QAAA,EAAE,QAAAE,EAAO,IAAIE,EAAoB,GACjC,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AAExD,2BACGI,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAF,EAAA,MAAA,EAAI,UAAEH,EAAA,iBAAiB,EAAE,CAAA;AAAA,IACzBA,EAAE,uBAAuB;AAAA,sBACzBH,GAAO,EAAA,SAASF,GAAY,UAAAK,EAAE,kBAAkB,EAAE,CAAA;AAAA,EAAA,GACrD;AAEJ;AASO,SAASM,EAAe;AAAA,EAC7B,aAAAC;AAAA,EACA,WAAAZ;AAAA,EACA,YAAAa;AAAA,EACA,YAAAC;AACF,GAAwB;AACtB,EAAAC,EAAQ,2BAA2B;AACnC,QAAM,EAAE,GAAAV,EAAA,IAAMC,EAAe,2BAA2B,GAElDU,IAAgBC,EAAmC;AAAA,IACvD,SAAS;AAAA,MACP;AAAA,QACE,OAAOZ,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CACNa,MAAAC,EAAc,EAAE,YAAYD,EAAW,WAAW,WAAWA,EAAW,SAAU,CAAA;AAAA,MACtF;AAAA,MACA;AAAA,QACE,OAAOb,EAAE,oBAAoB;AAAA,QAC7B,QAAQ,CAAC,EAAE,WAAAe,GAAW,kBAAAC,EACpB,MAAA,gBAAAb;AAAA,UAACc;AAAA,UAAA;AAAA,YACC,WAAAF;AAAA,YACA,kBAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAGN;AAAA,IACA,MAAMT;AAAA,IACN,UAAU,MACR,gBAAAJ;AAAA,MAACe;AAAA,MAAA;AAAA,QACC,OAAO,CAAC,EAAE,OAAOlB,EAAE,SAAS,GAAG,MAAM,gBAAAG,EAACgB,KAAU,eAAW,GAAA,CAAC,GAAI,SAASX,GAAY;AAAA,QACrF,cAAcR,EAAE,SAAS;AAAA,QACzB,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,YAAY,MAAO,gBAAAG,EAAAC,GAAA,EAAyB,WAAAT,EAAsB,CAAA;AAAA,EAAA,CACnE;AAED,SAEI,gBAAAyB,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAlB,EAAAV,GAAA,EAAK,OAAOgB,GAAY,WAAAd,EAAsB,CAAA;AAAA,sBAC9C2B,GAAS,EAAA,OAAOtB,EAAE,qBAAqB,GAAI,GAAGW,EAAe,CAAA;AAAA,EAAA,GAChE;AAEJ;AAQO,SAASY,EAAsB;AAAA,EACpC,WAAAC;AAAA,EACA,WAAA7B;AAAA,EACA,YAAAa;AACF,GAA+B;AAC7B,QAAMiB,IAAkBC,EAAe,EAAE,aAAaF,GAAW,WAAA7B,GAAW;AAE5E,SAAQ,gBAAAQ,EAAAG,GAAA,EAAe,YAAAE,GAAyB,GAAGiB,EAAiB,CAAA;AACtE;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/List/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, Grid, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\n\nexport type ContractorListDisplay = Pick<\n Contractor,\n 'onboardingStatus' | 'firstName' | 'lastName' | 'onboarded'\n>\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCTA')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCTA')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps {\n contractors: ContractorListDisplay[]\n handleAdd: () => void\n handleEdit: () => void\n totalCount: number\n}\n\nexport function ContractorList({\n contractors,\n handleAdd,\n handleEdit,\n totalCount,\n}: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n\n const dataViewProps = useDataView<ContractorListDisplay>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: () => (\n <HamburgerMenu\n items={[{ label: t('editCTA'), icon: <PencilSvg aria-hidden />, onClick: handleEdit }]}\n triggerLabel={t('editCTA')}\n isLoading={false}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n })\n\n return (\n <Grid gap={20}>\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n </Grid>\n )\n}\n\nexport interface ContractorListWithApiProps {\n companyId: string\n handleAdd: () => void\n handleEdit: () => void\n}\n\nexport function ContractorListWithApi({\n companyId,\n handleAdd,\n handleEdit,\n}: ContractorListWithApiProps) {\n const contractorProps = useContractors({ companyUuid: companyId, handleAdd })\n\n return <ContractorList handleEdit={handleEdit} {...contractorProps} />\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","contractors","handleEdit","totalCount","useI18n","dataViewProps","useDataView","contractor","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","Grid","DataView","ContractorListWithApi","companyId","contractorProps","useContractors"],"mappings":";;;;;;;;;;;;;;;;AAoBO,SAASA,EAAK,EAAE,OAAAC,GAAO,WAAAC,KAAwB;AACpD,QAAM,EAAE,QAAAC,GAAQ,SAAAC,EAAQ,IAAIC,EAAoB,GAC1C,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AAExD,SACG,gBAAAC,EAAAC,GAAA,EAAK,YAAW,UAAS,gBAAe,iBACvC,UAAA;AAAA,IAAA,gBAAAC,EAACN,GAAQ,EAAA,IAAG,MAAM,UAAAE,EAAE,OAAO,GAAE;AAAA,IAE5BL,MAAU,KACT,gBAAAS,EAACP,GAAO,EAAA,SAAQ,aAAY,SAASD,GAClC,UAAEI,EAAA,eAAe,EACpB,CAAA;AAAA,EAAA,GAEJ;AAEJ;AAKgB,SAAAK,EAAyB,EAAE,WAAAT,KAA4C;AAC/E,QAAA,EAAE,QAAAC,EAAO,IAAIE,EAAoB,GACjC,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AAGtD,SAAA,gBAAAG,EAACE,KAAU,OAAON,EAAE,iBAAiB,GAAG,aAAaA,EAAE,uBAAuB,GAC5E,UAAA,gBAAAI,EAACG,KAAc,gBAAe,UAC5B,4BAACV,GAAO,EAAA,SAASD,GAAY,UAAEI,EAAA,kBAAkB,EAAE,CAAA,EAAA,CACrD,EACF,CAAA;AAEJ;AASO,SAASQ,EAAe;AAAA,EAC7B,aAAAC;AAAA,EACA,WAAAb;AAAA,EACA,YAAAc;AAAA,EACA,YAAAC;AACF,GAAwB;AACtB,EAAAC,EAAQ,2BAA2B;AACnC,QAAM,EAAE,GAAAZ,EAAA,IAAMC,EAAe,2BAA2B,GAElDY,IAAgBC,EAAmC;AAAA,IACvD,SAAS;AAAA,MACP;AAAA,QACE,OAAOd,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CACNe,MAAAC,EAAc,EAAE,YAAYD,EAAW,WAAW,WAAWA,EAAW,SAAU,CAAA;AAAA,MACtF;AAAA,MACA;AAAA,QACE,OAAOf,EAAE,oBAAoB;AAAA,QAC7B,QAAQ,CAAC,EAAE,WAAAiB,GAAW,kBAAAC,EACpB,MAAA,gBAAAd;AAAA,UAACe;AAAA,UAAA;AAAA,YACC,WAAAF;AAAA,YACA,kBAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAGN;AAAA,IACA,MAAMT;AAAA,IACN,UAAU,MACR,gBAAAL;AAAA,MAACgB;AAAA,MAAA;AAAA,QACC,OAAO,CAAC,EAAE,OAAOpB,EAAE,SAAS,GAAG,MAAM,gBAAAI,EAACiB,KAAU,eAAW,GAAA,CAAC,GAAI,SAASX,GAAY;AAAA,QACrF,cAAcV,EAAE,SAAS;AAAA,QACzB,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,YAAY,MAAO,gBAAAI,EAAAC,GAAA,EAAyB,WAAAT,EAAsB,CAAA;AAAA,EAAA,CACnE;AAGC,SAAA,gBAAAM,EAACoB,GAAK,EAAA,KAAK,IACT,UAAA;AAAA,IAAC,gBAAAlB,EAAAV,GAAA,EAAK,OAAOiB,GAAY,WAAAf,EAAsB,CAAA;AAAA,sBAC9C2B,GAAS,EAAA,OAAOvB,EAAE,qBAAqB,GAAI,GAAGa,EAAe,CAAA;AAAA,EAAA,GAChE;AAEJ;AAQO,SAASW,EAAsB;AAAA,EACpC,WAAAC;AAAA,EACA,WAAA7B;AAAA,EACA,YAAAc;AACF,GAA+B;AAC7B,QAAMgB,IAAkBC,EAAe,EAAE,aAAaF,GAAW,WAAA7B,GAAW;AAE5E,SAAQ,gBAAAQ,EAAAI,GAAA,EAAe,YAAAE,GAAyB,GAAGgB,EAAiB,CAAA;AACtE;"}
@@ -17,7 +17,7 @@ const e = "Company addresses", s = "To automate your payroll filings, we need to
17
17
  emptyTableTitle: r,
18
18
  emptyTableDescription: c,
19
19
  addLocationCta: p,
20
- addFirstLicationCta: m,
20
+ addFirstLocationCta: m,
21
21
  locationFormTitle: y,
22
22
  locationFormDescription: L,
23
23
  street1Label: h,
@@ -38,7 +38,7 @@ const e = "Company addresses", s = "To automate your payroll filings, we need to
38
38
  validations: z
39
39
  };
40
40
  export {
41
- m as addFirstLicationCta,
41
+ m as addFirstLocationCta,
42
42
  p as addLocationCta,
43
43
  T as addressTypeLabel,
44
44
  S as cancelCta,
@@ -192,7 +192,7 @@ export interface CompanyLocations{
192
192
  "emptyTableTitle":string;
193
193
  "emptyTableDescription":string;
194
194
  "addLocationCta":string;
195
- "addFirstLicationCta":string;
195
+ "addFirstLocationCta":string;
196
196
  "locationFormTitle":string;
197
197
  "locationFormDescription":string;
198
198
  "street1Label":string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gusto/embedded-react-sdk",
3
- "version": "0.10.2-rc.3",
3
+ "version": "0.10.3-rc.1",
4
4
  "homepage": "https://github.com/Gusto/embedded-react-sdk",
5
5
  "bugs": {
6
6
  "url": "https://github.com/Gusto/embedded-react-sdk/issues"
@@ -39,7 +39,10 @@
39
39
  "dev": "node ./build/prompt.js && npm run i18n:generate && npm-run-all --parallel watch:vite watch:translations ladle",
40
40
  "dev:setup": "npm link ../gws-flows/node_modules/react && (cd ../gws-flows && yarn link -r ../embedded-react-sdk)",
41
41
  "docs": "npx tsx ./build/eventTypeDocsEmitter.ts",
42
+ "docs:frontmatter": "npx tsx .docs/src/frontmatter/frontmatterSync.ts",
42
43
  "docs:lockfile": "npx tsx .docs/src/lockfile/lockfileGenerator.ts",
44
+ "docs:prepare-publish": "npx tsx .docs/src/publishing/preparePublishDocs.ts",
45
+ "docs:clean-publish": "rm -rf .docs/temp-publish-docs",
43
46
  "format": "prettier . --write --log-level error",
44
47
  "format:check": "prettier . --check --log-level error",
45
48
  "ladle": "ladle serve",