@appgram/react 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/{useVote-CLhkwtLT.d.mts → StatusBoard-DhKRu-An.d.mts} +125 -1
  2. package/dist/{useVote-CLhkwtLT.d.ts → StatusBoard-DhKRu-An.d.ts} +125 -1
  3. package/dist/{chunk-N6PJDQCU.mjs → chunk-NABMGLTY.mjs} +210 -6
  4. package/dist/chunk-NABMGLTY.mjs.map +1 -0
  5. package/dist/chunk-NSV6Q6QQ.js +202 -0
  6. package/dist/chunk-NSV6Q6QQ.js.map +1 -0
  7. package/dist/chunk-ONZ7RQBM.mjs +199 -0
  8. package/dist/chunk-ONZ7RQBM.mjs.map +1 -0
  9. package/dist/{chunk-75P634IK.js → chunk-UPTP7QX5.js} +213 -5
  10. package/dist/chunk-UPTP7QX5.js.map +1 -0
  11. package/dist/{chunk-AIDLOCVJ.mjs → chunk-UWIJR4ZY.mjs} +760 -15
  12. package/dist/chunk-UWIJR4ZY.mjs.map +1 -0
  13. package/dist/{chunk-3UBJGXCO.js → chunk-WZIN7KEM.js} +820 -74
  14. package/dist/chunk-WZIN7KEM.js.map +1 -0
  15. package/dist/components/index.d.mts +68 -106
  16. package/dist/components/index.d.ts +68 -106
  17. package/dist/components/index.js +29 -21
  18. package/dist/components/index.mjs +2 -2
  19. package/dist/hooks/index.d.mts +3 -572
  20. package/dist/hooks/index.d.ts +3 -572
  21. package/dist/hooks/index.js +33 -13
  22. package/dist/hooks/index.mjs +2 -2
  23. package/dist/index-DpZz_TZE.d.ts +917 -0
  24. package/dist/index-X95JANOa.d.mts +917 -0
  25. package/dist/index.d.mts +32 -5
  26. package/dist/index.d.ts +32 -5
  27. package/dist/index.js +123 -76
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +60 -41
  30. package/dist/index.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/chunk-3UBJGXCO.js.map +0 -1
  33. package/dist/chunk-75P634IK.js.map +0 -1
  34. package/dist/chunk-AIDLOCVJ.mjs.map +0 -1
  35. package/dist/chunk-KPIKYXAN.mjs +0 -47
  36. package/dist/chunk-KPIKYXAN.mjs.map +0 -1
  37. package/dist/chunk-N6PJDQCU.mjs.map +0 -1
  38. package/dist/chunk-ZJZ3A2S3.js +0 -49
  39. package/dist/chunk-ZJZ3A2S3.js.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { W as WishFilters, a as WishesResponse, b as Wish, C as CommentsResponse, c as Comment, R as RoadmapData, d as Release, e as ReleaseFeature, H as HelpCollection, f as HelpFlow, g as HelpArticle, S as SupportRequestInput, h as SupportRequest } from './useVote-CLhkwtLT.mjs';
