@k8o/arte-odyssey 10.6.4 → 10.7.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 (60) hide show
  1. package/dist/components/ai/_internal/collapsible.d.mts +14 -0
  2. package/dist/components/ai/_internal/collapsible.mjs +49 -0
  3. package/dist/components/ai/_internal/streaming-cursor.d.mts +6 -0
  4. package/dist/components/ai/_internal/streaming-cursor.mjs +8 -0
  5. package/dist/components/ai/conversation/conversation.d.mts +19 -0
  6. package/dist/components/ai/conversation/conversation.mjs +105 -0
  7. package/dist/components/ai/conversation/index.d.mts +2 -0
  8. package/dist/components/ai/conversation/index.mjs +2 -0
  9. package/dist/components/ai/index.d.mts +8 -0
  10. package/dist/components/ai/index.mjs +7 -0
  11. package/dist/components/ai/message/index.d.mts +2 -0
  12. package/dist/components/ai/message/index.mjs +2 -0
  13. package/dist/components/ai/message/message.d.mts +18 -0
  14. package/dist/components/ai/message/message.mjs +33 -0
  15. package/dist/components/ai/prompt-input/index.d.mts +2 -0
  16. package/dist/components/ai/prompt-input/index.mjs +2 -0
  17. package/dist/components/ai/prompt-input/prompt-input.d.mts +27 -0
  18. package/dist/components/ai/prompt-input/prompt-input.mjs +103 -0
  19. package/dist/components/ai/reasoning/index.d.mts +2 -0
  20. package/dist/components/ai/reasoning/index.mjs +2 -0
  21. package/dist/components/ai/reasoning/reasoning.d.mts +13 -0
  22. package/dist/components/ai/reasoning/reasoning.mjs +21 -0
  23. package/dist/components/ai/response/index.d.mts +2 -0
  24. package/dist/components/ai/response/index.mjs +2 -0
  25. package/dist/components/ai/response/response.d.mts +18 -0
  26. package/dist/components/ai/response/response.mjs +20 -0
  27. package/dist/components/ai/suggestion/index.d.mts +2 -0
  28. package/dist/components/ai/suggestion/index.mjs +2 -0
  29. package/dist/components/ai/suggestion/suggestion.d.mts +18 -0
  30. package/dist/components/ai/suggestion/suggestion.mjs +25 -0
  31. package/dist/components/ai/tool-invocation/index.d.mts +2 -0
  32. package/dist/components/ai/tool-invocation/index.mjs +2 -0
  33. package/dist/components/ai/tool-invocation/tool-invocation.d.mts +17 -0
  34. package/dist/components/ai/tool-invocation/tool-invocation.mjs +59 -0
  35. package/dist/components/ai/types.d.mts +5 -0
  36. package/dist/components/ai/types.mjs +1 -0
  37. package/dist/components/data-display/avatar/avatar.d.mts +3 -1
  38. package/dist/components/data-display/avatar/avatar.mjs +7 -3
  39. package/dist/components/form/checkbox-group/index.d.mts +3 -3
  40. package/dist/components/icons/index.d.mts +2 -2
  41. package/dist/components/icons/index.mjs +2 -2
  42. package/dist/components/icons/lucide-imports.d.mts +2 -1
  43. package/dist/components/icons/lucide-imports.mjs +2 -1
  44. package/dist/components/icons/lucide.d.mts +2 -1
  45. package/dist/components/icons/lucide.mjs +6 -2
  46. package/dist/components/index.d.mts +2 -2
  47. package/dist/components/index.mjs +2 -2
  48. package/dist/index.d.mts +2 -2
  49. package/dist/index.mjs +2 -2
  50. package/dist/integrations/_shared/openui-defs.mjs +1 -1
  51. package/dist/integrations/_shared/schemas.d.mts +1 -1
  52. package/dist/integrations/ai-sdk/index.d.mts +3 -0
  53. package/dist/integrations/ai-sdk/index.mjs +2 -0
  54. package/dist/integrations/ai-sdk/map-parts.d.mts +28 -0
  55. package/dist/integrations/ai-sdk/map-parts.mjs +31 -0
  56. package/dist/integrations/json-render/catalog.d.mts +2 -2
  57. package/dist/integrations/json-render/registry.mjs +1 -1
  58. package/dist/integrations/openui/library.d.mts +87 -87
  59. package/dist/integrations/openui/library.mjs +1 -1
  60. package/package.json +29 -1
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { Spinner } from "../../feedback/spinner/spinner.mjs";
3
+ import { AlertIcon, CheckIcon } from "../../icons/lucide.mjs";
4
+ import { Collapsible } from "../_internal/collapsible.mjs";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/components/ai/tool-invocation/tool-invocation.tsx
7
+ const stateIcon = (state) => {
8
+ if (state === "output-available") return /* @__PURE__ */ jsx("span", {
9
+ className: "text-fg-success",
10
+ children: /* @__PURE__ */ jsx(CheckIcon, { size: "sm" })
11
+ });
12
+ if (state === "output-error") return /* @__PURE__ */ jsx("span", {
13
+ className: "text-fg-error",
14
+ children: /* @__PURE__ */ jsx(AlertIcon, {
15
+ size: "sm",
16
+ status: "error"
17
+ })
18
+ });
19
+ return /* @__PURE__ */ jsx(Spinner, { size: "sm" });
20
+ };
21
+ const stringify = (value) => {
22
+ if (typeof value === "string") return value;
23
+ try {
24
+ return JSON.stringify(value, null, 2);
25
+ } catch {
26
+ return String(value);
27
+ }
28
+ };
29
+ const ToolInvocation = ({ name, state, input, output, errorText, isOpen, defaultOpen = false, onChange }) => /* @__PURE__ */ jsx(Collapsible, {
30
+ defaultOpen,
31
+ icon: stateIcon(state),
32
+ isOpen,
33
+ label: /* @__PURE__ */ jsx("span", {
34
+ className: "text-fg-base font-medium",
35
+ children: name
36
+ }),
37
+ onChange,
38
+ children: /* @__PURE__ */ jsxs("div", {
39
+ className: "flex flex-col gap-3",
40
+ children: [input !== void 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
41
+ className: "text-fg-mute mb-1 text-xs font-medium",
42
+ children: "入力"
43
+ }), /* @__PURE__ */ jsx("pre", {
44
+ className: "bg-bg-mute text-fg-base overflow-x-auto rounded-lg p-2 text-xs",
45
+ children: stringify(input)
46
+ })] }), state === "output-error" ? /* @__PURE__ */ jsx("p", {
47
+ className: "text-fg-error text-sm",
48
+ children: errorText ?? "ツールの実行でエラーが発生しました。"
49
+ }) : output === void 0 ? null : /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
50
+ className: "text-fg-mute mb-1 text-xs font-medium",
51
+ children: "出力"
52
+ }), typeof output === "string" ? /* @__PURE__ */ jsx("pre", {
53
+ className: "bg-bg-mute text-fg-base overflow-x-auto rounded-lg p-2 text-xs",
54
+ children: output
55
+ }) : output] })]
56
+ })
57
+ });
58
+ //#endregion
59
+ export { ToolInvocation };
@@ -0,0 +1,5 @@
1
+ //#region src/components/ai/types.d.ts
2
+ type ChatStatus = 'ready' | 'submitted' | 'streaming' | 'error';
3
+ type ToolState = 'input-streaming' | 'input-available' | 'output-available' | 'output-error';
4
+ //#endregion
5
+ export { ChatStatus, ToolState };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,11 @@
1
- import { FC, HTMLAttributes } from "react";
1
+ import { FC, HTMLAttributes, ReactNode } from "react";
2
2
 
