@smwb/ui-mcp-react 2.0.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 (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/component-meta/base/icon/icon.json +61 -0
  4. package/component-meta/base/ripple/ripple.json +46 -0
  5. package/component-meta/clickAwayListener/clickAwayListener.json +45 -0
  6. package/component-meta/connects/rt/table/draggableHeader.draggableColumnHeader.json +37 -0
  7. package/component-meta/connects/rt/table/draggableHeader.draggableColumnHeaderWrapper.json +40 -0
  8. package/component-meta/connects/rt/table/headerCellRenderer.json +29 -0
  9. package/component-meta/connects/rt/table/table.json +23 -0
  10. package/component-meta/dataDisplay/accordion/accordion.json +79 -0
  11. package/component-meta/dataDisplay/avatar/avatar.avatarGroup.json +41 -0
  12. package/component-meta/dataDisplay/avatar/avatar.json +56 -0
  13. package/component-meta/dataDisplay/badge/badge.json +66 -0
  14. package/component-meta/dataDisplay/card/card.json +51 -0
  15. package/component-meta/dataDisplay/carousel/carousel.json +88 -0
  16. package/component-meta/dataDisplay/chat/chat.json +240 -0
  17. package/component-meta/dataDisplay/chat/chatAttachmentImage.json +27 -0
  18. package/component-meta/dataDisplay/chat/chatAttachments.json +32 -0
  19. package/component-meta/dataDisplay/chat/chatComposer.json +76 -0
  20. package/component-meta/dataDisplay/chat/chatHeader.json +60 -0
  21. package/component-meta/dataDisplay/chat/chatIconButton.json +38 -0
  22. package/component-meta/dataDisplay/chat/chatLayout.chatLayoutChat.json +20 -0
  23. package/component-meta/dataDisplay/chat/chatLayout.json +90 -0
  24. package/component-meta/dataDisplay/chat/chatMessageAvatar.json +34 -0
  25. package/component-meta/dataDisplay/chat/chatMessageBubble.json +91 -0
  26. package/component-meta/dataDisplay/chat/chatMessageIncoming.json +60 -0
  27. package/component-meta/dataDisplay/chat/chatMessageItem.json +65 -0
  28. package/component-meta/dataDisplay/chat/chatMessageOutgoing.json +60 -0
  29. package/component-meta/dataDisplay/chat/chatMessageSkeleton.json +39 -0
  30. package/component-meta/dataDisplay/chat/chatMessageStatus.json +44 -0
  31. package/component-meta/dataDisplay/chat/chatMessageSystem.json +29 -0
  32. package/component-meta/dataDisplay/chat/chatMessages.json +91 -0
  33. package/component-meta/dataDisplay/chat/chatOverlayLayout.chatOverlayLayoutChat.json +20 -0
  34. package/component-meta/dataDisplay/chat/chatOverlayLayout.json +75 -0
  35. package/component-meta/dataDisplay/chat/chatShell.json +71 -0
  36. package/component-meta/dataDisplay/chip/chip.json +104 -0
  37. package/component-meta/dataDisplay/expansionPanel/expansionPanel.json +81 -0
  38. package/component-meta/dataDisplay/imagesList/imagesList.json +52 -0
  39. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItem.json +64 -0
  40. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItemModal.json +32 -0
  41. package/component-meta/dataDisplay/list/list.json +36 -0
  42. package/component-meta/dataDisplay/list/listItem.json +57 -0
  43. package/component-meta/dataDisplay/table/table.json +56 -0
  44. package/component-meta/dataDisplay/table/tableBody.json +26 -0
  45. package/component-meta/dataDisplay/table/tableCell.json +31 -0
  46. package/component-meta/dataDisplay/table/tableHead.json +26 -0
  47. package/component-meta/dataDisplay/table/tableHeadCell.json +58 -0
  48. package/component-meta/dataDisplay/table/tablePagination/tablePagination.baseTablePagination.json +47 -0
  49. package/component-meta/dataDisplay/table/tablePagination/tablePagination.json +21 -0
  50. package/component-meta/dataDisplay/table/tableRow.json +36 -0
  51. package/component-meta/dataDisplay/treeView/treeView.json +88 -0
  52. package/component-meta/dataDisplay/typography/typography.json +56 -0
  53. package/component-meta/feedBack/message/message.json +53 -0
  54. package/component-meta/feedBack/modal/modal.content.json +22 -0
  55. package/component-meta/feedBack/modal/modal.footer.json +22 -0
  56. package/component-meta/feedBack/modal/modal.header.json +22 -0
  57. package/component-meta/feedBack/modal/modal.json +87 -0
  58. package/component-meta/feedBack/progressIndicator/progressIndicator.circularProgress.json +22 -0
  59. package/component-meta/feedBack/progressIndicator/progressIndicator.json +57 -0
  60. package/component-meta/feedBack/skeleton/skeleton.json +61 -0
  61. package/component-meta/feedBack/snackbar/snackbar.json +61 -0
  62. package/component-meta/feedBack/snackbar/snackbar.snackbarsProvider.json +51 -0
  63. package/component-meta/feedBack/tooltip/tooltip.json +57 -0
  64. package/component-meta/inputs/button/button.json +89 -0
  65. package/component-meta/inputs/buttonGroups/buttonGroup.json +56 -0
  66. package/component-meta/inputs/checkbox/checkbox.json +89 -0
  67. package/component-meta/inputs/datePicker/dataPickerDays.json +43 -0
  68. package/component-meta/inputs/datePicker/dataPickerHeader.json +50 -0
  69. package/component-meta/inputs/datePicker/dataPickerInput.json +29 -0
  70. package/component-meta/inputs/datePicker/datePicker.json +129 -0
  71. package/component-meta/inputs/datePicker/datePickerIconButton.json +18 -0
  72. package/component-meta/inputs/datePicker/datePickerList.json +30 -0
  73. package/component-meta/inputs/dateTimePicker/dateTimePicker.json +120 -0
  74. package/component-meta/inputs/dateTimePicker/dateTimePickerInput.json +30 -0
  75. package/component-meta/inputs/fileDrop/countPreview.json +40 -0
  76. package/component-meta/inputs/fileDrop/fileDrop.json +66 -0
  77. package/component-meta/inputs/fileDrop/preview.json +46 -0
  78. package/component-meta/inputs/fileDrop/previewWrapper.json +51 -0
  79. package/component-meta/inputs/fileInput/fileInput.json +56 -0
  80. package/component-meta/inputs/floatingButton/floatingButton.json +43 -0
  81. package/component-meta/inputs/radioButton/radioButton.json +85 -0
  82. package/component-meta/inputs/rating/rating.json +99 -0
  83. package/component-meta/inputs/selectField/dropdownMenu.json +107 -0
  84. package/component-meta/inputs/selectField/selectField.json +199 -0
  85. package/component-meta/inputs/slider/slider.json +128 -0
  86. package/component-meta/inputs/textField/textField.json +131 -0
  87. package/component-meta/inputs/textField/textFieldAdornment.json +40 -0
  88. package/component-meta/inputs/textField/textFieldWrapper.json +101 -0
  89. package/component-meta/inputs/timePicker/timePicker.json +75 -0
  90. package/component-meta/inputs/timePicker/timePickerColumns.json +37 -0
  91. package/component-meta/inputs/timePicker/timePickerInput.json +30 -0
  92. package/component-meta/inputs/timePicker/timePickerList.json +32 -0
  93. package/component-meta/inputs/toggle/toggle.json +90 -0
  94. package/component-meta/layout/appLayout/appLayout.json +88 -0
  95. package/component-meta/layout/divider/divider.json +56 -0
  96. package/component-meta/layout/grid/grid.column.json +20 -0
  97. package/component-meta/layout/grid/grid.container.json +31 -0
  98. package/component-meta/layout/grid/grid.row.json +46 -0
  99. package/component-meta/layout/page/page.json +41 -0
  100. package/component-meta/layout/pageHeader/pageHeader.json +53 -0
  101. package/component-meta/layout/screenDivider/screenDivider.json +52 -0
  102. package/component-meta/layout/sheet/sheet.json +115 -0
  103. package/component-meta/layout/stack/stack.json +56 -0
  104. package/component-meta/navigation/appBar/appBar.json +76 -0
  105. package/component-meta/navigation/bottomBar/bottomBar.bottomBarMenuItem.json +19 -0
  106. package/component-meta/navigation/bottomBar/bottomBar.json +61 -0
  107. package/component-meta/navigation/breadcrumbs/breadcrumbs.json +61 -0
  108. package/component-meta/navigation/menu/menu.json +20 -0
  109. package/component-meta/navigation/menu/menuDivider.json +20 -0
  110. package/component-meta/navigation/menu/menuFloating.json +46 -0
  111. package/component-meta/navigation/menu/menuItem.json +63 -0
  112. package/component-meta/navigation/menu/menuItemIcon.json +26 -0
  113. package/component-meta/navigation/menu/menuItemText.json +36 -0
  114. package/component-meta/navigation/menu/menuList.json +20 -0
  115. package/component-meta/navigation/menu/menuSubmenu.json +22 -0
  116. package/component-meta/navigation/pagination/pagination.json +98 -0
  117. package/component-meta/navigation/sidebar/sidebar.json +79 -0
  118. package/component-meta/navigation/sidebar/sidebar.menuItem.json +56 -0
  119. package/component-meta/navigation/stepper/stepper.json +53 -0
  120. package/component-meta/navigation/tabs/tab/tab.json +58 -0
  121. package/component-meta/navigation/tabs/tabs.json +55 -0
  122. package/componentMeta.mjs +493 -0
  123. package/customizationMeta.mjs +451 -0
  124. package/package.json +37 -0
  125. package/server.mjs +169 -0
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "ChatLayout",
3
+ "description": "Page layout with a full-height docked chat panel and collapse-to-floating behavior.",
4
+ "extends": [
5
+ "PropsWithChildren",
6
+ "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
+ "className": {
30
+ "type": "string",
31
+ "required": false,
32
+ "description": "Additional CSS class name(s) for the root element."
33
+ },
34
+ "contentClassName": {
35
+ "type": "string",
36
+ "required": false,
37
+ "description": "CSS class name for the main content area."
38
+ },
39
+ "chatClassName": {
40
+ "type": "string",
41
+ "required": false,
42
+ "description": "CSS class name for the nested Chat component."
43
+ },
44
+ "side": {
45
+ "type": "ChatLayoutSide",
46
+ "required": false,
47
+ "description": "Side of the layout where the chat panel is docked."
48
+ },
49
+ "chatWidth": {
50
+ "type": "number | string",
51
+ "required": false,
52
+ "description": "Width of the docked chat panel."
53
+ },
54
+ "collapsed": {
55
+ "type": "boolean",
56
+ "required": false,
57
+ "description": "Controlled collapsed state of the chat panel."
58
+ },
59
+ "defaultCollapsed": {
60
+ "type": "boolean",
61
+ "required": false,
62
+ "description": "Initial uncontrolled collapsed state."
63
+ },
64
+ "onCollapsedChange": {
65
+ "type": "(collapsed: boolean) => void",
66
+ "required": false,
67
+ "description": "Callback fired when collapsed state changes."
68
+ },
69
+ "collapseAriaLabel": {
70
+ "type": "string",
71
+ "required": false,
72
+ "description": "Accessible label for the collapse-to-floating button."
73
+ },
74
+ "expandAriaLabel": {
75
+ "type": "string",
76
+ "required": false,
77
+ "description": "Accessible label for the expand-to-panel button."
78
+ },
79
+ "floatingAnchor": {
80
+ "type": "ChatAnchor",
81
+ "required": false,
82
+ "description": "Anchor corner used when chat is collapsed to floating mode."
83
+ },
84
+ "chat": {
85
+ "type": "ChatLayoutChatProps",
86
+ "required": true,
87
+ "description": "Chat configuration passed to ChatLayout."
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "ChatMessageAvatar",
3
+ "description": "Optional author avatar shown beside a chat message.",
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/avatar/avatar.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/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/avatar/avatar.entry.less\";"
16
+ },
17
+ "props": {
18
+ "author": {
19
+ "type": "ChatAuthor",
20
+ "required": false,
21
+ "description": "Message author metadata such as name and avatar."
22
+ },
23
+ "enabled": {
24
+ "type": "boolean",
25
+ "required": false,
26
+ "description": "Whether the optional sub-feature is enabled."
27
+ },
28
+ "className": {
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "Additional CSS class name(s) for the root element."
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "ChatMessageBubble",
3
+ "description": "Shared bubble layout for incoming and outgoing messages.",
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/avatar/avatar.entry.less",
14
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
15
+ "@smwb/ui-styles/less/components/typography/typography.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/avatar/avatar.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/typography/typography.entry.less\";"
18
+ },
19
+ "props": {
20
+ "className": {
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "Additional CSS class name(s) for the root element."
24
+ },
25
+ "align": {
26
+ "type": "\"start\" | \"end\"",
27
+ "required": true,
28
+ "description": "Horizontal alignment of the message bubble."
29
+ },
30
+ "message": {
31
+ "type": "ChatMessage",
32
+ "required": true,
33
+ "description": "Chat message data object."
34
+ },
35
+ "author": {
36
+ "type": "ChatAuthor",
37
+ "required": false,
38
+ "description": "Message author metadata such as name and avatar."
39
+ },
40
+ "text": {
41
+ "type": "ReactNode",
42
+ "required": false,
43
+ "description": "Primary text content of the message."
44
+ },
45
+ "attachments": {
46
+ "type": "ChatAttachment[]",
47
+ "required": false,
48
+ "description": "File attachments associated with the message."
49
+ },
50
+ "timestamp": {
51
+ "type": "string | Date",
52
+ "required": false,
53
+ "description": "Message timestamp displayed in the meta row."
54
+ },
55
+ "status": {
56
+ "type": "ChatMessageStatusValue",
57
+ "required": false,
58
+ "description": "Message delivery status value."
59
+ },
60
+ "showAvatars": {
61
+ "type": "boolean",
62
+ "required": false,
63
+ "description": "Whether author avatars are shown in chat messages."
64
+ },
65
+ "showAttachments": {
66
+ "type": "boolean",
67
+ "required": false,
68
+ "description": "Whether file attachments are shown in chat messages."
69
+ },
70
+ "showStatus": {
71
+ "type": "boolean",
72
+ "required": false,
73
+ "description": "Whether delivery status icons are shown on outgoing messages."
74
+ },
75
+ "statusIcons": {
76
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
77
+ "required": false,
78
+ "description": "Custom Material icon names mapped to message delivery statuses."
79
+ },
80
+ "renderStatus": {
81
+ "type": "(ctx: ChatMessageStatusRenderContext) => ReactNode",
82
+ "required": false,
83
+ "description": "Custom render function for message delivery status indicators."
84
+ },
85
+ "bubbleClassName": {
86
+ "type": "string",
87
+ "required": false,
88
+ "description": "Bubble Class Name. Optional. Type: string."
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "ChatMessageIncoming",
3
+ "description": "Incoming chat message bubble aligned to the start.",
4
+ "extends": [
5
+ "ChatMessageRenderContext"
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/avatar/avatar.entry.less",
18
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
19
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
20
+ ],
21
+ "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/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
22
+ },
23
+ "props": {
24
+ "message": {
25
+ "type": "ChatMessage",
26
+ "required": true,
27
+ "description": "Chat message data object."
28
+ },
29
+ "className": {
30
+ "type": "string",
31
+ "required": false,
32
+ "description": "Additional CSS class name(s) for the root element."
33
+ },
34
+ "showAvatars": {
35
+ "type": "boolean",
36
+ "required": true,
37
+ "description": "Whether author avatars are shown in chat messages."
38
+ },
39
+ "showAttachments": {
40
+ "type": "boolean",
41
+ "required": true,
42
+ "description": "Whether file attachments are shown in chat messages."
43
+ },
44
+ "showStatus": {
45
+ "type": "boolean",
46
+ "required": false,
47
+ "description": "Whether delivery status icons are shown on outgoing messages."
48
+ },
49
+ "statusIcons": {
50
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
51
+ "required": false,
52
+ "description": "Custom Material icon names mapped to message delivery statuses."
53
+ },
54
+ "renderStatus": {
55
+ "type": "(ctx: ChatMessageStatusRenderContext) => ReactNode",
56
+ "required": false,
57
+ "description": "Custom render function for message delivery status indicators."
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "ChatMessageItem",
3
+ "description": "Router that renders a chat message by variant or custom renderer.",
4
+ "extends": [
5
+ "ChatMessageRenderContext"
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/avatar/avatar.entry.less",
18
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
19
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
20
+ ],
21
+ "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/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
22
+ },
23
+ "props": {
24
+ "message": {
25
+ "type": "ChatMessage",
26
+ "required": true,
27
+ "description": "Chat message data object."
28
+ },
29
+ "className": {
30
+ "type": "string",
31
+ "required": false,
32
+ "description": "Additional CSS class name(s) for the root element."
33
+ },
34
+ "renderMessage": {
35
+ "type": "(message: ChatMessage, ctx: ChatMessageRenderContext) => ReactNode",
36
+ "required": false,
37
+ "description": "Custom render function for an individual chat message."
38
+ },
39
+ "showAvatars": {
40
+ "type": "boolean",
41
+ "required": true,
42
+ "description": "Whether author avatars are shown in chat messages."
43
+ },
44
+ "showAttachments": {
45
+ "type": "boolean",
46
+ "required": true,
47
+ "description": "Whether file attachments are shown in chat messages."
48
+ },
49
+ "showStatus": {
50
+ "type": "boolean",
51
+ "required": false,
52
+ "description": "Whether delivery status icons are shown on outgoing messages."
53
+ },
54
+ "statusIcons": {
55
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
56
+ "required": false,
57
+ "description": "Custom Material icon names mapped to message delivery statuses."
58
+ },
59
+ "renderStatus": {
60
+ "type": "(ctx: ChatMessageStatusRenderContext) => ReactNode",
61
+ "required": false,
62
+ "description": "Custom render function for message delivery status indicators."
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "ChatMessageOutgoing",
3
+ "description": "Outgoing chat message bubble aligned to the end.",
4
+ "extends": [
5
+ "ChatMessageRenderContext"
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/avatar/avatar.entry.less",
18
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
19
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
20
+ ],
21
+ "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/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
22
+ },
23
+ "props": {
24
+ "message": {
25
+ "type": "ChatMessage",
26
+ "required": true,
27
+ "description": "Chat message data object."
28
+ },
29
+ "className": {
30
+ "type": "string",
31
+ "required": false,
32
+ "description": "Additional CSS class name(s) for the root element."
33
+ },
34
+ "showAvatars": {
35
+ "type": "boolean",
36
+ "required": true,
37
+ "description": "Whether author avatars are shown in chat messages."
38
+ },
39
+ "showAttachments": {
40
+ "type": "boolean",
41
+ "required": true,
42
+ "description": "Whether file attachments are shown in chat messages."
43
+ },
44
+ "showStatus": {
45
+ "type": "boolean",
46
+ "required": false,
47
+ "description": "Whether delivery status icons are shown on outgoing messages."
48
+ },
49
+ "statusIcons": {
50
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
51
+ "required": false,
52
+ "description": "Custom Material icon names mapped to message delivery statuses."
53
+ },
54
+ "renderStatus": {
55
+ "type": "(ctx: ChatMessageStatusRenderContext) => ReactNode",
56
+ "required": false,
57
+ "description": "Custom render function for message delivery status indicators."
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "ChatMessageSkeleton",
3
+ "description": "Loading placeholder shaped like a chat message.",
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/skeleton/skeleton.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/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/skeleton/skeleton.entry.less\";"
16
+ },
17
+ "props": {
18
+ "className": {
19
+ "type": "string",
20
+ "required": false,
21
+ "description": "Additional CSS class name(s) for the root element."
22
+ },
23
+ "align": {
24
+ "type": "\"start\" | \"end\"",
25
+ "required": false,
26
+ "description": "Horizontal alignment of the message bubble."
27
+ },
28
+ "showAvatar": {
29
+ "type": "boolean",
30
+ "required": false,
31
+ "description": "Whether a skeleton avatar placeholder is shown."
32
+ },
33
+ "lines": {
34
+ "type": "number",
35
+ "required": false,
36
+ "description": "Number of skeleton text lines."
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "ChatMessageStatus",
3
+ "description": "Delivery status icon or custom status renderer for outgoing messages.",
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
+ ],
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/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
16
+ },
17
+ "props": {
18
+ "className": {
19
+ "type": "string",
20
+ "required": false,
21
+ "description": "Additional CSS class name(s) for the root element."
22
+ },
23
+ "message": {
24
+ "type": "ChatMessage",
25
+ "required": true,
26
+ "description": "Chat message data object."
27
+ },
28
+ "status": {
29
+ "type": "ChatMessageStatusValue",
30
+ "required": true,
31
+ "description": "Message delivery status value."
32
+ },
33
+ "statusIcons": {
34
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
35
+ "required": false,
36
+ "description": "Custom Material icon names mapped to message delivery statuses."
37
+ },
38
+ "renderStatus": {
39
+ "type": "(ctx: ChatMessageStatusRenderContext) => React.ReactNode",
40
+ "required": false,
41
+ "description": "Custom render function for message delivery status indicators."
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "ChatMessageSystem",
3
+ "description": "Centered system notice message.",
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/typography/typography.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/chat/chat.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/typography/typography.entry.less\";"
16
+ },
17
+ "props": {
18
+ "message": {
19
+ "type": "ChatMessage",
20
+ "required": true,
21
+ "description": "Chat message data object."
22
+ },
23
+ "className": {
24
+ "type": "string",
25
+ "required": false,
26
+ "description": "Additional CSS class name(s) for the root element."
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "ChatMessages",
3
+ "description": "Scrollable message list with infinite scroll and loading skeletons.",
4
+ "extends": [
5
+ "ChatMessageRenderContext"
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/avatar/avatar.entry.less",
18
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
19
+ "@smwb/ui-styles/less/components/skeleton/skeleton.entry.less",
20
+ "@smwb/ui-styles/less/components/typography/typography.entry.less"
21
+ ],
22
+ "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/icon/icon.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/typography/typography.entry.less\";"
23
+ },
24
+ "props": {
25
+ "className": {
26
+ "type": "string",
27
+ "required": false,
28
+ "description": "Additional CSS class name(s) for the root element."
29
+ },
30
+ "messages": {
31
+ "type": "ChatMessage[]",
32
+ "required": true,
33
+ "description": "Chat message list to render."
34
+ },
35
+ "onLoadMore": {
36
+ "type": "() => void | Promise<void>",
37
+ "required": false,
38
+ "description": "Callback to load older messages for infinite scroll."
39
+ },
40
+ "hasMore": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Whether more older messages are available to load."
44
+ },
45
+ "loading": {
46
+ "type": "boolean",
47
+ "required": false,
48
+ "description": "Whether content is loading."
49
+ },
50
+ "loadingMore": {
51
+ "type": "boolean",
52
+ "required": false,
53
+ "description": "Whether older messages are currently loading."
54
+ },
55
+ "loadingSkeletonCount": {
56
+ "type": "number",
57
+ "required": false,
58
+ "description": "Number of skeleton placeholders shown while loading."
59
+ },
60
+ "renderMessage": {
61
+ "type": "ChatMessageItemProps[\"renderMessage\"]",
62
+ "required": false,
63
+ "description": "Custom render function for an individual chat message."
64
+ },
65
+ "showAvatars": {
66
+ "type": "boolean",
67
+ "required": true,
68
+ "description": "Whether author avatars are shown in chat messages."
69
+ },
70
+ "showAttachments": {
71
+ "type": "boolean",
72
+ "required": true,
73
+ "description": "Whether file attachments are shown in chat messages."
74
+ },
75
+ "showStatus": {
76
+ "type": "boolean",
77
+ "required": false,
78
+ "description": "Whether delivery status icons are shown on outgoing messages."
79
+ },
80
+ "statusIcons": {
81
+ "type": "ChatMessageStatusIcons & Record<string, string | undefined>",
82
+ "required": false,
83
+ "description": "Custom Material icon names mapped to message delivery statuses."
84
+ },
85
+ "renderStatus": {
86
+ "type": "(ctx: ChatMessageStatusRenderContext) => ReactNode",
87
+ "required": false,
88
+ "description": "Custom render function for message delivery status indicators."
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "ChatOverlayLayoutChat",
3
+ "description": "Chat Overlay Layout Chat component from the dataDisplay module.",
4
+ "extends": [
5
+ "Omit<\n ChatProps,\n | \"className\"\n | \"overlayContext\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"onLayoutChange\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\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
+ }