@brainfish-ai/components 0.26.1 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/alert-dialog.d.ts +6 -2
  2. package/dist/button.d.ts +4 -2
  3. package/dist/confirm-dialog.d.ts +3 -1
  4. package/dist/convos.d.ts +3 -0
  5. package/dist/esm/chunks/{ChatSearch.Cqo4WF3n.js → ChatSearch.bblH7kYY.js} +2 -2
  6. package/dist/esm/chunks/{ChatSearch.Cqo4WF3n.js.map → ChatSearch.bblH7kYY.js.map} +1 -1
  7. package/dist/esm/chunks/{Conversation.UZ5rx7_0.js → Conversation.CuRp-tJL.js} +2 -2
  8. package/dist/esm/chunks/{Conversation.UZ5rx7_0.js.map → Conversation.CuRp-tJL.js.map} +1 -1
  9. package/dist/esm/chunks/{FormattedMessage.D9xA6QsH.js → FormattedMessage.XNMN23hm.js} +2 -2
  10. package/dist/esm/chunks/{FormattedMessage.D9xA6QsH.js.map → FormattedMessage.XNMN23hm.js.map} +1 -1
  11. package/dist/esm/chunks/button.D_2SonNs.js +3 -0
  12. package/dist/esm/chunks/button.D_2SonNs.js.map +1 -0
  13. package/dist/esm/chunks/{combobox.CxaWbDm9.js → combobox.MyoPH18G.js} +2 -2
  14. package/dist/esm/chunks/{combobox.CxaWbDm9.js.map → combobox.MyoPH18G.js.map} +1 -1
  15. package/dist/esm/chunks/{date-picker.Bhplnvxn.js → date-picker.C2VT_rZ9.js} +2 -2
  16. package/dist/esm/chunks/{date-picker.Bhplnvxn.js.map → date-picker.C2VT_rZ9.js.map} +1 -1
  17. package/dist/esm/chunks/{feedback.BXKvlNz1.js → feedback.CLMuSvsg.js} +2 -2
  18. package/dist/esm/chunks/{feedback.BXKvlNz1.js.map → feedback.CLMuSvsg.js.map} +1 -1
  19. package/dist/esm/chunks/{file-upload-status.4ukNFyi2.js → file-upload-status.D8RhMcbO.js} +2 -2
  20. package/dist/esm/chunks/{file-upload-status.4ukNFyi2.js.map → file-upload-status.D8RhMcbO.js.map} +1 -1
  21. package/dist/esm/chunks/{filters.ita3UAnO.js → filters.BHp3ukNW.js} +2 -2
  22. package/dist/esm/chunks/{filters.ita3UAnO.js.map → filters.BHp3ukNW.js.map} +1 -1
  23. package/dist/esm/chunks/{font-picker.BwEWBowG.js → font-picker.B9GPXyK4.js} +2 -2
  24. package/dist/esm/chunks/{font-picker.BwEWBowG.js.map → font-picker.B9GPXyK4.js.map} +1 -1
  25. package/dist/esm/chunks/{header-nav.B4IJjted.js → header-nav.DdOXbPSM.js} +2 -2
  26. package/dist/esm/chunks/{header-nav.B4IJjted.js.map → header-nav.DdOXbPSM.js.map} +1 -1
  27. package/dist/esm/chunks/{header-pane.C1RWesOW.js → header-pane.DrVjpN5S.js} +2 -2
  28. package/dist/esm/chunks/{header-pane.C1RWesOW.js.map → header-pane.DrVjpN5S.js.map} +1 -1
  29. package/dist/esm/chunks/{input-with-tags.DrDDPxse.js → input-with-tags.DLv9e0XI.js} +2 -2
  30. package/dist/esm/chunks/{input-with-tags.DrDDPxse.js.map → input-with-tags.DLv9e0XI.js.map} +1 -1
  31. package/dist/esm/chunks/{review-list.qvxeqG9l.js → review-list.Cn5bw-lP.js} +4 -4
  32. package/dist/esm/chunks/review-list.Cn5bw-lP.js.map +1 -0
  33. package/dist/esm/chunks/{sidebar.IcJADYLR.js → sidebar.DsEgGwJU.js} +2 -2
  34. package/dist/esm/chunks/{sidebar.IcJADYLR.js.map → sidebar.DsEgGwJU.js.map} +1 -1
  35. package/dist/esm/chunks/status-badge.BLB0pWDn.js +3 -0
  36. package/dist/esm/chunks/status-badge.BLB0pWDn.js.map +1 -0
  37. package/dist/esm/chunks/{two-level-combobox.Bv2OQgjh.js → two-level-combobox.DJYP--W9.js} +2 -2
  38. package/dist/esm/chunks/{two-level-combobox.Bv2OQgjh.js.map → two-level-combobox.DJYP--W9.js.map} +1 -1
  39. package/dist/esm/components/article-suggestions-banner.js +2 -2
  40. package/dist/esm/components/article-suggestions-banner.js.map +1 -1
  41. package/dist/esm/components/chat-search.js +1 -1
  42. package/dist/esm/components/combobox.js +1 -1
  43. package/dist/esm/components/conversation.js +1 -1
  44. package/dist/esm/components/convos.js +4 -4
  45. package/dist/esm/components/convos.js.map +1 -1
  46. package/dist/esm/components/date-picker.js +1 -1
  47. package/dist/esm/components/feedback.js +1 -1
  48. package/dist/esm/components/file-upload.js +1 -1
  49. package/dist/esm/components/filter.js +1 -1
  50. package/dist/esm/components/font-picker.js +1 -1
  51. package/dist/esm/components/input-with-tags.js +1 -1
  52. package/dist/esm/components/markdown.js +1 -1
  53. package/dist/esm/components/two-level-combobox.js +1 -1
  54. package/dist/esm/components/ui/alert-dialog.js +1 -1
  55. package/dist/esm/components/ui/button.js +1 -1
  56. package/dist/esm/components/ui/combobox.js +1 -1
  57. package/dist/esm/components/ui/sheet.js +1 -1
  58. package/dist/esm/global.css +1 -1
  59. package/dist/esm/index.js +1 -1
  60. package/dist/esm/layouts/full-layout.js +1 -1
  61. package/dist/esm/layouts/header-nav.js +1 -1
  62. package/dist/esm/layouts/sidebar.js +1 -1
  63. package/dist/esm/scenes/knowledge-review.js +10 -10
  64. package/dist/esm/scenes/knowledge-review.js.map +1 -1
  65. package/dist/index.d.ts +10 -4
  66. package/dist/stats.html +1 -1
  67. package/package.json +1 -1
  68. package/dist/esm/chunks/button.BYc5d6AZ.js +0 -3
  69. package/dist/esm/chunks/button.BYc5d6AZ.js.map +0 -1
  70. package/dist/esm/chunks/review-list.qvxeqG9l.js.map +0 -1
  71. package/dist/esm/chunks/status-badge.C-jt7Zs2.js +0 -3
  72. package/dist/esm/chunks/status-badge.C-jt7Zs2.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainfish-ai/components",