3
3
  //#region src/components/data-display/avatar/avatar.d.ts
4
4
  type Props = {
5
5
  alt?: string;
6
+ color?: 'base' | 'primary' | 'secondary';
6
7
  fallback?: string;
8
+ icon?: ReactNode;
7
9
  name?: string;
8
10
  size?: 'sm' | 'md' | 'lg';
9
11
  src?: string;
@@ -8,7 +8,7 @@ const getInitials = (name) => {
8
8
  const initials = name.trim().split(/\s+/u).slice(0, 2).map((part) => part.charAt(0).toUpperCase()).join("");
9
9
  return initials === "" ? "?" : initials;
10
10
  };
11
- const Avatar = ({ alt, fallback, name, size = "md", src, ...rest }) => {
11
+ const Avatar = ({ alt, color = "base", fallback, icon, name, size = "md", src, ...rest }) => {
12
12
  const [failedSrc, setFailedSrc] = useState(null);
13
13
  const showImage = Boolean(src) && failedSrc !== src;
14
14
  const label = alt ?? name ?? "Avatar";
@@ -16,7 +16,7 @@ const Avatar = ({ alt, fallback, name, size = "md", src, ...rest }) => {
16
16
  return /* @__PURE__ */ jsx("span", {
17
17
  ...rest,
18
18
  "aria-label": label,
19
- className: cn("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border-base bg-bg-mute font-medium text-fg-base", size === "sm" && "size-8 text-xs", size === "md" && "size-10 text-sm", size === "lg" && "size-14 text-lg"),
19
+ className: cn("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full border font-medium", color === "base" && "border-border-base bg-bg-mute text-fg-base", color === "primary" && "border-transparent bg-primary-bg text-primary-fg", color === "secondary" && "border-transparent bg-secondary-bg text-secondary-fg", size === "sm" && "size-8 text-xs", size === "md" && "size-10 text-sm", size === "lg" && "size-14 text-lg"),
20
20
  role: "img",
21
21
  children: showImage ? /* @__PURE__ */ jsx("img", {
22
22
  alt: alt ?? "",
@@ -27,9 +27,13 @@ const Avatar = ({ alt, fallback, name, size = "md", src, ...rest }) => {
27
27
  },
28
28
  src,
29
29
  width: imageSize
30
- }) : /* @__PURE__ */ jsx("span", {
30
+ }) : icon === void 0 ? /* @__PURE__ */ jsx("span", {
31
31
  "aria-hidden": true,
32
32
  children: fallback ?? getInitials(name)
33
+ }) : /* @__PURE__ */ jsx("span", {
34
+ "aria-hidden": true,
35
+ className: cn("flex items-center justify-center", size === "sm" && "[&_svg]:size-5", size === "md" && "[&_svg]:size-6", size === "lg" && "[&_svg]:size-8"),
36
+ children: icon
33
37
  })
34
38
  });
35
39
  };
@@ -3,7 +3,7 @@ declare const CheckboxGroup: import("react").FC<{
3
3
  invalid?: boolean;
4
4
  required?: boolean;
5
5
  name: string;
6
- } & Omit<import("react").FieldsetHTMLAttributes<HTMLFieldSetElement>, "className" | "style" | "onChange" | "name" | "defaultValue"> & {
6
+ } & Omit<import("react").FieldsetHTMLAttributes<HTMLFieldSetElement>, "className" | "style" | "defaultValue" | "onChange" | "name"> & {
7
7
  children?: import("react").ReactNode | undefined;
8
8
  } & ({
9
9
  value: string[];
@@ -18,7 +18,7 @@ declare const CheckboxGroup: import("react").FC<{
18
18
  invalid?: boolean;
19
19
  required?: boolean;
20
20
  name: string;
21
- } & Omit<import("react").FieldsetHTMLAttributes<HTMLFieldSetElement>, "className" | "style" | "onChange" | "name" | "defaultValue"> & {
21
+ } & Omit<import("react").FieldsetHTMLAttributes<HTMLFieldSetElement>, "className" | "style" | "defaultValue" | "onChange" | "name"> & {
22
22
  children?: import("react").ReactNode | undefined;
23
23
  } & ({
24
24
  value: string[];
@@ -33,7 +33,7 @@ declare const CheckboxGroup: import("react").FC<{
33
33
  Item: import("react").FC<{
34
34
  itemValue?: string;
35
35
  label: string;
36
- } & Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "type" | "className" | "style" | "value" | "onChange" | "defaultChecked" | "checked" | "children"> & ({
36
+ } & Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "className" | "style" | "defaultChecked" | "children" | "onChange" | "type" | "value" | "checked"> & ({
37
37
  value: boolean;
38
38
  onChange: (checked: boolean, event: import("react").ChangeEvent<HTMLInputElement>) => void;
39
39
  defaultChecked?: never;
@@ -1,8 +1,8 @@
1
1
  import { ArteOdyssey } from "./arte-odyssey.mjs";
2
2
  import { GitHubIcon } from "./github-mark.mjs";
3
3
  import { Logo, LogoIcon } from "./logo.mjs";
4
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
4
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
5
5
  import { QiitaIcon } from "./qiita.mjs";
6
6
  import { TwitterIcon } from "./twitter.mjs";
7
7
  import { VerticalWritingIcon } from "./vertical-writing.mjs";
8
- export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
8
+ export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
@@ -1,8 +1,8 @@
1
1
  import { ArteOdyssey } from "./arte-odyssey.mjs";
2
2
  import { GitHubIcon } from "./github-mark.mjs";
3
3
  import { Logo, LogoIcon } from "./logo.mjs";
4
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
4
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
5
5
  import { QiitaIcon } from "./qiita.mjs";
6
6
  import { TwitterIcon } from "./twitter.mjs";
7
7
  import { VerticalWritingIcon } from "./vertical-writing.mjs";
8
- export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
8
+ export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
@@ -7,6 +7,7 @@ import Blend from "lucide-react/dist/esm/icons/blend.mjs";
7
7
  import BookOpenText from "lucide-react/dist/esm/icons/book-open-text.mjs";
8
8
  import BookText from "lucide-react/dist/esm/icons/book-text.mjs";
9
9
  import Bookmark from "lucide-react/dist/esm/icons/bookmark.mjs";
10
+ import BotMessageSquare from "lucide-react/dist/esm/icons/bot-message-square.mjs";
10
11
  import Bot from "lucide-react/dist/esm/icons/bot.mjs";
11
12
  import Calendar from "lucide-react/dist/esm/icons/calendar.mjs";
12
13
  import Check from "lucide-react/dist/esm/icons/check.mjs";
@@ -60,4 +61,4 @@ import ThumbsDown from "lucide-react/dist/esm/icons/thumbs-down.mjs";
60
61
  import ThumbsUp from "lucide-react/dist/esm/icons/thumbs-up.mjs";
61
62
  import TriangleAlert from "lucide-react/dist/esm/icons/triangle-alert.mjs";
62
63
  import X from "lucide-react/dist/esm/icons/x.mjs";
63
- export { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X };
64
+ export { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, BotMessageSquare, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X };
@@ -7,6 +7,7 @@ import Blend from "lucide-react/dist/esm/icons/blend.mjs";
7
7
  import BookOpenText from "lucide-react/dist/esm/icons/book-open-text.mjs";
8
8
  import BookText from "lucide-react/dist/esm/icons/book-text.mjs";
9
9
  import Bookmark from "lucide-react/dist/esm/icons/bookmark.mjs";
10
+ import BotMessageSquare from "lucide-react/dist/esm/icons/bot-message-square.mjs";
10
11
  import Bot from "lucide-react/dist/esm/icons/bot.mjs";
11
12
  import Calendar from "lucide-react/dist/esm/icons/calendar.mjs";
12
13
  import Check from "lucide-react/dist/esm/icons/check.mjs";
@@ -60,4 +61,4 @@ import ThumbsDown from "lucide-react/dist/esm/icons/thumbs-down.mjs";
60
61
  import ThumbsUp from "lucide-react/dist/esm/icons/thumbs-up.mjs";
61
62
  import TriangleAlert from "lucide-react/dist/esm/icons/triangle-alert.mjs";
62
63
  import X from "lucide-react/dist/esm/icons/x.mjs";
63
- export { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X };
64
+ export { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, BotMessageSquare, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X };
@@ -39,6 +39,7 @@ declare const LightModeIcon: FC<IconProps>;
39
39
  declare const ViewIcon: FC<IconProps>;
40
40
  declare const ViewOffIcon: FC<IconProps>;
41
41
  declare const AIIcon: FC<IconProps>;
42
+ declare const AssistantIcon: FC<IconProps>;
42
43
  declare const RSSIcon: FC<IconProps>;
43
44
  declare const HistoryIcon: FC<IconProps>;
44
45
  declare const ListIcon: FC<IconProps>;
@@ -65,4 +66,4 @@ declare const FullscreenIcon: FC<IconProps>;
65
66
  declare const LockIcon: FC<IconProps>;
66
67
  declare const LockOpenIcon: FC<IconProps>;
67
68
  //#endregion
68
- export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
69
+ export { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
@@ -1,5 +1,5 @@
1
1
  import { BaseIcon } from "./base.mjs";
2
- import { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X } from "./lucide-imports.mjs";
2
+ import { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, BotMessageSquare, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, CodeXml, Contrast, Droplets, ExternalLink, Eye, EyeOff, FlaskConical, GitFork, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Lock, LockOpen, Mail, MapPin, Maximize, Minus, MoonStar, Package, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Squircle, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X } from "./lucide-imports.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/components/icons/lucide.tsx
5
5
  const CHEVRON_BY_DIRECTION = {
@@ -144,6 +144,10 @@ const AIIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
144
144
  renderItem: (props) => /* @__PURE__ */ jsx(Bot, { ...props }),
145
145
  size
146
146
  });
147
+ const AssistantIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
148
+ renderItem: (props) => /* @__PURE__ */ jsx(BotMessageSquare, { ...props }),
149
+ size
150
+ });
147
151
  const RSSIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
148
152
  renderItem: (props) => /* @__PURE__ */ jsx(Rss, { ...props }),
149
153
  size
@@ -245,4 +249,4 @@ const LockOpenIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
245
249
  size
246
250
  });
247
251
  //#endregion
248
- export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
252
+ export { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
@@ -34,7 +34,7 @@ import { Textarea } from "./form/textarea/textarea.mjs";
34
34
  import { ArteOdyssey } from "./icons/arte-odyssey.mjs";
35
35
  import { GitHubIcon } from "./icons/github-mark.mjs";
36
36
  import { Logo, LogoIcon } from "./icons/logo.mjs";
37
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./icons/lucide.mjs";
37
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./icons/lucide.mjs";
38
38
  import { QiitaIcon } from "./icons/qiita.mjs";
39
39
  import { TwitterIcon } from "./icons/twitter.mjs";
40
40
  import { VerticalWritingIcon } from "./icons/vertical-writing.mjs";
@@ -55,4 +55,4 @@ import { useOpenContext } from "./overlays/popover/hooks.mjs";
55
55
  import { Popover } from "./overlays/popover/popover.mjs";
56
56
  import { ArteOdysseyProvider } from "./providers/arte-odyssey-provider.mjs";
57
57
  import { PortalRootProvider, usePortalRoot } from "./providers/portal-root.mjs";
58
- export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, type GridProps, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, type StackProps, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, useOpenContext, usePortalRoot, useToast };
58
+ export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AssistantIcon, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, type GridProps, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, type StackProps, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, useOpenContext, usePortalRoot, useToast };
@@ -7,7 +7,7 @@ import { IconButton } from "./buttons/icon-button/icon-button.mjs";
7
7
  import { ArteOdyssey } from "./icons/arte-odyssey.mjs";
8
8
  import { GitHubIcon } from "./icons/github-mark.mjs";
9
9
  import { Logo, LogoIcon } from "./icons/logo.mjs";
10
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./icons/lucide.mjs";
10
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./icons/lucide.mjs";
11
11
  import { QiitaIcon } from "./icons/qiita.mjs";
12
12
  import { TwitterIcon } from "./icons/twitter.mjs";
13
13
  import { VerticalWritingIcon } from "./icons/vertical-writing.mjs";
@@ -55,4 +55,4 @@ import { Modal } from "./overlays/modal/modal.mjs";
55
55
  import { Drawer } from "./overlays/drawer/drawer.mjs";
56
56
  import { DropdownMenu } from "./overlays/dropdown-menu/dropdown-menu.mjs";
57
57
  import { ListBox } from "./overlays/list-box/list-box.mjs";
58
- export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, useOpenContext, usePortalRoot, useToast };
58
+ export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AssistantIcon, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, useOpenContext, usePortalRoot, useToast };
package/dist/index.d.mts CHANGED
@@ -35,7 +35,7 @@ import { Textarea } from "./components/form/textarea/textarea.mjs";
35
35
  import { ArteOdyssey } from "./components/icons/arte-odyssey.mjs";
36
36
  import { GitHubIcon } from "./components/icons/github-mark.mjs";
37
37
  import { Logo, LogoIcon } from "./components/icons/logo.mjs";
38
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./components/icons/lucide.mjs";
38
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./components/icons/lucide.mjs";
39
39
  import { QiitaIcon } from "./components/icons/qiita.mjs";
40
40
  import { TwitterIcon } from "./components/icons/twitter.mjs";
41
41
  import { VerticalWritingIcon } from "./components/icons/vertical-writing.mjs";
@@ -84,4 +84,4 @@ import { useTimeout } from "./hooks/timeout/index.mjs";
84
84
  import { useWindowResize } from "./hooks/window-resize/index.mjs";
85
85
  import { useWindowSize } from "./hooks/window-size/index.mjs";
86
86
  import { WritingMode, useWritingMode } from "./hooks/writing-mode/index.mjs";
87
- export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, type DebouncedAction, Dialog, DifficultIcon, type Direction, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, type GridProps, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, type Option, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, type StackProps, type Status, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, type WritingMode, chain, cn, createSafeContext, mergeProps, mergeRefs, useBreakpoint, useClickAway, useClient, useClipboard, useControllableState, useDebouncedTransition, useDeferredDebounce, useDisclosure, useHash, useHover, useInView, useIntersectionObserver, useInterval, useLocalStorage, useOpenContext, usePortalRoot, useResize, useScrollDirection, useScrollLock, useSessionStorage, useStep, useTimeout, useToast, useWindowResize, useWindowSize, useWritingMode };
87
+ export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AssistantIcon, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, type DebouncedAction, Dialog, DifficultIcon, type Direction, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, type GridProps, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, type Option, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, type StackProps, type Status, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, type WritingMode, chain, cn, createSafeContext, mergeProps, mergeRefs, useBreakpoint, useClickAway, useClient, useClipboard, useControllableState, useDebouncedTransition, useDeferredDebounce, useDisclosure, useHash, useHover, useInView, useIntersectionObserver, useInterval, useLocalStorage, useOpenContext, usePortalRoot, useResize, useScrollDirection, useScrollLock, useSessionStorage, useStep, useTimeout, useToast, useWindowResize, useWindowSize, useWritingMode };
package/dist/index.mjs CHANGED
@@ -35,7 +35,7 @@ import { IconButton } from "./components/buttons/icon-button/icon-button.mjs";
35
35
  import { ArteOdyssey } from "./components/icons/arte-odyssey.mjs";
36
36
  import { GitHubIcon } from "./components/icons/github-mark.mjs";
37
37
  import { Logo, LogoIcon } from "./components/icons/logo.mjs";
38
- import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./components/icons/lucide.mjs";
38
+ import { AIIcon, AccessibilityIcon, AlertIcon, AssistantIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FlaskIcon, ForkIcon, FormIcon, FullscreenIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LockOpenIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PackageIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SquircleIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./components/icons/lucide.mjs";
39
39
  import { QiitaIcon } from "./components/icons/qiita.mjs";
40
40
  import { TwitterIcon } from "./components/icons/twitter.mjs";
41
41
  import { VerticalWritingIcon } from "./components/icons/vertical-writing.mjs";
@@ -83,4 +83,4 @@ import { Modal } from "./components/overlays/modal/modal.mjs";
83
83
  import { Drawer } from "./components/overlays/drawer/drawer.mjs";
84
84
  import { DropdownMenu } from "./components/overlays/dropdown-menu/dropdown-menu.mjs";
85
85
  import { ListBox } from "./components/overlays/list-box/list-box.mjs";
86
- export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, chain, cn, createSafeContext, mergeProps, mergeRefs, useBreakpoint, useClickAway, useClient, useClipboard, useControllableState, useDebouncedTransition, useDeferredDebounce, useDisclosure, useHash, useHover, useInView, useIntersectionObserver, useInterval, useLocalStorage, useOpenContext, usePortalRoot, useResize, useScrollDirection, useScrollLock, useSessionStorage, useStep, useTimeout, useToast, useWindowResize, useWindowSize, useWritingMode };
86
+ export { AIIcon, AccessibilityIcon, Accordion, Alert, AlertIcon, Anchor, ArteOdyssey, ArteOdysseyProvider, AssistantIcon, AtomIcon, Autocomplete, Avatar, BadIcon, Badge, BaselineStatus, BlogIcon, BoringIcon, Breadcrumb, Button, Card, CheckIcon, Checkbox, CheckboxCard, CheckboxGroup, ChevronIcon, CloseIcon, Code, CodeXmlIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, Dialog, DifficultIcon, Drawer, DropdownMenu, EasyIcon, ExternalLinkIcon, FileField, FlaskIcon, ForkIcon, Form, FormControl, FormIcon, FullscreenIcon, GitHubIcon, GoodIcon, Grid, Heading, HistoryIcon, HorizontalWritingIcon, IconButton, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListBox, ListIcon, LocationIcon, LockIcon, LockOpenIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, Modal, NavigationMenuIcon, NewsIcon, NumberField, PackageIcon, Pagination, PaletteIcon, PasswordInput, PlusIcon, Popover, PortalRootProvider, PrepareIcon, Progress, PublishDateIcon, QiitaIcon, RSSIcon, Radio, RadioCard, ScrollLinked, Select, SendIcon, Separator, ShallowIcon, ShieldCheckIcon, Skeleton, SlideIcon, Slider, SparklesIcon, Spinner, SquircleIcon, Stack, SubscribeIcon, Switch, Table, TableIcon, Tabs, TagIcon, TextField, Textarea, ToastProvider, Tooltip, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon, chain, cn, createSafeContext, mergeProps, mergeRefs, useBreakpoint, useClickAway, useClient, useClipboard, useControllableState, useDebouncedTransition, useDeferredDebounce, useDisclosure, useHash, useHover, useInView, useIntersectionObserver, useInterval, useLocalStorage, useOpenContext, usePortalRoot, useResize, useScrollDirection, useScrollLock, useSessionStorage, useStep, useTimeout, useToast, useWindowResize, useWindowSize, useWritingMode };
@@ -1,6 +1,6 @@
1
1
  import { accordionProps, alertProps, anchorProps, autocompleteProps, avatarProps, badgeProps, baselineStatusProps, breadcrumbProps, buttonProps, cardProps, checkboxCardProps, checkboxGroupProps, checkboxProps, chevronIconProps, codeProps, dialogProps, drawerProps, dropdownMenuProps, fileFieldProps, formControlProps, formProps, gridProps, headingProps, iconButtonProps, iconProps, listBoxProps, modalProps, numberFieldProps, paginationProps, passwordInputProps, popoverProps, progressProps, radioCardProps, radioProps, scrollLinkedProps, selectProps, separatorProps, skeletonProps, sliderProps, spinnerProps, stackProps, statusIconProps, switchProps, tableProps, tabsProps, textFieldProps, textareaProps, toastProps, tooltipProps } from "./schemas.mjs";
2
- import { z } from "zod";
3
2
  import { createLibrary, defineComponent } from "@openuidev/lang-core";
3
+ import { z } from "zod";
4
4
  //#region src/integrations/_shared/openui-defs.ts
5
5
  const buildArteOdysseyLibrary = (render) => {
6
6
  const def = (name, description, props) => defineComponent({
@@ -374,8 +374,8 @@ declare const toastProps: z.ZodObject<{
374
374
  }, z.core.$strip>;
375
375
  declare const separatorProps: z.ZodObject<{
376
376
  orientation: z.ZodOptional<z.ZodEnum<{
377
- horizontal: "horizontal";
378
377
  vertical: "vertical";
378
+ horizontal: "horizontal";
379
379
  }>>;
380
380
  color: z.ZodOptional<z.ZodEnum<{
381
381
  base: "base";
@@ -0,0 +1,3 @@
1
+ import { ChatStatus, ToolState } from "../../components/ai/types.mjs";
2
+ import { MappedPart, mapMessageParts } from "./map-parts.mjs";
3
+ export { type ChatStatus, type MappedPart, type ToolState, mapMessageParts };
@@ -0,0 +1,2 @@
1
+ import { mapMessageParts } from "./map-parts.mjs";
2
+ export { mapMessageParts };
@@ -0,0 +1,28 @@
1
+ import { ToolState } from "../../components/ai/types.mjs";
2
+ import { UIMessage } from "ai";
3
+
4
+ //#region src/integrations/ai-sdk/map-parts.d.ts
5
+ type MappedPart = {
6
+ kind: 'text';
7
+ text: string;
8
+ } | {
9
+ kind: 'reasoning';
10
+ text: string;
11
+ } | {
12
+ kind: 'tool';
13
+ name: string;
14
+ toolCallId: string;
15
+ state: ToolState;
16
+ input?: unknown;
17
+ output?: unknown;
18
+ errorText?: string;
19
+ };
20
+ /**
21
+ * AI SDK の `UIMessage.parts` を ArteOdyssey の AI チャットコンポーネントに
22
+ * 対応付けやすい素朴な配列へ変換する。React には依存せず、利用側が
23
+ * `mapMessageParts(message).map(...)` で `Response` / `Reasoning` /
24
+ * `ToolInvocation` を自分で描画する。
25
+ */
26
+ declare const mapMessageParts: (message: UIMessage) => MappedPart[];
27
+ //#endregion
28
+ export { MappedPart, mapMessageParts };
@@ -0,0 +1,31 @@
1
+ import { getToolOrDynamicToolName, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart } from "ai";
2
+ //#region src/integrations/ai-sdk/map-parts.ts
3
+ /**
4
+ * AI SDK の `UIMessage.parts` を ArteOdyssey の AI チャットコンポーネントに
5
+ * 対応付けやすい素朴な配列へ変換する。React には依存せず、利用側が
6
+ * `mapMessageParts(message).map(...)` で `Response` / `Reasoning` /
7
+ * `ToolInvocation` を自分で描画する。
8
+ */
9
+ const mapMessageParts = (message) => {
10
+ const result = [];
11
+ for (const part of message.parts) if (isTextUIPart(part)) result.push({
12
+ kind: "text",
13
+ text: part.text
14
+ });
15
+ else if (isReasoningUIPart(part)) result.push({
16
+ kind: "reasoning",
17
+ text: part.text
18
+ });
19
+ else if (isToolOrDynamicToolUIPart(part)) result.push({
20
+ kind: "tool",
21
+ name: getToolOrDynamicToolName(part),
22
+ toolCallId: part.toolCallId,
23
+ state: part.state,
24
+ input: part.input,
25
+ output: part.state === "output-available" ? part.output : void 0,
26
+ errorText: part.state === "output-error" ? part.errorText : void 0
27
+ });
28
+ return result;
29
+ };
30
+ //#endregion
31
+ export { mapMessageParts };
@@ -1,5 +1,5 @@
1
- import { Spec, UIElement } from "@json-render/core";
2
1
  import { z } from "zod";
2
+ import { Spec, UIElement } from "@json-render/core";
3
3
 
4
4
  //#region src/integrations/json-render/catalog.d.ts
5
5
  /**
@@ -192,8 +192,8 @@ declare const catalog: import("@json-render/core").Catalog<{
192
192
  Separator: {
193
193
  props: z.ZodObject<{
194
194
  orientation: z.ZodOptional<z.ZodEnum<{
195
- horizontal: "horizontal";
196
195
  vertical: "vertical";
196
+ horizontal: "horizontal";
197
197
  }>>;
198
198
  color: z.ZodOptional<z.ZodEnum<{
199
199
  base: "base";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { catalog } from "./catalog.mjs";
3
2
  import { DialogWidget, DrawerWidget, FileFieldWidget, FormControlWidget, ModalWidget, ToastWidget, renderAccordion, renderAlert, renderAnchor, renderAutocomplete, renderAvatar, renderBadge, renderBaselineStatus, renderBreadcrumb, renderButton, renderCard, renderCheckbox, renderCheckboxCard, renderCheckboxGroup, renderChevronIcon, renderCode, renderDropdownMenu, renderForm, renderGrid, renderHeading, renderIcon, renderIconButton, renderListBox, renderNumberField, renderPagination, renderPasswordInput, renderPopover, renderProgress, renderRadio, renderRadioCard, renderScrollLinked, renderSelect, renderSeparator, renderSkeleton, renderSlider, renderSpinner, renderStack, renderStatusIcon, renderSwitch, renderTable, renderTabs, renderTextField, renderTextarea, renderTooltip } from "../_shared/renderers.mjs";
3
+ import { catalog } from "./catalog.mjs";
4
4
  import { useState } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { JSONUIProvider, Renderer, defineRegistry, useBoundProp } from "@json-render/react";