@powerhousedao/network-admin 1.0.0-dev.3 → 1.0.0-staging.4
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/dist/document-models/builders/actions.d.ts +14 -0
- package/dist/document-models/builders/actions.d.ts.map +1 -0
- package/dist/document-models/builders/actions.js +4 -0
- package/dist/document-models/builders/gen/actions.d.ts +4 -0
- package/dist/document-models/builders/gen/actions.d.ts.map +1 -0
- package/dist/document-models/builders/gen/actions.js +1 -0
- package/dist/document-models/builders/gen/builders/actions.d.ts +12 -0
- package/dist/document-models/builders/gen/builders/actions.d.ts.map +1 -0
- package/dist/document-models/builders/gen/builders/actions.js +1 -0
- package/dist/document-models/builders/gen/builders/creators.d.ts +5 -0
- package/dist/document-models/builders/gen/builders/creators.d.ts.map +1 -0
- package/dist/document-models/builders/gen/builders/creators.js +4 -0
- package/dist/document-models/builders/gen/builders/error.d.ts +2 -0
- package/dist/document-models/builders/gen/builders/error.d.ts.map +1 -0
- package/dist/document-models/builders/gen/builders/error.js +1 -0
- package/dist/document-models/builders/gen/builders/operations.d.ts +8 -0
- package/dist/document-models/builders/gen/builders/operations.d.ts.map +1 -0
- package/dist/document-models/builders/gen/builders/operations.js +1 -0
- package/dist/document-models/builders/gen/creators.d.ts +3 -0
- package/dist/document-models/builders/gen/creators.d.ts.map +1 -0
- package/dist/document-models/builders/gen/creators.js +2 -0
- package/dist/document-models/builders/gen/document-model.d.ts +3 -0
- package/dist/document-models/builders/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/builders/gen/document-model.js +59 -0
- package/dist/document-models/builders/gen/document-schema.d.ts +44 -0
- package/dist/document-models/builders/gen/document-schema.d.ts.map +1 -0
- package/dist/document-models/builders/gen/document-schema.js +33 -0
- package/dist/document-models/builders/gen/document-type.d.ts +2 -0
- package/dist/document-models/builders/gen/document-type.d.ts.map +1 -0
- package/dist/document-models/builders/gen/document-type.js +1 -0
- package/dist/document-models/builders/gen/index.d.ts +12 -0
- package/dist/document-models/builders/gen/index.d.ts.map +1 -0
- package/dist/document-models/builders/gen/index.js +11 -0
- package/dist/document-models/builders/gen/ph-factories.d.ts +23 -0
- package/dist/document-models/builders/gen/ph-factories.d.ts.map +1 -0
- package/dist/document-models/builders/gen/ph-factories.js +47 -0
- package/dist/document-models/builders/gen/reducer.d.ts +3 -0
- package/dist/document-models/builders/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/builders/gen/reducer.js +23 -0
- package/dist/document-models/builders/gen/schema/index.d.ts +3 -0
- package/dist/document-models/builders/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/builders/gen/schema/index.js +2 -0
- package/dist/document-models/builders/gen/schema/types.d.ts +158 -0
- package/dist/document-models/builders/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/builders/gen/schema/types.js +1 -0
- package/dist/document-models/builders/gen/schema/zod.d.ts +13 -0
- package/dist/document-models/builders/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/builders/gen/schema/zod.js +21 -0
- package/dist/document-models/builders/gen/types.d.ts +12 -0
- package/dist/document-models/builders/gen/types.d.ts.map +1 -0
- package/dist/document-models/builders/gen/types.js +1 -0
- package/dist/document-models/builders/gen/utils.d.ts +15 -0
- package/dist/document-models/builders/gen/utils.d.ts.map +1 -0
- package/dist/document-models/builders/gen/utils.js +51 -0
- package/dist/document-models/builders/hooks.d.ts +14 -0
- package/dist/document-models/builders/hooks.d.ts.map +1 -0
- package/dist/document-models/builders/hooks.js +25 -0
- package/dist/document-models/builders/index.d.ts +6 -0
- package/dist/document-models/builders/index.d.ts.map +1 -0
- package/dist/document-models/builders/index.js +5 -0
- package/dist/document-models/builders/module.d.ts +5 -0
- package/dist/document-models/builders/module.d.ts.map +1 -0
- package/dist/document-models/builders/module.js +11 -0
- package/dist/document-models/builders/src/index.d.ts +2 -0
- package/dist/document-models/builders/src/index.d.ts.map +1 -0
- package/dist/document-models/builders/src/index.js +1 -0
- package/dist/document-models/builders/src/reducers/builders.d.ts +3 -0
- package/dist/document-models/builders/src/reducers/builders.d.ts.map +1 -0
- package/dist/document-models/builders/src/reducers/builders.js +8 -0
- package/dist/document-models/builders/src/tests/builders.test.d.ts +6 -0
- package/dist/document-models/builders/src/tests/builders.test.d.ts.map +1 -0
- package/dist/document-models/builders/src/tests/builders.test.js +29 -0
- package/dist/document-models/builders/src/tests/document-model.test.d.ts +10 -0
- package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/builders/src/tests/document-model.test.js +104 -0
- package/dist/document-models/builders/src/utils.d.ts +2 -0
- package/dist/document-models/builders/src/utils.d.ts.map +1 -0
- package/dist/document-models/builders/src/utils.js +1 -0
- package/dist/document-models/builders/tests/builders.test.d.ts +2 -0
- package/dist/document-models/builders/tests/builders.test.d.ts.map +1 -0
- package/dist/document-models/builders/tests/builders.test.js +25 -0
- package/dist/document-models/builders/tests/document-model.test.d.ts +10 -0
- package/dist/document-models/builders/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/builders/tests/document-model.test.js +104 -0
- package/dist/document-models/builders/utils.d.ts +14 -0
- package/dist/document-models/builders/utils.d.ts.map +1 -0
- package/dist/document-models/builders/utils.js +7 -0
- package/dist/document-models/document-models.d.ts.map +1 -1
- package/dist/document-models/document-models.js +2 -0
- package/dist/document-models/index.d.ts +1 -0
- package/dist/document-models/index.d.ts.map +1 -1
- package/dist/document-models/index.js +1 -0
- package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/document-model.js +84 -84
- package/dist/document-models/network-profile/gen/document-schema.d.ts +80 -0
- package/dist/document-models/network-profile/gen/document-schema.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/ph-factories.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/ph-factories.js +2 -0
- package/dist/document-models/network-profile/gen/reducer.d.ts +1 -0
- package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/schema/types.d.ts +6 -2
- package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/schema/zod.d.ts +8 -2
- package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/schema/zod.js +6 -2
- package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/utils.js +3 -1
- package/dist/document-models/network-profile/hooks.d.ts +2 -2
- package/dist/document-models/network-profile/hooks.d.ts.map +1 -1
- package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +0 -1
- package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -1
- package/dist/document-models/network-profile/src/reducers/network-profile-management.js +27 -18
- package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +4 -0
- package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/document-models/network-profile/src/tests/document-model.test.js +92 -6
- package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +69 -115
- package/dist/document-models/payment-terms/actions.d.ts +1 -2
- package/dist/document-models/payment-terms/actions.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts +1 -40
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/clauses/error.js +1 -32
- package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/document-model.js +89 -180
- package/dist/document-models/payment-terms/gen/document-schema.d.ts +95 -0
- package/dist/document-models/payment-terms/gen/document-schema.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts +1 -26
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/milestones/error.js +1 -18
- package/dist/document-models/payment-terms/gen/ph-factories.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/ph-factories.js +1 -2
- package/dist/document-models/payment-terms/gen/reducer.d.ts +1 -0
- package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/reducer.js +4 -9
- package/dist/document-models/payment-terms/gen/schema/types.d.ts +14 -29
- package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/schema/zod.d.ts +36 -12
- package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/schema/zod.js +29 -55
- package/dist/document-models/payment-terms/gen/terms/actions.d.ts +5 -9
- package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/terms/creators.d.ts +3 -4
- package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/terms/creators.js +2 -3
- package/dist/document-models/payment-terms/gen/terms/operations.d.ts +2 -3
- package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/utils.js +2 -3
- package/dist/document-models/payment-terms/hooks.d.ts +2 -2
- package/dist/document-models/payment-terms/hooks.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +0 -1
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/clauses.js +13 -15
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +0 -1
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/milestones.js +10 -12
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts +0 -1
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/terms.js +14 -24
- package/dist/document-models/payment-terms/src/tests/clauses.test.js +26 -21
- package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +4 -0
- package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/tests/document-model.test.js +92 -6
- package/dist/document-models/payment-terms/src/tests/milestones.test.js +22 -19
- package/dist/document-models/payment-terms/src/tests/terms.test.js +24 -29
- package/dist/document-models/payment-terms/tests/terms.test.js +5 -15
- package/dist/document-models/request-for-proposals/gen/document-model.js +4 -4
- package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +83 -0
- package/dist/document-models/request-for-proposals/gen/document-schema.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/ph-factories.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/gen/ph-factories.js +6 -4
- package/dist/document-models/request-for-proposals/gen/reducer.d.ts +1 -0
- package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +64 -9
- package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/gen/utils.js +7 -5
- package/dist/document-models/request-for-proposals/hooks.d.ts +2 -2
- package/dist/document-models/request-for-proposals/hooks.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +0 -1
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +3 -4
- package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +0 -1
- package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/reducers/proposals.js +4 -5
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +0 -1
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +2 -3
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +2 -1
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +24 -181
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +4 -0
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +92 -6
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +2 -1
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +33 -327
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +2 -1
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +15 -240
- package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/workstream/gen/document-model.js +16 -16
- package/dist/document-models/workstream/gen/document-schema.d.ts +71 -0
- package/dist/document-models/workstream/gen/document-schema.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/reducer.d.ts +1 -0
- package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/workstream/gen/schema/types.d.ts +1 -1
- package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/workstream/gen/schema/zod.d.ts +35 -5
- package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/workstream/gen/utils.js +1 -1
- package/dist/document-models/workstream/hooks.d.ts +2 -2
- package/dist/document-models/workstream/hooks.d.ts.map +1 -1
- package/dist/document-models/workstream/src/reducers/proposals.d.ts +0 -1
- package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -1
- package/dist/document-models/workstream/src/reducers/proposals.js +83 -6
- package/dist/document-models/workstream/src/reducers/workstream.d.ts +0 -1
- package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -1
- package/dist/document-models/workstream/src/reducers/workstream.js +6 -7
- package/dist/document-models/workstream/src/tests/document-model.test.d.ts +4 -0
- package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/document-models/workstream/src/tests/document-model.test.js +89 -3
- package/dist/document-models/workstream/src/tests/proposals.test.js +26 -25
- package/dist/document-models/workstream/src/tests/workstream.test.js +34 -29
- package/dist/editors/builders/editor.d.ts +3 -0
- package/dist/editors/builders/editor.d.ts.map +1 -0
- package/dist/editors/builders/editor.js +285 -0
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts +20 -0
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts.map +1 -0
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.js +57 -0
- package/dist/editors/builders/module.d.ts +4 -0
- package/dist/editors/builders/module.d.ts.map +1 -0
- package/dist/editors/builders/module.js +10 -0
- package/dist/editors/builders/utils/graphql-client.d.ts +41 -0
- package/dist/editors/builders/utils/graphql-client.d.ts.map +1 -0
- package/dist/editors/builders/utils/graphql-client.js +189 -0
- package/dist/editors/editors.d.ts +3 -0
- package/dist/editors/editors.d.ts.map +1 -0
- package/dist/editors/editors.js +14 -0
- package/dist/editors/index.d.ts +6 -6
- package/dist/editors/index.d.ts.map +1 -1
- package/dist/editors/index.js +6 -6
- package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -1
- package/dist/editors/network-admin/components/CreateDocument.js +8 -12
- package/dist/editors/network-admin/components/DriveContents.d.ts +3 -0
- package/dist/editors/network-admin/components/DriveContents.d.ts.map +1 -0
- package/dist/editors/network-admin/components/DriveContents.js +10 -0
- package/dist/editors/network-admin/components/DriveExplorer.d.ts +1 -1
- package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -1
- package/dist/editors/network-admin/components/DriveExplorer.js +53 -230
- package/dist/editors/network-admin/components/EmptyState.d.ts +3 -0
- package/dist/editors/network-admin/components/EmptyState.d.ts.map +1 -0
- package/dist/editors/network-admin/components/EmptyState.js +10 -0
- package/dist/editors/network-admin/components/Files.d.ts +3 -0
- package/dist/editors/network-admin/components/Files.d.ts.map +1 -0
- package/dist/editors/network-admin/components/Files.js +12 -0
- package/dist/editors/network-admin/components/FolderTree.d.ts +9 -1
- package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -1
- package/dist/editors/network-admin/components/FolderTree.js +216 -55
- package/dist/editors/network-admin/components/Folders.d.ts +3 -0
- package/dist/editors/network-admin/components/Folders.d.ts.map +1 -0
- package/dist/editors/network-admin/components/Folders.js +12 -0
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +3 -0
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +1 -0
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +6 -0
- package/dist/editors/network-admin/components/icons/PaymentIcon.d.ts.map +1 -1
- package/dist/editors/network-admin/components/icons/RfpIcon.d.ts.map +1 -1
- package/dist/editors/network-admin/components/icons/SowIcon.d.ts.map +1 -1
- package/dist/editors/network-admin/components/icons/WorkstreamIcon.d.ts.map +1 -1
- package/dist/editors/network-admin/config.d.ts +1 -0
- package/dist/editors/network-admin/config.d.ts.map +1 -1
- package/dist/editors/network-admin/config.js +1 -1
- package/dist/editors/network-admin/editor.d.ts +2 -1
- package/dist/editors/network-admin/editor.d.ts.map +1 -1
- package/dist/editors/network-admin/editor.js +4 -1
- package/dist/editors/network-admin/module.d.ts +4 -0
- package/dist/editors/network-admin/module.d.ts.map +1 -0
- package/dist/editors/network-admin/module.js +10 -0
- package/dist/editors/network-profile/components/EditName.d.ts +3 -0
- package/dist/editors/network-profile/components/EditName.d.ts.map +1 -0
- package/dist/editors/network-profile/components/EditName.js +31 -0
- package/dist/editors/network-profile/editor.d.ts +1 -1
- package/dist/editors/network-profile/editor.d.ts.map +1 -1
- package/dist/editors/network-profile/editor.js +45 -13
- package/dist/editors/network-profile/module.d.ts +4 -0
- package/dist/editors/network-profile/module.d.ts.map +1 -0
- package/dist/editors/network-profile/module.js +10 -0
- package/dist/editors/payment-terms/components/clauses-section.d.ts +12 -0
- package/dist/editors/payment-terms/components/clauses-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/clauses-section.js +269 -0
- package/dist/editors/payment-terms/components/escrow-section.d.ts +13 -0
- package/dist/editors/payment-terms/components/escrow-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/escrow-section.js +72 -0
- package/dist/editors/payment-terms/components/evaluation-section.d.ts +13 -0
- package/dist/editors/payment-terms/components/evaluation-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/evaluation-section.js +94 -0
- package/dist/editors/payment-terms/components/header-section.d.ts +16 -0
- package/dist/editors/payment-terms/components/header-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/header-section.js +67 -0
- package/dist/editors/payment-terms/components/milestones-section.d.ts +11 -0
- package/dist/editors/payment-terms/components/milestones-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/milestones-section.js +236 -0
- package/dist/editors/payment-terms/components/parties-section.d.ts +11 -0
- package/dist/editors/payment-terms/components/parties-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/parties-section.js +36 -0
- package/dist/editors/payment-terms/components/payment-config-section.d.ts +11 -0
- package/dist/editors/payment-terms/components/payment-config-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/payment-config-section.js +68 -0
- package/dist/editors/payment-terms/components/time-materials-section.d.ts +11 -0
- package/dist/editors/payment-terms/components/time-materials-section.d.ts.map +1 -0
- package/dist/editors/payment-terms/components/time-materials-section.js +68 -0
- package/dist/editors/payment-terms/editor.d.ts +0 -2
- package/dist/editors/payment-terms/editor.d.ts.map +1 -1
- package/dist/editors/payment-terms/editor.js +39 -55
- package/dist/editors/payment-terms/module.d.ts +4 -0
- package/dist/editors/payment-terms/module.d.ts.map +1 -0
- package/dist/editors/payment-terms/module.js +10 -0
- package/dist/editors/request-for-proposals/components/EditName.d.ts +3 -0
- package/dist/editors/request-for-proposals/components/EditName.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/components/EditName.js +31 -0
- package/dist/editors/request-for-proposals/editor.d.ts.map +1 -1
- package/dist/editors/request-for-proposals/editor.js +4 -4
- package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -1
- package/dist/editors/request-for-proposals/markdown-editor.js +3 -3
- package/dist/editors/request-for-proposals/module.d.ts +4 -0
- package/dist/editors/request-for-proposals/module.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/module.js +10 -0
- package/dist/editors/workstream/editor.d.ts.map +1 -1
- package/dist/editors/workstream/editor.js +290 -165
- package/dist/editors/workstream/module.d.ts +4 -0
- package/dist/editors/workstream/module.d.ts.map +1 -0
- package/dist/editors/workstream/module.js +10 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/powerhouse.manifest.json +27 -6
- package/dist/processors/factory.d.ts +1 -1
- package/dist/processors/factory.d.ts.map +1 -1
- package/dist/processors/factory.js +1 -1
- package/dist/processors/index.d.ts +1 -1
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/workstreams/factory.d.ts.map +1 -1
- package/dist/processors/workstreams/factory.js +4 -1
- package/dist/processors/workstreams/index.d.ts +4 -2
- package/dist/processors/workstreams/index.d.ts.map +1 -1
- package/dist/processors/workstreams/index.js +102 -43
- package/dist/processors/workstreams/migrations.d.ts.map +1 -1
- package/dist/processors/workstreams/migrations.js +12 -15
- package/dist/scripts/sow-mirror/mirror_sow_state.js +119 -114
- package/dist/style.css +6046 -6846
- package/dist/subgraphs/{payment-terms → builders-addon}/index.d.ts +1 -1
- package/dist/subgraphs/builders-addon/index.d.ts.map +1 -0
- package/dist/subgraphs/{workstream → builders-addon}/index.js +2 -2
- package/dist/subgraphs/builders-addon/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/builders-addon/resolvers.js +442 -0
- package/dist/subgraphs/builders-addon/schema.d.ts.map +1 -0
- package/dist/subgraphs/builders-addon/schema.js +294 -0
- package/dist/subgraphs/index.d.ts +1 -5
- package/dist/subgraphs/index.d.ts.map +1 -1
- package/dist/subgraphs/index.js +1 -5
- package/dist/subgraphs/networks/resolvers.d.ts +2 -2
- package/dist/subgraphs/networks/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/networks/resolvers.js +138 -8
- package/dist/subgraphs/networks/schema.d.ts.map +1 -1
- package/dist/subgraphs/networks/schema.js +66 -1
- package/dist/subgraphs/workstreams/index.d.ts +4 -1
- package/dist/subgraphs/workstreams/index.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/index.js +6 -0
- package/dist/subgraphs/workstreams/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/resolvers.js +495 -30
- package/dist/subgraphs/workstreams/schema.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/schema.js +228 -35
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/vite.config.js +6 -1
- package/package.json +57 -56
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +0 -5
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +0 -1
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +0 -318
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +0 -5
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +0 -1
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +0 -210
- package/dist/editors/hooks/useNetworkProfileDocument.d.ts +0 -4
- package/dist/editors/hooks/useNetworkProfileDocument.d.ts.map +0 -1
- package/dist/editors/hooks/useNetworkProfileDocument.js +0 -8
- package/dist/editors/hooks/usePaymentTermsDocument.d.ts +0 -4
- package/dist/editors/hooks/usePaymentTermsDocument.d.ts.map +0 -1
- package/dist/editors/hooks/usePaymentTermsDocument.js +0 -8
- package/dist/editors/hooks/useRequestForProposalsDocument.d.ts +0 -4
- package/dist/editors/hooks/useRequestForProposalsDocument.d.ts.map +0 -1
- package/dist/editors/hooks/useRequestForProposalsDocument.js +0 -8
- package/dist/editors/hooks/useWorkstreamDocument.d.ts +0 -4
- package/dist/editors/hooks/useWorkstreamDocument.d.ts.map +0 -1
- package/dist/editors/hooks/useWorkstreamDocument.js +0 -8
- package/dist/editors/network-admin/index.d.ts +0 -3
- package/dist/editors/network-admin/index.d.ts.map +0 -1
- package/dist/editors/network-admin/index.js +0 -10
- package/dist/editors/network-profile/index.d.ts +0 -4
- package/dist/editors/network-profile/index.d.ts.map +0 -1
- package/dist/editors/network-profile/index.js +0 -10
- package/dist/editors/payment-terms/basic-terms-tab.d.ts +0 -10
- package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/basic-terms-tab.js +0 -89
- package/dist/editors/payment-terms/clauses-tab.d.ts +0 -12
- package/dist/editors/payment-terms/clauses-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/clauses-tab.js +0 -213
- package/dist/editors/payment-terms/cost-materials-tab.d.ts +0 -10
- package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/cost-materials-tab.js +0 -63
- package/dist/editors/payment-terms/escrow-tab.d.ts +0 -10
- package/dist/editors/payment-terms/escrow-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/escrow-tab.js +0 -57
- package/dist/editors/payment-terms/evaluation-tab.d.ts +0 -10
- package/dist/editors/payment-terms/evaluation-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/evaluation-tab.js +0 -63
- package/dist/editors/payment-terms/index.d.ts +0 -4
- package/dist/editors/payment-terms/index.d.ts.map +0 -1
- package/dist/editors/payment-terms/index.js +0 -10
- package/dist/editors/payment-terms/milestones-tab.d.ts +0 -10
- package/dist/editors/payment-terms/milestones-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/milestones-tab.js +0 -205
- package/dist/editors/payment-terms/retainer-tab.d.ts +0 -10
- package/dist/editors/payment-terms/retainer-tab.d.ts.map +0 -1
- package/dist/editors/payment-terms/retainer-tab.js +0 -91
- package/dist/editors/request-for-proposals/index.d.ts +0 -4
- package/dist/editors/request-for-proposals/index.d.ts.map +0 -1
- package/dist/editors/request-for-proposals/index.js +0 -10
- package/dist/editors/workstream/index.d.ts +0 -4
- package/dist/editors/workstream/index.d.ts.map +0 -1
- package/dist/editors/workstream/index.js +0 -10
- package/dist/editors/workstream/project-management-import.d.ts +0 -3
- package/dist/editors/workstream/project-management-import.d.ts.map +0 -1
- package/dist/editors/workstream/project-management-import.js +0 -5
- package/dist/subgraphs/network-profile/index.d.ts +0 -11
- package/dist/subgraphs/network-profile/index.d.ts.map +0 -1
- package/dist/subgraphs/network-profile/index.js +0 -11
- package/dist/subgraphs/network-profile/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/network-profile/resolvers.js +0 -205
- package/dist/subgraphs/network-profile/schema.d.ts.map +0 -1
- package/dist/subgraphs/network-profile/schema.js +0 -139
- package/dist/subgraphs/payment-terms/index.d.ts.map +0 -1
- package/dist/subgraphs/payment-terms/index.js +0 -11
- package/dist/subgraphs/payment-terms/resolvers.d.ts +0 -3
- package/dist/subgraphs/payment-terms/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/payment-terms/resolvers.js +0 -277
- package/dist/subgraphs/payment-terms/schema.d.ts +0 -3
- package/dist/subgraphs/payment-terms/schema.d.ts.map +0 -1
- package/dist/subgraphs/payment-terms/schema.js +0 -324
- package/dist/subgraphs/request-for-proposals/index.d.ts +0 -11
- package/dist/subgraphs/request-for-proposals/index.d.ts.map +0 -1
- package/dist/subgraphs/request-for-proposals/index.js +0 -11
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts +0 -3
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/request-for-proposals/resolvers.js +0 -145
- package/dist/subgraphs/request-for-proposals/schema.d.ts +0 -3
- package/dist/subgraphs/request-for-proposals/schema.d.ts.map +0 -1
- package/dist/subgraphs/request-for-proposals/schema.js +0 -232
- package/dist/subgraphs/workstream/index.d.ts +0 -11
- package/dist/subgraphs/workstream/index.d.ts.map +0 -1
- package/dist/subgraphs/workstream/resolvers.d.ts +0 -3
- package/dist/subgraphs/workstream/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/workstream/resolvers.js +0 -181
- package/dist/subgraphs/workstream/schema.d.ts +0 -3
- package/dist/subgraphs/workstream/schema.d.ts.map +0 -1
- package/dist/subgraphs/workstream/schema.js +0 -206
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -8
- /package/dist/subgraphs/{network-profile → builders-addon}/resolvers.d.ts +0 -0
- /package/dist/subgraphs/{network-profile → builders-addon}/schema.d.ts +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PaymentTermsState } from "../../document-models/payment-terms/gen/types.js";
|
|
2
|
-
import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
|
|
3
|
-
import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
|
|
4
|
-
export interface BasicTermsTabProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function BasicTermsTab({ state, dispatch, actions, }: BasicTermsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=basic-terms-tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic-terms-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/basic-terms-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,kBAAkB,2CA4SpB"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useMemo } from "react";
|
|
3
|
-
import { toast } from "@powerhousedao/design-system";
|
|
4
|
-
import { Select, TextInput, Button } from "@powerhousedao/document-engineering";
|
|
5
|
-
import {} from "../../document-models/payment-terms/index.js";
|
|
6
|
-
export function BasicTermsTab({ state, dispatch, actions, }) {
|
|
7
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
8
|
-
const [formData, setFormData] = useState({
|
|
9
|
-
proposer: state.proposer || "",
|
|
10
|
-
payer: state.payer || "",
|
|
11
|
-
currency: state.currency || "USD",
|
|
12
|
-
paymentModel: state.paymentModel || "MILESTONE",
|
|
13
|
-
totalAmount: state.totalAmount?.value?.toString() || "",
|
|
14
|
-
status: state.status || "DRAFT",
|
|
15
|
-
useEscrow: !!(state.escrowDetails && state.escrowDetails.releaseConditions),
|
|
16
|
-
});
|
|
17
|
-
const handleSubmit = useCallback((e) => {
|
|
18
|
-
e.preventDefault();
|
|
19
|
-
dispatch(actions.setBasicTerms({
|
|
20
|
-
proposer: formData.proposer,
|
|
21
|
-
payer: formData.payer,
|
|
22
|
-
currency: formData.currency,
|
|
23
|
-
paymentModel: formData.paymentModel,
|
|
24
|
-
totalAmount: formData.totalAmount
|
|
25
|
-
? {
|
|
26
|
-
value: parseFloat(formData.totalAmount),
|
|
27
|
-
unit: formData.currency,
|
|
28
|
-
}
|
|
29
|
-
: undefined,
|
|
30
|
-
}));
|
|
31
|
-
if (formData.status !== state.status) {
|
|
32
|
-
dispatch(actions.updateStatus({ status: formData.status }));
|
|
33
|
-
}
|
|
34
|
-
// Handle escrow toggle
|
|
35
|
-
if (formData.useEscrow && !state.escrowDetails) {
|
|
36
|
-
dispatch(actions.setEscrowDetails({
|
|
37
|
-
amountHeld: { value: 0, unit: formData.currency },
|
|
38
|
-
releaseConditions: "Upon project completion",
|
|
39
|
-
escrowProvider: "",
|
|
40
|
-
proofOfFundsDocumentId: "",
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
else if (!formData.useEscrow && state.escrowDetails) {
|
|
44
|
-
dispatch(actions.setEscrowDetails({
|
|
45
|
-
amountHeld: { value: 0, unit: formData.currency },
|
|
46
|
-
releaseConditions: "",
|
|
47
|
-
escrowProvider: "",
|
|
48
|
-
proofOfFundsDocumentId: "",
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
toast("Basic terms updated successfully", {
|
|
52
|
-
type: "success",
|
|
53
|
-
});
|
|
54
|
-
setIsEditing(false);
|
|
55
|
-
}, [formData, dispatch, actions, state.status, state.escrowDetails]);
|
|
56
|
-
const handleCancel = useCallback(() => {
|
|
57
|
-
setFormData({
|
|
58
|
-
proposer: state.proposer || "",
|
|
59
|
-
payer: state.payer || "",
|
|
60
|
-
currency: state.currency || "USD",
|
|
61
|
-
paymentModel: state.paymentModel || "MILESTONE",
|
|
62
|
-
totalAmount: state.totalAmount?.value?.toString() || "",
|
|
63
|
-
status: state.status || "DRAFT",
|
|
64
|
-
useEscrow: !!(state.escrowDetails && state.escrowDetails.releaseConditions),
|
|
65
|
-
});
|
|
66
|
-
setIsEditing(false);
|
|
67
|
-
}, [state]);
|
|
68
|
-
if (!isEditing) {
|
|
69
|
-
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold", children: "Basic Information" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Edit Terms" })] }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Proposer" }), _jsx("p", { className: "text-lg", children: state.proposer || "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Payer" }), _jsx("p", { className: "text-lg", children: state.payer || "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Currency" }), _jsx("p", { className: "text-lg", children: state.currency })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Payment Model" }), _jsx("p", { className: "text-lg", children: state.paymentModel.replace(/_/g, " ") })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Total Amount" }), _jsx("p", { className: "text-lg", children: state.totalAmount
|
|
70
|
-
? `${state.totalAmount.value} ${state.totalAmount.unit}`
|
|
71
|
-
: "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Status" }), _jsx("p", { className: "text-lg", children: state.status })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Escrow" }), _jsx("p", { className: "text-lg", children: state.escrowDetails && state.escrowDetails.releaseConditions
|
|
72
|
-
? "Enabled"
|
|
73
|
-
: "Disabled" })] })] })] }));
|
|
74
|
-
}
|
|
75
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold", children: "Edit Basic Terms" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Proposer *" }), _jsx(TextInput, { value: formData.proposer, onChange: (e) => setFormData({ ...formData, proposer: e.target.value }), placeholder: "Enter proposer name", required: true })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Payer *" }), _jsx(TextInput, { value: formData.payer, onChange: (e) => setFormData({ ...formData, payer: e.target.value }), placeholder: "Enter payer name", required: true })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Currency *" }), _jsx(Select, { value: formData.currency, onChange: (value) => setFormData({ ...formData, currency: value }), options: [
|
|
76
|
-
{ value: "USD", label: "USD" },
|
|
77
|
-
{ value: "EUR", label: "EUR" },
|
|
78
|
-
{ value: "GBP", label: "GBP" },
|
|
79
|
-
], placeholder: "Select currency", required: true })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Payment Model *" }), _jsx(Select, { value: formData.paymentModel, onChange: (value) => setFormData({ ...formData, paymentModel: value }), options: [
|
|
80
|
-
{ value: "MILESTONE", label: "Milestone" },
|
|
81
|
-
{ value: "COST_AND_MATERIALS", label: "Cost & Materials" },
|
|
82
|
-
{ value: "RETAINER", label: "Retainer" },
|
|
83
|
-
], placeholder: "Select payment model", required: true })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Total Amount" }), _jsx(TextInput, { value: formData.totalAmount, onChange: (e) => setFormData({ ...formData, totalAmount: e.target.value }), placeholder: "0.00", type: "number", step: "0.01" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Status *" }), _jsx(Select, { value: formData.status, onChange: (value) => setFormData({ ...formData, status: value }), options: [
|
|
84
|
-
{ value: "DRAFT", label: "Draft" },
|
|
85
|
-
{ value: "SUBMITTED", label: "Submitted" },
|
|
86
|
-
{ value: "ACCEPTED", label: "Accepted" },
|
|
87
|
-
{ value: "CANCELLED", label: "Cancelled" },
|
|
88
|
-
], placeholder: "Select status", required: true })] }), _jsx("div", { className: "col-span-2", children: _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "useEscrow", checked: formData.useEscrow, onChange: (e) => setFormData({ ...formData, useEscrow: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "useEscrow", className: "text-sm font-medium text-gray-700", children: "Use Escrow" })] }) })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Save Terms" }), _jsx(Button, { type: "button", onClick: handleCancel, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] }));
|
|
89
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { BonusClause, PenaltyClause } from "../../document-models/payment-terms/gen/types.js";
|
|
2
|
-
import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
|
|
3
|
-
import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
|
|
4
|
-
export interface ClausesTabProps {
|
|
5
|
-
bonusClauses: BonusClause[];
|
|
6
|
-
penaltyClauses: PenaltyClause[];
|
|
7
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
8
|
-
actions: typeof paymentTermsActions;
|
|
9
|
-
currency: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function ClausesTab({ bonusClauses, penaltyClauses, dispatch, actions, currency, }: ClausesTabProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
//# sourceMappingURL=clauses-tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clauses-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/clauses-tab.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,EACzB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,OAAO,EACP,QAAgB,GACjB,EAAE,eAAe,2CA+XjB"}
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useMemo } from "react";
|
|
3
|
-
import { ObjectSetTable, TextInput, Textarea, Button, } from "@powerhousedao/document-engineering";
|
|
4
|
-
import { Icon, toast } from "@powerhousedao/design-system";
|
|
5
|
-
import { generateId } from "document-model/core";
|
|
6
|
-
import {} from "../../document-models/payment-terms/index.js";
|
|
7
|
-
export function ClausesTab({ bonusClauses, penaltyClauses, dispatch, actions, currency = "USD", }) {
|
|
8
|
-
const [activeSubTab, setActiveSubTab] = useState("bonus");
|
|
9
|
-
const [isAddingNew, setIsAddingNew] = useState(false);
|
|
10
|
-
const [newClause, setNewClause] = useState({
|
|
11
|
-
condition: "",
|
|
12
|
-
amount: "",
|
|
13
|
-
comment: "",
|
|
14
|
-
});
|
|
15
|
-
const bonusColumns = useMemo(() => [
|
|
16
|
-
{
|
|
17
|
-
field: "condition",
|
|
18
|
-
title: "Condition",
|
|
19
|
-
editable: true,
|
|
20
|
-
align: "left",
|
|
21
|
-
onSave: (newValue, context) => {
|
|
22
|
-
dispatch(actions.updateBonusClause({
|
|
23
|
-
id: context.row.id,
|
|
24
|
-
condition: newValue,
|
|
25
|
-
}));
|
|
26
|
-
toast("Bonus clause condition updated", {
|
|
27
|
-
type: "success",
|
|
28
|
-
});
|
|
29
|
-
return true;
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
field: "bonusAmount",
|
|
34
|
-
title: `Bonus Amount (${currency})`,
|
|
35
|
-
editable: true,
|
|
36
|
-
align: "right",
|
|
37
|
-
renderCell: (value) => {
|
|
38
|
-
return value ? `${value.value} ${value.unit}` : "";
|
|
39
|
-
},
|
|
40
|
-
onSave: (newValue, context) => {
|
|
41
|
-
const amount = parseFloat(newValue);
|
|
42
|
-
if (isNaN(amount)) {
|
|
43
|
-
toast("Please enter a valid amount", {
|
|
44
|
-
type: "error",
|
|
45
|
-
});
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
dispatch(actions.updateBonusClause({
|
|
49
|
-
id: context.row.id,
|
|
50
|
-
bonusAmount: { value: amount, unit: currency },
|
|
51
|
-
}));
|
|
52
|
-
toast("Bonus amount updated", {
|
|
53
|
-
type: "success",
|
|
54
|
-
});
|
|
55
|
-
return true;
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
field: "comment",
|
|
60
|
-
title: "Comment",
|
|
61
|
-
editable: true,
|
|
62
|
-
align: "left",
|
|
63
|
-
renderCell: (value) => value || "-",
|
|
64
|
-
onSave: (newValue, context) => {
|
|
65
|
-
dispatch(actions.updateBonusClause({
|
|
66
|
-
id: context.row.id,
|
|
67
|
-
comment: newValue || undefined,
|
|
68
|
-
}));
|
|
69
|
-
toast("Bonus clause comment updated", {
|
|
70
|
-
type: "success",
|
|
71
|
-
});
|
|
72
|
-
return true;
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
], [actions, currency, dispatch]);
|
|
76
|
-
const penaltyColumns = useMemo(() => [
|
|
77
|
-
{
|
|
78
|
-
field: "condition",
|
|
79
|
-
title: "Condition",
|
|
80
|
-
editable: true,
|
|
81
|
-
align: "left",
|
|
82
|
-
onSave: (newValue, context) => {
|
|
83
|
-
dispatch(actions.updatePenaltyClause({
|
|
84
|
-
id: context.row.id,
|
|
85
|
-
condition: newValue,
|
|
86
|
-
}));
|
|
87
|
-
toast("Penalty clause condition updated", {
|
|
88
|
-
type: "success",
|
|
89
|
-
});
|
|
90
|
-
return true;
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
field: "deductionAmount",
|
|
95
|
-
title: `Deduction Amount (${currency})`,
|
|
96
|
-
editable: true,
|
|
97
|
-
align: "right",
|
|
98
|
-
renderCell: (value) => {
|
|
99
|
-
return value ? `${value.value} ${value.unit}` : "";
|
|
100
|
-
},
|
|
101
|
-
onSave: (newValue, context) => {
|
|
102
|
-
const amount = parseFloat(newValue);
|
|
103
|
-
if (isNaN(amount)) {
|
|
104
|
-
toast("Please enter a valid amount", {
|
|
105
|
-
type: "error",
|
|
106
|
-
});
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
dispatch(actions.updatePenaltyClause({
|
|
110
|
-
id: context.row.id,
|
|
111
|
-
deductionAmount: { value: amount, unit: currency },
|
|
112
|
-
}));
|
|
113
|
-
toast("Deduction amount updated", {
|
|
114
|
-
type: "success",
|
|
115
|
-
});
|
|
116
|
-
return true;
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
field: "comment",
|
|
121
|
-
title: "Comment",
|
|
122
|
-
editable: true,
|
|
123
|
-
align: "left",
|
|
124
|
-
renderCell: (value) => value || "-",
|
|
125
|
-
onSave: (newValue, context) => {
|
|
126
|
-
dispatch(actions.updatePenaltyClause({
|
|
127
|
-
id: context.row.id,
|
|
128
|
-
comment: newValue || undefined,
|
|
129
|
-
}));
|
|
130
|
-
toast("Penalty clause comment updated", {
|
|
131
|
-
type: "success",
|
|
132
|
-
});
|
|
133
|
-
return true;
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
], [actions, currency, dispatch]);
|
|
137
|
-
const handleAddClause = useCallback((e) => {
|
|
138
|
-
e.preventDefault();
|
|
139
|
-
if (!newClause.condition.trim()) {
|
|
140
|
-
toast("Condition is required", {
|
|
141
|
-
type: "error",
|
|
142
|
-
});
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if (!newClause.amount || isNaN(parseFloat(newClause.amount))) {
|
|
146
|
-
toast("Valid amount is required", {
|
|
147
|
-
type: "error",
|
|
148
|
-
});
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
if (activeSubTab === "bonus") {
|
|
152
|
-
dispatch(actions.addBonusClause({
|
|
153
|
-
id: generateId(),
|
|
154
|
-
condition: newClause.condition,
|
|
155
|
-
bonusAmount: {
|
|
156
|
-
value: parseFloat(newClause.amount),
|
|
157
|
-
unit: currency,
|
|
158
|
-
},
|
|
159
|
-
comment: newClause.comment || undefined,
|
|
160
|
-
}));
|
|
161
|
-
toast("Bonus clause added successfully", {
|
|
162
|
-
type: "success",
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
dispatch(actions.addPenaltyClause({
|
|
167
|
-
id: generateId(),
|
|
168
|
-
condition: newClause.condition,
|
|
169
|
-
deductionAmount: {
|
|
170
|
-
value: parseFloat(newClause.amount),
|
|
171
|
-
unit: currency,
|
|
172
|
-
},
|
|
173
|
-
comment: newClause.comment || undefined,
|
|
174
|
-
}));
|
|
175
|
-
toast("Penalty clause added successfully", {
|
|
176
|
-
type: "success",
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
setNewClause({
|
|
180
|
-
condition: "",
|
|
181
|
-
amount: "",
|
|
182
|
-
comment: "",
|
|
183
|
-
});
|
|
184
|
-
setIsAddingNew(false);
|
|
185
|
-
}, [newClause, activeSubTab, dispatch, actions, currency]);
|
|
186
|
-
const currentClauses = activeSubTab === "bonus" ? bonusClauses : penaltyClauses;
|
|
187
|
-
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Bonus & Penalty Clauses" }), _jsxs("p", { className: "text-sm text-gray-600 dark:text-gray-300 mt-1", children: [bonusClauses.length, " bonus clause(s), ", penaltyClauses.length, " ", "penalty clause(s)"] })] }), _jsxs(Button, { onClick: () => setIsAddingNew(!isAddingNew), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: [_jsx(Icon, { name: "Plus", size: 16, className: "mr-2" }), "Add ", activeSubTab === "bonus" ? "Bonus" : "Penalty", " Clause"] })] }), _jsxs("div", { className: "flex space-x-1 border-b border-gray-200 dark:border-gray-600", children: [_jsxs("button", { onClick: () => setActiveSubTab("bonus"), className: `px-4 py-2 text-sm font-medium rounded-t-lg ${activeSubTab === "bonus"
|
|
188
|
-
? "bg-blue-50 dark:bg-blue-900 text-blue-700 dark:text-blue-300 border-b-2 border-blue-700 dark:border-blue-300"
|
|
189
|
-
: "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200"}`, children: ["Bonus Clauses (", bonusClauses.length, ")"] }), _jsxs("button", { onClick: () => setActiveSubTab("penalty"), className: `px-4 py-2 text-sm font-medium rounded-t-lg ${activeSubTab === "penalty"
|
|
190
|
-
? "bg-red-50 dark:bg-red-900 text-red-700 dark:text-red-300 border-b-2 border-red-700 dark:border-red-300"
|
|
191
|
-
: "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200"}`, children: ["Penalty Clauses (", penaltyClauses.length, ")"] })] }), isAddingNew && (_jsxs("div", { className: "bg-gray-50 dark:bg-gray-700 p-4 rounded-lg border dark:border-gray-600", children: [_jsxs("h3", { className: "text-lg font-medium mb-4 dark:text-white", children: ["Add New ", activeSubTab === "bonus" ? "Bonus" : "Penalty", " Clause"] }), _jsxs("form", { onSubmit: handleAddClause, className: "space-y-4", children: [_jsx(TextInput, { label: "Condition *", value: newClause.condition, onChange: (e) => setNewClause({ ...newClause, condition: e.target.value }), className: "w-full", required: true }), _jsx(TextInput, { label: `${activeSubTab === "bonus" ? "Bonus" : "Deduction"} Amount (${currency}) *`, type: "number", value: newClause.amount, onChange: (e) => setNewClause({ ...newClause, amount: e.target.value }), className: "w-full", placeholder: "0.00", step: "0.01", required: true }), _jsx(Textarea, { label: "Comment", value: newClause.comment, onChange: (e) => setNewClause({ ...newClause, comment: e.target.value }), className: "w-full", rows: 3, placeholder: "Optional comment or additional details..." }), _jsxs("div", { className: "flex gap-3", children: [_jsxs(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: ["Add ", activeSubTab === "bonus" ? "Bonus" : "Penalty", " Clause"] }), _jsx(Button, { type: "button", onClick: () => {
|
|
192
|
-
setIsAddingNew(false);
|
|
193
|
-
setNewClause({
|
|
194
|
-
condition: "",
|
|
195
|
-
amount: "",
|
|
196
|
-
comment: "",
|
|
197
|
-
});
|
|
198
|
-
}, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] })] })), currentClauses.length > 0 ? (activeSubTab === "bonus" ? (_jsx(ObjectSetTable, { data: bonusClauses, columns: bonusColumns, onAdd: () => setIsAddingNew(true), onDelete: (row) => {
|
|
199
|
-
dispatch(actions.deleteBonusClause({
|
|
200
|
-
id: row.id,
|
|
201
|
-
}));
|
|
202
|
-
toast("Bonus clause deleted", {
|
|
203
|
-
type: "success",
|
|
204
|
-
});
|
|
205
|
-
} })) : (_jsx(ObjectSetTable, { data: penaltyClauses, columns: penaltyColumns, onAdd: () => setIsAddingNew(true), onDelete: (row) => {
|
|
206
|
-
dispatch(actions.deletePenaltyClause({
|
|
207
|
-
id: row.id,
|
|
208
|
-
}));
|
|
209
|
-
toast("Penalty clause deleted", {
|
|
210
|
-
type: "success",
|
|
211
|
-
});
|
|
212
|
-
} }))) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400 border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg", children: [_jsx(Icon, { name: "Checkmark", size: 48, className: "mx-auto mb-4 text-gray-400" }), _jsxs("p", { className: "text-lg font-medium", children: ["No ", activeSubTab, " clauses defined yet"] }), _jsxs("p", { className: "text-sm", children: ["Add your first ", activeSubTab, " clause to get started"] })] }))] }));
|
|
213
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PaymentTermsState } from "../../document-models/payment-terms/gen/schema/types.js";
|
|
2
|
-
import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
|
|
3
|
-
import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
|
|
4
|
-
export interface CostMaterialsTabProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function CostMaterialsTab({ state, dispatch, actions, }: CostMaterialsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=cost-materials-tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-materials-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/cost-materials-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,yDAAyD,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,qBAAqB,2CA6NvB"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { TextInput, Select, Button } from "@powerhousedao/document-engineering";
|
|
4
|
-
import { toast } from "@powerhousedao/design-system";
|
|
5
|
-
import {} from "../../document-models/payment-terms/index.js";
|
|
6
|
-
export function CostMaterialsTab({ state, dispatch, actions, }) {
|
|
7
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
8
|
-
const [formData, setFormData] = useState({
|
|
9
|
-
hourlyRate: state.costAndMaterials?.hourlyRate?.value?.toString() || "",
|
|
10
|
-
variableCap: state.costAndMaterials?.variableCap?.value?.toString() || "",
|
|
11
|
-
billingFrequency: state.costAndMaterials?.billingFrequency || "MONTHLY",
|
|
12
|
-
timesheetRequired: state.costAndMaterials?.timesheetRequired || false,
|
|
13
|
-
});
|
|
14
|
-
const handleSubmit = useCallback((e) => {
|
|
15
|
-
e.preventDefault();
|
|
16
|
-
dispatch(actions.setCostAndMaterials({
|
|
17
|
-
hourlyRate: formData.hourlyRate
|
|
18
|
-
? {
|
|
19
|
-
value: parseFloat(formData.hourlyRate),
|
|
20
|
-
unit: state.currency,
|
|
21
|
-
}
|
|
22
|
-
: undefined,
|
|
23
|
-
variableCap: formData.variableCap
|
|
24
|
-
? {
|
|
25
|
-
value: parseFloat(formData.variableCap),
|
|
26
|
-
unit: state.currency,
|
|
27
|
-
}
|
|
28
|
-
: undefined,
|
|
29
|
-
billingFrequency: formData.billingFrequency,
|
|
30
|
-
timesheetRequired: formData.timesheetRequired,
|
|
31
|
-
}));
|
|
32
|
-
toast("Cost & Materials configuration saved", {
|
|
33
|
-
type: "success",
|
|
34
|
-
});
|
|
35
|
-
setIsEditing(false);
|
|
36
|
-
}, [formData, dispatch, actions, state.currency]);
|
|
37
|
-
const handleCancel = useCallback(() => {
|
|
38
|
-
setFormData({
|
|
39
|
-
hourlyRate: state.costAndMaterials?.hourlyRate?.value?.toString() || "",
|
|
40
|
-
variableCap: state.costAndMaterials?.variableCap?.value?.toString() || "",
|
|
41
|
-
billingFrequency: state.costAndMaterials?.billingFrequency || "MONTHLY",
|
|
42
|
-
timesheetRequired: state.costAndMaterials?.timesheetRequired || false,
|
|
43
|
-
});
|
|
44
|
-
setIsEditing(false);
|
|
45
|
-
}, [state.costAndMaterials]);
|
|
46
|
-
if (!isEditing) {
|
|
47
|
-
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Cost & Materials Configuration" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.costAndMaterials
|
|
48
|
-
? "Edit Configuration"
|
|
49
|
-
: "Configure Cost & Materials" })] }), state.costAndMaterials ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Hourly Rate" }), _jsx("p", { className: "text-lg dark:text-white", children: state.costAndMaterials.hourlyRate
|
|
50
|
-
? `${state.costAndMaterials.hourlyRate.value} ${state.costAndMaterials.hourlyRate.unit}`
|
|
51
|
-
: "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Variable Cap" }), _jsx("p", { className: "text-lg dark:text-white", children: state.costAndMaterials.variableCap
|
|
52
|
-
? `${state.costAndMaterials.variableCap.value} ${state.costAndMaterials.variableCap.unit}`
|
|
53
|
-
: "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Billing Frequency" }), _jsx("p", { className: "text-lg dark:text-white", children: state.costAndMaterials.billingFrequency })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Timesheet Required" }), _jsx("p", { className: "text-lg dark:text-white", children: state.costAndMaterials.timesheetRequired ? "Yes" : "No" })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No cost & materials configuration set up yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Cost & Materials\" to get started." })] }))] }));
|
|
54
|
-
}
|
|
55
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Cost & Materials" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Hourly Rate" }), _jsx(TextInput, { value: formData.hourlyRate, onChange: (e) => setFormData({ ...formData, hourlyRate: e.target.value }), placeholder: "0.00", type: "number", step: "0.01" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Variable Cap" }), _jsx(TextInput, { value: formData.variableCap, onChange: (e) => setFormData({ ...formData, variableCap: e.target.value }), placeholder: "0.00", type: "number", step: "0.01" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Billing Frequency *" }), _jsx(Select, { value: formData.billingFrequency, onChange: (value) => setFormData({
|
|
56
|
-
...formData,
|
|
57
|
-
billingFrequency: value,
|
|
58
|
-
}), options: [
|
|
59
|
-
{ value: "WEEKLY", label: "Weekly" },
|
|
60
|
-
{ value: "BIWEEKLY", label: "Biweekly" },
|
|
61
|
-
{ value: "MONTHLY", label: "Monthly" },
|
|
62
|
-
], placeholder: "Select billing frequency", required: true })] }), _jsxs("div", { className: "flex items-center pt-6", children: [_jsx("input", { type: "checkbox", id: "timesheetRequired", checked: formData.timesheetRequired, onChange: (e) => setFormData({ ...formData, timesheetRequired: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "timesheetRequired", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Timesheet Required" })] })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Save Configuration" }), _jsx(Button, { type: "button", onClick: handleCancel, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] }));
|
|
63
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PaymentTermsState } from "../../document-models/payment-terms/gen/schema/types.js";
|
|
2
|
-
import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
|
|
3
|
-
import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
|
|
4
|
-
export interface EscrowTabProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function EscrowTab({ state, dispatch, actions }: EscrowTabProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=escrow-tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"escrow-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/escrow-tab.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,2CA4LrE"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { TextInput, Textarea, Button, } from "@powerhousedao/document-engineering";
|
|
4
|
-
import { toast } from "@powerhousedao/design-system";
|
|
5
|
-
import {} from "../../document-models/payment-terms/index.js";
|
|
6
|
-
export function EscrowTab({ state, dispatch, actions }) {
|
|
7
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
8
|
-
const [formData, setFormData] = useState({
|
|
9
|
-
amountHeld: state.escrowDetails?.amountHeld?.value?.toString() || "",
|
|
10
|
-
proofOfFundsDocumentId: state.escrowDetails?.proofOfFundsDocumentId || "",
|
|
11
|
-
releaseConditions: state.escrowDetails?.releaseConditions || "",
|
|
12
|
-
escrowProvider: state.escrowDetails?.escrowProvider || "",
|
|
13
|
-
});
|
|
14
|
-
const handleSubmit = useCallback((e) => {
|
|
15
|
-
e.preventDefault();
|
|
16
|
-
if (!formData.amountHeld || isNaN(parseFloat(formData.amountHeld))) {
|
|
17
|
-
toast("Please enter a valid amount to be held in escrow", {
|
|
18
|
-
type: "error",
|
|
19
|
-
});
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (!formData.releaseConditions.trim()) {
|
|
23
|
-
toast("Release conditions are required", {
|
|
24
|
-
type: "error",
|
|
25
|
-
});
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
dispatch(actions.setEscrowDetails({
|
|
29
|
-
amountHeld: {
|
|
30
|
-
value: parseFloat(formData.amountHeld),
|
|
31
|
-
unit: state.currency,
|
|
32
|
-
},
|
|
33
|
-
proofOfFundsDocumentId: formData.proofOfFundsDocumentId || undefined,
|
|
34
|
-
releaseConditions: formData.releaseConditions,
|
|
35
|
-
escrowProvider: formData.escrowProvider || undefined,
|
|
36
|
-
}));
|
|
37
|
-
toast("Escrow details saved", {
|
|
38
|
-
type: "success",
|
|
39
|
-
});
|
|
40
|
-
setIsEditing(false);
|
|
41
|
-
}, [formData, dispatch, actions, state.currency]);
|
|
42
|
-
const handleCancel = useCallback(() => {
|
|
43
|
-
setFormData({
|
|
44
|
-
amountHeld: state.escrowDetails?.amountHeld?.value?.toString() || "",
|
|
45
|
-
proofOfFundsDocumentId: state.escrowDetails?.proofOfFundsDocumentId || "",
|
|
46
|
-
releaseConditions: state.escrowDetails?.releaseConditions || "",
|
|
47
|
-
escrowProvider: state.escrowDetails?.escrowProvider || "",
|
|
48
|
-
});
|
|
49
|
-
setIsEditing(false);
|
|
50
|
-
}, [state.escrowDetails]);
|
|
51
|
-
if (!isEditing) {
|
|
52
|
-
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Escrow Configuration" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.escrowDetails ? "Edit Escrow" : "Configure Escrow" })] }), state.escrowDetails && state.escrowDetails.releaseConditions ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Amount Held" }), _jsx("p", { className: "text-lg dark:text-white", children: state.escrowDetails.amountHeld
|
|
53
|
-
? `${state.escrowDetails.amountHeld.value} ${state.escrowDetails.amountHeld.unit}`
|
|
54
|
-
: "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Escrow Provider" }), _jsx("p", { className: "text-lg dark:text-white", children: state.escrowDetails.escrowProvider || "Not specified" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Proof of Funds Document ID" }), _jsx("p", { className: "text-lg font-mono text-sm dark:text-white", children: state.escrowDetails.proofOfFundsDocumentId || "Not provided" })] }), _jsxs("div", { className: "col-span-1", children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Release Conditions" }), _jsx("div", { className: "bg-gray-50 dark:bg-gray-700 p-3 rounded border dark:border-gray-600", children: _jsx("p", { className: "text-sm dark:text-white", children: state.escrowDetails.releaseConditions }) })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No escrow configuration set up yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Escrow\" to get started." })] }))] }));
|
|
55
|
-
}
|
|
56
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Escrow" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsx(TextInput, { label: `Amount Held (${state.currency}) *`, type: "number", value: formData.amountHeld, onChange: (e) => setFormData({ ...formData, amountHeld: e.target.value }), className: "w-full", placeholder: "0.00", step: "0.01", required: true }), _jsx(TextInput, { label: "Escrow Provider", value: formData.escrowProvider, onChange: (e) => setFormData({ ...formData, escrowProvider: e.target.value }), className: "w-full", placeholder: "e.g., Escrow.com" }), _jsx(TextInput, { label: "Proof of Funds Document ID", value: formData.proofOfFundsDocumentId, onChange: (e) => setFormData({ ...formData, proofOfFundsDocumentId: e.target.value }), className: "w-full", placeholder: "Document reference ID" }), _jsx("div", { className: "col-span-1", children: _jsx(Textarea, { label: "Release Conditions *", value: formData.releaseConditions, onChange: (e) => setFormData({ ...formData, releaseConditions: e.target.value }), className: "w-full", rows: 4, placeholder: "Describe the conditions for releasing escrow funds...", required: true }) })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", children: "Save Escrow Details" }), _jsx(Button, { type: "button", onClick: handleCancel, children: "Cancel" })] })] }));
|
|
57
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PaymentTermsState } from "../../document-models/payment-terms/gen/schema/types.js";
|
|
2
|
-
import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
|
|
3
|
-
import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
|
|
4
|
-
export interface EvaluationTabProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function EvaluationTab({ state, dispatch, actions }: EvaluationTabProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=evaluation-tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/evaluation-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,yDAAyD,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,kBAAkB,2CA2N7E"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useMemo } from "react";
|
|
3
|
-
import { TextInput, Select, Textarea, Button } from "@powerhousedao/document-engineering";
|
|
4
|
-
import { toast } from "@powerhousedao/design-system";
|
|
5
|
-
import {} from "../../document-models/payment-terms/index.js";
|
|
6
|
-
export function EvaluationTab({ state, dispatch, actions }) {
|
|
7
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
8
|
-
const [formData, setFormData] = useState({
|
|
9
|
-
evaluationFrequency: state.evaluation?.evaluationFrequency || "MONTHLY",
|
|
10
|
-
evaluatorTeam: state.evaluation?.evaluatorTeam || "",
|
|
11
|
-
criteria: state.evaluation?.criteria?.join("\n") || "",
|
|
12
|
-
impactsPayout: state.evaluation?.impactsPayout || false,
|
|
13
|
-
impactsReputation: state.evaluation?.impactsReputation || false,
|
|
14
|
-
commentsVisibleToClient: state.evaluation?.commentsVisibleToClient || false
|
|
15
|
-
});
|
|
16
|
-
const evaluationFrequencyOptions = useMemo(() => [
|
|
17
|
-
{ label: "Weekly", value: "WEEKLY" },
|
|
18
|
-
{ label: "Monthly", value: "MONTHLY" },
|
|
19
|
-
{ label: "Per Milestone", value: "PER_MILESTONE" }
|
|
20
|
-
], []);
|
|
21
|
-
const handleSubmit = useCallback((e) => {
|
|
22
|
-
e.preventDefault();
|
|
23
|
-
if (!formData.evaluatorTeam.trim()) {
|
|
24
|
-
toast("Evaluator team is required", {
|
|
25
|
-
type: "error",
|
|
26
|
-
});
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (!formData.criteria.trim()) {
|
|
30
|
-
toast("Evaluation criteria are required", {
|
|
31
|
-
type: "error",
|
|
32
|
-
});
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
dispatch(actions.setEvaluationTerms({
|
|
36
|
-
evaluationFrequency: formData.evaluationFrequency,
|
|
37
|
-
evaluatorTeam: formData.evaluatorTeam,
|
|
38
|
-
criteria: formData.criteria.split("\n").filter(c => c.trim()),
|
|
39
|
-
impactsPayout: formData.impactsPayout,
|
|
40
|
-
impactsReputation: formData.impactsReputation,
|
|
41
|
-
commentsVisibleToClient: formData.commentsVisibleToClient
|
|
42
|
-
}));
|
|
43
|
-
toast("Evaluation terms saved", {
|
|
44
|
-
type: "success",
|
|
45
|
-
});
|
|
46
|
-
setIsEditing(false);
|
|
47
|
-
}, [formData, dispatch, actions]);
|
|
48
|
-
const handleCancel = useCallback(() => {
|
|
49
|
-
setFormData({
|
|
50
|
-
evaluationFrequency: state.evaluation?.evaluationFrequency || "MONTHLY",
|
|
51
|
-
evaluatorTeam: state.evaluation?.evaluatorTeam || "",
|
|
52
|
-
criteria: state.evaluation?.criteria?.join("\n") || "",
|
|
53
|
-
impactsPayout: state.evaluation?.impactsPayout || false,
|
|
54
|
-
impactsReputation: state.evaluation?.impactsReputation || false,
|
|
55
|
-
commentsVisibleToClient: state.evaluation?.commentsVisibleToClient || false
|
|
56
|
-
});
|
|
57
|
-
setIsEditing(false);
|
|
58
|
-
}, [state.evaluation]);
|
|
59
|
-
if (!isEditing) {
|
|
60
|
-
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Evaluation Terms" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.evaluation ? "Edit Terms" : "Configure Evaluation" })] }), state.evaluation ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluation Frequency" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.evaluationFrequency })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluator Team" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.evaluatorTeam })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Impacts Payout" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.impactsPayout ? "Yes" : "No" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Impacts Reputation" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.impactsReputation ? "Yes" : "No" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Comments Visible to Client" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.commentsVisibleToClient ? "Yes" : "No" })] }), _jsxs("div", { className: "col-span-2", children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluation Criteria" }), _jsx("div", { className: "bg-gray-50 dark:bg-gray-700 p-3 rounded border dark:border-gray-600", children: _jsx("ul", { className: "list-disc list-inside text-sm space-y-1", children: state.evaluation.criteria.map((criterion, index) => (_jsx("li", { children: criterion }, index))) }) })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No evaluation terms configured yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Evaluation\" to get started." })] }))] }));
|
|
61
|
-
}
|
|
62
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Evaluation Terms" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsx(Select, { label: "Evaluation Frequency *", options: evaluationFrequencyOptions, value: formData.evaluationFrequency, onChange: (value) => setFormData({ ...formData, evaluationFrequency: value }) }), _jsx(TextInput, { label: "Evaluator Team *", value: formData.evaluatorTeam, onChange: (e) => setFormData({ ...formData, evaluatorTeam: e.target.value }), className: "w-full", placeholder: "e.g., Product Team", required: true }), _jsx("div", { className: "col-span-2", children: _jsx(Textarea, { label: "Evaluation Criteria * (one per line)", value: formData.criteria, onChange: (e) => setFormData({ ...formData, criteria: e.target.value }), className: "w-full", rows: 6, placeholder: "Enter each evaluation criterion on a separate line...", required: true }) }), _jsxs("div", { className: "col-span-2 space-y-4", children: [_jsx("h3", { className: "text-lg font-medium dark:text-white", children: "Impact Settings" }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "impactsPayout", checked: formData.impactsPayout, onChange: (e) => setFormData({ ...formData, impactsPayout: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "impactsPayout", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation results impact payout" })] }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "impactsReputation", checked: formData.impactsReputation, onChange: (e) => setFormData({ ...formData, impactsReputation: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "impactsReputation", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation results impact reputation" })] }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "commentsVisibleToClient", checked: formData.commentsVisibleToClient, onChange: (e) => setFormData({ ...formData, commentsVisibleToClient: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "commentsVisibleToClient", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation comments visible to client" })] })] })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Save Evaluation Terms" }), _jsx(Button, { type: "button", onClick: handleCancel, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] }));
|
|
63
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|