@arbidocs/blocks 0.4.147 → 0.4.151
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/ConnectedNativeDocxComparison-OFPIXNJB.js +35 -0
- package/dist/ConnectedNativeDocxComparison-OFPIXNJB.js.map +1 -0
- package/dist/ConnectedNativeDocxComparison-Y5BNLNH6.cjs +44 -0
- package/dist/ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map +1 -0
- package/dist/ConnectedNativeDocxEditor-HTEW5JAH.cjs +46 -0
- package/dist/ConnectedNativeDocxEditor-HTEW5JAH.cjs.map +1 -0
- package/dist/ConnectedNativeDocxEditor-LRYU5HPA.js +33 -0
- package/dist/ConnectedNativeDocxEditor-LRYU5HPA.js.map +1 -0
- package/dist/ConnectedStreamedWordArtifact-QAUVUCSX.js +35 -0
- package/dist/ConnectedStreamedWordArtifact-QAUVUCSX.js.map +1 -0
- package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs +44 -0
- package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +1 -0
- package/dist/FactTextEditor-YESAU2IJ.js +25 -0
- package/dist/FactTextEditor-YESAU2IJ.js.map +1 -0
- package/dist/FactTextEditor-YUPBCTXK.cjs +27 -0
- package/dist/FactTextEditor-YUPBCTXK.cjs.map +1 -0
- package/dist/{NativeDocxEditor-BE2OEOTJ.cjs → NativeDocxEditor-5VBNM5I7.cjs} +8 -8
- package/dist/{NativeDocxEditor-BE2OEOTJ.cjs.map → NativeDocxEditor-5VBNM5I7.cjs.map} +1 -1
- package/dist/{NativeDocxEditor-KOPFMRYW.js → NativeDocxEditor-XT5ZLFGU.js} +4 -4
- package/dist/{NativeDocxEditor-KOPFMRYW.js.map → NativeDocxEditor-XT5ZLFGU.js.map} +1 -1
- package/dist/agents/index.cjs +263 -264
- package/dist/agents/index.js +6 -7
- package/dist/calendar/index.cjs +117 -125
- package/dist/calendar/index.d.ts +0 -1
- package/dist/calendar/index.js +1 -1
- package/dist/chat/index.cjs +78 -78
- package/dist/chat/index.js +3 -3
- package/dist/{chunk-2FL7QJKJ.js → chunk-265GOG4W.js} +3 -3
- package/dist/{chunk-2FL7QJKJ.js.map → chunk-265GOG4W.js.map} +1 -1
- package/dist/{chunk-LTU35TQN.cjs → chunk-2FLWPM3B.cjs} +636 -31
- package/dist/chunk-2FLWPM3B.cjs.map +1 -0
- package/dist/{chunk-SUUPR735.js → chunk-3PCBYOIZ.js} +4 -4
- package/dist/{chunk-SUUPR735.js.map → chunk-3PCBYOIZ.js.map} +1 -1
- package/dist/{chunk-WIZ7Z7FN.js → chunk-4236BRZK.js} +46 -221
- package/dist/chunk-4236BRZK.js.map +1 -0
- package/dist/{chunk-IL3WB3YX.cjs → chunk-4JNKXOFZ.cjs} +3 -3
- package/dist/{chunk-IL3WB3YX.cjs.map → chunk-4JNKXOFZ.cjs.map} +1 -1
- package/dist/{chunk-ODRHHWHY.cjs → chunk-4KMLM3GY.cjs} +4 -4
- package/dist/chunk-4KMLM3GY.cjs.map +1 -0
- package/dist/chunk-6I6CVX5G.cjs +22 -0
- package/dist/chunk-6I6CVX5G.cjs.map +1 -0
- package/dist/{chunk-MHFF5N65.cjs → chunk-757OYF6G.cjs} +4 -38
- package/dist/chunk-757OYF6G.cjs.map +1 -0
- package/dist/chunk-B3FMUFAW.cjs +1956 -0
- package/dist/chunk-B3FMUFAW.cjs.map +1 -0
- package/dist/{chunk-B3AHCIV5.js → chunk-BJ24VPOA.js} +4 -55
- package/dist/chunk-BJ24VPOA.js.map +1 -0
- package/dist/chunk-C7PTF6BQ.cjs +172 -0
- package/dist/chunk-C7PTF6BQ.cjs.map +1 -0
- package/dist/{chunk-LZRMXJIE.js → chunk-COA3S3CZ.js} +3 -3
- package/dist/{chunk-LZRMXJIE.js.map → chunk-COA3S3CZ.js.map} +1 -1
- package/dist/{chunk-VUR63NMQ.js → chunk-CROTH2BS.js} +6 -6
- package/dist/{chunk-VUR63NMQ.js.map → chunk-CROTH2BS.js.map} +1 -1
- package/dist/{chunk-AO7SK6WP.cjs → chunk-CU2O32Z4.cjs} +31 -31
- package/dist/{chunk-AO7SK6WP.cjs.map → chunk-CU2O32Z4.cjs.map} +1 -1
- package/dist/chunk-D3WFIFRY.cjs +659 -0
- package/dist/chunk-D3WFIFRY.cjs.map +1 -0
- package/dist/{chunk-DAHCRVPM.js → chunk-DB2OXRQC.js} +84 -82
- package/dist/chunk-DB2OXRQC.js.map +1 -0
- package/dist/{chunk-QXMR5YHC.js → chunk-DIB4JYUY.js} +19 -3
- package/dist/chunk-DIB4JYUY.js.map +1 -0
- package/dist/chunk-DVB5ZKOF.js +22 -0
- package/dist/chunk-DVB5ZKOF.js.map +1 -0
- package/dist/chunk-EYJMMGXF.js +19 -0
- package/dist/chunk-EYJMMGXF.js.map +1 -0
- package/dist/chunk-FAXXN7KI.cjs +213 -0
- package/dist/chunk-FAXXN7KI.cjs.map +1 -0
- package/dist/{chunk-2MJWWPHY.js → chunk-G4IYES7G.js} +140 -15
- package/dist/chunk-G4IYES7G.js.map +1 -0
- package/dist/{chunk-T5I4NRFP.cjs → chunk-GFOEWPAP.cjs} +8 -8
- package/dist/{chunk-T5I4NRFP.cjs.map → chunk-GFOEWPAP.cjs.map} +1 -1
- package/dist/{chunk-QI6AIHWP.cjs → chunk-GOWXP5KT.cjs} +145 -14
- package/dist/chunk-GOWXP5KT.cjs.map +1 -0
- package/dist/chunk-HALD6ZB5.cjs +18 -0
- package/dist/chunk-HALD6ZB5.cjs.map +1 -0
- package/dist/chunk-HUJF2XM2.js +6584 -0
- package/dist/chunk-HUJF2XM2.js.map +1 -0
- package/dist/{chunk-NRFAWUVD.js → chunk-JAANWQGB.js} +157 -157
- package/dist/chunk-JAANWQGB.js.map +1 -0
- package/dist/{chunk-7RJTEWYM.js → chunk-JGOST4IL.js} +350 -64
- package/dist/chunk-JGOST4IL.js.map +1 -0
- package/dist/chunk-KHXEIEXN.js +41 -0
- package/dist/chunk-KHXEIEXN.js.map +1 -0
- package/dist/chunk-KQYPP72K.js +644 -0
- package/dist/chunk-KQYPP72K.js.map +1 -0
- package/dist/chunk-KUT2Y7JF.cjs +43 -0
- package/dist/chunk-KUT2Y7JF.cjs.map +1 -0
- package/dist/{chunk-6YTHQ73P.cjs → chunk-LLYZGH3L.cjs} +3 -56
- package/dist/chunk-LLYZGH3L.cjs.map +1 -0
- package/dist/{chunk-YSHIC4NJ.cjs → chunk-LXTOOUEN.cjs} +159 -154
- package/dist/chunk-LXTOOUEN.cjs.map +1 -0
- package/dist/{chunk-EVUEIBNU.js → chunk-M4S75AEJ.js} +44 -5
- package/dist/chunk-M4S75AEJ.js.map +1 -0
- package/dist/{chunk-V5OAXIBN.cjs → chunk-NPR5BGFF.cjs} +11 -11
- package/dist/{chunk-V5OAXIBN.cjs.map → chunk-NPR5BGFF.cjs.map} +1 -1
- package/dist/{chunk-PLJ7PHWU.cjs → chunk-NS7NVX4E.cjs} +3 -3
- package/dist/{chunk-PLJ7PHWU.cjs.map → chunk-NS7NVX4E.cjs.map} +1 -1
- package/dist/{chunk-AINU3EJ6.cjs → chunk-Q4BY2CQQ.cjs} +92 -90
- package/dist/chunk-Q4BY2CQQ.cjs.map +1 -0
- package/dist/chunk-QN47Q4N7.js +16 -0
- package/dist/chunk-QN47Q4N7.js.map +1 -0
- package/dist/{chunk-I2QSDQQV.cjs → chunk-QT3A4PFC.cjs} +21 -2
- package/dist/chunk-QT3A4PFC.cjs.map +1 -0
- package/dist/{chunk-ZM26YEOT.js → chunk-RY2SODRN.js} +3 -3
- package/dist/{chunk-ZM26YEOT.js.map → chunk-RY2SODRN.js.map} +1 -1
- package/dist/chunk-SDOEHEJP.js +208 -0
- package/dist/chunk-SDOEHEJP.js.map +1 -0
- package/dist/{chunk-DETZZBG2.cjs → chunk-SIB6C7P7.cjs} +43 -2
- package/dist/chunk-SIB6C7P7.cjs.map +1 -0
- package/dist/{chunk-MFY2ZNP6.cjs → chunk-SMN32BQ3.cjs} +4 -4
- package/dist/chunk-SMN32BQ3.cjs.map +1 -0
- package/dist/chunk-T74Q3MCZ.cjs +6751 -0
- package/dist/chunk-T74Q3MCZ.cjs.map +1 -0
- package/dist/{chunk-AOSUHWIL.js → chunk-TZOQKV64.js} +4 -37
- package/dist/chunk-TZOQKV64.js.map +1 -0
- package/dist/{chunk-U37AYUPI.cjs → chunk-U6JQ4KMX.cjs} +46 -233
- package/dist/chunk-U6JQ4KMX.cjs.map +1 -0
- package/dist/chunk-WFA2GVZJ.js +16 -0
- package/dist/chunk-WFA2GVZJ.js.map +1 -0
- package/dist/chunk-WU34CHU5.js +1907 -0
- package/dist/chunk-WU34CHU5.js.map +1 -0
- package/dist/{chunk-O4YPVYPO.cjs → chunk-YAEXSCUW.cjs} +364 -60
- package/dist/chunk-YAEXSCUW.cjs.map +1 -0
- package/dist/{chunk-H74HEPKT.js → chunk-YXNNNP57.js} +598 -13
- package/dist/chunk-YXNNNP57.js.map +1 -0
- package/dist/chunk-Z27QMJ6S.cjs +25 -0
- package/dist/chunk-Z27QMJ6S.cjs.map +1 -0
- package/dist/{chunk-CSI2B2H5.js → chunk-Z4NQ3TED.js} +4 -4
- package/dist/chunk-Z4NQ3TED.js.map +1 -0
- package/dist/{chunk-DGV7HQA7.js → chunk-ZLEYLCE4.js} +4 -4
- package/dist/chunk-ZLEYLCE4.js.map +1 -0
- package/dist/chunk-ZNLTEZEF.js +170 -0
- package/dist/chunk-ZNLTEZEF.js.map +1 -0
- package/dist/chunk-ZP6Q3KXU.cjs +18 -0
- package/dist/chunk-ZP6Q3KXU.cjs.map +1 -0
- package/dist/citations/index.cjs +14 -14
- package/dist/citations/index.js +2 -2
- package/dist/collaboration/index.cjs +35 -35
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +21 -26
- package/dist/connect/docx.cjs.map +1 -1
- package/dist/connect/docx.js +10 -26
- package/dist/connect/docx.js.map +1 -1
- package/dist/connect/index.cjs +8662 -2824
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +10 -2
- package/dist/connect/index.js +8467 -2670
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +2357 -0
- package/dist/connect/viewer.cjs.map +1 -0
- package/dist/connect/viewer.d.ts +8 -0
- package/dist/connect/viewer.js +2350 -0
- package/dist/connect/viewer.js.map +1 -0
- package/dist/connection/ConnectedWorkflowsTable.d.ts +2 -12
- package/dist/connection/ai.d.ts +2 -9
- package/dist/connection/billing/AddAddonDialog.d.ts +24 -0
- package/dist/connection/billing/BillingCard.d.ts +18 -0
- package/dist/connection/billing/BillingProjectEntity.d.ts +9 -0
- package/dist/connection/billing/ChangePlanDialog.d.ts +20 -0
- package/dist/connection/billing/ChangeProPlan.d.ts +20 -0
- package/dist/connection/billing/CheckoutTotal.d.ts +12 -0
- package/dist/connection/billing/DailyCapEditor.d.ts +4 -0
- package/dist/connection/billing/InvoicesModal.d.ts +6 -0
- package/dist/connection/billing/NewProjectFlow.d.ts +14 -0
- package/dist/connection/billing/PlanChangeLines.d.ts +13 -0
- package/dist/connection/billing/PlanSelector.d.ts +50 -0
- package/dist/connection/billing/ProjectBilling.d.ts +24 -0
- package/dist/connection/billing/ProjectDetail.d.ts +16 -0
- package/dist/connection/billing/ProjectUsageCard.d.ts +21 -0
- package/dist/connection/billing/ProjectUsageContent.d.ts +18 -0
- package/dist/connection/billing/ProjectsTable.d.ts +13 -0
- package/dist/connection/billing/ReduceAddonDialog.d.ts +18 -0
- package/dist/connection/billing/ReferralReward.d.ts +32 -0
- package/dist/connection/billing/SharedProjects.d.ts +13 -0
- package/dist/connection/billing/StripeCheckoutModal.d.ts +32 -0
- package/dist/connection/billing/SubscriptionPlans.d.ts +15 -0
- package/dist/connection/billing/SubscriptionStatus.d.ts +10 -0
- package/dist/connection/billing/addon-pricing.d.ts +97 -0
- package/dist/connection/billing/api-error.d.ts +6 -0
- package/dist/connection/billing/billing-country.d.ts +14 -0
- package/dist/connection/billing/billing-focus.d.ts +11 -0
- package/dist/connection/billing/index.d.ts +22 -0
- package/dist/connection/billing/plan-badge.d.ts +15 -0
- package/dist/connection/billing/plan-change-outcome.d.ts +15 -0
- package/dist/connection/billing/plan-constants.d.ts +29 -0
- package/dist/connection/billing/plan-pricing.d.ts +67 -0
- package/dist/connection/billing/quota-items.d.ts +33 -0
- package/dist/connection/billing/referral-reward.d.ts +28 -0
- package/dist/connection/billing/refusal-copy.d.ts +5 -0
- package/dist/connection/billing/reward-balance.d.ts +19 -0
- package/dist/connection/billing/support.d.ts +35 -0
- package/dist/connection/billing/tax-quote.d.ts +36 -0
- package/dist/connection/billing/useAddonPurchase.d.ts +32 -0
- package/dist/connection/billing/useAutoRefreshPendingProjects.d.ts +11 -0
- package/dist/connection/billing/useCheckoutQuote.d.ts +30 -0
- package/dist/connection/billing/useOpenBillingPortal.d.ts +12 -0
- package/dist/connection/calendar/CalendarSettingsDialog.d.ts +1 -1
- package/dist/connection/facts/ConnectedFactsPage.d.ts +50 -0
- package/dist/connection/facts/FactMarkdownEditor.d.ts +57 -0
- package/dist/connection/facts/FactSourcesPopover.d.ts +38 -0
- package/dist/connection/facts/FactTextEditor.d.ts +2 -0
- package/dist/connection/facts/factNouns.d.ts +4 -0
- package/dist/connection/facts/factPageColumns.d.ts +37 -0
- package/dist/connection/facts/types.d.ts +127 -0
- package/dist/connection/facts/useFactActions.d.ts +10 -0
- package/dist/connection/facts/useFactComposer.d.ts +54 -0
- package/dist/connection/facts/useFactFilters.d.ts +101 -0
- package/dist/connection/facts/useFactSelection.d.ts +82 -0
- package/dist/connection/facts/useFactsGrid.d.ts +87 -0
- package/dist/connection/facts/useFactsPageView.d.ts +4 -0
- package/dist/connection/mail/ConnectedMailComposer.d.ts +3 -1
- package/dist/connection/mail/ConnectedMailbox.d.ts +4 -2
- package/dist/connection/mail/MailComposerForm.d.ts +4 -2
- package/dist/connection/mail/MailRecipientInput.d.ts +14 -0
- package/dist/connection/mail/index.d.ts +1 -1
- package/dist/connection/mail/types.d.ts +10 -0
- package/dist/connection/search/ConnectedSearchPage.d.ts +64 -0
- package/dist/connection/search/SearchResultRows.d.ts +38 -0
- package/dist/connection/search/index.d.ts +2 -0
- package/dist/connection/tags/ConnectedTagTable.d.ts +108 -0
- package/dist/connection/tags/ConnectedTagsPage.d.ts +55 -0
- package/dist/connection/tags/DocTagPassages.d.ts +25 -0
- package/dist/connection/tags/GlossaryExport.d.ts +7 -0
- package/dist/connection/tags/TagCombineFilter.d.ts +14 -0
- package/dist/connection/tags/TagPlacement.d.ts +16 -0
- package/dist/connection/tags/TagsPageSections.d.ts +36 -0
- package/dist/connection/tags/tagCombine.d.ts +55 -0
- package/dist/connection/useConnectedWorkNotifications.d.ts +7 -24
- package/dist/connection/viewer/ConnectedDocumentToolsProvider.d.ts +11 -0
- package/dist/connection/viewer/ConnectedDocumentViewer.d.ts +21 -0
- package/dist/connection/viewer/FinaliseTranslationButton.d.ts +15 -0
- package/dist/connection/viewer/ViewerPdfPane.d.ts +46 -0
- package/dist/connection/viewer/parsed/ParsedPassage.d.ts +48 -0
- package/dist/connection/viewer/parsed/ParsedTextView.d.ts +17 -0
- package/dist/connection/viewer/parsed/PassageTagPanel.d.ts +18 -0
- package/dist/connection/viewer/parsed/citation-line.d.ts +17 -0
- package/dist/connection/viewer/parsed/document-tags.d.ts +8 -0
- package/dist/connection/viewer/parsed/useChunkTagging.d.ts +46 -0
- package/dist/connection/viewer/parsed/useCitationSelection.d.ts +27 -0
- package/dist/connection/viewer/parsed/useDocumentLabels.d.ts +38 -0
- package/dist/connection/viewer/parsed/useLazyPages.d.ts +18 -0
- package/dist/connection/viewer/parsed/usePageScrollSync.d.ts +17 -0
- package/dist/connection/viewer/parsed/usePassageCopy.d.ts +25 -0
- package/dist/connection/viewer/support.d.ts +97 -0
- package/dist/connection/viewer/useImageCrop.d.ts +13 -0
- package/dist/connection/viewer/useViewedDocument.d.ts +70 -0
- package/dist/connection/viewer/useViewerBlobs.d.ts +15 -0
- package/dist/connection/viewer/useViewerTabs.d.ts +18 -0
- package/dist/connection/viewer/useViewerVersions.d.ts +11 -0
- package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +6 -0
- package/dist/document-tools/index.cjs +59 -652
- package/dist/document-tools/index.cjs.map +1 -1
- package/dist/document-tools/index.js +2 -641
- package/dist/document-tools/index.js.map +1 -1
- package/dist/docx/index.cjs +48 -47
- package/dist/docx/index.js +4 -3
- package/dist/facts/FactsBulkBar.d.ts +6 -3
- package/dist/facts/cited-version-ref.d.ts +1 -0
- package/dist/facts/index.cjs +204 -1940
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.d.ts +1 -0
- package/dist/facts/index.js +13 -1895
- package/dist/facts/index.js.map +1 -1
- package/dist/files/TagPassagePanel.d.ts +2 -1
- package/dist/files/ViewerChrome.d.ts +5 -4
- package/dist/files/ViewerControlBar.d.ts +12 -0
- package/dist/files/doc-labels.d.ts +35 -0
- package/dist/files/grid/FilterButton.d.ts +12 -0
- package/dist/files/grid/RowDensityControl.d.ts +18 -0
- package/dist/files/grid/row-density.d.ts +27 -0
- package/dist/files/index.cjs +778 -7099
- package/dist/files/index.cjs.map +1 -1
- package/dist/files/index.d.ts +5 -0
- package/dist/files/index.js +13 -6918
- package/dist/files/index.js.map +1 -1
- package/dist/index.cjs +993 -1209
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +22 -355
- package/dist/index.js.map +1 -1
- package/dist/retrieval/SearchSnippet.d.ts +6 -0
- package/dist/retrieval/index.cjs +74 -41
- package/dist/retrieval/index.d.ts +2 -0
- package/dist/retrieval/index.js +2 -1
- package/dist/retrieval/search-results.d.ts +46 -0
- package/dist/settings/Billing.d.ts +0 -66
- package/dist/settings/SubscriptionParts.d.ts +1 -50
- package/dist/settings/index.cjs +166 -214
- package/dist/settings/index.d.ts +3 -2
- package/dist/settings/index.js +1 -1
- package/dist/settings/inverted-index-filter.d.ts +26 -0
- package/dist/studio/index.cjs +3 -3
- package/dist/studio/index.js +2 -2
- package/dist/tags/definitions.d.ts +10 -0
- package/dist/tags/index.d.ts +4 -1
- package/dist/tags/page/ExtractEntitiesDialog.d.ts +24 -0
- package/dist/tags/page/TagPicker.d.ts +16 -0
- package/dist/tags/page/tagsPageLabels.d.ts +36 -0
- package/dist/workflow-canvas/index.cjs +19 -20
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +6 -7
- package/dist/workflow-canvas/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +13 -4
- package/dist/calendar/access-setup.d.ts +0 -8
- package/dist/chunk-2MJWWPHY.js.map +0 -1
- package/dist/chunk-3AFWGEDJ.cjs +0 -53
- package/dist/chunk-3AFWGEDJ.cjs.map +0 -1
- package/dist/chunk-6YTHQ73P.cjs.map +0 -1
- package/dist/chunk-7RJTEWYM.js.map +0 -1
- package/dist/chunk-AINU3EJ6.cjs.map +0 -1
- package/dist/chunk-AOSUHWIL.js.map +0 -1
- package/dist/chunk-B3AHCIV5.js.map +0 -1
- package/dist/chunk-CSI2B2H5.js.map +0 -1
- package/dist/chunk-DAHCRVPM.js.map +0 -1
- package/dist/chunk-DETZZBG2.cjs.map +0 -1
- package/dist/chunk-DGV7HQA7.js.map +0 -1
- package/dist/chunk-EVUEIBNU.js.map +0 -1
- package/dist/chunk-H74HEPKT.js.map +0 -1
- package/dist/chunk-I2QSDQQV.cjs.map +0 -1
- package/dist/chunk-J5CWKFSC.js +0 -170
- package/dist/chunk-J5CWKFSC.js.map +0 -1
- package/dist/chunk-LTU35TQN.cjs.map +0 -1
- package/dist/chunk-MFY2ZNP6.cjs.map +0 -1
- package/dist/chunk-MHFF5N65.cjs.map +0 -1
- package/dist/chunk-NRFAWUVD.js.map +0 -1
- package/dist/chunk-O4YPVYPO.cjs.map +0 -1
- package/dist/chunk-ODRHHWHY.cjs.map +0 -1
- package/dist/chunk-QI6AIHWP.cjs.map +0 -1
- package/dist/chunk-QXMR5YHC.js.map +0 -1
- package/dist/chunk-RFXJYIDV.js +0 -50
- package/dist/chunk-RFXJYIDV.js.map +0 -1
- package/dist/chunk-U37AYUPI.cjs.map +0 -1
- package/dist/chunk-WIZ7Z7FN.js.map +0 -1
- package/dist/chunk-XVUOMWMD.cjs +0 -177
- package/dist/chunk-XVUOMWMD.cjs.map +0 -1
- package/dist/chunk-YSHIC4NJ.cjs.map +0 -1
- package/dist/connection/ConnectedTagTable.d.ts +0 -32
- package/dist/connection/calendar/CopyField.d.ts +0 -9
- package/dist/connection/calendar/OpenAccessPanel.d.ts +0 -7
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AddAddonDialog — confirm adding one add-on block: price today, the next charge, one line; how it is charged is
|
|
3
|
+
* behind "More info".
|
|
4
|
+
*
|
|
5
|
+
* - ai_usage: +£25 of AI usage a month, charged now at `ai_block_price_pence` (monthly: one
|
|
6
|
+
* month; annual: the monthly rate × the months left, covering until the annual renewal).
|
|
7
|
+
* - storage: +25 GB, charged now at `storage_block_price_pence`, prorated by days for the rest of
|
|
8
|
+
* the period.
|
|
9
|
+
* The block then renews every period at `ai_block_period_pence` / `storage_block_period_pence`
|
|
10
|
+
* until the user removes it. The figures shown are taxed for the customer's saved address (GET /addons/quote). The
|
|
11
|
+
* monthly usage cap limits automatic top-ups only: it never blocks a block added here, even at £0.
|
|
12
|
+
*/
|
|
13
|
+
import type { components } from '@arbidocs/client';
|
|
14
|
+
import { type AddonKind } from './useAddonPurchase';
|
|
15
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
16
|
+
export declare function AddAddonDialog({ kind, project, open, onOpenChange, onAdded, }: {
|
|
17
|
+
kind: AddonKind;
|
|
18
|
+
project: ProjectResponse;
|
|
19
|
+
open: boolean;
|
|
20
|
+
onOpenChange: (open: boolean) => void;
|
|
21
|
+
/** Called once the block is paid (not when the bank still needs to confirm). */
|
|
22
|
+
onAdded?: () => void;
|
|
23
|
+
}): import("react").JSX.Element | null;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** The bordered card used by the project billing view (Plan, Usage and plan). */
|
|
2
|
+
import type { ReactNode, Ref } from 'react';
|
|
3
|
+
export declare function BillingCard({ title, testId, action, children, cardRef, }: {
|
|
4
|
+
title: string;
|
|
5
|
+
testId: string;
|
|
6
|
+
action?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
cardRef?: Ref<HTMLElement>;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
/** A scheduled change, one line, with its Undo. */
|
|
11
|
+
export declare function PendingChange({ children, onUndo, undoLabel, isBusy, testId, undoTestId, }: {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
onUndo?: () => void;
|
|
14
|
+
undoLabel?: string;
|
|
15
|
+
isBusy?: boolean;
|
|
16
|
+
testId: string;
|
|
17
|
+
undoTestId?: string;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ProjectRelation } from '@arbidocs/react/ui';
|
|
2
|
+
export interface BillingProjectEntityProps {
|
|
3
|
+
name: string;
|
|
4
|
+
subscription?: string;
|
|
5
|
+
size?: 'sm' | 'base';
|
|
6
|
+
relation?: ProjectRelation;
|
|
7
|
+
}
|
|
8
|
+
/** The project pill, marked paid only where plans are sold. */
|
|
9
|
+
export declare function BillingProjectEntity({ subscription, ...props }: BillingProjectEntityProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChangePlanDialog — the single source of truth for a project's plan picker.
|
|
3
|
+
*
|
|
4
|
+
* Opened from two places that used to each render their own dialog (and drifted
|
|
5
|
+
* apart in width): the projects list "Upgrade" action and a project's detail
|
|
6
|
+
* "Change plan" button. Pro projects switch interval or move to Free
|
|
7
|
+
* (ChangeProPlan); Free or unpaid projects subscribe to Pro (SubscriptionPlans). One wrapper, one
|
|
8
|
+
* width — so the plan grid can't render cramped in one entry point and spacious
|
|
9
|
+
* in the other.
|
|
10
|
+
*/
|
|
11
|
+
import type { components } from '@arbidocs/client';
|
|
12
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
13
|
+
interface ChangePlanDialogProps {
|
|
14
|
+
/** The project whose plan is being changed. `null` keeps the dialog closed. */
|
|
15
|
+
project: ProjectResponse | null;
|
|
16
|
+
open: boolean;
|
|
17
|
+
onOpenChange: (open: boolean) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function ChangePlanDialog({ project, open, onOpenChange }: ChangePlanDialogProps): import("react").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChangeProPlan — change the plan of a project already on Pro.
|
|
3
|
+
*
|
|
4
|
+
* Pro is one licence. Choices: Pro, Free, and the billing interval; a legacy multi-pack plan (no longer
|
|
5
|
+
* sold) also shows its own count ("Pro ×3", priced from the project) and may only go down to one
|
|
6
|
+
* licence. One POST /change-plan { interval, packs }:
|
|
7
|
+
* - packs is 1, or the subscription's current count (which undoes a scheduled reduction).
|
|
8
|
+
* - One licence instead of several applies at period end (`addons.packs_next`), no refund.
|
|
9
|
+
* - Monthly ↔ annual switches at period end (`addons.pending_interval`); a plan that renews with
|
|
10
|
+
* several packs can't switch interval, so the toggle shows only once one licence is chosen.
|
|
11
|
+
* - Sending the current value clears a pending change; on a project set to cancel, it resumes.
|
|
12
|
+
* - Free: POST /cancel — Pro and its add-ons stay until the period ends.
|
|
13
|
+
*/
|
|
14
|
+
import type { components } from '@arbidocs/client';
|
|
15
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
16
|
+
export declare function ChangeProPlan({ project, onDone, }: {
|
|
17
|
+
project: ProjectResponse;
|
|
18
|
+
onDone?: () => void;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CheckoutTotal — the tax-inclusive total of a plan purchase, shown before Stripe opens:
|
|
3
|
+
* "Total today £48.00 incl. VAT (£40.00 + £8.00 VAT 20%)". Priced by the backend (Stripe Tax)
|
|
4
|
+
* for the chosen country, plus a ZIP / postcode where the tax depends on it (e.g. the US).
|
|
5
|
+
*/
|
|
6
|
+
import type { CheckoutQuoteState } from './useCheckoutQuote';
|
|
7
|
+
/** The postcode field (when needed) and the total line. */
|
|
8
|
+
export declare function CheckoutTotal({ state, postalCode, onPostalCodeChange, }: {
|
|
9
|
+
state: CheckoutQuoteState;
|
|
10
|
+
postalCode: string;
|
|
11
|
+
onPostalCodeChange: (value: string) => void;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NewProjectFlow — unified dialog: name → Free or Pro → monthly/annual + promo → checkout.
|
|
3
|
+
* When Stripe is disabled, just creates a project with a name (no plan selection).
|
|
4
|
+
* Free creates a usable project immediately. Pro creates a 'pending' project and opens the
|
|
5
|
+
* embedded Stripe Checkout; a cancelled checkout discards the pending project.
|
|
6
|
+
* The total for the billing country (incl. tax) is quoted before Stripe opens.
|
|
7
|
+
*/
|
|
8
|
+
interface NewProjectFlowProps {
|
|
9
|
+
open: boolean;
|
|
10
|
+
onOpenChange: (open: boolean) => void;
|
|
11
|
+
defaultName: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function NewProjectFlow({ open, onOpenChange, defaultName }: NewProjectFlowProps): import("react").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlanChangeLines — the plan-change panel's fixed lines (pay today / from <date> / current plan
|
|
3
|
+
* until), from the Stripe preview. Used by the plan picker.
|
|
4
|
+
*/
|
|
5
|
+
import type { components } from '@arbidocs/client';
|
|
6
|
+
type PlanChangePreview = components['schemas']['PlanChangePreview'];
|
|
7
|
+
export declare function PlanChangeLines({ preview, isError, className, }: {
|
|
8
|
+
preview: PlanChangePreview | undefined;
|
|
9
|
+
/** The preview failed: say what today's charge is without a figure. */
|
|
10
|
+
isError?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlanSelector — binds the Pro prices to the plan-picker blocks.
|
|
3
|
+
*
|
|
4
|
+
* Two plans: Free and Pro (one licence), Pro billed monthly or annually. Used by NewProjectFlow (choose
|
|
5
|
+
* Free or Pro for a new project) and SubscriptionPlans (upgrade a Free project).
|
|
6
|
+
* Prices come from Stripe (source of truth): ex VAT, with the UK-inclusive figure under it; the
|
|
7
|
+
* total for the buyer's country is quoted before checkout. Presentation lives in `@arbidocs/blocks`.
|
|
8
|
+
*/
|
|
9
|
+
import { type PlanChoice, type ProPrices } from './plan-pricing';
|
|
10
|
+
import type { components } from '@arbidocs/client';
|
|
11
|
+
type ProductPrice = components['schemas']['ProductPrice'];
|
|
12
|
+
/**
|
|
13
|
+
* Free and Pro plan cards. `isOnFree` marks Free as the current (unselectable) plan when
|
|
14
|
+
* upgrading an existing Free project; omit it for a brand-new project, where both are choices.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PlanChoiceCards({ selected, onSelect, isAnnual, prices, isOnFree, }: {
|
|
17
|
+
selected: PlanChoice | null;
|
|
18
|
+
onSelect: (plan: PlanChoice) => void;
|
|
19
|
+
isAnnual: boolean;
|
|
20
|
+
prices: ProPrices;
|
|
21
|
+
isOnFree?: boolean;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
/** "How pricing works" popover; its link opens the AI model list in user settings. */
|
|
24
|
+
export declare function PlanInfoPopover(): import("react").JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* The monthly usage cap at checkout, editable inline, with one short line (the rest is in "How pricing works").
|
|
27
|
+
* `value` is in pounds; an untouched default is sent as `addon_budget_pence: null`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function CheckoutAddonBudget({ value, onChange, }: {
|
|
30
|
+
value: string;
|
|
31
|
+
onChange: (value: string) => void;
|
|
32
|
+
}): import("react").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* Add-on blocks bought with Pro at checkout: "+£25 of AI usage" and "+25 GB storage" steppers (0..100 each), priced
|
|
35
|
+
* per block on the chosen interval. They are on the first invoice and renew until reduced ("How pricing works").
|
|
36
|
+
*/
|
|
37
|
+
export declare function CheckoutAddonBlocks({ aiBlocks, storageBlocks, onAiBlocksChange, onStorageBlocksChange, price, }: {
|
|
38
|
+
aiBlocks: number;
|
|
39
|
+
storageBlocks: number;
|
|
40
|
+
onAiBlocksChange: (value: number) => void;
|
|
41
|
+
onStorageBlocksChange: (value: number) => void;
|
|
42
|
+
/** The plan price on the chosen interval; its `addon_prices` price each block. */
|
|
43
|
+
price?: ProductPrice;
|
|
44
|
+
}): import("react").JSX.Element;
|
|
45
|
+
/** The billing country, chosen before checkout so Stripe prices it with the right tax. */
|
|
46
|
+
export declare function CheckoutCountrySelect({ value, onChange, }: {
|
|
47
|
+
value: string;
|
|
48
|
+
onChange: (code: string) => void;
|
|
49
|
+
}): import("react").JSX.Element;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectBilling — the owner's billing view of one project: Plan / Usage and plan.
|
|
3
|
+
*
|
|
4
|
+
* - Plan card: what you have (plan, renewal date, price), any scheduled change with Undo, and
|
|
5
|
+
* billing problems (Free / Dev: also the AI usage and storage meters). "Change plan" is its one
|
|
6
|
+
* action.
|
|
7
|
+
* - Usage and plan card (Pro only, `ProjectUsageCard`): a usage meter per resource with + / −
|
|
8
|
+
* beside it, and the monthly usage cap, which limits automatic top-ups only (£100 by default for
|
|
9
|
+
* new projects; £0 = no automatic top-ups; "No limit" allowed).
|
|
10
|
+
*
|
|
11
|
+
* Reductions and plan downgrades take effect at the end of the period; no refunds.
|
|
12
|
+
*/
|
|
13
|
+
import type { components } from '@arbidocs/client';
|
|
14
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
15
|
+
export declare function ProjectPlanCard({ project, onChangePlan, }: {
|
|
16
|
+
project: ProjectResponse;
|
|
17
|
+
/** Opens the plan picker (upgrade from Free, or change plan on Pro). */
|
|
18
|
+
onChangePlan?: () => void;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
export declare function ProjectBilling({ project, onChangePlan, }: {
|
|
21
|
+
project: ProjectResponse;
|
|
22
|
+
onChangePlan?: () => void;
|
|
23
|
+
}): import("react").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectDetail
|
|
3
|
+
*
|
|
4
|
+
* Content of an opened per-project tab. Only your OWN projects are openable
|
|
5
|
+
* (the table gates this), so this is purely the deep detail: the daily-cap
|
|
6
|
+
* setter for others on the project, plus the usage breakdown. The high-level
|
|
7
|
+
* summary (plan, AI usage, storage, collaborators) lives in the projects list;
|
|
8
|
+
* renaming the project is done here, from the pencil beside its name.
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode } from 'react';
|
|
11
|
+
export interface ProjectDetailProps {
|
|
12
|
+
projectExtId: string;
|
|
13
|
+
/** The project's storage (by workspace and kind, largest items, recently deleted), from the host. */
|
|
14
|
+
storage?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare function ProjectDetail({ projectExtId, storage }: ProjectDetailProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectUsageCard — a Pro project's "Usage and plan" card: one usage meter per resource (AI usage this month,
|
|
3
|
+
* storage) and the monthly usage cap. Short labels and one-line facts only; how top-ups, proration, the cap and
|
|
4
|
+
* reductions work is behind the card's "More info" link.
|
|
5
|
+
*
|
|
6
|
+
* Each meter shows used vs the allowance now, marking the plan's part and shading the top-ups, hatches how much more
|
|
7
|
+
* automatic top-ups may add before the usage cap stops them ("No limit" / £0 states), says what renews from the next
|
|
8
|
+
* period when that differs (with Undo), and has + / − beside it with the price of one step:
|
|
9
|
+
* - "+" opens the add confirm (charged now: AI usage the full block, storage prorated for the rest of the period);
|
|
10
|
+
* the usage cap never blocks it.
|
|
11
|
+
* - "−" opens a one-click confirm that removes one block from the next renewal; this period's allowance stays.
|
|
12
|
+
* The usage cap limits automatic top-ups only (default £100; £0 = no automatic top-ups; or no limit).
|
|
13
|
+
*/
|
|
14
|
+
import type { components } from '@arbidocs/client';
|
|
15
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
16
|
+
type ProjectAddons = components['schemas']['ProjectAddons'];
|
|
17
|
+
export declare function ProjectUsageCard({ project, addons, }: {
|
|
18
|
+
project: ProjectResponse;
|
|
19
|
+
addons: ProjectAddons;
|
|
20
|
+
}): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectUsageContent — inline AI usage breakdown for a project.
|
|
3
|
+
*
|
|
4
|
+
* SVG line chart with composite color-coded lines.
|
|
5
|
+
* Toggle between breakdowns: User (default), Workspace, Model Tier.
|
|
6
|
+
* Resolves usr-xxx / wrk-xxx IDs to real names via workspace data.
|
|
7
|
+
* Data from LiteLLM via /v1/user/projects/{id}/usage.
|
|
8
|
+
*
|
|
9
|
+
* Rendered inline in the project card expander (no dialog).
|
|
10
|
+
*/
|
|
11
|
+
interface ProjectUsageContentProps {
|
|
12
|
+
projectExtId: string;
|
|
13
|
+
projectName: string;
|
|
14
|
+
/** Monthly AI usage quota in £ (quotas.ai_usage.limit) — enables the % indicator */
|
|
15
|
+
aiUsageLimit?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function ProjectUsageContent({ projectExtId, projectName, aiUsageLimit, }: ProjectUsageContentProps): import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectsTable
|
|
3
|
+
*
|
|
4
|
+
* Compact list of the user's own projects. Each project is a single clickable
|
|
5
|
+
* line that opens the project's usage detail in its own tab; rename / delete /
|
|
6
|
+
* invoices / upgrade live as hover actions on the right. Plan + quota info only
|
|
7
|
+
* appears when Stripe billing is enabled (no plan concept otherwise).
|
|
8
|
+
*
|
|
9
|
+
* Projects owned by someone else aren't listed here — they're surfaced on the
|
|
10
|
+
* workspace cards the user collaborates on.
|
|
11
|
+
*/
|
|
12
|
+
/** The user's own projects: plan, usage, upgrade and invoices; a row opens the project. */
|
|
13
|
+
export declare function ProjectsTable(): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReduceAddonDialog — confirm removing one AI usage / storage block (−£25 / −25 GB) from the next period.
|
|
3
|
+
*
|
|
4
|
+
* One click on "−" opens it; one click confirms. The reduction applies from the next renewal (`period_end`): this
|
|
5
|
+
* period's allowance stays until then and nothing is refunded, so an automatic top-up can be turned back down to
|
|
6
|
+
* cover only the current period. Each confirm removes one more block from what renews (today's blocks go first;
|
|
7
|
+
* legacy blocks keep their old size). Storage can't renew below what the files need (`storage_blocks_min`).
|
|
8
|
+
*/
|
|
9
|
+
import type { components } from '@arbidocs/client';
|
|
10
|
+
import { type AddonKind } from './useAddonPurchase';
|
|
11
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
12
|
+
export declare function ReduceAddonDialog({ kind, project, open, onOpenChange, }: {
|
|
13
|
+
kind: AddonKind;
|
|
14
|
+
project: ProjectResponse;
|
|
15
|
+
open: boolean;
|
|
16
|
+
onOpenChange: (open: boolean) => void;
|
|
17
|
+
}): import("react").JSX.Element | null;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReferralReward — binds the user's referral reward to the reward blocks.
|
|
3
|
+
*
|
|
4
|
+
* The reward is a single GLOBAL per-user Stripe account balance (mirrored read-only
|
|
5
|
+
* into `settings.extra_discount`) that auto-applies to the user's NEXT invoice. Surfaced as:
|
|
6
|
+
* - `ReferralRewardBadge` — standing indicator in the Projects tab header.
|
|
7
|
+
* - `ReferralRewardSummary` — "subtotal / −reward / you pay now" where the charge is known
|
|
8
|
+
* exactly (new-project first invoice == the shown total).
|
|
9
|
+
* - `ReferralRewardNote` — a one-line note where the exact charge is a proration we
|
|
10
|
+
* can't compute client-side (switching an existing Pro plan).
|
|
11
|
+
*
|
|
12
|
+
* Logic + the `useReferralReward` hook live in `./referral-reward`; the presentation in
|
|
13
|
+
* `@arbidocs/blocks`.
|
|
14
|
+
*/
|
|
15
|
+
/** Standing pill for the Projects tab header — the global available reward. */
|
|
16
|
+
export declare function ReferralRewardBadge(): import("react").JSX.Element | null;
|
|
17
|
+
/**
|
|
18
|
+
* Available referral reward shown alongside a new-project purchase. When the exact charge is
|
|
19
|
+
* known (`totalCents` + `currency`), we do the math and show subtotal / −reward / you pay now;
|
|
20
|
+
* otherwise we fall back to a one-line note. Renders nothing when there's no reward.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ReferralRewardSummary({ totalCents, currency, }: {
|
|
23
|
+
/** The known charge for this purchase, in minor units (e.g. pennies). */
|
|
24
|
+
totalCents?: number;
|
|
25
|
+
/** Currency of the charge — must match the reward's currency to apply. */
|
|
26
|
+
currency?: string;
|
|
27
|
+
}): import("react").JSX.Element | null;
|
|
28
|
+
/**
|
|
29
|
+
* One-line note for charges whose exact amount is a proration we don't compute client-side
|
|
30
|
+
* (switching an existing Pro subscription). Stripe applies the reward at charge time.
|
|
31
|
+
*/
|
|
32
|
+
export declare function ReferralRewardNote(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Projects shared with you — the collaborator's view of other people's
|
|
3
|
+
* projects. You draw on their budget under a personal daily cap, and that
|
|
4
|
+
* allowance is the ONLY number that is yours to see: no plan, no billing,
|
|
5
|
+
* no project totals (the backend doesn't share them with non-owners, and
|
|
6
|
+
* pretending otherwise is what made this surface cryptic). Renders on every
|
|
7
|
+
* deployment — quotas are not a billing feature.
|
|
8
|
+
*
|
|
9
|
+
* `used_gbp` is the user's deployment-wide spend today; pairing it with
|
|
10
|
+
* each project's `daily_cap_per_user` is the sanctioned reading (see
|
|
11
|
+
* useUserUsageToday of @arbidocs/react).
|
|
12
|
+
*/
|
|
13
|
+
export declare function SharedProjects(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StripeCheckoutModal Component
|
|
3
|
+
*
|
|
4
|
+
* Modal with embedded Stripe checkout for a Pro subscription.
|
|
5
|
+
* Uses Stripe Elements for secure payment processing.
|
|
6
|
+
* Checkout is scoped to a specific project.
|
|
7
|
+
*/
|
|
8
|
+
import { type TaxQuote } from './tax-quote';
|
|
9
|
+
interface StripeCheckoutModalProps {
|
|
10
|
+
projectExtId: string;
|
|
11
|
+
/** Pro billing interval: monthly or annual. */
|
|
12
|
+
interval: 'month' | 'year';
|
|
13
|
+
/** Monthly usage cap chosen at checkout (pence); null/omitted keeps the default. */
|
|
14
|
+
addonBudgetPence?: number | null;
|
|
15
|
+
/** Add-on blocks bought with the plan (+£25 of AI usage a month / +25 GB each): on the first invoice. */
|
|
16
|
+
aiBlocks?: number;
|
|
17
|
+
storageBlocks?: number;
|
|
18
|
+
promoCode?: string;
|
|
19
|
+
/** ISO-2 billing country picked before checkout; prefills the Stripe customer's address. */
|
|
20
|
+
billingCountry?: string;
|
|
21
|
+
/** ZIP / postcode, where the tax depends on it (e.g. the US). */
|
|
22
|
+
postalCode?: string;
|
|
23
|
+
/** The total quoted before checkout, repeated above Stripe's summary. */
|
|
24
|
+
quote?: TaxQuote;
|
|
25
|
+
open: boolean;
|
|
26
|
+
onOpenChange: (open: boolean) => void;
|
|
27
|
+
/** Called when Stripe reports the payment completed (before the dialog closes),
|
|
28
|
+
* so callers can distinguish a successful checkout from a cancel/close. */
|
|
29
|
+
onCompleted?: () => void;
|
|
30
|
+
}
|
|
31
|
+
export declare function StripeCheckoutModal({ projectExtId, interval, addonBudgetPence, aiBlocks, storageBlocks, promoCode, billingCountry, postalCode, quote, open, onOpenChange, onCompleted, }: StripeCheckoutModalProps): import("react").JSX.Element;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubscriptionPlans — upgrade a Free project to Pro (monthly or annual).
|
|
3
|
+
* Rendered inside the plan dialog. The total for the billing country (incl. tax) is quoted here,
|
|
4
|
+
* before Stripe Checkout opens.
|
|
5
|
+
*/
|
|
6
|
+
interface SubscriptionPlansProps {
|
|
7
|
+
projectExtId: string;
|
|
8
|
+
/** Declining the upgrade. When set, an explicit opt-out sits under Subscribe —
|
|
9
|
+
* a dialog that opens on you (the welcome modal) needs a way out that isn't the
|
|
10
|
+
* corner ✕. Omitted where the plans render inline (settings), which has no
|
|
11
|
+
* dialog to close. */
|
|
12
|
+
onDismiss?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function SubscriptionPlans({ projectExtId, onDismiss }: SubscriptionPlansProps): import("react").JSX.Element | null;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubscriptionStatus: binds a project's quotas and billing state to the blocks status view
|
|
3
|
+
* (AI usage reset date, canceling notice, quota meters).
|
|
4
|
+
*/
|
|
5
|
+
import type { components } from '@arbidocs/client';
|
|
6
|
+
interface SubscriptionStatusProps {
|
|
7
|
+
project: components['schemas']['ProjectResponse'];
|
|
8
|
+
}
|
|
9
|
+
export declare function SubscriptionStatus({ project }: SubscriptionStatusProps): import("react").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** Add-on block price helpers (VAT-inclusive pence from `project.addons`). */
|
|
2
|
+
import type { components } from '@arbidocs/client';
|
|
3
|
+
import type { AddonKind } from './useAddonPurchase';
|
|
4
|
+
type ProjectAddons = components['schemas']['ProjectAddons'];
|
|
5
|
+
/** "3 Nov 2026". */
|
|
6
|
+
export declare function formatPeriodEnd(unix: number | null | undefined): string | null;
|
|
7
|
+
/** What one more block of this kind costs right now, incl. UK VAT. */
|
|
8
|
+
export declare function addonPricePence(kind: AddonKind, addons: ProjectAddons): number;
|
|
9
|
+
/** The same price ex VAT. */
|
|
10
|
+
export declare function addonPriceExVatPence(kind: AddonKind, addons: ProjectAddons): number;
|
|
11
|
+
/**
|
|
12
|
+
* The PUT /addons/settings body (the monthly usage cap and the automatic add-on trigger) from the current add-on
|
|
13
|
+
* state with the given changes applied.
|
|
14
|
+
*/
|
|
15
|
+
export declare function addonSettingsBody(addons: ProjectAddons, change?: Partial<{
|
|
16
|
+
spend_cap_pence: number | null;
|
|
17
|
+
auto_topup_threshold_gbp: number;
|
|
18
|
+
}>): {
|
|
19
|
+
spend_cap_pence: number | null;
|
|
20
|
+
auto_topup_threshold_gbp: number;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Of `count` blocks of a kind, how many are on an earlier catalogue's price (legacy, at their old size: £10 of AI
|
|
24
|
+
* usage or 10 GB) and how many on today's. A reduction removes today's blocks first, so the legacy ones are the
|
|
25
|
+
* last kept.
|
|
26
|
+
*/
|
|
27
|
+
export declare function splitBlocks(kind: AddonKind, count: number, addons: ProjectAddons): {
|
|
28
|
+
legacy: number;
|
|
29
|
+
current: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* "2 × £25 of AI usage", "1 × £10 + 1 × £25 of AI usage", "1 × 10 GB + 2 × 25 GB": `count` blocks of a kind, the
|
|
33
|
+
* legacy ones (kept last on a reduction) at their old size.
|
|
34
|
+
*/
|
|
35
|
+
export declare function blocksLabel(kind: AddonKind, count: number, addons: ProjectAddons): string;
|
|
36
|
+
/**
|
|
37
|
+
* Bounds for "Reduce from next period": keep `min`..`current` blocks. `next` is what renews
|
|
38
|
+
* now (a pending reduction, or the current count). Storage can't go below what usage needs.
|
|
39
|
+
*/
|
|
40
|
+
export declare function reduceBounds(kind: AddonKind, addons: ProjectAddons): {
|
|
41
|
+
min: number;
|
|
42
|
+
current: number;
|
|
43
|
+
next: number;
|
|
44
|
+
};
|
|
45
|
+
/** What one add-on renews at: "£25/month + VAT" or "£225/year + VAT". */
|
|
46
|
+
export declare function blockRenewalShort(kind: AddonKind, addons: ProjectAddons, isAnnual: boolean): string;
|
|
47
|
+
/** The extra line annual plans show beside an AI usage add-on or upgrade price. */
|
|
48
|
+
export declare const ANNUAL_PREMIUM_AI_NOTE = "No markup on Premium AI on annual plans";
|
|
49
|
+
/** The confirm dialog's figures: charged now (incl. / ex VAT), what it covers until, then what renews. */
|
|
50
|
+
export declare function addonCharge(kind: AddonKind, addons: ProjectAddons, isAnnual: boolean, periodEnd: number | null | undefined): {
|
|
51
|
+
now: string;
|
|
52
|
+
nowExVat: string;
|
|
53
|
+
nowVat: string;
|
|
54
|
+
until: string | null;
|
|
55
|
+
then: string;
|
|
56
|
+
};
|
|
57
|
+
/** Why automatic top-ups stopped (one line; the price of a step is on the Add button). */
|
|
58
|
+
export declare const CAP_REACHED_MESSAGE = "Usage cap reached: no more automatic top-ups this month.";
|
|
59
|
+
/** The £0 usage cap: no automatic top-ups (adding by hand still works). */
|
|
60
|
+
export declare const ZERO_BUDGET_MESSAGE = "Automatic top-ups are off (\u00A30 usage cap).";
|
|
61
|
+
/** The usage cap's heading wherever it is edited or shown. */
|
|
62
|
+
export declare const USAGE_CAP_LABEL = "Usage cap";
|
|
63
|
+
/** What the usage cap means (in "More info"): £0 and "No limit" explained. */
|
|
64
|
+
export declare const USAGE_CAP_HELP: string;
|
|
65
|
+
/** A £0 cap turns automatic top-ups off (manual adds still work). */
|
|
66
|
+
export declare function isAddonBudgetZero(addons: Pick<ProjectAddons, 'spend_cap_pence'>): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* How much more of a resource automatic top-ups may add this month before the usage cap stops them, in the
|
|
69
|
+
* resource's unit (£ of AI usage / GB): the whole blocks the cap left pays for at today's ex-VAT price. `null` =
|
|
70
|
+
* no limit; 0 with a £0 cap or when not even one block fits.
|
|
71
|
+
*/
|
|
72
|
+
export declare function autoRoom(kind: AddonKind, addons: ProjectAddons): number | null;
|
|
73
|
+
/** The size of the block a one-step reduction removes from what renews (today's blocks go first). */
|
|
74
|
+
export declare function nextRemovedBlockSize(kind: AddonKind, addons: ProjectAddons): number;
|
|
75
|
+
/**
|
|
76
|
+
* Pounds typed into a usage cap field → pence. '' → the default (null); invalid → undefined.
|
|
77
|
+
* Equal to the default is also sent as null ("keep the default").
|
|
78
|
+
*/
|
|
79
|
+
export declare function parseBudgetPounds(value: string): number | null | undefined;
|
|
80
|
+
/** Toast after saving the usage cap. */
|
|
81
|
+
export declare function budgetSavedMessage(capPence: number | null): string;
|
|
82
|
+
/** "£25 of AI usage" / "25 GB". */
|
|
83
|
+
export declare function stepLabel(kind: AddonKind, size: number): string;
|
|
84
|
+
/** The PUT /addons/next-period body that renews `keep` blocks of `kind` (the other kind unchanged). */
|
|
85
|
+
export declare function nextPeriodBody(kind: AddonKind, keep: number): {
|
|
86
|
+
ai_blocks: number;
|
|
87
|
+
storage_blocks: null;
|
|
88
|
+
} | {
|
|
89
|
+
ai_blocks: null;
|
|
90
|
+
storage_blocks: number;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* The "+" step's price line, ex VAT: "£25/month · today £25" (annual: "£18.75/month · today £150");
|
|
94
|
+
* storage, charged for the rest of the period: "£25/month · prorated today £8.33".
|
|
95
|
+
*/
|
|
96
|
+
export declare function addStepCaption(kind: AddonKind, addons: ProjectAddons): string;
|
|
97
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `detail` of a refused billing call: the response body's `detail` (a string, or the
|
|
3
|
+
* `{code, message}` of a payment refusal), whether the error is an SDK `ArbiApiError` (body in
|
|
4
|
+
* `apiError`) or the body itself.
|
|
5
|
+
*/
|
|
6
|
+
export declare function apiErrorDetail(error: unknown): unknown;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Billing country chosen before checkout (ISO 3166-1 alpha-2). Sent to the checkout API as
|
|
3
|
+
* `billing_country` so the backend can prefill the Stripe customer's address, and Stripe Tax shows
|
|
4
|
+
* the tax-inclusive total from the first frame.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_BILLING_COUNTRY = "GB";
|
|
7
|
+
export declare const BILLING_COUNTRY_CODES: readonly string[];
|
|
8
|
+
/** The select's options: the United Kingdom first, then every other country by name. */
|
|
9
|
+
export declare function billingCountryOptions(): {
|
|
10
|
+
code: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}[];
|
|
13
|
+
/** The region of the browser's first locale that names a country ("en-US" → "US"), else GB. */
|
|
14
|
+
export declare function defaultBillingCountry(languages?: readonly string[]): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ProjectBillingFocus {
|
|
2
|
+
projectExtId: string;
|
|
3
|
+
/** Open the project's upgrade dialog. */
|
|
4
|
+
openUpgrade: boolean;
|
|
5
|
+
/** Scroll to and focus this card of the project's billing. */
|
|
6
|
+
section?: 'spend-cap';
|
|
7
|
+
}
|
|
8
|
+
/** Ask the billing UI to focus a project (or clear the request with `null`). */
|
|
9
|
+
export declare function requestProjectBillingFocus(next: ProjectBillingFocus | null): void;
|
|
10
|
+
/** The pending billing focus request, if any. */
|
|
11
|
+
export declare function useProjectBillingFocus(): ProjectBillingFocus | null;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The billing kit: a host's projects (plan, usage, add-ons, invoices), the plan picker and checkout,
|
|
3
|
+
* new projects, and the projects shared with the user. Stripe stays the host's
|
|
4
|
+
* (`BillingSupportProvider`); without it projects show their limits and usage only.
|
|
5
|
+
*/
|
|
6
|
+
export { BillingSupportProvider, useBillingSupport, type BillingSupport, type BillingCheckoutSupport, } from './support';
|
|
7
|
+
export { requestProjectBillingFocus, useProjectBillingFocus, type ProjectBillingFocus, } from './billing-focus';
|
|
8
|
+
export { ProjectsTable } from './ProjectsTable';
|
|
9
|
+
export { SharedProjects } from './SharedProjects';
|
|
10
|
+
export { ProjectDetail, type ProjectDetailProps } from './ProjectDetail';
|
|
11
|
+
export { NewProjectFlow } from './NewProjectFlow';
|
|
12
|
+
export { ChangePlanDialog } from './ChangePlanDialog';
|
|
13
|
+
export { AddAddonDialog } from './AddAddonDialog';
|
|
14
|
+
export { InvoicesModal } from './InvoicesModal';
|
|
15
|
+
export { BillingProjectEntity, type BillingProjectEntityProps } from './BillingProjectEntity';
|
|
16
|
+
export { useOpenBillingPortal } from './useOpenBillingPortal';
|
|
17
|
+
export { useAutoRefreshPendingProjects } from './useAutoRefreshPendingProjects';
|
|
18
|
+
export { formatMoney, useRewardBalance, type RewardBalance } from './reward-balance';
|
|
19
|
+
export { REFERRAL_OFFER, useReferralReward } from './referral-reward';
|
|
20
|
+
export { isProProject, planBadgeView, planName } from './plan-badge';
|
|
21
|
+
export { aiUsageResetTimestamp, formatResetDate, getQuotaItems } from './quota-items';
|
|
22
|
+
export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, isAddonBudgetZero } from './addon-pricing';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PlanBadgeProps } from '../../settings';
|
|
2
|
+
import type { components } from '@arbidocs/client';
|
|
3
|
+
type ProjectBillingFields = Pick<components['schemas']['ProjectResponse'], 'subscription' | 'plan_interval'> & Partial<Pick<components['schemas']['ProjectResponse'], 'packs' | 'addons'>>;
|
|
4
|
+
/** A project is on Pro when it has a billing interval (null = Free or checkout pending). */
|
|
5
|
+
export declare function isProProject(project: Pick<ProjectBillingFields, 'plan_interval'>): boolean;
|
|
6
|
+
/** "Pro", or a legacy multi-pack plan's name ("Pro ×N") — the API's name when it sends one (owner view). */
|
|
7
|
+
export declare function proTierName(project: ProjectBillingFields): string;
|
|
8
|
+
/** "Free", "Pro monthly", "Pro annual", "Pro ×3 monthly" (legacy) or "Dev" — the full plan name. */
|
|
9
|
+
export declare function planName(project: ProjectBillingFields): string;
|
|
10
|
+
/**
|
|
11
|
+
* Maps a project's billing state to the `PlanBadge` block's label + tone.
|
|
12
|
+
* Pro reads as accent, Free/dev as neutral, payment trouble or cancelling as pending.
|
|
13
|
+
*/
|
|
14
|
+
export declare function planBadgeView(project: ProjectBillingFields): Pick<PlanBadgeProps, 'label' | 'tone'>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What change-plan did, from `ProjectResponse.plan_change`, as one notification:
|
|
3
|
+
* - upgraded → "Upgraded to Pro · £48.00 charged"
|
|
4
|
+
* - scheduled → "Scheduled for 16 Nov 2026"
|
|
5
|
+
* - requires_action → "Confirm with your bank. Nothing is charged until you do." + Confirm
|
|
6
|
+
* - unchanged / no outcome → the caller's own message.
|
|
7
|
+
*/
|
|
8
|
+
import type { components } from '@arbidocs/client';
|
|
9
|
+
type ProjectResponse = components['schemas']['ProjectResponse'];
|
|
10
|
+
export declare const BANK_CONFIRM_PLAN_CHANGE = "Confirm with your bank. Nothing is charged until you do.";
|
|
11
|
+
/** Returns the outcome's result, so callers can tell a finished upgrade from one still waiting. */
|
|
12
|
+
export declare function notifyPlanChange(data: ProjectResponse | undefined, fallback: string,
|
|
13
|
+
/** The plan an upgrade went to, when the caller knows it. */
|
|
14
|
+
planName?: string): 'upgraded' | 'scheduled' | 'unchanged' | 'requires_action' | null;
|
|
15
|
+
export {};
|