@fluid-app/portal-widgets 0.1.20 → 0.1.21

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.
@@ -8,6 +8,7 @@ import { useDataSourceConfig } from "@fluid-app/portal-core/data-sources/context
8
8
  import { useWidgetPreviewContext } from "@fluid-app/portal-core/data-sources/preview-context";
9
9
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
10
10
  import { faBell, faCalendar, faCartShopping, faComment, faEye, faPlay, faSquareCheck, faStar, faTrophy, faUser, faUserPlus } from "@fortawesome/pro-regular-svg-icons";
11
+ import DOMPurify from "dompurify";
11
12
  //#region src/hooks/use-activities.preview.ts
12
13
  const now = /* @__PURE__ */ new Date();
13
14
  function minutesAgo(minutes) {
@@ -195,7 +196,16 @@ function ActivityFeedItem({ activity, accentColor, textColor }) {
195
196
  children: activity.userName
196
197
  }),
197
198
  " ",
198
- activity.targetName
199
+ /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(activity.targetName, {
200
+ ALLOWED_TAGS: [
201
+ "br",
202
+ "strong",
203
+ "em",
204
+ "b",
205
+ "i"
206
+ ],
207
+ ALLOWED_ATTR: []
208
+ }) } })
199
209
  ]
200
210
  })]
201
211
  })]
@@ -388,4 +398,4 @@ const recentActivityWidgetPropertySchema = {
388
398
  //#endregion
389
399
  export { RecentActivityWidget_exports as n, recentActivityWidgetPropertySchema as r, RecentActivityWidget as t };
390
400
 
391
- //# sourceMappingURL=RecentActivityWidget-Cj-vLOGu.mjs.map
401
+ //# sourceMappingURL=RecentActivityWidget-YD-2z7oN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecentActivityWidget-YD-2z7oN.mjs","names":[],"sources":["../src/hooks/use-activities.preview.ts","../src/hooks/use-activities.ts","../src/widgets/RecentActivityWidget.tsx"],"sourcesContent":["import type { Activity } from \"./use-activities.types\";\n\nconst now = new Date();\n\nfunction minutesAgo(minutes: number): string {\n return new Date(now.getTime() - minutes * 60_000).toISOString();\n}\n\nexport const PREVIEW_DATA: Activity[] = [\n {\n id: 1,\n userName: \"Sarah Johnson\",\n avatarUrl: null,\n activityType: \"Order Placed\",\n targetName: \"Wellness Starter Kit\",\n timestamp: minutesAgo(12),\n slug: \"order_placed\",\n },\n {\n id: 2,\n userName: \"Mike Chen\",\n avatarUrl: null,\n activityType: \"New Lead\",\n targetName: \"Signed up from Instagram link\",\n timestamp: minutesAgo(45),\n slug: \"new_lead\",\n },\n {\n id: 3,\n userName: \"Visitor from Austin, TX\",\n avatarUrl: null,\n activityType: \"Page Views\",\n targetName: \"Viewed product catalog (3 pages)\",\n timestamp: minutesAgo(90),\n slug: \"page_views\",\n },\n {\n id: 4,\n userName: \"Lisa Park\",\n avatarUrl: null,\n activityType: \"Video Complete\",\n targetName: \"Watched: Getting Started Guide\",\n timestamp: minutesAgo(180),\n slug: \"video_complete\",\n },\n];\n","import { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/portal-core/data-sources/context\";\nimport { useWidgetPreviewContext } from \"@fluid-app/portal-core/data-sources/preview-context\";\nimport { PREVIEW_DATA } from \"./use-activities.preview\";\nimport type {\n Activity,\n ActivityContact,\n ActivityVisitor,\n ApiActivity,\n} from \"./use-activities.types\";\n\nexport type {\n ActivityContact,\n ActivityVisitor,\n ActivitySlug,\n ApiActivity,\n Activity,\n} from \"./use-activities.types\";\n\ntype PaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ApiResponse = [{ pagination: PaginationInfo }, { items: ApiActivity[] }];\n\nexport function useActivities(): UseQueryResult<Activity[], Error> {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"portal-widget-use\",\n \"activities\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<Activity[]> => {\n const url = baseUrl\n ? `${baseUrl}/v1.1/activities.json`\n : \"/v1.1/activities.json\";\n const response = await fetch(url, {\n headers: {\n \"content-type\": \"application/json\",\n ...getApiHeaders?.(),\n },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n\n const data: ApiResponse = await response.json();\n return transformActivities(data);\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n\n// Transform and format helpers\nfunction getUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: formatActivityType(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction formatActivityType(slug: string): string {\n return slug\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n}\n","import DOMPurify from \"dompurify\";\nimport { useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport {\n useActivities,\n type Activity,\n type ActivitySlug,\n} from \"../hooks/use-activities\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faBell,\n faCalendar,\n faSquareCheck,\n faEye,\n faComment,\n faPlay,\n faCartShopping,\n faStar,\n faTrophy,\n faUser,\n faUserPlus,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Format timestamp to time string\nconst formatTimestamp = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n};\n\n// Format date for grouping header\nconst formatDateHeader = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n });\n};\n\n// Get date string for grouping (without time)\nconst getDateKey = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toISOString().split(\"T\")[0] ?? timestamp;\n};\n\n// Group activities by date\nconst groupActivitiesByDate = (\n activities: Activity[],\n): Map<string, Activity[]> => {\n const grouped = new Map<string, Activity[]>();\n\n for (const activity of activities) {\n const dateKey = getDateKey(activity.timestamp);\n const existing = grouped.get(dateKey);\n if (existing) {\n existing.push(activity);\n } else {\n grouped.set(dateKey, [activity]);\n }\n }\n\n return grouped;\n};\n\n// Activity slug to icon mapping\nconst ACTIVITY_ICON_MAP: Record<ActivitySlug, IconDefinition> = {\n // Orders/Cart\n order_placed: faCartShopping,\n abandoned_cart: faCartShopping,\n cart_items_added: faCartShopping,\n new_cart_items_added: faCartShopping,\n // Messages\n direct_message: faComment,\n comment_reply: faComment,\n message_received: faComment,\n message_sent: faComment,\n // Video\n video: faPlay,\n video_complete: faPlay,\n video_contact: faPlay,\n video_complete_contact: faPlay,\n // Leads\n new_lead: faUserPlus,\n page_views_contact: faUserPlus,\n smart_link_clicked: faUserPlus,\n // Page Views\n page_views: faEye,\n // Events\n upcoming_event: faCalendar,\n // Reviews\n review_left: faStar,\n // Tasks\n tasks: faSquareCheck,\n // Announcements\n announcements: faBell,\n // Fantasy\n fantasy_point: faTrophy,\n};\n\nconst getActivityIcon = (slug: ActivitySlug) =>\n ACTIVITY_ICON_MAP[slug] ?? faUser;\n\n// Activity feed item component\ntype ActivityFeedItemProps = {\n activity: Activity;\n accentColor: ColorOptions;\n textColor: ColorOptions;\n};\n\nfunction ActivityFeedItem({\n activity,\n accentColor,\n textColor,\n}: ActivityFeedItemProps) {\n const icon = getActivityIcon(activity.slug);\n\n return (\n <div className=\"flex w-full items-start gap-1.5\">\n {/* Avatar */}\n <div className=\"shrink-0\">\n {activity.avatarUrl ? (\n <div className=\"relative size-8 overflow-hidden rounded-full\">\n <img\n src={activity.avatarUrl}\n alt={activity.userName}\n className=\"size-full object-cover\"\n />\n <div className=\"border-foreground/[0.08] absolute inset-0 rounded-full border\" />\n </div>\n ) : (\n <div\n className={`bg-muted flex size-8 items-center justify-center rounded-full`}\n >\n <FontAwesomeIcon\n icon={icon}\n className={`size-3.5 text-${textColor} opacity-60`}\n />\n </div>\n )}\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex w-full items-center gap-1.5\">\n <p\n className={`flex-1 text-base font-semibold text-${textColor} truncate`}\n >\n {activity.activityType}\n </p>\n <p className={`text-xs text-${textColor} shrink-0 opacity-50`}>\n {formatTimestamp(activity.timestamp)}\n </p>\n </div>\n <p className={`text-sm text-${textColor} opacity-80`}>\n <span className={`font-medium text-${accentColor}`}>\n {activity.userName}\n </span>{\" \"}\n <span\n dangerouslySetInnerHTML={{\n __html: DOMPurify.sanitize(activity.targetName, {\n ALLOWED_TAGS: [\"br\", \"strong\", \"em\", \"b\", \"i\"],\n ALLOWED_ATTR: [],\n }),\n }}\n />\n </p>\n </div>\n </div>\n );\n}\n\ntype RecentActivityWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Activity settings\n maxItemsToShow?: number;\n};\n\nexport function RecentActivityWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Recent Activity\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Activity defaults\n maxItemsToShow = 5,\n\n className,\n ...props\n}: RecentActivityWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n background.type === \"image\"\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const { data: activities = [], isLoading, isError } = useActivities();\n\n const groupedActivities = useMemo(\n () => groupActivitiesByDate(activities),\n [activities],\n );\n\n const totalCount = Math.min(activities.length, maxItemsToShow);\n\n // Get activities to display (limited by maxItemsToShow)\n const activitiesToShow = useMemo(() => {\n const result: { date: string; items: Activity[] }[] = [];\n let count = 0;\n\n for (const [dateKey, items] of groupedActivities) {\n if (count >= maxItemsToShow) break;\n\n const remainingSlots = maxItemsToShow - count;\n const itemsToAdd = items.slice(0, remainingSlots);\n\n if (itemsToAdd.length > 0) {\n result.push({\n date: formatDateHeader(items[0]?.timestamp ?? dateKey),\n items: itemsToAdd,\n });\n count += itemsToAdd.length;\n }\n }\n\n return result;\n }, [groupedActivities, maxItemsToShow]);\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} border-muted border ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className={`p-${padding} flex flex-col gap-2`}>\n {/* Header */}\n {titleEnabled && titleText && (\n <div className=\"flex w-full items-start gap-2\">\n <h2\n className={`flex-1 text-${titleFontSize} font-bold text-${titleColor}`}\n >\n {titleText}\n </h2>\n {!isLoading && (\n <span\n className={`text-4xl font-bold text-${textColor} leading-none`}\n >\n {totalCount.toString().padStart(2, \"0\")}\n </span>\n )}\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex min-h-[200px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n </div>\n ) : isError ? (\n /* Error state */\n <ErrorState />\n ) : activities.length === 0 ? (\n /* Empty state */\n <div className=\"flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <FontAwesomeIcon\n icon={faUser}\n className={`size-12 text-${textColor} opacity-30`}\n />\n <p\n className={`text-base font-semibold text-${textColor} opacity-50`}\n >\n No Activity To Report\n </p>\n <p className={`text-sm text-${textColor} opacity-40`}>\n You&apos;ll Do Great!\n </p>\n </div>\n ) : (\n /* Activity list */\n <div className=\"flex flex-col gap-4\">\n {activitiesToShow.map((group, groupIndex) => (\n <div key={groupIndex} className=\"flex flex-col gap-4\">\n {/* Date header */}\n <p className={`text-base font-semibold text-${textColor}`}>\n {group.date}\n </p>\n\n {/* Activity items */}\n <div className=\"flex flex-col gap-4\">\n {group.items.map((activity) => (\n <ActivityFeedItem\n key={activity.id}\n activity={activity}\n accentColor={accentColor}\n textColor={textColor}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport const recentActivityWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"RecentActivityWidget\",\n displayName: \"Recent Activity Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the activity feed\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the activity feed\",\n defaultValue: \"Recent Activity\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n key: \"titleFontSize\",\n label: \"Title Font Size\",\n description: \"Font size for the widget title\",\n defaultValue: \"xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the widget container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for activity content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for links and highlights\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the widget container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Styling Tab - Display Group\n {\n key: \"maxItemsToShow\",\n label: \"Max Items\",\n type: \"number\",\n description: \"Maximum number of activity items to display\",\n defaultValue: 5,\n tab: \"styling\",\n group: \"Display\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
@@ -7,6 +7,8 @@ let _fluid_app_portal_core_data_sources_context = require("@fluid-app/portal-cor
7
7
  let _fluid_app_portal_core_data_sources_preview_context = require("@fluid-app/portal-core/data-sources/preview-context");
8
8
  let _fortawesome_react_fontawesome = require("@fortawesome/react-fontawesome");
9
9
  let _fortawesome_pro_regular_svg_icons = require("@fortawesome/pro-regular-svg-icons");
10
+ let dompurify = require("dompurify");
11
+ dompurify = require_chunk.__toESM(dompurify);
10
12
  let _fluid_app_portal_core_registries = require("@fluid-app/portal-core/registries");
11
13
  //#region src/hooks/use-activities.preview.ts
12
14
  const now = /* @__PURE__ */ new Date();
@@ -195,7 +197,16 @@ function ActivityFeedItem({ activity, accentColor, textColor }) {
195
197
  children: activity.userName
196
198
  }),
197
199
  " ",
198
- activity.targetName
200
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: dompurify.default.sanitize(activity.targetName, {
201
+ ALLOWED_TAGS: [
202
+ "br",
203
+ "strong",
204
+ "em",
205
+ "b",
206
+ "i"
207
+ ],
208
+ ALLOWED_ATTR: []
209
+ }) } })
199
210
  ]
