ui-lab-registry 0.3.1 → 0.3.2

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 (196) hide show
  1. package/dist/component-dependencies.d.ts +0 -11
  2. package/dist/component-dependencies.d.ts.map +1 -1
  3. package/dist/component-dependencies.js +4 -4
  4. package/dist/component-dependencies.js.map +1 -1
  5. package/dist/components/Color/examples/03-format-switching.d.ts +0 -4
  6. package/dist/components/Color/examples/03-format-switching.d.ts.map +1 -1
  7. package/dist/components/Color/examples/03-format-switching.js +2 -2
  8. package/dist/components/Color/examples/03-format-switching.js.map +1 -1
  9. package/dist/components/Color/examples.json +0 -5
  10. package/dist/components/Command/examples/01-basic-command.js +1 -1
  11. package/dist/components/Command/examples/01-basic-command.js.map +1 -1
  12. package/dist/components/Command/examples.json +1 -1
  13. package/dist/components/Command/index.js +3 -3
  14. package/dist/components/Command/index.js.map +1 -1
  15. package/dist/components/Divider/examples/02-pattern-variants.js +1 -1
  16. package/dist/components/Divider/examples.json +1 -1
  17. package/dist/components/Grid/examples/01-basic-grid.js +1 -1
  18. package/dist/components/Grid/examples/01-basic-grid.js.map +1 -1
  19. package/dist/components/Grid/examples.json +1 -1
  20. package/dist/components/Grid/index.js +2 -2
  21. package/dist/components/Grid/index.js.map +1 -1
  22. package/dist/components/Input/examples/02-validation.js +1 -1
  23. package/dist/components/Input/examples/02-validation.js.map +1 -1
  24. package/dist/components/Input/examples.json +1 -1
  25. package/dist/components/Path/examples.json +0 -5
  26. package/dist/components/Radio/index.js +1 -1
  27. package/dist/components/Select/examples/02-searchable-select.js +1 -1
  28. package/dist/components/Select/examples/02-searchable-select.js.map +1 -1
  29. package/dist/components/Select/examples.json +1 -1
  30. package/dist/components/Tabs/examples/01-basic-tabs.js +2 -2
  31. package/dist/components/Tabs/examples/01-basic-tabs.js.map +1 -1
  32. package/dist/components/Tabs/examples/02-vertical-tabs.js +2 -2
  33. package/dist/components/Tabs/examples/02-vertical-tabs.js.map +1 -1
  34. package/dist/components/Tabs/examples.json +2 -2
  35. package/dist/components/Tabs/index.js +11 -11
  36. package/dist/components/Tabs/index.js.map +1 -1
  37. package/dist/elements/AI/AIChatInput/index.js +1 -1
  38. package/dist/elements/AI/AIChatInput/variations/02-with-suggestions/index.js +1 -1
  39. package/dist/elements/AI/AIChatInput/variations/02-with-suggestions/layout/PromptInputWithSuggestions.js +1 -1
  40. package/dist/elements/AI/AIChatInput/variations.json +2 -2
  41. package/dist/elements/AI/ChainOfThought/index.js +1 -1
  42. package/dist/elements/AI/Chat/index.js +1 -1
  43. package/dist/elements/AI/Chat/variations/02-with-actions/index.js +1 -1
  44. package/dist/elements/AI/Chat/variations.json +1 -1
  45. package/dist/elements/Documentation/CopyPage/index.js +1 -1
  46. package/dist/elements/Documentation/NextArticle/index.js +1 -1
  47. package/dist/elements/Documentation/NextArticle/variations/01-basic/layout/NextArticleCard.js +1 -1
  48. package/dist/elements/Documentation/NextArticle/variations/02-with-icon/layout/NextArticleWithIconCard.js +1 -1
  49. package/dist/elements/Documentation/NextArticle/variations.json +2 -2
  50. package/dist/elements/Documentation/TOC/index.js +1 -1
  51. package/dist/generated-data.d.ts.map +1 -1
  52. package/dist/generated-data.js +213 -947
  53. package/dist/generated-data.js.map +1 -1
  54. package/dist/generated-styles.d.ts.map +1 -1
  55. package/dist/generated-styles.js +171 -63
  56. package/dist/generated-styles.js.map +1 -1
  57. package/dist/generated-styles.json +171 -63
  58. package/dist/patterns/data/data-table-row/metadata.json +3 -3
  59. package/dist/patterns/data/data-table-row/variations/expandable/index.js +1 -1
  60. package/dist/patterns/data/data-table-row/variations/main/index.js +1 -1
  61. package/dist/patterns/data/data-table-row/variations/selectable/index.js +1 -1
  62. package/dist/patterns/data/progress-metric/metadata.json +3 -3
  63. package/dist/patterns/data/progress-metric/variations/colored/index.js +1 -1
  64. package/dist/patterns/data/progress-metric/variations/main/index.js +1 -1
  65. package/dist/patterns/data/progress-metric/variations/stacked/index.js +1 -1
  66. package/dist/patterns/form/labeled-field/metadata.json +4 -4
  67. package/dist/patterns/form/labeled-field/variations/main/index.js +1 -1
  68. package/dist/patterns/form/labeled-field/variations/with-error/index.js +1 -1
  69. package/dist/patterns/form/labeled-field/variations/with-hint/index.js +1 -1
  70. package/dist/patterns/form/select-row/metadata.json +2 -2
  71. package/dist/patterns/form/select-row/variations/main/index.js +1 -1
  72. package/dist/patterns/form/select-row/variations/with-icon/index.js +1 -1
  73. package/dist/patterns/form/toggle-setting-row/metadata.json +2 -2
  74. package/dist/patterns/form/toggle-setting-row/variations/destructive/index.js +1 -1
  75. package/dist/patterns/form/toggle-setting-row/variations/main/index.js +1 -1
  76. package/dist/patterns/interaction/icon-action-bar/variations/compact/index.js +1 -1
  77. package/dist/patterns/layout/media-object/metadata.json +1 -1
  78. package/dist/patterns/layout/media-object/variations/sm/index.js +1 -1
  79. package/dist/patterns/layout/split-row/metadata.json +3 -3
  80. package/dist/patterns/layout/split-row/variations/actions/index.js +1 -1
  81. package/dist/patterns/layout/split-row/variations/main/index.js +1 -1
  82. package/dist/patterns/layout/split-row/variations/meta/index.js +1 -1
  83. package/dist/patterns/layout/stat-block/metadata.json +3 -3
  84. package/dist/patterns/layout/stat-block/variations/compact/index.js +1 -1
  85. package/dist/patterns/layout/stat-block/variations/main/index.js +1 -1
  86. package/dist/patterns/layout/stat-block/variations/with-icon/index.js +1 -1
  87. package/dist/registry.d.ts.map +1 -1
  88. package/dist/registry.js +17 -27
  89. package/dist/registry.js.map +1 -1
  90. package/dist/sections/CTA/variations/02-split/index.js +1 -1
  91. package/dist/sections/CTA/variations.json +1 -1
  92. package/dist/sections/Pricing/variations/01-cards/index.js +1 -1
  93. package/dist/sections/Pricing/variations/02-comparison/index.js +1 -1
  94. package/dist/sections/Pricing/variations.json +2 -2
  95. package/dist/sections/categories.d.ts +0 -11
  96. package/dist/sections/categories.d.ts.map +1 -1
  97. package/dist/sections/categories.js +2 -2
  98. package/dist/sections/categories.js.map +1 -1
  99. package/dist/starters/NextJS/index.js +1 -1
  100. package/dist/types.d.ts +0 -5
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/utils/load-component-examples.d.ts +3 -2
  103. package/dist/utils/load-component-examples.d.ts.map +1 -1
  104. package/package.json +2 -6
  105. package/src/component-dependencies.ts +4 -4
  106. package/src/components/Anchor/metadata.json +1 -1
  107. package/src/components/Banner/metadata.json +1 -1
  108. package/src/components/Code/metadata.json +1 -1
  109. package/src/components/Color/examples/03-format-switching.tsx +3 -3
  110. package/src/components/Color/examples.json +0 -5
  111. package/src/components/Command/examples/01-basic-command.tsx +1 -1
  112. package/src/components/Command/examples.json +1 -1
  113. package/src/components/Command/index.tsx +3 -3
  114. package/src/components/Date/metadata.json +1 -1
  115. package/src/components/Divider/examples/02-pattern-variants.tsx +3 -3
  116. package/src/components/Divider/examples.json +1 -1
  117. package/src/components/Flex/metadata.json +1 -1
  118. package/src/components/Gallery/metadata.json +1 -1
  119. package/src/components/Grid/examples/01-basic-grid.tsx +1 -1
  120. package/src/components/Grid/examples.json +1 -1
  121. package/src/components/Grid/index.tsx +2 -2
  122. package/src/components/Group/metadata.json +1 -1
  123. package/src/components/Input/examples/02-validation.tsx +2 -2
  124. package/src/components/Input/examples.json +1 -1
  125. package/src/components/List/metadata.json +1 -1
  126. package/src/components/Page/metadata.json +1 -1
  127. package/src/components/Panel/metadata.json +1 -1
  128. package/src/components/Path/examples.json +0 -5
  129. package/src/components/Radio/index.tsx +1 -1
  130. package/src/components/Select/examples/02-searchable-select.tsx +1 -1
  131. package/src/components/Select/examples.json +1 -1
  132. package/src/components/Tabs/examples/01-basic-tabs.tsx +12 -12
  133. package/src/components/Tabs/examples/02-vertical-tabs.tsx +19 -19
  134. package/src/components/Tabs/examples.json +2 -2
  135. package/src/components/Tabs/index.tsx +45 -45
  136. package/src/elements/AI/AIChatInput/index.tsx +2 -2
  137. package/src/elements/AI/AIChatInput/variations/02-with-suggestions/index.tsx +1 -1
  138. package/src/elements/AI/AIChatInput/variations/02-with-suggestions/layout/PromptInputWithSuggestions.tsx +1 -1
  139. package/src/elements/AI/AIChatInput/variations.json +2 -2
  140. package/src/elements/AI/ChainOfThought/index.tsx +1 -1
  141. package/src/elements/AI/Chat/index.tsx +4 -4
  142. package/src/elements/AI/Chat/variations/02-with-actions/index.tsx +3 -3
  143. package/src/elements/AI/Chat/variations.json +1 -1
  144. package/src/elements/Documentation/CopyPage/index.tsx +1 -1
  145. package/src/elements/Documentation/NextArticle/index.tsx +1 -1
  146. package/src/elements/Documentation/NextArticle/variations/01-basic/layout/NextArticleCard.tsx +1 -1
  147. package/src/elements/Documentation/NextArticle/variations/02-with-icon/layout/NextArticleWithIconCard.tsx +1 -1
  148. package/src/elements/Documentation/NextArticle/variations.json +2 -2
  149. package/src/elements/Documentation/TOC/index.tsx +4 -4
  150. package/src/generated-data.ts +213 -947
  151. package/src/generated-styles.ts +171 -63
  152. package/src/patterns/data/data-table-row/metadata.json +4 -4
  153. package/src/patterns/data/data-table-row/variations/expandable/index.tsx +3 -3
  154. package/src/patterns/data/data-table-row/variations/main/index.tsx +2 -2
  155. package/src/patterns/data/data-table-row/variations/selectable/index.tsx +2 -2
  156. package/src/patterns/data/progress-metric/metadata.json +4 -4
  157. package/src/patterns/data/progress-metric/variations/colored/index.tsx +2 -2
  158. package/src/patterns/data/progress-metric/variations/main/index.tsx +2 -2
  159. package/src/patterns/data/progress-metric/variations/stacked/index.tsx +2 -2
  160. package/src/patterns/form/labeled-field/metadata.json +5 -5
  161. package/src/patterns/form/labeled-field/variations/main/index.tsx +1 -1
  162. package/src/patterns/form/labeled-field/variations/with-error/index.tsx +1 -1
  163. package/src/patterns/form/labeled-field/variations/with-hint/index.tsx +1 -1
  164. package/src/patterns/form/select-row/metadata.json +3 -3
  165. package/src/patterns/form/select-row/variations/main/index.tsx +1 -1
  166. package/src/patterns/form/select-row/variations/with-icon/index.tsx +1 -1
  167. package/src/patterns/form/toggle-setting-row/metadata.json +3 -3
  168. package/src/patterns/form/toggle-setting-row/variations/destructive/index.tsx +1 -1
  169. package/src/patterns/form/toggle-setting-row/variations/main/index.tsx +1 -1
  170. package/src/patterns/interaction/icon-action-bar/variations/compact/index.tsx +1 -1
  171. package/src/patterns/layout/media-object/metadata.json +2 -2
  172. package/src/patterns/layout/media-object/variations/sm/index.tsx +2 -2
  173. package/src/patterns/layout/split-row/metadata.json +4 -4
  174. package/src/patterns/layout/split-row/variations/actions/index.tsx +1 -1
  175. package/src/patterns/layout/split-row/variations/main/index.tsx +2 -2
  176. package/src/patterns/layout/split-row/variations/meta/index.tsx +3 -3
  177. package/src/patterns/layout/stat-block/metadata.json +4 -4
  178. package/src/patterns/layout/stat-block/variations/compact/index.tsx +1 -1
  179. package/src/patterns/layout/stat-block/variations/main/index.tsx +1 -1
  180. package/src/patterns/layout/stat-block/variations/with-icon/index.tsx +1 -1
  181. package/src/registry.ts +17 -27
  182. package/src/sections/CTA/variations/02-split/index.tsx +1 -1
  183. package/src/sections/CTA/variations.json +1 -1
  184. package/src/sections/Pricing/variations/01-cards/index.tsx +1 -1
  185. package/src/sections/Pricing/variations/02-comparison/index.tsx +1 -1
  186. package/src/sections/Pricing/variations.json +2 -2
  187. package/src/sections/categories.ts +2 -2
  188. package/src/starters/NextJS/index.tsx +2 -2
  189. package/src/types.ts +1 -1
  190. package/src/utils/load-component-examples.ts +2 -2
  191. package/src/components/Path/examples/01-basic-breadcrumbs.tsx +0 -17
  192. package/src/providers/Theme/examples/01-provider-setup.tsx +0 -37
  193. package/src/providers/Theme/examples/02-toggle-component.tsx +0 -52
  194. package/src/providers/Theme/examples/03-advanced-patterns.tsx +0 -138
  195. package/src/providers/Theme/examples/index.ts +0 -3
  196. package/src/src/generated-styles.ts +0 -1359
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Tabs, TabsContent, TabsList, TabsTrigger } from 'ui-lab-components';
2
+ import { Tabs } from 'ui-lab-components';
3
3
  import Example1, { metadata as metadata1 } from './examples/01-basic-tabs.js';