3
- export { A as ArticleType, i as Category, j as CommentAuthor, k as CommentCreateInput, F as FlowDisplayType, l as HelpArticlesResponse, m as HelpCenterData, n as ReleasesResponse, o as Roadmap, p as RoadmapColumnType, q as RoadmapItem, r as RoadmapVisibility, s as SupportAttachment, t as SupportMessage, u as SupportRequestCategory, v as SupportRequestPriority, w as SupportRequestStatus, x as SupportRequestsResponse, U as UseVoteOptions, y as UseVoteResult, z as WishAuthor, B as WishPriority, D as WishStatus, E as useVote } from './useVote-CLhkwtLT.mjs';
4
- export { UseCommentsOptions, UseCommentsResult, UseHelpArticleOptions, UseHelpArticleResult, UseHelpCenterOptions, UseHelpCenterResult, UseHelpFlowOptions, UseHelpFlowResult, UseReleaseOptions, UseReleaseResult, UseReleasesOptions, UseReleasesResult, UseRoadmapOptions, UseRoadmapResult, UseSupportOptions, UseSupportResult, UseWishOptions, UseWishResult, UseWishesOptions, UseWishesResult, useComments, useHelpArticle, useHelpCenter, useHelpFlow, useRelease, useReleases, useRoadmap, useSupport, useWish, useWishes } from './hooks/index.mjs';
5
- export { ComponentStatus, HelpArticleDetail, HelpArticleDetailProps, HelpArticles, HelpArticlesProps, HelpCenter, HelpCenterProps, HelpCollections, HelpCollectionsProps, IncidentImpact, IncidentStatus, IncidentUpdate, OverallStatus, QuickAction, ReleaseCard, ReleaseCardProps, ReleaseDetail, ReleaseDetailProps, ReleaseList, ReleaseListProps, Releases, ReleasesProps, RoadmapBoard, RoadmapBoardProps, RoadmapColumn, RoadmapColumnProps, StatusBoard, StatusBoardProps, StatusComponent, StatusData, StatusIncident, StatusIncidentDetail, StatusIncidentDetailProps, SubmitWishForm, SubmitWishFormProps, SupportForm, SupportFormProps, VoteButton, VoteButtonProps, WhatsNewPopup, WhatsNewPopupProps, WishCard, WishCardProps, WishDetail, WishDetailProps, WishList, WishListProps } from './components/index.mjs';
2
+ import { W as WishFilters, a as WishesResponse, b as Wish, C as CommentsResponse, c as Comment, R as RoadmapData, d as Release, e as ReleaseFeature, H as HelpCollection, f as HelpFlow, g as HelpArticle, S as SupportRequestInput, h as SupportRequest } from './StatusBoard-DhKRu-An.mjs';
3
+ export { A as ArticleType, i as Category, j as CommentAuthor, k as CommentCreateInput, l as ComponentStatus, F as FlowDisplayType, m as HelpArticlesResponse, n as HelpCenterData, I as IncidentImpact, o as IncidentStatus, p as IncidentUpdate, O as OverallStatus, q as ReleasesResponse, r as Roadmap, s as RoadmapColumnType, t as RoadmapItem, u as RoadmapVisibility, v as StatusBoard, w as StatusBoardProps, x as StatusComponent, y as StatusData, z as StatusIncident, B as SupportAttachment, D as SupportMessage, E as SupportRequestCategory, G as SupportRequestPriority, J as SupportRequestStatus, K as SupportRequestsResponse, U as UseVoteOptions, L as UseVoteResult, M as WishAuthor, N as WishPriority, P as WishStatus, Q as useVote } from './StatusBoard-DhKRu-An.mjs';
4
+ import { S as StatusPageOverview, a as Survey, b as SurveyNode, c as SurveySubmitInput, d as SurveyResponse, C as ContactForm, e as ContactFormSubmitInput, f as ContactFormSubmission } from './index-X95JANOa.mjs';
5
+ export { g as ContactFormField, h as ContactFormFieldType, i as ContactFormFieldValidation, j as StatusPage, k as StatusPageService, l as StatusState, m as StatusType, n as StatusUpdateApi, o as SurveyAnswer, p as SurveyNodeBranch, q as SurveyNodeOption, r as SurveyQuestionType, U as UseCommentsOptions, s as UseCommentsResult, t as UseContactFormOptions, u as UseContactFormResult, v as UseContactFormSubmitOptions, w as UseContactFormSubmitResult, x as UseHelpArticleOptions, y as UseHelpArticleResult, z as UseHelpCenterOptions, A as UseHelpCenterResult, B as UseHelpFlowOptions, D as UseHelpFlowResult, E as UseReleaseOptions, F as UseReleaseResult, G as UseReleasesOptions, H as UseReleasesResult, I as UseRoadmapOptions, J as UseRoadmapResult, K as UseStatusOptions, L as UseStatusResult, M as UseSupportOptions, N as UseSupportResult, O as UseSurveyOptions, P as UseSurveyResult, Q as UseSurveySubmitOptions, R as UseSurveySubmitResult, T as UseWishOptions, V as UseWishResult, W as UseWishesOptions, X as UseWishesResult, Y as useComments, Z as useContactForm, _ as useContactFormSubmit, $ as useHelpArticle, a0 as useHelpCenter, a1 as useHelpFlow, a2 as useRelease, a3 as useReleases, a4 as useRoadmap, a5 as useStatus, a6 as useSupport, a7 as useSurvey, a8 as useSurveySubmit, a9 as useWish, aa as useWishes } from './index-X95JANOa.mjs';
6
+ export { ContactFormRenderer, ContactFormRendererProps, HelpArticleDetail, HelpArticleDetailProps, HelpArticles, HelpArticlesProps, HelpCenter, HelpCenterProps, HelpCollections, HelpCollectionsProps, QuickAction, ReleaseCard, ReleaseCardProps, ReleaseDetail, ReleaseDetailProps, ReleaseList, ReleaseListProps, Releases, ReleasesProps, RoadmapBoard, RoadmapBoardProps, RoadmapColumn, RoadmapColumnProps, StatusIncidentDetail, StatusIncidentDetailProps, SubmitWishForm, SubmitWishFormProps, SupportForm, SupportFormProps, SurveyRenderer, SurveyRendererProps, VoteButton, VoteButtonProps, WhatsNewPopup, WhatsNewPopupProps, WishCard, WishCardProps, WishDetail, WishDetailProps, WishList, WishListProps } from './components/index.mjs';
6
7
  import { ClassValue } from 'clsx';
7
8
 
