@agentiffai/design 1.4.9 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -6,7 +6,7 @@ export { ActionButtons, ActionButtonsProps, BrandType, CategoryItem, CategoryNav
6
6
  import { AriaButtonProps } from '@react-aria/button';
7
7
  export { GlobalStyle, darkTheme, lightTheme, tokens } from './theme/index.cjs';
8
8
  export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-Dm_I5m8i.cjs';
9
- export { b as FacebookIcon, F as FacebookIconProps, a as FacebookIconVariant, d as GmailIcon, G as GmailIconProps, c as GmailIconVariant, f as InstagramIcon, I as InstagramIconProps, e as InstagramVariant, h as LinkedInIcon, L as LinkedInIconProps, g as LinkedInIconVariant, j as PostizIcon, P as PostizIconProps, i as PostizIconVariant, l as RedditIcon, R as RedditIconProps, k as RedditIconVariant, n as SlackIcon, S as SlackIconProps, m as SlackIconVariant, p as TelegramIcon, T as TelegramIconProps, o as TelegramIconVariant, r as WhatsAppIcon, W as WhatsAppIconProps, q as WhatsAppIconVariant, t as XIcon, X as XIconProps, s as XIconVariant, v as YouTubeIcon, Y as YouTubeIconProps, u as YouTubeIconVariant } from './YouTubeIcon-C1e6LEOF.cjs';
9
+ export { b as FacebookIcon, F as FacebookIconProps, a as FacebookIconVariant, d as GmailIcon, G as GmailIconProps, c as GmailIconVariant, f as InstagramIcon, I as InstagramIconProps, e as InstagramVariant, h as LinkedInIcon, L as LinkedInIconProps, g as LinkedInIconVariant, j as PostizIcon, P as PostizIconProps, i as PostizIconVariant, l as RedditIcon, R as RedditIconProps, k as RedditIconVariant, n as SlackIcon, S as SlackIconProps, m as SlackIconVariant, p as TelegramIcon, T as TelegramIconProps, o as TelegramIconVariant, s as TwilioIcon, q as TwilioIconProps, r as TwilioIconVariant, u as WhatsAppIcon, W as WhatsAppIconProps, t as WhatsAppIconVariant, w as XIcon, X as XIconProps, v as XIconVariant, y as YouTubeIcon, Y as YouTubeIconProps, x as YouTubeIconVariant } from './YouTubeIcon-B7Y2MfN5.cjs';
10
10
  export { WorkflowCard, WorkflowCardProps, WorkflowErrorAlert, WorkflowErrorAlertProps, WorkflowIntegration, WorkflowProgressBar, WorkflowProgressBarProps, WorkflowResultPanel, WorkflowResultPanelProps, WorkflowStatusBadge, WorkflowStatusBadgeProps } from './workflow/index.cjs';
11
11
  import '@react-types/button';
12
12
  import 'styled-components';
@@ -664,6 +664,10 @@ interface PostPreviewCardProps {
664
664
  editContent?: string;
665
665
  /** Callback when content changes during editing */
666
666
  onContentChange?: (content: string) => void;
667
+ /** Current edited hashtags (controlled) */
668
+ editHashtags?: string[];
669
+ /** Callback when hashtags change during editing */
670
+ onHashtagsChange?: (hashtags: string[]) => void;
667
671
  /** Show loading skeleton when content is being generated */
668
672
  isLoading?: boolean;
669
673
  /** Callback to change/add an image. When provided, image areas become clickable. */
@@ -687,6 +691,10 @@ interface PlatformCarouselProps {
687
691
  editContent?: string;
688
692
  /** Callback when edit content changes */
689
693
  onEditContentChange?: (content: string) => void;
694
+ /** Hashtags of the post being edited */
695
+ editHashtags?: string[];
696
+ /** Callback when edit hashtags change */
697
+ onEditHashtagsChange?: (hashtags: string[]) => void;
690
698
  /** Whether content is being loaded/generated */
691
699
  isLoading?: boolean;
692
700
  /** Callback when user requests to change/add an image for a post */
@@ -709,6 +717,10 @@ interface PlatformGridProps {
709
717
  editContent?: string;
710
718
  /** Callback when edit content changes */
711
719
  onEditContentChange?: (content: string) => void;
720
+ /** Hashtags of the post being edited */
721
+ editHashtags?: string[];
722
+ /** Callback when edit hashtags change */
723
+ onEditHashtagsChange?: (hashtags: string[]) => void;
712
724
  /** Whether content is being loaded/generated */
713
725
  isLoading?: boolean;
714
726
  /** Currently active/selected post index */
@@ -756,6 +768,10 @@ interface SocialMediaCanvasProps {
756
768
  editContent?: string;
757
769
  /** Callback when edit content changes */
758
770
  onEditContentChange?: (content: string) => void;
771
+ /** Hashtags of the post being edited */
772
+ editHashtags?: string[];
773
+ /** Callback when edit hashtags change */
774
+ onEditHashtagsChange?: (hashtags: string[]) => void;
759
775
  /** Whether content is being loaded/generated */
760
776
  isLoading?: boolean;
761
777
  /** Currently active post index (for grid mode) */
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { ActionButtons, ActionButtonsProps, BrandType, CategoryItem, CategoryNav
6
6
  import { AriaButtonProps } from '@react-aria/button';
7
7
  export { GlobalStyle, darkTheme, lightTheme, tokens } from './theme/index.js';
8
8
  export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-Dm_I5m8i.js';
9
- export { b as FacebookIcon, F as FacebookIconProps, a as FacebookIconVariant, d as GmailIcon, G as GmailIconProps, c as GmailIconVariant, f as InstagramIcon, I as InstagramIconProps, e as InstagramVariant, h as LinkedInIcon, L as LinkedInIconProps, g as LinkedInIconVariant, j as PostizIcon, P as PostizIconProps, i as PostizIconVariant, l as RedditIcon, R as RedditIconProps, k as RedditIconVariant, n as SlackIcon, S as SlackIconProps, m as SlackIconVariant, p as TelegramIcon, T as TelegramIconProps, o as TelegramIconVariant, r as WhatsAppIcon, W as WhatsAppIconProps, q as WhatsAppIconVariant, t as XIcon, X as XIconProps, s as XIconVariant, v as YouTubeIcon, Y as YouTubeIconProps, u as YouTubeIconVariant } from './YouTubeIcon-C1e6LEOF.js';
9
+ export { b as FacebookIcon, F as FacebookIconProps, a as FacebookIconVariant, d as GmailIcon, G as GmailIconProps, c as GmailIconVariant, f as InstagramIcon, I as InstagramIconProps, e as InstagramVariant, h as LinkedInIcon, L as LinkedInIconProps, g as LinkedInIconVariant, j as PostizIcon, P as PostizIconProps, i as PostizIconVariant, l as RedditIcon, R as RedditIconProps, k as RedditIconVariant, n as SlackIcon, S as SlackIconProps, m as SlackIconVariant, p as TelegramIcon, T as TelegramIconProps, o as TelegramIconVariant, s as TwilioIcon, q as TwilioIconProps, r as TwilioIconVariant, u as WhatsAppIcon, W as WhatsAppIconProps, t as WhatsAppIconVariant, w as XIcon, X as XIconProps, v as XIconVariant, y as YouTubeIcon, Y as YouTubeIconProps, x as YouTubeIconVariant } from './YouTubeIcon-B7Y2MfN5.js';
10
10
  export { WorkflowCard, WorkflowCardProps, WorkflowErrorAlert, WorkflowErrorAlertProps, WorkflowIntegration, WorkflowProgressBar, WorkflowProgressBarProps, WorkflowResultPanel, WorkflowResultPanelProps, WorkflowStatusBadge, WorkflowStatusBadgeProps } from './workflow/index.js';
11
11
  import '@react-types/button';
12
12
  import 'styled-components';
@@ -664,6 +664,10 @@ interface PostPreviewCardProps {
664
664
  editContent?: string;
665
665
  /** Callback when content changes during editing */
666
666
  onContentChange?: (content: string) => void;
667
+ /** Current edited hashtags (controlled) */
668
+ editHashtags?: string[];
669
+ /** Callback when hashtags change during editing */
670
+ onHashtagsChange?: (hashtags: string[]) => void;
667
671
  /** Show loading skeleton when content is being generated */
668
672
  isLoading?: boolean;
669
673
  /** Callback to change/add an image. When provided, image areas become clickable. */
@@ -687,6 +691,10 @@ interface PlatformCarouselProps {
687
691
  editContent?: string;
688
692
  /** Callback when edit content changes */
689
693
  onEditContentChange?: (content: string) => void;
694
+ /** Hashtags of the post being edited */
695
+ editHashtags?: string[];
696
+ /** Callback when edit hashtags change */
697
+ onEditHashtagsChange?: (hashtags: string[]) => void;
690
698
  /** Whether content is being loaded/generated */
691
699
  isLoading?: boolean;
692
700
  /** Callback when user requests to change/add an image for a post */
@@ -709,6 +717,10 @@ interface PlatformGridProps {
709
717
  editContent?: string;
710
718
  /** Callback when edit content changes */
711
719
  onEditContentChange?: (content: string) => void;
720
+ /** Hashtags of the post being edited */
721
+ editHashtags?: string[];
722
+ /** Callback when edit hashtags change */
723
+ onEditHashtagsChange?: (hashtags: string[]) => void;
712
724
  /** Whether content is being loaded/generated */
713
725
  isLoading?: boolean;
714
726
  /** Currently active/selected post index */
@@ -756,6 +768,10 @@ interface SocialMediaCanvasProps {
756
768
  editContent?: string;
757
769
  /** Callback when edit content changes */
758
770
  onEditContentChange?: (content: string) => void;
771
+ /** Hashtags of the post being edited */
772
+ editHashtags?: string[];
773
+ /** Callback when edit hashtags change */
774
+ onEditHashtagsChange?: (hashtags: string[]) => void;
759
775
  /** Whether content is being loaded/generated */
760
776
  isLoading?: boolean;
761
777
  /** Currently active post index (for grid mode) */
package/dist/index.js CHANGED
@@ -9277,6 +9277,39 @@ function WhatsAppIcon({
9277
9277
  );
9278
9278
  }
9279
9279
  WhatsAppIcon.displayName = "WhatsAppIcon";
9280
+ var COLORS = {
9281
+ colored: { bg: "#F22F46", dot: "#FFFFFF" },
9282
+ black: { bg: "#111111", dot: "#FFFFFF" },
9283
+ white: { bg: "#FFFFFF", dot: "#111111" }
9284
+ };
9285
+ function TwilioIcon({
9286
+ size = 24,
9287
+ variant = "colored",
9288
+ "aria-label": ariaLabel = "Twilio",
9289
+ ...props
9290
+ }) {
9291
+ const colors = COLORS[variant];
9292
+ return /* @__PURE__ */ jsxs(
9293
+ "svg",
9294
+ {
9295
+ width: size,
9296
+ height: size,
9297
+ viewBox: "0 0 24 24",
9298
+ role: props["aria-hidden"] ? void 0 : "img",
9299
+ "aria-label": props["aria-hidden"] ? void 0 : ariaLabel,
9300
+ xmlns: "http://www.w3.org/2000/svg",
9301
+ ...props,
9302
+ children: [
9303
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: colors.bg }),
9304
+ /* @__PURE__ */ jsx("circle", { cx: "8.25", cy: "8.25", r: "2.1", fill: colors.dot }),
9305
+ /* @__PURE__ */ jsx("circle", { cx: "15.75", cy: "8.25", r: "2.1", fill: colors.dot }),
9306
+ /* @__PURE__ */ jsx("circle", { cx: "8.25", cy: "15.75", r: "2.1", fill: colors.dot }),
9307
+ /* @__PURE__ */ jsx("circle", { cx: "15.75", cy: "15.75", r: "2.1", fill: colors.dot })
9308
+ ]
9309
+ }
9310
+ );
9311
+ }
9312
+ TwilioIcon.displayName = "TwilioIcon";
9280
9313
  var StyledXIcon = styled58.svg`
9281
9314
  display: inline-block;
9282
9315
  vertical-align: middle;
@@ -9904,13 +9937,17 @@ var PostPreviewCard = ({
9904
9937
  isEditing = false,
9905
9938
  editContent,
9906
9939
  onContentChange,
9940
+ editHashtags,
9941
+ onHashtagsChange,
9907
9942
  isLoading = false,
9908
9943
  onImageChange
9909
9944
  }) => {
9910
9945
  const platformConfig = PLATFORM_CONFIGS[post.platform] || PLATFORM_CONFIGS.x;
9911
9946
  const [imageError, setImageError] = useState(false);
9947
+ const [newHashtag, setNewHashtag] = useState("");
9912
9948
  const showSkeleton = isLoading && !post.content;
9913
9949
  const displayContent = isEditing && editContent !== void 0 ? editContent : post.editedContent || post.content;
9950
+ const displayHashtags = isEditing && editHashtags !== void 0 ? editHashtags : post.hashtags;
9914
9951
  const currentCharCount = displayContent.length;
9915
9952
  const charPercentage = useMemo(
9916
9953
  () => getCharacterLimitPercentage(post.platform, currentCharCount),
@@ -9924,6 +9961,32 @@ var PostPreviewCard = ({
9924
9961
  const handleContentChange = (e) => {
9925
9962
  onContentChange?.(e.target.value);
9926
9963
  };
9964
+ const normalizeHashtag = (value) => value.trim().replace(/^#+/, "").replace(/[^\p{L}\p{N}_]/gu, "");
9965
+ const handleRemoveHashtag = (hashtagToRemove) => {
9966
+ const normalizedToRemove = normalizeHashtag(hashtagToRemove).toLowerCase();
9967
+ onHashtagsChange?.(
9968
+ displayHashtags.filter(
9969
+ (hashtag) => normalizeHashtag(hashtag).toLowerCase() !== normalizedToRemove
9970
+ )
9971
+ );
9972
+ };
9973
+ const handleAddHashtag = () => {
9974
+ const normalized = normalizeHashtag(newHashtag);
9975
+ if (!normalized) return;
9976
+ const exists = displayHashtags.some(
9977
+ (hashtag) => normalizeHashtag(hashtag).toLowerCase() === normalized.toLowerCase()
9978
+ );
9979
+ if (!exists) {
9980
+ onHashtagsChange?.([...displayHashtags, normalized]);
9981
+ }
9982
+ setNewHashtag("");
9983
+ };
9984
+ const handleNewHashtagKeyDown = (e) => {
9985
+ if (e.key === "Enter") {
9986
+ e.preventDefault();
9987
+ handleAddHashtag();
9988
+ }
9989
+ };
9927
9990
  return /* @__PURE__ */ jsxs(
9928
9991
  CardContainer,
9929
9992
  {
@@ -9953,10 +10016,45 @@ var PostPreviewCard = ({
9953
10016
  autoFocus: true
9954
10017
  }
9955
10018
  ) : /* @__PURE__ */ jsx(PostContent, { children: displayContent }),
9956
- !showSkeleton && post.hashtags.length > 0 && /* @__PURE__ */ jsx(HashtagsContainer, { children: post.hashtags.map((hashtag) => /* @__PURE__ */ jsxs(HashtagPill, { $platformColor: platformConfig.color, children: [
9957
- "#",
9958
- hashtag.replace(/^#/, "")
9959
- ] }, hashtag)) })
10019
+ !showSkeleton && (displayHashtags.length > 0 || isEditing) && /* @__PURE__ */ jsxs(HashtagsContainer, { children: [
10020
+ displayHashtags.map((hashtag) => /* @__PURE__ */ jsxs(HashtagPill, { $platformColor: platformConfig.color, children: [
10021
+ "#",
10022
+ hashtag.replace(/^#/, ""),
10023
+ isEditing && onHashtagsChange && /* @__PURE__ */ jsx(
10024
+ RemoveHashtagButton,
10025
+ {
10026
+ type: "button",
10027
+ onClick: () => handleRemoveHashtag(hashtag),
10028
+ "aria-label": `Remove #${hashtag.replace(/^#/, "")}`,
10029
+ children: "\xD7"
10030
+ }
10031
+ )
10032
+ ] }, hashtag)),
10033
+ isEditing && onHashtagsChange && /* @__PURE__ */ jsxs(HashtagEditor, { children: [
10034
+ /* @__PURE__ */ jsxs(HashtagInputWrapper, { children: [
10035
+ /* @__PURE__ */ jsx(HashPrefix, { children: "#" }),
10036
+ /* @__PURE__ */ jsx(
10037
+ HashtagInput,
10038
+ {
10039
+ value: newHashtag,
10040
+ onChange: (e) => setNewHashtag(e.target.value),
10041
+ onKeyDown: handleNewHashtagKeyDown,
10042
+ placeholder: "Add hashtag",
10043
+ "aria-label": "Add hashtag"
10044
+ }
10045
+ )
10046
+ ] }),
10047
+ /* @__PURE__ */ jsx(
10048
+ AddHashtagButton,
10049
+ {
10050
+ type: "button",
10051
+ onClick: handleAddHashtag,
10052
+ disabled: !normalizeHashtag(newHashtag),
10053
+ children: "Add"
10054
+ }
10055
+ )
10056
+ ] })
10057
+ ] })
9960
10058
  ] }),
