@agimon-ai/po-native-components 0.0.0-alpha.72 → 0.0.0-alpha.74

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.
@@ -0,0 +1,15 @@
1
+ import { StyleProp, ViewStyle } from "react-native";
2
+ //#region src/components/CountBadge.d.ts
3
+ export interface CountBadgeProps {
4
+ /** Things waiting for the person; zero or less renders nothing. */
5
+ count: number;
6
+ /** Placement, usually absolute on an icon's top-right; `borderColor` matches the surface behind it. */
7
+ style?: StyleProp<ViewStyle>;
8
+ }
9
+ /**
10
+ * The rose count of things waiting for the person, worn on an icon or avatar corner.
11
+ * A gentle ask, so it is rose, never red. Hidden from screen readers: the owner names the count.
12
+ */
13
+ export declare function CountBadge({ count, style }: CountBadgeProps): import("react").JSX.Element | null;
14
+ //#endregion
15
+ //# sourceMappingURL=CountBadge.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountBadge.d.mts","names":[],"sources":["../../src/components/CountBadge.tsx"],"mappings":";;iBAKiB;;EAEf;;EAEA,QAAQ,UAAU;;;;;;wBAOJ,aAAa,OAAO,SAAS,kCAAe,IAAA"}
@@ -0,0 +1,49 @@
1
+ import { fontOf } from "../lib/fonts.mjs";
2
+ import { View } from "react-native-unistyles/components/native/View";
3
+ import { Text } from "react-native-unistyles/components/native/Text";
4
+ import { StyleSheet } from "react-native-unistyles";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/components/CountBadge.tsx
8
+ /**
9
+ * The rose count of things waiting for the person, worn on an icon or avatar corner.
10
+ * A gentle ask, so it is rose, never red. Hidden from screen readers: the owner names the count.
11
+ */
12
+ function CountBadge({ count, style }) {
13
+ if (count <= 0) return null;
14
+ return /* @__PURE__ */ jsx(View, {
15
+ accessible: false,
16
+ importantForAccessibility: "no-hide-descendants",
17
+ style: [styles.badge, style],
18
+ children: /* @__PURE__ */ jsx(Text, {
19
+ style: styles.text,
20
+ children: count > 9 ? "9+" : String(count)
21
+ })
22
+ });
23
+ }
24
+ const styles = StyleSheet.create((theme) => ({
25
+ badge: {
26
+ minWidth: 16,
27
+ height: 16,
28
+ paddingHorizontal: 4,
29
+ borderRadius: 8,
30
+ alignItems: "center",
31
+ justifyContent: "center",
32
+ backgroundColor: theme.colors.magenta,
33
+ borderWidth: 1.5,
34
+ borderColor: theme.colors.panel,
35
+ uni__dependencies: [0]
36
+ },
37
+ text: {
38
+ fontFamily: fontOf(theme.fontFamily.sans),
39
+ fontSize: theme.fontSize["2xs"],
40
+ lineHeight: 12,
41
+ fontWeight: theme.fontWeight.semibold,
42
+ color: theme.colors.bg,
43
+ uni__dependencies: [0]
44
+ }
45
+ }));
46
+
47
+ //#endregion
48
+ export { CountBadge };
49
+ //# sourceMappingURL=CountBadge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountBadge.mjs","names":["StyleProp","ViewStyle","StyleSheet","fontOf","CountBadgeProps","count","style","CountBadge","styles","badge","text","String","create","theme","minWidth","height","paddingHorizontal","borderRadius","alignItems","justifyContent","backgroundColor","colors","magenta","borderWidth","borderColor","panel","uni__dependencies","fontFamily","sans","fontSize","lineHeight","fontWeight","semibold","color","bg"],"sources":["../../src/components/CountBadge.tsx"],"sourcesContent":["import { type StyleProp, Text, View, type ViewStyle } from 'react-native';\nimport { StyleSheet } from 'react-native-unistyles';\n\nimport { fontOf } from '../lib/fonts';\n\nexport interface CountBadgeProps {\n /** Things waiting for the person; zero or less renders nothing. */\n count: number;\n /** Placement, usually absolute on an icon's top-right; `borderColor` matches the surface behind it. */\n style?: StyleProp<ViewStyle>;\n}\n\n/**\n * The rose count of things waiting for the person, worn on an icon or avatar corner.\n * A gentle ask, so it is rose, never red. Hidden from screen readers: the owner names the count.\n */\nexport function CountBadge({ count, style }: CountBadgeProps) {\n if (count <= 0) return null;\n return (\n <View accessible={false} importantForAccessibility=\"no-hide-descendants\" style={[styles.badge, style]}>\n <Text style={styles.text}>{count > 9 ? '9+' : String(count)}</Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create((theme) => ({\n badge: {\n minWidth: 16,\n height: 16,\n paddingHorizontal: 4,\n borderRadius: 8,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colors.magenta,\n borderWidth: 1.5,\n borderColor: theme.colors.panel,\n },\n text: {\n fontFamily: fontOf(theme.fontFamily.sans),\n fontSize: theme.fontSize['2xs'],\n lineHeight: 12,\n fontWeight: theme.fontWeight.semibold,\n color: theme.colors.bg,\n },\n}));\n"],"mappings":";;;;;;;;;;;AAgBA,SAAgBO,WAAW,EAAEF,OAAOC,SAA0B;CAC5D,IAAID,SAAS,GAAG,OAAO;CACvB,OACE,oBAAC,MAAD;EAAM,YAAY;EAAO,2BAA0B;EAAsB,OAAO,CAACG,OAAOC,OAAOH,KAAK;YAClG,oBAAC,MAAD;GAAM,OAAOE,OAAOE;aAAOL,QAAQ,IAAI,OAAOM,OAAON,KAAK;EAAQ;CAC9D;AAEV;AAEA,MAAMG,SAASN,WAAWU,QAAQC,WAAW;CAC3CJ,OAAO;EACLK,UAAU;EACVC,QAAQ;EACRC,mBAAmB;EACnBC,cAAc;EACdC,YAAY;EACZC,gBAAgB;EAChBC,iBAAiBP,MAAMQ,OAAOC;EAC9BC,aAAa;EACbC,aAAaX,MAAMQ,OAAOI;EAAKC,mBAAA,CAAA,CAAA;CACjC;CACAhB,MAAM;EACJiB,YAAYxB,OAAOU,MAAMc,WAAWC,IAAI;EACxCC,UAAUhB,MAAMgB,SAAS;EACzBC,YAAY;EACZC,YAAYlB,MAAMkB,WAAWC;EAC7BC,OAAOpB,MAAMQ,OAAOa;EAAER,mBAAA,CAAA,CAAA;CACxB;AACF,EAAE"}
package/dist/index.d.mts CHANGED
@@ -5,6 +5,7 @@ import { Button, ButtonProps, ButtonSize, ButtonVariant } from "./components/But
5
5
  import { CodeBlock, CodeBlockProps } from "./components/CodeBlock.mjs";