8
9
  /**
@@ -265,6 +266,32 @@ declare class AppgramClient {
265
266
  content: string;
266
267
  created_at: string;
267
268
  }>>;
269
+ /**
270
+ * Get public status page overview (services, active updates, overall status)
271
+ */
272
+ getPublicStatusOverview(slug?: string): Promise<ApiResponse<StatusPageOverview>>;
273
+ /**
274
+ * Get a public survey by slug
275
+ */
276
+ getPublicSurvey(slug: string): Promise<ApiResponse<Survey & {
277
+ nodes: SurveyNode[];
278
+ }>>;
279
+ /**
280
+ * Submit a survey response
281
+ */
282
+ submitSurveyResponse(surveyId: string, data: SurveySubmitInput): Promise<ApiResponse<SurveyResponse>>;
283
+ /**
284
+ * Get survey customization settings
285
+ */
286
+ getPublicSurveyCustomization(surveyId: string): Promise<ApiResponse<Record<string, unknown>>>;
287
+ /**
288
+ * Get a public contact form by ID
289
+ */
290
+ getPublicForm(formId: string): Promise<ApiResponse<ContactForm>>;
291
+ /**
292
+ * Submit a contact form
293
+ */
294
+ submitContactForm(projectId: string, formId: string, data: ContactFormSubmitInput): Promise<ApiResponse<ContactFormSubmission>>;
268
295
  /**
269
296
  * Get all public page data in one request
270
297
  */
@@ -396,4 +423,4 @@ declare function getFingerprint(): string;
396
423
  */
397
424
  declare function resetFingerprint(): void;
398
425
 