9961
10059
  post.imageUrl && !imageError ? onImageChange ? /* @__PURE__ */ jsx(ImageChangeButton, { type: "button", onClick: onImageChange, "aria-label": "Change image", children: /* @__PURE__ */ jsxs(ImagePreviewContainer, { children: [
9962
10060
  /* @__PURE__ */ jsx(
@@ -10171,7 +10269,9 @@ var HashtagsContainer = styled58.div`
10171
10269
  gap: 6px;
10172
10270
  `;
10173
10271
  var HashtagPill = styled58.span`
10174
- display: inline-block;
10272
+ display: inline-flex;
10273
+ align-items: center;
10274
+ gap: 6px;
10175
10275
  padding: ${tokens.spacing.xs} 10px;
10176
10276
  border-radius: ${tokens.borderRadius.full};
10177
10277
  font-size: ${tokens.typography.fontSize.xs};
@@ -10187,6 +10287,99 @@ var HashtagPill = styled58.span`
10187
10287
  color: ${tokens.colors.primary};
10188
10288
  }
10189
10289
  `;
10290
+ var RemoveHashtagButton = styled58.button`
10291
+ width: 16px;
10292
+ height: 16px;
10293
+ display: inline-flex;
10294
+ align-items: center;
10295
+ justify-content: center;
10296
+ padding: 0;
10297
+ border: none;
10298
+ border-radius: ${tokens.borderRadius.full};
10299
+ background: ${tokens.colors.background.light};
10300
+ color: ${tokens.colors.text.secondary};
10301
+ cursor: pointer;
10302
+ font-size: 12px;
10303
+ line-height: 1;
10304
+ transition: all ${tokens.transitions.fast};
10305
+
10306
+ &:hover,
10307
+ &:focus-visible {
10308
+ background: ${tokens.colors.error};
10309
+ color: ${tokens.colors.text.primary};
10310
+ outline: none;
10311
+ }
10312
+ `;
10313
+ var HashtagEditor = styled58.div`
10314
+ display: inline-flex;
10315
+ align-items: center;
10316
+ gap: ${tokens.spacing.xs};
10317
+ min-width: min(100%, 190px);
10318
+ `;
10319
+ var HashtagInputWrapper = styled58.div`
10320
+ display: inline-flex;
10321
+ align-items: center;
10322
+ flex: 1;
10323
+ min-width: 0;
10324
+ padding: 0 ${tokens.spacing.sm};
10325
+ border: 1px solid ${tokens.colors.border.default};
10326
+ border-radius: ${tokens.borderRadius.full};
10327
+ background: ${tokens.colors.background.darker};
10328
+ transition: border-color ${tokens.transitions.fast}, box-shadow ${tokens.transitions.fast};
10329
+
10330
+ &:focus-within {
10331
+ border-color: ${tokens.colors.border.focus};
10332
+ box-shadow: 0 0 0 2px ${tokens.colors.primary}20;
10333
+ }
10334
+ `;
10335
+ var HashPrefix = styled58.span`
10336
+ color: ${tokens.colors.text.tertiary};
10337
+ font-size: ${tokens.typography.fontSize.xs};
10338
+ `;
10339
+ var HashtagInput = styled58.input`
10340
+ width: 100%;
10341
+ min-width: 0;
10342
+ height: 28px;
10343
+ padding: 0;
10344
+ border: none;
10345
+ background: transparent;
10346
+ color: ${tokens.colors.text.primary};
10347
+ font-size: ${tokens.typography.fontSize.xs};
10348
+ font-family: ${tokens.typography.fontFamily.primary};
10349
+
10350
+ &:focus {
10351
+ outline: none;
10352
+ }
10353
+
10354
+ &::placeholder {
10355
+ color: ${tokens.colors.text.tertiary};
10356
+ }
10357
+ `;
10358
+ var AddHashtagButton = styled58.button`
10359
+ height: 28px;
10360
+ padding: 0 ${tokens.spacing.sm};
10361
+ border: 1px solid ${tokens.colors.border.default};
10362
+ border-radius: ${tokens.borderRadius.full};
10363
+ background: ${tokens.colors.background.light};
10364
+ color: ${tokens.colors.text.primary};
10365
+ cursor: pointer;
10366
+ font-size: ${tokens.typography.fontSize.xs};
10367
+ font-weight: ${tokens.typography.fontWeight.semibold};
10368
+ transition: all ${tokens.transitions.fast};
10369
+
10370
+ &:hover:not(:disabled),
10371
+ &:focus-visible:not(:disabled) {
10372
+ background: ${tokens.colors.primary};
10373
+ border-color: ${tokens.colors.primary};
10374
+ color: ${tokens.colors.background.dark};
10375
+ outline: none;
10376
+ }
10377
+
10378
+ &:disabled {
10379
+ opacity: 0.45;
10380
+ cursor: not-allowed;
10381
+ }
10382
+ `;
10190
10383
  var ProgressBarContainer2 = styled58.div`
10191
10384
  margin-top: ${tokens.spacing.sm};
10192
10385
  `;
@@ -10332,6 +10525,8 @@ var PlatformCarousel = ({
10332
10525
  editingIndex,
10333
10526
  editContent,
10334
10527
  onEditContentChange,
10528
+ editHashtags,
10529
+ onEditHashtagsChange,
10335
10530
  isLoading = false,
10336
10531
  onImageChangeRequest
10337
10532
  }) => {
@@ -10393,6 +10588,8 @@ var PlatformCarousel = ({
10393
10588
  isEditing,
10394
10589
  editContent: isEditing ? editContent : void 0,
10395
10590
  onContentChange: isEditing ? onEditContentChange : void 0,
10591
+ editHashtags: isEditing ? editHashtags : void 0,
10592
+ onHashtagsChange: isEditing ? onEditHashtagsChange : void 0,
10396
10593
  isLoading,
10397
10594
  onImageChange: onImageChangeRequest ? () => onImageChangeRequest(index) : void 0
10398
10595
  }
@@ -10523,6 +10720,8 @@ var PlatformGrid = ({
10523
10720
  editingIndex,
10524
10721
  editContent,
10525
10722
  onEditContentChange,
10723
+ editHashtags,
10724
+ onEditHashtagsChange,
10526
10725
  isLoading = false,
10527
10726
  activeIndex = 0,
10528
10727
  onActiveChange,
@@ -10563,6 +10762,8 @@ var PlatformGrid = ({
10563
10762
  isEditing,
10564
10763
  editContent: isEditing ? editContent : void 0,
10565
10764
  onContentChange: isEditing ? onEditContentChange : void 0,
10765
+ editHashtags: isEditing ? editHashtags : void 0,
10766
+ onHashtagsChange: isEditing ? onEditHashtagsChange : void 0,
10566
10767
  isLoading,
10567
10768
  onImageChange: onImageChangeRequest ? () => onImageChangeRequest(index) : void 0
10568
10769
  }
@@ -10757,6 +10958,8 @@ var SocialMediaCanvas = ({
10757
10958
  editingIndex,
10758
10959
  editContent,
10759
10960
  onEditContentChange,
10961
+ editHashtags,
10962
+ onEditHashtagsChange,
10760
10963
  isLoading = false,
10761
10964
  activeIndex = 0,
10762
10965
  onImageChangeRequest
@@ -10816,6 +11019,8 @@ var SocialMediaCanvas = ({
10816
11019
  editingIndex,
10817
11020
  editContent,
10818
11021
  onEditContentChange,
11022
+ editHashtags,
11023
+ onEditHashtagsChange,
10819
11024
  isLoading,
10820
11025
  onImageChangeRequest
10821
11026
  }
@@ -10826,6 +11031,8 @@ var SocialMediaCanvas = ({
10826
11031
  editingIndex,
10827
11032
  editContent,
10828
11033
  onEditContentChange,
11034
+ editHashtags,
11035
+ onEditHashtagsChange,
10829
11036
  isLoading,
10830
11037
  activeIndex,
10831
11038
  onActiveChange: handleActiveChange,
@@ -13698,6 +13905,6 @@ var isMobileDevice = () => {
13698
13905
  return hasTouch && isMobileUA || hasTouch && window.innerWidth <= 768;
13699
13906
  };
13700
13907
 
13701
- export { ActionButtons, Actions, AgentState, AssistantMessage, AssistantThinking, AuthButton, AuthInput, BillingToggle, Button2 as Button, CATEGORY_CONFIGS, CategoryNav, ChatInput, ConnectionStatusBadge, UserMessage2 as CopilotUserMessage, DarkNotificationCard, ErrorBanner, ErrorToast, FacebookIcon, FileAttachment, Footer, GlobalStyle, GmailIcon, Header, Icon, IconNames, Input2 as Input, InstagramIcon, IntegrationCard, Layout, LinkedInIcon, Messages, MessagesList, MessagesListContainer, MessagesListContent, NavHorizontal, NavVertical, NotificationCard, PLATFORM_CONFIGS, PaneMenus, PaneSectionHeader, PasswordInput, PlatformCarousel, PlatformGrid, PostApprovalControls, PostPreviewCard, PostizIcon, RedditEngagementControls, RedditIcon, RedditOpportunityCard, Response, SecretInput, ServiceIcon, SlackIcon, SocialMediaCanvas, StreamErrorMessage, StreamStatusIndicator, StreamingText, SuccessToast, Suggestions, TagInput, TelegramIcon, TokenUsageCard, TrialPlanCard, UserMessage, WhatsAppIcon, Window, WorkflowCard, WorkflowErrorAlert, WorkflowLoadingSkeleton, WorkflowProgressBar, WorkflowResultPanel, WorkflowStatusBadge, WorkflowStatusCard, XIcon, YouTubeIcon, categorizeProgress, clearToolCalls, darkTheme, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isMobileDevice, isWithinCharLimit, lightTheme, normalizePlatform, registerToolCall, tokens, useIsLandscape, useKeyboardDetection, useLocalStorage, useNetworkStatus };
13908
+ export { ActionButtons, Actions, AgentState, AssistantMessage, AssistantThinking, AuthButton, AuthInput, BillingToggle, Button2 as Button, CATEGORY_CONFIGS, CategoryNav, ChatInput, ConnectionStatusBadge, UserMessage2 as CopilotUserMessage, DarkNotificationCard, ErrorBanner, ErrorToast, FacebookIcon, FileAttachment, Footer, GlobalStyle, GmailIcon, Header, Icon, IconNames, Input2 as Input, InstagramIcon, IntegrationCard, Layout, LinkedInIcon, Messages, MessagesList, MessagesListContainer, MessagesListContent, NavHorizontal, NavVertical, NotificationCard, PLATFORM_CONFIGS, PaneMenus, PaneSectionHeader, PasswordInput, PlatformCarousel, PlatformGrid, PostApprovalControls, PostPreviewCard, PostizIcon, RedditEngagementControls, RedditIcon, RedditOpportunityCard, Response, SecretInput, ServiceIcon, SlackIcon, SocialMediaCanvas, StreamErrorMessage, StreamStatusIndicator, StreamingText, SuccessToast, Suggestions, TagInput, TelegramIcon, TokenUsageCard, TrialPlanCard, TwilioIcon, UserMessage, WhatsAppIcon, Window, WorkflowCard, WorkflowErrorAlert, WorkflowLoadingSkeleton, WorkflowProgressBar, WorkflowResultPanel, WorkflowStatusBadge, WorkflowStatusCard, XIcon, YouTubeIcon, categorizeProgress, clearToolCalls, darkTheme, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isMobileDevice, isWithinCharLimit, lightTheme, normalizePlatform, registerToolCall, tokens, useIsLandscape, useKeyboardDetection, useLocalStorage, useNetworkStatus };
13702
13909
  //# sourceMappingURL=index.js.map
13703
13910
  //# sourceMappingURL=index.js.map