6
6
  import { CopyButton, CopyButtonProps } from "./components/CopyButton.mjs";
7
7
  import { Dialog, DialogBody, DialogClose, DialogContent, DialogContentProps, DialogDescription, DialogFooter, DialogFooterProps, DialogFooterVariant, DialogHeader, DialogHeaderProps, DialogPartProps, DialogProps, DialogTitle, DialogTrigger, DialogWidth } from "./components/Dialog.mjs";
8
+ import { CountBadge, CountBadgeProps } from "./components/CountBadge.mjs";
8
9
  import { Dot, DotProps, DotSize, DotTone } from "./components/Dot.mjs";
9
10
  import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemProps, DropdownMenuContent, DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuItemVariant, DropdownMenuLabel, DropdownMenuPartProps, DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioGroupProps, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger } from "./components/DropdownMenu.mjs";
10
11
  import { EmptyState, EmptyStateProps } from "./components/EmptyState.mjs";
@@ -38,4 +39,4 @@ import { HostFilter, HostFilterProps } from "./components/HostFilter.mjs";
38
39
  import { HostTag } from "./components/HostTag.mjs";
39
40
  import { InfoStrip } from "./components/InfoStrip.mjs";
40
41
  import { AnsiSpan, PresentedLine, ReviewComment, ansiSpans, buildReviewPrompt, collapseLines, hashlineBody, resultTextLines } from "@agimon-ai/po-web-components/text";