399
- export { type ApiResponse, AppgramClient, type AppgramClientConfig, type AppgramConfig, type AppgramContextValue, AppgramProvider, type AppgramProviderProps, type AppgramTheme, Comment, CommentsResponse, type CustomColors, type CustomTypography, HelpArticle, HelpCollection, HelpFlow, type LayoutConfig, type PaginatedResponse, Release, ReleaseFeature, RoadmapData, SupportRequest, SupportRequestInput, type ThemeMode, type Vote, type VoteCheckResponse, type VoteCreateInput, type VoteState, Wish, WishFilters, WishesResponse, cn, getFingerprint, resetFingerprint, useAppgramContext };
426
+ export { type ApiResponse, AppgramClient, type AppgramClientConfig, type AppgramConfig, type AppgramContextValue, AppgramProvider, type AppgramProviderProps, type AppgramTheme, Comment, CommentsResponse, ContactForm, ContactFormSubmission, ContactFormSubmitInput, type CustomColors, type CustomTypography, HelpArticle, HelpCollection, HelpFlow, type LayoutConfig, type PaginatedResponse, Release, ReleaseFeature, RoadmapData, StatusPageOverview, SupportRequest, SupportRequestInput, Survey, SurveyNode, SurveyResponse, SurveySubmitInput, type ThemeMode, type Vote, type VoteCheckResponse, type VoteCreateInput, type VoteState, Wish, WishFilters, WishesResponse, cn, getFingerprint, resetFingerprint, useAppgramContext };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { W as WishFilters, a as WishesResponse, b as Wish, C as CommentsResponse, c as Comment, R as RoadmapData, d as Release, e as ReleaseFeature, H as HelpCollection, f as HelpFlow, g as HelpArticle, S as SupportRequestInput, h as SupportRequest } from './useVote-CLhkwtLT.js';
3
- export { A as ArticleType, i as Category, j as CommentAuthor, k as CommentCreateInput, F as FlowDisplayType, l as HelpArticlesResponse, m as HelpCenterData, n as ReleasesResponse, o as Roadmap, p as RoadmapColumnType, q as RoadmapItem, r as RoadmapVisibility, s as SupportAttachment, t as SupportMessage, u as SupportRequestCategory, v as SupportRequestPriority, w as SupportRequestStatus, x as SupportRequestsResponse, U as UseVoteOptions, y as UseVoteResult, z as WishAuthor, B as WishPriority, D as WishStatus, E as useVote } from './useVote-CLhkwtLT.js';
4
- export { UseCommentsOptions, UseCommentsResult, UseHelpArticleOptions, UseHelpArticleResult, UseHelpCenterOptions, UseHelpCenterResult, UseHelpFlowOptions, UseHelpFlowResult, UseReleaseOptions, UseReleaseResult, UseReleasesOptions, UseReleasesResult, UseRoadmapOptions, UseRoadmapResult, UseSupportOptions, UseSupportResult, UseWishOptions, UseWishResult, UseWishesOptions, UseWishesResult, useComments, useHelpArticle, useHelpCenter, useHelpFlow, useRelease, useReleases, useRoadmap, useSupport, useWish, useWishes } from './hooks/index.js';
5
- export { ComponentStatus, HelpArticleDetail, HelpArticleDetailProps, HelpArticles, HelpArticlesProps, HelpCenter, HelpCenterProps, HelpCollections, HelpCollectionsProps, IncidentImpact, IncidentStatus, IncidentUpdate, OverallStatus, QuickAction, ReleaseCard, ReleaseCardProps, ReleaseDetail, ReleaseDetailProps, ReleaseList, ReleaseListProps, Releases, ReleasesProps, RoadmapBoard, RoadmapBoardProps, RoadmapColumn, RoadmapColumnProps, StatusBoard, StatusBoardProps, StatusComponent, StatusData, StatusIncident, StatusIncidentDetail, StatusIncidentDetailProps, SubmitWishForm, SubmitWishFormProps, SupportForm, SupportFormProps, VoteButton, VoteButtonProps, WhatsNewPopup, WhatsNewPopupProps, WishCard, WishCardProps, WishDetail, WishDetailProps, WishList, WishListProps } from './components/index.js';
2
+ import { W as WishFilters, a as WishesResponse, b as Wish, C as CommentsResponse, c as Comment, R as RoadmapData, d as Release, e as ReleaseFeature, H as HelpCollection, f as HelpFlow, g as HelpArticle, S as SupportRequestInput, h as SupportRequest } from './StatusBoard-DhKRu-An.js';
3
+ export { A as ArticleType, i as Category, j as CommentAuthor, k as CommentCreateInput, l as ComponentStatus, F as FlowDisplayType, m as HelpArticlesResponse, n as HelpCenterData, I as IncidentImpact, o as IncidentStatus, p as IncidentUpdate, O as OverallStatus, q as ReleasesResponse, r as Roadmap, s as RoadmapColumnType, t as RoadmapItem, u as RoadmapVisibility, v as StatusBoard, w as StatusBoardProps, x as StatusComponent, y as StatusData, z as StatusIncident, B as SupportAttachment, D as SupportMessage, E as SupportRequestCategory, G as SupportRequestPriority, J as SupportRequestStatus, K as SupportRequestsResponse, U as UseVoteOptions, L as UseVoteResult, M as WishAuthor, N as WishPriority, P as WishStatus, Q as useVote } from './StatusBoard-DhKRu-An.js';
4
+ import { S as StatusPageOverview, a as Survey, b as SurveyNode, c as SurveySubmitInput, d as SurveyResponse, C as ContactForm, e as ContactFormSubmitInput, f as ContactFormSubmission } from './index-DpZz_TZE.js';
5
+ export { g as ContactFormField, h as ContactFormFieldType, i as ContactFormFieldValidation, j as StatusPage, k as StatusPageService, l as StatusState, m as StatusType, n as StatusUpdateApi, o as SurveyAnswer, p as SurveyNodeBranch, q as SurveyNodeOption, r as SurveyQuestionType, U as UseCommentsOptions, s as UseCommentsResult, t as UseContactFormOptions, u as UseContactFormResult, v as UseContactFormSubmitOptions, w as UseContactFormSubmitResult, x as UseHelpArticleOptions, y as UseHelpArticleResult, z as UseHelpCenterOptions, A as UseHelpCenterResult, B as UseHelpFlowOptions, D as UseHelpFlowResult, E as UseReleaseOptions, F as UseReleaseResult, G as UseReleasesOptions, H as UseReleasesResult, I as UseRoadmapOptions, J as UseRoadmapResult, K as UseStatusOptions, L as UseStatusResult, M as UseSupportOptions, N as UseSupportResult, O as UseSurveyOptions, P as UseSurveyResult, Q as UseSurveySubmitOptions, R as UseSurveySubmitResult, T as UseWishOptions, V as UseWishResult, W as UseWishesOptions, X as UseWishesResult, Y as useComments, Z as useContactForm, _ as useContactFormSubmit, $ as useHelpArticle, a0 as useHelpCenter, a1 as useHelpFlow, a2 as useRelease, a3 as useReleases, a4 as useRoadmap, a5 as useStatus, a6 as useSupport, a7 as useSurvey, a8 as useSurveySubmit, a9 as useWish, aa as useWishes } from './index-DpZz_TZE.js';
6
+ export { ContactFormRenderer, ContactFormRendererProps, HelpArticleDetail, HelpArticleDetailProps, HelpArticles, HelpArticlesProps, HelpCenter, HelpCenterProps, HelpCollections, HelpCollectionsProps, QuickAction, ReleaseCard, ReleaseCardProps, ReleaseDetail, ReleaseDetailProps, ReleaseList, ReleaseListProps, Releases, ReleasesProps, RoadmapBoard, RoadmapBoardProps, RoadmapColumn, RoadmapColumnProps, StatusIncidentDetail, StatusIncidentDetailProps, SubmitWishForm, SubmitWishFormProps, SupportForm, SupportFormProps, SurveyRenderer, SurveyRendererProps, VoteButton, VoteButtonProps, WhatsNewPopup, WhatsNewPopupProps, WishCard, WishCardProps, WishDetail, WishDetailProps, WishList, WishListProps } from './components/index.js';
6
7
  import { ClassValue } from 'clsx';