4
4
  import Example2, { metadata as metadata2 } from './examples/02-vertical-tabs.js';
5
5
  import examplesJson from './examples.json' with { type: 'json' };
@@ -32,12 +32,12 @@ const tabsBasicCode = `import { Tabs } from "ui-lab-components";
32
32
  export function Example() {
33
33
  return (
34
34
  <Tabs defaultValue="tab1">
35
- <TabsList>
36
- <TabsTrigger value="tab1">Tab 1</TabsTrigger>
37
- <TabsTrigger value="tab2">Tab 2</TabsTrigger>
38
- </TabsList>
39
- <TabsContent value="tab1">Content 1</TabsContent>
40
- <TabsContent value="tab2">Content 2</TabsContent>
35
+ <Tabs.List>
36
+ <Tabs.Trigger value="tab1">Tab 1</Tabs.Trigger>
37
+ <Tabs.Trigger value="tab2">Tab 2</Tabs.Trigger>
38
+ </Tabs.List>
39
+ <Tabs.Content value="tab1">Content 1</Tabs.Content>
40
+ <Tabs.Content value="tab2">Content 2</Tabs.Content>
41
41
  </Tabs>
42
42
  );
43
43
  }`;
@@ -52,9 +52,9 @@ export const tabsDetail = {
52
52
  title: "Preview",
53
53
  description: "Adjust props to customize the component",
54
54
  code: tabsBasicCode,
55
- preview: (_jsxs(Tabs, { defaultValue: "tab1", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "tab1", children: "Tab 1" }), _jsx(TabsTrigger, { value: "tab2", children: "Tab 2" }), _jsx(TabsTrigger, { value: "tab3", children: "Tab 3" })] }), _jsx(TabsContent, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 1" }) }), _jsx(TabsContent, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 2" }) }), _jsx(TabsContent, { value: "tab3", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 3" }) })] })),
55
+ preview: (_jsxs(Tabs, { defaultValue: "tab1", children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Trigger, { value: "tab1", children: "Tab 1" }), _jsx(Tabs.Trigger, { value: "tab2", children: "Tab 2" }), _jsx(Tabs.Trigger, { value: "tab3", children: "Tab 3" })] }), _jsx(Tabs.Content, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 1" }) }), _jsx(Tabs.Content, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 2" }) }), _jsx(Tabs.Content, { value: "tab3", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 3" }) })] })),
56
56
  controls: tabsControls,
57
- renderPreview: (props) => (_jsxs(Tabs, { defaultValue: "tab1", variant: props.variant, children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "tab1", children: "Tab 1" }), _jsx(TabsTrigger, { value: "tab2", disabled: props.disabled, children: "Tab 2" }), _jsx(TabsTrigger, { value: "tab3", children: "Tab 3" })] }), _jsx(TabsContent, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 1" }) }), _jsx(TabsContent, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 2" }) }), _jsx(TabsContent, { value: "tab3", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 3" }) })] })),
57
+ renderPreview: (props) => (_jsxs(Tabs, { defaultValue: "tab1", variant: props.variant, children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Trigger, { value: "tab1", children: "Tab 1" }), _jsx(Tabs.Trigger, { value: "tab2", disabled: props.disabled, children: "Tab 2" }), _jsx(Tabs.Trigger, { value: "tab3", children: "Tab 3" })] }), _jsx(Tabs.Content, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 1" }) }), _jsx(Tabs.Content, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 2" }) }), _jsx(Tabs.Content, { value: "tab3", children: _jsx("p", { className: "text-foreground-300", children: "Content for Tab 3" }) })] })),
58
58
  },
