@thewhileloop/whileui 0.2.5 → 0.2.7

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/README.md CHANGED
@@ -4,27 +4,19 @@
4
4
 
5
5
  Beautiful, accessible, themeable components built with [Uniwind](https://uniwind.dev) + Tailwind CSS v4.
6
6
 
7
+ **Requirements:** React 19+, React Native 0.81+, Expo 52+ (if using Expo). Supports React Native Web.
8
+
7
9
  ## Installation
8
10
 
9
11
  ```bash
10
- npm install @thewhileloop/whileui
11
- # or
12
12
  bun add @thewhileloop/whileui
13
- ```
14
-
15
- ### Required Peer Dependencies
16
-
17
- ```bash
18
- bun add react@^19.0.0 react-native@^0.81.0 uniwind@^1.0.0 tailwindcss@^4.0.0
19
- bun add react-native-reanimated react-native-safe-area-context react-native-screens
20
- ```
21
-
22
- ### Portal Dependencies (Select, Popover, Tooltip, HoverCard)
23
-
24
- ```bash
13
+ bun add react@^19.0.0 react-native@^0.81.0 uniwind@^1.0.0 tailwindcss@^4.0.0 react-native-reanimated react-native-safe-area-context react-native-screens
14
+ # Only if you use Select, Popover, Tooltip, or HoverCard:
25
15
  bun add @rn-primitives/portal @rn-primitives/hooks @rn-primitives/slot @rn-primitives/select @rn-primitives/popover @rn-primitives/tooltip @rn-primitives/hover-card
26
16
  ```
27
17
 
18
+ Use `npm install` instead of `bun add` if you prefer npm.
19
+
28
20
  ### Setup Uniwind (required)
29
21
 
30
22
  1. **metro.config.js** (wrap with withUniwindConfig):
@@ -122,7 +114,7 @@ export default function App() {
122
114
  }
123
115
  ```
124
116
 
125
- > **Note:** `<PortalHost />` must be added at the root of your app (as the last child) to enable portal-based components like Select, Popover, Tooltip, and HoverCard to render correctly.
117
+ > **Note:** If you use Select, Popover, Tooltip, or HoverCard, add `<PortalHost />` at the root of your app (as the last child).
126
118
 
127
119
  ## Usage
128
120
 
@@ -274,18 +266,27 @@ function MyScreen() {
274
266
 
275
267
  ### Layout
276
268
 
277
- | Block | Description |
278
- | ---------------------- | ----------------------------------------------- |
279
- | **ActionBar** | Sticky bottom action row with safe-area padding |
280
- | **ConfirmActionSheet** | Reusable destructive confirmation sheet |
281
- | **FormModalScreen** | Modal scaffold for forms with loading states |
282
- | **EmptyState** | Empty content placeholder |
283
- | **ErrorState** | Error display with retry |
284
- | **LoadingScreen** | Full-screen loading indicator |
285
- | **OnboardingScreen** | Onboarding flow screen |
286
- | **SplashScreen** | Branded splash (fade/scale/slide variants) |
287
- | **MinimalSplash** | Minimal monochrome splash |
288
- | **BrandedSplash** | Splash with brand imagery |
269
+ | Block | Description |
270
+ | ---------------------- | ----------------------------------------------------------------------- |
271
+ | **ActionBar** | Sticky bottom action row with safe-area padding |
272
+ | **ConfirmActionSheet** | Reusable destructive confirmation sheet |
273
+ | **FormModalScreen** | Modal scaffold for forms with loading states |
274
+ | **EmptyState** | Empty content placeholder |
275
+ | **ErrorState** | Error display with retry |
276
+ | **LoadingScreen** | Full-screen loading indicator |
277
+ | **SmartInput** | Keyboard-aware compose input: left/center/right slots, bar/card variant |
278
+ | **OnboardingScreen** | Onboarding flow screen |
279
+ | **SplashScreen** | Branded splash (fade/scale/slide variants) |
280
+ | **MinimalSplash** | Minimal monochrome splash |
281
+ | **BrandedSplash** | Splash with brand imagery |
282
+
283
+ ### Chat
284
+
285
+ | Block | Description |
286
+ | --------------------- | ------------------------------------------------ |
287
+ | **Chat** | AI-style chat: messages, suggestions, SmartInput |
288
+ | **ChatMessageBubble** | Message bubble (user/assistant, big/small text) |
289
+ | **ChatSuggestions** | Suggestion chips when empty |
289
290
 
290
291
  ### Profile & Settings
291
292
 
@@ -314,7 +315,6 @@ function MyScreen() {
314
315
  | **CheckoutSummary** | Cart summary with line items |
315
316
  | **MetricCard** | Stats/progress card for dashboards |
316
317
 
317
-
318
318
  ### Media
319
319
 
320
320
  | Block | Description |
@@ -374,12 +374,13 @@ import { AppShell, Header, BottomNav, ScrollView } from '@thewhileloop/whileui';
374
374
 
375
375
  ### Flow Patterns
376
376
 
377
- | Flow | Blocks |
378
- | ---------- | ------------------------------------------------------------------------------ |
377
+ | Flow | Blocks |
378
+ | ---------- | ---------------------------------------------------------------------------------- |
379
379
  | Auth | SignInForm → SignUpForm → ForgotPasswordForm → VerifyEmailForm → ResetPasswordForm |
380
- | Settings | ProfileHeader + SettingsSection + SettingsItem (+ FormModalScreen for edits) |
381
- | E-commerce | ProductCard list → CheckoutSummary + ActionBar |
382
- | App shell | AppShell + Header + BottomNav + content |
380
+ | Settings | ProfileHeader + SettingsSection + SettingsItem (+ FormModalScreen for edits) |
381
+ | E-commerce | ProductCard list → CheckoutSummary + ActionBar |
382
+ | Chat | Chat + ChatSuggestions + SmartInput (attach, send). Extensible for images/tags |
383
+ | App shell | AppShell + Header + BottomNav + content |
383
384
 
384
385
  Block props: see TypeScript interfaces in `packages/ui/src/blocks`.
385
386
 
@@ -508,7 +509,6 @@ const adapter: ThemeBridgeAdapter = {
508
509
  const { mode, resolvedTheme, setMode, cycleMode } = useThemeBridge({ adapter });
509
510
  ```
510
511
 
511
-
512
512
  ## Tech Stack
513
513
 
514
514
  - **Styling**: [Uniwind](https://uniwind.dev) (free tier) + Tailwind CSS v4
@@ -517,12 +517,6 @@ const { mode, resolvedTheme, setMode, cycleMode } = useThemeBridge({ adapter });
517
517
  - **Expo**: SDK 54
518
518
  - **Monorepo**: bun + Turborepo
519
519
 
520
- ## License
521
-
522
- MIT
523
-
524
- ---
525
-
526
520
  # API Reference
527
521
 
528
522
  ## Button
@@ -556,12 +550,12 @@ import { Input } from '@thewhileloop/whileui';
556
550
  <Input placeholder="Email" variant="default" value={value} onChangeText={setValue} />;
557
551
  ```
558
552
 
559
- | Prop | Type | Default | Description |
560
- | -------------------- | ---------------------- | ----------- | ------------------------------------------------ |
561
- | variant | `'default' \| 'error'` | `'default'` | Input style variant |
562
- | placeholder | `string` | — | Placeholder text |
563
- | placeholderTextColor | `string` | — | Hex for placeholder (theme-aware when provided) |
564
- | editable | `boolean` | `true` | Whether input is editable |
553
+ | Prop | Type | Default | Description |
554
+ | -------------------- | ---------------------- | ----------- | ----------------------------------------------- |
555
+ | variant | `'default' \| 'error'` | `'default'` | Input style variant |
556
+ | placeholder | `string` | — | Placeholder text |
557
+ | placeholderTextColor | `string` | — | Hex for placeholder (theme-aware when provided) |
558
+ | editable | `boolean` | `true` | Whether input is editable |
565
559
 
566
560
  ## NumericInput
567
561
 
@@ -585,10 +579,10 @@ import { NumericInput } from '@thewhileloop/whileui';
585
579
  | variant | `'default' \| 'error'` | `'default'` | Input style |
586
580
  | size | `'default' \| 'compact'` | `'default'` | Density size |
587
581
  | value | `number \| null` | — | Controlled numeric value |
588
- | onValueChange | `(value: number \| null) => void` | — | Numeric value change callback |
582
+ | onValueChange | `(value: number \| null) => void` | — | Numeric value change callback |
589
583
  | placeholderTextColor | `string` | — | Hex for placeholder |
590
584
  | prefix / suffix | `ReactNode` | — | Left/right slots |
591
- | showSteppers | `boolean` | `false` | Show decrement/increment controls |
585
+ | showSteppers | `boolean` | `false` | Show decrement/increment controls |
592
586
 
593
587
  ## FormField
594
588
 
@@ -1096,6 +1090,69 @@ import { ActionBar, Button, ButtonText } from '@thewhileloop/whileui';
1096
1090
  </ActionBar>;
1097
1091
  ```
1098
1092
 
1093
+ ## SmartInput
1094
+
1095
+ Keyboard-aware compose input. `variant`: "bar" (sticky bottom) or "card" (floating). Slots: `leftSlot`, `centerSlot` (intent selector), `rightSlot`. `submitBehavior`: "newline" (default) or "submit"/"blurAndSubmit". Forwards ref to `TextInput`.
1096
+
1097
+ ```tsx
1098
+ import { SmartInput, Button, ButtonText } from '@thewhileloop/whileui';
1099
+
1100
+ <SmartInput
1101
+ value={message}
1102
+ onChangeText={setMessage}
1103
+ placeholder="Type a message..."
1104
+ leftSlot={
1105
+ <Button variant="ghost" size="icon">
1106
+ <Icon name="add" />
1107
+ </Button>
1108
+ }
1109
+ rightSlot={
1110
+ <Button size="icon" onPress={handleSend}>
1111
+ <ButtonText>Send</ButtonText>
1112
+ </Button>
1113
+ }
1114
+ />;
1115
+ ```
1116
+
1117
+ ## Chat
1118
+
1119
+ AI-style chat: message list, suggestion chips when empty, SmartInput with attach/send slots. Uses semantic tokens; theme via `global.css`. Copy-paste block — edit directly. `renderMessage` for markdown/code, `loadingIndicator` for typing state.
1120
+
1121
+ ```tsx
1122
+ import { Chat, type ChatMessage } from '@thewhileloop/whileui';
1123
+
1124
+ const [messages, setMessages] = useState<ChatMessage[]>([...]);
1125
+ const [value, setValue] = useState('');
1126
+
1127
+ <Chat
1128
+ messages={messages}
1129
+ value={value}
1130
+ onChangeText={setValue}
1131
+ onSend={() => { /* append user msg, clear input */ }}
1132
+ placeholder="Message..."
1133
+ suggestions={['Summarize this', 'Explain simply', 'Translate']}
1134
+ onSuggestionPress={(text) => setValue(text)}
1135
+ emptyTitle="How can I help?"
1136
+ emptyDescription="Ask anything."
1137
+ leftSlot={<Button variant="ghost" size="icon"><Icon name="paperclip" /></Button>}
1138
+ rightSlot={<Button size="icon" onPress={handleSend}><Icon name="send" /></Button>}
1139
+ />;
1140
+ ```
1141
+
1142
+ | Prop | Type | Description |
1143
+ | ------------------------ | -------------------- | ------------------------------------------------- |
1144
+ | `messages` | `ChatMessage[]` | `{ id, role, content, secondary?, contentSize? }` |
1145
+ | `value` | `string` | Input value |
1146
+ | `onChangeText` | `(text) => void` | Input change |
1147
+ | `onSend` | `() => void` | Send handler |
1148
+ | `suggestions` | `string[]` | Chips when empty |
1149
+ | `leftSlot` / `rightSlot` | `ReactNode` | Attach, send, etc. |
1150
+ | `exampleMessage` | `ChatMessage` | Shown in empty state |
1151
+ | `renderMessage` | `(msg) => ReactNode` | Custom message (markdown, code, images) |
1152
+ | `loadingIndicator` | `ReactNode` | Shown when loading (typing dots) |
1153
+ | `inputSafeArea` | `boolean` | SmartInput safe-area (default `true`) |
1154
+ | `keyboardVerticalOffset` | `number` | For header offset when keyboard opens |
1155
+
1099
1156
  ## ConfirmActionSheet
1100
1157
 
1101
1158
  ```tsx
@@ -1285,3 +1342,7 @@ import { DrawerMenu } from '@thewhileloop/whileui';
1285
1342
  footer={<Text>v1.0</Text>}
1286
1343
  />;
1287
1344
  ```
1345
+
1346
+ ## License
1347
+
1348
+ MIT — [Source](https://github.com/whileloop-app/whileui)
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ export interface ChatMessage {
3
+ id: string;
4
+ role: 'user' | 'assistant' | 'system';
5
+ content: string;
6
+ /** Secondary text (small, muted) — timestamps, meta. */
7
+ secondary?: string;
8
+ /** Main content size: sm (small), default, lg (big). */
9
+ contentSize?: 'sm' | 'default' | 'lg';
10
+ }
11
+ export interface ChatSuggestionsProps {
12
+ suggestions: string[];
13
+ onSelect: (text: string) => void;
14
+ className?: string;
15
+ }
16
+ export interface ChatProps {
17
+ messages: ChatMessage[];
18
+ value: string;
19
+ onChangeText: (text: string) => void;
20
+ onSend: () => void;
21
+ placeholder?: string;
22
+ suggestions?: string[];
23
+ onSuggestionPress?: (text: string) => void;
24
+ leftSlot?: React.ReactNode;
25
+ rightSlot?: React.ReactNode;
26
+ loading?: boolean;
27
+ header?: React.ReactNode;
28
+ emptyTitle?: string;
29
+ emptyDescription?: string;
30
+ /** Example message shown in empty state so users see the bubble UI. */
31
+ exampleMessage?: ChatMessage;
32
+ /** Custom message renderer (markdown, code, images). Falls back to ChatMessageBubble. */
33
+ renderMessage?: (message: ChatMessage) => React.ReactNode;
34
+ /** Shown at bottom when loading (typing indicator). */
35
+ loadingIndicator?: React.ReactNode;
36
+ /** Passed to SmartInput. Use false when Chat is in a contained demo. */
37
+ inputSafeArea?: boolean;
38
+ /** Offset for KeyboardAvoidingView when Chat has a header (e.g. StatusBar + header height). */
39
+ keyboardVerticalOffset?: number;
40
+ className?: string;
41
+ messagesClassName?: string;
42
+ }
43
+ export declare function ChatMessageBubble({ message, contentClassName, }: {
44
+ message: ChatMessage;
45
+ contentClassName?: string;
46
+ }): import("react/jsx-runtime").JSX.Element;
47
+ export declare function ChatSuggestions({ suggestions, onSelect, className }: ChatSuggestionsProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function Chat({ messages, value, onChangeText, onSend, placeholder, suggestions, onSuggestionPress, leftSlot, rightSlot, loading, header, emptyTitle, emptyDescription, exampleMessage, renderMessage, loadingIndicator, inputSafeArea, keyboardVerticalOffset, className, messagesClassName, }: ChatProps): import("react/jsx-runtime").JSX.Element;
49
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/blocks/chat/chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AASjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;CAEvC;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,yFAAyF;IACzF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+FAA+F;IAC/F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,gBAAgB,GACjB,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,2CAoCA;AAID,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAgBzF;AAID,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAA0B,EAC1B,WAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,OAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAoB,EACpB,sBAA0B,EAC1B,SAAS,EACT,iBAAiB,GAClB,EAAE,SAAS,2CAgFX"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useRef, useEffect } from 'react';
3
+ import { View, ScrollView, Pressable, KeyboardAvoidingView, Platform } from 'react-native';
4
+ import { Text } from '../../components/text';
5
+ import { SmartInput } from '../layout/smart-input';
6
+ import { cn } from '../../lib/cn';
7
+ import { tv } from '../../lib/tv';
8
+ // ─── ChatMessage Variants ────────────────────────────────────
9
+ const contentSizeClasses = {
10
+ sm: 'text-sm',
11
+ default: 'text-base',
12
+ lg: 'text-lg',
13
+ };
14
+ const chatMessageBubbleVariants = tv({
15
+ base: 'max-w-[85%] rounded-2xl px-4 py-3',
16
+ variants: {
17
+ role: {
18
+ user: 'self-end bg-primary',
19
+ assistant: 'self-start bg-muted',
20
+ system: 'self-center bg-muted/50 max-w-[90%]',
21
+ },
22
+ },
23
+ defaultVariants: { role: 'assistant' },
24
+ });
25
+ // ─── ChatMessage ─────────────────────────────────────────────
26
+ export function ChatMessageBubble({ message, contentClassName, }) {
27
+ const role = message.role === 'system' ? 'system' : message.role;
28
+ const isUser = message.role === 'user';
29
+ const sizeClass = contentSizeClasses[message.contentSize ?? 'default'];
30
+ return (_jsxs(View, { accessible: true, accessibilityRole: "none", accessibilityLabel: isUser ? 'Your message' : message.role === 'system' ? 'System message' : 'Assistant message', className: chatMessageBubbleVariants({ role }), children: [_jsx(Text, { className: cn('leading-relaxed', sizeClass, isUser ? 'text-primary-foreground' : 'text-foreground', contentClassName), children: message.content }), message.secondary && (_jsx(Text, { className: cn('mt-1 text-xs', isUser ? 'text-primary-foreground/70' : 'text-muted-foreground'), children: message.secondary }))] }));
31
+ }
32
+ // ─── ChatSuggestions ──────────────────────────────────────────
33
+ export function ChatSuggestions({ suggestions, onSelect, className }) {
34
+ return (_jsx(View, { className: cn('flex-row flex-wrap justify-center gap-2 px-4 py-6', className), children: suggestions.map((text, i) => (_jsx(Pressable, { onPress: () => onSelect(text), accessibilityRole: "button", accessibilityLabel: `Suggestion: ${text}`, className: "rounded-full border border-input bg-background px-4 py-2 active:bg-muted", children: _jsx(Text, { className: "text-sm text-foreground", children: text }) }, `${text}-${i}`))) }));
35
+ }
36
+ // ─── Chat ────────────────────────────────────────────────────
37
+ export function Chat({ messages, value, onChangeText, onSend, placeholder = 'Message...', suggestions = [], onSuggestionPress, leftSlot, rightSlot, loading = false, header, emptyTitle, emptyDescription, exampleMessage, renderMessage, loadingIndicator, inputSafeArea = true, keyboardVerticalOffset = 0, className, messagesClassName, }) {
38
+ const scrollRef = useRef(null);
39
+ const isEmpty = messages.length === 0;
40
+ const showSuggestions = isEmpty && suggestions.length > 0;
41
+ useEffect(() => {
42
+ if (!showSuggestions && messages.length > 0) {
43
+ scrollRef.current?.scrollToEnd({ animated: true });
44
+ }
45
+ }, [messages.length, showSuggestions]);
46
+ const defaultRightSlot = rightSlot ?? (_jsx(ChatSendButton, { onPress: onSend, disabled: loading || !value.trim() }));
47
+ return (_jsxs(KeyboardAvoidingView, { behavior: Platform.OS === 'ios' ? 'padding' : undefined, keyboardVerticalOffset: keyboardVerticalOffset, style: { flex: 1 }, className: className, children: [header, _jsx(ScrollView, { ref: scrollRef, className: cn('flex-1', messagesClassName), contentContainerStyle: {
48
+ flexGrow: 1,
49
+ paddingBottom: 8,
50
+ justifyContent: showSuggestions ? 'center' : 'flex-end',
51
+ }, keyboardShouldPersistTaps: "handled", children: showSuggestions ? (_jsxs(View, { className: "flex-1 justify-center", children: [exampleMessage && (_jsx(View, { className: "mb-6 px-4", children: renderMessage ? (renderMessage(exampleMessage)) : (_jsx(ChatMessageBubble, { message: exampleMessage })) })), emptyTitle && (_jsx(Text, { className: "mb-1 text-center text-lg font-medium text-foreground", children: emptyTitle })), emptyDescription && (_jsx(Text, { className: "mb-4 text-center text-sm text-muted-foreground", children: emptyDescription })), _jsx(ChatSuggestions, { suggestions: suggestions, onSelect: onSuggestionPress ?? (() => { }) })] })) : (_jsxs(View, { className: "gap-3 px-4 pt-4", children: [messages.map((msg) => renderMessage ? (_jsx(React.Fragment, { children: renderMessage(msg) }, msg.id)) : (_jsx(ChatMessageBubble, { message: msg }, msg.id))), loading && loadingIndicator && _jsx(View, { className: "px-4", children: loadingIndicator })] })) }), _jsx(SmartInput, { value: value, onChangeText: onChangeText, placeholder: placeholder, leftSlot: leftSlot, rightSlot: defaultRightSlot, editable: !loading, safeArea: inputSafeArea })] }));
52
+ }
53
+ // ─── ChatSendButton ───────────────────────────────────────────
54
+ function ChatSendButton({ onPress, disabled }) {
55
+ return (_jsx(Pressable, { onPress: onPress, disabled: disabled, accessibilityRole: "button", accessibilityLabel: disabled ? 'Send (disabled)' : 'Send message', className: cn('h-11 w-11 items-center justify-center rounded-full', disabled ? 'bg-muted opacity-50' : 'bg-primary active:opacity-90'), children: _jsx(Text, { className: "text-lg text-primary-foreground", children: "\u2191" }) }));
56
+ }
57
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/blocks/chat/chat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Chat, ChatMessageBubble, ChatSuggestions, type ChatMessage, type ChatProps, type ChatSuggestionsProps, } from './chat';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,GAC1B,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Chat, ChatMessageBubble, ChatSuggestions, } from './chat';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blocks/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,eAAe,GAIhB,MAAM,QAAQ,CAAC"}
@@ -5,5 +5,6 @@ export { EmptyState, type EmptyStateProps } from './empty-state';
5
5
  export { ErrorState, type ErrorStateProps } from './error-state';
6
6
  export { FormModalScreen, type FormModalScreenProps } from './form-modal-screen';
7
7
  export { LoadingScreen, type LoadingScreenProps } from './loading-screen';
8
+ export { SmartInput, type SmartInputProps } from './smart-input';
8
9
  export { OnboardingScreen, type OnboardingScreenProps, type OnboardingSlide, } from './onboarding-screen';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC"}
@@ -5,5 +5,6 @@ export { EmptyState } from './empty-state';
5
5
  export { ErrorState } from './error-state';
6
6
  export { FormModalScreen } from './form-modal-screen';
7
7
  export { LoadingScreen } from './loading-screen';
8
+ export { SmartInput } from './smart-input';
8
9
  export { OnboardingScreen, } from './onboarding-screen';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blocks/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAA6B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,aAAa,EAA2B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blocks/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAA6B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,aAAa,EAA2B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { TextInput, type TextInputProps } from 'react-native';
3
+ export interface SmartInputProps extends TextInputProps {
4
+ /** Left slot: emoji, attach, etc. */
5
+ leftSlot?: React.ReactNode;
6
+ /** Center slot: intent selector, model picker, etc. */
7
+ centerSlot?: React.ReactNode;
8
+ /** Right slot: send button, etc. */
9
+ rightSlot?: React.ReactNode;
10
+ /** Bar = sticky bottom with border-t. Card = floating, no top border, rounded. */
11
+ variant?: 'bar' | 'card';
12
+ /** Container className */
13
+ className?: string;
14
+ /** Input field className */
15
+ inputClassName?: string;
16
+ /** 'newline' = Enter adds newline. 'submit' = Enter triggers onSubmitEditing. Default 'newline'. */
17
+ submitBehavior?: 'newline' | 'submit' | 'blurAndSubmit';
18
+ /** Use safe area insets for bottom padding */
19
+ safeArea?: boolean;
20
+ }
21
+ export declare const SmartInput: React.ForwardRefExoticComponent<SmartInputProps & React.RefAttributes<TextInput>>;
22
+ //# sourceMappingURL=smart-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-input.d.ts","sourceRoot":"","sources":["../../../src/blocks/layout/smart-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAQ,SAAS,EAAkC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAIpG,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uDAAuD;IACvD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,oCAAoC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;IACxD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,mFAqDrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { View, TextInput, KeyboardAvoidingView, Platform } from 'react-native';
4
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
+ import { cn } from '../../lib/cn';
6
+ export const SmartInput = forwardRef(function SmartInput({ leftSlot, centerSlot, rightSlot, variant = 'bar', className, inputClassName, submitBehavior = 'newline', safeArea = true, placeholderTextColor, editable = true, ...props }, ref) {
7
+ const insets = useSafeAreaInsets();
8
+ const bottomPadding = safeArea ? Math.max(insets.bottom, 12) : 12;
9
+ return (_jsx(KeyboardAvoidingView, { behavior: Platform.OS === 'ios' ? 'padding' : undefined, className: "w-full", children: _jsxs(View, { className: cn('w-full flex-row items-center gap-2 px-3 py-2 bg-background', variant === 'bar' && 'border-t border-border', variant === 'card' && 'rounded-2xl border border-border shadow-md', className), style: { paddingBottom: bottomPadding }, children: [leftSlot && _jsx(View, { className: "shrink-0", children: leftSlot }), centerSlot && _jsx(View, { className: "shrink-0", children: centerSlot }), _jsx(TextInput, { ref: ref, className: cn('flex-1 min-h-11 max-h-[120px] rounded-xl border border-input bg-background px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground', !editable && 'opacity-50', inputClassName), multiline: true, submitBehavior: submitBehavior, textAlignVertical: "top", placeholderTextColor: placeholderTextColor, editable: editable, ...props }), rightSlot && _jsx(View, { className: "shrink-0", children: rightSlot })] }) }));
10
+ });
11
+ //# sourceMappingURL=smart-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-input.js","sourceRoot":"","sources":["../../../src/blocks/layout/smart-input.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAuB,MAAM,cAAc,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAqBlC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAA6B,SAAS,UAAU,CAClF,EACE,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GAAG,KAAK,EACf,SAAS,EACT,cAAc,EACd,cAAc,GAAG,SAAS,EAC1B,QAAQ,GAAG,IAAI,EACf,oBAAoB,EACpB,QAAQ,GAAG,IAAI,EACf,GAAG,KAAK,EACT,EACD,GAAG;IAEH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,OAAO,CACL,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACvD,SAAS,EAAC,QAAQ,YAElB,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,OAAO,KAAK,KAAK,IAAI,wBAAwB,EAC7C,OAAO,KAAK,MAAM,IAAI,4CAA4C,EAClE,SAAS,CACV,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,aAEtC,QAAQ,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,YAAE,QAAQ,GAAQ,EACxD,UAAU,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,YAAE,UAAU,GAAQ,EAC7D,KAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gJAAgJ,EAChJ,CAAC,QAAQ,IAAI,YAAY,EACzB,cAAc,CACf,EACD,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAC,KAAK,EACvB,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,KACd,KAAK,GACT,EACD,SAAS,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,YAAE,SAAS,GAAQ,IACtD,GACc,CACxB,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export { HoverCard, HoverCardTrigger, HoverCardContent, type HoverCardProps, typ
46
46
  export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarLabel, MenubarSeparator, type MenubarProps, type MenubarMenuProps, type MenubarTriggerProps, type MenubarContentProps, type MenubarItemProps, type MenubarLabelProps, type MenubarSeparatorProps, } from './components/menubar';
47
47
  export { Toast, ToastContainer, ToastProvider, toastVariants, useToast, type ToastContainerProps, type ToastData, type ToastProps, type ToastProviderProps, } from './components/toast';
48
48
  export * from './blocks/auth';
49
+ export * from './blocks/chat';
49
50
  export * from './blocks/navigation';
50
51
  export * from './blocks/layout';
51
52
  export * from './blocks/profile';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,6 +50,7 @@ export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, Menu
50
50
  export { Toast, ToastContainer, ToastProvider, toastVariants, useToast, } from './components/toast';
51
51
  // ─── Blocks ──────────────────────────────────────────────────
52
52
  export * from './blocks/auth';
53
+ export * from './blocks/chat';
53
54
  export * from './blocks/navigation';
54
55
  export * from './blocks/layout';
55
56
  export * from './blocks/profile';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thewhileloop/whileui",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "WhileUI Native — Copy-paste components for React Native. You own the code.",
5
5
  "license": "MIT",
6
6
  "repository": {