200
211
  })]
201
212
  })]
@@ -405,4 +416,4 @@ Object.defineProperty(exports, "recentActivityWidgetPropertySchema", {
405
416
  }
406
417
  });
407
418
 
408
- //# sourceMappingURL=RecentActivityWidget-RGChzfaD.cjs.map
419
+ //# sourceMappingURL=RecentActivityWidget-_3h0KmQP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecentActivityWidget-_3h0KmQP.cjs","names":["faCartShopping","faComment","faPlay","faUserPlus","faEye","faCalendar","faStar","faSquareCheck","faBell","faTrophy","faUser","FontAwesomeIcon","DOMPurify","ErrorState"],"sources":["../src/hooks/use-activities.preview.ts","../src/hooks/use-activities.ts","../src/widgets/RecentActivityWidget.tsx"],"sourcesContent":["import type { Activity } from \"./use-activities.types\";\n\nconst now = new Date();\n\nfunction minutesAgo(minutes: number): string {\n return new Date(now.getTime() - minutes * 60_000).toISOString();\n}\n\nexport const PREVIEW_DATA: Activity[] = [\n {\n id: 1,\n userName: \"Sarah Johnson\",\n avatarUrl: null,\n activityType: \"Order Placed\",\n targetName: \"Wellness Starter Kit\",\n timestamp: minutesAgo(12),\n slug: \"order_placed\",\n },\n {\n id: 2,\n userName: \"Mike Chen\",\n avatarUrl: null,\n activityType: \"New Lead\",\n targetName: \"Signed up from Instagram link\",\n timestamp: minutesAgo(45),\n slug: \"new_lead\",\n },\n {\n id: 3,\n userName: \"Visitor from Austin, TX\",\n avatarUrl: null,\n activityType: \"Page Views\",\n targetName: \"Viewed product catalog (3 pages)\",\n timestamp: minutesAgo(90),\n slug: \"page_views\",\n },\n {\n id: 4,\n userName: \"Lisa Park\",\n avatarUrl: null,\n activityType: \"Video Complete\",\n targetName: \"Watched: Getting Started Guide\",\n timestamp: minutesAgo(180),\n slug: \"video_complete\",\n },\n];\n","import { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/portal-core/data-sources/context\";\nimport { useWidgetPreviewContext } from \"@fluid-app/portal-core/data-sources/preview-context\";\nimport { PREVIEW_DATA } from \"./use-activities.preview\";\nimport type {\n Activity,\n ActivityContact,\n ActivityVisitor,\n ApiActivity,\n} from \"./use-activities.types\";\n\nexport type {\n ActivityContact,\n ActivityVisitor,\n ActivitySlug,\n ApiActivity,\n Activity,\n} from \"./use-activities.types\";\n\ntype PaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ApiResponse = [{ pagination: PaginationInfo }, { items: ApiActivity[] }];\n\nexport function useActivities(): UseQueryResult<Activity[], Error> {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"portal-widget-use\",\n \"activities\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<Activity[]> => {\n const url = baseUrl\n ? `${baseUrl}/v1.1/activities.json`\n : \"/v1.1/activities.json\";\n const response = await fetch(url, {\n headers: {\n \"content-type\": \"application/json\",\n ...getApiHeaders?.(),\n },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n\n const data: ApiResponse = await response.json();\n return transformActivities(data);\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n\n// Transform and format helpers\nfunction getUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: formatActivityType(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction formatActivityType(slug: string): string {\n return slug\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n}\n","import DOMPurify from \"dompurify\";\nimport { useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport {\n useActivities,\n type Activity,\n type ActivitySlug,\n} from \"../hooks/use-activities\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faBell,\n faCalendar,\n faSquareCheck,\n faEye,\n faComment,\n faPlay,\n faCartShopping,\n faStar,\n faTrophy,\n faUser,\n faUserPlus,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Format timestamp to time string\nconst formatTimestamp = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n};\n\n// Format date for grouping header\nconst formatDateHeader = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n });\n};\n\n// Get date string for grouping (without time)\nconst getDateKey = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toISOString().split(\"T\")[0] ?? timestamp;\n};\n\n// Group activities by date\nconst groupActivitiesByDate = (\n activities: Activity[],\n): Map<string, Activity[]> => {\n const grouped = new Map<string, Activity[]>();\n\n for (const activity of activities) {\n const dateKey = getDateKey(activity.timestamp);\n const existing = grouped.get(dateKey);\n if (existing) {\n existing.push(activity);\n } else {\n grouped.set(dateKey, [activity]);\n }\n }\n\n return grouped;\n};\n\n// Activity slug to icon mapping\nconst ACTIVITY_ICON_MAP: Record<ActivitySlug, IconDefinition> = {\n // Orders/Cart\n order_placed: faCartShopping,\n abandoned_cart: faCartShopping,\n cart_items_added: faCartShopping,\n new_cart_items_added: faCartShopping,\n // Messages\n direct_message: faComment,\n comment_reply: faComment,\n message_received: faComment,\n message_sent: faComment,\n // Video\n video: faPlay,\n video_complete: faPlay,\n video_contact: faPlay,\n video_complete_contact: faPlay,\n // Leads\n new_lead: faUserPlus,\n page_views_contact: faUserPlus,\n smart_link_clicked: faUserPlus,\n // Page Views\n page_views: faEye,\n // Events\n upcoming_event: faCalendar,\n // Reviews\n review_left: faStar,\n // Tasks\n tasks: faSquareCheck,\n // Announcements\n announcements: faBell,\n // Fantasy\n fantasy_point: faTrophy,\n};\n\nconst getActivityIcon = (slug: ActivitySlug) =>\n ACTIVITY_ICON_MAP[slug] ?? faUser;\n\n// Activity feed item component\ntype ActivityFeedItemProps = {\n activity: Activity;\n accentColor: ColorOptions;\n textColor: ColorOptions;\n};\n\nfunction ActivityFeedItem({\n activity,\n accentColor,\n textColor,\n}: ActivityFeedItemProps) {\n const icon = getActivityIcon(activity.slug);\n\n return (\n <div className=\"flex w-full items-start gap-1.5\">\n {/* Avatar */}\n <div className=\"shrink-0\">\n {activity.avatarUrl ? (\n <div className=\"relative size-8 overflow-hidden rounded-full\">\n <img\n src={activity.avatarUrl}\n alt={activity.userName}\n className=\"size-full object-cover\"\n />\n <div className=\"border-foreground/[0.08] absolute inset-0 rounded-full border\" />\n </div>\n ) : (\n <div\n className={`bg-muted flex size-8 items-center justify-center rounded-full`}\n >\n <FontAwesomeIcon\n icon={icon}\n className={`size-3.5 text-${textColor} opacity-60`}\n />\n </div>\n )}\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex w-full items-center gap-1.5\">\n <p\n className={`flex-1 text-base font-semibold text-${textColor} truncate`}\n >\n {activity.activityType}\n </p>\n <p className={`text-xs text-${textColor} shrink-0 opacity-50`}>\n {formatTimestamp(activity.timestamp)}\n </p>\n </div>\n <p className={`text-sm text-${textColor} opacity-80`}>\n <span className={`font-medium text-${accentColor}`}>\n {activity.userName}\n </span>{\" \"}\n <span\n dangerouslySetInnerHTML={{\n __html: DOMPurify.sanitize(activity.targetName, {\n ALLOWED_TAGS: [\"br\", \"strong\", \"em\", \"b\", \"i\"],\n ALLOWED_ATTR: [],\n }),\n }}\n />\n </p>\n </div>\n </div>\n );\n}\n\ntype RecentActivityWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Activity settings\n maxItemsToShow?: number;\n};\n\nexport function RecentActivityWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Recent Activity\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Activity defaults\n maxItemsToShow = 5,\n\n className,\n ...props\n}: RecentActivityWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n background.type === \"image\"\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const { data: activities = [], isLoading, isError } = useActivities();\n\n const groupedActivities = useMemo(\n () => groupActivitiesByDate(activities),\n [activities],\n );\n\n const totalCount = Math.min(activities.length, maxItemsToShow);\n\n // Get activities to display (limited by maxItemsToShow)\n const activitiesToShow = useMemo(() => {\n const result: { date: string; items: Activity[] }[] = [];\n let count = 0;\n\n for (const [dateKey, items] of groupedActivities) {\n if (count >= maxItemsToShow) break;\n\n const remainingSlots = maxItemsToShow - count;\n const itemsToAdd = items.slice(0, remainingSlots);\n\n if (itemsToAdd.length > 0) {\n result.push({\n date: formatDateHeader(items[0]?.timestamp ?? dateKey),\n items: itemsToAdd,\n });\n count += itemsToAdd.length;\n }\n }\n\n return result;\n }, [groupedActivities, maxItemsToShow]);\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} border-muted border ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className={`p-${padding} flex flex-col gap-2`}>\n {/* Header */}\n {titleEnabled && titleText && (\n <div className=\"flex w-full items-start gap-2\">\n <h2\n className={`flex-1 text-${titleFontSize} font-bold text-${titleColor}`}\n >\n {titleText}\n </h2>\n {!isLoading && (\n <span\n className={`text-4xl font-bold text-${textColor} leading-none`}\n >\n {totalCount.toString().padStart(2, \"0\")}\n </span>\n )}\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex min-h-[200px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n </div>\n ) : isError ? (\n /* Error state */\n <ErrorState />\n ) : activities.length === 0 ? (\n /* Empty state */\n <div className=\"flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <FontAwesomeIcon\n icon={faUser}\n className={`size-12 text-${textColor} opacity-30`}\n />\n <p\n className={`text-base font-semibold text-${textColor} opacity-50`}\n >\n No Activity To Report\n </p>\n <p className={`text-sm text-${textColor} opacity-40`}>\n You&apos;ll Do Great!\n </p>\n </div>\n ) : (\n /* Activity list */\n <div className=\"flex flex-col gap-4\">\n {activitiesToShow.map((group, groupIndex) => (\n <div key={groupIndex} className=\"flex flex-col gap-4\">\n {/* Date header */}\n <p className={`text-base font-semibold text-${textColor}`}>\n {group.date}\n </p>\n\n {/* Activity items */}\n <div className=\"flex flex-col gap-4\">\n {group.items.map((activity) => (\n <ActivityFeedItem\n key={activity.id}\n activity={activity}\n accentColor={accentColor}\n textColor={textColor}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport const recentActivityWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"RecentActivityWidget\",\n displayName: \"Recent Activity Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the activity feed\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the activity feed\",\n defaultValue: \"Recent Activity\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n key: \"titleFontSize\",\n label: \"Title Font Size\",\n description: \"Font size for the widget title\",\n defaultValue: \"xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the widget container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for activity content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for links and highlights\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the widget container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Styling Tab - Display Group\n {\n key: \"maxItemsToShow\",\n label: \"Max Items\",\n type: \"number\",\n description: \"Maximum number of activity items to display\",\n defaultValue: 5,\n tab: \"styling\",\n group: \"Display\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;;;;;AAEA,MAAM,sBAAM,IAAI,MAAM;AAEtB,SAAS,WAAW,SAAyB;AAC3C,yBAAO,IAAI,KAAK,IAAI,SAAS,GAAG,UAAU,IAAO,EAAC,aAAa;;AAGjE,MAAa,eAA2B;CACtC;EACE,IAAI;EACJ,UAAU;EACV,WAAW;EACX,cAAc;EACd,YAAY;EACZ,WAAW,WAAW,GAAG;EACzB,MAAM;EACP;CACD;EACE,IAAI;EACJ,UAAU;EACV,WAAW;EACX,cAAc;EACd,YAAY;EACZ,WAAW,WAAW,GAAG;EACzB,MAAM;EACP;CACD;EACE,IAAI;EACJ,UAAU;EACV,WAAW;EACX,cAAc;EACd,YAAY;EACZ,WAAW,WAAW,GAAG;EACzB,MAAM;EACP;CACD;EACE,IAAI;EACJ,UAAU;EACV,WAAW;EACX,cAAc;EACd,YAAY;EACZ,WAAW,WAAW,IAAI;EAC1B,MAAM;EACP;CACF;;;ACfD,SAAgB,gBAAmD;CACjE,MAAM,EAAE,SAAS,mBAAA,GAAA,4CAAA,sBAAuC;CACxD,MAAM,EAAE,eAAA,GAAA,oDAAA,0BAAuC;AAE/C,SAAA,GAAA,sBAAA,UAAgB;EACd,UAAU;GACR;GACA;GACA,YAAY,YAAY;GACzB;EACD,SAAS,OAAO,EAAE,aAAkC;GAClD,MAAM,MAAM,UACR,GAAG,QAAQ,yBACX;GACJ,MAAM,WAAW,MAAM,MAAM,KAAK;IAChC,SAAS;KACP,gBAAgB;KAChB,GAAG,iBAAiB;KACrB;IACD;IACD,CAAC;AAEF,OAAI,CAAC,SAAS,GACZ,OAAM,IAAI,MAAM,+BAA+B,SAAS,SAAS;AAInE,UAAO,oBADmB,MAAM,SAAS,MAAM,CACf;;EAElC,SAAS,CAAC;EACV,GAAI,aAAa,EAAE,iBAAiB,cAAc;EACnD,CAAC;;AAIJ,SAAS,YACP,SACA,SACQ;AACR,KAAI,SAAS,UACX,QAAO,QAAQ;AAEjB,KAAI,SAAS,cAAc,SAAS,UAClC,QAAO,GAAG,QAAQ,WAAW,GAAG,QAAQ;AAE1C,KAAI,SAAS,QAAQ,SAAS,MAC5B,QAAO,gBAAgB,QAAQ,KAAK,IAAI,QAAQ;AAElD,QAAO;;AAGT,SAAS,oBAAoB,SAAkC;CAC7D,MAAM,WAAW,QAAQ;AACzB,KAAI,CAAC,UAAU,MAAO,QAAO,EAAE;AAE/B,QAAO,SAAS,MACb,KAAK,cAAc;EAClB,IAAI,SAAS;EACb,UAAU,YAAY,SAAS,SAAS,SAAS,QAAQ;EACzD,WAAW,SAAS,SAAS,cAAc;EAC3C,cAAc,mBAAmB,SAAS,KAAK;EAC/C,YAAY,SAAS,eAAe,SAAS;EAC7C,WAAW,SAAS;EACpB,MAAM,SAAS;EAChB,EAAE,CACF,MACE,GAAG,MACF,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,CACpE;;AAGL,SAAS,mBAAmB,MAAsB;AAChD,QAAO,KACJ,MAAM,IAAI,CACV,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CAC3D,KAAK,IAAI;;;;;;;;ACjEd,MAAM,mBAAmB,cAA8B;AAErD,QADa,IAAI,KAAK,UAAU,CACpB,mBAAmB,SAAS;EACtC,MAAM;EACN,QAAQ;EACR,QAAQ;EACT,CAAC;;AAIJ,MAAM,oBAAoB,cAA8B;AAEtD,QADa,IAAI,KAAK,UAAU,CACpB,mBAAmB,SAAS;EACtC,OAAO;EACP,KAAK;EACN,CAAC;;AAIJ,MAAM,cAAc,cAA8B;AAEhD,QADa,IAAI,KAAK,UAAU,CACpB,aAAa,CAAC,MAAM,IAAI,CAAC,MAAM;;AAI7C,MAAM,yBACJ,eAC4B;CAC5B,MAAM,0BAAU,IAAI,KAAyB;AAE7C,MAAK,MAAM,YAAY,YAAY;EACjC,MAAM,UAAU,WAAW,SAAS,UAAU;EAC9C,MAAM,WAAW,QAAQ,IAAI,QAAQ;AACrC,MAAI,SACF,UAAS,KAAK,SAAS;MAEvB,SAAQ,IAAI,SAAS,CAAC,SAAS,CAAC;;AAIpC,QAAO;;AAIT,MAAM,oBAA0D;CAE9D,cAAcA,mCAAAA;CACd,gBAAgBA,mCAAAA;CAChB,kBAAkBA,mCAAAA;CAClB,sBAAsBA,mCAAAA;CAEtB,gBAAgBC,mCAAAA;CAChB,eAAeA,mCAAAA;CACf,kBAAkBA,mCAAAA;CAClB,cAAcA,mCAAAA;CAEd,OAAOC,mCAAAA;CACP,gBAAgBA,mCAAAA;CAChB,eAAeA,mCAAAA;CACf,wBAAwBA,mCAAAA;CAExB,UAAUC,mCAAAA;CACV,oBAAoBA,mCAAAA;CACpB,oBAAoBA,mCAAAA;CAEpB,YAAYC,mCAAAA;CAEZ,gBAAgBC,mCAAAA;CAEhB,aAAaC,mCAAAA;CAEb,OAAOC,mCAAAA;CAEP,eAAeC,mCAAAA;CAEf,eAAeC,mCAAAA;CAChB;AAED,MAAM,mBAAmB,SACvB,kBAAkB,SAASC,mCAAAA;AAS7B,SAAS,iBAAiB,EACxB,UACA,aACA,aACwB;CACxB,MAAM,OAAO,gBAAgB,SAAS,KAAK;AAE3C,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf,CAEE,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAU;aACZ,SAAS,YACR,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAU;cAAf,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;KACE,KAAK,SAAS;KACd,KAAK,SAAS;KACd,WAAU;KACV,CAAA,EACF,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAK,WAAU,iEAAkE,CAAA,CAC7E;QAEN,iBAAA,GAAA,kBAAA,KAAC,OAAD;IACE,WAAW;cAEX,iBAAA,GAAA,kBAAA,KAACC,+BAAAA,iBAAD;KACQ;KACN,WAAW,iBAAiB,UAAU;KACtC,CAAA;IACE,CAAA;GAEJ,CAAA,EAGN,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,WAAU;aAAf,CACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAU;cAAf,CACE,iBAAA,GAAA,kBAAA,KAAC,KAAD;KACE,WAAW,uCAAuC,UAAU;eAE3D,SAAS;KACR,CAAA,EACJ,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAW,gBAAgB,UAAU;eACrC,gBAAgB,SAAS,UAAU;KAClC,CAAA,CACA;OACN,iBAAA,GAAA,kBAAA,MAAC,KAAD;IAAG,WAAW,gBAAgB,UAAU;cAAxC;KACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;MAAM,WAAW,oBAAoB;gBAClC,SAAS;MACL,CAAA;KAAC;KACR,iBAAA,GAAA,kBAAA,KAAC,QAAD,EACE,yBAAyB,EACvB,QAAQC,UAAAA,QAAU,SAAS,SAAS,YAAY;MAC9C,cAAc;OAAC;OAAM;OAAU;OAAM;OAAK;OAAI;MAC9C,cAAc,EAAE;MACjB,CAAC,EACH,EACD,CAAA;KACA;MACA;KACF;;;AAsBV,SAAgB,qBAAqB,EAEnC,eAAe,MACf,YAAY,mBACZ,gBAAgB,MAChB,aAAa,cAGb,aAAa;CACX,MAAM;CACN,OAAO;CACR,EACD,YAAY,cACZ,cAAc,WACd,UAAU,GACV,eAAe,MAGf,iBAAiB,GAEjB,WACA,GAAG,SAC4C;CAC/C,MAAM,kBAAkB,WAAW,SAAS;CAC5C,MAAM,mBACH,WAAW,UAAU,aAAa,WAAW,UAAU,aACxD,WAAW,SAAS,UAChB,OAAO,WAAW,SAAS,aAAa,WAAW,SAAS,SAAS,KACrE;CACN,MAAM,EAAE,MAAM,aAAa,EAAE,EAAE,WAAW,YAAY,eAAe;CAErE,MAAM,qBAAA,GAAA,MAAA,eACE,sBAAsB,WAAW,EACvC,CAAC,WAAW,CACb;CAED,MAAM,aAAa,KAAK,IAAI,WAAW,QAAQ,eAAe;CAG9D,MAAM,oBAAA,GAAA,MAAA,eAAiC;EACrC,MAAM,SAAgD,EAAE;EACxD,IAAI,QAAQ;AAEZ,OAAK,MAAM,CAAC,SAAS,UAAU,mBAAmB;AAChD,OAAI,SAAS,eAAgB;GAE7B,MAAM,iBAAiB,iBAAiB;GACxC,MAAM,aAAa,MAAM,MAAM,GAAG,eAAe;AAEjD,OAAI,WAAW,SAAS,GAAG;AACzB,WAAO,KAAK;KACV,MAAM,iBAAiB,MAAM,IAAI,aAAa,QAAQ;KACtD,OAAO;KACR,CAAC;AACF,aAAS,WAAW;;;AAIxB,SAAO;IACN,CAAC,mBAAmB,eAAe,CAAC;AAEvC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,WAAW,sCAAsC,aAAa,MAAM,gBAAgB,QAAQ,UAAU,uBAAuB;EAC7H,OAAO,EAAE,iBAAiB;EAC1B,GAAI;YAEJ,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,WAAW,KAAK,QAAQ;aAA7B,CAEG,gBAAgB,aACf,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAU;cAAf,CACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;KACE,WAAW,eAAe,cAAc,kBAAkB;eAEzD;KACE,CAAA,EACJ,CAAC,aACA,iBAAA,GAAA,kBAAA,KAAC,QAAD;KACE,WAAW,2BAA2B,UAAU;eAE/C,WAAW,UAAU,CAAC,SAAS,GAAG,IAAI;KAClC,CAAA,CAEL;OAIP,YACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAU;cACb,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;IAC9F,CAAA,GACJ,UAEF,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,YAAD,EAAc,CAAA,GACZ,WAAW,WAAW,IAExB,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAU;cAAf;KACE,iBAAA,GAAA,kBAAA,KAACF,+BAAAA,iBAAD;MACE,MAAMD,mCAAAA;MACN,WAAW,gBAAgB,UAAU;MACrC,CAAA;KACF,iBAAA,GAAA,kBAAA,KAAC,KAAD;MACE,WAAW,gCAAgC,UAAU;gBACtD;MAEG,CAAA;KACJ,iBAAA,GAAA,kBAAA,KAAC,KAAD;MAAG,WAAW,gBAAgB,UAAU;gBAAc;MAElD,CAAA;KACA;QAGN,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAU;cACZ,iBAAiB,KAAK,OAAO,eAC5B,iBAAA,GAAA,kBAAA,MAAC,OAAD;KAAsB,WAAU;eAAhC,CAEE,iBAAA,GAAA,kBAAA,KAAC,KAAD;MAAG,WAAW,gCAAgC;gBAC3C,MAAM;MACL,CAAA,EAGJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBACZ,MAAM,MAAM,KAAK,aAChB,iBAAA,GAAA,kBAAA,KAAC,kBAAD;OAEY;OACG;OACF;OACX,EAJK,SAAS,GAId,CACF;MACE,CAAA,CACF;OAjBI,WAiBJ,CACN;IACE,CAAA,CAEJ;;EACF,CAAA;;AAIV,MAAa,qCAA2D;CACtE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;0DACgB;GACf,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;EAGF;GACE,MAAM;GACN,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;uDACa;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,MAAM;GACN,OAAO;GACP,KAAK;GACL,OAAO;GACR;yDACe;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;8DACmB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EAGF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACF;CACF"}
@@ -14,7 +14,7 @@ const require_ListWidget = require("../ListWidget-DPVLRWoB.cjs");
14
14
  const require_MySiteWidget = require("../MySiteWidget-1xqN0Bcg.cjs");