59
59
  ...loadComponentExamples(examplesData, examplesJson),
60
60
  ],
@@ -64,14 +64,14 @@ export const tabsDetail = {
64
64
  name: "Default",
65
65
  description: "Standard boxed tabs with active state highlighting.",
66
66
  code: tabsBasicCode,
67
- preview: (_jsxs(Tabs, { defaultValue: "tab1", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "tab1", children: "Tab 1" }), _jsx(TabsTrigger, { value: "tab2", children: "Tab 2" })] }), _jsx(TabsContent, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content 1" }) }), _jsx(TabsContent, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content 2" }) })] })),
67
+ preview: (_jsxs(Tabs, { defaultValue: "tab1", children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Trigger, { value: "tab1", children: "Tab 1" }), _jsx(Tabs.Trigger, { value: "tab2", children: "Tab 2" })] }), _jsx(Tabs.Content, { value: "tab1", children: _jsx("p", { className: "text-foreground-300", children: "Content 1" }) }), _jsx(Tabs.Content, { value: "tab2", children: _jsx("p", { className: "text-foreground-300", children: "Content 2" }) })] })),
68
68
  },
69
69
  {
70
70
  id: "underline",
71
71
  name: "Underline",
72
72
  description: "Minimal underline tabs for a cleaner appearance.",
73
73
  code: `<Tabs variant="underline">...</Tabs>`,
74
- preview: (_jsxs(Tabs, { defaultValue: "tab1", variant: "underline", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "tab1", children: "Tab 1" }), _jsx(TabsTrigger, { value: "tab2", children: "Tab 2" })] }), _jsx(TabsContent, { value: "tab1", className: "mt-6", children: _jsx("p", { className: "text-foreground-300", children: "Content 1" }) }), _jsx(TabsContent, { value: "tab2", className: "mt-6", children: _jsx("p", { className: "text-foreground-300", children: "Content 2" }) })] })),
74
+ preview: (_jsxs(Tabs, { defaultValue: "tab1", variant: "underline", children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Trigger, { value: "tab1", children: "Tab 1" }), _jsx(Tabs.Trigger, { value: "tab2", children: "Tab 2" })] }), _jsx(Tabs.Content, { value: "tab1", className: "mt-6", children: _jsx("p", { className: "text-foreground-300", children: "Content 1" }) }), _jsx(Tabs.Content, { value: "tab2", className: "mt-6", children: _jsx("p", { className: "text-foreground-300", children: "Content 2" }) })] })),
75
75
  },
76
76
  ],