7
8
 
8
9
  /**
@@ -265,6 +266,32 @@ declare class AppgramClient {
265
266
  content: string;
266
267
  created_at: string;
267
268
  }>>;
269
+ /**
270
+ * Get public status page overview (services, active updates, overall status)
271
+ */
272
+ getPublicStatusOverview(slug?: string): Promise<ApiResponse<StatusPageOverview>>;
273
+ /**
274
+ * Get a public survey by slug
275
+ */
276
+ getPublicSurvey(slug: string): Promise<ApiResponse<Survey & {
277
+ nodes: SurveyNode[];
278
+ }>>;
279
+ /**
280
+ * Submit a survey response
281
+ */
282
+ submitSurveyResponse(surveyId: string, data: SurveySubmitInput): Promise<ApiResponse<SurveyResponse>>;
283
+ /**
284
+ * Get survey customization settings
285
+ */
286
+ getPublicSurveyCustomization(surveyId: string): Promise<ApiResponse<Record<string, unknown>>>;
287
+ /**
288
+ * Get a public contact form by ID
289
+ */
290
+ getPublicForm(formId: string): Promise<ApiResponse<ContactForm>>;
291
+ /**
292
+ * Submit a contact form
293
+ */
294
+ submitContactForm(projectId: string, formId: string, data: ContactFormSubmitInput): Promise<ApiResponse<ContactFormSubmission>>;
268
295
  /**
269
296
  * Get all public page data in one request
270
297
  */
@@ -396,4 +423,4 @@ declare function getFingerprint(): string;
396
423
  */
397
424
  declare function resetFingerprint(): void;
398
425
 