41
- export { ActivityIcon, AgentAvatar, type AgentState, AlertIcon, type AnnotationMark, AnnotationSurface, type AnnotationSurfaceProps, type AnsiSpan, ArrowRightIcon, AudioLinesIcon, Badge, type BadgeProps, type BadgeSize, type BadgeTone, BranchIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CodeBlock, type CodeBlockProps, CopyButton, type CopyButtonProps, CopyIcon, Dialog, DialogBody, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, type DialogFooterProps, type DialogFooterVariant, DialogHeader, type DialogHeaderProps, type DialogPartProps, type DialogProps, DialogTitle, DialogTrigger, type DialogWidth, Dot, type DotProps, type DotSize, type DotTone, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuPartProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, EditIcon, EmptyState, type EmptyStateProps, type FieldSize, type FieldVariant, FileIcon, type FileLinkHandler, FolderIcon, ForkIcon, GearIcon, GlobeIcon, HashlineLines, type HashlineLinesProps, HomeIcon, HostFilter, type HostFilterProps, HostTag, IconColorContext, type IconName, type IconProps, ImageIcon, InfoStrip, Input, type InputProps, KebabIcon, Label, type LabelProps, LightbulbIcon, List, type ListProps, ListRow, type ListRowProps, LiveDuration, type LiveDurationProps, type LiveDurationReading, LockIcon, Markdown, type MarkdownImageLoader, type MarkdownProps, MenuIcon, MessageIcon, MessageItem, MessageItemBody, MessageItemGroup, type MessageItemGroupProps, MessageItemHeader, type MessageItemHeaderProps, type MessageItemPartProps, type MessageItemProps, type MessageItemState, MessageItemStatus, type MessageItemStatusProps, MicIcon, PaletteIcon, Panel, PanelBody, PanelHeader, type PanelPartProps, PlayCircleIcon, PlusIcon, PoNativeProvider, type PoNativeProviderProps, type PresentedLine, type ReviewComment, STATUS_EDGE, STATUS_GLYPH, STATUS_LABEL, SearchIcon, SectionLabel, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, SendIcon, Sheet, SheetBody, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, type SheetHeaderProps, SheetList, type SheetListProps, type SheetPartProps, type SheetProps, SheetTitle, SheetTrigger, ShieldIcon, ShowMore, type ShowMoreProps, SlidersIcon, SparklesIcon, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeProps, type StatusBadgeSize, type StatusTone, StopIcon, SyntaxLine, type SyntaxLineProps, TabBadge, type TabBadgeProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TaskIcon, Textarea, type TextareaProps, ToolPathLink, type ToolPathLinkProps, TrashIcon, UserIcon, UsersIcon, WorkflowIcon, WrenchIcon, agentInitials, ansiSpans, buildReviewPrompt, collapseLines, fontOf, hashlineBody, impactLight, resultTextLines, selectionTick, sheetsYielded, toolTone, useMessageItem, useSyntaxLines, yieldSheets };
42
+ export { ActivityIcon, AgentAvatar, type AgentState, AlertIcon, type AnnotationMark, AnnotationSurface, type AnnotationSurfaceProps, type AnsiSpan, ArrowRightIcon, AudioLinesIcon, Badge, type BadgeProps, type BadgeSize, type BadgeTone, BranchIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CodeBlock, type CodeBlockProps, CopyButton, type CopyButtonProps, CopyIcon, CountBadge, type CountBadgeProps, Dialog, DialogBody, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, type DialogFooterProps, type DialogFooterVariant, DialogHeader, type DialogHeaderProps, type DialogPartProps, type DialogProps, DialogTitle, DialogTrigger, type DialogWidth, Dot, type DotProps, type DotSize, type DotTone, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuPartProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, EditIcon, EmptyState, type EmptyStateProps, type FieldSize, type FieldVariant, FileIcon, type FileLinkHandler, FolderIcon, ForkIcon, GearIcon, GlobeIcon, HashlineLines, type HashlineLinesProps, HomeIcon, HostFilter, type HostFilterProps, HostTag, IconColorContext, type IconName, type IconProps, ImageIcon, InfoStrip, Input, type InputProps, KebabIcon, Label, type LabelProps, LightbulbIcon, List, type ListProps, ListRow, type ListRowProps, LiveDuration, type LiveDurationProps, type LiveDurationReading, LockIcon, Markdown, type MarkdownImageLoader, type MarkdownProps, MenuIcon, MessageIcon, MessageItem, MessageItemBody, MessageItemGroup, type MessageItemGroupProps, MessageItemHeader, type MessageItemHeaderProps, type MessageItemPartProps, type MessageItemProps, type MessageItemState, MessageItemStatus, type MessageItemStatusProps, MicIcon, PaletteIcon, Panel, PanelBody, PanelHeader, type PanelPartProps, PlayCircleIcon, PlusIcon, PoNativeProvider, type PoNativeProviderProps, type PresentedLine, type ReviewComment, STATUS_EDGE, STATUS_GLYPH, STATUS_LABEL, SearchIcon, SectionLabel, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, SendIcon, Sheet, SheetBody, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, type SheetHeaderProps, SheetList, type SheetListProps, type SheetPartProps, type SheetProps, SheetTitle, SheetTrigger, ShieldIcon, ShowMore, type ShowMoreProps, SlidersIcon, SparklesIcon, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeProps, type StatusBadgeSize, type StatusTone, StopIcon, SyntaxLine, type SyntaxLineProps, TabBadge, type TabBadgeProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TaskIcon, Textarea, type TextareaProps, ToolPathLink, type ToolPathLinkProps, TrashIcon, UserIcon, UsersIcon, WorkflowIcon, WrenchIcon, agentInitials, ansiSpans, buildReviewPrompt, collapseLines, fontOf, hashlineBody, impactLight, resultTextLines, selectionTick, sheetsYielded, toolTone, useMessageItem, useSyntaxLines, yieldSheets };
package/dist/index.mjs CHANGED
@@ -12,6 +12,7 @@ import { CopyButton } from "./components/CopyButton.mjs";
12
12
  import { ShowMore } from "./components/ShowMore.mjs";