77
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Tabs/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Tabs/index.tsx"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsxs("div", { className: "flex items-center gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: [_jsx("input", { type: "text", placeholder: "Ask AI...", className: "flex-1 bg-background-800 border border-background-700 rounded px-2 py-1 text-xs text-foreground-400 placeholder-foreground-400", readOnly: true }), _jsx("button", { className: "px-2 py-1 bg-accent-500 text-foreground-50 rounded text-xs font-medium hover:bg-accent-600", children: "\u2192" })] }));
26
+ return (_jsxs("div", { className: "flex items-center gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: [_jsx("input", { type: "text", placeholder: "Ask AI...", className: "flex-1 bg-background-800 border border-background-700 rounded px-2 py-1 text-sm text-foreground-400 placeholder-foreground-400", readOnly: true }), _jsx("button", { className: "px-2 py-1 bg-accent-500 text-foreground-50 rounded text-sm font-medium hover:bg-accent-600", children: "\u2192" })] }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -20,6 +20,6 @@ export function AIChatInputWithSuggestions() {
20
20
  setSelectedSuggestion(suggestion);
21
21
  setPrompt(suggestion);
22
22
  };
23
- return (_jsx("div", { className: "min-h-screen bg-background-950 p-8", children: _jsxs("div", { className: "max-w-2xl mx-auto", children: [_jsx("h1", { className: "text-3xl font-bold text-foreground-50 mb-8", children: "Chat with AI" }), _jsxs("div", { className: "space-y-6", children: [prompt.length === 0 && (_jsxs("div", { children: [_jsx("p", { className: "text-sm text-foreground-400 mb-3", children: "Quick suggestions:" }), _jsx("div", { className: "grid grid-cols-2 gap-2", children: suggestions.map((suggestion) => (_jsx("button", { onClick: () => handleSuggestionClick(suggestion), className: "text-left px-3 py-2 bg-background-800 border border-background-700 rounded hover:border-accent-500 hover:bg-background-700/80 transition-colors text-sm text-foreground-300 hover:text-foreground-200", children: suggestion }, suggestion))) })] })), _jsx(PromptInputWithSuggestions, { value: prompt, onChange: setPrompt, onSubmit: handleSubmit, placeholder: "Enter your prompt or use a suggestion..." }), selectedSuggestion && (_jsxs("div", { className: "p-4 bg-background-800 border border-accent-500/30 rounded-md", children: [_jsx("p", { className: "text-xs text-foreground-400 mb-1", children: "Using suggestion:" }), _jsx("p", { className: "text-foreground-50", children: selectedSuggestion })] }))] })] }) }));
23
+ return (_jsx("div", { className: "min-h-screen bg-background-950 p-8", children: _jsxs("div", { className: "max-w-2xl mx-auto", children: [_jsx("h1", { className: "text-3xl font-bold text-foreground-50 mb-8", children: "Chat with AI" }), _jsxs("div", { className: "space-y-6", children: [prompt.length === 0 && (_jsxs("div", { children: [_jsx("p", { className: "text-sm text-foreground-400 mb-3", children: "Quick suggestions:" }), _jsx("div", { className: "grid grid-cols-2 gap-2", children: suggestions.map((suggestion) => (_jsx("button", { onClick: () => handleSuggestionClick(suggestion), className: "text-left px-3 py-2 bg-background-800 border border-background-700 rounded hover:border-accent-500 hover:bg-background-700/80 transition-colors text-sm text-foreground-300 hover:text-foreground-200", children: suggestion }, suggestion))) })] })), _jsx(PromptInputWithSuggestions, { value: prompt, onChange: setPrompt, onSubmit: handleSubmit, placeholder: "Enter your prompt or use a suggestion..." }), selectedSuggestion && (_jsxs("div", { className: "p-4 bg-background-800 border border-accent-500/30 rounded-md", children: [_jsx("p", { className: "text-sm text-foreground-400 mb-1", children: "Using suggestion:" }), _jsx("p", { className: "text-foreground-50", children: selectedSuggestion })] }))] })] }) }));
24
24
  }
25
25
  //# sourceMappingURL=index.js.map
@@ -20,6 +20,6 @@ export function PromptInputWithSuggestions({ value, onChange, onSubmit, placehol
20
20
  if (value.trim()) {
21
21
  onSubmit(value);
22
22
  }
23
- }, disabled: !value.trim(), className: "px-4 py-2 bg-accent-500 text-foreground-50 rounded font-medium hover:bg-accent-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0 text-sm", children: "Send" }), _jsx("button", { className: "px-2 py-1 text-foreground-400 hover:text-foreground-200 text-xs rounded border border-background-700 hover:border-background-600 transition-colors", children: "\u2318K" })] })] }));
23
+ }, disabled: !value.trim(), className: "px-4 py-2 bg-accent-500 text-foreground-50 rounded font-medium hover:bg-accent-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0 text-sm", children: "Send" }), _jsx("button", { className: "px-2 py-1 text-foreground-400 hover:text-foreground-200 text-sm rounded border border-background-700 hover:border-background-600 transition-colors", children: "\u2318K" })] })] }));
24
24
  }
25
25
  //# sourceMappingURL=PromptInputWithSuggestions.js.map