399
- export { type ApiResponse, AppgramClient, type AppgramClientConfig, type AppgramConfig, type AppgramContextValue, AppgramProvider, type AppgramProviderProps, type AppgramTheme, Comment, CommentsResponse, type CustomColors, type CustomTypography, HelpArticle, HelpCollection, HelpFlow, type LayoutConfig, type PaginatedResponse, Release, ReleaseFeature, RoadmapData, SupportRequest, SupportRequestInput, type ThemeMode, type Vote, type VoteCheckResponse, type VoteCreateInput, type VoteState, Wish, WishFilters, WishesResponse, cn, getFingerprint, resetFingerprint, useAppgramContext };
426
+ export { type ApiResponse, AppgramClient, type AppgramClientConfig, type AppgramConfig, type AppgramContextValue, AppgramProvider, type AppgramProviderProps, type AppgramTheme, Comment, CommentsResponse, ContactForm, ContactFormSubmission, ContactFormSubmitInput, type CustomColors, type CustomTypography, HelpArticle, HelpCollection, HelpFlow, type LayoutConfig, type PaginatedResponse, Release, ReleaseFeature, RoadmapData, StatusPageOverview, SupportRequest, SupportRequestInput, Survey, SurveyNode, SurveyResponse, SurveySubmitInput, type ThemeMode, type Vote, type VoteCheckResponse, type VoteCreateInput, type VoteState, Wish, WishFilters, WishesResponse, cn, getFingerprint, resetFingerprint, useAppgramContext };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkZJZ3A2S3_js = require('./chunk-ZJZ3A2S3.js');
4
- var chunk3UBJGXCO_js = require('./chunk-3UBJGXCO.js');
5
- var chunk75P634IK_js = require('./chunk-75P634IK.js');
3
+ var chunkNSV6Q6QQ_js = require('./chunk-NSV6Q6QQ.js');
4
+ var chunkWZIN7KEM_js = require('./chunk-WZIN7KEM.js');
5
+ var chunkUPTP7QX5_js = require('./chunk-UPTP7QX5.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -462,43 +462,62 @@ var AppgramClient = class {
462
462
  * Add a message to a support ticket
463
463
  */
464
464
  async addSupportMessage(ticketId, token, content) {
465
- const url = `/portal/support-requests/${ticketId}/messages`;
466
- const fullUrl = `${this.baseUrl}${url}`;
467
- try {
468
- const response = await fetch(fullUrl, {
469
- method: "POST",
470
- headers: {
471
- "Content-Type": "application/json",
472
- "Authorization": `Bearer ${token}`
473
- },
474
- body: JSON.stringify({ content })
475
- });
476
- const data = await response.json();
477
- if (!response.ok) {
478
- return {
479
- success: false,
480
- error: {
481
- code: String(response.status),
482
- message: data.message || data.error || "An error occurred"
483
- }
484
- };
485
- }
486
- if (data && typeof data === "object" && "success" in data) {
487
- return data;
488
- }
489
- return {
490
- success: true,
491
- data
492
- };
493
- } catch (error) {
494
- return {
495
- success: false,
496
- error: {
497
- code: "NETWORK_ERROR",
498
- message: error instanceof Error ? error.message : "Network error"
499
- }
500
- };
501
- }
465
+ return this.post(
466
+ `/portal/support-requests/${ticketId}/messages?token=${encodeURIComponent(token)}`,
467
+ { content }
468
+ );
469
+ }
470
+ // ============================================================================
471
+ // Status Pages
472
+ // ============================================================================
473
+ /**
474
+ * Get public status page overview (services, active updates, overall status)
475
+ */
476
+ async getPublicStatusOverview(slug = "status") {
477
+ return this.get(
478
+ `/api/v1/status-pages/public/${this.projectId}/${slug}/overview`
479
+ );
480
+ }
481
+ // ============================================================================
482
+ // Surveys
483
+ // ============================================================================
484
+ /**
485
+ * Get a public survey by slug
486
+ */
487
+ async getPublicSurvey(slug) {
488
+ return this.get(`/portal/surveys/${slug}`, {
489
+ project_id: this.projectId
490
+ });
491
+ }
492
+ /**
493
+ * Submit a survey response
494
+ */
495
+ async submitSurveyResponse(surveyId, data) {
496
+ return this.post(`/portal/surveys/${surveyId}/responses`, data);
497
+ }
498
+ /**
499
+ * Get survey customization settings
500
+ */
501
+ async getPublicSurveyCustomization(surveyId) {
502
+ return this.get(`/portal/surveys/customization/${surveyId}`);
503
+ }
504
+ // ============================================================================
505
+ // Contact Forms
506
+ // ============================================================================
507
+ /**
508
+ * Get a public contact form by ID
509
+ */
510
+ async getPublicForm(formId) {
511
+ return this.get(`/api/v1/forms/${formId}`);
512
+ }
513
+ /**
514
+ * Submit a contact form
515
+ */
516
+ async submitContactForm(projectId, formId, data) {
517
+ return this.post(
518
+ `/api/v1/projects/${projectId}/contact-forms/${formId}/submit`,
519
+ data
520
+ );
502
521
  }
503
522
  // ============================================================================
504
523
  // Page Data (Combined)
@@ -568,7 +587,7 @@ function AppgramProvider({
568
587
  const [isDark, setIsDark] = react.useState(() => resolveIsDark(themeMode));
569
588
  react.useEffect(() => {
570
589
  if (config.enableFingerprinting !== false) {
571
- setFingerprint(chunk75P634IK_js.getFingerprint());
590
+ setFingerprint(chunkUPTP7QX5_js.getFingerprint());
572
591
  }
573
592
  }, [config.enableFingerprinting]);
574
593
  react.useEffect(() => {
@@ -638,144 +657,172 @@ function AppgramProvider({
638
657
  if (theme.borderRadius) root.style.setProperty("--appgram-radius", `${theme.borderRadius}px`);
639
658
  if (theme.typography?.fontFamily) root.style.setProperty("--appgram-font-family", theme.typography.fontFamily);
640
659
  }, [currentColors, isDark, theme.borderRadius, theme.typography?.fontFamily]);
641
- return /* @__PURE__ */ jsxRuntime.jsx(chunk75P634IK_js.AppgramContext.Provider, { value: contextValue, children });
660
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUPTP7QX5_js.AppgramContext.Provider, { value: contextValue, children });
642
661
  }
643
662
 
663
+ Object.defineProperty(exports, "useStatus", {
664
+ enumerable: true,
665
+ get: function () { return chunkNSV6Q6QQ_js.useStatus; }
666
+ });
644
667
  Object.defineProperty(exports, "useWish", {
645
668
  enumerable: true,
646
- get: function () { return chunkZJZ3A2S3_js.useWish; }
669
+ get: function () { return chunkNSV6Q6QQ_js.useWish; }
670
+ });
671
+ Object.defineProperty(exports, "ContactFormRenderer", {
672
+ enumerable: true,
673
+ get: function () { return chunkWZIN7KEM_js.ContactFormRenderer; }
647
674
  });
648
675
  Object.defineProperty(exports, "HelpArticleDetail", {
649
676
  enumerable: true,
650
- get: function () { return chunk3UBJGXCO_js.HelpArticleDetail; }
677
+ get: function () { return chunkWZIN7KEM_js.HelpArticleDetail; }
651
678
  });
652
679
  Object.defineProperty(exports, "HelpArticles", {
653
680
  enumerable: true,
654
- get: function () { return chunk3UBJGXCO_js.HelpArticles; }
681
+ get: function () { return chunkWZIN7KEM_js.HelpArticles; }
655
682
  });
656
683
  Object.defineProperty(exports, "HelpCenter", {
657
684
  enumerable: true,
658
- get: function () { return chunk3UBJGXCO_js.HelpCenter; }
685
+ get: function () { return chunkWZIN7KEM_js.HelpCenter; }
659
686
  });
660
687
  Object.defineProperty(exports, "HelpCollections", {
661
688
  enumerable: true,
662
- get: function () { return chunk3UBJGXCO_js.HelpCollections; }
689
+ get: function () { return chunkWZIN7KEM_js.HelpCollections; }
663
690
  });
664
691
  Object.defineProperty(exports, "ReleaseCard", {
665
692
  enumerable: true,
666
- get: function () { return chunk3UBJGXCO_js.ReleaseCard; }
693
+ get: function () { return chunkWZIN7KEM_js.ReleaseCard; }
667
694
  });
668
695
  Object.defineProperty(exports, "ReleaseDetail", {
669
696
  enumerable: true,
670
- get: function () { return chunk3UBJGXCO_js.ReleaseDetail; }
697
+ get: function () { return chunkWZIN7KEM_js.ReleaseDetail; }
671
698
  });
672
699
  Object.defineProperty(exports, "ReleaseList", {
673
700
  enumerable: true,
674
- get: function () { return chunk3UBJGXCO_js.ReleaseList; }
701
+ get: function () { return chunkWZIN7KEM_js.ReleaseList; }
675
702
  });
676
703
  Object.defineProperty(exports, "Releases", {
677
704
  enumerable: true,
678
- get: function () { return chunk3UBJGXCO_js.Releases; }
705
+ get: function () { return chunkWZIN7KEM_js.Releases; }
679
706
  });
680
707
  Object.defineProperty(exports, "RoadmapBoard", {
681
708
  enumerable: true,
682
- get: function () { return chunk3UBJGXCO_js.RoadmapBoard; }
709
+ get: function () { return chunkWZIN7KEM_js.RoadmapBoard; }
683
710
  });
684
711
  Object.defineProperty(exports, "RoadmapColumn", {
685
712
  enumerable: true,
686
- get: function () { return chunk3UBJGXCO_js.RoadmapColumn; }
713
+ get: function () { return chunkWZIN7KEM_js.RoadmapColumn; }
687
714
  });
688
715
  Object.defineProperty(exports, "StatusBoard", {
689
716
  enumerable: true,
690
- get: function () { return chunk3UBJGXCO_js.StatusBoard; }
717
+ get: function () { return chunkWZIN7KEM_js.StatusBoard; }
691
718
  });
692
719
  Object.defineProperty(exports, "StatusIncidentDetail", {
693
720
  enumerable: true,
694
- get: function () { return chunk3UBJGXCO_js.StatusIncidentDetail; }
721
+ get: function () { return chunkWZIN7KEM_js.StatusIncidentDetail; }
695
722
  });
696
723
  Object.defineProperty(exports, "SubmitWishForm", {
697
724
  enumerable: true,
698
- get: function () { return chunk3UBJGXCO_js.SubmitWishForm; }
725
+ get: function () { return chunkWZIN7KEM_js.SubmitWishForm; }
699
726
  });
700
727
  Object.defineProperty(exports, "SupportForm", {
701
728
  enumerable: true,
702
- get: function () { return chunk3UBJGXCO_js.SupportForm; }
729
+ get: function () { return chunkWZIN7KEM_js.SupportForm; }
730
+ });
731
+ Object.defineProperty(exports, "SurveyRenderer", {
732
+ enumerable: true,
733
+ get: function () { return chunkWZIN7KEM_js.SurveyRenderer; }
703
734
  });
704
735
  Object.defineProperty(exports, "VoteButton", {
705
736
  enumerable: true,
706
- get: function () { return chunk3UBJGXCO_js.VoteButton; }
737
+ get: function () { return chunkWZIN7KEM_js.VoteButton; }
707
738
  });
708
739
  Object.defineProperty(exports, "WhatsNewPopup", {
709
740
  enumerable: true,
710
- get: function () { return chunk3UBJGXCO_js.WhatsNewPopup; }
741
+ get: function () { return chunkWZIN7KEM_js.WhatsNewPopup; }
711
742
  });
712
743
  Object.defineProperty(exports, "WishCard", {
713
744
  enumerable: true,
714
- get: function () { return chunk3UBJGXCO_js.WishCard; }
745
+ get: function () { return chunkWZIN7KEM_js.WishCard; }
715
746
  });
716
747
  Object.defineProperty(exports, "WishDetail", {
717
748
  enumerable: true,
718
- get: function () { return chunk3UBJGXCO_js.WishDetail; }
749
+ get: function () { return chunkWZIN7KEM_js.WishDetail; }
719
750
  });
720
751
  Object.defineProperty(exports, "WishList", {
721
752
  enumerable: true,
722
- get: function () { return chunk3UBJGXCO_js.WishList; }
753
+ get: function () { return chunkWZIN7KEM_js.WishList; }
723
754
  });
724
755
  Object.defineProperty(exports, "cn", {
725
756
  enumerable: true,
726
- get: function () { return chunk75P634IK_js.cn; }
757
+ get: function () { return chunkUPTP7QX5_js.cn; }
727
758
  });
728
759
  Object.defineProperty(exports, "getFingerprint", {
729
760
  enumerable: true,
730
- get: function () { return chunk75P634IK_js.getFingerprint; }
761
+ get: function () { return chunkUPTP7QX5_js.getFingerprint; }
731
762
  });
732
763
  Object.defineProperty(exports, "resetFingerprint", {
733
764
  enumerable: true,
734
- get: function () { return chunk75P634IK_js.resetFingerprint; }
765
+ get: function () { return chunkUPTP7QX5_js.resetFingerprint; }
735
766
  });
736
767
  Object.defineProperty(exports, "useAppgramContext", {
737
768
  enumerable: true,
738
- get: function () { return chunk75P634IK_js.useAppgramContext; }
769
+ get: function () { return chunkUPTP7QX5_js.useAppgramContext; }
739
770
  });
740
771
  Object.defineProperty(exports, "useComments", {
741
772
  enumerable: true,
742
- get: function () { return chunk75P634IK_js.useComments; }
773
+ get: function () { return chunkUPTP7QX5_js.useComments; }
774
+ });
775
+ Object.defineProperty(exports, "useContactForm", {
776
+ enumerable: true,
777
+ get: function () { return chunkUPTP7QX5_js.useContactForm; }
778
+ });
779
+ Object.defineProperty(exports, "useContactFormSubmit", {
780
+ enumerable: true,
781
+ get: function () { return chunkUPTP7QX5_js.useContactFormSubmit; }
743
782
  });
744
783
  Object.defineProperty(exports, "useHelpArticle", {
745
784
  enumerable: true,
746
- get: function () { return chunk75P634IK_js.useHelpArticle; }
785
+ get: function () { return chunkUPTP7QX5_js.useHelpArticle; }
747
786
  });
748
787
  Object.defineProperty(exports, "useHelpCenter", {
749
788
  enumerable: true,
750
- get: function () { return chunk75P634IK_js.useHelpCenter; }
789
+ get: function () { return chunkUPTP7QX5_js.useHelpCenter; }
751
790
  });
752
791
  Object.defineProperty(exports, "useHelpFlow", {
753
792
  enumerable: true,
754
- get: function () { return chunk75P634IK_js.useHelpFlow; }
793
+ get: function () { return chunkUPTP7QX5_js.useHelpFlow; }
755
794
  });
756
795
  Object.defineProperty(exports, "useRelease", {
757
796
  enumerable: true,
758
- get: function () { return chunk75P634IK_js.useRelease; }
797
+ get: function () { return chunkUPTP7QX5_js.useRelease; }
759
798
  });
760
799
  Object.defineProperty(exports, "useReleases", {
761
800
  enumerable: true,
762
- get: function () { return chunk75P634IK_js.useReleases; }
801
+ get: function () { return chunkUPTP7QX5_js.useReleases; }
763
802
  });
764
803
  Object.defineProperty(exports, "useRoadmap", {
765
804
  enumerable: true,
766
- get: function () { return chunk75P634IK_js.useRoadmap; }
805
+ get: function () { return chunkUPTP7QX5_js.useRoadmap; }
767
806
  });
768
807
  Object.defineProperty(exports, "useSupport", {
769
808
  enumerable: true,
770
- get: function () { return chunk75P634IK_js.useSupport; }
809
+ get: function () { return chunkUPTP7QX5_js.useSupport; }
810
+ });
811
+ Object.defineProperty(exports, "useSurvey", {
812
+ enumerable: true,
813
+ get: function () { return chunkUPTP7QX5_js.useSurvey; }
814
+ });
815
+ Object.defineProperty(exports, "useSurveySubmit", {
816
+ enumerable: true,
817
+ get: function () { return chunkUPTP7QX5_js.useSurveySubmit; }
771
818
  });
772
819
  Object.defineProperty(exports, "useVote", {
773
820
  enumerable: true,
774
- get: function () { return chunk75P634IK_js.useVote; }
821
+ get: function () { return chunkUPTP7QX5_js.useVote; }
775
822
  });
776
823
  Object.defineProperty(exports, "useWishes", {
777
824
  enumerable: true,
778
- get: function () { return chunk75P634IK_js.useWishes; }
825
+ get: function () { return chunkUPTP7QX5_js.useWishes; }
779
826
  });
780
827
  exports.AppgramClient = AppgramClient;
781
828
  exports.AppgramProvider = AppgramProvider;