13
13
  import { CodeBlock } from "./components/CodeBlock.mjs";
14
14
  import { Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "./components/Dialog.mjs";
15
+ import { CountBadge } from "./components/CountBadge.mjs";
15
16
  import { sheetsYielded, yieldSheets } from "./components/SheetFrame.mjs";
16
17
  import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger } from "./components/DropdownMenu.mjs";
17
18
  import { EmptyState } from "./components/EmptyState.mjs";
@@ -38,4 +39,4 @@ import { HostTag } from "./components/HostTag.mjs";
38
39
  import { InfoStrip } from "./components/InfoStrip.mjs";
39
40
  import { ansiSpans, buildReviewPrompt, collapseLines, hashlineBody, resultTextLines } from "@agimon-ai/po-web-components/text";
40
41
 
41
- export { ActivityIcon, AgentAvatar, AlertIcon, AnnotationSurface, ArrowRightIcon, AudioLinesIcon, Badge, BranchIcon, Button, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CodeBlock, CopyButton, CopyIcon, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Dot, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, EditIcon, EmptyState, FileIcon, FolderIcon, ForkIcon, GearIcon, GlobeIcon, HashlineLines, HomeIcon, HostFilter, HostTag, IconColorContext, ImageIcon, InfoStrip, Input, KebabIcon, Label, LightbulbIcon, List, ListRow, LiveDuration, LockIcon, Markdown, MenuIcon, MessageIcon, MessageItem, MessageItemBody, MessageItemGroup, MessageItemHeader, MessageItemStatus, MicIcon, PaletteIcon, Panel, PanelBody, PanelHeader, PlayCircleIcon, PlusIcon, PoNativeProvider, STATUS_EDGE, STATUS_GLYPH, STATUS_LABEL, SearchIcon, SectionLabel, SegmentedControl, SendIcon, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetList, SheetTitle, SheetTrigger, ShieldIcon, ShowMore, SlidersIcon, SparklesIcon, Spinner, StatusBadge, StopIcon, SyntaxLine, TabBadge, Tabs, TabsContent, TabsList, TabsTrigger, TaskIcon, Textarea, ToolPathLink, TrashIcon, UserIcon, UsersIcon, WorkflowIcon, WrenchIcon, agentInitials, ansiSpans, buildReviewPrompt, collapseLines, fontOf, hashlineBody, impactLight, resultTextLines, selectionTick, sheetsYielded, toolTone, useMessageItem, useSyntaxLines, yieldSheets };
42
+ export { ActivityIcon, AgentAvatar, AlertIcon, AnnotationSurface, ArrowRightIcon, AudioLinesIcon, Badge, BranchIcon, Button, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CodeBlock, CopyButton, CopyIcon, CountBadge, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Dot, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, EditIcon, EmptyState, FileIcon, FolderIcon, ForkIcon, GearIcon, GlobeIcon, HashlineLines, HomeIcon, HostFilter, HostTag, IconColorContext, ImageIcon, InfoStrip, Input, KebabIcon, Label, LightbulbIcon, List, ListRow, LiveDuration, LockIcon, Markdown, MenuIcon, MessageIcon, MessageItem, MessageItemBody, MessageItemGroup, MessageItemHeader, MessageItemStatus, MicIcon, PaletteIcon, Panel, PanelBody, PanelHeader, PlayCircleIcon, PlusIcon, PoNativeProvider, STATUS_EDGE, STATUS_GLYPH, STATUS_LABEL, SearchIcon, SectionLabel, SegmentedControl, SendIcon, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetList, SheetTitle, SheetTrigger, ShieldIcon, ShowMore, SlidersIcon, SparklesIcon, Spinner, StatusBadge, StopIcon, SyntaxLine, TabBadge, Tabs, TabsContent, TabsList, TabsTrigger, TaskIcon, Textarea, ToolPathLink, TrashIcon, UserIcon, UsersIcon, WorkflowIcon, WrenchIcon, agentInitials, ansiSpans, buildReviewPrompt, collapseLines, fontOf, hashlineBody, impactLight, resultTextLines, selectionTick, sheetsYielded, toolTone, useMessageItem, useSyntaxLines, yieldSheets };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/po-native-components",
3
- "version": "0.0.0-alpha.72",
3
+ "version": "0.0.0-alpha.74",
4
4
  "description": "Shared React Native components for Po and its native plugins: the web component library's look and API on native parts, tuned to the Po palette.",
5
5
  "keywords": [
6
6
  "ai",
@@ -45,11 +45,11 @@
45
45
  "access": "public"
46
46
  },
47
47
  "dependencies": {
48
- "@agimon-ai/po-web-components": "0.0.0-alpha.72"
48
+ "@agimon-ai/po-web-components": "0.0.0-alpha.74"
49
49
  },
50
50
  "devDependencies": {
51
- "@agimon-ai/po-build": "0.0.0-alpha.72",
52
- "@agimon-ai/vibe-lint-plugin-po-web": "0.0.0-alpha.72",
51
+ "@agimon-ai/po-build": "0.0.0-alpha.74",
52
+ "@agimon-ai/vibe-lint-plugin-po-web": "0.0.0-alpha.74",
53
53
  "@babel/core": "7.29.7",
54
54
  "@expo/vector-icons": "15.1.1",
55
55
  "@fontsource-variable/ibm-plex-sans": "5.3.0",