@@ -28,13 +28,13 @@
28
28
  {
29
29
  "filename": "index.tsx",
30
30
  "language": "typescript",
31
- "code": "\"use client\"\nimport React, { useState } from 'react';\nimport { PromptInputWithSuggestions } from './layout/PromptInputWithSuggestions.js';\n\nexport function AIChatInputWithSuggestions() {\n const [prompt, setPrompt] = useState('');\n const [selectedSuggestion, setSelectedSuggestion] = useState<string | null>(null);\n\n const suggestions = [\n 'Explain this concept in simple terms',\n 'Write a code example',\n 'What are the best practices?',\n 'How do I debug this?',\n ];\n\n const handleSubmit = (value: string) => {\n console.log('Prompt submitted:', value);\n setPrompt('');\n setSelectedSuggestion(null);\n };\n\n const handleSuggestionClick = (suggestion: string) => {\n setSelectedSuggestion(suggestion);\n setPrompt(suggestion);\n };\n\n return (\n <div className=\"min-h-screen bg-background-950 p-8\">\n <div className=\"max-w-2xl mx-auto\">\n <h1 className=\"text-3xl font-bold text-foreground-50 mb-8\">Chat with AI</h1>\n\n <div className=\"space-y-6\">\n {prompt.length === 0 && (\n <div>\n <p className=\"text-sm text-foreground-400 mb-3\">Quick suggestions:</p>\n <div className=\"grid grid-cols-2 gap-2\">\n {suggestions.map((suggestion) => (\n <button\n key={suggestion}\n onClick={() => handleSuggestionClick(suggestion)}\n className=\"text-left px-3 py-2 bg-background-800 border border-background-700 rounded hover:border-accent-500 hover:bg-background-700/80 transition-colors text-sm text-foreground-300 hover:text-foreground-200\"\n >\n {suggestion}\n </button>\n ))}\n </div>\n </div>\n )}\n\n <PromptInputWithSuggestions\n value={prompt}\n onChange={setPrompt}\n onSubmit={handleSubmit}\n placeholder=\"Enter your prompt or use a suggestion...\"\n />\n\n {selectedSuggestion && (\n <div className=\"p-4 bg-background-800 border border-accent-500/30 rounded-md\">\n <p className=\"text-xs text-foreground-400 mb-1\">Using suggestion:</p>\n <p className=\"text-foreground-50\">{selectedSuggestion}</p>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n",
31
+ "code": "\"use client\"\nimport React, { useState } from 'react';\nimport { PromptInputWithSuggestions } from './layout/PromptInputWithSuggestions.js';\n\nexport function AIChatInputWithSuggestions() {\n const [prompt, setPrompt] = useState('');\n const [selectedSuggestion, setSelectedSuggestion] = useState<string | null>(null);\n\n const suggestions = [\n 'Explain this concept in simple terms',\n 'Write a code example',\n 'What are the best practices?',\n 'How do I debug this?',\n ];\n\n const handleSubmit = (value: string) => {\n console.log('Prompt submitted:', value);\n setPrompt('');\n setSelectedSuggestion(null);\n };\n\n const handleSuggestionClick = (suggestion: string) => {\n setSelectedSuggestion(suggestion);\n setPrompt(suggestion);\n };\n\n return (\n <div className=\"min-h-screen bg-background-950 p-8\">\n <div className=\"max-w-2xl mx-auto\">\n <h1 className=\"text-3xl font-bold text-foreground-50 mb-8\">Chat with AI</h1>\n\n <div className=\"space-y-6\">\n {prompt.length === 0 && (\n <div>\n <p className=\"text-sm text-foreground-400 mb-3\">Quick suggestions:</p>\n <div className=\"grid grid-cols-2 gap-2\">\n {suggestions.map((suggestion) => (\n <button\n key={suggestion}\n onClick={() => handleSuggestionClick(suggestion)}\n className=\"text-left px-3 py-2 bg-background-800 border border-background-700 rounded hover:border-accent-500 hover:bg-background-700/80 transition-colors text-sm text-foreground-300 hover:text-foreground-200\"\n >\n {suggestion}\n </button>\n ))}\n </div>\n </div>\n )}\n\n <PromptInputWithSuggestions\n value={prompt}\n onChange={setPrompt}\n onSubmit={handleSubmit}\n placeholder=\"Enter your prompt or use a suggestion...\"\n />\n\n {selectedSuggestion && (\n <div className=\"p-4 bg-background-800 border border-accent-500/30 rounded-md\">\n <p className=\"text-sm text-foreground-400 mb-1\">Using suggestion:</p>\n <p className=\"text-foreground-50\">{selectedSuggestion}</p>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n",
32
32
  "isEntryPoint": true
33
33
  },
34
34
  {
35
35
  "filename": "PromptInputWithSuggestions.tsx",
36
36
  "language": "typescript",
37
- "code": "import React, { useRef, useEffect } from 'react';\n\ninterface PromptInputWithSuggestionsProps {\n value: string;\n onChange: (value: string) => void;\n onSubmit: (value: string) => void;\n placeholder?: string;\n}\n\nexport function PromptInputWithSuggestions({\n value,\n onChange,\n onSubmit,\n placeholder = 'Ask AI...',\n}: PromptInputWithSuggestionsProps) {\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n if (textareaRef.current) {\n textareaRef.current.style.height = 'auto';\n textareaRef.current.style.height = `${Math.min(textareaRef.current.scrollHeight, 150)}px`;\n }\n }, [value]);\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n if (value.trim()) {\n onSubmit(value);\n }\n }\n };\n\n return (\n <div className=\"flex gap-3 p-4 bg-background-800 border border-background-700 rounded-md\">\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n className=\"flex-1 bg-transparent border-0 text-foreground-50 placeholder-foreground-400 focus:outline-none resize-none\"\n rows={1}\n />\n <div className=\"flex flex-col gap-2\">\n <button\n onClick={() => {\n if (value.trim()) {\n onSubmit(value);\n }\n }}\n disabled={!value.trim()}\n className=\"px-4 py-2 bg-accent-500 text-foreground-50 rounded font-medium hover:bg-accent-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0 text-sm\"\n >\n Send\n </button>\n <button className=\"px-2 py-1 text-foreground-400 hover:text-foreground-200 text-xs rounded border border-background-700 hover:border-background-600 transition-colors\">\n ⌘K\n </button>\n </div>\n </div>\n );\n}\n",
37
+ "code": "import React, { useRef, useEffect } from 'react';\n\ninterface PromptInputWithSuggestionsProps {\n value: string;\n onChange: (value: string) => void;\n onSubmit: (value: string) => void;\n placeholder?: string;\n}\n\nexport function PromptInputWithSuggestions({\n value,\n onChange,\n onSubmit,\n placeholder = 'Ask AI...',\n}: PromptInputWithSuggestionsProps) {\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n if (textareaRef.current) {\n textareaRef.current.style.height = 'auto';\n textareaRef.current.style.height = `${Math.min(textareaRef.current.scrollHeight, 150)}px`;\n }\n }, [value]);\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n if (value.trim()) {\n onSubmit(value);\n }\n }\n };\n\n return (\n <div className=\"flex gap-3 p-4 bg-background-800 border border-background-700 rounded-md\">\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n className=\"flex-1 bg-transparent border-0 text-foreground-50 placeholder-foreground-400 focus:outline-none resize-none\"\n rows={1}\n />\n <div className=\"flex flex-col gap-2\">\n <button\n onClick={() => {\n if (value.trim()) {\n onSubmit(value);\n }\n }}\n disabled={!value.trim()}\n className=\"px-4 py-2 bg-accent-500 text-foreground-50 rounded font-medium hover:bg-accent-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0 text-sm\"\n >\n Send\n </button>\n <button className=\"px-2 py-1 text-foreground-400 hover:text-foreground-200 text-sm rounded border border-background-700 hover:border-background-600 transition-colors\">\n ⌘K\n </button>\n </div>\n </div>\n );\n}\n",
38
38
  "isEntryPoint": false
39
39
  }
