@gusto/embedded-react-sdk 0.10.7-rc.2 → 0.11.0-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.
Files changed (135) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/Common/HamburgerMenu/HamburgerMenu.js +20 -19
  3. package/dist/components/Common/HamburgerMenu/HamburgerMenu.js.map +1 -1
  4. package/dist/components/Common/ReorderableList/ReorderableItem.js +1 -1
  5. package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
  6. package/dist/components/Common/UI/Button/Button.d.ts +1 -1
  7. package/dist/components/Common/UI/Button/Button.js +4 -4
  8. package/dist/components/Common/UI/Button/Button.js.map +1 -1
  9. package/dist/components/Common/UI/Button/ButtonTypes.d.ts +1 -1
  10. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +0 -5
  11. package/dist/components/Company/AssignSignatory/AssignSignatory.js +39 -42
  12. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +0 -4
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +51 -53
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +0 -4
  17. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +40 -42
  18. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  19. package/dist/components/Company/AssignSignatory/index.d.ts +0 -1
  20. package/dist/components/Company/BankAccount/BankAccount.d.ts +0 -5
  21. package/dist/components/Company/BankAccount/BankAccount.js +17 -23
  22. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  23. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +0 -5
  24. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +28 -31
  25. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  26. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +0 -5
  27. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +25 -28
  28. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  29. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +0 -5
  30. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +33 -36
  31. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  32. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +0 -6
  33. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +37 -41
  34. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  35. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +0 -4
  36. package/dist/components/Company/DocumentSigner/DocumentSigner.js +23 -26
  37. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  38. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -6
  39. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +40 -44
  40. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  41. package/dist/components/Company/Industry/Industry.d.ts +0 -5
  42. package/dist/components/Company/Industry/Industry.js +23 -29
  43. package/dist/components/Company/Industry/Industry.js.map +1 -1
  44. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +0 -5
  45. package/dist/components/Company/Locations/LocationForm/LocationForm.js +41 -44
  46. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  47. package/dist/components/Company/Locations/Locations.d.ts +0 -4
  48. package/dist/components/Company/Locations/Locations.js +14 -18
  49. package/dist/components/Company/Locations/Locations.js.map +1 -1
  50. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +0 -5
  51. package/dist/components/Company/Locations/LocationsList/LocationsList.js +28 -31
  52. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  53. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +1 -7
  54. package/dist/components/Company/PaySchedule/PaySchedule.js +67 -71
  55. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  56. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +0 -4
  57. package/dist/components/Company/StateTaxes/StateTaxes.js +39 -22
  58. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  59. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +8 -6
  60. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +16 -15
  61. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  62. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +0 -5
  63. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +44 -47
  64. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  65. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +0 -5
  66. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -29
  67. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  68. package/dist/components/Company/StateTaxes/stateTaxesReducer.d.ts +20 -0
  69. package/dist/components/Company/StateTaxes/stateTaxesReducer.js +40 -0
  70. package/dist/components/Company/StateTaxes/stateTaxesReducer.js.map +1 -0
  71. package/dist/components/Contractor/Address/Address.d.ts +0 -5
  72. package/dist/components/Contractor/Address/Address.js +35 -38
  73. package/dist/components/Contractor/Address/Address.js.map +1 -1
  74. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +11 -0
  75. package/dist/components/Contractor/Profile/ContractorProfile.js +24 -0
  76. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -0
  77. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +5 -0
  78. package/dist/components/Contractor/Profile/ContractorProfileForm.js +140 -0
  79. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -0
  80. package/dist/components/Contractor/Profile/index.d.ts +3 -0
  81. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +254 -0
  82. package/dist/components/Contractor/Profile/useContractorProfile.js +223 -0
  83. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -0
  84. package/dist/components/Contractor/Submit/ContractorSubmitWithApi.d.ts +6 -0
  85. package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js +27 -0
  86. package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js.map +1 -0
  87. package/dist/components/Contractor/Submit/SubmitDone.d.ts +5 -0
  88. package/dist/components/Contractor/Submit/SubmitDone.js +18 -0
  89. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -0
  90. package/dist/components/Contractor/Submit/index.d.ts +6 -0
  91. package/dist/components/Contractor/Submit/index.js +18 -0
  92. package/dist/components/Contractor/Submit/index.js.map +1 -0
  93. package/dist/components/Contractor/Submit/index.module.scss.js +8 -0
  94. package/dist/components/Contractor/Submit/index.module.scss.js.map +1 -0
  95. package/dist/components/Contractor/index.d.ts +2 -0
  96. package/dist/components/Contractor/index.js +10 -6
  97. package/dist/components/Contractor/index.js.map +1 -1
  98. package/dist/components/Employee/Compensation/Compensation.d.ts +0 -6
  99. package/dist/components/Employee/Compensation/Compensation.js +97 -102
  100. package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
  101. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.d.ts +0 -5
  102. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +25 -28
  103. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  104. package/dist/components/Employee/DocumentSigner/DocumentSigner.d.ts +1 -7
  105. package/dist/components/Employee/DocumentSigner/DocumentSigner.js +16 -20
  106. package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +1 -1
  107. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -7
  108. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +40 -44
  109. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  110. package/dist/components/Employee/EmployeeList/EmployeeList.d.ts +0 -5
  111. package/dist/components/Employee/EmployeeList/EmployeeList.js +56 -59
  112. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  113. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +3 -3
  114. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  115. package/dist/components/Employee/Profile/Profile.d.ts +0 -8
  116. package/dist/components/Employee/Profile/Profile.js +131 -138
  117. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  118. package/dist/components/Employee/Taxes/Taxes.d.ts +0 -6
  119. package/dist/components/Employee/Taxes/Taxes.js +76 -81
  120. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  121. package/dist/i18n/I18n.js +1 -1
  122. package/dist/i18n/I18n.js.map +1 -1
  123. package/dist/i18n/en/Contractor.ContractorSubmit.json.js +22 -0
  124. package/dist/i18n/en/Contractor.ContractorSubmit.json.js.map +1 -0
  125. package/dist/i18n/en/Contractor.Profile.json.js +73 -0
  126. package/dist/i18n/en/Contractor.Profile.json.js.map +1 -0
  127. package/dist/shared/constants.d.ts +14 -0
  128. package/dist/shared/constants.js +33 -26
  129. package/dist/shared/constants.js.map +1 -1
  130. package/dist/style.css +1 -1
  131. package/dist/types/i18next.d.ts +77 -1
  132. package/package.json +2 -2
  133. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +0 -5
  134. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +0 -48
  135. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.0
4
+
5
+ - Update peer dependencies to support React 18
6
+ - Add contractor submit block
7
+ - Add contractor profile
8
+
9
+ ### Breaking changes
10
+
11
+ > Note: We are pre alpha and are regularly iterating on the SDK as we learn more about our consumers and their needs which sometimes involves breaking changes. [Read more about our current versioning strategy here](./docs/04/01/versioning.md).
12
+
13
+ #### Remove exports for compound components
14
+
15
+ Previously we were exporting subcomponents such as `Employee.EmployeeList.Head` and `Employee.Compensation.Form` etc. We have removed those exports in favor of only exporting the blocks. Ex. only exporting `Employee.EmployeeList` and `Employee.Compensation` etc.
16
+
3
17
  ## 0.10.7
4
18
 
5
19
  - Upgrade embedded api to fix state taxes validation issue
