@smwb/ui-mcp-solid 0.1.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 (122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/component-meta/base/animateHeight/animateHeight.json +74 -0
  4. package/component-meta/base/icon/icon.json +61 -0
  5. package/component-meta/base/ripple/ripple.json +51 -0
  6. package/component-meta/clickAwayListener/clickAwayListener.json +40 -0
  7. package/component-meta/dataDisplay/accordion/accordion.json +79 -0
  8. package/component-meta/dataDisplay/avatar/avatar.avatarGroup.json +41 -0
  9. package/component-meta/dataDisplay/avatar/avatar.json +56 -0
  10. package/component-meta/dataDisplay/badge/badge.json +66 -0
  11. package/component-meta/dataDisplay/card/card.json +46 -0
  12. package/component-meta/dataDisplay/carousel/carousel.json +89 -0
  13. package/component-meta/dataDisplay/chat/chat.json +225 -0
  14. package/component-meta/dataDisplay/chat/chatAttachmentImage.json +27 -0
  15. package/component-meta/dataDisplay/chat/chatAttachments.json +32 -0
  16. package/component-meta/dataDisplay/chat/chatComposer.json +76 -0
  17. package/component-meta/dataDisplay/chat/chatHeader.json +60 -0
  18. package/component-meta/dataDisplay/chat/chatIconButton.json +38 -0
  19. package/component-meta/dataDisplay/chat/chatLayout.chatLayoutChat.json +20 -0
  20. package/component-meta/dataDisplay/chat/chatLayout.json +85 -0
  21. package/component-meta/dataDisplay/chat/chatMessageAvatar.json +34 -0
  22. package/component-meta/dataDisplay/chat/chatMessageBubble.json +91 -0
  23. package/component-meta/dataDisplay/chat/chatMessageIncoming.json +60 -0
  24. package/component-meta/dataDisplay/chat/chatMessageItem.json +65 -0
  25. package/component-meta/dataDisplay/chat/chatMessageOutgoing.json +60 -0
  26. package/component-meta/dataDisplay/chat/chatMessageSkeleton.json +39 -0
  27. package/component-meta/dataDisplay/chat/chatMessageStatus.json +44 -0
  28. package/component-meta/dataDisplay/chat/chatMessageSystem.json +29 -0
  29. package/component-meta/dataDisplay/chat/chatMessages.json +91 -0
  30. package/component-meta/dataDisplay/chat/chatOverlayLayout.chatOverlayLayoutChat.json +20 -0
  31. package/component-meta/dataDisplay/chat/chatOverlayLayout.json +70 -0
  32. package/component-meta/dataDisplay/chat/chatShell.json +71 -0
  33. package/component-meta/dataDisplay/chip/chip.json +104 -0
  34. package/component-meta/dataDisplay/expansionPanel/expansionPanel.json +85 -0
  35. package/component-meta/dataDisplay/imagesList/imagesList.json +57 -0
  36. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItem.json +64 -0
  37. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItemModal.json +32 -0
  38. package/component-meta/dataDisplay/list/list.json +36 -0
  39. package/component-meta/dataDisplay/list/listItem.json +62 -0
  40. package/component-meta/dataDisplay/table/table.json +59 -0
  41. package/component-meta/dataDisplay/table/tableBody.json +26 -0
  42. package/component-meta/dataDisplay/table/tableCell.json +31 -0
  43. package/component-meta/dataDisplay/table/tableHead.json +26 -0
  44. package/component-meta/dataDisplay/table/tableHeadCell.json +58 -0
  45. package/component-meta/dataDisplay/table/tablePagination/tablePagination.baseTablePagination.json +47 -0
  46. package/component-meta/dataDisplay/table/tablePagination/tablePagination.json +21 -0
  47. package/component-meta/dataDisplay/table/tableRow.json +36 -0
  48. package/component-meta/dataDisplay/treeView/treeView.json +93 -0
  49. package/component-meta/dataDisplay/typography/typography.json +56 -0
  50. package/component-meta/feedBack/message/message.json +53 -0
  51. package/component-meta/feedBack/modal/modal.json +92 -0
  52. package/component-meta/feedBack/modal/modal.modalSlot.json +22 -0
  53. package/component-meta/feedBack/progressIndicator/progressIndicator.circularProgress.json +22 -0
  54. package/component-meta/feedBack/progressIndicator/progressIndicator.json +57 -0
  55. package/component-meta/feedBack/skeleton/skeleton.json +61 -0
  56. package/component-meta/feedBack/snackbar/snackbar.json +71 -0
  57. package/component-meta/feedBack/snackbar/snackbar.snackbarsProvider.json +51 -0
  58. package/component-meta/feedBack/tooltip/tooltip.json +62 -0
  59. package/component-meta/inputs/button/button.json +94 -0
  60. package/component-meta/inputs/buttonGroups/buttonGroup.json +59 -0
  61. package/component-meta/inputs/checkbox/checkbox.json +89 -0
  62. package/component-meta/inputs/datePicker/dataPickerDays.json +87 -0
  63. package/component-meta/inputs/datePicker/dataPickerHeader.json +48 -0
  64. package/component-meta/inputs/datePicker/dataPickerInput.json +34 -0
  65. package/component-meta/inputs/datePicker/datePicker.json +129 -0
  66. package/component-meta/inputs/datePicker/datePickerActionLabel.json +55 -0
  67. package/component-meta/inputs/datePicker/datePickerDay.json +61 -0
  68. package/component-meta/inputs/datePicker/datePickerIconButton.json +18 -0
  69. package/component-meta/inputs/datePicker/datePickerList.json +33 -0
  70. package/component-meta/inputs/dateTimePicker/dateTimePicker.json +120 -0
  71. package/component-meta/inputs/dateTimePicker/dateTimePickerInput.json +35 -0
  72. package/component-meta/inputs/fileDrop/countPreview.json +40 -0
  73. package/component-meta/inputs/fileDrop/fileDrop.json +71 -0
  74. package/component-meta/inputs/fileDrop/preview.json +46 -0
  75. package/component-meta/inputs/fileDrop/previewWrapper.json +51 -0
  76. package/component-meta/inputs/fileInput/fileInput.json +61 -0
  77. package/component-meta/inputs/floatingButton/floatingButton.json +43 -0
  78. package/component-meta/inputs/radioButton/radioButton.json +90 -0
  79. package/component-meta/inputs/rating/rating.json +104 -0
  80. package/component-meta/inputs/selectField/dropdownMenu.json +107 -0
  81. package/component-meta/inputs/selectField/selectField.json +203 -0
  82. package/component-meta/inputs/slider/slider.json +133 -0
  83. package/component-meta/inputs/textField/textField.json +126 -0
  84. package/component-meta/inputs/textField/textFieldAdornment.json +47 -0
  85. package/component-meta/inputs/textField/textFieldWrapper.json +96 -0
  86. package/component-meta/inputs/timePicker/timePicker.json +75 -0
  87. package/component-meta/inputs/timePicker/timePickerColumns.json +37 -0
  88. package/component-meta/inputs/timePicker/timePickerInput.json +35 -0
  89. package/component-meta/inputs/timePicker/timePickerList.json +32 -0
  90. package/component-meta/inputs/toggle/toggle.json +90 -0
  91. package/component-meta/layout/appLayout/appLayout.json +88 -0
  92. package/component-meta/layout/divider/divider.json +56 -0
  93. package/component-meta/layout/grid/grid.column.json +81 -0
  94. package/component-meta/layout/grid/grid.container.json +36 -0
  95. package/component-meta/layout/grid/grid.row.json +51 -0
  96. package/component-meta/layout/page/page.json +41 -0
  97. package/component-meta/layout/pageHeader/pageHeader.json +53 -0
  98. package/component-meta/layout/screenDivider/screenDivider.json +57 -0
  99. package/component-meta/layout/sheet/sheet.json +114 -0
  100. package/component-meta/layout/stack/stack.json +56 -0
  101. package/component-meta/navigation/appBar/appBar.json +71 -0
  102. package/component-meta/navigation/bottomBar/bottomBar.bottomBarMenuItem.json +55 -0
  103. package/component-meta/navigation/bottomBar/bottomBar.json +61 -0
  104. package/component-meta/navigation/breadcrumbs/breadcrumbs.json +61 -0
  105. package/component-meta/navigation/menu/menu.json +20 -0
  106. package/component-meta/navigation/menu/menuDivider.json +26 -0
  107. package/component-meta/navigation/menu/menuFloating.json +51 -0
  108. package/component-meta/navigation/menu/menuItem.json +68 -0
  109. package/component-meta/navigation/menu/menuItemIcon.json +31 -0
  110. package/component-meta/navigation/menu/menuItemText.json +31 -0
  111. package/component-meta/navigation/menu/menuList.json +26 -0
  112. package/component-meta/navigation/menu/menuSubmenu.json +47 -0
  113. package/component-meta/navigation/pagination/pagination.json +98 -0
  114. package/component-meta/navigation/sidebar/sidebar.json +79 -0
  115. package/component-meta/navigation/sidebar/sidebar.sidebarMenuItem.json +56 -0
  116. package/component-meta/navigation/stepper/stepper.json +53 -0
  117. package/component-meta/navigation/tabs/tab/tab.json +64 -0
  118. package/component-meta/navigation/tabs/tabs.json +60 -0
  119. package/componentMeta.mjs +493 -0
  120. package/customizationMeta.mjs +451 -0
  121. package/package.json +37 -0
  122. package/server.mjs +169 -0
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "Carousel",
3
+ "description": "Scrollable media carousel with navigation and autoplay.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/carousel/carousel.entry.less"
11
+ ],
12
+ "dependencies": [
13
+ "@smwb/ui-styles/less/components/icon/icon.entry.less"
14
+ ],
15
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/carousel/carousel.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
16
+ },
17
+ "props": {
18
+ "slidesToShow": {
19
+ "type": "number",
20
+ "required": false,
21
+ "description": "Slides To Show. Optional. Type: number."
22
+ },
23
+ "startSlide": {
24
+ "type": "number",
25
+ "required": false,
26
+ "description": "Start Slide. Optional. Type: number."
27
+ },
28
+ "class": {
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "Class. Optional. Type: string."
32
+ },
33
+ "showNavigation": {
34
+ "type": "boolean",
35
+ "required": false,
36
+ "description": "Show Navigation. Optional. Type: boolean."
37
+ },
38
+ "showArrows": {
39
+ "type": "boolean",
40
+ "required": false,
41
+ "description": "Show Arrows. Optional. Type: boolean."
42
+ },
43
+ "arrowsSize": {
44
+ "type": "number",
45
+ "required": false,
46
+ "description": "Arrows Size. Optional. Type: number."
47
+ },
48
+ "navigationClassName": {
49
+ "type": "string",
50
+ "required": false,
51
+ "description": "Navigation Class Name. Optional. Type: string."
52
+ },
53
+ "onSlideChange": {
54
+ "type": "(slideIndex: number) => void",
55
+ "required": false,
56
+ "description": "On Slide Change. Optional. Type: (slideIndex: number) => void."
57
+ },
58
+ "navigationDotRenderer": {
59
+ "type": "(index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element",
60
+ "required": false,
61
+ "description": "Navigation Dot Renderer. Optional. Type: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element."
62
+ },
63
+ "aria-label": {
64
+ "type": "string",
65
+ "required": false,
66
+ "description": "Accessible label when no visible title is present."
67
+ },
68
+ "autoplay": {
69
+ "type": "boolean",
70
+ "required": false,
71
+ "description": "Autoplay. Optional. Type: boolean."
72
+ },
73
+ "autoplayInterval": {
74
+ "type": "number",
75
+ "required": false,
76
+ "description": "Autoplay Interval. Optional. Type: number."
77
+ },
78
+ "pauseOnHover": {
79
+ "type": "boolean",
80
+ "required": false,
81
+ "description": "Pause On Hover. Optional. Type: boolean."
82
+ },
83
+ "ref": {
84
+ "type": "Ref<HTMLDivElement>",
85
+ "required": false,
86
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,225 @@
1
+ {
2
+ "name": "Chat",
3
+ "description": "Chat dialog with layout modes, infinite scroll, attachments, and delivery statuses.",
4
+ "extends": [
5
+ "ParentProps",
6
+ "Omit<ChatMessageRenderContext, \"showAvatars\" | \"showAttachments\">"
7
+ ],
8
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
9
+ "styles": {
10
+ "base": [
11
+ "@smwb/ui-styles/less/foundation.less",
12
+ "@smwb/ui-styles/less/theme.less"
13
+ ],
14
+ "entries": [
15
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
16
+ ],
17
+ "dependencies": [
18
+ "@smwb/ui-styles/less/components/avatar/avatar.entry.less",
19
+ "@smwb/ui-styles/less/components/floatingButton/floatingButton.entry.less",
20
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
21
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less",
22
+ "@smwb/ui-styles/less/components/skeleton/skeleton.entry.less",
23
+ "@smwb/ui-styles/less/components/textField/textField.entry.less",
24
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
25
+ ],
26
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/avatar/avatar.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/floatingButton/floatingButton.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/skeleton/skeleton.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
27
+ },
28
+ "props": {
29
+ "class": {
30
+ "type": "string | undefined",
31
+ "required": false,
32
+ "description": "Class. Optional. Type: string | undefined."
33
+ },
34
+ "messages": {
35
+ "type": "ChatMessage[]",
36
+ "required": true,
37
+ "description": "Chat message list to render."
38
+ },
39
+ "showAvatars": {
40
+ "type": "boolean | undefined",
41
+ "required": false,
42
+ "description": "Whether author avatars are shown in chat messages."
43
+ },
44
+ "showAttachments": {
45
+ "type": "boolean | undefined",
46
+ "required": false,
47
+ "description": "Whether file attachments are shown in chat messages."
48
+ },
49
+ "headerTitle": {
50
+ "type": "JSX.Element",
51
+ "required": false,
52
+ "description": "Title shown in the chat header."
53
+ },
54
+ "headerSubtitle": {
55
+ "type": "JSX.Element",
56
+ "required": false,
57
+ "description": "Subtitle shown in the chat header."
58
+ },
59
+ "headerActions": {
60
+ "type": "JSX.Element",
61
+ "required": false,
62
+ "description": "Custom actions rendered in the chat header."
63
+ },
64
+ "footer": {
65
+ "type": "JSX.Element",
66
+ "required": false,
67
+ "description": "Content rendered in the chat footer, typically the composer."
68
+ },
69
+ "anchor": {
70
+ "type": "ChatAnchor | undefined",
71
+ "required": false,
72
+ "description": "Corner anchor for floating chat positioning."
73
+ },
74
+ "themeMode": {
75
+ "type": "ChatThemeMode | undefined",
76
+ "required": false,
77
+ "description": "Color theme mode for the chat shell."
78
+ },
79
+ "allowedLayouts": {
80
+ "type": "ChatLayoutMode[] | undefined",
81
+ "required": false,
82
+ "description": "Layout modes available in the chat header controls."
83
+ },
84
+ "layout": {
85
+ "type": "ChatLayoutMode | undefined",
86
+ "required": false,
87
+ "description": "Current chat shell layout mode."
88
+ },
89
+ "defaultLayout": {
90
+ "type": "ChatLayoutMode | undefined",
91
+ "required": false,
92
+ "description": "Initial uncontrolled chat layout mode."
93
+ },
94
+ "onLayoutChange": {
95
+ "type": "((layout: ChatLayoutMode) => void) | undefined",
96
+ "required": false,
97
+ "description": "Callback fired when chat layout mode changes."
98
+ },
99
+ "open": {
100
+ "type": "boolean | undefined",
101
+ "required": false,
102
+ "description": "Controlled open/visible state."
103
+ },
104
+ "defaultOpen": {
105
+ "type": "boolean | undefined",
106
+ "required": false,
107
+ "description": "Initial uncontrolled open state."
108
+ },
109
+ "onOpenChange": {
110
+ "type": "((open: boolean) => void) | undefined",
111
+ "required": false,
112
+ "description": "Callback fired when the open state should change."
113
+ },
114
+ "floatingTrigger": {
115
+ "type": "boolean | undefined",
116
+ "required": false,
117
+ "description": "Whether the chat opens from a floating action button."
118
+ },
119
+ "triggerIcon": {
120
+ "type": "JSX.Element",
121
+ "required": false,
122
+ "description": "Custom icon for the floating chat trigger button."
123
+ },
124
+ "triggerLabel": {
125
+ "type": "string | undefined",
126
+ "required": false,
127
+ "description": "Accessible label for the floating chat trigger button."
128
+ },
129
+ "onLoadMore": {
130
+ "type": "(() => void | Promise<void>) | undefined",
131
+ "required": false,
132
+ "description": "Callback to load older messages for infinite scroll."
133
+ },
134
+ "hasMore": {
135
+ "type": "boolean | undefined",
136
+ "required": false,
137
+ "description": "Whether more older messages are available to load."
138
+ },
139
+ "onSendMessage": {
140
+ "type": "((text: string) => void | Promise<void>) | undefined",
141
+ "required": false,
142
+ "description": "On Send Message. Optional. Type: ((text: string) => void | Promise<void>) | undefined."
143
+ },
144
+ "composerPlaceholder": {
145
+ "type": "string | undefined",
146
+ "required": false,
147
+ "description": "Composer Placeholder. Optional. Type: string | undefined."
148
+ },
149
+ "composerDisabled": {
150
+ "type": "boolean | undefined",
151
+ "required": false,
152
+ "description": "Composer Disabled. Optional. Type: boolean | undefined."
153
+ },
154
+ "composerShiftEnterNewline": {
155
+ "type": "boolean | undefined",
156
+ "required": false,
157
+ "description": "Composer Shift Enter Newline. Optional. Type: boolean | undefined."
158
+ },
159
+ "composerCtrlEnterNewline": {
160
+ "type": "boolean | undefined",
161
+ "required": false,
162
+ "description": "Composer Ctrl Enter Newline. Optional. Type: boolean | undefined."
163
+ },
164
+ "fileUpload": {
165
+ "type": "boolean | undefined",
166
+ "required": false,
167
+ "description": "File Upload. Optional. Type: boolean | undefined."
168
+ },
169
+ "onUploadFiles": {
170
+ "type": "((files: File[]) => void | Promise<void>) | undefined",
171
+ "required": false,
172
+ "description": "On Upload Files. Optional. Type: ((files: File[]) => void | Promise<void>) | undefined."
173
+ },
174
+ "fileUploadAccept": {
175
+ "type": "Record<string, string[]> | string | undefined",
176
+ "required": false,
177
+ "description": "File Upload Accept. Optional. Type: Record<string, string[]> | string | undefined."
178
+ },
179
+ "fileUploadMaxFiles": {
180
+ "type": "number | undefined",
181
+ "required": false,
182
+ "description": "File Upload Max Files. Optional. Type: number | undefined."
183
+ },
184
+ "attachAriaLabel": {
185
+ "type": "string | undefined",
186
+ "required": false,
187
+ "description": "Attach Aria Label. Optional. Type: string | undefined."
188
+ },
189
+ "loading": {
190
+ "type": "boolean | undefined",
191
+ "required": false,
192
+ "description": "Whether content is loading."
193
+ },
194
+ "loadingMore": {
195
+ "type": "boolean | undefined",
196
+ "required": false,
197
+ "description": "Whether older messages are currently loading."
198
+ },
199
+ "loadingSkeletonCount": {
200
+ "type": "number | undefined",
201
+ "required": false,
202
+ "description": "Number of skeleton placeholders shown while loading."
203
+ },
204
+ "renderMessage": {
205
+ "type": "((message: ChatMessage, ctx: ChatMessageRenderContext) => JSX.Element) | undefined",
206
+ "required": false,
207
+ "description": "Custom render function for an individual chat message."
208
+ },
209
+ "embedded": {
210
+ "type": "boolean | undefined",
211
+ "required": false,
212
+ "description": "Whether the chat is embedded in a layout instead of floating."
213
+ },
214
+ "overlayContext": {
215
+ "type": "boolean | undefined",
216
+ "required": false,
217
+ "description": "Overlay Context. Optional. Type: boolean | undefined."
218
+ },
219
+ "showCloseButton": {
220
+ "type": "boolean | undefined",
221
+ "required": false,
222
+ "description": "Show Close Button. Optional. Type: boolean | undefined."
223
+ }
224
+ }
225
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "ChatAttachmentImage",
3
+ "description": "Clickable chat image attachment with fullscreen preview.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
11
+ ],
12
+ "dependencies": [],
13
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";"
14
+ },
15
+ "props": {
16
+ "attachment": {
17
+ "type": "ChatAttachment",
18
+ "required": true,
19
+ "description": "Attachment. Required. Type: ChatAttachment."
20
+ },
21
+ "class": {
22
+ "type": "string | undefined",
23
+ "required": false,
24
+ "description": "Class. Optional. Type: string | undefined."
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "ChatAttachments",
3
+ "description": "List of file or image attachments inside a message bubble.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
11
+ ],
12
+ "dependencies": [],
13
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";"
14
+ },
15
+ "props": {
16
+ "attachments": {
17
+ "type": "ChatAttachment[] | undefined",
18
+ "required": false,
19
+ "description": "File attachments associated with the message."
20
+ },
21
+ "class": {
22
+ "type": "string | undefined",
23
+ "required": false,
24
+ "description": "Class. Optional. Type: string | undefined."
25
+ },
26
+ "enabled": {
27
+ "type": "boolean | undefined",
28
+ "required": false,
29
+ "description": "Whether the optional sub-feature is enabled."
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "ChatComposer",
3
+ "description": "Chat Composer component from the dataDisplay module.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
11
+ ],
12
+ "dependencies": [
13
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
14
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less",
15
+ "@smwb/ui-styles/less/components/textField/textField.entry.less"
16
+ ],
17
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";"
18
+ },
19
+ "props": {
20
+ "class": {
21
+ "type": "string | undefined",
22
+ "required": false,
23
+ "description": "Class. Optional. Type: string | undefined."
24
+ },
25
+ "onSendMessage": {
26
+ "type": "((text: string) => void | Promise<void>) | undefined",
27
+ "required": false,
28
+ "description": "On Send Message. Optional. Type: ((text: string) => void | Promise<void>) | undefined."
29
+ },
30
+ "placeholder": {
31
+ "type": "string | undefined",
32
+ "required": false,
33
+ "description": "Placeholder text shown when empty."
34
+ },
35
+ "disabled": {
36
+ "type": "boolean | undefined",
37
+ "required": false,
38
+ "description": "Whether the control is disabled and non-interactive."
39
+ },
40
+ "sendAriaLabel": {
41
+ "type": "string | undefined",
42
+ "required": false,
43
+ "description": "Send Aria Label. Optional. Type: string | undefined."
44
+ },
45
+ "shiftEnterNewline": {
46
+ "type": "boolean | undefined",
47
+ "required": false,
48
+ "description": "Shift Enter Newline. Optional. Type: boolean | undefined."
49
+ },
50
+ "ctrlEnterNewline": {
51
+ "type": "boolean | undefined",
52
+ "required": false,
53
+ "description": "Ctrl Enter Newline. Optional. Type: boolean | undefined."
54
+ },
55
+ "fileUpload": {
56
+ "type": "boolean | undefined",
57
+ "required": false,
58
+ "description": "File Upload. Optional. Type: boolean | undefined."
59
+ },
60
+ "attachInputId": {
61
+ "type": "string | undefined",
62
+ "required": false,
63
+ "description": "Attach Input Id. Optional. Type: string | undefined."
64
+ },
65
+ "onAttachClick": {
66
+ "type": "(() => void) | undefined",
67
+ "required": false,
68
+ "description": "On Attach Click. Optional. Type: (() => void) | undefined."
69
+ },
70
+ "attachAriaLabel": {
71
+ "type": "string | undefined",
72
+ "required": false,
73
+ "description": "Attach Aria Label. Optional. Type: string | undefined."
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "ChatHeader",
3
+ "description": "Chat title area with layout mode controls and close action.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
11
+ ],
12
+ "dependencies": [
13
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
14
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less"
15
+ ],
16
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";"
17
+ },
18
+ "props": {
19
+ "class": {
20
+ "type": "string | undefined",
21
+ "required": false,
22
+ "description": "Class. Optional. Type: string | undefined."
23
+ },
24
+ "title": {
25
+ "type": "JSX.Element",
26
+ "required": false,
27
+ "description": "Accessible title or tooltip text."
28
+ },
29
+ "subtitle": {
30
+ "type": "JSX.Element",
31
+ "required": false,
32
+ "description": "Subtitle. Optional. Type: JSX.Element."
33
+ },
34
+ "actions": {
35
+ "type": "JSX.Element",
36
+ "required": false,
37
+ "description": "Actions. Optional. Type: JSX.Element."
38
+ },
39
+ "layout": {
40
+ "type": "ChatLayoutMode | undefined",
41
+ "required": false,
42
+ "description": "Current chat shell layout mode."
43
+ },
44
+ "allowedLayouts": {
45
+ "type": "ChatLayoutMode[] | undefined",
46
+ "required": false,
47
+ "description": "Layout modes available in the chat header controls."
48
+ },
49
+ "onLayoutChange": {
50
+ "type": "((layout: ChatLayoutMode) => void) | undefined",
51
+ "required": false,
52
+ "description": "Callback fired when chat layout mode changes."
53
+ },
54
+ "onClose": {
55
+ "type": "(() => void) | undefined",
56
+ "required": false,
57
+ "description": "Callback fired when the user dismisses the component."
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "ChatIconButton",
3
+ "description": "Chat Icon Button component from the dataDisplay module.",
4
+ "extends": [
5
+ "JSX.ButtonHTMLAttributes<HTMLButtonElement>"
6
+ ],
7
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
8
+ "styles": {
9
+ "base": [
10
+ "@smwb/ui-styles/less/foundation.less",
11
+ "@smwb/ui-styles/less/theme.less"
12
+ ],
13
+ "entries": [
14
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
15
+ ],
16
+ "dependencies": [
17
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less"
18
+ ],
19
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";"
20
+ },
21
+ "props": {
22
+ "edge": {
23
+ "type": "\"start\" | \"end\" | undefined",
24
+ "required": false,
25
+ "description": "Edge. Optional. Type: \"start\" | \"end\" | undefined."
26
+ },
27
+ "color": {
28
+ "type": "\"default\" | \"primary\" | undefined",
29
+ "required": false,
30
+ "description": "Semantic color token."
31
+ },
32
+ "ref": {
33
+ "type": "Ref<HTMLButtonElement>",
34
+ "required": false,
35
+ "description": "Ref. Optional. Type: Ref<HTMLButtonElement>."
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "ChatLayoutChat",
3
+ "description": "Chat Layout Chat component from the dataDisplay module.",
4
+ "extends": [
5
+ "Omit<\n ChatProps,\n | \"class\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\n | \"onLayoutChange\"\n>"
6
+ ],
7
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
8
+ "styles": {
9
+ "base": [
10
+ "@smwb/ui-styles/less/foundation.less",
11
+ "@smwb/ui-styles/less/theme.less"
12
+ ],
13
+ "entries": [
14
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
15
+ ],
16
+ "dependencies": [],
17
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";"
18
+ },
19
+ "props": {}
20
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "ChatLayout",
3
+ "description": "Page layout with a full-height docked chat panel and collapse-to-floating behavior.",
4
+ "extends": [
5
+ "ParentProps",
6
+ "JSX.HTMLAttributes<HTMLDivElement>"
7
+ ],
8
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
9
+ "styles": {
10
+ "base": [
11
+ "@smwb/ui-styles/less/foundation.less",
12
+ "@smwb/ui-styles/less/theme.less"
13
+ ],
14
+ "entries": [
15
+ "@smwb/ui-styles/less/components/chat/chat.entry.less"
16
+ ],
17
+ "dependencies": [
18
+ "@smwb/ui-styles/less/components/avatar/avatar.entry.less",
19
+ "@smwb/ui-styles/less/components/floatingButton/floatingButton.entry.less",
20
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
21
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less",
22
+ "@smwb/ui-styles/less/components/skeleton/skeleton.entry.less",
23
+ "@smwb/ui-styles/less/components/textField/textField.entry.less",
24
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
25
+ ],
26
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/avatar/avatar.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/floatingButton/floatingButton.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/skeleton/skeleton.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
27
+ },
28
+ "props": {
29
+ "contentClass": {
30
+ "type": "string | undefined",
31
+ "required": false,
32
+ "description": "Content Class. Optional. Type: string | undefined."
33
+ },
34
+ "chatClass": {
35
+ "type": "string | undefined",
36
+ "required": false,
37
+ "description": "Chat Class. Optional. Type: string | undefined."
38
+ },
39
+ "side": {
40
+ "type": "ChatLayoutSide | undefined",
41
+ "required": false,
42
+ "description": "Side of the layout where the chat panel is docked."
43
+ },
44
+ "chatWidth": {
45
+ "type": "number | string | undefined",
46
+ "required": false,
47
+ "description": "Width of the docked chat panel."
48
+ },
49
+ "collapsed": {
50
+ "type": "boolean | undefined",
51
+ "required": false,
52
+ "description": "Controlled collapsed state of the chat panel."
53
+ },
54
+ "defaultCollapsed": {
55
+ "type": "boolean | undefined",
56
+ "required": false,
57
+ "description": "Initial uncontrolled collapsed state."
58
+ },
59
+ "onCollapsedChange": {
60
+ "type": "((collapsed: boolean) => void) | undefined",
61
+ "required": false,
62
+ "description": "Callback fired when collapsed state changes."
63
+ },
64
+ "collapseAriaLabel": {
65
+ "type": "string | undefined",
66
+ "required": false,
67
+ "description": "Accessible label for the collapse-to-floating button."
68
+ },
69
+ "expandAriaLabel": {
70
+ "type": "string | undefined",
71
+ "required": false,
72
+ "description": "Accessible label for the expand-to-panel button."
73
+ },
74
+ "floatingAnchor": {
75
+ "type": "ChatAnchor | undefined",
76
+ "required": false,
77
+ "description": "Anchor corner used when chat is collapsed to floating mode."
78
+ },
79
+ "chat": {
80
+ "type": "ChatLayoutChatProps",
81
+ "required": true,
82
+ "description": "Chat configuration passed to ChatLayout."
83
+ }
84
+ }
85
+ }