@powerhousedao/network-admin 0.0.64 → 1.0.0-dev.2
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/document-models.d.ts.map +1 -1
- package/dist/document-models/document-models.js +0 -2
- package/dist/document-models/index.d.ts +0 -1
- package/dist/document-models/index.d.ts.map +1 -1
- package/dist/document-models/index.js +0 -1
- 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/ph-factories.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/ph-factories.js +0 -2
- package/dist/document-models/network-profile/gen/reducer.d.ts +0 -1
- package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/schema/types.d.ts +2 -6
- 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 +2 -8
- package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/schema/zod.js +2 -6
- package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
- package/dist/document-models/network-profile/gen/utils.js +1 -3
- 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/module.d.ts +1 -1
- package/dist/document-models/network-profile/module.d.ts.map +1 -1
- package/dist/document-models/network-profile/module.js +1 -1
- package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +1 -0
- 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 +18 -27
- package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +0 -4
- 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 +6 -92
- package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +115 -69
- package/dist/document-models/payment-terms/actions.d.ts +2 -1
- package/dist/document-models/payment-terms/actions.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts +40 -1
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/clauses/error.js +32 -1
- package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/document-model.js +180 -89
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts +26 -1
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/milestones/error.js +18 -1
- package/dist/document-models/payment-terms/gen/ph-factories.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/ph-factories.js +2 -1
- package/dist/document-models/payment-terms/gen/reducer.d.ts +0 -1
- package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/reducer.js +9 -4
- package/dist/document-models/payment-terms/gen/schema/types.d.ts +29 -14
- 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 +12 -36
- package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/schema/zod.js +55 -29
- package/dist/document-models/payment-terms/gen/terms/actions.d.ts +9 -5
- 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 +4 -3
- package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -1
- package/dist/document-models/payment-terms/gen/terms/creators.js +3 -2
- package/dist/document-models/payment-terms/gen/terms/operations.d.ts +3 -2
- 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 +3 -2
- 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/module.d.ts +1 -1
- package/dist/document-models/payment-terms/module.d.ts.map +1 -1
- package/dist/document-models/payment-terms/module.js +1 -1
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +1 -0
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/clauses.js +15 -13
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +1 -0
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/milestones.js +12 -10
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts +1 -0
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -1
- package/dist/document-models/payment-terms/src/reducers/terms.js +24 -14
- package/dist/document-models/payment-terms/src/tests/clauses.test.js +21 -26
- package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +0 -4
- 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 +6 -92
- package/dist/document-models/payment-terms/src/tests/milestones.test.js +19 -22
- package/dist/document-models/payment-terms/src/tests/terms.test.js +29 -24
- package/dist/document-models/payment-terms/tests/terms.test.js +15 -5
- package/dist/document-models/request-for-proposals/gen/document-model.js +4 -4
- 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 +4 -6
- package/dist/document-models/request-for-proposals/gen/reducer.d.ts +0 -1
- 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 +9 -64
- 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 +5 -7
- 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/module.d.ts +1 -1
- package/dist/document-models/request-for-proposals/module.d.ts.map +1 -1
- package/dist/document-models/request-for-proposals/module.js +1 -1
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +1 -0
- 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 +4 -3
- package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +1 -0
- 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 +5 -4
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +1 -0
- 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 +3 -2
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +1 -2
- 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 +181 -24
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +0 -4
- 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 +6 -92
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +1 -2
- 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 +327 -33
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +1 -2
- 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 +240 -15
- 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/reducer.d.ts +0 -1
- 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 +5 -35
- 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/module.d.ts +1 -1
- package/dist/document-models/workstream/module.d.ts.map +1 -1
- package/dist/document-models/workstream/module.js +1 -1
- package/dist/document-models/workstream/src/reducers/proposals.d.ts +1 -0
- package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -1
- package/dist/document-models/workstream/src/reducers/proposals.js +6 -83
- package/dist/document-models/workstream/src/reducers/workstream.d.ts +1 -0
- package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -1
- package/dist/document-models/workstream/src/reducers/workstream.js +7 -6
- package/dist/document-models/workstream/src/tests/document-model.test.d.ts +0 -4
- 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 +3 -89
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +318 -0
- package/dist/document-models/workstream/src/tests/proposals.test.js +25 -26
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +210 -0
- package/dist/document-models/workstream/src/tests/workstream.test.js +29 -34
- package/dist/editors/hooks/useNetworkProfileDocument.d.ts +4 -0
- package/dist/editors/hooks/useNetworkProfileDocument.d.ts.map +1 -0
- package/dist/editors/hooks/useNetworkProfileDocument.js +8 -0
- package/dist/editors/hooks/usePaymentTermsDocument.d.ts +4 -0
- package/dist/editors/hooks/usePaymentTermsDocument.d.ts.map +1 -0
- package/dist/editors/hooks/usePaymentTermsDocument.js +8 -0
- package/dist/editors/hooks/useRequestForProposalsDocument.d.ts +4 -0
- package/dist/editors/hooks/useRequestForProposalsDocument.d.ts.map +1 -0
- package/dist/editors/hooks/useRequestForProposalsDocument.js +8 -0
- package/dist/editors/hooks/useWorkstreamDocument.d.ts +4 -0
- package/dist/editors/hooks/useWorkstreamDocument.d.ts.map +1 -0
- package/dist/editors/hooks/useWorkstreamDocument.js +8 -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 +12 -8
- 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 +230 -53
- package/dist/editors/network-admin/components/FolderTree.d.ts +1 -9
- package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -1
- package/dist/editors/network-admin/components/FolderTree.js +55 -216
- 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 +0 -1
- 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 +1 -2
- package/dist/editors/network-admin/editor.d.ts.map +1 -1
- package/dist/editors/network-admin/editor.js +1 -4
- package/dist/editors/network-admin/index.d.ts +3 -0
- package/dist/editors/network-admin/index.d.ts.map +1 -0
- package/dist/editors/network-admin/index.js +10 -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 +13 -45
- package/dist/editors/network-profile/index.d.ts +4 -0
- package/dist/editors/network-profile/index.d.ts.map +1 -0
- package/dist/editors/network-profile/index.js +10 -0
- package/dist/editors/payment-terms/basic-terms-tab.d.ts +10 -0
- package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/basic-terms-tab.js +89 -0
- package/dist/editors/payment-terms/clauses-tab.d.ts +12 -0
- package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/clauses-tab.js +213 -0
- package/dist/editors/payment-terms/cost-materials-tab.d.ts +10 -0
- package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/cost-materials-tab.js +63 -0
- package/dist/editors/payment-terms/editor.d.ts +2 -0
- package/dist/editors/payment-terms/editor.d.ts.map +1 -1
- package/dist/editors/payment-terms/editor.js +55 -39
- package/dist/editors/payment-terms/escrow-tab.d.ts +10 -0
- package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/escrow-tab.js +57 -0
- package/dist/editors/payment-terms/evaluation-tab.d.ts +10 -0
- package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/evaluation-tab.js +63 -0
- package/dist/editors/payment-terms/index.d.ts +4 -0
- package/dist/editors/payment-terms/index.d.ts.map +1 -0
- package/dist/editors/payment-terms/index.js +10 -0
- package/dist/editors/payment-terms/milestones-tab.d.ts +10 -0
- package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/milestones-tab.js +205 -0
- package/dist/editors/payment-terms/retainer-tab.d.ts +10 -0
- package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/retainer-tab.js +91 -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/index.d.ts +4 -0
- package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/index.js +10 -0
- 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/workstream/editor.d.ts.map +1 -1
- package/dist/editors/workstream/editor.js +165 -290
- package/dist/editors/workstream/index.d.ts +4 -0
- package/dist/editors/workstream/index.d.ts.map +1 -0
- package/dist/editors/workstream/index.js +10 -0
- package/dist/editors/workstream/project-management-import.d.ts +3 -0
- package/dist/editors/workstream/project-management-import.d.ts.map +1 -0
- package/dist/editors/workstream/project-management-import.js +5 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/powerhouse.manifest.json +6 -27
- 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 +1 -4
- package/dist/processors/workstreams/index.d.ts +2 -4
- package/dist/processors/workstreams/index.d.ts.map +1 -1
- package/dist/processors/workstreams/index.js +43 -102
- package/dist/processors/workstreams/migrations.d.ts.map +1 -1
- package/dist/processors/workstreams/migrations.js +15 -12
- package/dist/scripts/sow-mirror/mirror_sow_state.js +114 -119
- package/dist/style.css +6885 -6085
- package/dist/subgraphs/index.d.ts +5 -1
- package/dist/subgraphs/index.d.ts.map +1 -1
- package/dist/subgraphs/index.js +5 -1
- package/dist/subgraphs/network-profile/index.d.ts +11 -0
- package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/index.js +11 -0
- package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/resolvers.js +205 -0
- package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/schema.js +139 -0
- 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 +8 -138
- package/dist/subgraphs/networks/schema.d.ts.map +1 -1
- package/dist/subgraphs/networks/schema.js +1 -66
- package/dist/subgraphs/{builders-addon → payment-terms}/index.d.ts +1 -1
- package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
- package/dist/subgraphs/{builders-addon → payment-terms}/index.js +2 -2
- package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
- package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/payment-terms/resolvers.js +277 -0
- package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
- package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
- package/dist/subgraphs/payment-terms/schema.js +324 -0
- package/dist/subgraphs/request-for-proposals/index.d.ts +11 -0
- package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/index.js +11 -0
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/resolvers.js +145 -0
- package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
- package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/schema.js +232 -0
- package/dist/subgraphs/workstream/index.d.ts +11 -0
- package/dist/subgraphs/workstream/index.d.ts.map +1 -0
- package/dist/subgraphs/workstream/index.js +11 -0
- package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
- package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/workstream/resolvers.js +181 -0
- package/dist/subgraphs/workstream/schema.d.ts +3 -0
- package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
- package/dist/subgraphs/workstream/schema.js +206 -0
- package/dist/subgraphs/workstreams/index.d.ts +1 -4
- package/dist/subgraphs/workstreams/index.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/index.js +0 -6
- package/dist/subgraphs/workstreams/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/resolvers.js +30 -495
- package/dist/subgraphs/workstreams/schema.d.ts.map +1 -1
- package/dist/subgraphs/workstreams/schema.js +35 -228
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/vite.config.js +1 -6
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +8 -0
- package/package.json +90 -56
- package/dist/document-models/builders/actions.d.ts +0 -14
- package/dist/document-models/builders/actions.d.ts.map +0 -1
- package/dist/document-models/builders/actions.js +0 -4
- package/dist/document-models/builders/gen/actions.d.ts +0 -4
- package/dist/document-models/builders/gen/actions.d.ts.map +0 -1
- package/dist/document-models/builders/gen/actions.js +0 -1
- package/dist/document-models/builders/gen/builders/actions.d.ts +0 -12
- package/dist/document-models/builders/gen/builders/actions.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/actions.js +0 -1
- package/dist/document-models/builders/gen/builders/creators.d.ts +0 -5
- package/dist/document-models/builders/gen/builders/creators.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/creators.js +0 -4
- package/dist/document-models/builders/gen/builders/error.d.ts +0 -2
- package/dist/document-models/builders/gen/builders/error.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/error.js +0 -1
- package/dist/document-models/builders/gen/builders/operations.d.ts +0 -8
- package/dist/document-models/builders/gen/builders/operations.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/operations.js +0 -1
- package/dist/document-models/builders/gen/creators.d.ts +0 -3
- package/dist/document-models/builders/gen/creators.d.ts.map +0 -1
- package/dist/document-models/builders/gen/creators.js +0 -2
- package/dist/document-models/builders/gen/document-model.d.ts +0 -3
- package/dist/document-models/builders/gen/document-model.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-model.js +0 -59
- package/dist/document-models/builders/gen/document-schema.d.ts +0 -44
- package/dist/document-models/builders/gen/document-schema.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-schema.js +0 -33
- package/dist/document-models/builders/gen/document-type.d.ts +0 -2
- package/dist/document-models/builders/gen/document-type.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-type.js +0 -1
- package/dist/document-models/builders/gen/index.d.ts +0 -12
- package/dist/document-models/builders/gen/index.d.ts.map +0 -1
- package/dist/document-models/builders/gen/index.js +0 -11
- package/dist/document-models/builders/gen/ph-factories.d.ts +0 -23
- package/dist/document-models/builders/gen/ph-factories.d.ts.map +0 -1
- package/dist/document-models/builders/gen/ph-factories.js +0 -47
- package/dist/document-models/builders/gen/reducer.d.ts +0 -3
- package/dist/document-models/builders/gen/reducer.d.ts.map +0 -1
- package/dist/document-models/builders/gen/reducer.js +0 -23
- package/dist/document-models/builders/gen/schema/index.d.ts +0 -3
- package/dist/document-models/builders/gen/schema/index.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/index.js +0 -2
- package/dist/document-models/builders/gen/schema/types.d.ts +0 -158
- package/dist/document-models/builders/gen/schema/types.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/types.js +0 -1
- package/dist/document-models/builders/gen/schema/zod.d.ts +0 -13
- package/dist/document-models/builders/gen/schema/zod.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/zod.js +0 -21
- package/dist/document-models/builders/gen/types.d.ts +0 -12
- package/dist/document-models/builders/gen/types.d.ts.map +0 -1
- package/dist/document-models/builders/gen/types.js +0 -1
- package/dist/document-models/builders/gen/utils.d.ts +0 -15
- package/dist/document-models/builders/gen/utils.d.ts.map +0 -1
- package/dist/document-models/builders/gen/utils.js +0 -51
- package/dist/document-models/builders/hooks.d.ts +0 -14
- package/dist/document-models/builders/hooks.d.ts.map +0 -1
- package/dist/document-models/builders/hooks.js +0 -25
- package/dist/document-models/builders/index.d.ts +0 -6
- package/dist/document-models/builders/index.d.ts.map +0 -1
- package/dist/document-models/builders/index.js +0 -5
- package/dist/document-models/builders/module.d.ts +0 -5
- package/dist/document-models/builders/module.d.ts.map +0 -1
- package/dist/document-models/builders/module.js +0 -11
- package/dist/document-models/builders/src/index.d.ts +0 -2
- package/dist/document-models/builders/src/index.d.ts.map +0 -1
- package/dist/document-models/builders/src/index.js +0 -1
- package/dist/document-models/builders/src/reducers/builders.d.ts +0 -3
- package/dist/document-models/builders/src/reducers/builders.d.ts.map +0 -1
- package/dist/document-models/builders/src/reducers/builders.js +0 -8
- package/dist/document-models/builders/src/tests/builders.test.d.ts +0 -6
- package/dist/document-models/builders/src/tests/builders.test.d.ts.map +0 -1
- package/dist/document-models/builders/src/tests/builders.test.js +0 -29
- package/dist/document-models/builders/src/tests/document-model.test.d.ts +0 -10
- package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/document-models/builders/src/tests/document-model.test.js +0 -104
- package/dist/document-models/builders/src/utils.d.ts +0 -2
- package/dist/document-models/builders/src/utils.d.ts.map +0 -1
- package/dist/document-models/builders/src/utils.js +0 -1
- package/dist/document-models/builders/tests/builders.test.d.ts +0 -2
- package/dist/document-models/builders/tests/builders.test.d.ts.map +0 -1
- package/dist/document-models/builders/tests/builders.test.js +0 -25
- package/dist/document-models/builders/tests/document-model.test.d.ts +0 -10
- package/dist/document-models/builders/tests/document-model.test.d.ts.map +0 -1
- package/dist/document-models/builders/tests/document-model.test.js +0 -104
- package/dist/document-models/builders/utils.d.ts +0 -14
- package/dist/document-models/builders/utils.d.ts.map +0 -1
- package/dist/document-models/builders/utils.js +0 -7
- package/dist/document-models/network-profile/gen/document-schema.d.ts +0 -80
- package/dist/document-models/network-profile/gen/document-schema.d.ts.map +0 -1
- package/dist/document-models/payment-terms/gen/document-schema.d.ts +0 -95
- package/dist/document-models/payment-terms/gen/document-schema.d.ts.map +0 -1
- package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +0 -83
- package/dist/document-models/request-for-proposals/gen/document-schema.d.ts.map +0 -1
- package/dist/document-models/workstream/gen/document-schema.d.ts +0 -71
- package/dist/document-models/workstream/gen/document-schema.d.ts.map +0 -1
- package/dist/editors/builders/editor.d.ts +0 -3
- package/dist/editors/builders/editor.d.ts.map +0 -1
- package/dist/editors/builders/editor.js +0 -285
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts +0 -20
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts.map +0 -1
- package/dist/editors/builders/hooks/useRemoteBuilderProfiles.js +0 -57
- package/dist/editors/builders/module.d.ts +0 -4
- package/dist/editors/builders/module.d.ts.map +0 -1
- package/dist/editors/builders/module.js +0 -10
- package/dist/editors/builders/utils/graphql-client.d.ts +0 -41
- package/dist/editors/builders/utils/graphql-client.d.ts.map +0 -1
- package/dist/editors/builders/utils/graphql-client.js +0 -189
- package/dist/editors/editors.d.ts +0 -3
- package/dist/editors/editors.d.ts.map +0 -1
- package/dist/editors/editors.js +0 -14
- package/dist/editors/network-admin/components/DriveContents.d.ts +0 -3
- package/dist/editors/network-admin/components/DriveContents.d.ts.map +0 -1
- package/dist/editors/network-admin/components/DriveContents.js +0 -10
- package/dist/editors/network-admin/components/EmptyState.d.ts +0 -3
- package/dist/editors/network-admin/components/EmptyState.d.ts.map +0 -1
- package/dist/editors/network-admin/components/EmptyState.js +0 -10
- package/dist/editors/network-admin/components/Files.d.ts +0 -3
- package/dist/editors/network-admin/components/Files.d.ts.map +0 -1
- package/dist/editors/network-admin/components/Files.js +0 -12
- package/dist/editors/network-admin/components/Folders.d.ts +0 -3
- package/dist/editors/network-admin/components/Folders.d.ts.map +0 -1
- package/dist/editors/network-admin/components/Folders.js +0 -12
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +0 -3
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +0 -1
- package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +0 -6
- package/dist/editors/network-admin/module.d.ts +0 -4
- package/dist/editors/network-admin/module.d.ts.map +0 -1
- package/dist/editors/network-admin/module.js +0 -10
- package/dist/editors/network-profile/components/EditName.d.ts +0 -3
- package/dist/editors/network-profile/components/EditName.d.ts.map +0 -1
- package/dist/editors/network-profile/components/EditName.js +0 -31
- package/dist/editors/network-profile/module.d.ts +0 -4
- package/dist/editors/network-profile/module.d.ts.map +0 -1
- package/dist/editors/network-profile/module.js +0 -10
- package/dist/editors/payment-terms/components/clauses-section.d.ts +0 -12
- package/dist/editors/payment-terms/components/clauses-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/clauses-section.js +0 -269
- package/dist/editors/payment-terms/components/escrow-section.d.ts +0 -13
- package/dist/editors/payment-terms/components/escrow-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/escrow-section.js +0 -72
- package/dist/editors/payment-terms/components/evaluation-section.d.ts +0 -13
- package/dist/editors/payment-terms/components/evaluation-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/evaluation-section.js +0 -94
- package/dist/editors/payment-terms/components/header-section.d.ts +0 -16
- package/dist/editors/payment-terms/components/header-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/header-section.js +0 -67
- package/dist/editors/payment-terms/components/milestones-section.d.ts +0 -11
- package/dist/editors/payment-terms/components/milestones-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/milestones-section.js +0 -236
- package/dist/editors/payment-terms/components/parties-section.d.ts +0 -11
- package/dist/editors/payment-terms/components/parties-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/parties-section.js +0 -36
- package/dist/editors/payment-terms/components/payment-config-section.d.ts +0 -11
- package/dist/editors/payment-terms/components/payment-config-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/payment-config-section.js +0 -68
- package/dist/editors/payment-terms/components/time-materials-section.d.ts +0 -11
- package/dist/editors/payment-terms/components/time-materials-section.d.ts.map +0 -1
- package/dist/editors/payment-terms/components/time-materials-section.js +0 -68
- package/dist/editors/payment-terms/module.d.ts +0 -4
- package/dist/editors/payment-terms/module.d.ts.map +0 -1
- package/dist/editors/payment-terms/module.js +0 -10
- package/dist/editors/request-for-proposals/components/EditName.d.ts +0 -3
- package/dist/editors/request-for-proposals/components/EditName.d.ts.map +0 -1
- package/dist/editors/request-for-proposals/components/EditName.js +0 -31
- package/dist/editors/request-for-proposals/module.d.ts +0 -4
- package/dist/editors/request-for-proposals/module.d.ts.map +0 -1
- package/dist/editors/request-for-proposals/module.js +0 -10
- package/dist/editors/workstream/module.d.ts +0 -4
- package/dist/editors/workstream/module.d.ts.map +0 -1
- package/dist/editors/workstream/module.js +0 -10
- package/dist/subgraphs/builders-addon/index.d.ts.map +0 -1
- package/dist/subgraphs/builders-addon/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/builders-addon/resolvers.js +0 -376
- package/dist/subgraphs/builders-addon/schema.d.ts.map +0 -1
- package/dist/subgraphs/builders-addon/schema.js +0 -209
- /package/dist/subgraphs/{builders-addon → network-profile}/resolvers.d.ts +0 -0
- /package/dist/subgraphs/{builders-addon → network-profile}/schema.d.ts +0 -0
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { Milestone as MilestoneIcon, Plus, } from "lucide-react";
|
|
4
|
-
import { ObjectSetTable, DatePicker, Checkbox, Select, } from "@powerhousedao/document-engineering";
|
|
5
|
-
import { toast } from "@powerhousedao/design-system/connect";
|
|
6
|
-
import { generateId } from "document-model/core";
|
|
7
|
-
import {} from "../../../document-models/payment-terms/index.js";
|
|
8
|
-
export function MilestonesSection({ milestones, dispatch, actions, currency, }) {
|
|
9
|
-
const columns = useMemo(() => [
|
|
10
|
-
{
|
|
11
|
-
field: "name",
|
|
12
|
-
title: "Milestone",
|
|
13
|
-
type: "string",
|
|
14
|
-
editable: true,
|
|
15
|
-
align: "left",
|
|
16
|
-
width: 280,
|
|
17
|
-
onSave: (newValue, context) => {
|
|
18
|
-
if (newValue !== context.row.name && newValue) {
|
|
19
|
-
dispatch(actions.updateMilestone({
|
|
20
|
-
id: context.row.id,
|
|
21
|
-
name: newValue,
|
|
22
|
-
}));
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
return false;
|
|
26
|
-
},
|
|
27
|
-
renderCell: (value, context) => {
|
|
28
|
-
// Use value from row data, fallback to context.row.name for empty rows
|
|
29
|
-
const displayValue = value || context.row.name || "";
|
|
30
|
-
if (!displayValue) {
|
|
31
|
-
return (_jsx("span", { className: "text-slate-400 italic", children: "+ Double-click to add milestone" }));
|
|
32
|
-
}
|
|
33
|
-
return _jsx("span", { className: "font-medium", children: displayValue });
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
field: "amount",
|
|
38
|
-
title: `Amount (${currency})`,
|
|
39
|
-
type: "number",
|
|
40
|
-
editable: true,
|
|
41
|
-
align: "right",
|
|
42
|
-
width: 120,
|
|
43
|
-
renderCell: (value, context) => {
|
|
44
|
-
// Hide for empty/new rows
|
|
45
|
-
if (!context.row.name) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
const numValue = context.row.amount?.value;
|
|
49
|
-
if (numValue === undefined || numValue === null) {
|
|
50
|
-
return _jsx("span", { className: "text-slate-400", children: "\u2014" });
|
|
51
|
-
}
|
|
52
|
-
return (_jsx("span", { className: "font-mono text-sm text-slate-700", children: _jsx("span", { children: numValue.toLocaleString() }) }));
|
|
53
|
-
},
|
|
54
|
-
renderCellEditor: (value, onChange, context) => {
|
|
55
|
-
// Extract numeric value from Amount object
|
|
56
|
-
const amountValue = context.row.amount?.value;
|
|
57
|
-
return (_jsx("input", { className: "w-full bg-white border border-gray-300 rounded-md p-2", name: `amount-${context.row.id}`, defaultValue: amountValue, step: "0.01", type: "number", onBlur: (e) => {
|
|
58
|
-
if (e.target.value !== undefined &&
|
|
59
|
-
e.target.value !== String(context.row.amount?.value)) {
|
|
60
|
-
dispatch(actions.updateMilestone({
|
|
61
|
-
id: context.row.id,
|
|
62
|
-
amount: {
|
|
63
|
-
value: parseFloat(e.target.value),
|
|
64
|
-
unit: currency,
|
|
65
|
-
},
|
|
66
|
-
}));
|
|
67
|
-
toast("Amount updated", { type: "success" });
|
|
68
|
-
}
|
|
69
|
-
} }));
|
|
70
|
-
},
|
|
71
|
-
onSave: () => {
|
|
72
|
-
return true;
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
field: "expectedCompletionDate",
|
|
77
|
-
title: "Due Date",
|
|
78
|
-
type: "date",
|
|
79
|
-
editable: true,
|
|
80
|
-
align: "center",
|
|
81
|
-
width: 160,
|
|
82
|
-
className: "bg-white ",
|
|
83
|
-
style: {
|
|
84
|
-
backgroundColor: "white",
|
|
85
|
-
},
|
|
86
|
-
renderCell: (value) => {
|
|
87
|
-
if (!value) {
|
|
88
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("span", { className: "text-slate-400" }) }));
|
|
89
|
-
}
|
|
90
|
-
try {
|
|
91
|
-
// Extract date parts using UTC methods to avoid timezone conversion
|
|
92
|
-
const date = new Date(value);
|
|
93
|
-
if (isNaN(date.getTime())) {
|
|
94
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("span", { className: "text-slate-400", children: "\u2014" }) }));
|
|
95
|
-
}
|
|
96
|
-
const year = date.getUTCFullYear();
|
|
97
|
-
const monthNames = [
|
|
98
|
-
"Jan",
|
|
99
|
-
"Feb",
|
|
100
|
-
"Mar",
|
|
101
|
-
"Apr",
|
|
102
|
-
"May",
|
|
103
|
-
"Jun",
|
|
104
|
-
"Jul",
|
|
105
|
-
"Aug",
|
|
106
|
-
"Sep",
|
|
107
|
-
"Oct",
|
|
108
|
-
"Nov",
|
|
109
|
-
"Dec",
|
|
110
|
-
];
|
|
111
|
-
const month = monthNames[date.getUTCMonth()];
|
|
112
|
-
const day = date.getUTCDate();
|
|
113
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("span", { className: "text-slate-500", children: `${day} ${month} ${year}` }) }));
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("span", { className: "text-slate-400", children: "\u2014" }) }));
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
renderCellEditor: (value, onChange, context) => {
|
|
120
|
-
const dateValue = value
|
|
121
|
-
? typeof value === "string"
|
|
122
|
-
? new Date(value)
|
|
123
|
-
: value
|
|
124
|
-
: undefined;
|
|
125
|
-
return (_jsx(DatePicker, { className: "bg-white min-w-[160px]", name: `date-${context.row.id}`, value: dateValue instanceof Date ? dateValue : undefined, onChange: (e) => {
|
|
126
|
-
const date = e.target.value ? new Date(e.target.value) : null;
|
|
127
|
-
dispatch(actions.updateMilestone({
|
|
128
|
-
id: context.row.id,
|
|
129
|
-
expectedCompletionDate: date?.toISOString() || null,
|
|
130
|
-
}));
|
|
131
|
-
} }));
|
|
132
|
-
},
|
|
133
|
-
onSave: () => {
|
|
134
|
-
return true;
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
field: "requiresApproval",
|
|
139
|
-
title: "Approval",
|
|
140
|
-
type: "boolean",
|
|
141
|
-
editable: true,
|
|
142
|
-
align: "center",
|
|
143
|
-
width: 90,
|
|
144
|
-
onSave: () => {
|
|
145
|
-
return true;
|
|
146
|
-
},
|
|
147
|
-
renderCell: (value, context) => {
|
|
148
|
-
// Use context.row to get the latest state value
|
|
149
|
-
const requiresApproval = context.row.requiresApproval;
|
|
150
|
-
if (requiresApproval === undefined || requiresApproval === null) {
|
|
151
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("span", { className: "text-slate-400" }) }));
|
|
152
|
-
}
|
|
153
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: requiresApproval === true ? (_jsx("span", { className: "text-emerald-600 font-medium", children: "Yes" })) : (_jsx("span", { className: "text-slate-400", children: "No" })) }));
|
|
154
|
-
},
|
|
155
|
-
renderCellEditor: (value, onChange, context) => {
|
|
156
|
-
const currentValue = context.row.requiresApproval ?? false;
|
|
157
|
-
return (_jsx(Checkbox, { className: "bg-white", name: `requiresApproval-${context.row.id}`, value: currentValue, onChange: (checked) => {
|
|
158
|
-
dispatch(actions.updateMilestone({
|
|
159
|
-
id: context.row.id,
|
|
160
|
-
requiresApproval: checked,
|
|
161
|
-
}));
|
|
162
|
-
toast("Approval requirement updated", { type: "success" });
|
|
163
|
-
} }));
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
field: "payoutStatus",
|
|
168
|
-
title: "Status",
|
|
169
|
-
type: "enum",
|
|
170
|
-
getCellValue: (row) => row.payoutStatus,
|
|
171
|
-
editable: true,
|
|
172
|
-
align: "center",
|
|
173
|
-
width: 140,
|
|
174
|
-
onSave: () => {
|
|
175
|
-
return true;
|
|
176
|
-
},
|
|
177
|
-
renderCell: (value) => {
|
|
178
|
-
const status = {
|
|
179
|
-
APPROVED: "Approved",
|
|
180
|
-
PAID: "Paid",
|
|
181
|
-
PENDING: "Pending",
|
|
182
|
-
READY_FOR_REVIEW: "Ready for Review",
|
|
183
|
-
REJECTED: "Rejected",
|
|
184
|
-
};
|
|
185
|
-
return (_jsx("div", { className: "flex items-center justify-center w-full h-full text-center", children: _jsx("span", { className: "text-slate-500", children: status[value] }) }));
|
|
186
|
-
},
|
|
187
|
-
renderCellEditor: (value, onChange, context) => {
|
|
188
|
-
return (_jsx(Select, { className: "bg-white min-w-[160px]", name: `payoutStatus-${context.row.id}`, value: value, options: [
|
|
189
|
-
{ value: "APPROVED", label: "Approved" },
|
|
190
|
-
{ value: "PAID", label: "Paid" },
|
|
191
|
-
{ value: "PENDING", label: "Pending" },
|
|
192
|
-
{ value: "READY_FOR_REVIEW", label: "Ready for Review" },
|
|
193
|
-
{ value: "REJECTED", label: "Rejected" },
|
|
194
|
-
], onChange: (e) => {
|
|
195
|
-
dispatch(actions.updateMilestoneStatus({
|
|
196
|
-
id: context.row.id,
|
|
197
|
-
payoutStatus: e,
|
|
198
|
-
}));
|
|
199
|
-
} }));
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
], [actions, currency, dispatch]);
|
|
203
|
-
return (_jsxs("div", { className: "bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden transition-shadow hover:shadow-md", children: [_jsx("div", { className: "flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-stone-50", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex items-center justify-center w-9 h-9 rounded-lg bg-blue-100", children: _jsx(MilestoneIcon, { size: 18, className: "text-blue-600" }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-[15px] font-semibold text-slate-800", children: "Milestones" }), _jsxs("p", { className: "text-[13px] text-slate-400 mt-0.5", children: [milestones.length, " milestone", milestones.length !== 1 ? "s" : "", " ", "defined"] })] })] }) }), _jsx("div", { className: "p-5", children: milestones.length > 0 ? (_jsx(ObjectSetTable, { data: milestones, columns: columns, onAdd: (data) => {
|
|
204
|
-
const name = data.name || "";
|
|
205
|
-
if (name.trim()) {
|
|
206
|
-
const milestoneData = {
|
|
207
|
-
id: generateId(),
|
|
208
|
-
name: name.trim(),
|
|
209
|
-
amount: { value: 0, unit: currency },
|
|
210
|
-
requiresApproval: true,
|
|
211
|
-
expectedCompletionDate: null,
|
|
212
|
-
payoutStatus: "PENDING",
|
|
213
|
-
};
|
|
214
|
-
dispatch(actions.addMilestone(milestoneData));
|
|
215
|
-
toast("Milestone added", { type: "success" });
|
|
216
|
-
}
|
|
217
|
-
}, onDelete: (rows) => {
|
|
218
|
-
if (rows.length > 0) {
|
|
219
|
-
rows.forEach((row) => {
|
|
220
|
-
dispatch(actions.deleteMilestone({ id: row.id }));
|
|
221
|
-
});
|
|
222
|
-
toast(`${rows.length} milestone${rows.length > 1 ? "s" : ""} deleted`, { type: "success" });
|
|
223
|
-
}
|
|
224
|
-
}, allowRowSelection: true })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-10 text-center border-2 border-dashed border-gray-200 rounded-lg bg-stone-50", children: [_jsx(MilestoneIcon, { size: 48, className: "text-slate-400 mb-4" }), _jsx("p", { className: "text-[15px] font-semibold text-slate-800 mb-1", children: "No milestones yet" }), _jsx("p", { className: "text-sm text-slate-400 mb-4", children: "Add milestones to define your payment schedule" }), _jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-4 py-2 text-[13px] font-medium text-white bg-slate-800 border-none rounded-md cursor-pointer transition-colors hover:bg-slate-700", onClick: () => {
|
|
225
|
-
const milestoneData = {
|
|
226
|
-
id: generateId(),
|
|
227
|
-
name: "New Milestone",
|
|
228
|
-
amount: { value: 0, unit: currency },
|
|
229
|
-
requiresApproval: true,
|
|
230
|
-
expectedCompletionDate: null,
|
|
231
|
-
payoutStatus: "PENDING",
|
|
232
|
-
};
|
|
233
|
-
dispatch(actions.addMilestone(milestoneData));
|
|
234
|
-
toast("Milestone added", { type: "success" });
|
|
235
|
-
}, children: [_jsx(Plus, { size: 16 }), "Add First Milestone"] })] })) })] }));
|
|
236
|
-
}
|
|
@@ -1,11 +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
|
-
interface PartiesSectionProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function PartiesSection({ state, dispatch, actions, }: PartiesSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=parties-section.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parties-section.d.ts","sourceRoot":"","sources":["../../../../editors/payment-terms/components/parties-section.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtG,UAAU,mBAAmB;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,2CAqIrB"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { Users, UserCircle, Building2, Pencil, Check, X } from "lucide-react";
|
|
4
|
-
import { TextInput } from "@powerhousedao/document-engineering";
|
|
5
|
-
import { toast } from "@powerhousedao/design-system/connect";
|
|
6
|
-
import {} from "../../../document-models/payment-terms/index.js";
|
|
7
|
-
export function PartiesSection({ state, dispatch, actions, }) {
|
|
8
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
9
|
-
const [formData, setFormData] = useState({
|
|
10
|
-
proposer: state.proposer || "",
|
|
11
|
-
payer: state.payer || "",
|
|
12
|
-
});
|
|
13
|
-
const handleSave = useCallback(() => {
|
|
14
|
-
if (!formData.proposer.trim() || !formData.payer.trim()) {
|
|
15
|
-
toast("Both proposer and payer are required", { type: "error" });
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
dispatch(actions.setBasicTerms({
|
|
19
|
-
proposer: formData.proposer,
|
|
20
|
-
payer: formData.payer,
|
|
21
|
-
currency: state.currency,
|
|
22
|
-
paymentModel: state.paymentModel,
|
|
23
|
-
totalAmount: state.totalAmount || undefined,
|
|
24
|
-
}));
|
|
25
|
-
toast("Parties updated successfully", { type: "success" });
|
|
26
|
-
setIsEditing(false);
|
|
27
|
-
}, [formData, state, dispatch, actions]);
|
|
28
|
-
const handleCancel = useCallback(() => {
|
|
29
|
-
setFormData({
|
|
30
|
-
proposer: state.proposer || "",
|
|
31
|
-
payer: state.payer || "",
|
|
32
|
-
});
|
|
33
|
-
setIsEditing(false);
|
|
34
|
-
}, [state]);
|
|
35
|
-
return (_jsxs("div", { className: "bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden transition-shadow hover:shadow-md", children: [_jsxs("div", { className: "flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-stone-50", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex items-center justify-center w-9 h-9 rounded-lg bg-white text-slate-500", children: _jsx(Users, { size: 18 }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-[15px] font-semibold text-slate-800", children: "Parties" }), _jsx("p", { className: "text-[13px] text-slate-400 mt-0.5", children: "Contract participants" })] })] }), !isEditing ? (_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: () => setIsEditing(true), children: [_jsx(Pencil, { size: 14 }), "Edit"] })) : (_jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-white bg-emerald-600 border-none rounded-md cursor-pointer transition-colors hover:bg-emerald-700", onClick: handleSave, children: [_jsx(Check, { size: 14 }), "Save"] }), _jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: handleCancel, children: [_jsx(X, { size: 14 }), "Cancel"] })] }))] }), _jsx("div", { className: "p-5", children: _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(UserCircle, { size: 14, className: "inline align-middle mr-1.5" }), "Proposer"] }), isEditing ? (_jsx(TextInput, { value: formData.proposer, onChange: (e) => setFormData({ ...formData, proposer: e.target.value }), placeholder: "Enter proposer name or entity" })) : (_jsx("p", { className: `text-[15px] py-2.5 ${!state.proposer ? "text-slate-400 italic" : "text-slate-800"}`, children: state.proposer || "Not specified" }))] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(Building2, { size: 14, className: "inline align-middle mr-1.5" }), "Payer"] }), isEditing ? (_jsx(TextInput, { value: formData.payer, onChange: (e) => setFormData({ ...formData, payer: e.target.value }), placeholder: "Enter payer name or entity" })) : (_jsx("p", { className: `text-[15px] py-2.5 ${!state.payer ? "text-slate-400 italic" : "text-slate-800"}`, children: state.payer || "Not specified" }))] })] }) })] }));
|
|
36
|
-
}
|
|
@@ -1,11 +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
|
-
interface PaymentConfigSectionProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function PaymentConfigSection({ state, dispatch, actions, }: PaymentConfigSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=payment-config-section.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payment-config-section.d.ts","sourceRoot":"","sources":["../../../../editors/payment-terms/components/payment-config-section.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtG,UAAU,yBAAyB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAaD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,yBAAyB,2CA0L3B"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { Settings, DollarSign, Milestone, Clock, Pencil, Check, X, } from "lucide-react";
|
|
4
|
-
import { TextInput, Select } from "@powerhousedao/document-engineering";
|
|
5
|
-
import { toast } from "@powerhousedao/design-system/connect";
|
|
6
|
-
import {} from "../../../document-models/payment-terms/index.js";
|
|
7
|
-
const CURRENCY_OPTIONS = [
|
|
8
|
-
{ value: "USD", label: "USD - US Dollar" },
|
|
9
|
-
{ value: "EUR", label: "EUR - Euro" },
|
|
10
|
-
{ value: "GBP", label: "GBP - British Pound" },
|
|
11
|
-
];
|
|
12
|
-
const PAYMENT_MODEL_OPTIONS = [
|
|
13
|
-
{ value: "MILESTONE", label: "Milestone-Based" },
|
|
14
|
-
{ value: "TIME_AND_MATERIALS", label: "Time & Materials" },
|
|
15
|
-
];
|
|
16
|
-
export function PaymentConfigSection({ state, dispatch, actions, }) {
|
|
17
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
18
|
-
const [formData, setFormData] = useState({
|
|
19
|
-
currency: state.currency || "USD",
|
|
20
|
-
paymentModel: state.paymentModel || "MILESTONE",
|
|
21
|
-
totalAmount: state.totalAmount?.value?.toString() || "",
|
|
22
|
-
});
|
|
23
|
-
const handleSave = useCallback(() => {
|
|
24
|
-
dispatch(actions.setBasicTerms({
|
|
25
|
-
proposer: state.proposer,
|
|
26
|
-
payer: state.payer,
|
|
27
|
-
currency: formData.currency,
|
|
28
|
-
paymentModel: formData.paymentModel,
|
|
29
|
-
totalAmount: formData.totalAmount
|
|
30
|
-
? {
|
|
31
|
-
value: parseFloat(formData.totalAmount),
|
|
32
|
-
unit: formData.currency,
|
|
33
|
-
}
|
|
34
|
-
: undefined,
|
|
35
|
-
}));
|
|
36
|
-
toast("Payment configuration updated", { type: "success" });
|
|
37
|
-
setIsEditing(false);
|
|
38
|
-
}, [formData, state, dispatch, actions]);
|
|
39
|
-
const handleCancel = useCallback(() => {
|
|
40
|
-
setFormData({
|
|
41
|
-
currency: state.currency || "USD",
|
|
42
|
-
paymentModel: state.paymentModel || "MILESTONE",
|
|
43
|
-
totalAmount: state.totalAmount?.value?.toString() || "",
|
|
44
|
-
});
|
|
45
|
-
setIsEditing(false);
|
|
46
|
-
}, [state]);
|
|
47
|
-
const formatAmount = (value, currency) => {
|
|
48
|
-
if (!value)
|
|
49
|
-
return null;
|
|
50
|
-
return new Intl.NumberFormat("en-US", {
|
|
51
|
-
style: "currency",
|
|
52
|
-
currency: currency,
|
|
53
|
-
minimumFractionDigits: 0,
|
|
54
|
-
maximumFractionDigits: 2,
|
|
55
|
-
}).format(value);
|
|
56
|
-
};
|
|
57
|
-
const PaymentModelIcon = state.paymentModel === "MILESTONE" ? Milestone : Clock;
|
|
58
|
-
return (_jsxs("div", { className: "bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden transition-shadow hover:shadow-md", children: [_jsxs("div", { className: "flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-stone-50", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex items-center justify-center w-9 h-9 rounded-lg bg-white text-slate-500", children: _jsx(Settings, { size: 18 }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-[15px] font-semibold text-slate-800", children: "Payment Configuration" }), _jsx("p", { className: "text-[13px] text-slate-400 mt-0.5", children: "Currency, model, and total amount" })] })] }), !isEditing ? (_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: () => setIsEditing(true), children: [_jsx(Pencil, { size: 14 }), "Edit"] })) : (_jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-white bg-emerald-600 border-none rounded-md cursor-pointer transition-colors hover:bg-emerald-700", onClick: handleSave, children: [_jsx(Check, { size: 14 }), "Save"] }), _jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: handleCancel, children: [_jsx(X, { size: 14 }), "Cancel"] })] }))] }), _jsx("div", { className: "p-5", children: _jsxs("div", { className: "grid grid-cols-3 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(DollarSign, { size: 14, className: "inline align-middle mr-1.5" }), "Currency"] }), isEditing ? (_jsx(Select, { value: formData.currency, onChange: (value) => setFormData({
|
|
59
|
-
...formData,
|
|
60
|
-
currency: value,
|
|
61
|
-
}), options: CURRENCY_OPTIONS })) : (_jsx("p", { className: "text-[15px] py-2.5", children: _jsx("span", { className: "inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium rounded-full bg-stone-100 text-slate-500", children: state.currency }) }))] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(PaymentModelIcon, { size: 14, className: "inline align-middle mr-1.5" }), "Payment Model"] }), isEditing ? (_jsx(Select, { value: formData.paymentModel, onChange: (value) => setFormData({
|
|
62
|
-
...formData,
|
|
63
|
-
paymentModel: value,
|
|
64
|
-
}), options: PAYMENT_MODEL_OPTIONS })) : (_jsx("p", { className: "text-[15px] py-2.5", children: _jsx("span", { className: `inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium rounded-full ${state.paymentModel === "MILESTONE" ? "bg-blue-100 text-blue-600" : "bg-amber-100 text-amber-600"}`, children: state.paymentModel === "MILESTONE"
|
|
65
|
-
? "Milestone-Based"
|
|
66
|
-
: "Time & Materials" }) }))] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("label", { className: "text-[13px] font-medium text-slate-500", children: "Total Contract Value" }), isEditing ? (_jsx(TextInput, { type: "number", value: formData.totalAmount, onChange: (e) => setFormData({ ...formData, totalAmount: e.target.value }), placeholder: "0.00", step: "0.01" })) : (_jsx("p", { className: `text-lg font-mono font-semibold py-2.5 ${!state.totalAmount ? "text-slate-400 italic text-[15px] font-normal" : "text-slate-800"}`, children: formatAmount(state.totalAmount?.value, state.currency) ||
|
|
67
|
-
"Not set" }))] })] }) })] }));
|
|
68
|
-
}
|
|
@@ -1,11 +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
|
-
interface TimeAndMaterialsSectionProps {
|
|
5
|
-
state: PaymentTermsState;
|
|
6
|
-
dispatch: (action: PaymentTermsAction) => void;
|
|
7
|
-
actions: typeof paymentTermsActions;
|
|
8
|
-
}
|
|
9
|
-
export declare function TimeAndMaterialsSection({ state, dispatch, actions, }: TimeAndMaterialsSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=time-materials-section.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time-materials-section.d.ts","sourceRoot":"","sources":["../../../../editors/payment-terms/components/time-materials-section.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtG,UAAU,4BAA4B;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAQD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,4BAA4B,2CA2S9B"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { Clock, DollarSign, Calendar, FileSpreadsheet, Pencil, Check, X, TrendingUp, } from "lucide-react";
|
|
4
|
-
import { TextInput, Select } from "@powerhousedao/document-engineering";
|
|
5
|
-
import { toast } from "@powerhousedao/design-system/connect";
|
|
6
|
-
import {} from "../../../document-models/payment-terms/index.js";
|
|
7
|
-
const BILLING_FREQUENCY_OPTIONS = [
|
|
8
|
-
{ value: "WEEKLY", label: "Weekly" },
|
|
9
|
-
{ value: "BIWEEKLY", label: "Bi-weekly" },
|
|
10
|
-
{ value: "MONTHLY", label: "Monthly" },
|
|
11
|
-
];
|
|
12
|
-
export function TimeAndMaterialsSection({ state, dispatch, actions, }) {
|
|
13
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
14
|
-
const [formData, setFormData] = useState({
|
|
15
|
-
hourlyRate: state.timeAndMaterials?.hourlyRate?.value?.toString() || "",
|
|
16
|
-
retainerAmount: state.timeAndMaterials?.retainerAmount?.value?.toString() || "",
|
|
17
|
-
variableCap: state.timeAndMaterials?.variableCap?.value?.toString() || "",
|
|
18
|
-
billingFrequency: state.timeAndMaterials?.billingFrequency || "MONTHLY",
|
|
19
|
-
timesheetRequired: state.timeAndMaterials?.timesheetRequired ?? true,
|
|
20
|
-
});
|
|
21
|
-
const handleSave = useCallback(() => {
|
|
22
|
-
dispatch(actions.setTimeAndMaterials({
|
|
23
|
-
hourlyRate: formData.hourlyRate
|
|
24
|
-
? { value: parseFloat(formData.hourlyRate), unit: state.currency }
|
|
25
|
-
: undefined,
|
|
26
|
-
retainerAmount: formData.retainerAmount
|
|
27
|
-
? { value: parseFloat(formData.retainerAmount), unit: state.currency }
|
|
28
|
-
: undefined,
|
|
29
|
-
variableCap: formData.variableCap
|
|
30
|
-
? { value: parseFloat(formData.variableCap), unit: state.currency }
|
|
31
|
-
: undefined,
|
|
32
|
-
billingFrequency: formData.billingFrequency,
|
|
33
|
-
timesheetRequired: formData.timesheetRequired,
|
|
34
|
-
}));
|
|
35
|
-
toast("Time & Materials configuration saved", { type: "success" });
|
|
36
|
-
setIsEditing(false);
|
|
37
|
-
}, [formData, state.currency, dispatch, actions]);
|
|
38
|
-
const handleCancel = useCallback(() => {
|
|
39
|
-
setFormData({
|
|
40
|
-
hourlyRate: state.timeAndMaterials?.hourlyRate?.value?.toString() || "",
|
|
41
|
-
retainerAmount: state.timeAndMaterials?.retainerAmount?.value?.toString() || "",
|
|
42
|
-
variableCap: state.timeAndMaterials?.variableCap?.value?.toString() || "",
|
|
43
|
-
billingFrequency: state.timeAndMaterials?.billingFrequency || "MONTHLY",
|
|
44
|
-
timesheetRequired: state.timeAndMaterials?.timesheetRequired ?? true,
|
|
45
|
-
});
|
|
46
|
-
setIsEditing(false);
|
|
47
|
-
}, [state.timeAndMaterials]);
|
|
48
|
-
const formatCurrency = (value) => {
|
|
49
|
-
if (!value)
|
|
50
|
-
return null;
|
|
51
|
-
return new Intl.NumberFormat("en-US", {
|
|
52
|
-
style: "currency",
|
|
53
|
-
currency: state.currency,
|
|
54
|
-
minimumFractionDigits: 0,
|
|
55
|
-
maximumFractionDigits: 2,
|
|
56
|
-
}).format(value);
|
|
57
|
-
};
|
|
58
|
-
const frequencyLabel = BILLING_FREQUENCY_OPTIONS.find((o) => o.value === state.timeAndMaterials?.billingFrequency)?.label || "Monthly";
|
|
59
|
-
return (_jsxs("div", { className: "bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden transition-shadow hover:shadow-md", children: [_jsxs("div", { className: "flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-stone-50", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex items-center justify-center w-9 h-9 rounded-lg bg-amber-100", children: _jsx(Clock, { size: 18, className: "text-amber-600" }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-[15px] font-semibold text-slate-800", children: "Time & Materials" }), _jsx("p", { className: "text-[13px] text-slate-400 mt-0.5", children: "Rates, billing, and caps" })] })] }), !isEditing ? (_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: () => setIsEditing(true), children: [_jsx(Pencil, { size: 14 }), "Edit"] })) : (_jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-white bg-emerald-600 border-none rounded-md cursor-pointer transition-colors hover:bg-emerald-700", onClick: handleSave, children: [_jsx(Check, { size: 14 }), "Save"] }), _jsxs("button", { type: "button", className: "inline-flex items-center gap-2 px-3 py-1.5 text-[13px] font-medium text-slate-500 bg-transparent border-none rounded-md cursor-pointer transition-colors hover:bg-stone-100 hover:text-slate-800", onClick: handleCancel, children: [_jsx(X, { size: 14 }), "Cancel"] })] }))] }), _jsx("div", { className: "p-5", children: isEditing ? (_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(DollarSign, { size: 14, className: "inline align-middle mr-1.5" }), "Hourly Rate (", state.currency, ")"] }), _jsx(TextInput, { type: "number", value: formData.hourlyRate, onChange: (e) => setFormData({ ...formData, hourlyRate: e.target.value }), placeholder: "0.00", step: "0.01" })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(TrendingUp, { size: 14, className: "inline align-middle mr-1.5" }), "Retainer Amount (", state.currency, ")"] }), _jsx(TextInput, { type: "number", value: formData.retainerAmount, onChange: (e) => setFormData({ ...formData, retainerAmount: e.target.value }), placeholder: "0.00", step: "0.01" })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: ["Variable Cap (", state.currency, ")"] }), _jsx(TextInput, { type: "number", value: formData.variableCap, onChange: (e) => setFormData({ ...formData, variableCap: e.target.value }), placeholder: "0.00", step: "0.01" })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(Calendar, { size: 14, className: "inline align-middle mr-1.5" }), "Billing Frequency"] }), _jsx(Select, { value: formData.billingFrequency, onChange: (value) => setFormData({
|
|
60
|
-
...formData,
|
|
61
|
-
billingFrequency: value,
|
|
62
|
-
}), options: BILLING_FREQUENCY_OPTIONS })] }), _jsx("div", { className: "col-span-2 flex flex-col gap-1.5", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", id: "timesheetRequired", className: "w-4 h-4 rounded border-gray-300 text-slate-800 focus:ring-slate-500", checked: formData.timesheetRequired, onChange: (e) => setFormData({
|
|
63
|
-
...formData,
|
|
64
|
-
timesheetRequired: e.target.checked,
|
|
65
|
-
}) }), _jsxs("label", { htmlFor: "timesheetRequired", className: "text-[13px] font-medium text-slate-500 cursor-pointer", children: [_jsx(FileSpreadsheet, { size: 14, className: "inline align-middle mr-1.5" }), "Timesheet submission required for billing"] })] }) })] })) : state.timeAndMaterials ? (_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(DollarSign, { size: 14, className: "inline align-middle mr-1.5" }), "Hourly Rate"] }), _jsx("p", { className: "text-[15px] font-mono font-semibold text-slate-800 py-2.5", children: formatCurrency(state.timeAndMaterials.hourlyRate?.value) || (_jsx("span", { className: "text-slate-400 italic font-normal font-sans", children: "Not set" })) })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(TrendingUp, { size: 14, className: "inline align-middle mr-1.5" }), "Retainer Amount"] }), _jsx("p", { className: "text-[15px] font-mono font-semibold text-slate-800 py-2.5", children: formatCurrency(state.timeAndMaterials.retainerAmount?.value) || (_jsx("span", { className: "text-slate-400 italic font-normal font-sans", children: "Not set" })) })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("label", { className: "text-[13px] font-medium text-slate-500", children: "Variable Cap" }), _jsx("p", { className: "text-[15px] font-mono font-semibold text-slate-800 py-2.5", children: formatCurrency(state.timeAndMaterials.variableCap?.value) || (_jsx("span", { className: "text-slate-400 italic font-normal font-sans", children: "No cap" })) })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(Calendar, { size: 14, className: "inline align-middle mr-1.5" }), "Billing Frequency"] }), _jsx("p", { className: "text-[15px] py-2.5", children: _jsx("span", { className: "inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium rounded-full bg-blue-100 text-blue-600", children: frequencyLabel }) })] }), _jsxs("div", { className: "col-span-2 flex flex-col gap-1.5", children: [_jsxs("label", { className: "text-[13px] font-medium text-slate-500", children: [_jsx(FileSpreadsheet, { size: 14, className: "inline align-middle mr-1.5" }), "Timesheet Required"] }), _jsx("p", { className: "text-[15px] py-2.5", children: _jsx("span", { className: `inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium rounded-full ${state.timeAndMaterials.timesheetRequired
|
|
66
|
-
? "bg-emerald-100 text-emerald-600"
|
|
67
|
-
: "bg-stone-100 text-slate-500"}`, children: state.timeAndMaterials.timesheetRequired ? "Yes" : "No" }) })] })] })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-6 text-center", children: [_jsx(Clock, { size: 32, className: "text-slate-400 mb-3" }), _jsx("p", { className: "text-[15px] font-semibold text-slate-800 mb-1", children: "No configuration yet" }), _jsx("p", { className: "text-sm text-slate-400 mb-4", children: "Set up hourly rates and billing preferences" }), _jsx("button", { type: "button", className: "inline-flex items-center gap-2 px-4 py-2 text-[13px] font-medium text-white bg-slate-800 border-none rounded-md cursor-pointer transition-colors hover:bg-slate-700", onClick: () => setIsEditing(true), children: "Configure" })] })) })] }));
|
|
68
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,EAAE,YAOhC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { lazy } from "react";
|
|
2
|
-
/** Document editor module for the "["payment-terms"]" document type */
|
|
3
|
-
export const PaymentTermsEditor = {
|
|
4
|
-
Component: lazy(() => import("./editor.js")),
|
|
5
|
-
documentTypes: ["payment-terms"],
|
|
6
|
-
config: {
|
|
7
|
-
id: "payment-terms-editor",
|
|
8
|
-
name: "Payment Terms Editor",
|
|
9
|
-
},
|
|
10
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditName.d.ts","sourceRoot":"","sources":["../../../../editors/request-for-proposals/components/EditName.tsx"],"names":[],"mappings":"AAKA,2FAA2F;AAC3F,wBAAgB,2BAA2B,mDAyE1C"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { setName } from "document-model";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { useSelectedRequestForProposalsDocument } from "@powerhousedao/network-admin/document-models/request-for-proposals";
|
|
5
|
-
/** Displays the name of the selected RequestForProposals document and allows editing it */
|
|
6
|
-
export function EditRequestForProposalsName() {
|
|
7
|
-
const [requestForProposalsDocument, dispatch] = useSelectedRequestForProposalsDocument();
|
|
8
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
9
|
-
if (!requestForProposalsDocument)
|
|
10
|
-
return null;
|
|
11
|
-
const requestForProposalsDocumentName = requestForProposalsDocument.header.name;
|
|
12
|
-
const onClickEditRequestForProposalsName = () => {
|
|
13
|
-
setIsEditing(true);
|
|
14
|
-
};
|
|
15
|
-
const onClickCancelEditRequestForProposalsName = () => {
|
|
16
|
-
setIsEditing(false);
|
|
17
|
-
};
|
|
18
|
-
const onSubmitSetName = (event) => {
|
|
19
|
-
event.preventDefault();
|
|
20
|
-
const form = event.currentTarget;
|
|
21
|
-
const nameInput = form.elements.namedItem("name");
|
|
22
|
-
const name = nameInput.value;
|
|
23
|
-
if (!name)
|
|
24
|
-
return;
|
|
25
|
-
dispatch(setName(name));
|
|
26
|
-
setIsEditing(false);
|
|
27
|
-
};
|
|
28
|
-
if (isEditing)
|
|
29
|
-
return (_jsxs("form", { className: "flex gap-2 items-center justify-between", onSubmit: onSubmitSetName, children: [_jsx("input", { className: "text-lg font-semibold text-gray-900 p-1", type: "text", name: "name", defaultValue: requestForProposalsDocumentName, autoFocus: true }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "submit", className: "text-sm text-gray-600", children: "Save" }), _jsx("button", { className: "text-sm text-red-800", onClick: onClickCancelEditRequestForProposalsName, children: "Cancel" })] })] }));
|
|
30
|
-
return (_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900", children: requestForProposalsDocumentName }), _jsx("button", { className: "text-sm text-gray-600", onClick: onClickEditRequestForProposalsName, children: "Edit Name" })] }));
|
|
31
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,EAAE,YAOvC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { lazy } from "react";
|
|
2
|
-
/** Document editor module for the "["powerhouse/rfp"]" document type */
|
|
3
|
-
export const RequestForProposalsEditor = {
|
|
4
|
-
Component: lazy(() => import("./editor.js")),
|
|
5
|
-
documentTypes: ["powerhouse/rfp"],
|
|
6
|
-
config: {
|
|
7
|
-
id: "request-for-proposals-editor",
|
|
8
|
-
name: "Request for Proposals Editor",
|
|
9
|
-
},
|
|
10
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/workstream/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,YAO9B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { lazy } from "react";
|
|
2
|
-
/** Document editor module for the "["powerhouse/workstream"]" document type */
|
|
3
|
-
export const WorkstreamEditor = {
|
|
4
|
-
Component: lazy(() => import("./editor.js")),
|
|
5
|
-
documentTypes: ["powerhouse/workstream"],
|
|
6
|
-
config: {
|
|
7
|
-
id: "workstream-editor",
|
|
8
|
-
name: "Workstream Editor",
|
|
9
|
-
},
|
|
10
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/builders-addon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,IAAI,SAAoB;IACxB,QAAQ,EAAE,YAAY,CAAU;IAChC,SAAS,0BAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/builders-addon/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAc5D,eAAO,MAAM,YAAY,GAAI,UAAU,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAybxE,CAAC"}
|