@postrun/react 2.17.0 → 2.18.0

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/index.d.cts CHANGED
@@ -1,11 +1,12 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, CSSProperties } from 'react';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
- import { QueryClient, QueryKey } from '@tanstack/react-query';
4
+ import { QueryClient, QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
5
5
  import * as _postrun_js from '@postrun/js';
6
6
  import { PostrunClient, ListProfilesQuery, DiscoverableAccountList, Connection, ConnectionKind, ConnectionStatus, ListMediaQuery, ListPostsQuery, ConnectablePlatform, MediaResource, MediaTarget, Metadata, ComposePostInput, PostValidation, MediaKind, InstagramPostVariant, PostVariant, LinkedInPostVariant, TikTokPostVariant, XPostVariant, PostVariantInput, XPoll as XPoll$1, TikTokCreatorInfo, TikTokOptionsValue } from '@postrun/js';
7
7
  export { PostValidation, PostVariant, PostVariantError, TIKTOK_CAPTION_MAX, TikTokCreatorInfo, UploadError, ValidationIssue, captionMaxFor } from '@postrun/js';
8
8
  import { TwitterComponents } from 'react-tweet';
9
+ export * from '@postrun/js/query';
9
10
 
10
11
  /**
11
12
  * The value every hook and component reads from context: the typed SDK client
@@ -2401,7 +2402,7 @@ declare function useValidatePost(profileId: string): {
2401
2402
  validate: (input: Omit<ComposePostInput, "profileId">) => Promise<PostValidation>;
2402
2403
  publishable: boolean | undefined;
2403
2404
  issues: {
2404
- code: "unauthorized" | "forbidden" | "not_found" | "conflict" | "validation_failed" | "rate_limited" | "internal_error" | "idempotency_key_invalid" | "idempotency_key_reused" | "idempotency_request_in_progress" | "account_not_available" | "connection_reauth_required" | "connection_not_pending" | "not_implemented" | "connection_discovery_failed" | "tiktok_creator_info_unavailable" | "media_processing" | "media_upload_init_failed" | "media_upload_incomplete" | "not_publishable" | "invalid_connection" | "invalid_media" | "profile_scope_invalid" | "media_unprobeable" | "media_too_large" | "media_aspect_ratio_unsupported" | "media_resolution_too_low" | "media_gif_unsupported" | "media_format_recompressed" | "media_resolution_downscaled" | "video_container_unsupported" | "video_codec_unsupported" | "video_audio_codec_unsupported" | "video_too_large" | "video_too_small" | "video_dimensions_unsupported" | "video_dimensions_too_large" | "video_fps_unsupported" | "video_fps_too_low" | "video_aspect_unsupported" | "video_duration_too_short" | "video_duration_exceeds_max" | "video_transform_failed" | "media_fetch_failed" | "document_format_unsupported" | "document_too_large" | "document_too_many_pages" | "media_format_indeterminate" | "media_format_unsupported" | "media_count_invalid" | "body_too_long" | "content_missing" | "content_conflict" | "content_incomplete" | "content_kind_mismatch" | "media_type_mismatch" | "tag_limit_exceeded" | "reel_field_on_non_reel" | "field_placement_invalid" | "media_not_ready" | "media_failed" | "media_unsupported" | "media_kind_mismatch" | "variant_unparseable" | "publishing_unavailable" | "x_duplicate_content" | "x_not_authorized" | "x_access_not_permitted" | "x_rate_limited" | "x_publish_failed" | "x_media_upload_failed" | "linkedin_duplicate_content" | "linkedin_auth_expired" | "linkedin_permission_denied" | "linkedin_rate_limited" | "linkedin_media_processing" | "linkedin_media_failed" | "linkedin_media_upload_failed" | "linkedin_publish_failed" | "instagram_media_processing" | "instagram_container_expired" | "instagram_container_failed" | "instagram_rate_limited" | "instagram_daily_limit_reached" | "instagram_aspect_ratio_unsupported" | "instagram_media_unsupported" | "instagram_not_authorized" | "instagram_publish_failed" | "facebook_reel_processing" | "facebook_reel_failed" | "facebook_rate_limited" | "facebook_duplicate_content" | "facebook_temporarily_blocked" | "facebook_not_authorized" | "facebook_publish_failed" | "tiktok_privacy_not_allowed" | "tiktok_duration_exceeds_max" | "tiktok_media_processing" | "tiktok_not_authorized" | "tiktok_rate_limited" | "tiktok_url_ownership_unverified" | "tiktok_unaudited_private_only" | "tiktok_spam_risk" | "tiktok_publish_failed" | "post_publish_failed" | "post_partially_published" | "connection_platform_mismatch" | "connection_removed";
2405
+ code: "unauthorized" | "forbidden" | "not_found" | "conflict" | "validation_failed" | "rate_limited" | "internal_error" | "idempotency_key_invalid" | "idempotency_key_reused" | "idempotency_request_in_progress" | "account_not_available" | "connection_reauth_required" | "connection_not_pending" | "not_implemented" | "connection_discovery_failed" | "tiktok_creator_info_unavailable" | "media_processing" | "media_upload_init_failed" | "media_upload_incomplete" | "not_publishable" | "invalid_connection" | "invalid_media" | "profile_scope_invalid" | "media_unprobeable" | "media_too_large" | "media_aspect_ratio_unsupported" | "media_resolution_too_low" | "media_gif_unsupported" | "media_format_recompressed" | "media_resolution_downscaled" | "video_container_unsupported" | "video_codec_unsupported" | "video_audio_codec_unsupported" | "video_too_large" | "video_too_small" | "video_dimensions_unsupported" | "video_dimensions_too_large" | "video_fps_unsupported" | "video_fps_too_low" | "video_aspect_unsupported" | "video_duration_too_short" | "video_duration_exceeds_max" | "video_transform_failed" | "media_fetch_failed" | "document_format_unsupported" | "document_too_large" | "document_too_many_pages" | "media_format_indeterminate" | "media_format_unsupported" | "media_count_invalid" | "body_too_long" | "content_missing" | "content_conflict" | "content_incomplete" | "content_kind_mismatch" | "media_type_mismatch" | "tag_limit_exceeded" | "reel_field_on_non_reel" | "field_placement_invalid" | "media_not_ready" | "media_failed" | "media_unsupported" | "media_kind_mismatch" | "variant_unparseable" | "publishing_unavailable" | "x_duplicate_content" | "x_not_authorized" | "x_access_not_permitted" | "x_rate_limited" | "x_publish_failed" | "x_media_upload_failed" | "linkedin_duplicate_content" | "linkedin_auth_expired" | "linkedin_permission_denied" | "linkedin_rate_limited" | "linkedin_media_processing" | "linkedin_media_failed" | "linkedin_media_upload_failed" | "linkedin_publish_failed" | "instagram_media_processing" | "instagram_container_expired" | "instagram_container_failed" | "instagram_rate_limited" | "instagram_daily_limit_reached" | "instagram_aspect_ratio_unsupported" | "instagram_media_unsupported" | "instagram_not_authorized" | "instagram_publish_failed" | "facebook_reel_processing" | "facebook_reel_failed" | "facebook_rate_limited" | "facebook_duplicate_content" | "facebook_temporarily_blocked" | "facebook_not_authorized" | "facebook_publish_failed" | "tiktok_privacy_not_allowed" | "tiktok_duration_exceeds_max" | "tiktok_media_processing" | "tiktok_not_authorized" | "tiktok_rate_limited" | "tiktok_url_ownership_unverified" | "tiktok_unaudited_private_only" | "tiktok_spam_risk" | "tiktok_file_format_invalid" | "tiktok_duration_invalid" | "tiktok_frame_rate_invalid" | "tiktok_resolution_invalid" | "tiktok_media_pull_failed" | "tiktok_server_error" | "tiktok_publish_failed" | "google_rate_limited" | "google_server_error" | "google_auth_expired" | "google_permission_denied" | "google_request_failed" | "post_publish_failed" | "post_partially_published" | "connection_platform_mismatch" | "connection_removed";
2405
2406
  message: string;
2406
2407
  hint?: string;
2407
2408
  allowed?: Array<string>;
@@ -2835,6 +2836,32 @@ declare function useTikTokCreatorInfo(connectionId: string | null): _tanstack_re
2835
2836
  max_video_duration_sec: number;
2836
2837
  }>, Error>;
2837
2838
 
2839
+ /**
2840
+ * The paved FE path over the generated TanStack Query options. Pass a factory
2841
+ * that receives the configured client and returns one of the generated `*Options`
2842
+ * (e.g. `googleListCampaignsOptions`); the provider's client (Bearer via
2843
+ * `getToken`) and its isolated `QueryClient` are injected, so auth + caching just
2844
+ * work — no global client, no `<QueryClientProvider>` from the host app.
2845
+ *
2846
+ * const q = usePostrunQuery((client) =>
2847
+ * googleListCampaignsOptions({ client, path: { connection_id }, query }),
2848
+ * );
2849
+ *
2850
+ * Equivalent to the raw two-liner — `const { client, queryClient } = usePostrun();
2851
+ * useQuery(googleListCampaignsOptions({ client, ... }), queryClient)` — which a
2852
+ * customer can always write themselves; this is just sugar.
2853
+ */
2854
+ declare function usePostrunQuery<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(optionsFactory: (client: PostrunClient) => UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UseQueryResult<TData, TError>;
2855
+ /**
2856
+ * The mutation counterpart — pass a factory returning a generated `*Mutation`
2857
+ * (e.g. `googlePauseCampaignMutation`); the configured client + `QueryClient` are
2858
+ * injected the same way.
2859
+ *
2860
+ * const m = usePostrunMutation((client) => googlePauseCampaignMutation({ client }));
2861
+ * m.mutate({ path: { connection_id, id } });
2862
+ */
2863
+ declare function usePostrunMutation<TData, TError, TVariables, TContext>(optionsFactory: (client: PostrunClient) => UseMutationOptions<TData, TError, TVariables, TContext>): UseMutationResult<TData, TError, TVariables, TContext>;
2864
+
2838
2865
  /**
2839
2866
  * A platform's FETCHED (read) variant — one member of a stored `Post`'s
2840
2867
  * `variants`, as returned by `usePost`/`usePosts`/the calendar. Since the API's
@@ -3312,4 +3339,4 @@ declare function Declaration({ brandedContent }: {
3312
3339
  brandedContent: boolean;
3313
3340
  }): react.JSX.Element;
3314
3341
 
3315
- export { ArticleCard, type ArticleCardProps, AudienceSelect, type CalendarFilters, CommercialDisclosure, Connect, type ConnectErrorReason, type ConnectOutcome, type ConnectProps, type ConnectRenderApi, type ConnectState, type ConnectionsFilter, Declaration, type DiscoverableAccount, DocumentCard, type DocumentCardProps, type InfiniteList, InstagramPostPreview, type InstagramPostPreviewProps, type InstagramPreviewVariant, type InstagramTheme, InteractionToggles, LinkedInPostPreview, type LinkedInPostPreviewProps, type LinkedInPreviewVariant, type LiveOptions, type MediaUploadItem, type MediaUploadOptions, type MediaUploadStatus, Poll, type PollProps, type PostrunContextValue, PostrunProvider, type PostrunProviderProps, type PreviewConnection, type PreviewMediaKind, type ReadPostVariant, type ReadyMedia, ReelPreview, type ReelPreviewProps, type ResolvedMedia, TikTokCaptionField, type TikTokCaptionFieldProps, TikTokPostPreview, type TikTokPostPreviewProps, type TikTokPreviewVariant, TikTokPublishPanel, type TikTokPublishPanelProps, type TikTokTheme, type UseConnectParams, type UseConnectResult, type UseMediaUploadOptions, type UseMediaUploadResult, XPoll, type XPollProps, XPostPreview, type XPostPreviewProps, type XPreviewQuotedTweet, type XPreviewVariant, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
3342
+ export { ArticleCard, type ArticleCardProps, AudienceSelect, type CalendarFilters, CommercialDisclosure, Connect, type ConnectErrorReason, type ConnectOutcome, type ConnectProps, type ConnectRenderApi, type ConnectState, type ConnectionsFilter, Declaration, type DiscoverableAccount, DocumentCard, type DocumentCardProps, type InfiniteList, InstagramPostPreview, type InstagramPostPreviewProps, type InstagramPreviewVariant, type InstagramTheme, InteractionToggles, LinkedInPostPreview, type LinkedInPostPreviewProps, type LinkedInPreviewVariant, type LiveOptions, type MediaUploadItem, type MediaUploadOptions, type MediaUploadStatus, Poll, type PollProps, type PostrunContextValue, PostrunProvider, type PostrunProviderProps, type PreviewConnection, type PreviewMediaKind, type ReadPostVariant, type ReadyMedia, ReelPreview, type ReelPreviewProps, type ResolvedMedia, TikTokCaptionField, type TikTokCaptionFieldProps, TikTokPostPreview, type TikTokPostPreviewProps, type TikTokPreviewVariant, TikTokPublishPanel, type TikTokPublishPanelProps, type TikTokTheme, type UseConnectParams, type UseConnectResult, type UseMediaUploadOptions, type UseMediaUploadResult, XPoll, type XPollProps, XPostPreview, type XPostPreviewProps, type XPreviewQuotedTweet, type XPreviewVariant, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePostrunMutation, usePostrunQuery, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, CSSProperties } from 'react';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
- import { QueryClient, QueryKey } from '@tanstack/react-query';
4
+ import { QueryClient, QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
5
5
  import * as _postrun_js from '@postrun/js';
6
6
  import { PostrunClient, ListProfilesQuery, DiscoverableAccountList, Connection, ConnectionKind, ConnectionStatus, ListMediaQuery, ListPostsQuery, ConnectablePlatform, MediaResource, MediaTarget, Metadata, ComposePostInput, PostValidation, MediaKind, InstagramPostVariant, PostVariant, LinkedInPostVariant, TikTokPostVariant, XPostVariant, PostVariantInput, XPoll as XPoll$1, TikTokCreatorInfo, TikTokOptionsValue } from '@postrun/js';
7
7
  export { PostValidation, PostVariant, PostVariantError, TIKTOK_CAPTION_MAX, TikTokCreatorInfo, UploadError, ValidationIssue, captionMaxFor } from '@postrun/js';
8
8
  import { TwitterComponents } from 'react-tweet';
9
+ export * from '@postrun/js/query';
9
10
 
10
11
  /**
11
12
  * The value every hook and component reads from context: the typed SDK client
@@ -2401,7 +2402,7 @@ declare function useValidatePost(profileId: string): {
2401
2402
  validate: (input: Omit<ComposePostInput, "profileId">) => Promise<PostValidation>;
2402
2403
  publishable: boolean | undefined;
2403
2404
  issues: {
2404
- code: "unauthorized" | "forbidden" | "not_found" | "conflict" | "validation_failed" | "rate_limited" | "internal_error" | "idempotency_key_invalid" | "idempotency_key_reused" | "idempotency_request_in_progress" | "account_not_available" | "connection_reauth_required" | "connection_not_pending" | "not_implemented" | "connection_discovery_failed" | "tiktok_creator_info_unavailable" | "media_processing" | "media_upload_init_failed" | "media_upload_incomplete" | "not_publishable" | "invalid_connection" | "invalid_media" | "profile_scope_invalid" | "media_unprobeable" | "media_too_large" | "media_aspect_ratio_unsupported" | "media_resolution_too_low" | "media_gif_unsupported" | "media_format_recompressed" | "media_resolution_downscaled" | "video_container_unsupported" | "video_codec_unsupported" | "video_audio_codec_unsupported" | "video_too_large" | "video_too_small" | "video_dimensions_unsupported" | "video_dimensions_too_large" | "video_fps_unsupported" | "video_fps_too_low" | "video_aspect_unsupported" | "video_duration_too_short" | "video_duration_exceeds_max" | "video_transform_failed" | "media_fetch_failed" | "document_format_unsupported" | "document_too_large" | "document_too_many_pages" | "media_format_indeterminate" | "media_format_unsupported" | "media_count_invalid" | "body_too_long" | "content_missing" | "content_conflict" | "content_incomplete" | "content_kind_mismatch" | "media_type_mismatch" | "tag_limit_exceeded" | "reel_field_on_non_reel" | "field_placement_invalid" | "media_not_ready" | "media_failed" | "media_unsupported" | "media_kind_mismatch" | "variant_unparseable" | "publishing_unavailable" | "x_duplicate_content" | "x_not_authorized" | "x_access_not_permitted" | "x_rate_limited" | "x_publish_failed" | "x_media_upload_failed" | "linkedin_duplicate_content" | "linkedin_auth_expired" | "linkedin_permission_denied" | "linkedin_rate_limited" | "linkedin_media_processing" | "linkedin_media_failed" | "linkedin_media_upload_failed" | "linkedin_publish_failed" | "instagram_media_processing" | "instagram_container_expired" | "instagram_container_failed" | "instagram_rate_limited" | "instagram_daily_limit_reached" | "instagram_aspect_ratio_unsupported" | "instagram_media_unsupported" | "instagram_not_authorized" | "instagram_publish_failed" | "facebook_reel_processing" | "facebook_reel_failed" | "facebook_rate_limited" | "facebook_duplicate_content" | "facebook_temporarily_blocked" | "facebook_not_authorized" | "facebook_publish_failed" | "tiktok_privacy_not_allowed" | "tiktok_duration_exceeds_max" | "tiktok_media_processing" | "tiktok_not_authorized" | "tiktok_rate_limited" | "tiktok_url_ownership_unverified" | "tiktok_unaudited_private_only" | "tiktok_spam_risk" | "tiktok_publish_failed" | "post_publish_failed" | "post_partially_published" | "connection_platform_mismatch" | "connection_removed";
2405
+ code: "unauthorized" | "forbidden" | "not_found" | "conflict" | "validation_failed" | "rate_limited" | "internal_error" | "idempotency_key_invalid" | "idempotency_key_reused" | "idempotency_request_in_progress" | "account_not_available" | "connection_reauth_required" | "connection_not_pending" | "not_implemented" | "connection_discovery_failed" | "tiktok_creator_info_unavailable" | "media_processing" | "media_upload_init_failed" | "media_upload_incomplete" | "not_publishable" | "invalid_connection" | "invalid_media" | "profile_scope_invalid" | "media_unprobeable" | "media_too_large" | "media_aspect_ratio_unsupported" | "media_resolution_too_low" | "media_gif_unsupported" | "media_format_recompressed" | "media_resolution_downscaled" | "video_container_unsupported" | "video_codec_unsupported" | "video_audio_codec_unsupported" | "video_too_large" | "video_too_small" | "video_dimensions_unsupported" | "video_dimensions_too_large" | "video_fps_unsupported" | "video_fps_too_low" | "video_aspect_unsupported" | "video_duration_too_short" | "video_duration_exceeds_max" | "video_transform_failed" | "media_fetch_failed" | "document_format_unsupported" | "document_too_large" | "document_too_many_pages" | "media_format_indeterminate" | "media_format_unsupported" | "media_count_invalid" | "body_too_long" | "content_missing" | "content_conflict" | "content_incomplete" | "content_kind_mismatch" | "media_type_mismatch" | "tag_limit_exceeded" | "reel_field_on_non_reel" | "field_placement_invalid" | "media_not_ready" | "media_failed" | "media_unsupported" | "media_kind_mismatch" | "variant_unparseable" | "publishing_unavailable" | "x_duplicate_content" | "x_not_authorized" | "x_access_not_permitted" | "x_rate_limited" | "x_publish_failed" | "x_media_upload_failed" | "linkedin_duplicate_content" | "linkedin_auth_expired" | "linkedin_permission_denied" | "linkedin_rate_limited" | "linkedin_media_processing" | "linkedin_media_failed" | "linkedin_media_upload_failed" | "linkedin_publish_failed" | "instagram_media_processing" | "instagram_container_expired" | "instagram_container_failed" | "instagram_rate_limited" | "instagram_daily_limit_reached" | "instagram_aspect_ratio_unsupported" | "instagram_media_unsupported" | "instagram_not_authorized" | "instagram_publish_failed" | "facebook_reel_processing" | "facebook_reel_failed" | "facebook_rate_limited" | "facebook_duplicate_content" | "facebook_temporarily_blocked" | "facebook_not_authorized" | "facebook_publish_failed" | "tiktok_privacy_not_allowed" | "tiktok_duration_exceeds_max" | "tiktok_media_processing" | "tiktok_not_authorized" | "tiktok_rate_limited" | "tiktok_url_ownership_unverified" | "tiktok_unaudited_private_only" | "tiktok_spam_risk" | "tiktok_file_format_invalid" | "tiktok_duration_invalid" | "tiktok_frame_rate_invalid" | "tiktok_resolution_invalid" | "tiktok_media_pull_failed" | "tiktok_server_error" | "tiktok_publish_failed" | "google_rate_limited" | "google_server_error" | "google_auth_expired" | "google_permission_denied" | "google_request_failed" | "post_publish_failed" | "post_partially_published" | "connection_platform_mismatch" | "connection_removed";
2405
2406
  message: string;
2406
2407
  hint?: string;
2407
2408
  allowed?: Array<string>;
@@ -2835,6 +2836,32 @@ declare function useTikTokCreatorInfo(connectionId: string | null): _tanstack_re
2835
2836
  max_video_duration_sec: number;
2836
2837
  }>, Error>;
2837
2838
 
2839
+ /**
2840
+ * The paved FE path over the generated TanStack Query options. Pass a factory
2841
+ * that receives the configured client and returns one of the generated `*Options`
2842
+ * (e.g. `googleListCampaignsOptions`); the provider's client (Bearer via
2843
+ * `getToken`) and its isolated `QueryClient` are injected, so auth + caching just
2844
+ * work — no global client, no `<QueryClientProvider>` from the host app.
2845
+ *
2846
+ * const q = usePostrunQuery((client) =>
2847
+ * googleListCampaignsOptions({ client, path: { connection_id }, query }),
2848
+ * );
2849
+ *
2850
+ * Equivalent to the raw two-liner — `const { client, queryClient } = usePostrun();
2851
+ * useQuery(googleListCampaignsOptions({ client, ... }), queryClient)` — which a
2852
+ * customer can always write themselves; this is just sugar.
2853
+ */
2854
+ declare function usePostrunQuery<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(optionsFactory: (client: PostrunClient) => UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UseQueryResult<TData, TError>;
2855
+ /**
2856
+ * The mutation counterpart — pass a factory returning a generated `*Mutation`
2857
+ * (e.g. `googlePauseCampaignMutation`); the configured client + `QueryClient` are
2858
+ * injected the same way.
2859
+ *
2860
+ * const m = usePostrunMutation((client) => googlePauseCampaignMutation({ client }));
2861
+ * m.mutate({ path: { connection_id, id } });
2862
+ */
2863
+ declare function usePostrunMutation<TData, TError, TVariables, TContext>(optionsFactory: (client: PostrunClient) => UseMutationOptions<TData, TError, TVariables, TContext>): UseMutationResult<TData, TError, TVariables, TContext>;
2864
+
2838
2865
  /**
2839
2866
  * A platform's FETCHED (read) variant — one member of a stored `Post`'s
2840
2867
  * `variants`, as returned by `usePost`/`usePosts`/the calendar. Since the API's
@@ -3312,4 +3339,4 @@ declare function Declaration({ brandedContent }: {
3312
3339
  brandedContent: boolean;
3313
3340
  }): react.JSX.Element;
3314
3341
 
3315
- export { ArticleCard, type ArticleCardProps, AudienceSelect, type CalendarFilters, CommercialDisclosure, Connect, type ConnectErrorReason, type ConnectOutcome, type ConnectProps, type ConnectRenderApi, type ConnectState, type ConnectionsFilter, Declaration, type DiscoverableAccount, DocumentCard, type DocumentCardProps, type InfiniteList, InstagramPostPreview, type InstagramPostPreviewProps, type InstagramPreviewVariant, type InstagramTheme, InteractionToggles, LinkedInPostPreview, type LinkedInPostPreviewProps, type LinkedInPreviewVariant, type LiveOptions, type MediaUploadItem, type MediaUploadOptions, type MediaUploadStatus, Poll, type PollProps, type PostrunContextValue, PostrunProvider, type PostrunProviderProps, type PreviewConnection, type PreviewMediaKind, type ReadPostVariant, type ReadyMedia, ReelPreview, type ReelPreviewProps, type ResolvedMedia, TikTokCaptionField, type TikTokCaptionFieldProps, TikTokPostPreview, type TikTokPostPreviewProps, type TikTokPreviewVariant, TikTokPublishPanel, type TikTokPublishPanelProps, type TikTokTheme, type UseConnectParams, type UseConnectResult, type UseMediaUploadOptions, type UseMediaUploadResult, XPoll, type XPollProps, XPostPreview, type XPostPreviewProps, type XPreviewQuotedTweet, type XPreviewVariant, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
3342
+ export { ArticleCard, type ArticleCardProps, AudienceSelect, type CalendarFilters, CommercialDisclosure, Connect, type ConnectErrorReason, type ConnectOutcome, type ConnectProps, type ConnectRenderApi, type ConnectState, type ConnectionsFilter, Declaration, type DiscoverableAccount, DocumentCard, type DocumentCardProps, type InfiniteList, InstagramPostPreview, type InstagramPostPreviewProps, type InstagramPreviewVariant, type InstagramTheme, InteractionToggles, LinkedInPostPreview, type LinkedInPostPreviewProps, type LinkedInPreviewVariant, type LiveOptions, type MediaUploadItem, type MediaUploadOptions, type MediaUploadStatus, Poll, type PollProps, type PostrunContextValue, PostrunProvider, type PostrunProviderProps, type PreviewConnection, type PreviewMediaKind, type ReadPostVariant, type ReadyMedia, ReelPreview, type ReelPreviewProps, type ResolvedMedia, TikTokCaptionField, type TikTokCaptionFieldProps, TikTokPostPreview, type TikTokPostPreviewProps, type TikTokPreviewVariant, TikTokPublishPanel, type TikTokPublishPanelProps, type TikTokTheme, type UseConnectParams, type UseConnectResult, type UseMediaUploadOptions, type UseMediaUploadResult, XPoll, type XPollProps, XPostPreview, type XPostPreviewProps, type XPreviewQuotedTweet, type XPreviewVariant, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePostrunMutation, usePostrunQuery, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
package/dist/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use client";
2
2
  import { createContext, memo, useMemo, useState, Fragment as Fragment$1, useRef, useLayoutEffect, useCallback, useEffect, createElement, useContext, useId } from 'react';
3
3
  import { useInfiniteQuery, useQuery, useMutation, QueryClient } from '@tanstack/react-query';
4
- import { xPollDurationLabel, linkedinPollDurationLabel, createPostrunClient, profilesList, profilesGet, profilesCreate, profilesUpdate, profilesDelete, connectionsConnect, connectionsListByProfile, connectionsGet, connectionsListAccounts, connectionsSelect, connectionsDelete, mediaGet, mediaList, mediaUpdate, mediaDelete, postsList, postsGet, postsCreate, buildCreatePost, isPostPlatform, failedVariants, isPublished, postsValidate, postsUpdate, postsDelete, tiktokCreatorInfo, audiencePrivacyOptions, audienceUnselected, tiktokPrivacyLabel, parsePrivacyLevel, TIKTOK_AUDIENCE_REQUIRED_HINT, captionMaxFor, commercialLabelNotice, commercialDisclosureIncomplete, setCommercialDisclosure, setBrandKind, TIKTOK_DISCLOSURE_REQUIRED_HINT, TIKTOK_BRANDED_CONTENT_POLICY_URL, TIKTOK_MUSIC_CONFIRMATION_URL, interactionRows, interactionValueKey, toggleInteraction, tiktokOptionsReady, TIKTOK_PROCESSING_NOTICE, brandedContentDeclared, mediaCreate, uploadFile, PostrunError } from '@postrun/js';
4
+ import { xPollDurationLabel, linkedinPollDurationLabel, captionMaxFor, UploadError, TIKTOK_CAPTION_MAX, createPostrunClient, profilesList, profilesGet, profilesCreate, profilesUpdate, profilesDelete, connectionsConnect, connectionsListByProfile, connectionsGet, connectionsListAccounts, connectionsSelect, connectionsDelete, mediaGet, mediaList, mediaUpdate, mediaDelete, postsList, postsGet, postsCreate, buildCreatePost, isPostPlatform, failedVariants, isPublished, postsValidate, postsUpdate, postsDelete, tiktokCreatorInfo, audiencePrivacyOptions, audienceUnselected, tiktokPrivacyLabel, parsePrivacyLevel, TIKTOK_AUDIENCE_REQUIRED_HINT, commercialLabelNotice, commercialDisclosureIncomplete, setCommercialDisclosure, setBrandKind, TIKTOK_DISCLOSURE_REQUIRED_HINT, TIKTOK_BRANDED_CONTENT_POLICY_URL, TIKTOK_MUSIC_CONFIRMATION_URL, interactionRows, interactionValueKey, toggleInteraction, tiktokOptionsReady, TIKTOK_PROCESSING_NOTICE, brandedContentDeclared, mediaCreate, uploadFile, PostrunError } from '@postrun/js';
5
5
  export { TIKTOK_CAPTION_MAX, UploadError, captionMaxFor } from '@postrun/js';
6
6
  import Nango, { AuthError } from '@nangohq/frontend';
7
7
  import pWaitFor, { TimeoutError } from 'p-wait-for';
8
8
  import pLimit from 'p-limit';
9
+ import * as query_star from '@postrun/js/query';
9
10
  import { enrichTweet, TweetContainer, TweetHeader, TweetInReplyTo, TweetBody, TweetMedia, QuotedTweet } from 'react-tweet';
10
11
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
12
  import { FiMessageCircle, FiRepeat, FiHeart, FiBarChart2, FiShare, FiGlobe, FiUsers, FiThumbsUp, FiMessageSquare, FiSend, FiBookmark, FiMoreHorizontal, FiFileText } from 'react-icons/fi';
@@ -15,7 +16,86 @@ import useEmblaCarousel from 'embla-carousel-react';
15
16
  import { MdVerified, MdMusicNote } from 'react-icons/md';
16
17
  import { IoMusicalNotes } from 'react-icons/io5';
17
18
 
18
- // src/context.tsx
19
+ var __defProp = Object.defineProperty;
20
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
21
+ var __getOwnPropNames = Object.getOwnPropertyNames;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
+ var __export = (target, all) => {
24
+ for (var name in all)
25
+ __defProp(target, name, { get: all[name], enumerable: true });
26
+ };
27
+ var __copyProps = (to, from, except, desc) => {
28
+ if (from && typeof from === "object" || typeof from === "function") {
29
+ for (let key of __getOwnPropNames(from))
30
+ if (!__hasOwnProp.call(to, key) && key !== except)
31
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32
+ }
33
+ return to;
34
+ };
35
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
36
+
37
+ // src/index.ts
38
+ var index_exports = {};
39
+ __export(index_exports, {
40
+ ArticleCard: () => ArticleCard,
41
+ AudienceSelect: () => AudienceSelect,
42
+ CommercialDisclosure: () => CommercialDisclosure,
43
+ Connect: () => Connect,
44
+ Declaration: () => Declaration,
45
+ DocumentCard: () => DocumentCard,
46
+ InstagramPostPreview: () => InstagramPostPreview,
47
+ InteractionToggles: () => InteractionToggles,
48
+ LinkedInPostPreview: () => LinkedInPostPreview,
49
+ Poll: () => Poll,
50
+ PostrunProvider: () => PostrunProvider,
51
+ ReelPreview: () => ReelPreview,
52
+ TIKTOK_CAPTION_MAX: () => TIKTOK_CAPTION_MAX,
53
+ TikTokCaptionField: () => TikTokCaptionField,
54
+ TikTokPostPreview: () => TikTokPostPreview,
55
+ TikTokPublishPanel: () => TikTokPublishPanel,
56
+ UploadError: () => UploadError,
57
+ XPoll: () => XPoll,
58
+ XPostPreview: () => XPostPreview,
59
+ captionMaxFor: () => captionMaxFor,
60
+ connectionKeys: () => connectionKeys,
61
+ isReadyMedia: () => isReadyMedia,
62
+ mediaKeys: () => mediaKeys,
63
+ postKeys: () => postKeys,
64
+ profileKeys: () => profileKeys,
65
+ resolveVariantMedia: () => resolveVariantMedia,
66
+ tiktokKeys: () => tiktokKeys,
67
+ useCalendar: () => useCalendar,
68
+ useConnect: () => useConnect,
69
+ useConnection: () => useConnection,
70
+ useConnections: () => useConnections,
71
+ useCreatePost: () => useCreatePost,
72
+ useCreateProfile: () => useCreateProfile,
73
+ useDeleteMedia: () => useDeleteMedia,
74
+ useDeletePost: () => useDeletePost,
75
+ useDeleteProfile: () => useDeleteProfile,
76
+ useDisconnect: () => useDisconnect,
77
+ useDiscoverableAccounts: () => useDiscoverableAccounts,
78
+ useInfiniteList: () => useInfiniteList,
79
+ useMedia: () => useMedia,
80
+ useMediaInfinite: () => useMediaInfinite,
81
+ useMediaList: () => useMediaList,
82
+ useMediaUpload: () => useMediaUpload,
83
+ usePost: () => usePost,
84
+ usePostrun: () => usePostrun,
85
+ usePostrunMutation: () => usePostrunMutation,
86
+ usePostrunQuery: () => usePostrunQuery,
87
+ usePosts: () => usePosts,
88
+ usePostsInfinite: () => usePostsInfinite,
89
+ useProfile: () => useProfile,
90
+ useProfiles: () => useProfiles,
91
+ useProfilesInfinite: () => useProfilesInfinite,
92
+ useSelectAccount: () => useSelectAccount,
93
+ useTikTokCreatorInfo: () => useTikTokCreatorInfo,
94
+ useUpdateMedia: () => useUpdateMedia,
95
+ useUpdatePost: () => useUpdatePost,
96
+ useUpdateProfile: () => useUpdateProfile,
97
+ useValidatePost: () => useValidatePost
98
+ });
19
99
  function createDefaultQueryClient() {
20
100
  return new QueryClient({
21
101
  defaultOptions: {
@@ -923,6 +1003,25 @@ function useTikTokCreatorInfo(connectionId) {
923
1003
  );
924
1004
  }
925
1005
 
1006
+ // src/query.ts
1007
+ var query_exports = {};
1008
+ __export(query_exports, {
1009
+ usePostrunMutation: () => usePostrunMutation,
1010
+ usePostrunQuery: () => usePostrunQuery
1011
+ });
1012
+ __reExport(query_exports, query_star);
1013
+ function usePostrunQuery(optionsFactory) {
1014
+ const { client, queryClient } = usePostrun();
1015
+ return useQuery(optionsFactory(client), queryClient);
1016
+ }
1017
+ function usePostrunMutation(optionsFactory) {
1018
+ const { client, queryClient } = usePostrun();
1019
+ return useMutation(optionsFactory(client), queryClient);
1020
+ }
1021
+
1022
+ // src/index.ts
1023
+ __reExport(index_exports, query_exports);
1024
+
926
1025
  // src/preview/media-resolver.ts
927
1026
  function previewKind(kind) {
928
1027
  return kind === "image" || kind === "video" || kind === "gif" ? kind : null;
@@ -3353,6 +3452,6 @@ var postButtonStyle = {
3353
3452
  transition: "opacity 160ms ease"
3354
3453
  };
3355
3454
 
3356
- export { ArticleCard, AudienceSelect, CommercialDisclosure, Connect, Declaration, DocumentCard, InstagramPostPreview, InteractionToggles, LinkedInPostPreview, Poll, PostrunProvider, ReelPreview, TikTokCaptionField, TikTokPostPreview, TikTokPublishPanel, XPoll, XPostPreview, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
3455
+ export { ArticleCard, AudienceSelect, CommercialDisclosure, Connect, Declaration, DocumentCard, InstagramPostPreview, InteractionToggles, LinkedInPostPreview, Poll, PostrunProvider, ReelPreview, TikTokCaptionField, TikTokPostPreview, TikTokPublishPanel, XPoll, XPostPreview, connectionKeys, isReadyMedia, mediaKeys, postKeys, profileKeys, resolveVariantMedia, tiktokKeys, useCalendar, useConnect, useConnection, useConnections, useCreatePost, useCreateProfile, useDeleteMedia, useDeletePost, useDeleteProfile, useDisconnect, useDiscoverableAccounts, useInfiniteList, useMedia, useMediaInfinite, useMediaList, useMediaUpload, usePost, usePostrun, usePostrunMutation, usePostrunQuery, usePosts, usePostsInfinite, useProfile, useProfiles, useProfilesInfinite, useSelectAccount, useTikTokCreatorInfo, useUpdateMedia, useUpdatePost, useUpdateProfile, useValidatePost };
3357
3456
  //# sourceMappingURL=index.js.map
3358
3457
  //# sourceMappingURL=index.js.map