@godxjp/chat 0.0.0-stage → 32.0.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/README.md +31 -2
- package/dist/attachments.d.ts +24 -0
- package/dist/attachments.js +8 -0
- package/dist/chat-bubble.d.ts +33 -0
- package/dist/chat-bubble.js +9 -0
- package/dist/chat-composer.d.ts +71 -0
- package/dist/chat-composer.js +7 -0
- package/dist/chat-suggestion.d.ts +31 -0
- package/dist/chat-suggestion.js +7 -0
- package/dist/chunk-4K5JWTV5.js +203 -0
- package/dist/chunk-52TWSF6W.js +180 -0
- package/dist/chunk-DEYHFJBA.js +312 -0
- package/dist/chunk-IWWOS4BL.js +374 -0
- package/dist/chunk-NUCO7NAP.js +40 -0
- package/dist/chunk-PGCRFJHC.js +369 -0
- package/dist/chunk-XCTRKZCF.js +232 -0
- package/dist/conversations.d.ts +42 -0
- package/dist/conversations.js +7 -0
- package/dist/data-entry.prop-D4jLTqUk.d.ts +184 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +35 -0
- package/dist/thought-chain.d.ts +45 -0
- package/dist/thought-chain.js +9 -0
- package/dist/welcome.d.ts +29 -0
- package/dist/welcome.js +7 -0
- package/package.json +43 -4
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shared atomic prop types used across multiple components.
|
|
5
|
+
* @see docs/PROPS-VOCABULARY.md
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/** Extra CSS class names on a component root. */
|
|
9
|
+
type ClassNameProp = string;
|
|
10
|
+
/** Stable DOM / form identifier. */
|
|
11
|
+
type IdProp = string;
|
|
12
|
+
/** Loading / pending state — disables actions and shows spinners. */
|
|
13
|
+
type PendingProp = boolean;
|
|
14
|
+
/** Disable user interaction. */
|
|
15
|
+
type DisabledProp = boolean;
|
|
16
|
+
/** Placeholder text for inputs. */
|
|
17
|
+
type PlaceholderProp = string;
|
|
18
|
+
/** HTML input `name` attribute. */
|
|
19
|
+
type NameProp = string;
|
|
20
|
+
/** Abstract controlled value. */
|
|
21
|
+
type ValueProp<T = string> = T;
|
|
22
|
+
/** Abstract uncontrolled initial value. */
|
|
23
|
+
type DefaultValueProp<T = string> = T;
|
|
24
|
+
/** Callback when an abstract value changes. */
|
|
25
|
+
type OnValueChangeProp<T = string> = (value: T) => void;
|
|
26
|
+
/** Click handler for buttons and interactive elements. */
|
|
27
|
+
type OnClickProp = React.MouseEventHandler<HTMLButtonElement>;
|
|
28
|
+
/** Radix/shadcn `asChild` polymorphism — render as child element. */
|
|
29
|
+
type AsChildProp = boolean;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Interaction & visual variant prop types.
|
|
33
|
+
* @see docs/PROPS-VOCABULARY.md#interaction-variants
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Button visual style.
|
|
38
|
+
*
|
|
39
|
+
* `bare` (gh#404) is the control WITHOUT geometry: a real button — hitbox, focus ring, keyboard
|
|
40
|
+
* semantics, `aria-label` — around content that already IS the shape (a `Badge`, a truncating
|
|
41
|
+
* title). Every other variant loads a height and an inline inset from its `size`, so wrapping a
|
|
42
|
+
* chip meant writing `className="h-auto p-0"`, an audit error with no legal replacement; `link`
|
|
43
|
+
* was not it either, since it still loads a size class and adds primary colour plus a hover
|
|
44
|
+
* underline. The 24×24 target WCAG 2.2 SC 2.5.8 requires is kept by a pseudo-element, so the box
|
|
45
|
+
* stays exactly as big as its content.
|
|
46
|
+
*/
|
|
47
|
+
type ButtonVariantProp = "default" | "destructive" | "outline" | "dashed" | "secondary" | "ghost" | "link" | "bare";
|
|
48
|
+
/**
|
|
49
|
+
* Corner shape — maps to the radius tokens (default = control/component radius). Shared by Button
|
|
50
|
+
* + Badge.
|
|
51
|
+
*/
|
|
52
|
+
type ShapeProp = "default" | "pill" | "sharp";
|
|
53
|
+
/** Inline text alignment (logical, RTL-safe). */
|
|
54
|
+
type TextAlignProp = "start" | "center" | "end";
|
|
55
|
+
/** Button size preset. */
|
|
56
|
+
type SizeProp = "xs" | "sm" | "md" | "lg";
|
|
57
|
+
/** Button size preset; icon-only sizes are a documented Button subset. */
|
|
58
|
+
type ButtonSizeProp = SizeProp | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg";
|
|
59
|
+
/**
|
|
60
|
+
* Validation state a data-entry control PAINTS — Ant Design's `status` axis, which
|
|
61
|
+
* docs/DESIGN-AUTHORITY.md names the taxonomy authority for this library.
|
|
62
|
+
*
|
|
63
|
+
* Two members, not antd's five. `error` and `warning` are the two antd paints from the prop alone;
|
|
64
|
+
* `success` and `validating` are only ever drawn together with antd's `hasFeedback` icon slot,
|
|
65
|
+
* which this library does not have (FormField owns the message and the icon), and `""` is antd's
|
|
66
|
+
* way of spelling "no status" in a required field — `undefined` already says that here.
|
|
67
|
+
*
|
|
68
|
+
* `error` and `aria-invalid` are the same state seen from two sides: a control given
|
|
69
|
+
* `status="error"` also reports `aria-invalid`, so the paint and the announcement can never drift.
|
|
70
|
+
* `warning` deliberately does NOT set `aria-invalid` — a warning is not a validity failure, and
|
|
71
|
+
* antd does not announce one either.
|
|
72
|
+
*/
|
|
73
|
+
type ControlStatusProp = "error" | "warning";
|
|
74
|
+
|
|
75
|
+
/** Foundation component prop types — @see docs/COMPONENTS.md#foundation */
|
|
76
|
+
|
|
77
|
+
/** @see Button */
|
|
78
|
+
type ButtonProp = React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
79
|
+
variant?: ButtonVariantProp;
|
|
80
|
+
size?: ButtonSizeProp;
|
|
81
|
+
/** Corner shape — `default` (control radius) · `pill` (fully rounded) · `sharp` (square). */
|
|
82
|
+
shape?: ShapeProp;
|
|
83
|
+
fullWidth?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Take the space the siblings leave, and let a long label ELLIPSE instead of widening the row —
|
|
86
|
+
* the same axis `Flex` calls `fill`, for the same reason.
|
|
87
|
+
*
|
|
88
|
+
* Button ships `flex-shrink: 0`, right almost everywhere and wrong in a constrained bar: an
|
|
89
|
+
* account menu holding an avatar plus a person's name keeps its full width while the cluster
|
|
90
|
+
* clips it, so a keyboard user tabs to a control they cannot see (SC 2.4.7). Until this axis
|
|
91
|
+
* existed the only move was `className="min-w-0 flex-1"`, which ui-audit blocks — and which this
|
|
92
|
+
* package's own Topbar guidance recommended, so the docs prescribed the utility the audit forbids.
|
|
93
|
+
*
|
|
94
|
+
* Sets `flex: 1 1 auto` and `min-inline-size: 0`; pair it with a `<Text truncate>` label.
|
|
95
|
+
*/
|
|
96
|
+
fill?: boolean;
|
|
97
|
+
/** Allow a text button to grow vertically for multi-line labels. */
|
|
98
|
+
wrap?: boolean;
|
|
99
|
+
/** Logical content alignment, especially for full-width collection actions. */
|
|
100
|
+
align?: TextAlignProp;
|
|
101
|
+
asChild?: AsChildProp;
|
|
102
|
+
onClick?: OnClickProp;
|
|
103
|
+
disabled?: DisabledProp;
|
|
104
|
+
/**
|
|
105
|
+
* In-flight state — shows a leading spinner (replaces a leading icon if present),
|
|
106
|
+
* sets `aria-busy` and blocks activation while keeping the label to avoid layout shift.
|
|
107
|
+
*/
|
|
108
|
+
loading?: PendingProp;
|
|
109
|
+
/** Optional label to swap in while `loading` (pass the `t()`-translated string). */
|
|
110
|
+
loadingText?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Optional numeric count rendered as a borderless counter pill after the label (filter tabs /
|
|
113
|
+
* segmented toggles, e.g. "Chờ bay 18").
|
|
114
|
+
*/
|
|
115
|
+
count?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Cap for `count` (Ant Badge parity). When `count` exceeds it the pill shows `{overflowCount}+`
|
|
118
|
+
* (e.g.
|
|
119
|
+
*/
|
|
120
|
+
overflowCount?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Whether to render the pill when `count` is 0 (Ant Badge parity). Defaults to
|
|
123
|
+
* `true` (a `0` pill shows); pass `false` to hide the pill at zero.
|
|
124
|
+
*/
|
|
125
|
+
showZero?: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Localized description of what the count MEANS, folded into the accessible name so the control
|
|
128
|
+
* never announces as a bare digit run. The SAME prop and the same contract `Toggle` has carried
|
|
129
|
+
* since gh#312 — without it a counted button measured `"Git3"` in the accessibility tree, not
|
|
130
|
+
* "Git, 3 pages" (gh#734).
|
|
131
|
+
*
|
|
132
|
+
* The pill itself is `aria-hidden` and the spoken form is an `sr-only` sibling, so the name
|
|
133
|
+
* reads `"<label>, <count> <countLabel>"` from the contents; with an explicit `aria-label`
|
|
134
|
+
* (an icon-only counted button) the same clause is folded into that instead. Pass a
|
|
135
|
+
* `t()`-resolved string — the library does not own this wording.
|
|
136
|
+
*/
|
|
137
|
+
countLabel?: string;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Which keystroke SENDS and which one breaks the line — Ant Design X `Sender.submitType`.
|
|
142
|
+
*
|
|
143
|
+
* `enter` (default) is the chat convention: `Enter` sends, `Shift+Enter` inserts a newline.
|
|
144
|
+
* `shiftEnter` is the inverse, for composers that hold long, deliberately multi-line drafts.
|
|
145
|
+
* `modEnter` is this library's extension (antd X has only the first two; see
|
|
146
|
+
* docs/DESIGN-AUTHORITY.md): `⌘+Enter` on Apple platforms, `Ctrl+Enter` elsewhere sends, while
|
|
147
|
+
* `Enter` and `Shift+Enter` both insert a newline — the record-comment convention.
|
|
148
|
+
* None of them ever fires while an IME conversion is in flight.
|
|
149
|
+
* @see ChatComposer
|
|
150
|
+
*/
|
|
151
|
+
type ChatComposerSubmitTypeProp = "enter" | "shiftEnter" | "modEnter";
|
|
152
|
+
/**
|
|
153
|
+
* @see ChatComposer `footer` — the built-in trailing action, pre-wired (onClick/disabled/
|
|
154
|
+
* accessible name already resolved) and handed to a `footer` render function so it can be
|
|
155
|
+
* RELOCATED instead of duplicated.
|
|
156
|
+
*
|
|
157
|
+
* Ant Design X `Sender.ActionsComponents` ships four (`SendButton`/`ClearButton`/`LoadingButton`/
|
|
158
|
+
* `SpeechButton`) because `Sender` has a clear affordance and speech input this composer does not
|
|
159
|
+
* — porting those two as inert components would ship dead API (the same "not ported" discipline
|
|
160
|
+
* `docs/DESIGN-AUTHORITY.md` applies to antd fields nothing here reads). `LoadingButton` is
|
|
161
|
+
* `CancelButton` here — this composer already names the streaming state's trailing action `cancel`
|
|
162
|
+
* (`onCancel`, `cancelLabel`), so the antd-x name would be a second spelling of the same button.
|
|
163
|
+
*/
|
|
164
|
+
type ChatComposerActionComponents = {
|
|
165
|
+
/** The send action — disabled while empty/disabled/readOnly/loading, exactly like the inline one. */
|
|
166
|
+
SubmitButton: React.ComponentType<ButtonProp>;
|
|
167
|
+
/** The stop action — only meaningful while `loading`; renders antd X's `LoadingButton` slot. */
|
|
168
|
+
CancelButton: React.ComponentType<ButtonProp>;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* @see ChatComposer `footer` — either a plain node (unchanged default behaviour) or Ant Design X
|
|
172
|
+
* `Sender`'s `NodeRender` shape: a function receiving `{ components }` so a consumer can render
|
|
173
|
+
* the real send/cancel buttons BELOW the draft box instead of beside it. Combine with `actions=
|
|
174
|
+
* {false}` to hide the inline pair and avoid rendering both.
|
|
175
|
+
*/
|
|
176
|
+
type ChatComposerFooterProp = React.ReactNode | ((info: {
|
|
177
|
+
components: ChatComposerActionComponents;
|
|
178
|
+
}) => React.ReactNode);
|
|
179
|
+
/** Ant Design X `Attachments` overflow modes — how the card list behaves when it exceeds its box. */
|
|
180
|
+
type AttachmentsOverflowProp = "wrap" | "scrollX" | "scrollY";
|
|
181
|
+
/** Semantic slots Ant Design X exposes on `Attachments`. */
|
|
182
|
+
type AttachmentsSemanticProp = "list" | "placeholder" | "upload" | "root" | "card" | "file";
|
|
183
|
+
|
|
184
|
+
export type { AttachmentsOverflowProp as A, ChatComposerFooterProp as C, DefaultValueProp as D, IdProp as I, NameProp as N, OnValueChangeProp as O, PendingProp as P, SizeProp as S, ValueProp as V, AttachmentsSemanticProp as a, ChatComposerSubmitTypeProp as b, ClassNameProp as c, ControlStatusProp as d, DisabledProp as e, PlaceholderProp as f };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { ChatBubble, ChatBubbleList, ChatBubbleListProps, ChatBubbleProps } from './chat-bubble.js';
|
|
2
|
+
export { ChatComposer } from './chat-composer.js';
|
|
3
|
+
export { ChatSuggestion } from './chat-suggestion.js';
|
|
4
|
+
export { Attachments } from './attachments.js';
|
|
5
|
+
export { Conversations } from './conversations.js';
|
|
6
|
+
export { ThoughtChain, ThoughtChainItem } from './thought-chain.js';
|
|
7
|
+
export { Welcome } from './welcome.js';
|
|
8
|
+
export { AttachmentsItemProp, AttachmentsOverflowProp, AttachmentsPlaceholderProp, AttachmentsProp, AttachmentsProp as AttachmentsProps, AttachmentsRefProp, ChatBubbleListProp, ChatBubblePlacementProp, ChatBubbleProp, ChatBubbleToneProp, ChatBubbleTypingProp, ChatBubbleVariantProp, ChatComposerProp, ChatComposerProp as ChatComposerProps, ChatComposerSubmitTypeProp, ChatMessageProp, ChatSuggestionItemProp, ChatSuggestionProp, ChatSuggestionProp as ChatSuggestionProps, ChatSuggestionRenderProp, ConversationsCreationProp, ConversationsDividerProp, ConversationsEntryProp, ConversationsGroupableProp, ConversationsItemProp, ConversationsMenuItemProp, ConversationsMenuProp, ConversationsProp, ConversationsProp as ConversationsProps, ThoughtChainItemProp, ThoughtChainItemProp as ThoughtChainItemProps, ThoughtChainItemsProp, ThoughtChainLineProp, ThoughtChainProp, ThoughtChainProp as ThoughtChainProps, ThoughtChainStatusProp, ThoughtChainVariantProp, WelcomeProp, WelcomeProp as WelcomeProps, WelcomeVariantProp } from '@godxjp/ui/props/components';
|
|
9
|
+
import 'react';
|
|
10
|
+
import './data-entry.prop-D4jLTqUk.js';
|
|
11
|
+
import '@godxjp/ui/data-entry';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Attachments
|
|
4
|
+
} from "./chunk-PGCRFJHC.js";
|
|
5
|
+
import {
|
|
6
|
+
ChatBubble,
|
|
7
|
+
ChatBubbleList
|
|
8
|
+
} from "./chunk-XCTRKZCF.js";
|
|
9
|
+
import {
|
|
10
|
+
ChatComposer
|
|
11
|
+
} from "./chunk-4K5JWTV5.js";
|
|
12
|
+
import {
|
|
13
|
+
ChatSuggestion
|
|
14
|
+
} from "./chunk-DEYHFJBA.js";
|
|
15
|
+
import {
|
|
16
|
+
Conversations
|
|
17
|
+
} from "./chunk-IWWOS4BL.js";
|
|
18
|
+
import {
|
|
19
|
+
ThoughtChain,
|
|
20
|
+
ThoughtChainItem
|
|
21
|
+
} from "./chunk-52TWSF6W.js";
|
|
22
|
+
import {
|
|
23
|
+
Welcome
|
|
24
|
+
} from "./chunk-NUCO7NAP.js";
|
|
25
|
+
export {
|
|
26
|
+
Attachments,
|
|
27
|
+
ChatBubble,
|
|
28
|
+
ChatBubbleList,
|
|
29
|
+
ChatComposer,
|
|
30
|
+
ChatSuggestion,
|
|
31
|
+
Conversations,
|
|
32
|
+
ThoughtChain,
|
|
33
|
+
ThoughtChainItem,
|
|
34
|
+
Welcome
|
|
35
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ThoughtChainProp, ThoughtChainItemProp } from '@godxjp/ui/props/components';
|
|
3
|
+
export { ThoughtChainItemProp, ThoughtChainItemProp as ThoughtChainItemProps, ThoughtChainItemsProp, ThoughtChainLineProp, ThoughtChainProp, ThoughtChainProp as ThoughtChainProps, ThoughtChainStatusProp, ThoughtChainVariantProp } from '@godxjp/ui/props/components';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ThoughtChain — the assistant's reasoning, step by step (Ant Design X `ThoughtChain`).
|
|
7
|
+
*
|
|
8
|
+
* ## The shape, and why it is an `<ol>`
|
|
9
|
+
*
|
|
10
|
+
* Ant renders the whole chain as nested `<div>`s and paints the step number itself
|
|
11
|
+
* (`index + 1` in `es/thought-chain/Node.js`). The order of the steps IS the content here — step 3
|
|
12
|
+
* only makes sense after step 2 — so the chain is an ordered list and a screen reader gets "list,
|
|
13
|
+
* 4 items" plus each step's position for free. The visible ordinal stays, because the same number
|
|
14
|
+
* has to be on screen for a sighted reader following a long chain.
|
|
15
|
+
*
|
|
16
|
+
* ## The disclosure is a real button
|
|
17
|
+
*
|
|
18
|
+
* A `collapsible` step's title in Ant is a `<div onClick>` with a rotating chevron — no role, no
|
|
19
|
+
* `tabIndex`, no `aria-expanded`. Here it is a `<button aria-expanded aria-controls>` over the
|
|
20
|
+
* body it opens: the WAI-ARIA APG Disclosure pattern, so the step can be opened from the keyboard
|
|
21
|
+
* and its state is announced rather than inferred from a rotation.
|
|
22
|
+
*
|
|
23
|
+
* Everything a caller passes keeps Ant's spelling: `items` (with `icon`, `title`, `description`,
|
|
24
|
+
* `content`, `footer`, `status`, `collapsible`, `blink`, `destroyOnHidden`), the
|
|
25
|
+
* `defaultExpandedKeys` / `expandedKeys` / `onExpand` triad, and `line`. `styles` / `classNames` /
|
|
26
|
+
* `prefixCls` / `rootClassName` are not ported — the standing style-hole decision
|
|
27
|
+
* (docs/WHAT-BELONGS-HERE.md, docs/DESIGN-AUTHORITY.md); the chain is retuned through
|
|
28
|
+
* `src/tokens/components/thought-chain.css`.
|
|
29
|
+
*/
|
|
30
|
+
declare const ThoughtChain: React.ForwardRefExoticComponent<ThoughtChainProp & React.RefAttributes<HTMLOListElement>>;
|
|
31
|
+
/**
|
|
32
|
+
* ThoughtChainItem — one step OUTSIDE a chain (Ant Design X `ThoughtChain.Item`).
|
|
33
|
+
*
|
|
34
|
+
* A named export rather than `ThoughtChain.Item`, for the same reason `ActionsItem` is: every
|
|
35
|
+
* compound in this library is separate named exports (`CardHeader`, `TabsList`), and attaching
|
|
36
|
+
* statics to one component would be the only instance of it here.
|
|
37
|
+
*
|
|
38
|
+
* ONE DEVIATION: Ant renders the chip as a `<div>` and hangs `onClick` on it, so a clickable step
|
|
39
|
+
* is invisible to the keyboard and to assistive technology. Here an item WITH `onClick` renders a
|
|
40
|
+
* real `<button>` and one without renders a plain `<div>` — the element follows whether the thing
|
|
41
|
+
* is actually a control.
|
|
42
|
+
*/
|
|
43
|
+
declare const ThoughtChainItem: React.ForwardRefExoticComponent<ThoughtChainItemProp & React.RefAttributes<HTMLElement>>;
|
|
44
|
+
|
|
45
|
+
export { ThoughtChain, ThoughtChainItem };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { WelcomeProp } from '@godxjp/ui/props/components';
|
|
3
|
+
export { WelcomeProp, WelcomeProp as WelcomeProps, WelcomeVariantProp } from '@godxjp/ui/props/components';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Welcome — the greeting block at the head of an empty conversation (Ant Design X `Welcome`).
|
|
7
|
+
*
|
|
8
|
+
* ## Why this is a component and not four lines of composition
|
|
9
|
+
*
|
|
10
|
+
* It is close to the line, and the honest answer is that the SHAPE is the value: an assistant's
|
|
11
|
+
* first screen is the same object in every product — glyph, greeting, one line under it, one
|
|
12
|
+
* trailing action — and Ant X named it, so every consumer that builds a chat now expects the name.
|
|
13
|
+
* What it owns beyond a `Flex` is the `extra` slot's placement (on the TITLE row, not below the
|
|
14
|
+
* description, which is where a hand-roll puts it) and the `icon`-as-URL rule below.
|
|
15
|
+
*
|
|
16
|
+
* ## Two deliberate differences from Ant X, both in the same direction
|
|
17
|
+
*
|
|
18
|
+
* - **The image icon is decorative.** Ant renders `alt="icon"` — a screen reader then reads the
|
|
19
|
+
* word "icon" beside a title the glyph is only decorating. Here it is `alt=""`, which is what an
|
|
20
|
+
* image that duplicates adjacent text is supposed to be.
|
|
21
|
+
* - **The heading level is Ant's.** Ant hardcodes `Typography.Title level={4}`, so this renders an
|
|
22
|
+
* `<h4>`. Hardcoding a level is a document-structure decision a component should not normally
|
|
23
|
+
* make, but the alternative — inventing a `level` prop Ant does not have — is a second spelling
|
|
24
|
+
* of an axis the issue asked to port verbatim. Wrap it in your own heading hierarchy if the page
|
|
25
|
+
* needs a different rung.
|
|
26
|
+
*/
|
|
27
|
+
declare const Welcome: React.ForwardRefExoticComponent<WelcomeProp & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
|
|
29
|
+
export { Welcome };
|
package/dist/welcome.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godxjp/chat",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "32.0.1",
|
|
4
|
+
"description": "Conversational UI for GoDX apps on @godxjp/ui: message bubbles and lists, the composer with slash / mention suggestions, the conversation list, thought chains, the welcome block, attachments and the message action bar — IME-safe, ja / en / vi.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"registry": "https://registry.npmjs.org/",
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/godx-jp/godxjp-ui.git",
|
|
28
|
+
"directory": "packages/chat"
|
|
29
|
+
},
|
|
30
|
+
"license": "Apache-2.0",
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"lucide-react": "^1.37.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"@godxjp/ui": "~32.0.1",
|
|
36
|
+
"react": ">=19.0.0",
|
|
37
|
+
"react-dom": ">=19.0.0"
|
|
38
|
+
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"chat",
|
|
41
|
+
"conversation",
|
|
42
|
+
"ai",
|
|
43
|
+
"godxjp"
|
|
44
|
+
]
|
|
45
|
+
}
|