@@ -1,40 +1,41 @@
1
- import { jsxs as p, Fragment as c, jsx as o } from "react/jsx-runtime";
2
- import { useTranslation as b } from "react-i18next";
3
- import { useComponentContext as f } from "../../../contexts/ComponentAdapter/useComponentContext.js";
4
- import g from "../../../assets/icons/hamburger.svg.js";
5
- import { useMenu as C } from "../hooks/useMenu.js";
6
- function H({
1
+ import { jsxs as f, Fragment as b, jsx as o } from "react/jsx-runtime";
2
+ import { useTranslation as g } from "react-i18next";
3
+ import { useComponentContext as C } from "../../../contexts/ComponentAdapter/useComponentContext.js";
4
+ import x from "../../../assets/icons/hamburger.svg.js";
5
+ import { useMenu as M } from "../hooks/useMenu.js";
6
+ function T({
7
7
  items: t,
8
- triggerLabel: m,
9
- menuLabel: s,
8
+ triggerLabel: s,
9
+ menuLabel: m,
10
10
  onClose: a,
11
11
  isLoading: l = !1,
12
12
  ...u
13
13
  }) {
14
- const { t: e } = b("common"), n = f(), { triggerProps: i, menuProps: r } = C();
15
- return /* @__PURE__ */ p(c, { children: [
14
+ const { t: e } = g("common"), r = C(), { triggerProps: i, menuProps: n } = M(), { ref: p, ...c } = i;
15
+ return /* @__PURE__ */ f(b, { children: [
16
16
  /* @__PURE__ */ o(
17
- n.ButtonIcon,
17
+ r.ButtonIcon,
18
18
  {
19
19
  isLoading: l,
20
- "aria-label": m || e("labels.openMenu"),
21
- ...i,
22
- children: /* @__PURE__ */ o(g, {})
20
+ "aria-label": s || e("labels.openMenu"),
21
+ buttonRef: p,
22
+ ...c,
23
+ children: /* @__PURE__ */ o(x, {})
23
24
  }
24
25
  ),
25
26
  /* @__PURE__ */ o(
26
- n.Menu,
27
+ r.Menu,
27
28
  {
28
- ...r,
29
+ ...n,
29
30
  items: t,
30
- "aria-label": s || e("labels.menuLabel"),
31
- onClose: a || r.onClose,
31
+ "aria-label": m || e("labels.menuLabel"),
32
+ onClose: a || n.onClose,
32
33
  ...u
33
34
  }
34
35
  )
35
36
  ] });
36
37
  }
37
38
  export {
38
- H as HamburgerMenu
39
+ T as HamburgerMenu
39
40
  };
40
41
  //# sourceMappingURL=HamburgerMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HamburgerMenu.js","sources":["../../../../src/components/Common/HamburgerMenu/HamburgerMenu.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { type HamburgerMenuProps } from './HamburgerMenuTypes'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport HamburgerIcon from '@/assets/icons/hamburger.svg?react'\nimport { useMenu } from '@/components/Common/hooks/useMenu'\n\nexport function HamburgerMenu({\n items,\n triggerLabel,\n menuLabel,\n onClose,\n isLoading = false,\n ...props\n}: HamburgerMenuProps) {\n const { t } = useTranslation('common')\n const Components = useComponentContext()\n const { triggerProps, menuProps } = useMenu()\n\n return (\n <>\n <Components.ButtonIcon\n isLoading={isLoading}\n aria-label={triggerLabel || t('labels.openMenu')}\n {...triggerProps}\n >\n <HamburgerIcon />\n </Components.ButtonIcon>\n <Components.Menu\n {...menuProps}\n items={items}\n aria-label={menuLabel || t('labels.menuLabel')}\n onClose={onClose || menuProps.onClose}\n {...props}\n />\n </>\n )\n}\n"],"names":["HamburgerMenu","items","triggerLabel","menuLabel","onClose","isLoading","props","t","useTranslation","Components","useComponentContext","triggerProps","menuProps","useMenu","jsxs","Fragment","jsx","HamburgerIcon"],"mappings":";;;;;AAMO,SAASA,EAAc;AAAA,EAC5B,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAuB;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,QAAQ,GAC/BC,IAAaC,EAAoB,GACjC,EAAE,cAAAC,GAAc,WAAAC,EAAU,IAAIC,EAAQ;AAE5C,SAEI,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACP,EAAW;AAAA,MAAX;AAAA,QACC,WAAAJ;AAAA,QACA,cAAYH,KAAgBK,EAAE,iBAAiB;AAAA,QAC9C,GAAGI;AAAA,QAEJ,4BAACM,GAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IACjB;AAAA,IACA,gBAAAD;AAAA,MAACP,EAAW;AAAA,MAAX;AAAA,QACE,GAAGG;AAAA,QACJ,OAAAX;AAAA,QACA,cAAYE,KAAaI,EAAE,kBAAkB;AAAA,QAC7C,SAASH,KAAWQ,EAAU;AAAA,QAC7B,GAAGN;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;"}
1
+ {"version":3,"file":"HamburgerMenu.js","sources":["../../../../src/components/Common/HamburgerMenu/HamburgerMenu.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { type HamburgerMenuProps } from './HamburgerMenuTypes'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport HamburgerIcon from '@/assets/icons/hamburger.svg?react'\nimport { useMenu } from '@/components/Common/hooks/useMenu'\n\nexport function HamburgerMenu({\n items,\n triggerLabel,\n menuLabel,\n onClose,\n isLoading = false,\n ...props\n}: HamburgerMenuProps) {\n const { t } = useTranslation('common')\n const Components = useComponentContext()\n const { triggerProps, menuProps } = useMenu()\n\n const { ref, ...restTriggerProps } = triggerProps\n\n return (\n <>\n <Components.ButtonIcon\n isLoading={isLoading}\n aria-label={triggerLabel || t('labels.openMenu')}\n buttonRef={ref}\n {...restTriggerProps}\n >\n <HamburgerIcon />\n </Components.ButtonIcon>\n <Components.Menu\n {...menuProps}\n items={items}\n aria-label={menuLabel || t('labels.menuLabel')}\n onClose={onClose || menuProps.onClose}\n {...props}\n />\n </>\n )\n}\n"],"names":["HamburgerMenu","items","triggerLabel","menuLabel","onClose","isLoading","props","t","useTranslation","Components","useComponentContext","triggerProps","menuProps","useMenu","ref","restTriggerProps","jsxs","Fragment","jsx","HamburgerIcon"],"mappings":";;;;;AAMO,SAASA,EAAc;AAAA,EAC5B,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAuB;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,QAAQ,GAC/BC,IAAaC,EAAoB,GACjC,EAAE,cAAAC,GAAc,WAAAC,EAAU,IAAIC,EAAQ,GAEtC,EAAE,KAAAC,GAAK,GAAGC,EAAA,IAAqBJ;AAErC,SAEI,gBAAAK,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACT,EAAW;AAAA,MAAX;AAAA,QACC,WAAAJ;AAAA,QACA,cAAYH,KAAgBK,EAAE,iBAAiB;AAAA,QAC/C,WAAWO;AAAA,QACV,GAAGC;AAAA,QAEJ,4BAACI,GAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IACjB;AAAA,IACA,gBAAAD;AAAA,MAACT,EAAW;AAAA,MAAX;AAAA,QACE,GAAGG;AAAA,QACJ,OAAAX;AAAA,QACA,cAAYE,KAAaI,EAAE,kBAAkB;AAAA,QAC7C,SAASH,KAAWQ,EAAU;AAAA,QAC7B,GAAGN;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;"}
@@ -122,7 +122,7 @@ const I = z(function({
122
122
  "aria-roledescription": f("reorderableList.draggableItem"),
123
123
  "aria-grabbed": b,
124
124
  onKeyDown: j,
125
- ref: (r) => {
125
+ buttonRef: (r) => {
126
126
  r && (l.current = r, P(r));
127
127
  },
128
128
  children: /* @__PURE__ */ o(Y, {})
@@ -1 +1 @@
1
- {"version":3,"file":"ReorderableItem.js","sources":["../../../../src/components/Common/ReorderableList/ReorderableItem.tsx"],"sourcesContent":["import { useRef, useEffect, useCallback, memo } from 'react'\nimport classnames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { useDrag } from 'react-dnd'\nimport type { ReactElement } from 'react'\nimport { VisuallyHidden } from '../VisuallyHidden'\nimport type { ReorderableListItem } from './ReorderableListTypes'\nimport styles from './ReorderableList.module.scss'\nimport { ITEM_TYPE } from './constants'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ninterface ReorderableItemProps {\n item: ReorderableListItem\n index: number\n moveItem: (fromIndex: number, toIndex: number, source?: 'keyboard' | 'dragdrop') => void\n itemCount: number\n itemIndex: number\n listId: string\n isDraggingAny: boolean\n setIsDragging: (isDragging: boolean) => void\n isReorderingActive: boolean\n setIsReorderingActive: (isReorderingActive: boolean) => void\n isCurrentlyReordering: boolean\n setReorderingItemIndex: (reorderingItemIndex: number | null) => void\n renderDragHandle?: (props: {\n id: string | number\n label: string\n isReordering: boolean\n isDragging: boolean\n }) => ReactElement\n className?: string\n}\n\n/**\n * Component for an individual reorderable item\n */\nexport const ReorderableItem = memo(function ReorderableItem({\n item,\n index,\n moveItem,\n itemCount,\n itemIndex,\n listId,\n isDraggingAny,\n setIsDragging,\n isReorderingActive,\n setIsReorderingActive,\n isCurrentlyReordering,\n setReorderingItemIndex,\n renderDragHandle,\n className,\n}: ReorderableItemProps) {\n const ref = useRef<HTMLDivElement>(null)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const { t } = useTranslation('common')\n const Components = useComponentContext()\n\n // Format the accessible item name\n const accessibleItemName = item.label\n\n // Add a ref to track if this specific item is being dragged\n const isBeingDraggedRef = useRef(false)\n\n // When this item becomes the reordering item, focus on it\n useEffect(() => {\n if (isCurrentlyReordering && buttonRef.current) {\n buttonRef.current.focus()\n }\n }, [isCurrentlyReordering])\n\n // React DnD - Drag source\n const [{ isDragging }, drag, dragPreview] = useDrag(\n () => ({\n type: ITEM_TYPE,\n item: () => {\n isBeingDraggedRef.current = true\n setIsDragging(true)\n return { index, listId }\n },\n collect: monitor => ({\n isDragging: !!monitor.isDragging(),\n }),\n end: () => {\n isBeingDraggedRef.current = false\n\n setIsDragging(false)\n\n if (buttonRef.current) {\n buttonRef.current.blur()\n }\n },\n canDrag: () => !isDraggingAny || isBeingDraggedRef.current,\n }),\n [index, listId, setIsDragging, isDraggingAny],\n )\n\n /**\n * Handles keyboard interactions for reordering\n */\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n let newReorderingState: boolean\n\n switch (e.key) {\n case 'ArrowUp':\n if (isReorderingActive && index > 0) {\n e.preventDefault()\n setReorderingItemIndex(index)\n moveItem(index, index - 1, 'keyboard')\n }\n break\n case 'ArrowDown':\n if (isReorderingActive && index < itemCount - 1) {\n e.preventDefault()\n setReorderingItemIndex(index)\n moveItem(index, index + 1, 'keyboard')\n }\n break\n case 'Escape':\n if (isReorderingActive) {\n e.preventDefault()\n setIsReorderingActive(false)\n setReorderingItemIndex(null)\n }\n break\n case 'Tab':\n if (isReorderingActive) {\n setIsReorderingActive(false)\n setReorderingItemIndex(null)\n }\n break\n case ' ':\n case 'Enter':\n e.preventDefault()\n newReorderingState = !isReorderingActive\n setIsReorderingActive(newReorderingState)\n\n if (newReorderingState) {\n setReorderingItemIndex(index)\n } else {\n setReorderingItemIndex(null)\n }\n break\n default:\n break\n }\n },\n [isReorderingActive, index, itemCount, setReorderingItemIndex, moveItem, setIsReorderingActive],\n )\n\n // Set up drag preview and drag source\n useEffect(() => {\n if (ref.current) {\n dragPreview(ref.current)\n }\n }, [dragPreview])\n\n const itemClasses = classnames(\n styles.reorderableItem,\n isDragging ? styles.dragging : '',\n isReorderingActive ? styles.reordering : '',\n className,\n )\n\n return (\n <div\n ref={ref}\n role=\"listitem\"\n aria-posinset={index + 1}\n aria-setsize={itemCount}\n className={itemClasses}\n data-position={index}\n data-item-index={itemIndex}\n data-list-id={listId}\n data-testid={`reorderable-item-${index}`}\n data-dragging={isDragging ? 'true' : 'false'}\n data-reordering={isReorderingActive ? 'true' : 'false'}\n >\n <VisuallyHidden>\n {t('reorderableList.draggablePosition', {\n item: accessibleItemName,\n position: String(index + 1),\n total: String(itemCount),\n })}\n </VisuallyHidden>\n <span className={styles.dragHandle}>\n {renderDragHandle ? (\n renderDragHandle({\n id: item.id || index,\n label: accessibleItemName,\n isReordering: isReorderingActive,\n isDragging: isDragging,\n })\n ) : (\n <Components.ButtonIcon\n data-index={index}\n data-item-index={itemIndex}\n data-reordering={isReorderingActive ? 'true' : 'false'}\n data-focus-visible={true}\n data-testid=\"drag-handle-button\"\n tabIndex={0}\n onFocus={e => {\n e.currentTarget.setAttribute('data-focus-visible', 'true')\n }}\n onBlur={e => {\n e.currentTarget.removeAttribute('data-focus-visible')\n }}\n aria-label={\n isReorderingActive\n ? t('reorderableList.draggableLabelActive', {\n item: accessibleItemName,\n })\n : t('reorderableList.draggableLabel', {\n item: accessibleItemName,\n })\n }\n aria-roledescription={t('reorderableList.draggableItem')}\n aria-grabbed={isDragging}\n onKeyDown={handleKeyDown}\n ref={node => {\n if (node) {\n buttonRef.current = node\n drag(node)\n }\n }}\n >\n <ListIcon />\n </Components.ButtonIcon>\n )}\n </span>\n <div className={styles.contentContainer}>{item.content}</div>\n </div>\n )\n})\n"],"names":["ReorderableItem","memo","item","index","moveItem","itemCount","itemIndex","listId","isDraggingAny","setIsDragging","isReorderingActive","setIsReorderingActive","isCurrentlyReordering","setReorderingItemIndex","renderDragHandle","className","ref","useRef","buttonRef","t","useTranslation","Components","useComponentContext","accessibleItemName","isBeingDraggedRef","useEffect","isDragging","drag","dragPreview","useDrag","ITEM_TYPE","monitor","handleKeyDown","useCallback","e","newReorderingState","itemClasses","classnames","styles","jsxs","jsx","VisuallyHidden","node","ListIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ReorderableItem.js","sources":["../../../../src/components/Common/ReorderableList/ReorderableItem.tsx"],"sourcesContent":["import { useRef, useEffect, useCallback, memo } from 'react'\nimport classnames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { useDrag } from 'react-dnd'\nimport type { ReactElement } from 'react'\nimport { VisuallyHidden } from '../VisuallyHidden'\nimport type { ReorderableListItem } from './ReorderableListTypes'\nimport styles from './ReorderableList.module.scss'\nimport { ITEM_TYPE } from './constants'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ninterface ReorderableItemProps {\n item: ReorderableListItem\n index: number\n moveItem: (fromIndex: number, toIndex: number, source?: 'keyboard' | 'dragdrop') => void\n itemCount: number\n itemIndex: number\n listId: string\n isDraggingAny: boolean\n setIsDragging: (isDragging: boolean) => void\n isReorderingActive: boolean\n setIsReorderingActive: (isReorderingActive: boolean) => void\n isCurrentlyReordering: boolean\n setReorderingItemIndex: (reorderingItemIndex: number | null) => void\n renderDragHandle?: (props: {\n id: string | number\n label: string\n isReordering: boolean\n isDragging: boolean\n }) => ReactElement\n className?: string\n}\n\n/**\n * Component for an individual reorderable item\n */\nexport const ReorderableItem = memo(function ReorderableItem({\n item,\n index,\n moveItem,\n itemCount,\n itemIndex,\n listId,\n isDraggingAny,\n setIsDragging,\n isReorderingActive,\n setIsReorderingActive,\n isCurrentlyReordering,\n setReorderingItemIndex,\n renderDragHandle,\n className,\n}: ReorderableItemProps) {\n const ref = useRef<HTMLDivElement>(null)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const { t } = useTranslation('common')\n const Components = useComponentContext()\n\n // Format the accessible item name\n const accessibleItemName = item.label\n\n // Add a ref to track if this specific item is being dragged\n const isBeingDraggedRef = useRef(false)\n\n // When this item becomes the reordering item, focus on it\n useEffect(() => {\n if (isCurrentlyReordering && buttonRef.current) {\n buttonRef.current.focus()\n }\n }, [isCurrentlyReordering])\n\n // React DnD - Drag source\n const [{ isDragging }, drag, dragPreview] = useDrag(\n () => ({\n type: ITEM_TYPE,\n item: () => {\n isBeingDraggedRef.current = true\n setIsDragging(true)\n return { index, listId }\n },\n collect: monitor => ({\n isDragging: !!monitor.isDragging(),\n }),\n end: () => {\n isBeingDraggedRef.current = false\n\n setIsDragging(false)\n\n if (buttonRef.current) {\n buttonRef.current.blur()\n }\n },\n canDrag: () => !isDraggingAny || isBeingDraggedRef.current,\n }),\n [index, listId, setIsDragging, isDraggingAny],\n )\n\n /**\n * Handles keyboard interactions for reordering\n */\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n let newReorderingState: boolean\n\n switch (e.key) {\n case 'ArrowUp':\n if (isReorderingActive && index > 0) {\n e.preventDefault()\n setReorderingItemIndex(index)\n moveItem(index, index - 1, 'keyboard')\n }\n break\n case 'ArrowDown':\n if (isReorderingActive && index < itemCount - 1) {\n e.preventDefault()\n setReorderingItemIndex(index)\n moveItem(index, index + 1, 'keyboard')\n }\n break\n case 'Escape':\n if (isReorderingActive) {\n e.preventDefault()\n setIsReorderingActive(false)\n setReorderingItemIndex(null)\n }\n break\n case 'Tab':\n if (isReorderingActive) {\n setIsReorderingActive(false)\n setReorderingItemIndex(null)\n }\n break\n case ' ':\n case 'Enter':\n e.preventDefault()\n newReorderingState = !isReorderingActive\n setIsReorderingActive(newReorderingState)\n\n if (newReorderingState) {\n setReorderingItemIndex(index)\n } else {\n setReorderingItemIndex(null)\n }\n break\n default:\n break\n }\n },\n [isReorderingActive, index, itemCount, setReorderingItemIndex, moveItem, setIsReorderingActive],\n )\n\n // Set up drag preview and drag source\n useEffect(() => {\n if (ref.current) {\n dragPreview(ref.current)\n }\n }, [dragPreview])\n\n const itemClasses = classnames(\n styles.reorderableItem,\n isDragging ? styles.dragging : '',\n isReorderingActive ? styles.reordering : '',\n className,\n )\n\n return (\n <div\n ref={ref}\n role=\"listitem\"\n aria-posinset={index + 1}\n aria-setsize={itemCount}\n className={itemClasses}\n data-position={index}\n data-item-index={itemIndex}\n data-list-id={listId}\n data-testid={`reorderable-item-${index}`}\n data-dragging={isDragging ? 'true' : 'false'}\n data-reordering={isReorderingActive ? 'true' : 'false'}\n >\n <VisuallyHidden>\n {t('reorderableList.draggablePosition', {\n item: accessibleItemName,\n position: String(index + 1),\n total: String(itemCount),\n })}\n </VisuallyHidden>\n <span className={styles.dragHandle}>\n {renderDragHandle ? (\n renderDragHandle({\n id: item.id || index,\n label: accessibleItemName,\n isReordering: isReorderingActive,\n isDragging: isDragging,\n })\n ) : (\n <Components.ButtonIcon\n data-index={index}\n data-item-index={itemIndex}\n data-reordering={isReorderingActive ? 'true' : 'false'}\n data-focus-visible={true}\n data-testid=\"drag-handle-button\"\n tabIndex={0}\n onFocus={e => {\n e.currentTarget.setAttribute('data-focus-visible', 'true')\n }}\n onBlur={e => {\n e.currentTarget.removeAttribute('data-focus-visible')\n }}\n aria-label={\n isReorderingActive\n ? t('reorderableList.draggableLabelActive', {\n item: accessibleItemName,\n })\n : t('reorderableList.draggableLabel', {\n item: accessibleItemName,\n })\n }\n aria-roledescription={t('reorderableList.draggableItem')}\n aria-grabbed={isDragging}\n onKeyDown={handleKeyDown}\n buttonRef={node => {\n if (node) {\n buttonRef.current = node\n drag(node)\n }\n }}\n >\n <ListIcon />\n </Components.ButtonIcon>\n )}\n </span>\n <div className={styles.contentContainer}>{item.content}</div>\n </div>\n )\n})\n"],"names":["ReorderableItem","memo","item","index","moveItem","itemCount","itemIndex","listId","isDraggingAny","setIsDragging","isReorderingActive","setIsReorderingActive","isCurrentlyReordering","setReorderingItemIndex","renderDragHandle","className","ref","useRef","buttonRef","t","useTranslation","Components","useComponentContext","accessibleItemName","isBeingDraggedRef","useEffect","isDragging","drag","dragPreview","useDrag","ITEM_TYPE","monitor","handleKeyDown","useCallback","e","newReorderingState","itemClasses","classnames","styles","jsxs","jsx","VisuallyHidden","node","ListIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { ButtonProps } from './ButtonTypes';
2
- export declare function Button({ isError, isLoading, isDisabled, variant, ref, className, children, onBlur, onFocus, onClick, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function Button({ isError, isLoading, isDisabled, variant, buttonRef, className, children, onBlur, onFocus, onClick, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -7,19 +7,19 @@ function N({
7
7
  isLoading: r = !1,
8
8
  isDisabled: s = !1,
9
9
  variant: t = "primary",
10
- ref: e,
10
+ buttonRef: e,
11
11
  className: m,
12
12
  children: i,
13
13
  onBlur: n,
14
14
  onFocus: d,
15
15
  onClick: a,
16
- ...l
16
+ ...f
17
17
  }) {
18
18
  return /* @__PURE__ */ p(
19
19
  u,
20
20
  {
21
- ...l,
22
- className: ({ defaultClassName: f }) => v(c.root, f, m),
21
+ ...f,
22
+ className: ({ defaultClassName: l }) => v(c.root, l, m),
23
23
  ref: e,
24
24
  onBlur: n,
25
25
  onFocus: d,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../../src/components/Common/UI/Button/Button.tsx"],"sourcesContent":["import { Button as AriaButton } from 'react-aria-components'\nimport classNames from 'classnames'\nimport { type ButtonProps } from './ButtonTypes'\nimport styles from './Button.module.scss'\n\nexport function Button({\n isError = false,\n isLoading = false,\n isDisabled = false,\n variant = 'primary',\n ref,\n className,\n children,\n onBlur,\n onFocus,\n onClick,\n ...props\n}: ButtonProps) {\n const handlePress = onClick\n ? () => {\n onClick({} as React.MouseEvent<HTMLButtonElement>)\n }\n : undefined\n\n return (\n <AriaButton\n {...props}\n className={({ defaultClassName }) => classNames(styles.root, defaultClassName, className)}\n ref={ref}\n onBlur={onBlur}\n onFocus={onFocus}\n isDisabled={isDisabled || isLoading}\n data-variant={variant}\n data-loading={isLoading || undefined}\n data-error={isError || undefined}\n onPress={handlePress}\n >\n {children}\n </AriaButton>\n )\n}\n"],"names":["Button","isError","isLoading","isDisabled","variant","ref","className","children","onBlur","onFocus","onClick","props","jsx","AriaButton","defaultClassName","classNames","styles"],"mappings":";;;;AAKO,SAASA,EAAO;AAAA,EACrB,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,YAAAC,IAAa;AAAA,EACb,SAAAC,IAAU;AAAA,EACV,KAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAgB;AAQZ,SAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,WAAW,CAAC,EAAE,kBAAAG,QAAuBC,EAAWC,EAAO,MAAMF,GAAkBR,CAAS;AAAA,MACxF,KAAAD;AAAA,MACA,QAAAG;AAAA,MACA,SAAAC;AAAA,MACA,YAAYN,KAAcD;AAAA,MAC1B,gBAAcE;AAAA,MACd,gBAAcF,KAAa;AAAA,MAC3B,cAAYD,KAAW;AAAA,MACvB,SAjBgBS,IAChB,MAAM;AACJ,QAAAA,EAAQ,CAAA,CAAyC;AAAA,MAAA,IAEnD;AAAA,MAeC,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../../src/components/Common/UI/Button/Button.tsx"],"sourcesContent":["import { Button as AriaButton } from 'react-aria-components'\nimport classNames from 'classnames'\nimport { type ButtonProps } from './ButtonTypes'\nimport styles from './Button.module.scss'\n\nexport function Button({\n isError = false,\n isLoading = false,\n isDisabled = false,\n variant = 'primary',\n buttonRef,\n className,\n children,\n onBlur,\n onFocus,\n onClick,\n ...props\n}: ButtonProps) {\n const handlePress = onClick\n ? () => {\n onClick({} as React.MouseEvent<HTMLButtonElement>)\n }\n : undefined\n\n return (\n <AriaButton\n {...props}\n className={({ defaultClassName }) => classNames(styles.root, defaultClassName, className)}\n ref={buttonRef}\n onBlur={onBlur}\n onFocus={onFocus}\n isDisabled={isDisabled || isLoading}\n data-variant={variant}\n data-loading={isLoading || undefined}\n data-error={isError || undefined}\n onPress={handlePress}\n >\n {children}\n </AriaButton>\n )\n}\n"],"names":["Button","isError","isLoading","isDisabled","variant","buttonRef","className","children","onBlur","onFocus","onClick","props","jsx","AriaButton","defaultClassName","classNames","styles"],"mappings":";;;;AAKO,SAASA,EAAO;AAAA,EACrB,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,YAAAC,IAAa;AAAA,EACb,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAgB;AAQZ,SAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,WAAW,CAAC,EAAE,kBAAAG,QAAuBC,EAAWC,EAAO,MAAMF,GAAkBR,CAAS;AAAA,MACxF,KAAKD;AAAA,MACL,QAAAG;AAAA,MACA,SAAAC;AAAA,MACA,YAAYN,KAAcD;AAAA,MAC1B,gBAAcE;AAAA,MACd,gBAAcF,KAAa;AAAA,MAC3B,cAAYD,KAAW;AAAA,MACvB,SAjBgBS,IAChB,MAAM;AACJ,QAAAA,EAAQ,CAAA,CAAyC;AAAA,MAAA,IAEnD;AAAA,MAeC,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -3,7 +3,7 @@ export interface ButtonProps extends Pick<ButtonHTMLAttributes<HTMLButtonElement
3
3
  /**
4
4
  * React ref for the button element
5
5
  */
6
- ref?: Ref<HTMLButtonElement>;
6
+ buttonRef?: Ref<HTMLButtonElement>;
7
7
  /**
8
8
  * Visual style variant of the button
9
9
  */
@@ -6,9 +6,4 @@ interface AssignSignatoryProps extends BaseComponentInterface<'Company.AssignSig
6
6
  defaultValues?: AssignSignatoryDefaultValues;
7
7
  }
8
8
  export declare function AssignSignatory(props: AssignSignatoryProps): import("react/jsx-runtime").JSX.Element;
9
- export declare namespace AssignSignatory {
10
- var Head: () => import("react/jsx-runtime").JSX.Element;
11
- var Selection: () => import("react/jsx-runtime").JSX.Element;
12
- var Form: () => import("react/jsx-runtime").JSX.Element;
13
- }
14
9
  export {};
@@ -1,66 +1,63 @@
1
- import { jsx as o, jsxs as p, Fragment as _ } from "react/jsx-runtime";
2
- import { z as t } from "zod";
3
- import { useForm as O, FormProvider as u } from "react-hook-form";
4
- import { zodResolver as E } from "@hookform/resolvers/zod";
5
- import { SignatoryForm as g } from "./SignatoryForm.js";
6
- import { Head as S } from "./Head.js";
7
- import { AssignSignatorySelection as c } from "./AssignSignatorySelection.js";
8
- import { SignatoryAssignmentMode as m, AssignSignatoryProvider as C } from "./useAssignSignatory.js";
1
+ import { jsx as o, jsxs as y, Fragment as f } from "react/jsx-runtime";
2
+ import { z as e } from "zod";
3
+ import { useForm as d, FormProvider as N } from "react-hook-form";
4
+ import { zodResolver as p } from "@hookform/resolvers/zod";
5
+ import { SignatoryForm as _ } from "./SignatoryForm.js";
6
+ import { Head as O } from "./Head.js";
7
+ import { AssignSignatorySelection as u } from "./AssignSignatorySelection.js";
8
+ import { SignatoryAssignmentMode as m, AssignSignatoryProvider as E } from "./useAssignSignatory.js";
9
9
  import { companyEvents as i } from "../../../shared/constants.js";
10
- import { Flex as M } from "../../Common/Flex/Flex.js";
11
- import { BaseComponent as h } from "../../Base/Base.js";
12
- import { useBase as I } from "../../Base/useBase.js";
13
- import { useI18n as Y, useComponentDictionary as D } from "../../../i18n/I18n.js";
14
- function s(n) {
15
- return /* @__PURE__ */ o(h, { ...n, children: /* @__PURE__ */ o(F, { ...n, children: n.children }) });
10
+ import { Flex as C } from "../../Common/Flex/Flex.js";
11
+ import { BaseComponent as M } from "../../Base/Base.js";
12
+ import { useBase as h } from "../../Base/useBase.js";
13
+ import { useI18n as I, useComponentDictionary as Y } from "../../../i18n/I18n.js";
14
+ function w(n) {
15
+ return /* @__PURE__ */ o(M, { ...n, children: /* @__PURE__ */ o(v, { ...n, children: n.children }) });
16
16
  }
17
- const v = t.object({
18
- signatoryAssignmentMode: t.union([
19
- t.literal(m.createSignatory),
20
- t.literal(m.inviteSignatory)
17
+ const D = e.object({
18
+ signatoryAssignmentMode: e.union([
19
+ e.literal(m.createSignatory),
20
+ e.literal(m.inviteSignatory)
21
21
  ])
22
22
  });
23
- function F({
23
+ function v({
24
24
  companyId: n,
25
- signatoryId: A,
26
- defaultValues: l,
27
- className: y,
28
- children: a,
29
- dictionary: f
25
+ signatoryId: a,
26
+ defaultValues: g,
27
+ className: S,
28
+ children: s,
29
+ dictionary: A
30
30
  }) {
31
- Y("Company.AssignSignatory"), D("Company.AssignSignatory", f);
32
- const { onEvent: e } = I(), d = O({
33
- resolver: E(v),
31
+ I("Company.AssignSignatory"), Y("Company.AssignSignatory", A);
32
+ const { onEvent: t } = h(), c = d({
33
+ resolver: p(D),
34
34
  defaultValues: {
35
35
  signatoryAssignmentMode: m.createSignatory
36
36
  }
37
37
  });
38
- return /* @__PURE__ */ o("section", { className: y, children: /* @__PURE__ */ o(
39
- C,
38
+ return /* @__PURE__ */ o("section", { className: S, children: /* @__PURE__ */ o(
39
+ E,
40
40
  {
41
41
  value: {
42
42
  companyId: n,
43
- signatoryId: A,
44
- defaultValues: l,
43
+ signatoryId: a,
44
+ defaultValues: g,
45
45
  onSignatoryAssignmentModeChange: (r) => {
46
- e(i.COMPANY_ASSIGN_SIGNATORY_MODE_UPDATED, r);
46
+ t(i.COMPANY_ASSIGN_SIGNATORY_MODE_UPDATED, r);
47
47
  },
48
- onSignatoryFormEvent: (r, N) => {
49
- r === i.COMPANY_CREATE_SIGNATORY_DONE ? e(i.COMPANY_ASSIGN_SIGNATORY_DONE) : r === i.COMPANY_INVITE_SIGNATORY_DONE ? e(i.COMPANY_ASSIGN_SIGNATORY_DONE) : e(r, N);
48
+ onSignatoryFormEvent: (r, l) => {
49
+ r === i.COMPANY_CREATE_SIGNATORY_DONE ? t(i.COMPANY_ASSIGN_SIGNATORY_DONE) : r === i.COMPANY_INVITE_SIGNATORY_DONE ? t(i.COMPANY_ASSIGN_SIGNATORY_DONE) : t(r, l);
50
50
  }
51
51
  },
52
- children: /* @__PURE__ */ o(M, { flexDirection: "column", gap: 32, children: /* @__PURE__ */ o(u, { ...d, children: a || /* @__PURE__ */ p(_, { children: [
53
- /* @__PURE__ */ o(S, {}),
54
- /* @__PURE__ */ o(c, {}),
55
- /* @__PURE__ */ o(g, {})
52
+ children: /* @__PURE__ */ o(C, { flexDirection: "column", gap: 32, children: /* @__PURE__ */ o(N, { ...c, children: s || /* @__PURE__ */ y(f, { children: [
53
+ /* @__PURE__ */ o(O, {}),
54
+ /* @__PURE__ */ o(u, {}),
55
+ /* @__PURE__ */ o(_, {})
56
56
  ] }) }) })
57
57
  }
58
58
  ) });
59
59
  }
60
- s.Head = S;
61
- s.Selection = c;
62
- s.Form = g;
63
60
  export {
64
- s as AssignSignatory
61
+ w as AssignSignatory
65
62
  };
66
63
  //# sourceMappingURL=AssignSignatory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssignSignatory.js","sources":["../../../../src/components/Company/AssignSignatory/AssignSignatory.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { SignatoryForm } from './SignatoryForm'\nimport { Head } from './Head'\nimport { AssignSignatorySelection } from './AssignSignatorySelection'\nimport type { AssignSignatoryDefaultValues } from './useAssignSignatory'\nimport { AssignSignatoryProvider, SignatoryAssignmentMode } from './useAssignSignatory'\nimport { companyEvents } from '@/shared/constants'\nimport { Flex } from '@/components/Common'\nimport { useBase, BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\n\ninterface AssignSignatoryProps extends BaseComponentInterface<'Company.AssignSignatory'> {\n companyId: string\n signatoryId?: string\n defaultValues?: AssignSignatoryDefaultValues\n}\n\nexport function AssignSignatory(props: AssignSignatoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst AssignSignatorySelectionSchema = z.object({\n signatoryAssignmentMode: z.union([\n z.literal(SignatoryAssignmentMode.createSignatory),\n z.literal(SignatoryAssignmentMode.inviteSignatory),\n ]),\n})\n\ntype AssignSignatorySelectionInputs = z.infer<typeof AssignSignatorySelectionSchema>\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n dictionary,\n}: AssignSignatoryProps) {\n useI18n('Company.AssignSignatory')\n useComponentDictionary('Company.AssignSignatory', dictionary)\n\n const { onEvent } = useBase()\n\n const formMethods = useForm<AssignSignatorySelectionInputs>({\n resolver: zodResolver(AssignSignatorySelectionSchema),\n defaultValues: {\n signatoryAssignmentMode: SignatoryAssignmentMode.createSignatory,\n },\n })\n\n const onSignatoryAssignmentModeChange = (mode: string) => {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_MODE_UPDATED, mode)\n }\n\n const onSignatoryFormEvent: BaseComponentInterface['onEvent'] = (event, data) => {\n if (event === companyEvents.COMPANY_CREATE_SIGNATORY_DONE) {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_DONE)\n } else if (event === companyEvents.COMPANY_INVITE_SIGNATORY_DONE) {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_DONE)\n } else {\n onEvent(event, data)\n }\n }\n\n return (\n <section className={className}>\n <AssignSignatoryProvider\n value={{\n companyId,\n signatoryId,\n defaultValues,\n onSignatoryAssignmentModeChange,\n onSignatoryFormEvent,\n }}\n >\n <Flex flexDirection=\"column\" gap={32}>\n <FormProvider {...formMethods}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <AssignSignatorySelection />\n <SignatoryForm />\n </>\n )}\n </FormProvider>\n </Flex>\n </AssignSignatoryProvider>\n </section>\n )\n}\n\nAssignSignatory.Head = Head\nAssignSignatory.Selection = AssignSignatorySelection\nAssignSignatory.Form = SignatoryForm\n"],"names":["AssignSignatory","props","jsx","BaseComponent","Root","AssignSignatorySelectionSchema","z","SignatoryAssignmentMode","companyId","signatoryId","defaultValues","className","children","dictionary","useI18n","useComponentDictionary","onEvent","useBase","formMethods","useForm","zodResolver","AssignSignatoryProvider","mode","companyEvents","event","data","Flex","FormProvider","jsxs","Fragment","Head","AssignSignatorySelection","SignatoryForm"],"mappings":";;;;;;;;;;;;;AAmBO,SAASA,EAAgBC,GAA6B;AAEzD,SAAA,gBAAAC,EAACC,GAAe,EAAA,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAMA,EAAA,SAAA,CAAS,EACnC,CAAA;AAEJ;AAEA,MAAMI,IAAiCC,EAAE,OAAO;AAAA,EAC9C,yBAAyBA,EAAE,MAAM;AAAA,IAC/BA,EAAE,QAAQC,EAAwB,eAAe;AAAA,IACjDD,EAAE,QAAQC,EAAwB,eAAe;AAAA,EAClD,CAAA;AACH,CAAC;AAID,SAASH,EAAK;AAAA,EACZ,WAAAI;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,GAAyB;AACvB,EAAAC,EAAQ,yBAAyB,GACjCC,EAAuB,2BAA2BF,CAAU;AAEtD,QAAA,EAAE,SAAAG,EAAQ,IAAIC,EAAQ,GAEtBC,IAAcC,EAAwC;AAAA,IAC1D,UAAUC,EAAYf,CAA8B;AAAA,IACpD,eAAe;AAAA,MACb,yBAAyBE,EAAwB;AAAA,IAAA;AAAA,EACnD,CACD;AAiBC,SAAA,gBAAAL,EAAC,aAAQ,WAAAS,GACP,UAAA,gBAAAT;AAAA,IAACmB;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,WAAAb;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,iCArBgC,CAACY,MAAiB;AAChD,UAAAN,EAAAO,EAAc,uCAAuCD,CAAI;AAAA,QACnE;AAAA,QAoBQ,sBAlBwD,CAACE,GAAOC,MAAS;AAC3E,UAAAD,MAAUD,EAAc,gCAC1BP,EAAQO,EAAc,6BAA6B,IAC1CC,MAAUD,EAAc,gCACjCP,EAAQO,EAAc,6BAA6B,IAEnDP,EAAQQ,GAAOC,CAAI;AAAA,QAEvB;AAAA,MAWM;AAAA,MAEA,UAAC,gBAAAvB,EAAAwB,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAC,gBAAAxB,EAAAyB,GAAA,EAAc,GAAGT,GACf,UACCN,KAGE,gBAAAgB,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAA3B,EAAC4B,GAAK,EAAA;AAAA,0BACLC,GAAyB,EAAA;AAAA,0BACzBC,GAAc,CAAA,CAAA;AAAA,MAAA,EACjB,CAAA,EAEJ,CAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEAhC,EAAgB,OAAO8B;AACvB9B,EAAgB,YAAY+B;AAC5B/B,EAAgB,OAAOgC;"}
1
+ {"version":3,"file":"AssignSignatory.js","sources":["../../../../src/components/Company/AssignSignatory/AssignSignatory.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { SignatoryForm } from './SignatoryForm'\nimport { Head } from './Head'\nimport { AssignSignatorySelection } from './AssignSignatorySelection'\nimport type { AssignSignatoryDefaultValues } from './useAssignSignatory'\nimport { AssignSignatoryProvider, SignatoryAssignmentMode } from './useAssignSignatory'\nimport { companyEvents } from '@/shared/constants'\nimport { Flex } from '@/components/Common'\nimport { useBase, BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\n\ninterface AssignSignatoryProps extends BaseComponentInterface<'Company.AssignSignatory'> {\n companyId: string\n signatoryId?: string\n defaultValues?: AssignSignatoryDefaultValues\n}\n\nexport function AssignSignatory(props: AssignSignatoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst AssignSignatorySelectionSchema = z.object({\n signatoryAssignmentMode: z.union([\n z.literal(SignatoryAssignmentMode.createSignatory),\n z.literal(SignatoryAssignmentMode.inviteSignatory),\n ]),\n})\n\ntype AssignSignatorySelectionInputs = z.infer<typeof AssignSignatorySelectionSchema>\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n dictionary,\n}: AssignSignatoryProps) {\n useI18n('Company.AssignSignatory')\n useComponentDictionary('Company.AssignSignatory', dictionary)\n\n const { onEvent } = useBase()\n\n const formMethods = useForm<AssignSignatorySelectionInputs>({\n resolver: zodResolver(AssignSignatorySelectionSchema),\n defaultValues: {\n signatoryAssignmentMode: SignatoryAssignmentMode.createSignatory,\n },\n })\n\n const onSignatoryAssignmentModeChange = (mode: string) => {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_MODE_UPDATED, mode)\n }\n\n const onSignatoryFormEvent: BaseComponentInterface['onEvent'] = (event, data) => {\n if (event === companyEvents.COMPANY_CREATE_SIGNATORY_DONE) {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_DONE)\n } else if (event === companyEvents.COMPANY_INVITE_SIGNATORY_DONE) {\n onEvent(companyEvents.COMPANY_ASSIGN_SIGNATORY_DONE)\n } else {\n onEvent(event, data)\n }\n }\n\n return (\n <section className={className}>\n <AssignSignatoryProvider\n value={{\n companyId,\n signatoryId,\n defaultValues,\n onSignatoryAssignmentModeChange,\n onSignatoryFormEvent,\n }}\n >\n <Flex flexDirection=\"column\" gap={32}>\n <FormProvider {...formMethods}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <AssignSignatorySelection />\n <SignatoryForm />\n </>\n )}\n </FormProvider>\n </Flex>\n </AssignSignatoryProvider>\n </section>\n )\n}\n"],"names":["AssignSignatory","props","jsx","BaseComponent","Root","AssignSignatorySelectionSchema","z","SignatoryAssignmentMode","companyId","signatoryId","defaultValues","className","children","dictionary","useI18n","useComponentDictionary","onEvent","useBase","formMethods","useForm","zodResolver","AssignSignatoryProvider","mode","companyEvents","event","data","Flex","FormProvider","jsxs","Fragment","Head","AssignSignatorySelection","SignatoryForm"],"mappings":";;;;;;;;;;;;;AAmBO,SAASA,EAAgBC,GAA6B;AAEzD,SAAA,gBAAAC,EAACC,GAAe,EAAA,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAMA,EAAA,SAAA,CAAS,EACnC,CAAA;AAEJ;AAEA,MAAMI,IAAiCC,EAAE,OAAO;AAAA,EAC9C,yBAAyBA,EAAE,MAAM;AAAA,IAC/BA,EAAE,QAAQC,EAAwB,eAAe;AAAA,IACjDD,EAAE,QAAQC,EAAwB,eAAe;AAAA,EAClD,CAAA;AACH,CAAC;AAID,SAASH,EAAK;AAAA,EACZ,WAAAI;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,GAAyB;AACvB,EAAAC,EAAQ,yBAAyB,GACjCC,EAAuB,2BAA2BF,CAAU;AAEtD,QAAA,EAAE,SAAAG,EAAQ,IAAIC,EAAQ,GAEtBC,IAAcC,EAAwC;AAAA,IAC1D,UAAUC,EAAYf,CAA8B;AAAA,IACpD,eAAe;AAAA,MACb,yBAAyBE,EAAwB;AAAA,IAAA;AAAA,EACnD,CACD;AAiBC,SAAA,gBAAAL,EAAC,aAAQ,WAAAS,GACP,UAAA,gBAAAT;AAAA,IAACmB;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,WAAAb;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,iCArBgC,CAACY,MAAiB;AAChD,UAAAN,EAAAO,EAAc,uCAAuCD,CAAI;AAAA,QACnE;AAAA,QAoBQ,sBAlBwD,CAACE,GAAOC,MAAS;AAC3E,UAAAD,MAAUD,EAAc,gCAC1BP,EAAQO,EAAc,6BAA6B,IAC1CC,MAAUD,EAAc,gCACjCP,EAAQO,EAAc,6BAA6B,IAEnDP,EAAQQ,GAAOC,CAAI;AAAA,QAEvB;AAAA,MAWM;AAAA,MAEA,UAAC,gBAAAvB,EAAAwB,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAC,gBAAAxB,EAAAyB,GAAA,EAAc,GAAGT,GACf,UACCN,KAGE,gBAAAgB,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAA3B,EAAC4B,GAAK,EAAA;AAAA,0BACLC,GAAyB,EAAA;AAAA,0BACzBC,GAAc,CAAA,CAAA;AAAA,MAAA,EACjB,CAAA,EAEJ,CAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -6,8 +6,4 @@ interface CreateSignatoryProps extends CommonComponentInterface {
6
6
  defaultValues?: CreateSignatoryDefaultValues;
7
7
  }
8
8
  export declare function CreateSignatory(props: CreateSignatoryProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
9
- export declare namespace CreateSignatory {
10
- var Form: () => import("react/jsx-runtime").JSX.Element;
11
- var Actions: () => import("react/jsx-runtime").JSX.Element;
12
- }
13
9
  export {};
@@ -1,45 +1,45 @@
1
- import { jsx as o, jsxs as w, Fragment as x } from "react/jsx-runtime";
2
- import { useForm as z, FormProvider as B } from "react-hook-form";
3
- import { zodResolver as k } from "@hookform/resolvers/zod";
4
- import G from "classnames";
5
- import { useSignatoriesListSuspense as j } from "@gusto/embedded-api/react-query/signatoriesList";
6
- import { useSignatoriesCreateMutation as L } from "@gusto/embedded-api/react-query/signatoriesCreate";
7
- import { useSignatoriesUpdateMutation as H } from "@gusto/embedded-api/react-query/signatoriesUpdate";
8
- import { useSignatoriesDeleteMutation as I } from "@gusto/embedded-api/react-query/signatoriesDelete";
9
- import { CreateSignatoryForm as f } from "./CreateSignatoryForm.js";
10
- import { Actions as A } from "./Actions.js";
11
- import J from "./CreateSignatory.module.scss.js";
12
- import { CreateSignatoryProvider as K } from "./useCreateSignatory.js";
13
- import { generateCreateSignatorySchema as Q } from "./Schema.js";
14
- import { Form as W } from "../../../Common/Form/Form.js";
15
- import { useI18n as X } from "../../../../i18n/I18n.js";
16
- import { BaseComponent as Z } from "../../../Base/Base.js";
17
- import { useBase as $ } from "../../../Base/useBase.js";
18
- import { Flex as V } from "../../../Common/Flex/Flex.js";
1
+ import { jsx as o, jsxs as F, Fragment as Y } from "react/jsx-runtime";
2
+ import { useForm as q, FormProvider as w } from "react-hook-form";
3
+ import { zodResolver as x } from "@hookform/resolvers/zod";
4
+ import z from "classnames";
5
+ import { useSignatoriesListSuspense as B } from "@gusto/embedded-api/react-query/signatoriesList";
6
+ import { useSignatoriesCreateMutation as k } from "@gusto/embedded-api/react-query/signatoriesCreate";
7
+ import { useSignatoriesUpdateMutation as G } from "@gusto/embedded-api/react-query/signatoriesUpdate";
8
+ import { useSignatoriesDeleteMutation as j } from "@gusto/embedded-api/react-query/signatoriesDelete";
9
+ import { CreateSignatoryForm as L } from "./CreateSignatoryForm.js";
10
+ import { Actions as H } from "./Actions.js";
11
+ import I from "./CreateSignatory.module.scss.js";
12
+ import { CreateSignatoryProvider as J } from "./useCreateSignatory.js";
13
+ import { generateCreateSignatorySchema as K } from "./Schema.js";
14
+ import { Form as Q } from "../../../Common/Form/Form.js";
15
+ import { useI18n as W } from "../../../../i18n/I18n.js";
16
+ import { BaseComponent as X } from "../../../Base/Base.js";
17
+ import { useBase as Z } from "../../../Base/useBase.js";
18
+ import { Flex as $ } from "../../../Common/Flex/Flex.js";
19
19
  import { companyEvents as c } from "../../../../shared/constants.js";
20
- import { formatDateToStringDate as tt } from "../../../../helpers/dateFormatting.js";
21
- import { useMaskedTransform as et, commonMasks as ot } from "../../../../helpers/mask.js";
22
- function l(r) {
23
- return /* @__PURE__ */ o(Z, { ...r, children: /* @__PURE__ */ o(rt, { ...r, children: r.children }) });
20
+ import { formatDateToStringDate as V } from "../../../../helpers/dateFormatting.js";
21
+ import { useMaskedTransform as tt, commonMasks as et } from "../../../../helpers/mask.js";
22
+ function Pt(r) {
23
+ return /* @__PURE__ */ o(X, { ...r, children: /* @__PURE__ */ o(ot, { ...r, children: r.children }) });
24
24
  }
25
- function rt({
25
+ function ot({
26
26
  companyId: r,
27
- signatoryId: N,
27
+ signatoryId: f,
28
28
  defaultValues: e,
29
- className: M,
29
+ className: A,
30
30
  children: d
31
31
  }) {
32
- X("Company.AssignSignatory");
33
- const { onEvent: i, baseSubmitHandler: C } = $(), D = et(ot.phoneMask), {
34
- data: { signatoryList: P }
35
- } = j({
32
+ W("Company.AssignSignatory");
33
+ const { onEvent: i, baseSubmitHandler: l } = Z(), N = tt(et.phoneMask), {
34
+ data: { signatoryList: M }
35
+ } = B({
36
36
  companyUuid: r
37
- }), s = P, t = s.find((n) => n.uuid === N), y = L(), p = H(), u = I(), g = t?.birthday ?? e?.birthday, b = {
37
+ }), s = M, t = s.find((n) => n.uuid === f), y = k(), p = G(), u = j(), g = t?.birthday ?? e?.birthday, C = {
38
38
  firstName: t?.firstName ?? e?.firstName ?? "",
39
39
  lastName: t?.lastName ?? e?.lastName ?? "",
40
40
  email: t?.email ?? e?.email ?? "",
41
41
  title: t?.title ?? e?.title ?? "",
42
- phone: D(t?.phone ?? e?.phone ?? ""),
42
+ phone: N(t?.phone ?? e?.phone ?? ""),
43
43
  ssn: t?.hasSsn ? "" : e?.ssn,
44
44
  street1: t?.homeAddress?.street1 ?? e?.street1,
45
45
  street2: t?.homeAddress?.street2 ?? e?.street2,
@@ -47,20 +47,20 @@ function rt({
47
47
  state: t?.homeAddress?.state ?? e?.state,
48
48
  zip: t?.homeAddress?.zip ?? e?.zip,
49
49
  ...g ? { birthday: new Date(g) } : {}
50
- }, h = z({
51
- resolver: k(Q(t?.hasSsn)),
52
- defaultValues: b
53
- }), v = async (n) => {
54
- await C(n, async (R) => {
55
- const { street1: E, street2: T, city: U, state: F, zip: O, birthday: _, email: Y, ssn: a, ...q } = R, S = {
56
- ...q,
57
- birthday: tt(_) || "",
50
+ }, h = q({
51
+ resolver: x(K(t?.hasSsn)),
52
+ defaultValues: C
53
+ }), D = async (n) => {
54
+ await l(n, async (P) => {
55
+ const { street1: b, street2: v, city: R, state: E, zip: T, birthday: U, email: O, ssn: a, ..._ } = P, S = {
56
+ ..._,
57
+ birthday: V(U) || "",
58
58
  homeAddress: {
59
- street1: E,
60
- street2: T,
61
- city: U,
62
- state: F,
63
- zip: O
59
+ street1: b,
60
+ street2: v,
61
+ city: R,
62
+ state: E,
63
+ zip: T
64
64
  }
65
65
  };
66
66
  if (t) {
@@ -87,7 +87,7 @@ function rt({
87
87
  request: {
88
88
  companyUuid: r,
89
89
  requestBody: {
90
- email: Y,
90
+ email: O,
91
91
  ssn: a || "",
92
92
  ...S
93
93
  }
@@ -98,23 +98,21 @@ function rt({
98
98
  i(c.COMPANY_CREATE_SIGNATORY_DONE);
99
99
  });
100
100
  };
101
- return /* @__PURE__ */ o("section", { className: G(J.container, M), children: /* @__PURE__ */ o(
102
- K,
101
+ return /* @__PURE__ */ o("section", { className: z(I.container, A), children: /* @__PURE__ */ o(
102
+ J,
103
103
  {
104
104
  value: {
105
105
  isPending: y.isPending || u.isPending || p.isPending,
106
106
  currentSignatory: t
107
107
  },
108
- children: /* @__PURE__ */ o(B, { ...h, children: /* @__PURE__ */ o(W, { onSubmit: h.handleSubmit(v), children: /* @__PURE__ */ o(V, { flexDirection: "column", gap: 32, children: d || /* @__PURE__ */ w(x, { children: [
109
- /* @__PURE__ */ o(f, {}),
110
- /* @__PURE__ */ o(A, {})
108
+ children: /* @__PURE__ */ o(w, { ...h, children: /* @__PURE__ */ o(Q, { onSubmit: h.handleSubmit(D), children: /* @__PURE__ */ o($, { flexDirection: "column", gap: 32, children: d || /* @__PURE__ */ F(Y, { children: [
109
+ /* @__PURE__ */ o(L, {}),
110
+ /* @__PURE__ */ o(H, {})
111
111
  ] }) }) }) })
112
112
  }
113
113
  ) });
114
114
  }
115
- l.Form = f;
116
- l.Actions = A;
117
115
  export {
118
- l as CreateSignatory
116
+ Pt as CreateSignatory
119
117
  };
120
118
  //# sourceMappingURL=CreateSignatory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesCreateMutation } from '@gusto/embedded-api/react-query/signatoriesCreate'\nimport { useSignatoriesUpdateMutation } from '@gusto/embedded-api/react-query/signatoriesUpdate'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type CreateSignatoryInputs } from './CreateSignatoryForm'\nimport { CreateSignatoryForm } from './CreateSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './CreateSignatory.module.scss'\nimport type { CreateSignatoryDefaultValues } from './useCreateSignatory'\nimport { CreateSignatoryProvider } from './useCreateSignatory'\nimport { generateCreateSignatorySchema } from './Schema'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\n\ninterface CreateSignatoryProps extends CommonComponentInterface {\n companyId: string\n signatoryId?: string\n defaultValues?: CreateSignatoryDefaultValues\n}\n\nexport function CreateSignatory(props: CreateSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n}: CreateSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const currentSignatory = signatories.find(signatory => signatory.uuid === signatoryId)\n\n const createSignatoryMutation = useSignatoriesCreateMutation()\n const updateSignatoryMutation = useSignatoriesUpdateMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const defaultBirthday = currentSignatory?.birthday ?? defaultValues?.birthday\n\n const createSignatoryDefaultValues = {\n firstName: currentSignatory?.firstName ?? defaultValues?.firstName ?? '',\n lastName: currentSignatory?.lastName ?? defaultValues?.lastName ?? '',\n email: currentSignatory?.email ?? defaultValues?.email ?? '',\n title: currentSignatory?.title ?? defaultValues?.title ?? '',\n phone: transformPhone(currentSignatory?.phone ?? defaultValues?.phone ?? ''),\n ssn: currentSignatory?.hasSsn ? '' : defaultValues?.ssn,\n street1: currentSignatory?.homeAddress?.street1 ?? defaultValues?.street1,\n street2: currentSignatory?.homeAddress?.street2 ?? defaultValues?.street2,\n city: currentSignatory?.homeAddress?.city ?? defaultValues?.city,\n state: currentSignatory?.homeAddress?.state ?? defaultValues?.state,\n zip: currentSignatory?.homeAddress?.zip ?? defaultValues?.zip,\n ...(defaultBirthday ? { birthday: new Date(defaultBirthday) } : {}),\n }\n\n const formMethods = useForm<CreateSignatoryInputs>({\n resolver: zodResolver(generateCreateSignatorySchema(currentSignatory?.hasSsn)),\n defaultValues: createSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: CreateSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { street1, street2, city, state, zip, birthday, email, ssn, ...signatoryData } = payload\n\n const commonData = {\n ...signatoryData,\n birthday: formatDateToStringDate(birthday) || '',\n homeAddress: {\n street1,\n street2,\n city,\n state,\n zip,\n },\n }\n\n if (currentSignatory) {\n const updateSignatoryResponse = await updateSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: currentSignatory.uuid,\n requestBody: {\n version: currentSignatory.version,\n ...(ssn ? { ssn } : {}),\n ...commonData,\n },\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_UPDATED, updateSignatoryResponse.signatory)\n } else {\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n const createSignatoryResponse = await createSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n email,\n ssn: ssn || '',\n ...commonData,\n },\n },\n })\n onEvent(companyEvents.COMPANY_SIGNATORY_CREATED, createSignatoryResponse.signatory)\n }\n onEvent(companyEvents.COMPANY_CREATE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <CreateSignatoryProvider\n value={{\n isPending:\n createSignatoryMutation.isPending ||\n deleteSignatoryMutation.isPending ||\n updateSignatoryMutation.isPending,\n currentSignatory,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <CreateSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </CreateSignatoryProvider>\n </section>\n )\n}\n\nCreateSignatory.Form = CreateSignatoryForm\nCreateSignatory.Actions = Actions\n"],"names":["CreateSignatory","props","jsx","BaseComponent","Root","companyId","signatoryId","defaultValues","className","children","useI18n","onEvent","baseSubmitHandler","useBase","transformPhone","useMaskedTransform","commonMasks","signatoryList","useSignatoriesListSuspense","signatories","currentSignatory","signatory","createSignatoryMutation","useSignatoriesCreateMutation","updateSignatoryMutation","useSignatoriesUpdateMutation","deleteSignatoryMutation","useSignatoriesDeleteMutation","defaultBirthday","createSignatoryDefaultValues","formMethods","useForm","zodResolver","generateCreateSignatorySchema","onSubmit","data","payload","street1","street2","city","state","zip","birthday","email","ssn","signatoryData","commonData","formatDateToStringDate","updateSignatoryResponse","companyEvents","createSignatoryResponse","classNames","styles","CreateSignatoryProvider","FormProvider","Form","Flex","jsxs","Fragment","CreateSignatoryForm","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"CreateSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesCreateMutation } from '@gusto/embedded-api/react-query/signatoriesCreate'\nimport { useSignatoriesUpdateMutation } from '@gusto/embedded-api/react-query/signatoriesUpdate'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type CreateSignatoryInputs } from './CreateSignatoryForm'\nimport { CreateSignatoryForm } from './CreateSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './CreateSignatory.module.scss'\nimport type { CreateSignatoryDefaultValues } from './useCreateSignatory'\nimport { CreateSignatoryProvider } from './useCreateSignatory'\nimport { generateCreateSignatorySchema } from './Schema'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\n\ninterface CreateSignatoryProps extends CommonComponentInterface {\n companyId: string\n signatoryId?: string\n defaultValues?: CreateSignatoryDefaultValues\n}\n\nexport function CreateSignatory(props: CreateSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n}: CreateSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const currentSignatory = signatories.find(signatory => signatory.uuid === signatoryId)\n\n const createSignatoryMutation = useSignatoriesCreateMutation()\n const updateSignatoryMutation = useSignatoriesUpdateMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const defaultBirthday = currentSignatory?.birthday ?? defaultValues?.birthday\n\n const createSignatoryDefaultValues = {\n firstName: currentSignatory?.firstName ?? defaultValues?.firstName ?? '',\n lastName: currentSignatory?.lastName ?? defaultValues?.lastName ?? '',\n email: currentSignatory?.email ?? defaultValues?.email ?? '',\n title: currentSignatory?.title ?? defaultValues?.title ?? '',\n phone: transformPhone(currentSignatory?.phone ?? defaultValues?.phone ?? ''),\n ssn: currentSignatory?.hasSsn ? '' : defaultValues?.ssn,\n street1: currentSignatory?.homeAddress?.street1 ?? defaultValues?.street1,\n street2: currentSignatory?.homeAddress?.street2 ?? defaultValues?.street2,\n city: currentSignatory?.homeAddress?.city ?? defaultValues?.city,\n state: currentSignatory?.homeAddress?.state ?? defaultValues?.state,\n zip: currentSignatory?.homeAddress?.zip ?? defaultValues?.zip,\n ...(defaultBirthday ? { birthday: new Date(defaultBirthday) } : {}),\n }\n\n const formMethods = useForm<CreateSignatoryInputs>({\n resolver: zodResolver(generateCreateSignatorySchema(currentSignatory?.hasSsn)),\n defaultValues: createSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: CreateSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { street1, street2, city, state, zip, birthday, email, ssn, ...signatoryData } = payload\n\n const commonData = {\n ...signatoryData,\n birthday: formatDateToStringDate(birthday) || '',\n homeAddress: {\n street1,\n street2,\n city,\n state,\n zip,\n },\n }\n\n if (currentSignatory) {\n const updateSignatoryResponse = await updateSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: currentSignatory.uuid,\n requestBody: {\n version: currentSignatory.version,\n ...(ssn ? { ssn } : {}),\n ...commonData,\n },\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_UPDATED, updateSignatoryResponse.signatory)\n } else {\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n const createSignatoryResponse = await createSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n email,\n ssn: ssn || '',\n ...commonData,\n },\n },\n })\n onEvent(companyEvents.COMPANY_SIGNATORY_CREATED, createSignatoryResponse.signatory)\n }\n onEvent(companyEvents.COMPANY_CREATE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <CreateSignatoryProvider\n value={{\n isPending:\n createSignatoryMutation.isPending ||\n deleteSignatoryMutation.isPending ||\n updateSignatoryMutation.isPending,\n currentSignatory,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <CreateSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </CreateSignatoryProvider>\n </section>\n )\n}\n"],"names":["CreateSignatory","props","jsx","BaseComponent","Root","companyId","signatoryId","defaultValues","className","children","useI18n","onEvent","baseSubmitHandler","useBase","transformPhone","useMaskedTransform","commonMasks","signatoryList","useSignatoriesListSuspense","signatories","currentSignatory","signatory","createSignatoryMutation","useSignatoriesCreateMutation","updateSignatoryMutation","useSignatoriesUpdateMutation","deleteSignatoryMutation","useSignatoriesDeleteMutation","defaultBirthday","createSignatoryDefaultValues","formMethods","useForm","zodResolver","generateCreateSignatorySchema","onSubmit","data","payload","street1","street2","city","state","zip","birthday","email","ssn","signatoryData","commonData","formatDateToStringDate","updateSignatoryResponse","companyEvents","createSignatoryResponse","classNames","styles","CreateSignatoryProvider","FormProvider","Form","Flex","jsxs","Fragment","CreateSignatoryForm","Actions"],"mappings":"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"}
@@ -5,8 +5,4 @@ interface InviteSignatoryProps extends CommonComponentInterface {
5
5
  defaultValues?: InviteSignatoryDefaultValues;
6
6
  }
7
7
  export declare function InviteSignatory(props: InviteSignatoryProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
8
- export declare namespace InviteSignatory {
9
- var Form: () => import("react/jsx-runtime").JSX.Element;
10
- var Actions: () => import("react/jsx-runtime").JSX.Element;
11
- }
12
8
  export {};