15
15
  const require_NestedWidget = require("../NestedWidget-DszMmpt7.cjs");
16
16
  const require_QuickShareWidget = require("../QuickShareWidget-Dg2OcMYg.cjs");
17
- const require_RecentActivityWidget = require("../RecentActivityWidget-RGChzfaD.cjs");
17
+ const require_RecentActivityWidget = require("../RecentActivityWidget-_3h0KmQP.cjs");
18
18
  const require_SpacerWidget = require("../SpacerWidget-BdVf_Yqm.cjs");
19
19
  const require_TableWidget = require("../TableWidget-BQNVZUkg.cjs");
20
20
  const require_ToDoWidget = require("../ToDoWidget-D5BFKUrZ.cjs");
@@ -35,7 +35,7 @@ const widgetPropertySchemas = {
35
35
  MySiteWidget: () => Promise.resolve().then(() => require("../MySiteWidget-1xqN0Bcg.cjs")).then((n) => n.MySiteWidget_exports).then((m) => m.mySiteWidgetPropertySchema),
36
36
  NestedWidget: () => Promise.resolve().then(() => require("../NestedWidget-DjZYPLc7.cjs")).then((m) => m.nestedWidgetPropertySchema),
37
37
  QuickShareWidget: () => Promise.resolve().then(() => require("../QuickShareWidget-Dg2OcMYg.cjs")).then((n) => n.QuickShareWidget_exports).then((m) => m.quickShareWidgetPropertySchema),
38
- RecentActivityWidget: () => Promise.resolve().then(() => require("../RecentActivityWidget-RGChzfaD.cjs")).then((n) => n.RecentActivityWidget_exports).then((m) => m.recentActivityWidgetPropertySchema),
38
+ RecentActivityWidget: () => Promise.resolve().then(() => require("../RecentActivityWidget-_3h0KmQP.cjs")).then((n) => n.RecentActivityWidget_exports).then((m) => m.recentActivityWidgetPropertySchema),
39
39
  SpacerWidget: () => Promise.resolve().then(() => require("../SpacerWidget-BdVf_Yqm.cjs")).then((n) => n.SpacerWidget_exports).then((m) => m.spacerWidgetPropertySchema),
40
40
  TableWidget: () => Promise.resolve().then(() => require("../TableWidget-amUotAZN.cjs")).then((m) => m.tableWidgetPropertySchema),
41
41
  TextWidget: () => Promise.resolve().then(() => require("../TextWidget-D6Ug_2Z1.cjs")).then((n) => n.TextWidget_exports).then((m) => m.textWidgetPropertySchema),
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":";;;;;;KAiBK,eAAA,GAAkB,cAAA;EAErB,YAAA;EACA,KAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,WAAA;EACA,mBAAA,GAAsB,eAAA;EACtB,gBAAA,GAAmB,YAAA;EAGnB,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;AAAA;AAAA,iBAGD,UAAA,CAAA;EACd,YAAA;EACA,KAAA;EACA,aAAA;EACA,UAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,UAAA;EAIA,OAAA;EACA,YAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAkB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAyBlB,wBAAA,EAA0B,oBAAA;;;;;AA7DhC;iBCPS,WAAA,CACd,KAAA,EAAO,cAAA,QAAsB,UAAA,IAC5B,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAIA,yBAAA,EAA2B,oBAAA;;;KC4KnC,mBAAA,GAAsB,cAAA;EAEzB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,UAAA,GAAa,eAAA;EACb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;AAAA;AAAA,iBAGD,cAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAGA,UAAA;EAIA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,mBAAA,GAAsB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAyNtB,4BAAA,EAA8B,oBAAA;;;KCpZtC,aAAA;EACH,EAAA;EACA,OAAA,EAAS,YAAA;EACT,KAAA;EACA,WAAA;EACA,aAAA;EACA,UAAA;EACA,aAAA;EAOA,UAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,cAAA;EACzB,MAAA,GAAS,aAAA;EACT,kBAAA;EACA,gBAAA;EAGA,KAAA,GAAQ,YAAA;EACR,cAAA;EACA,YAAA,GAAe,mBAAA;EACf,OAAA,GAAU,cAAA;EAGV,UAAA,GAAa,eAAA;EACb,WAAA,GAAc,YAAA;EACd,QAAA,GAAW,eAAA;EACX,SAAA,GAAY,YAAA;EACZ,SAAA;EAGA,UAAA;EACA,WAAA,GAAc,YAAA;EACd,UAAA,GAAa,iBAAA;EAGb,cAAA;EACA,WAAA;EACA,gBAAA;AAAA;AAAA,iBAGc,cAAA,CAAA;EACd,MAAA;EACA,kBAAA;EACA,gBAAA;EACA,cAAA;EACA,KAAA;EACA,gBAAA;EACA,YAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,mBAAA,GAAsB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAsPtB,4BAAA,EAA8B,oBAAA;;;KC3TtC,kBAAA,GAAqB,cAAA;EAExB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAEb,UAAA,GAAa,eAAA;EACb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAEf,QAAA;AAAA;AAAA,iBAGc,aAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAEA,UAAA;EAIA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAEA,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,kBAAA,GAAqB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAuFrB,2BAAA,EAA6B,oBAAA;;;KClHrC,cAAA,GAAiB,MAAA;AAAA,KAEjB,gBAAA,GAAmB,cAAA;EAEtB,YAAA;EACA,KAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,WAAA;EACA,mBAAA,GAAsB,eAAA;EACtB,gBAAA,GAAmB,YAAA;EAGnB,SAAA;EACA,UAAA;EACA,WAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,OAAA;EACA,QAAA;EAEA,IAAA,GAAO,cAAA;EAEP,WAAA,GAAc,MAAA;IAAiB,KAAA;IAAe,KAAA;EAAA;AAAA;AAAA,iBA6BhC,WAAA,CAAA;EACd,YAAA;EACA,KAAA;EACA,aAAA;EACA,UAAA;EAEA,WAAA;EACA,mBAAA;EACA,gBAAA;EAEA,SAAA;EACA,UAAA;EACA,WAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA;EAIA,OAAA;EACA,YAAA;EAEA,OAAA;EACA,QAAA;EACA,IAAA;EACA,WAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAmB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAwInB,yBAAA,EAA2B,oBAAA;;;KC1OnC,WAAA,WAEO,MAAA,SAAe,aAAA,SAAsB,MAAA,SAG7C,aAAA;EAIF,aAAA,GAAgB,iBAAA;EAGhB,IAAA;EACA,OAAA;EACA,IAAA;EACA,SAAA;EACA,OAAA;EACA,KAAA;EACA,IAAA;EAGA,GAAA;EACA,OAAA,GAAU,UAAA;EAGV,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,QAAA,GAAW,iBAAA,CAAkB,CAAA,eAAgB,YAAA;EAG7C,QAAA,GAAW,CAAA;EAGX,SAAA;EACA,SAAA;AAAA;AAAA,cAIW,YAAA,aAA0B,MAAA,SAAe,aAAA;EACpD,aAAA;EACA,GAAA;EACA,OAAA;EACA,UAAA;EACA,OAAA;EACA,YAAA;EACA,QAAA;EACA,QAAA;EACA,SAAA;EACA;AAAA,GACC,WAAA,CAAY,CAAA,MAAK,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAwEjB,0BAAA,EAA4B,oBAAA;;;;;AN3IlC;;;;;;KOAF,oBAAA,GAAuB,cAAA,QAAsB,YAAA;AAAA,iBAElC,eAAA,CACd,KAAA,EAAO,oBAAA,GACN,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAKA,6BAAA,EAA+B,oBAAA;;;KCbvC,gBAAA,GAAmB,cAAA;EACtB,GAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA;EACA,eAAA;EACA,OAAA;EACA,YAAA,GAAe,mBAAA;EACf,QAAA;EACA,UAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EACd,GAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA;EACA,eAAA;EACA,OAAA;EACA,YAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAmB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cA+EnB,yBAAA,EAA2B,oBAAA;;;KCrGnC,gBAAA,GAAmB,cAAA;EACtB,GAAA;EACA,GAAA;EACA,YAAA,GAAe,mBAAA;EACf,cAAA;EACA,WAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA;EACA,QAAA,GAAW,aAAA;EACX,YAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EACd,GAAA;EACA,GAAA;EACA,YAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA;EACA,QAAA;EACA;AAAA,GACC,gBAAA,GAAmB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAgCnB,yBAAA,EAA2B,oBAAA;;;KC7CnC,QAAA;EACH,EAAA;EACA,KAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;EACA,WAAA;EACA,KAAA;EACA,aAAA;EACA,QAAA;EACA,EAAA;EACA,EAAA;EAAA;;KAIG,gBAAA;AAAA,KACA,QAAA;AAAA,KACA,UAAA;AAAA,KAEA,eAAA,GAAkB,cAAA;EAErB,QAAA,GAAW,QAAA;EACX,UAAA,GAAa,UAAA;EACb,YAAA;EACA,KAAA;EACA,KAAA,GAAQ,QAAA;EAGR,UAAA,GAAa,YAAA;EACb,SAAA,GAAY,eAAA;EACZ,cAAA,GAAiB,YAAA;EACjB,aAAA,GAAgB,eAAA;EAChB,gBAAA,GAAmB,YAAA;EACnB,eAAA,GAAkB,eAAA;EAClB,UAAA,GAAa,YAAA;EACb,SAAA,GAAY,eAAA;EACZ,kBAAA,GAAqB,YAAA;EACrB,aAAA,GAAgB,YAAA;EAChB,YAAA,GAAe,eAAA;EAGf,WAAA,GAAc,YAAA;EACd,UAAA,GAAa,eAAA;EAGb,YAAA,GAAe,mBAAA;EACf,OAAA,GAAU,cAAA;EACV,GAAA,GAAM,UAAA;EACN,OAAA;EACA,gBAAA,GAAmB,gBAAA;EACnB,UAAA,GAAa,eAAA;EAGb,SAAA;EACA,YAAA;EACA,QAAA;EAGA,mBAAA;EACA,aAAA;IAAA;;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,qBAAA,GAAwB,YAAA;EACxB,oBAAA,GAAuB,eAAA;AAAA;AAAA,iBAsCT,UAAA,CAAA;EACd,QAAA;EACA,UAAA;EACA,YAAA;EACA,KAAA;EACA,KAAA;EACA,UAAA;EACA,SAAA;EACA,cAAA;EACA,aAAA;EACA,gBAAA;EACA,eAAA;EACA,UAAA;EACA,SAAA;EACA,kBAAA;EACA,aAAA;EACA,YAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA;EACA,OAAA;EACA,GAAA;EACA,OAAA;EACA,gBAAA;EACA,UAAA;EACA,SAAA;EACA,YAAA;EACA,QAAA;EACA,mBAAA;EACA,aAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,qBAAA;EACA,oBAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAkB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAsGlB,wBAAA,EAA0B,oBAAA;;;KCxPlC,iBAAA,GAAoB,cAAA;EAEvB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,UAAA,GAAa,eAAA;EACb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,WAAA;EACA,aAAA;AAAA;AAAA,iBAGc,YAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAGA,UAAA;EAIA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAGA,WAAA;EACA,aAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,iBAAA,GAAoB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAmHpB,0BAAA,EAA4B,oBAAA;;;KC/IpC,iBAAA,GAAoB,cAAA;EAEvB,QAAA,GAAW,aAAA;EACX,YAAA;EACA,SAAA;EACA,UAAA,GAAa,aAAA;EAGb,GAAA,GAAM,UAAA;EACN,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EACf,kBAAA;EAGA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EACb,cAAA,GAAiB,YAAA;EAGjB,eAAA,GAAkB,YAAA;EAClB,UAAA,GAAa,eAAA;EAGb,cAAA;EACA,WAAA;EACA,gBAAA;AAAA;AAAA,iBAGc,YAAA,CAAA;EACd,QAAA;EACA,YAAA;EACA,SAAA;EACA,UAAA;EACA,GAAA;EACA,OAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,UAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EAIA,cAAA;EACA,WAAA;EACA,gBAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,iBAAA,GAAoB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAkNpB,0BAAA,EAA4B,oBAAA;;;KC7QpC,qBAAA,GAAwB,cAAA;EAE3B,iBAAA,GAAoB,aAAA;EAGpB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,cAAA;EACA,WAAA;EACA,gBAAA;EAGA,aAAA;AAAA;AAAA,iBAGc,gBAAA,CAAA;EAEd,iBAAA;EAGA,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAEA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAGA,cAAA;EACA,WAAA;EACA,gBAAA;EAGA,aAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,qBAAA,GAAwB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAiIxB,8BAAA,EAAgC,oBAAA;;;KCrBxC,yBAAA,GAA4B,cAAA;EAE/B,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,UAAA,GAAa,eAAA;EACb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,cAAA;AAAA;AAAA,iBAGc,oBAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAGA,UAAA;EAIA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAGA,cAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,yBAAA,GAA4B,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAsH5B,kCAAA,EAAoC,oBAAA;;;KC3U5C,iBAAA,GAAoB,cAAA;;;AfMlB;EeFL,YAAA;;;;EAIA,WAAA;AAAA;AAAA,iBAGc,YAAA,CAAA;EACd,YAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,iBAAA,GAAoB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cAkBpB,0BAAA,EAA4B,oBAAA;;;KCiDpC,gBAAA,GAAmB,cAAA;EAEtB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,UAAA,GAAa,eAAA;EACb,uBAAA;EACA,SAAA,GAAY,YAAA;EACZ,qBAAA,GAAwB,YAAA;EACxB,eAAA,GAAkB,YAAA;EAClB,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,IAAA,GAAO,aAAA;EAGP,aAAA;EACA,cAAA;EACA,iBAAA;EACA,cAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAGA,UAAA;EAIA,uBAAA;EACA,SAAA;EACA,qBAAA;EACA,eAAA;EACA,OAAA;EACA,YAAA;EAGA,IAAA;EAGA,aAAA;EACA,cAAA;EACA,iBAAA;EACA,cAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAmB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cA0SnB,yBAAA,EAA2B,oBAAA;;;KC1anC,eAAA,GAAkB,cAAA;EAErB,YAAA;EACA,SAAA;EACA,aAAA,GAAgB,eAAA;EAChB,UAAA,GAAa,YAAA;EAGb,UAAA,GAAa,eAAA;EACb,SAAA,GAAY,YAAA;EACZ,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,cAAA;EACV,YAAA,GAAe,mBAAA;EAGf,QAAA;AAAA;AAAA,iBAGc,UAAA,CAAA;EAEd,YAAA;EACA,SAAA;EACA,aAAA;EACA,UAAA;EAGA,UAAA;EAIA,SAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA;EAGA,QAAA;EAEA,SAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAkB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cA+GlB,wBAAA,EAA0B,oBAAA;;;KC/JlC,gBAAA,GAAmB,cAAA;EACtB,GAAA;EACA,MAAA;EACA,YAAA,GAAe,mBAAA;EACf,cAAA;EACA,WAAA;EACA,UAAA;EACA,UAAA;EACA,QAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA,GAAW,aAAA;EACX,YAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EACd,GAAA;EACA,MAAA;EACA,YAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,UAAA;EACA,QAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA;EACA;AAAA,GACC,gBAAA,GAAmB,KAAA,CAAM,GAAA,CAAI,OAAA;AAAA,cA4BnB,yBAAA,EAA2B,oBAAA;;;cCnC3B,qBAAA;EACX,WAAA,QAAiB,OAAA,CAAQ,oBAAA;EAEzB,cAAA,QAAoB,OAAA,CAAQ,oBAAA;EAE5B,cAAA,QAAoB,OAAA,CAAQ,oBAAA;EAE5B,aAAA,QAAmB,OAAA,CAAQ,oBAAA;EAE3B,WAAA,QAAiB,OAAA,CAAQ,oBAAA;EAEzB,eAAA,QAAqB,OAAA,CAAQ,oBAAA;EAE7B,WAAA,QAAiB,OAAA,CAAQ,oBAAA;EAEzB,WAAA,QAAiB,OAAA,CAAQ,oBAAA;EAEzB,YAAA,QAAkB,OAAA,CAAQ,oBAAA;EAE1B,UAAA,QAAgB,OAAA,CAAQ,oBAAA;EAExB,YAAA,QAAkB,OAAA,CAAQ,oBAAA;EAE1B,YAAA,QAAkB,OAAA,CAAQ,oBAAA;EAE1B,gBAAA,QAAsB,OAAA,CAAQ,oBAAA;EAE9B,oBAAA,QAA0B,OAAA,CAAQ,oBAAA;EAIlC,YAAA,QAAkB,OAAA,CAAQ,oBAAA;EAE1B,WAAA,QAAiB,OAAA,CAAQ,oBAAA;EAEzB,UAAA,QAAgB,OAAA,CAAQ,oBAAA;EAExB,UAAA,QAAgB,OAAA,CAAQ,oBAAA;EAExB,WAAA,QAAiB,OAAA,CAAQ,oBAAA;AAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { r as listWidgetPropertySchema, t as ListWidget } from "../ListWidget-Dd
13
13
  import { r as mySiteWidgetPropertySchema, t as MySiteWidget } from "../MySiteWidget-CX_jY14-.mjs";
14
14
  import { r as nestedWidgetPropertySchema, t as NestedWidget } from "../NestedWidget-DoevHJKG.mjs";
15
15
  import { r as quickShareWidgetPropertySchema, t as QuickShareWidget } from "../QuickShareWidget-CdvP1eRx.mjs";
16
- import { r as recentActivityWidgetPropertySchema, t as RecentActivityWidget } from "../RecentActivityWidget-Cj-vLOGu.mjs";
16
+ import { r as recentActivityWidgetPropertySchema, t as RecentActivityWidget } from "../RecentActivityWidget-YD-2z7oN.mjs";
17
17
  import { r as spacerWidgetPropertySchema, t as SpacerWidget } from "../SpacerWidget-DxR5K3hp.mjs";
18
18
  import { r as tableWidgetPropertySchema, t as TableWidget } from "../TableWidget-bpvdvJHI.mjs";
19
19
  import { r as toDoWidgetPropertySchema, t as ToDoWidget } from "../ToDoWidget-4EZIWq_Z.mjs";
@@ -33,7 +33,7 @@ const widgetPropertySchemas = {
33
33
  MySiteWidget: () => import("../MySiteWidget-CX_jY14-.mjs").then((n) => n.n).then((m) => m.mySiteWidgetPropertySchema),
34
34
  NestedWidget: () => import("../NestedWidget-DoevHJKG.mjs").then((n) => n.n).then((m) => m.nestedWidgetPropertySchema),
35
35
  QuickShareWidget: () => import("../QuickShareWidget-CdvP1eRx.mjs").then((n) => n.n).then((m) => m.quickShareWidgetPropertySchema),
36
- RecentActivityWidget: () => import("../RecentActivityWidget-Cj-vLOGu.mjs").then((n) => n.n).then((m) => m.recentActivityWidgetPropertySchema),
36
+ RecentActivityWidget: () => import("../RecentActivityWidget-YD-2z7oN.mjs").then((n) => n.n).then((m) => m.recentActivityWidgetPropertySchema),
37
37
  SpacerWidget: () => import("../SpacerWidget-DxR5K3hp.mjs").then((n) => n.n).then((m) => m.spacerWidgetPropertySchema),
38
38
  TableWidget: () => import("../TableWidget-bpvdvJHI.mjs").then((n) => n.n).then((m) => m.tableWidgetPropertySchema),
39
39
  TextWidget: () => import("../TextWidget-CL2H3vei.mjs").then((n) => n.n).then((m) => m.textWidgetPropertySchema),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-app/portal-widgets",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "description": "Widget components for the Fluid portal platform",
5
5
  "files": [
6
6
  "dist",
@@ -79,8 +79,8 @@
79
79
  "tailwind-merge": "^3.0.2",
80
80
  "tailwindcss": "^4.1.8",
81
81
  "tw-animate-css": "^1.4.0",
82
- "@fluid-app/portal-core": "0.1.19",
83
- "@fluid-app/ui-primitives": "0.1.11"
82
+ "@fluid-app/ui-primitives": "0.1.10",
83
+ "@fluid-app/portal-core": "0.1.18"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@tanstack/react-query": "^5.90.11",
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecentActivityWidget-Cj-vLOGu.mjs","names":[],"sources":["../src/hooks/use-activities.preview.ts","../src/hooks/use-activities.ts","../src/widgets/RecentActivityWidget.tsx"],"sourcesContent":["import type { Activity } from \"./use-activities.types\";\n\nconst now = new Date();\n\nfunction minutesAgo(minutes: number): string {\n return new Date(now.getTime() - minutes * 60_000).toISOString();\n}\n\nexport const PREVIEW_DATA: Activity[] = [\n {\n id: 1,\n userName: \"Sarah Johnson\",\n avatarUrl: null,\n activityType: \"Order Placed\",\n targetName: \"Wellness Starter Kit\",\n timestamp: minutesAgo(12),\n slug: \"order_placed\",\n },\n {\n id: 2,\n userName: \"Mike Chen\",\n avatarUrl: null,\n activityType: \"New Lead\",\n targetName: \"Signed up from Instagram link\",\n timestamp: minutesAgo(45),\n slug: \"new_lead\",\n },\n {\n id: 3,\n userName: \"Visitor from Austin, TX\",\n avatarUrl: null,\n activityType: \"Page Views\",\n targetName: \"Viewed product catalog (3 pages)\",\n timestamp: minutesAgo(90),\n slug: \"page_views\",\n },\n {\n id: 4,\n userName: \"Lisa Park\",\n avatarUrl: null,\n activityType: \"Video Complete\",\n targetName: \"Watched: Getting Started Guide\",\n timestamp: minutesAgo(180),\n slug: \"video_complete\",\n },\n];\n","import { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/portal-core/data-sources/context\";\nimport { useWidgetPreviewContext } from \"@fluid-app/portal-core/data-sources/preview-context\";\nimport { PREVIEW_DATA } from \"./use-activities.preview\";\nimport type {\n Activity,\n ActivityContact,\n ActivityVisitor,\n ApiActivity,\n} from \"./use-activities.types\";\n\nexport type {\n ActivityContact,\n ActivityVisitor,\n ActivitySlug,\n ApiActivity,\n Activity,\n} from \"./use-activities.types\";\n\ntype PaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ApiResponse = [{ pagination: PaginationInfo }, { items: ApiActivity[] }];\n\nexport function useActivities(): UseQueryResult<Activity[], Error> {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"portal-widget-use\",\n \"activities\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<Activity[]> => {\n const url = baseUrl\n ? `${baseUrl}/v1.1/activities.json`\n : \"/v1.1/activities.json\";\n const response = await fetch(url, {\n headers: {\n \"content-type\": \"application/json\",\n ...getApiHeaders?.(),\n },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n\n const data: ApiResponse = await response.json();\n return transformActivities(data);\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n\n// Transform and format helpers\nfunction getUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: formatActivityType(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction formatActivityType(slug: string): string {\n return slug\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n}\n","import { useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport {\n useActivities,\n type Activity,\n type ActivitySlug,\n} from \"../hooks/use-activities\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faBell,\n faCalendar,\n faSquareCheck,\n faEye,\n faComment,\n faPlay,\n faCartShopping,\n faStar,\n faTrophy,\n faUser,\n faUserPlus,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Format timestamp to time string\nconst formatTimestamp = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n};\n\n// Format date for grouping header\nconst formatDateHeader = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n });\n};\n\n// Get date string for grouping (without time)\nconst getDateKey = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toISOString().split(\"T\")[0] ?? timestamp;\n};\n\n// Group activities by date\nconst groupActivitiesByDate = (\n activities: Activity[],\n): Map<string, Activity[]> => {\n const grouped = new Map<string, Activity[]>();\n\n for (const activity of activities) {\n const dateKey = getDateKey(activity.timestamp);\n const existing = grouped.get(dateKey);\n if (existing) {\n existing.push(activity);\n } else {\n grouped.set(dateKey, [activity]);\n }\n }\n\n return grouped;\n};\n\n// Activity slug to icon mapping\nconst ACTIVITY_ICON_MAP: Record<ActivitySlug, IconDefinition> = {\n // Orders/Cart\n order_placed: faCartShopping,\n abandoned_cart: faCartShopping,\n cart_items_added: faCartShopping,\n new_cart_items_added: faCartShopping,\n // Messages\n direct_message: faComment,\n comment_reply: faComment,\n message_received: faComment,\n message_sent: faComment,\n // Video\n video: faPlay,\n video_complete: faPlay,\n video_contact: faPlay,\n video_complete_contact: faPlay,\n // Leads\n new_lead: faUserPlus,\n page_views_contact: faUserPlus,\n smart_link_clicked: faUserPlus,\n // Page Views\n page_views: faEye,\n // Events\n upcoming_event: faCalendar,\n // Reviews\n review_left: faStar,\n // Tasks\n tasks: faSquareCheck,\n // Announcements\n announcements: faBell,\n // Fantasy\n fantasy_point: faTrophy,\n};\n\nconst getActivityIcon = (slug: ActivitySlug) =>\n ACTIVITY_ICON_MAP[slug] ?? faUser;\n\n// Activity feed item component\ntype ActivityFeedItemProps = {\n activity: Activity;\n accentColor: ColorOptions;\n textColor: ColorOptions;\n};\n\nfunction ActivityFeedItem({\n activity,\n accentColor,\n textColor,\n}: ActivityFeedItemProps) {\n const icon = getActivityIcon(activity.slug);\n\n return (\n <div className=\"flex w-full items-start gap-1.5\">\n {/* Avatar */}\n <div className=\"shrink-0\">\n {activity.avatarUrl ? (\n <div className=\"relative size-8 overflow-hidden rounded-full\">\n <img\n src={activity.avatarUrl}\n alt={activity.userName}\n className=\"size-full object-cover\"\n />\n <div className=\"border-foreground/[0.08] absolute inset-0 rounded-full border\" />\n </div>\n ) : (\n <div\n className={`bg-muted flex size-8 items-center justify-center rounded-full`}\n >\n <FontAwesomeIcon\n icon={icon}\n className={`size-3.5 text-${textColor} opacity-60`}\n />\n </div>\n )}\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex w-full items-center gap-1.5\">\n <p\n className={`flex-1 text-base font-semibold text-${textColor} truncate`}\n >\n {activity.activityType}\n </p>\n <p className={`text-xs text-${textColor} shrink-0 opacity-50`}>\n {formatTimestamp(activity.timestamp)}\n </p>\n </div>\n <p className={`text-sm text-${textColor} opacity-80`}>\n <span className={`font-medium text-${accentColor}`}>\n {activity.userName}\n </span>{\" \"}\n {activity.targetName}\n </p>\n </div>\n </div>\n );\n}\n\ntype RecentActivityWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Activity settings\n maxItemsToShow?: number;\n};\n\nexport function RecentActivityWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Recent Activity\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Activity defaults\n maxItemsToShow = 5,\n\n className,\n ...props\n}: RecentActivityWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n background.type === \"image\"\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const { data: activities = [], isLoading, isError } = useActivities();\n\n const groupedActivities = useMemo(\n () => groupActivitiesByDate(activities),\n [activities],\n );\n\n const totalCount = Math.min(activities.length, maxItemsToShow);\n\n // Get activities to display (limited by maxItemsToShow)\n const activitiesToShow = useMemo(() => {\n const result: { date: string; items: Activity[] }[] = [];\n let count = 0;\n\n for (const [dateKey, items] of groupedActivities) {\n if (count >= maxItemsToShow) break;\n\n const remainingSlots = maxItemsToShow - count;\n const itemsToAdd = items.slice(0, remainingSlots);\n\n if (itemsToAdd.length > 0) {\n result.push({\n date: formatDateHeader(items[0]?.timestamp ?? dateKey),\n items: itemsToAdd,\n });\n count += itemsToAdd.length;\n }\n }\n\n return result;\n }, [groupedActivities, maxItemsToShow]);\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} border-muted border ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className={`p-${padding} flex flex-col gap-2`}>\n {/* Header */}\n {titleEnabled && titleText && (\n <div className=\"flex w-full items-start gap-2\">\n <h2\n className={`flex-1 text-${titleFontSize} font-bold text-${titleColor}`}\n >\n {titleText}\n </h2>\n {!isLoading && (\n <span\n className={`text-4xl font-bold text-${textColor} leading-none`}\n >\n {totalCount.toString().padStart(2, \"0\")}\n </span>\n )}\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex min-h-[200px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n </div>\n ) : isError ? (\n /* Error state */\n <ErrorState />\n ) : activities.length === 0 ? (\n /* Empty state */\n <div className=\"flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <FontAwesomeIcon\n icon={faUser}\n className={`size-12 text-${textColor} opacity-30`}\n />\n <p\n className={`text-base font-semibold text-${textColor} opacity-50`}\n >\n No Activity To Report\n </p>\n <p className={`text-sm text-${textColor} opacity-40`}>\n You&apos;ll Do Great!\n </p>\n </div>\n ) : (\n /* Activity list */\n <div className=\"flex flex-col gap-4\">\n {activitiesToShow.map((group, groupIndex) => (\n <div key={groupIndex} className=\"flex flex-col gap-4\">\n {/* Date header */}\n <p className={`text-base font-semibold text-${textColor}`}>\n {group.date}\n </p>\n\n {/* Activity items */}\n <div className=\"flex flex-col gap-4\">\n {group.items.map((activity) => (\n <ActivityFeedItem\n key={activity.id}\n activity={activity}\n accentColor={accentColor}\n textColor={textColor}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport const recentActivityWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"RecentActivityWidget\",\n displayName: \"Recent Activity Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the activity feed\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the activity feed\",\n defaultValue: \"Recent Activity\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n key: \"titleFontSize\",\n label: \"Title Font Size\",\n description: \"Font size for the widget title\",\n defaultValue: \"xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the widget container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for activity content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for links and highlights\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the widget container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Styling Tab - Display Group\n {\n key: \"maxItemsToShow\",\n label: \"Max Items\",\n type: \"number\",\n description: \"Maximum number of activity items to display\",\n defaultValue: 5,\n tab: \"styling\",\n group: \"Display\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecentActivityWidget-RGChzfaD.cjs","names":["faCartShopping","faComment","faPlay","faUserPlus","faEye","faCalendar","faStar","faSquareCheck","faBell","faTrophy","faUser","FontAwesomeIcon","ErrorState"],"sources":["../src/hooks/use-activities.preview.ts","../src/hooks/use-activities.ts","../src/widgets/RecentActivityWidget.tsx"],"sourcesContent":["import type { Activity } from \"./use-activities.types\";\n\nconst now = new Date();\n\nfunction minutesAgo(minutes: number): string {\n return new Date(now.getTime() - minutes * 60_000).toISOString();\n}\n\nexport const PREVIEW_DATA: Activity[] = [\n {\n id: 1,\n userName: \"Sarah Johnson\",\n avatarUrl: null,\n activityType: \"Order Placed\",\n targetName: \"Wellness Starter Kit\",\n timestamp: minutesAgo(12),\n slug: \"order_placed\",\n },\n {\n id: 2,\n userName: \"Mike Chen\",\n avatarUrl: null,\n activityType: \"New Lead\",\n targetName: \"Signed up from Instagram link\",\n timestamp: minutesAgo(45),\n slug: \"new_lead\",\n },\n {\n id: 3,\n userName: \"Visitor from Austin, TX\",\n avatarUrl: null,\n activityType: \"Page Views\",\n targetName: \"Viewed product catalog (3 pages)\",\n timestamp: minutesAgo(90),\n slug: \"page_views\",\n },\n {\n id: 4,\n userName: \"Lisa Park\",\n avatarUrl: null,\n activityType: \"Video Complete\",\n targetName: \"Watched: Getting Started Guide\",\n timestamp: minutesAgo(180),\n slug: \"video_complete\",\n },\n];\n","import { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/portal-core/data-sources/context\";\nimport { useWidgetPreviewContext } from \"@fluid-app/portal-core/data-sources/preview-context\";\nimport { PREVIEW_DATA } from \"./use-activities.preview\";\nimport type {\n Activity,\n ActivityContact,\n ActivityVisitor,\n ApiActivity,\n} from \"./use-activities.types\";\n\nexport type {\n ActivityContact,\n ActivityVisitor,\n ActivitySlug,\n ApiActivity,\n Activity,\n} from \"./use-activities.types\";\n\ntype PaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ApiResponse = [{ pagination: PaginationInfo }, { items: ApiActivity[] }];\n\nexport function useActivities(): UseQueryResult<Activity[], Error> {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"portal-widget-use\",\n \"activities\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<Activity[]> => {\n const url = baseUrl\n ? `${baseUrl}/v1.1/activities.json`\n : \"/v1.1/activities.json\";\n const response = await fetch(url, {\n headers: {\n \"content-type\": \"application/json\",\n ...getApiHeaders?.(),\n },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n\n const data: ApiResponse = await response.json();\n return transformActivities(data);\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n\n// Transform and format helpers\nfunction getUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: formatActivityType(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction formatActivityType(slug: string): string {\n return slug\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n}\n","import { useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport {\n useActivities,\n type Activity,\n type ActivitySlug,\n} from \"../hooks/use-activities\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faBell,\n faCalendar,\n faSquareCheck,\n faEye,\n faComment,\n faPlay,\n faCartShopping,\n faStar,\n faTrophy,\n faUser,\n faUserPlus,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Format timestamp to time string\nconst formatTimestamp = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n};\n\n// Format date for grouping header\nconst formatDateHeader = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n });\n};\n\n// Get date string for grouping (without time)\nconst getDateKey = (timestamp: string): string => {\n const date = new Date(timestamp);\n return date.toISOString().split(\"T\")[0] ?? timestamp;\n};\n\n// Group activities by date\nconst groupActivitiesByDate = (\n activities: Activity[],\n): Map<string, Activity[]> => {\n const grouped = new Map<string, Activity[]>();\n\n for (const activity of activities) {\n const dateKey = getDateKey(activity.timestamp);\n const existing = grouped.get(dateKey);\n if (existing) {\n existing.push(activity);\n } else {\n grouped.set(dateKey, [activity]);\n }\n }\n\n return grouped;\n};\n\n// Activity slug to icon mapping\nconst ACTIVITY_ICON_MAP: Record<ActivitySlug, IconDefinition> = {\n // Orders/Cart\n order_placed: faCartShopping,\n abandoned_cart: faCartShopping,\n cart_items_added: faCartShopping,\n new_cart_items_added: faCartShopping,\n // Messages\n direct_message: faComment,\n comment_reply: faComment,\n message_received: faComment,\n message_sent: faComment,\n // Video\n video: faPlay,\n video_complete: faPlay,\n video_contact: faPlay,\n video_complete_contact: faPlay,\n // Leads\n new_lead: faUserPlus,\n page_views_contact: faUserPlus,\n smart_link_clicked: faUserPlus,\n // Page Views\n page_views: faEye,\n // Events\n upcoming_event: faCalendar,\n // Reviews\n review_left: faStar,\n // Tasks\n tasks: faSquareCheck,\n // Announcements\n announcements: faBell,\n // Fantasy\n fantasy_point: faTrophy,\n};\n\nconst getActivityIcon = (slug: ActivitySlug) =>\n ACTIVITY_ICON_MAP[slug] ?? faUser;\n\n// Activity feed item component\ntype ActivityFeedItemProps = {\n activity: Activity;\n accentColor: ColorOptions;\n textColor: ColorOptions;\n};\n\nfunction ActivityFeedItem({\n activity,\n accentColor,\n textColor,\n}: ActivityFeedItemProps) {\n const icon = getActivityIcon(activity.slug);\n\n return (\n <div className=\"flex w-full items-start gap-1.5\">\n {/* Avatar */}\n <div className=\"shrink-0\">\n {activity.avatarUrl ? (\n <div className=\"relative size-8 overflow-hidden rounded-full\">\n <img\n src={activity.avatarUrl}\n alt={activity.userName}\n className=\"size-full object-cover\"\n />\n <div className=\"border-foreground/[0.08] absolute inset-0 rounded-full border\" />\n </div>\n ) : (\n <div\n className={`bg-muted flex size-8 items-center justify-center rounded-full`}\n >\n <FontAwesomeIcon\n icon={icon}\n className={`size-3.5 text-${textColor} opacity-60`}\n />\n </div>\n )}\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex w-full items-center gap-1.5\">\n <p\n className={`flex-1 text-base font-semibold text-${textColor} truncate`}\n >\n {activity.activityType}\n </p>\n <p className={`text-xs text-${textColor} shrink-0 opacity-50`}>\n {formatTimestamp(activity.timestamp)}\n </p>\n </div>\n <p className={`text-sm text-${textColor} opacity-80`}>\n <span className={`font-medium text-${accentColor}`}>\n {activity.userName}\n </span>{\" \"}\n {activity.targetName}\n </p>\n </div>\n </div>\n );\n}\n\ntype RecentActivityWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Activity settings\n maxItemsToShow?: number;\n};\n\nexport function RecentActivityWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Recent Activity\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Activity defaults\n maxItemsToShow = 5,\n\n className,\n ...props\n}: RecentActivityWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n background.type === \"image\"\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const { data: activities = [], isLoading, isError } = useActivities();\n\n const groupedActivities = useMemo(\n () => groupActivitiesByDate(activities),\n [activities],\n );\n\n const totalCount = Math.min(activities.length, maxItemsToShow);\n\n // Get activities to display (limited by maxItemsToShow)\n const activitiesToShow = useMemo(() => {\n const result: { date: string; items: Activity[] }[] = [];\n let count = 0;\n\n for (const [dateKey, items] of groupedActivities) {\n if (count >= maxItemsToShow) break;\n\n const remainingSlots = maxItemsToShow - count;\n const itemsToAdd = items.slice(0, remainingSlots);\n\n if (itemsToAdd.length > 0) {\n result.push({\n date: formatDateHeader(items[0]?.timestamp ?? dateKey),\n items: itemsToAdd,\n });\n count += itemsToAdd.length;\n }\n }\n\n return result;\n }, [groupedActivities, maxItemsToShow]);\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} border-muted border ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className={`p-${padding} flex flex-col gap-2`}>\n {/* Header */}\n {titleEnabled && titleText && (\n <div className=\"flex w-full items-start gap-2\">\n <h2\n className={`flex-1 text-${titleFontSize} font-bold text-${titleColor}`}\n >\n {titleText}\n </h2>\n {!isLoading && (\n <span\n className={`text-4xl font-bold text-${textColor} leading-none`}\n >\n {totalCount.toString().padStart(2, \"0\")}\n </span>\n )}\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex min-h-[200px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n </div>\n ) : isError ? (\n /* Error state */\n <ErrorState />\n ) : activities.length === 0 ? (\n /* Empty state */\n <div className=\"flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <FontAwesomeIcon\n icon={faUser}\n className={`size-12 text-${textColor} opacity-30`}\n />\n <p\n className={`text-base font-semibold text-${textColor} opacity-50`}\n >\n No Activity To Report\n </p>\n <p className={`text-sm text-${textColor} opacity-40`}>\n You&apos;ll Do Great!\n </p>\n </div>\n ) : (\n /* Activity list */\n <div className=\"flex flex-col gap-4\">\n {activitiesToShow.map((group, groupIndex) => (\n <div key={groupIndex} className=\"flex flex-col gap-4\">\n {/* Date header */}\n <p className={`text-base font-semibold text-${textColor}`}>\n {group.date}\n </p>\n\n {/* Activity items */}\n <div className=\"flex flex-col gap-4\">\n {group.items.map((activity) => (\n <ActivityFeedItem\n key={activity.id}\n activity={activity}\n accentColor={accentColor}\n textColor={textColor}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport const recentActivityWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"RecentActivityWidget\",\n displayName: \"Recent Activity Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the activity feed\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the activity feed\",\n defaultValue: \"Recent Activity\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n key: \"titleFontSize\",\n label: \"Title Font Size\",\n description: \"Font size for the widget title\",\n defaultValue: \"xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the widget container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for activity content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for links and highlights\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the widget container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Styling Tab - Display Group\n {\n key: \"maxItemsToShow\",\n label: \"Max Items\",\n type: \"number\",\n description: \"Maximum number of activity items to display\",\n defaultValue: 5,\n tab: \"styling\",\n group: \"Display\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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P,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;EAGF;GACE,MAAM;GACN,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;uDACa;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,MAAM;GACN,OAAO;GACP,KAAK;GACL,OAAO;GACR;yDACe;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;8DACmB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EAGF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACF;CACF"}