@seed-ship/mcp-ui-solid 4.3.3 → 4.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/components/ExpandableWrapper.cjs +9 -1
- package/dist/components/ExpandableWrapper.cjs.map +1 -1
- package/dist/components/ExpandableWrapper.d.ts +3 -1
- package/dist/components/ExpandableWrapper.d.ts.map +1 -1
- package/dist/components/ExpandableWrapper.js +11 -3
- package/dist/components/ExpandableWrapper.js.map +1 -1
- package/dist/components/UIResourceRenderer.cjs +12 -6
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +13 -7
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
- package/src/components/ExpandableWrapper.tsx +10 -2
- package/src/components/UIResourceRenderer.tsx +16 -7
- package/src/index.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.cjs
CHANGED
|
@@ -66,6 +66,7 @@ exports.DraggableGridItem = DraggableGridItem.DraggableGridItem;
|
|
|
66
66
|
exports.ResizeHandle = ResizeHandle.ResizeHandle;
|
|
67
67
|
exports.EditableUIResourceRenderer = EditableUIResourceRenderer.EditableUIResourceRenderer;
|
|
68
68
|
exports.ExpandableWrapper = ExpandableWrapper.ExpandableWrapper;
|
|
69
|
+
exports.useExpanded = ExpandableWrapper.useExpanded;
|
|
69
70
|
exports.ComponentToolbar = ComponentToolbar.ComponentToolbar;
|
|
70
71
|
exports.ChatBusProvider = useChatBus.ChatBusProvider;
|
|
71
72
|
exports.useChatBus = useChatBus.useChatBus;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.cts
CHANGED
|
@@ -31,7 +31,7 @@ export { UIResourceRenderer, StreamingUIRenderer, GenerativeUIErrorBoundary } fr
|
|
|
31
31
|
export { DraggableGridItem } from './components/DraggableGridItem';
|
|
32
32
|
export { ResizeHandle } from './components/ResizeHandle';
|
|
33
33
|
export { EditableUIResourceRenderer } from './components/EditableUIResourceRenderer';
|
|
34
|
-
export { ExpandableWrapper } from './components/ExpandableWrapper';
|
|
34
|
+
export { ExpandableWrapper, useExpanded } from './components/ExpandableWrapper';
|
|
35
35
|
export { ComponentToolbar } from './components/ComponentToolbar';
|
|
36
36
|
export { ChatBusProvider, useChatBus } from './hooks/useChatBus';
|
|
37
37
|
export { ChatPrompt } from './components/ChatPrompt';
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export { UIResourceRenderer, StreamingUIRenderer, GenerativeUIErrorBoundary } fr
|
|
|
31
31
|
export { DraggableGridItem } from './components/DraggableGridItem';
|
|
32
32
|
export { ResizeHandle } from './components/ResizeHandle';
|
|
33
33
|
export { EditableUIResourceRenderer } from './components/EditableUIResourceRenderer';
|
|
34
|
-
export { ExpandableWrapper } from './components/ExpandableWrapper';
|
|
34
|
+
export { ExpandableWrapper, useExpanded } from './components/ExpandableWrapper';
|
|
35
35
|
export { ComponentToolbar } from './components/ComponentToolbar';
|
|
36
36
|
export { ChatBusProvider, useChatBus } from './hooks/useChatBus';
|
|
37
37
|
export { ChatPrompt } from './components/ChatPrompt';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import { DataPreviewSection } from "./components/DataPreviewSection.js";
|
|
|
23
23
|
import { DraggableGridItem } from "./components/DraggableGridItem.js";
|
|
24
24
|
import { ResizeHandle } from "./components/ResizeHandle.js";
|
|
25
25
|
import { EditableUIResourceRenderer } from "./components/EditableUIResourceRenderer.js";
|
|
26
|
-
import { ExpandableWrapper } from "./components/ExpandableWrapper.js";
|
|
26
|
+
import { ExpandableWrapper, useExpanded } from "./components/ExpandableWrapper.js";
|
|
27
27
|
import { ComponentToolbar } from "./components/ComponentToolbar.js";
|
|
28
28
|
import { ChatBusProvider, useChatBus } from "./hooks/useChatBus.js";
|
|
29
29
|
import { ChatPrompt } from "./components/ChatPrompt.js";
|
|
@@ -99,6 +99,7 @@ export {
|
|
|
99
99
|
useConfirmModal,
|
|
100
100
|
useDataValidator,
|
|
101
101
|
useDragDrop,
|
|
102
|
+
useExpanded,
|
|
102
103
|
useFormPersistence,
|
|
103
104
|
useMCPAction,
|
|
104
105
|
useMCPActionSafe,
|
package/package.json
CHANGED
|
@@ -6,9 +6,15 @@
|
|
|
6
6
|
* imperative components like ChartJS that bind instances to DOM nodes.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { Component, Show, createSignal, createEffect, onCleanup, JSX } from 'solid-js'
|
|
9
|
+
import { Component, Show, createSignal, createEffect, onCleanup, JSX, createContext, useContext, Accessor } from 'solid-js'
|
|
10
10
|
import { Portal } from 'solid-js/web'
|
|
11
11
|
|
|
12
|
+
/** Context for child components to know if they're in expanded/fullscreen view */
|
|
13
|
+
const ExpandedContext = createContext<Accessor<boolean>>(() => false)
|
|
14
|
+
|
|
15
|
+
/** Hook for child components to read expanded state */
|
|
16
|
+
export const useExpanded = () => useContext(ExpandedContext)
|
|
17
|
+
|
|
12
18
|
export interface ExpandableWrapperProps {
|
|
13
19
|
/** Content to render inline (and in expanded view) */
|
|
14
20
|
children: JSX.Element
|
|
@@ -103,7 +109,9 @@ export const ExpandableWrapper: Component<ExpandableWrapperProps> = (props) => {
|
|
|
103
109
|
{/* Inline slot — content lives here when not expanded */}
|
|
104
110
|
<div ref={inlineSlotRef}>
|
|
105
111
|
<div ref={contentRef}>
|
|
106
|
-
{
|
|
112
|
+
<ExpandedContext.Provider value={isExpanded}>
|
|
113
|
+
{props.children}
|
|
114
|
+
</ExpandedContext.Provider>
|
|
107
115
|
</div>
|
|
108
116
|
</div>
|
|
109
117
|
|
|
@@ -21,7 +21,7 @@ import { ImageGalleryRenderer } from './ImageGalleryRenderer'
|
|
|
21
21
|
import { VideoRenderer } from './VideoRenderer'
|
|
22
22
|
import { CodeBlockRenderer } from './CodeBlockRenderer'
|
|
23
23
|
import { MapRenderer } from './MapRenderer'
|
|
24
|
-
import { ExpandableWrapper } from './ExpandableWrapper'
|
|
24
|
+
import { ExpandableWrapper, useExpanded } from './ExpandableWrapper'
|
|
25
25
|
import { RenderProvider } from './RenderContext'
|
|
26
26
|
import { useAction } from '../hooks/useAction'
|
|
27
27
|
import { marked } from 'marked'
|
|
@@ -409,8 +409,11 @@ function TableRenderer(props: {
|
|
|
409
409
|
)
|
|
410
410
|
})
|
|
411
411
|
|
|
412
|
-
// ─── Client-side pagination (v4.0.4, progressive
|
|
413
|
-
const
|
|
412
|
+
// ─── Client-side pagination (v4.0.4, progressive v4.3.2, context-aware v4.3.4) ─────
|
|
413
|
+
const isExpanded = useExpanded()
|
|
414
|
+
const fullPageSize = () => tableParams.pageSize ?? 25
|
|
415
|
+
const chatPageSize = () => tableParams.chatPageSize ?? Math.min(10, fullPageSize())
|
|
416
|
+
const clientPageSize = () => isExpanded() ? fullPageSize() : chatPageSize()
|
|
414
417
|
const hasServerPagination = () => !!tableParams.pagination
|
|
415
418
|
const isProgressiveMode = () => !!tableParams.showAllLabel
|
|
416
419
|
const needsClientPagination = () =>
|
|
@@ -551,7 +554,7 @@ function TableRenderer(props: {
|
|
|
551
554
|
const exportable = tableParams.exportable
|
|
552
555
|
const exportFormats = typeof exportable === 'object' && exportable?.formats
|
|
553
556
|
? exportable.formats
|
|
554
|
-
: ['csv', '
|
|
557
|
+
: ['csv', 'json']
|
|
555
558
|
const exportFilename = (typeof exportable === 'object' && exportable?.filename) || `table-${Math.random().toString(36).slice(2, 9)}`
|
|
556
559
|
|
|
557
560
|
// Export dropdown state
|
|
@@ -635,9 +638,9 @@ function TableRenderer(props: {
|
|
|
635
638
|
}
|
|
636
639
|
|
|
637
640
|
return (
|
|
638
|
-
<ExpandableWrapper title={tableParams.title || 'Table'} copyData={
|
|
641
|
+
<ExpandableWrapper title={tableParams.title || 'Table'} copyData={getTableCSV()} copyLabel="Copy table (CSV)">
|
|
639
642
|
<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group">
|
|
640
|
-
<Show when={exportable} fallback={<CopyButton getText={
|
|
643
|
+
<Show when={exportable} fallback={<CopyButton getText={getTableCSV} title="Copy table (CSV)" position="top-right" />}>
|
|
641
644
|
<div class="absolute right-10 top-2 z-10">
|
|
642
645
|
<button
|
|
643
646
|
onClick={() => setShowExportMenu(!showExportMenu())}
|
|
@@ -704,7 +707,13 @@ function TableRenderer(props: {
|
|
|
704
707
|
<div
|
|
705
708
|
ref={scrollContainerRef}
|
|
706
709
|
class="overflow-x-auto"
|
|
707
|
-
style={
|
|
710
|
+
style={
|
|
711
|
+
isVirtualizing()
|
|
712
|
+
? { 'max-height': '500px', 'overflow-y': 'auto' }
|
|
713
|
+
: clientVisibleRows().length > 8
|
|
714
|
+
? { 'max-height': isExpanded() ? '70vh' : '400px', 'overflow-y': 'auto' }
|
|
715
|
+
: {}
|
|
716
|
+
}
|
|
708
717
|
role="region"
|
|
709
718
|
aria-label={tableParams.title || 'Data table'}
|
|
710
719
|
tabindex="0"
|
package/src/index.ts
CHANGED
|
@@ -35,7 +35,7 @@ export { UIResourceRenderer, StreamingUIRenderer, GenerativeUIErrorBoundary } fr
|
|
|
35
35
|
export { DraggableGridItem } from './components/DraggableGridItem'
|
|
36
36
|
export { ResizeHandle } from './components/ResizeHandle'
|
|
37
37
|
export { EditableUIResourceRenderer } from './components/EditableUIResourceRenderer'
|
|
38
|
-
export { ExpandableWrapper } from './components/ExpandableWrapper'
|
|
38
|
+
export { ExpandableWrapper, useExpanded } from './components/ExpandableWrapper'
|
|
39
39
|
export { ComponentToolbar } from './components/ComponentToolbar'
|
|
40
40
|
|
|
41
41
|
// Chat Bus (v2.4.0 — @experimental)
|