40
40
  ]
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsx("div", { className: "flex flex-col gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("div", { className: "space-y-2 text-xs", children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsx("span", { className: "text-accent-500 font-bold", children: "1." }), _jsx("div", { className: "text-foreground-400", children: "Analyzing the problem" })] }), _jsxs("div", { className: "flex items-start gap-2 ml-2 text-foreground-400", children: [_jsx("span", { children: "\u2192" }), _jsx("div", { children: "Breaking down requirements" })] }), _jsxs("div", { className: "flex items-start gap-2", children: [_jsx("span", { className: "text-accent-500 font-bold", children: "2." }), _jsx("div", { className: "text-foreground-400", children: "Evaluating options" })] })] }) }));
26
+ return (_jsx("div", { className: "flex flex-col gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("div", { className: "space-y-2 text-sm", children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsx("span", { className: "text-accent-500 font-bold", children: "1." }), _jsx("div", { className: "text-foreground-400", children: "Analyzing the problem" })] }), _jsxs("div", { className: "flex items-start gap-2 ml-2 text-foreground-400", children: [_jsx("span", { children: "\u2192" }), _jsx("div", { children: "Breaking down requirements" })] }), _jsxs("div", { className: "flex items-start gap-2", children: [_jsx("span", { className: "text-accent-500 font-bold", children: "2." }), _jsx("div", { className: "text-foreground-400", children: "Evaluating options" })] })] }) }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsxs("div", { className: "flex flex-col h-full w-full bg-background-900 rounded-sm border border-background-700 overflow-hidden", children: [_jsxs("div", { className: "flex-1 overflow-y-auto space-y-3 p-3", children: [_jsx("div", { className: "flex justify-start", children: _jsx("div", { className: "bg-background-700 rounded px-3 py-2 max-w-xs text-xs text-foreground-400", children: "Hello, how can I help?" }) }), _jsx("div", { className: "flex justify-end", children: _jsx("div", { className: "bg-accent-500 rounded px-3 py-2 max-w-xs text-xs text-foreground-50", children: "I need some assistance" }) }), _jsx("div", { className: "flex justify-start", children: _jsx("div", { className: "bg-background-700 rounded px-3 py-2 max-w-xs text-xs text-foreground-400", children: "I'm here to help!" }) })] }), _jsx("div", { className: "border-t border-background-700 p-2 bg-background-800", children: _jsx("div", { className: "h-6 bg-background-700 rounded text-xs flex items-center px-2 text-foreground-400", children: "Type a message..." }) })] }));
26
+ return (_jsxs("div", { className: "flex flex-col h-full w-full bg-background-900 rounded-sm border border-background-700 overflow-hidden", children: [_jsxs("div", { className: "flex-1 overflow-y-auto space-y-3 p-3", children: [_jsx("div", { className: "flex justify-start", children: _jsx("div", { className: "bg-background-700 rounded px-3 py-2 max-w-xs text-sm text-foreground-400", children: "Hello, how can I help?" }) }), _jsx("div", { className: "flex justify-end", children: _jsx("div", { className: "bg-accent-500 rounded px-3 py-2 max-w-xs text-sm text-foreground-50", children: "I need some assistance" }) }), _jsx("div", { className: "flex justify-start", children: _jsx("div", { className: "bg-background-700 rounded px-3 py-2 max-w-xs text-sm text-foreground-400", children: "I'm here to help!" }) })] }), _jsx("div", { className: "border-t border-background-700 p-2 bg-background-800", children: _jsx("div", { className: "h-6 bg-background-700 rounded text-sm flex items-center px-2 text-foreground-400", children: "Type a message..." }) })] }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -34,6 +34,6 @@ export function ChatWithActions() {
34
34
  };
35
35
  setMessages([...messages, actionMessage]);
36
36
  };
37
- return (_jsx("div", { className: "min-h-screen bg-background-950 p-8", children: _jsx("div", { className: "max-w-2xl mx-auto h-96", children: _jsxs(ChatContainerWithActions, { children: [_jsx("div", { className: "flex-1 overflow-y-auto space-y-4 p-4", children: messages.map((message) => (_jsx(ChatMessage, { message: message.content, sender: message.sender }, message.id))) }), _jsxs("div", { className: "border-t border-background-700 p-4 bg-background-700/50", children: [_jsxs("div", { className: "flex gap-2 mb-3 flex-wrap", children: [_jsx("button", { onClick: () => handleAction('Copy code'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors", children: "\uD83D\uDCCB Copy" }), _jsx("button", { onClick: () => handleAction('Explain'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors", children: "\uD83D\uDCA1 Explain" }), _jsx("button", { onClick: () => handleAction('Refactor'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors", children: "\u2728 Refactor" })] }), _jsx(ChatInputWithActions, { onSendMessage: handleSendMessage })] })] }) }) }));
37
+ return (_jsx("div", { className: "min-h-screen bg-background-950 p-8", children: _jsx("div", { className: "max-w-2xl mx-auto h-96", children: _jsxs(ChatContainerWithActions, { children: [_jsx("div", { className: "flex-1 overflow-y-auto space-y-4 p-4", children: messages.map((message) => (_jsx(ChatMessage, { message: message.content, sender: message.sender }, message.id))) }), _jsxs("div", { className: "border-t border-background-700 p-4 bg-background-700/50", children: [_jsxs("div", { className: "flex gap-2 mb-3 flex-wrap", children: [_jsx("button", { onClick: () => handleAction('Copy code'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors", children: "\uD83D\uDCCB Copy" }), _jsx("button", { onClick: () => handleAction('Explain'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors", children: "\uD83D\uDCA1 Explain" }), _jsx("button", { onClick: () => handleAction('Refactor'), className: "px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors", children: "\u2728 Refactor" })] }), _jsx(ChatInputWithActions, { onSendMessage: handleSendMessage })] })] }) }) }));
38
38
  }
39
39
  //# sourceMappingURL=index.js.map
@@ -40,7 +40,7 @@
40
40
  {
41
41
  "filename": "index.tsx",
42
42
  "language": "typescript",
43
- "code": "\"use client\"\nimport React, { useState } from 'react';\nimport { ChatContainerWithActions } from './layout/ChatContainerWithActions.js';\nimport { ChatMessage } from './layout/ChatMessage.js';\nimport { ChatInputWithActions } from './layout/ChatInputWithActions.js';\n\ninterface Message {\n id: string;\n content: string;\n sender: 'ai' | 'user';\n}\n\nexport function ChatWithActions() {\n const [messages, setMessages] = useState<Message[]>([\n { id: '1', content: 'Hello! I can help you with questions or tasks.', sender: 'ai' },\n { id: '2', content: 'Can you help me with debugging?', sender: 'user' },\n { id: '3', content: 'Absolutely! I can help you debug your code. What issue are you facing?', sender: 'ai' },\n ]);\n\n const handleSendMessage = (content: string) => {\n const userMessage = {\n id: String(messages.length + 1),\n content,\n sender: 'user' as const,\n };\n setMessages([...messages, userMessage]);\n\n setTimeout(() => {\n const aiMessage = {\n id: String(messages.length + 2),\n content: 'I can help with that. Let me analyze your code.',\n sender: 'ai' as const,\n };\n setMessages((prev) => [...prev, aiMessage]);\n }, 500);\n };\n\n const handleAction = (action: string) => {\n const actionMessage = {\n id: String(messages.length + 1),\n content: `[Action: ${action}]`,\n sender: 'user' as const,\n };\n setMessages([...messages, actionMessage]);\n };\n\n return (\n <div className=\"min-h-screen bg-background-950 p-8\">\n <div className=\"max-w-2xl mx-auto h-96\">\n <ChatContainerWithActions>\n <div className=\"flex-1 overflow-y-auto space-y-4 p-4\">\n {messages.map((message) => (\n <ChatMessage key={message.id} message={message.content} sender={message.sender} />\n ))}\n </div>\n <div className=\"border-t border-background-700 p-4 bg-background-700/50\">\n <div className=\"flex gap-2 mb-3 flex-wrap\">\n <button\n onClick={() => handleAction('Copy code')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors\"\n >\n 📋 Copy\n </button>\n <button\n onClick={() => handleAction('Explain')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors\"\n >\n 💡 Explain\n </button>\n <button\n onClick={() => handleAction('Refactor')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-xs transition-colors\"\n >\n ✨ Refactor\n </button>\n </div>\n <ChatInputWithActions onSendMessage={handleSendMessage} />\n </div>\n </ChatContainerWithActions>\n </div>\n </div>\n );\n}\n",
43
+ "code": "\"use client\"\nimport React, { useState } from 'react';\nimport { ChatContainerWithActions } from './layout/ChatContainerWithActions.js';\nimport { ChatMessage } from './layout/ChatMessage.js';\nimport { ChatInputWithActions } from './layout/ChatInputWithActions.js';\n\ninterface Message {\n id: string;\n content: string;\n sender: 'ai' | 'user';\n}\n\nexport function ChatWithActions() {\n const [messages, setMessages] = useState<Message[]>([\n { id: '1', content: 'Hello! I can help you with questions or tasks.', sender: 'ai' },\n { id: '2', content: 'Can you help me with debugging?', sender: 'user' },\n { id: '3', content: 'Absolutely! I can help you debug your code. What issue are you facing?', sender: 'ai' },\n ]);\n\n const handleSendMessage = (content: string) => {\n const userMessage = {\n id: String(messages.length + 1),\n content,\n sender: 'user' as const,\n };\n setMessages([...messages, userMessage]);\n\n setTimeout(() => {\n const aiMessage = {\n id: String(messages.length + 2),\n content: 'I can help with that. Let me analyze your code.',\n sender: 'ai' as const,\n };\n setMessages((prev) => [...prev, aiMessage]);\n }, 500);\n };\n\n const handleAction = (action: string) => {\n const actionMessage = {\n id: String(messages.length + 1),\n content: `[Action: ${action}]`,\n sender: 'user' as const,\n };\n setMessages([...messages, actionMessage]);\n };\n\n return (\n <div className=\"min-h-screen bg-background-950 p-8\">\n <div className=\"max-w-2xl mx-auto h-96\">\n <ChatContainerWithActions>\n <div className=\"flex-1 overflow-y-auto space-y-4 p-4\">\n {messages.map((message) => (\n <ChatMessage key={message.id} message={message.content} sender={message.sender} />\n ))}\n </div>\n <div className=\"border-t border-background-700 p-4 bg-background-700/50\">\n <div className=\"flex gap-2 mb-3 flex-wrap\">\n <button\n onClick={() => handleAction('Copy code')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors\"\n >\n 📋 Copy\n </button>\n <button\n onClick={() => handleAction('Explain')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors\"\n >\n 💡 Explain\n </button>\n <button\n onClick={() => handleAction('Refactor')}\n className=\"px-2 py-1 bg-background-700 hover:bg-background-600 text-foreground-400 hover:text-foreground-300 rounded text-sm transition-colors\"\n >\n ✨ Refactor\n </button>\n </div>\n <ChatInputWithActions onSendMessage={handleSendMessage} />\n </div>\n </ChatContainerWithActions>\n </div>\n </div>\n );\n}\n",
44
44
  "isEntryPoint": true
45
45
  },
46
46
  {
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsx("div", { className: "flex items-center justify-center w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("button", { className: "px-3 py-2 bg-accent-500 text-foreground-50 text-xs font-medium rounded hover:bg-accent-600 transition-colors flex items-center gap-2", children: [_jsx("span", { children: "\uD83D\uDCCB" }), "Copy"] }) }));
26
+ return (_jsx("div", { className: "flex items-center justify-center w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("button", { className: "px-3 py-2 bg-accent-500 text-foreground-50 text-sm font-medium rounded hover:bg-accent-600 transition-colors flex items-center gap-2", children: [_jsx("span", { children: "\uD83D\uDCCB" }), "Copy"] }) }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsxs("div", { className: "flex items-center justify-between w-full h-full p-4 bg-background-900 rounded-sm border border-background-700 cursor-pointer hover:bg-background-800 transition-colors", children: [_jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-xs text-foreground-400 mb-1", children: "Next Article" }), _jsx("div", { className: "text-sm font-medium text-foreground-200", children: "Advanced Setup Guide" })] }), _jsx("div", { className: "text-foreground-400", children: "\u2192" })] }));
26
+ return (_jsxs("div", { className: "flex items-center justify-between w-full h-full p-4 bg-background-900 rounded-sm border border-background-700 cursor-pointer hover:bg-background-800 transition-colors", children: [_jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-sm text-foreground-400 mb-1", children: "Next Article" }), _jsx("div", { className: "text-sm font-medium text-foreground-200", children: "Advanced Setup Guide" })] }), _jsx("div", { className: "text-foreground-400", children: "\u2192" })] }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  export function NextArticleCard({ title, description, href }) {
3
- return (_jsx("a", { href: href, className: "block bg-background-700 border border-background-600 rounded-md p-4 hover:border-accent-500 hover:bg-background-700/80 transition-colors group", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-xs text-foreground-400 mb-1", children: "Next Article" }), _jsx("h3", { className: "text-lg font-semibold text-foreground-50 mb-2 group-hover:text-accent-400 transition-colors", children: title }), _jsx("p", { className: "text-sm text-foreground-400", children: description })] }), _jsx("div", { className: "ml-4 text-xl text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0", children: "\u2192" })] }) }));
3
+ return (_jsx("a", { href: href, className: "block bg-background-700 border border-background-600 rounded-md p-4 hover:border-accent-500 hover:bg-background-700/80 transition-colors group", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-sm text-foreground-400 mb-1", children: "Next Article" }), _jsx("h3", { className: "text-lg font-semibold text-foreground-50 mb-2 group-hover:text-accent-400 transition-colors", children: title }), _jsx("p", { className: "text-sm text-foreground-400", children: description })] }), _jsx("div", { className: "ml-4 text-xl text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0", children: "\u2192" })] }) }));
4
4
  }
5
5
  //# sourceMappingURL=NextArticleCard.js.map
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  export function NextArticleWithIconCard({ icon, title, description, category, href, }) {
3
- return (_jsxs("a", { href: href, className: "flex items-start gap-4 p-4 bg-background-700 border border-background-600 rounded-md hover:border-accent-500 hover:bg-background-700/80 transition-colors group", children: [_jsx("div", { className: "text-3xl flex-shrink-0 mt-1", children: icon }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "text-xs text-accent-400 font-medium mb-1", children: category }), _jsx("h3", { className: "text-lg font-semibold text-foreground-50 mb-1 group-hover:text-accent-400 transition-colors", children: title }), _jsx("p", { className: "text-sm text-foreground-400", children: description })] }), _jsx("div", { className: "text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0 text-lg", children: "\u2192" })] }));
3
+ return (_jsxs("a", { href: href, className: "flex items-start gap-4 p-4 bg-background-700 border border-background-600 rounded-md hover:border-accent-500 hover:bg-background-700/80 transition-colors group", children: [_jsx("div", { className: "text-3xl flex-shrink-0 mt-1", children: icon }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "text-sm text-accent-400 font-medium mb-1", children: category }), _jsx("h3", { className: "text-lg font-semibold text-foreground-50 mb-1 group-hover:text-accent-400 transition-colors", children: title }), _jsx("p", { className: "text-sm text-foreground-400", children: description })] }), _jsx("div", { className: "text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0 text-lg", children: "\u2192" })] }));
4
4
  }
5
5
  //# sourceMappingURL=NextArticleWithIconCard.js.map
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "filename": "NextArticleCard.tsx",
16
16
  "language": "typescript",
17
- "code": "interface NextArticleCardProps {\n title: string;\n description: string;\n href: string;\n}\n\nexport function NextArticleCard({ title, description, href }: NextArticleCardProps) {\n return (\n <a\n href={href}\n className=\"block bg-background-700 border border-background-600 rounded-md p-4 hover:border-accent-500 hover:bg-background-700/80 transition-colors group\"\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex-1\">\n <div className=\"text-xs text-foreground-400 mb-1\">Next Article</div>\n <h3 className=\"text-lg font-semibold text-foreground-50 mb-2 group-hover:text-accent-400 transition-colors\">\n {title}\n </h3>\n <p className=\"text-sm text-foreground-400\">{description}</p>\n </div>\n <div className=\"ml-4 text-xl text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0\">\n →\n </div>\n </div>\n </a>\n );\n}\n",
17
+ "code": "interface NextArticleCardProps {\n title: string;\n description: string;\n href: string;\n}\n\nexport function NextArticleCard({ title, description, href }: NextArticleCardProps) {\n return (\n <a\n href={href}\n className=\"block bg-background-700 border border-background-600 rounded-md p-4 hover:border-accent-500 hover:bg-background-700/80 transition-colors group\"\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex-1\">\n <div className=\"text-sm text-foreground-400 mb-1\">Next Article</div>\n <h3 className=\"text-lg font-semibold text-foreground-50 mb-2 group-hover:text-accent-400 transition-colors\">\n {title}\n </h3>\n <p className=\"text-sm text-foreground-400\">{description}</p>\n </div>\n <div className=\"ml-4 text-xl text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0\">\n →\n </div>\n </div>\n </a>\n );\n}\n",
18
18
  "isEntryPoint": false
19
19
  }
20
20
  ]
@@ -34,7 +34,7 @@
34
34
  {
35
35
  "filename": "NextArticleWithIconCard.tsx",
36
36
  "language": "typescript",
37
- "code": "interface NextArticleWithIconCardProps {\n icon: string;\n title: string;\n description: string;\n category: string;\n href: string;\n}\n\nexport function NextArticleWithIconCard({\n icon,\n title,\n description,\n category,\n href,\n}: NextArticleWithIconCardProps) {\n return (\n <a\n href={href}\n className=\"flex items-start gap-4 p-4 bg-background-700 border border-background-600 rounded-md hover:border-accent-500 hover:bg-background-700/80 transition-colors group\"\n >\n <div className=\"text-3xl flex-shrink-0 mt-1\">{icon}</div>\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-xs text-accent-400 font-medium mb-1\">{category}</div>\n <h3 className=\"text-lg font-semibold text-foreground-50 mb-1 group-hover:text-accent-400 transition-colors\">\n {title}\n </h3>\n <p className=\"text-sm text-foreground-400\">{description}</p>\n </div>\n <div className=\"text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0 text-lg\">\n →\n </div>\n </a>\n );\n}\n",
37
+ "code": "interface NextArticleWithIconCardProps {\n icon: string;\n title: string;\n description: string;\n category: string;\n href: string;\n}\n\nexport function NextArticleWithIconCard({\n icon,\n title,\n description,\n category,\n href,\n}: NextArticleWithIconCardProps) {\n return (\n <a\n href={href}\n className=\"flex items-start gap-4 p-4 bg-background-700 border border-background-600 rounded-md hover:border-accent-500 hover:bg-background-700/80 transition-colors group\"\n >\n <div className=\"text-3xl flex-shrink-0 mt-1\">{icon}</div>\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-sm text-accent-400 font-medium mb-1\">{category}</div>\n <h3 className=\"text-lg font-semibold text-foreground-50 mb-1 group-hover:text-accent-400 transition-colors\">\n {title}\n </h3>\n <p className=\"text-sm text-foreground-400\">{description}</p>\n </div>\n <div className=\"text-foreground-400 group-hover:text-accent-400 transition-colors flex-shrink-0 text-lg\">\n →\n </div>\n </a>\n );\n}\n",
38
38
  "isEntryPoint": false
39
39
  }
40
40
  ]
@@ -23,7 +23,7 @@ const elementMetadata = {
23
23
  })),
24
24
  };
25
25
  export function getPreview() {
26
- return (_jsx("div", { className: "flex flex-col gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("div", { className: "space-y-2 text-xs", children: [_jsx("div", { className: "font-semibold text-foreground-200 mb-2", children: "Contents" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Introduction" }), _jsx("div", { className: "ml-3 text-foreground-400 text-xs", children: "\u25E6 Overview" }), _jsx("div", { className: "ml-3 text-foreground-400 text-xs", children: "\u25E6 Getting Started" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Installation" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Usage" }), _jsx("div", { className: "ml-3 text-foreground-400 text-xs", children: "\u25E6 Basic" })] }) }));
26
+ return (_jsx("div", { className: "flex flex-col gap-2 w-full h-full p-3 bg-background-900 rounded-sm border border-background-700", children: _jsxs("div", { className: "space-y-2 text-sm", children: [_jsx("div", { className: "font-semibold text-foreground-200 mb-2", children: "Contents" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Introduction" }), _jsx("div", { className: "ml-3 text-foreground-400 text-sm", children: "\u25E6 Overview" }), _jsx("div", { className: "ml-3 text-foreground-400 text-sm", children: "\u25E6 Getting Started" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Installation" }), _jsx("div", { className: "text-foreground-400", children: "\u2022 Usage" }), _jsx("div", { className: "ml-3 text-foreground-400 text-sm", children: "\u25E6 Basic" })] }) }));
27
27
  }
28
28
  export const metadata = baseMetadata;
29
29
  export default elementMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"generated-data.d.ts","sourceRoot":"","sources":["../src/generated-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAktJrD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAsC3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAoMnE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwChD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAoLxE,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAIxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAGzC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAE7B,CAAC"}
1
+ {"version":3,"file":"generated-data.d.ts","sourceRoot":"","sources":["../src/generated-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAo/HrD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAsC3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAoMnE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwChD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAoLxE,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAIxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAGzC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAE7B,CAAC"}