@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,71 @@
1
+ {
2
+ "name": "ChatShell",
3
+ "description": "Positioned chat container shell with header, body, and footer slots.",
4
+ "extends": [
5
+ "ParentProps"
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
+ "class": {
21
+ "type": "string | undefined",
22
+ "required": false,
23
+ "description": "Class. Optional. Type: string | undefined."
24
+ },
25
+ "layout": {
26
+ "type": "ChatLayoutMode",
27
+ "required": true,
28
+ "description": "Current chat shell layout mode."
29
+ },
30
+ "anchor": {
31
+ "type": "ChatAnchor | undefined",
32
+ "required": false,
33
+ "description": "Corner anchor for floating chat positioning."
34
+ },
35
+ "themeMode": {
36
+ "type": "ChatThemeMode | undefined",
37
+ "required": false,
38
+ "description": "Color theme mode for the chat shell."
39
+ },
40
+ "embedded": {
41
+ "type": "boolean | undefined",
42
+ "required": false,
43
+ "description": "Whether the chat is embedded in a layout instead of floating."
44
+ },
45
+ "overlayContext": {
46
+ "type": "boolean | undefined",
47
+ "required": false,
48
+ "description": "Overlay Context. Optional. Type: boolean | undefined."
49
+ },
50
+ "header": {
51
+ "type": "JSX.Element",
52
+ "required": false,
53
+ "description": "Header. Optional. Type: JSX.Element."
54
+ },
55
+ "footer": {
56
+ "type": "JSX.Element",
57
+ "required": false,
58
+ "description": "Content rendered in the chat footer, typically the composer."
59
+ },
60
+ "fileDropzoneRootProps": {
61
+ "type": "JSX.HTMLAttributes<HTMLDivElement> | undefined",
62
+ "required": false,
63
+ "description": "File Dropzone Root Props. Optional. Type: JSX.HTMLAttributes<HTMLDivElement> | undefined."
64
+ },
65
+ "fileDropzoneActive": {
66
+ "type": "boolean | undefined",
67
+ "required": false,
68
+ "description": "File Dropzone Active. Optional. Type: boolean | undefined."
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
+ "JSX.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
+ "variant": {
24
+ "type": "\"filled\" | \"outlined\"",
25
+ "required": false,
26
+ "description": "Visual style variant."
27
+ },
28
+ "size": {
29
+ "type": "\"small\" | \"medium\"",
30
+ "required": false,
31
+ "description": "Visual size preset."
32
+ },
33
+ "color": {
34
+ "type": "ChipColor",
35
+ "required": false,
36
+ "description": "Semantic color token."
37
+ },
38
+ "onDelete": {
39
+ "type": "(event: MouseEvent & { currentTarget: HTMLButtonElement; target: Element }) => void",
40
+ "required": false,
41
+ "description": "On Delete. Optional. Type: (event: MouseEvent & { currentTarget: HTMLButtonElement; target: Element }) => void."
42
+ },
43
+ "icon": {
44
+ "type": "JSX.Element",
45
+ "required": false,
46
+ "description": "Icon node or image source."
47
+ },
48
+ "deleteIcon": {
49
+ "type": "JSX.Element",
50
+ "required": false,
51
+ "description": "Delete Icon. Optional. Type: JSX.Element."
52
+ },
53
+ "label": {
54
+ "type": "string",
55
+ "required": true,
56
+ "description": "Visible label text."
57
+ },
58
+ "onClick": {
59
+ "type": "() => void",
60
+ "required": false,
61
+ "description": "Callback fired when the element is clicked."
62
+ },
63
+ "onDeleteMouseDown": {
64
+ "type": "JSX.EventHandlerUnion<HTMLButtonElement, MouseEvent>",
65
+ "required": false,
66
+ "description": "On Delete Mouse Down. Optional. Type: JSX.EventHandlerUnion<HTMLButtonElement, MouseEvent>."
67
+ },
68
+ "disabled": {
69
+ "type": "boolean",
70
+ "required": false,
71
+ "description": "Whether the control is disabled and non-interactive."
72
+ },
73
+ "asLink": {
74
+ "type": "boolean",
75
+ "required": false,
76
+ "description": "As Link. Optional. Type: boolean."
77
+ },
78
+ "href": {
79
+ "type": "string",
80
+ "required": false,
81
+ "description": "Link URL when rendered as an anchor."
82
+ },
83
+ "target": {
84
+ "type": "string",
85
+ "required": false,
86
+ "description": "Open the link in a new tab (asLink only)."
87
+ },
88
+ "selected": {
89
+ "type": "boolean",
90
+ "required": false,
91
+ "description": "Controlled selected tab index or value."
92
+ },
93
+ "deleteAriaLabel": {
94
+ "type": "string",
95
+ "required": false,
96
+ "description": "Accessible label for the delete control."
97
+ },
98
+ "ref": {
99
+ "type": "Ref<HTMLSpanElement | HTMLAnchorElement>",
100
+ "required": false,
101
+ "description": "Ref. Optional. Type: Ref<HTMLSpanElement | HTMLAnchorElement>."
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,85 @@
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
+ ],
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/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\";"
17
+ },
18
+ "props": {
19
+ "class": {
20
+ "type": "string",
21
+ "required": false,
22
+ "description": "Class. Optional. Type: string."
23
+ },
24
+ "header": {
25
+ "type": "JSX.Element",
26
+ "required": false,
27
+ "description": "Header. Optional. Type: JSX.Element."
28
+ },
29
+ "mode": {
30
+ "type": "ExpansionMode",
31
+ "required": false,
32
+ "description": "Display mode such as inline or fullscreen."
33
+ },
34
+ "defaultMode": {
35
+ "type": "ExpansionMode",
36
+ "required": false,
37
+ "description": "Default Mode. Optional. Type: ExpansionMode."
38
+ },
39
+ "onModeChange": {
40
+ "type": "(mode: ExpansionMode) => void",
41
+ "required": false,
42
+ "description": "On Mode Change. Optional. Type: (mode: ExpansionMode) => void."
43
+ },
44
+ "disableExpand": {
45
+ "type": "boolean",
46
+ "required": false,
47
+ "description": "Disable Expand. Optional. Type: boolean."
48
+ },
49
+ "noControls": {
50
+ "type": "boolean",
51
+ "required": false,
52
+ "description": "No Controls. Optional. Type: boolean."
53
+ },
54
+ "renderControls": {
55
+ "type": "ExpansionPanelControls",
56
+ "required": false,
57
+ "description": "Custom render function for expansion panel controls."
58
+ },
59
+ "closeOnOutsideClick": {
60
+ "type": "boolean",
61
+ "required": false,
62
+ "description": "Whether clicking the backdrop closes the modal."
63
+ },
64
+ "closeOnEsc": {
65
+ "type": "boolean",
66
+ "required": false,
67
+ "description": "Whether pressing Escape closes the modal."
68
+ },
69
+ "labels": {
70
+ "type": "ExpansionPanelLabels",
71
+ "required": false,
72
+ "description": "Custom text labels for expansion panel controls."
73
+ },
74
+ "children": {
75
+ "type": "ExpansionPanelChildren",
76
+ "required": false,
77
+ "description": "Child nodes rendered inside the component."
78
+ },
79
+ "ref": {
80
+ "type": "Ref<HTMLDivElement>",
81
+ "required": false,
82
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,57 @@
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
+ "class": {
17
+ "type": "string",
18
+ "required": false,
19
+ "description": "Class. Optional. Type: string."
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 when no visible title is present."
45
+ },
46
+ "id": {
47
+ "type": "string",
48
+ "required": false,
49
+ "description": "Unique identifier for the root element."
50
+ },
51
+ "ref": {
52
+ "type": "Ref<HTMLDivElement>",
53
+ "required": false,
54
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
55
+ }
56
+ }
57
+ }
@@ -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
+ "class": {
19
+ "type": "string",
20
+ "required": false,
21
+ "description": "Class. Optional. Type: string."
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": "JSX.Element",
55
+ "required": false,
56
+ "description": "Item Bar Content. Optional. Type: JSX.Element."
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
+ "JSX.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
+ "dense": {
21
+ "type": "boolean",
22
+ "required": false,
23
+ "description": "Compact vertical rhythm."
24
+ },
25
+ "subheader": {
26
+ "type": "JSX.Element",
27
+ "required": false,
28
+ "description": "Section subheader rendered before the items."
29
+ },
30
+ "ref": {
31
+ "type": "Ref<HTMLUListElement>",
32
+ "required": false,
33
+ "description": "Ref. Optional. Type: Ref<HTMLUListElement>."
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,62 @@
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
+ "class": {
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Class. Optional. Type: string."
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": "JSX.Element",
43
+ "required": false,
44
+ "description": "Start Adornment. Optional. Type: JSX.Element."
45
+ },
46
+ "endAdornment": {
47
+ "type": "JSX.Element",
48
+ "required": false,
49
+ "description": "End Adornment. Optional. Type: JSX.Element."
50
+ },
51
+ "onClick": {
52
+ "type": "JSX.EventHandlerUnion<HTMLLIElement, MouseEvent>",
53
+ "required": false,
54
+ "description": "Callback fired when the element is clicked."
55
+ },
56
+ "ref": {
57
+ "type": "Ref<HTMLLIElement>",
58
+ "required": false,
59
+ "description": "Ref. Optional. Type: Ref<HTMLLIElement>."
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "Table",
3
+ "description": "Table wrapper with optional pagination settings.",
4
+ "extends": [
5
+ "JSX.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
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
18
+ "@smwb/ui-styles/less/components/table/tablePagination/tablePagination.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/table/table.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/table/tablePagination/tablePagination.entry.less\";"
21
+ },
22
+ "props": {
23
+ "dense": {
24
+ "type": "boolean",
25
+ "required": false,
26
+ "description": "Compact layout with reduced spacing."
27
+ },
28
+ "isLoading": {
29
+ "type": "boolean",
30
+ "required": false,
31
+ "description": "Is Loading. Optional. Type: boolean."
32
+ },
33
+ "hovered": {
34
+ "type": "boolean",
35
+ "required": false,
36
+ "description": "Hovered. Optional. Type: boolean."
37
+ },
38
+ "stickyHeader": {
39
+ "type": "boolean",
40
+ "required": false,
41
+ "description": "Pins the table header while the body scrolls."
42
+ },
43
+ "caption": {
44
+ "type": "JSX.Element",
45
+ "required": false,
46
+ "description": "Optional accessible caption rendered for screen readers."
47
+ },
48
+ "paginationSettings": {
49
+ "type": "TablePaginationProps",
50
+ "required": false,
51
+ "description": "Pagination configuration for the table."
52
+ },
53
+ "ref": {
54
+ "type": "Ref<HTMLDivElement>",
55
+ "required": false,
56
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "TableBody",
3
+ "description": "Table body section wrapper.",
4
+ "extends": [
5
+ "JSX.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
+ "ref": {
21
+ "type": "Ref<HTMLTableSectionElement>",
22
+ "required": false,
23
+ "description": "Ref. Optional. Type: Ref<HTMLTableSectionElement>."
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "TableCell",
3
+ "description": "Standard table data cell.",
4
+ "extends": [
5
+ "JSX.TdHTMLAttributes<HTMLTableCellElement>"
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
+ "cellAlign": {
21
+ "type": "\"left\" | \"right\" | \"center\"",
22
+ "required": false,
23
+ "description": "Cell Align. Optional. Type: \"left\" | \"right\" | \"center\"."
24
+ },
25
+ "ref": {
26
+ "type": "Ref<HTMLTableCellElement>",
27
+ "required": false,
28
+ "description": "Ref. Optional. Type: Ref<HTMLTableCellElement>."
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "TableHead",
3
+ "description": "Table head section wrapper.",
4
+ "extends": [
5
+ "JSX.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
+ "ref": {
21
+ "type": "Ref<HTMLTableSectionElement>",
22
+ "required": false,
23
+ "description": "Ref. Optional. Type: Ref<HTMLTableSectionElement>."
24
+ }
25
+ }
26
+ }