3
- "version": "0.26.1",
3
+ "version": "0.27.0",
4
4
  "description": "Brainfish Components",
5
5
  "license": "MIT",
6
6
  "main": "./dist/esm/index.js",
@@ -1,3 +0,0 @@
1
- import*as e from"react";import{S as r}from"./index.uF4ME3WQ.js";import{cva as a}from"class-variance-authority";import{c as s}from"./utils.C6Qu-kwd.js";const o="shadow-brand hover:shadow-none !transition-shadow duration-300 ease-in-out active:shadow-brand-active dark:shadow-brand-dark dark:hover:shadow-none dark:active:shadow-brand-dark-active",t=a("inline-flex items-center text-dark-900 justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary border border-primary shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive border border-destructive shadow-sm hover:bg-destructive/90",success:"bg-success text-success border border-success shadow-sm hover:bg-success/90",outline:"border border-input border-border shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",suggestion:"bg-blue-600 text-white rounded-full",ghost:"hover:bg-dark-200 active:bg-dark-400",link:"text-foreground underline-offset-4 hover:underline",shadow:`bg-primary text-primary rounded border border-border ${o}`,shadowSurface:`bg-surface text-dark-900 rounded border border-border ${o}`,dark:"bg-dark-700 text-white dark:text-primary shadow hover:bg-dark-800 dark:bg-primary dark:hover:bg-primary/80 focus-visible:bg-dark-800 dark:focus-visible:bg-primary/80"},size:{default:"h-9 p-2",xs:"h-8 rounded-md px-2 text-sm gap-1.5",sm:"h-8 rounded-md px-3 text-sm",lg:"h-10 rounded-md px-8",icon:"h-9 w-9 [&_svg]:size-5"}},defaultVariants:{variant:"default",size:"default"}}),d=e.forwardRef(({className:a,variant:o,size:d,asChild:i=!1,...n},c)=>{const b=i?r:"button";/* @__PURE__ */
2
- return e.createElement(b,{className:s(t({variant:o,size:d,className:a})),ref:c,...n})});d.displayName="Button";export{d as B,o as a,t as b};
3
- //# sourceMappingURL=button.BYc5d6AZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.BYc5d6AZ.js","sources":["../../../src/lib/styles.ts","../../../src/components/ui/button.tsx"],"sourcesContent":["export const brandShadowEffect =\n 'shadow-brand hover:shadow-none !transition-shadow duration-300 ease-in-out active:shadow-brand-active dark:shadow-brand-dark dark:hover:shadow-none dark:active:shadow-brand-dark-active';\n","import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\nimport { brandShadowEffect } from '@/lib/styles';\n\nconst buttonVariants = cva(\n 'inline-flex items-center text-dark-900 justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary border border-primary shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive border border-destructive shadow-sm hover:bg-destructive/90',\n success: 'bg-success text-success border border-success shadow-sm hover:bg-success/90',\n outline: 'border border-input border-border shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n suggestion: 'bg-blue-600 text-white rounded-full',\n ghost: 'hover:bg-dark-200 active:bg-dark-400',\n link: 'text-foreground underline-offset-4 hover:underline',\n shadow: `bg-primary text-primary rounded border border-border ${brandShadowEffect}`,\n shadowSurface: `bg-surface text-dark-900 rounded border border-border ${brandShadowEffect}`,\n dark: 'bg-dark-700 text-white dark:text-primary shadow hover:bg-dark-800 dark:bg-primary dark:hover:bg-primary/80 focus-visible:bg-dark-800 dark:focus-visible:bg-primary/80',\n },\n size: {\n default: 'h-9 p-2',\n xs: 'h-8 rounded-md px-2 text-sm gap-1.5',\n sm: 'h-8 rounded-md px-3 text-sm',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9 [&_svg]:size-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"names":["brandShadowEffect","buttonVariants","cva","variants","variant","default","destructive","success","outline","secondary","suggestion","ghost","link","shadow","shadowSurface","dark","size","xs","sm","lg","icon","defaultVariants","Button","React","forwardRef","className","asChild","props","ref","Comp","Slot","createElement","cn","displayName"],"mappings":"uJAAO,MAAMA,EACX,2LCMIC,EAAiBC,EACrB,sTACA,CACEC,SAAU,CACRC,QAAS,CACPC,QAAS,2EACTC,YAAa,8FACbC,QAAS,8EACTC,QAAS,2FACTC,UAAW,yEACXC,WAAY,sCACZC,MAAO,uCACPC,KAAM,qDACNC,OAAQ,wDAAwDb,IAChEc,cAAe,yDAAyDd,IACxEe,KAAM,yKAERC,KAAM,CACJX,QAAS,UACTY,GAAI,sCACJC,GAAI,8BACJC,GAAI,uBACJC,KAAM,2BAGVC,gBAAiB,CACfjB,QAAS,UACTY,KAAM,aAUNM,EAASC,EAAMC,WACnB,EAAGC,YAAWrB,UAASY,OAAMU,WAAU,KAAUC,GAASC,KACxD,MAAMC,EAAOH,EAAUI,EAAO;AAE9B,OAAOP,EAAAQ,cAACF,EAAA,CAAKJ,UAAWO,EAAG/B,EAAe,CAAEG,UAASY,OAAMS,eAAeG,SAAcD,MAG5FL,EAAOW,YAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-list.qvxeqG9l.js","sources":["../../../src/scenes/knowledge-review/review-list/edit-count.tsx","../../../src/scenes/knowledge-review/review-list/review-list-item.tsx","../../../src/scenes/knowledge-review/context.tsx","../../../src/scenes/knowledge-review/review-list/review-list.tsx"],"sourcesContent":["import React from 'react';\nimport { Circle } from '@phosphor-icons/react';\n\nexport function EditCount({ count }: { count: number }) {\n return (\n <span className=\"inline-flex items-center gap-0.5\">\n <Circle size={8} weight=\"fill\" aria-hidden=\"true\" className=\"text-blue\" />\n <span className=\"text-xs leading-4 text-subtle\">\n {count} {count === 1 ? 'edit' : 'edits'}\n </span>\n </span>\n );\n}\n","import * as React from 'react';\n\nimport { EditCount } from './edit-count';\n\nimport { cn } from '@/lib/utils';\nimport { formatDistance } from '@/lib/formatDate';\nimport { StatusBadge } from '@/components/convos/status-badge';\n\nexport interface ReviewListItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Unique identifier for the knowledge article */\n id: string;\n /** Primary text displayed in the first row */\n title: string;\n /** Content rendered in the top-right corner (e.g. relative timestamp) */\n timestamp: Date;\n /** Icon rendered at the start of the second row */\n icon?: React.ReactNode;\n /** Text or content next to the icon in the second row */\n description?: string | null;\n /** Whether this item is new */\n isNew?: boolean;\n /** Whether this item has been accepted (e.g. accepted as draft) */\n isAccepted?: boolean;\n /** Number of edits for this item */\n editCount?: number;\n /** Whether this item is currently selected */\n isSelected?: boolean;\n}\n\nexport const ReviewListItem = React.forwardRef<HTMLButtonElement, ReviewListItemProps>(function ReviewListItem(\n { title, timestamp, icon, description, isNew, isAccepted, editCount, isSelected = false, className, ...props },\n ref,\n) {\n let status: React.ReactNode | undefined;\n if (isAccepted) {\n status = <StatusBadge variant=\"accepted\">Accepted</StatusBadge>;\n } else if (isNew) {\n status = <StatusBadge variant=\"success\">New</StatusBadge>;\n } else if (editCount) {\n status = <EditCount count={editCount} />;\n }\n\n return (\n <button\n {...props}\n ref={ref}\n type=\"button\"\n aria-pressed={isSelected}\n className={cn(\n 'relative flex w-full flex-col gap-1 bg-surface rounded p-4 cursor-pointer transition-colors text-left border border-transparent',\n isSelected\n ? [\n 'shadow-[0px_1px_3px_0px_rgba(95,95,95,0.26)]',\n 'after:content-[\"\"] after:block after:absolute after:right-[-2px] after:top-1/2 after:-translate-y-1/2 after:w-1 after:h-14 after:rounded-sm after:bg-primary',\n ]\n : 'hover:bg-dark-100 hover:border-dark-300',\n className,\n )}\n >\n {/* Row 1: Title + Timestamp */}\n <span className=\"flex items-center justify-between w-full gap-2\">\n <span className={cn('text-sm text-default truncate min-w-0 flex-1', isSelected ? 'font-bold' : 'font-normal')}>\n {title}\n </span>\n {timestamp && <span className=\"text-xs leading-4 text-subtlest shrink-0\">{formatDistance(timestamp)}</span>}\n </span>\n\n {/* Row 2: Icon + Description + Status */}\n {(icon || description || status) && (\n <span className=\"flex items-center gap-1 leading-4\">\n {icon && <span className=\"shrink-0 flex items-center\">{icon}</span>}\n {description && <span className=\"text-xs text-subtle truncate\">{description}</span>}\n {status && <span className=\"shrink-0 ml-1 flex items-center\">{status}</span>}\n </span>\n )}\n </button>\n );\n});\n","import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\n\nimport type { ReviewListItemProps } from './review-list/review-list-item';\n\nexport type LoadedDiffDoc = {\n isNew: boolean;\n diffTitle: string;\n diffContent: React.ReactNode;\n};\n\ntype ReviewsSelectionValue = {\n selectedItem: ReviewListItemProps | null;\n setSelectedItem: (item: ReviewListItemProps | null) => void;\n loadedDiffDoc: LoadedDiffDoc | null;\n setLoadedDiffDoc: (doc: LoadedDiffDoc | null) => void;\n loadingDiff: boolean;\n setLoadingDiff: (loading: boolean) => void;\n onApproveAllSuggestions: () => void;\n onRejectAllSuggestions: () => void;\n onAcceptAndPublish?: () => void;\n onOpenArticleLink?: () => void;\n onSourceLinkClick?: () => void;\n breadcrumb?: string;\n suggestionReasonBody?: string;\n};\n\nconst ReviewsContext = createContext<ReviewsSelectionValue | null>(null);\n\nexport type ReviewsProviderProps = {\n children: React.ReactNode;\n /** Optional initial selection (e.g. from server or mock data) */\n defaultSelectedItem?: ReviewListItemProps | null;\n onApproveAllSuggestions: () => void;\n onRejectAllSuggestions: () => void;\n onAcceptAndPublish?: () => void;\n onOpenArticleLink?: () => void;\n onSourceLinkClick?: () => void;\n breadcrumb?: string;\n suggestionReasonBody?: string;\n};\n\nexport function ReviewsSelectionProvider({\n children,\n defaultSelectedItem = null,\n onApproveAllSuggestions,\n onRejectAllSuggestions,\n onAcceptAndPublish,\n onOpenArticleLink,\n onSourceLinkClick,\n breadcrumb,\n suggestionReasonBody,\n}: ReviewsProviderProps) {\n const [userSelectedItem, setUserSelectedItem] = useState<ReviewListItemProps | null>(null);\n const selectedItem = userSelectedItem ?? defaultSelectedItem;\n\n const [loadedDiffDoc, setLoadedDiffDoc] = useState<LoadedDiffDoc | null>(null);\n\n const [loadingDiff, setLoadingDiff] = useState(false);\n\n const handleSelect = useCallback((item: ReviewListItemProps | null) => setUserSelectedItem(item), []);\n const value = useMemo<ReviewsSelectionValue>(\n () => ({\n selectedItem,\n setSelectedItem: handleSelect,\n loadedDiffDoc,\n setLoadedDiffDoc,\n loadingDiff,\n setLoadingDiff,\n onApproveAllSuggestions,\n onRejectAllSuggestions,\n onAcceptAndPublish,\n onOpenArticleLink,\n onSourceLinkClick,\n breadcrumb,\n suggestionReasonBody,\n }),\n [\n selectedItem,\n handleSelect,\n loadedDiffDoc,\n loadingDiff,\n onApproveAllSuggestions,\n onRejectAllSuggestions,\n onAcceptAndPublish,\n onOpenArticleLink,\n onSourceLinkClick,\n breadcrumb,\n suggestionReasonBody,\n ],\n );\n\n return <ReviewsContext.Provider value={value}>{children}</ReviewsContext.Provider>;\n}\n\nexport function useReviewsSelection(): ReviewsSelectionValue {\n const ctx = useContext(ReviewsContext);\n if (!ctx) {\n throw new Error('useReviewsSelection must be used within ReviewsSelectionProvider');\n }\n\n return ctx;\n}\n","import React, { forwardRef } from 'react';\n\nimport { ReviewListItem, ReviewListItemProps } from './review-list-item';\nimport { useReviewsSelection } from '../context';\n\nimport { cn } from '@/lib/utils';\n\ninterface ReviewListProps {\n items: ReviewListItemProps[];\n className?: string;\n}\n\nexport const ReviewList = forwardRef<HTMLUListElement, ReviewListProps>(({ items, className, ...props }, ref) => {\n const { selectedItem, setSelectedItem } = useReviewsSelection();\n\n return (\n <ul\n ref={ref}\n className={cn(\n 'min-w-0 w-full overflow-hidden bg-muted border border-dark-300 rounded-lg p-2 space-y-2 list-none m-0',\n className,\n )}\n {...props}\n >\n {items.map((item) => (\n <li key={item.id}>\n <ReviewListItem {...item} isSelected={selectedItem?.id === item.id} onClick={() => setSelectedItem(item)} />\n </li>\n ))}\n </ul>\n );\n});\nReviewList.displayName = 'ReviewList';\n"],"names":["EditCount","count","React","createElement","className","Circle","size","weight","ReviewListItem","forwardRef","title","timestamp","icon","description","isNew","isAccepted","editCount","isSelected","props","ref","status","StatusBadge","variant","type","cn","formatDistance","ReviewsContext","createContext","ReviewsSelectionProvider","children","defaultSelectedItem","onApproveAllSuggestions","onRejectAllSuggestions","onAcceptAndPublish","onOpenArticleLink","onSourceLinkClick","breadcrumb","suggestionReasonBody","userSelectedItem","setUserSelectedItem","useState","selectedItem","loadedDiffDoc","setLoadedDiffDoc","loadingDiff","setLoadingDiff","handleSelect","useCallback","item","value","useMemo","setSelectedItem","Provider","useReviewsSelection","ctx","useContext","Error","ReviewList","items","map","key","id","onClick","displayName"],"mappings":"gUAGO,SAASA,GAAUC,MAAEA;AAC1B,OACEC,EAAAC,cAAC,OAAA,CAAKC,UAAU,mDACdF,EAAAC,cAACE,GAAOC,KAAM,EAAGC,OAAO,OAAO,cAAY,OAAOH,UAAU,6BAC5DF,EAAAC,cAAC,OAAA,CAAKC,UAAU,iCACbH,EAAM,IAAY,IAAVA,EAAc,OAAS,SAIxC,CCiBO,MAAMO,EAAiBN,EAAMO,WAAmD,UACrFC,MAAEA,YAAOC,EAAAC,KAAWA,EAAAC,YAAMA,QAAaC,EAAAC,WAAOA,EAAAC,UAAYA,aAAWC,GAAa,EAAAb,UAAOA,KAAcc,GACvGC,GAEA,IAAIC,EASJ,OARIL,EACFK,iBAASlB,EAAAC,cAACkB,EAAA,CAAYC,QAAQ,YAAW,YAChCR,EACTM,iBAASlB,EAAAC,cAACkB,EAAA,CAAYC,QAAQ,WAAU,OAC/BN,IACTI,iBAASlB,EAAAC,cAACH,EAAA,CAAUC,MAAOe,oBAI3Bd,EAAAC,cAAC,SAAA,IACKe,EACJC,MACAI,KAAK,SACL,eAAcN,EACdb,UAAWoB,EACT,kIACAP,EACI,CACE,+CACA,gKAEF,0CACJb;eAIFF,EAAAC,cAAC,QAAKC,UAAU,iFACb,OAAA,CAAKA,UAAWoB,EAAG,+CAAgDP,EAAa,YAAc,gBAC5FP,GAEFC,kBAAaT,EAAAC,cAAC,OAAA,CAAKC,UAAU,4CAA4CqB,EAAed,MAIzFC,GAAQC,GAAeO,mBACvBlB,EAAAC,cAAC,OAAA,CAAKC,UAAU,qCACbQ,kBAAQV,EAAAC,cAAC,OAAA,CAAKC,UAAU,8BAA8BQ,GACtDC,kBAAeX,EAAAC,cAAC,OAAA,CAAKC,UAAU,gCAAgCS,GAC/DO,kBAAUlB,EAAAC,cAAC,OAAA,CAAKC,UAAU,mCAAmCgB,IAKxE,GCnDMM,EAAiBC,EAA4C,MAe5D,SAASC,GAAyBC,SACvCA,EAAAC,oBACAA,EAAsB,KAAAC,wBACtBA,EAAAC,uBACAA,EAAAC,mBACAA,EAAAC,kBACAA,EAAAC,kBACAA,EAAAC,WACAA,EAAAC,qBACAA,IAEA,MAAOC,EAAkBC,GAAuBC,EAAqC,MAC/EC,EAAeH,GAAoBR,GAElCY,EAAeC,GAAoBH,EAA+B,OAElEI,EAAaC,GAAkBL,GAAS,GAEzCM,EAAeC,EAAaC,GAAqCT,EAAoBS,GAAO,IAC5FC,EAAQC,EACZ,KAAA,CACET,eACAU,gBAAiBL,EACjBJ,gBACAC,mBACAC,cACAC,iBACAd,0BACAC,yBACAC,qBACAC,oBACAC,oBACAC,aACAC,yBAEF,CACEI,EACAK,EACAJ,EACAE,EACAb,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC;AAIJ,OAAOnC,EAAAC,cAACuB,EAAe0B,SAAf,CAAwBH,SAAepB,EACjD,CAEO,SAASwB,IACd,MAAMC,EAAMC,EAAW7B,GACvB,IAAK4B,EACH,MAAM,IAAIE,MAAM,oEAGlB,OAAOF,CACT,CCzFO,MAAMG,EAAahD,EAA8C,EAAGiD,QAAOtD,eAAcc,GAASC,KACvG,MAAMsB,aAAEA,EAAAU,gBAAcA,GAAoBE;AAE1C,OACEnD,EAAAC,cAAC,KAAA,CACCgB,MACAf,UAAWoB,EACT,wGACApB,MAEEc,GAEHwC,EAAMC,IAAKX,kBACV9C,EAAAC,cAAC,MAAGyD,IAAKZ,EAAKa,mBACZ3D,EAAAC,cAACK,EAAA,IAAmBwC,EAAM/B,WAAYwB,GAAcoB,KAAOb,EAAKa,GAAIC,QAAS,IAAMX,EAAgBH,UAM7GS,EAAWM,YAAc"}
@@ -1,3 +0,0 @@
1
- import e from"react";import{Check as a,Circle as t}from"@phosphor-icons/react";import{Badge as s}from"../components/ui/badge.js";import{c}from"./utils.C6Qu-kwd.js";const r=e.forwardRef(({className:r,suffix:m,variant:n,children:p,...i},l)=>{const o="accepted"===n?a:t,d="accepted"===n?"success":n,f="accepted"===n?"bold":"fill",u="accepted"===n?"!size-3":"!size-2";/* @__PURE__ */
2
- return e.createElement("span",{ref:l,className:c("flex items-center gap-1 rounded-md p-1",m&&"bg-dark-300",r)},/* @__PURE__ */e.createElement(s,{...i,variant:d},/* @__PURE__ */e.createElement("span",{className:"flex items-center gap-1"},/* @__PURE__ */e.createElement(o,{weight:f,size:8,className:u}),p)),m&&/* @__PURE__ */e.createElement("span",{className:"text-xs text-default"},m))});r.displayName="StatusBadge";export{r as S};
3
- //# sourceMappingURL=status-badge.C-jt7Zs2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-badge.C-jt7Zs2.js","sources":["../../../src/components/convos/status-badge.tsx"],"sourcesContent":["import React from 'react';\nimport { Circle, Check } from '@phosphor-icons/react';\n\nimport { Badge } from '@/components/ui/badge';\nimport { cn } from '@/lib/utils';\n\ntype Props = Omit<React.ComponentPropsWithRef<typeof Badge>, 'variant'> & {\n variant?: React.ComponentPropsWithRef<typeof Badge>['variant'] | 'accepted';\n suffix?: React.ReactNode;\n};\n\nexport const StatusBadge = React.forwardRef<HTMLSpanElement, Props>(\n ({ className, suffix, variant, children, ...props }, ref) => {\n const Icon = variant === 'accepted' ? Check : Circle;\n const badgeVariant = variant === 'accepted' ? 'success' : variant;\n const weight = variant === 'accepted' ? 'bold' : 'fill';\n const size = variant === 'accepted' ? `!size-3` : `!size-2`;\n\n return (\n <span ref={ref} className={cn('flex items-center gap-1 rounded-md p-1', suffix && 'bg-dark-300', className)}>\n <Badge {...props} variant={badgeVariant}>\n <span className=\"flex items-center gap-1\">\n <Icon weight={weight} size={8} className={size} />\n {children}\n </span>\n </Badge>\n {suffix && <span className=\"text-xs text-default\">{suffix}</span>}\n </span>\n );\n },\n);\n\nStatusBadge.displayName = 'StatusBadge';\n"],"names":["StatusBadge","React","forwardRef","className","suffix","variant","children","props","ref","Icon","Check","Circle","badgeVariant","weight","size","cn","Badge","createElement","displayName"],"mappings":"oKAWO,MAAMA,EAAcC,EAAMC,WAC/B,EAAGC,YAAWC,SAAQC,UAASC,cAAaC,GAASC,KACnD,MAAMC,EAAmB,aAAZJ,EAAyBK,EAAQC,EACxCC,EAA2B,aAAZP,EAAyB,UAAYA,EACpDQ,EAAqB,aAAZR,EAAyB,OAAS,OAC3CS,EAAmB,aAAZT,EAAyB,UAAY;AAElD,uBACG,OAAA,CAAKG,MAAUL,UAAWY,EAAG,yCAA0CX,GAAU,cAAeD,mCAC9Fa,EAAA,IAAUT,EAAOF,QAASO,kBACzBX,EAAAgB,cAAC,OAAA,CAAKd,UAAU,0DACbM,EAAA,CAAKI,SAAgBC,KAAM,EAAGX,UAAWW,IACzCR,IAGJF,kBAAUH,EAAAgB,cAAC,QAAKd,UAAU,wBAAwBC,MAM3DJ,EAAYkB,YAAc"}