@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,75 @@
1
+ {
2
+ "name": "ChatOverlayLayout",
3
+ "description": "Chat Overlay Layout component from the dataDisplay module.",
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
+ "allowedLayouts": {
55
+ "type": "ChatLayoutMode[]",
56
+ "required": false,
57
+ "description": "Layout modes available in the chat header controls."
58
+ },
59
+ "defaultLayout": {
60
+ "type": "ChatLayoutMode",
61
+ "required": false,
62
+ "description": "Initial uncontrolled chat layout mode."
63
+ },
64
+ "defaultOpen": {
65
+ "type": "boolean",
66
+ "required": false,
67
+ "description": "Initial uncontrolled open state."
68
+ },
69
+ "chat": {
70
+ "type": "ChatOverlayLayoutChatProps",
71
+ "required": true,
72
+ "description": "Chat configuration passed to ChatLayout."
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "ChatShell",
3
+ "description": "Positioned chat container shell with header, body, and footer slots.",
4
+ "extends": [
5
+ "PropsWithChildren"
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
+ "className": {
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "Additional CSS class name(s) for the root element."
24
+ },
25
+ "layout": {
26
+ "type": "ChatLayoutMode",
27
+ "required": true,
28
+ "description": "Current chat shell layout mode."
29
+ },
30
+ "anchor": {
31
+ "type": "ChatAnchor",
32
+ "required": false,
33
+ "description": "Corner anchor for floating chat positioning."
34
+ },
35
+ "themeMode": {
36
+ "type": "ChatThemeMode",
37
+ "required": false,
38
+ "description": "Color theme mode for the chat shell."
39
+ },
40
+ "embedded": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Whether the chat is embedded in a layout instead of floating."
44
+ },
45
+ "overlayContext": {
46
+ "type": "boolean",
47
+ "required": false,
48
+ "description": "Overlay Context. Optional. Type: boolean."
49
+ },
50
+ "header": {
51
+ "type": "ReactNode",
52
+ "required": false,
53
+ "description": "Header. Optional. Type: ReactNode."
54
+ },
55
+ "footer": {
56
+ "type": "ReactNode",
57
+ "required": false,
58
+ "description": "Content rendered in the chat footer, typically the composer."
59
+ },
60
+ "fileDropzoneRootProps": {
61
+ "type": "React.HTMLAttributes<HTMLDivElement>",
62
+ "required": false,
63
+ "description": "File Dropzone Root Props. Optional. Type: React.HTMLAttributes<HTMLDivElement>."
64
+ },
65
+ "fileDropzoneActive": {
66
+ "type": "boolean",
67
+ "required": false,
68
+ "description": "File Dropzone Active. Optional. Type: boolean."
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "name": "Chip",
3
+ "description": "Compact label or filter tag, optionally dismissible or clickable.",
4
+ "extends": [
5
+ "React.HTMLAttributes<HTMLSpanElement | HTMLAnchorElement>"
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/chip/chip.entry.less"
15
+ ],
16
+ "dependencies": [
17
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
18
+ "@smwb/ui-styles/less/components/ripple/ripple.entry.less"
19
+ ],
20
+ "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/chip/chip.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\";"
21
+ },
22
+ "props": {
23
+ "className": {
24
+ "type": "string",
25
+ "required": false,
26
+ "description": "Additional CSS class name(s) for the root element."
27
+ },
28
+ "variant": {
29
+ "type": "\"filled\" | \"outlined\"",
30
+ "required": false,
31
+ "description": "Visual style variant."
32
+ },
33
+ "size": {
34
+ "type": "\"small\" | \"medium\"",
35
+ "required": false,
36
+ "description": "Visual size preset."
37
+ },
38
+ "color": {
39
+ "type": "ChipColor",
40
+ "required": false,
41
+ "description": "Semantic color token."
42
+ },
43
+ "onDelete": {
44
+ "type": "(event: React.SyntheticEvent) => void",
45
+ "required": false,
46
+ "description": "On Delete. Optional. Type: (event: React.SyntheticEvent) => void."
47
+ },
48
+ "icon": {
49
+ "type": "React.ReactNode",
50
+ "required": false,
51
+ "description": "Icon node or image source."
52
+ },
53
+ "deleteIcon": {
54
+ "type": "React.ReactNode",
55
+ "required": false,
56
+ "description": "Delete Icon. Optional. Type: React.ReactNode."
57
+ },
58
+ "label": {
59
+ "type": "string",
60
+ "required": true,
61
+ "description": "Visible label text."
62
+ },
63
+ "onClick": {
64
+ "type": "() => void",
65
+ "required": false,
66
+ "description": "Callback fired when the element is clicked."
67
+ },
68
+ "onDeleteMouseDown": {
69
+ "type": "React.MouseEventHandler",
70
+ "required": false,
71
+ "description": "On Delete Mouse Down. Optional. Type: React.MouseEventHandler."
72
+ },
73
+ "disabled": {
74
+ "type": "boolean",
75
+ "required": false,
76
+ "description": "Whether the control is disabled and non-interactive."
77
+ },
78
+ "asLink": {
79
+ "type": "boolean",
80
+ "required": false,
81
+ "description": "As Link. Optional. Type: boolean."
82
+ },
83
+ "href": {
84
+ "type": "string",
85
+ "required": false,
86
+ "description": "Link URL when rendered as an anchor."
87
+ },
88
+ "target": {
89
+ "type": "string",
90
+ "required": false,
91
+ "description": "Open the link in a new tab (asLink only)."
92
+ },
93
+ "selected": {
94
+ "type": "boolean",
95
+ "required": false,
96
+ "description": "Controlled selected tab index or value."
97
+ },
98
+ "deleteAriaLabel": {
99
+ "type": "string",
100
+ "required": false,
101
+ "description": "Accessible label for the delete control."
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "ExpansionPanel",
3
+ "description": "Panel with customizable controls and responsive fullscreen mode.",
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/expansionPanel/expansionPanel.entry.less"
11
+ ],
12
+ "dependencies": [
13
+ "@smwb/ui-styles/less/components/button/button.entry.less",
14
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
15
+ "@smwb/ui-styles/less/components/ripple/ripple.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/expansionPanel/expansionPanel.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/button/button.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\";"
18
+ },
19
+ "props": {
20
+ "className": {
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "Additional CSS class name(s) for the root element."
24
+ },
25
+ "header": {
26
+ "type": "ReactNode",
27
+ "required": false,
28
+ "description": "Content of the panel header (left side of the control bar)."
29
+ },
30
+ "mode": {
31
+ "type": "ExpansionMode",
32
+ "required": false,
33
+ "description": "Controlled layout mode."
34
+ },
35
+ "defaultMode": {
36
+ "type": "ExpansionMode",
37
+ "required": false,
38
+ "description": "Initial mode for the uncontrolled component."
39
+ },
40
+ "onModeChange": {
41
+ "type": "(mode: ExpansionMode) => void",
42
+ "required": false,
43
+ "description": "Fired with the next mode whenever it changes."
44
+ },
45
+ "disableExpand": {
46
+ "type": "boolean",
47
+ "required": false,
48
+ "description": "Render the panel as a plain card without row/fullscreen controls."
49
+ },
50
+ "noControls": {
51
+ "type": "boolean",
52
+ "required": false,
53
+ "description": "Hide the built-in control bar (consumer drives `mode` itself)."
54
+ },
55
+ "renderControls": {
56
+ "type": "ExpansionPanelControls",
57
+ "required": false,
58
+ "description": "Replace the built-in row/fullscreen controls with a custom node or render prop."
59
+ },
60
+ "closeOnOutsideClick": {
61
+ "type": "boolean",
62
+ "required": false,
63
+ "description": "Close fullscreen when the backdrop is clicked. Default: true."
64
+ },
65
+ "closeOnEsc": {
66
+ "type": "boolean",
67
+ "required": false,
68
+ "description": "Close fullscreen when Escape is pressed. Default: true."
69
+ },
70
+ "labels": {
71
+ "type": "ExpansionPanelLabels",
72
+ "required": false,
73
+ "description": "Accessible labels / tooltips for the built-in controls."
74
+ },
75
+ "children": {
76
+ "type": "ExpansionPanelChildren",
77
+ "required": false,
78
+ "description": "Child nodes rendered inside the component."
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "ImagesList",
3
+ "description": "Responsive masonry-style image grid.",
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/imagesList/imagesList.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/imagesList/imagesList.entry.less\";"
14
+ },
15
+ "props": {
16
+ "className": {
17
+ "type": "string",
18
+ "required": false,
19
+ "description": "Additional CSS class name(s) for the root element."
20
+ },
21
+ "rowsHeight": {
22
+ "type": "number",
23
+ "required": false,
24
+ "description": "Rows Height. Optional. Type: number."
25
+ },
26
+ "cols": {
27
+ "type": "number",
28
+ "required": true,
29
+ "description": "Number of grid columns spanned by the item."
30
+ },
31
+ "variant": {
32
+ "type": "\"woven\" | \"masonry\" | \"default\"",
33
+ "required": false,
34
+ "description": "Visual style variant."
35
+ },
36
+ "gap": {
37
+ "type": "number",
38
+ "required": false,
39
+ "description": "Spacing between items."
40
+ },
41
+ "aria-label": {
42
+ "type": "string",
43
+ "required": false,
44
+ "description": "Accessible label for the image list."
45
+ },
46
+ "id": {
47
+ "type": "string",
48
+ "required": false,
49
+ "description": "Unique identifier for the root element."
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "ImagesListItem",
3
+ "description": "Single tile inside an ImagesList grid.",
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/imagesList/imagesListItem/imagesListItem.entry.less"
11
+ ],
12
+ "dependencies": [
13
+ "@smwb/ui-styles/less/components/imagesList/imagesList.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/imagesList/imagesListItem/imagesListItem.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/imagesList/imagesList.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
+ "src": {
24
+ "type": "string",
25
+ "required": true,
26
+ "description": "Media or image source URL."
27
+ },
28
+ "rowsHeight": {
29
+ "type": "number",
30
+ "required": false,
31
+ "description": "Rows Height. Optional. Type: number."
32
+ },
33
+ "cols": {
34
+ "type": "number",
35
+ "required": true,
36
+ "description": "Number of grid columns spanned by the item."
37
+ },
38
+ "rows": {
39
+ "type": "number",
40
+ "required": true,
41
+ "description": "Number of grid rows spanned by the item."
42
+ },
43
+ "rounded": {
44
+ "type": "boolean",
45
+ "required": false,
46
+ "description": "Rounded. Optional. Type: boolean."
47
+ },
48
+ "itemBarPlacement": {
49
+ "type": "\"top\" | \"bottom\" | \"under\"",
50
+ "required": false,
51
+ "description": "Item Bar Placement. Optional. Type: \"top\" | \"bottom\" | \"under\"."
52
+ },
53
+ "itemBarContent": {
54
+ "type": "React.ReactNode",
55
+ "required": false,
56
+ "description": "Item Bar Content. Optional. Type: React.ReactNode."
57
+ },
58
+ "alt": {
59
+ "type": "string",
60
+ "required": false,
61
+ "description": "Alternative text for images or icons."
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "ImagesListItemModal",
3
+ "description": "Fullscreen modal viewer for an ImagesList item.",
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/imagesList/imagesListItem/imagesListItem.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/imagesList/imagesListItem/imagesListItem.entry.less\";"
14
+ },
15
+ "props": {
16
+ "src": {
17
+ "type": "string",
18
+ "required": true,
19
+ "description": "Media or image source URL."
20
+ },
21
+ "onClose": {
22
+ "type": "() => void",
23
+ "required": true,
24
+ "description": "Callback fired when the user dismisses the component."
25
+ },
26
+ "isOpen": {
27
+ "type": "boolean",
28
+ "required": true,
29
+ "description": "Controlled open state of the floating surface."
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "List",
3
+ "description": "Vertical list container with optional subheader.",
4
+ "extends": [
5
+ "HTMLAttributes<HTMLUListElement>"
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/list/list.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/list/list.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
+ "dense": {
26
+ "type": "boolean",
27
+ "required": false,
28
+ "description": "Compact vertical rhythm."
29
+ },
30
+ "subheader": {
31
+ "type": "ReactNode",
32
+ "required": false,
33
+ "description": "Section subheader rendered before the items."
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "ListItem",
3
+ "description": "Single row inside a List.",
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/list/list.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/list/list.entry.less\";"
14
+ },
15
+ "props": {
16
+ "disabled": {
17
+ "type": "boolean",
18
+ "required": false,
19
+ "description": "Whether the control is disabled and non-interactive."
20
+ },
21
+ "className": {
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Additional CSS class name(s) for the root element."
25
+ },
26
+ "selected": {
27
+ "type": "boolean",
28
+ "required": false,
29
+ "description": "Controlled selected tab index or value."
30
+ },
31
+ "dense": {
32
+ "type": "boolean",
33
+ "required": false,
34
+ "description": "Compact row."
35
+ },
36
+ "divider": {
37
+ "type": "boolean",
38
+ "required": false,
39
+ "description": "Render a bottom divider."
40
+ },
41
+ "startAdornment": {
42
+ "type": "React.ReactNode",
43
+ "required": false,
44
+ "description": "Start Adornment. Optional. Type: React.ReactNode."
45
+ },
46
+ "endAdornment": {
47
+ "type": "React.ReactNode",
48
+ "required": false,
49
+ "description": "End Adornment. Optional. Type: React.ReactNode."
50
+ },
51
+ "onClick": {
52
+ "type": "React.MouseEventHandler<HTMLLIElement>",
53
+ "required": false,
54
+ "description": "Callback fired when the element is clicked."
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "Table",
3
+ "description": "Table wrapper with optional pagination settings.",
4
+ "extends": [
5
+ "HTMLAttributes<HTMLDivElement>"
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/table/table.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/table/table.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
+ "dense": {
26
+ "type": "boolean",
27
+ "required": false,
28
+ "description": "Compact layout with reduced spacing."
29
+ },
30
+ "isLoading": {
31
+ "type": "boolean",
32
+ "required": false,
33
+ "description": "Is Loading. Optional. Type: boolean."
34
+ },
35
+ "hovered": {
36
+ "type": "boolean",
37
+ "required": false,
38
+ "description": "Hovered. Optional. Type: boolean."
39
+ },
40
+ "stickyHeader": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Pins the table header while the body scrolls."
44
+ },
45
+ "caption": {
46
+ "type": "ReactNode",
47
+ "required": false,
48
+ "description": "Optional accessible caption rendered for screen readers."
49
+ },
50
+ "paginationSettings": {
51
+ "type": "TablePaginationProps",
52
+ "required": false,
53
+ "description": "Pagination configuration for the table."
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "TableBody",
3
+ "description": "Table body section wrapper.",
4
+ "extends": [
5
+ "HTMLAttributes<HTMLTableSectionElement>"
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/table/table.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/table/table.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
+ }
26
+ }