@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,58 @@
1
+ {
2
+ "name": "TableHeadCell",
3
+ "description": "Table header cell with optional sorting affordance.",
4
+ "extends": [
5
+ "JSX.ThHTMLAttributes<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
+ "@smwb/ui-styles/less/components/icon/icon.entry.less"
18
+ ],
19
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/table/table.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
20
+ },
21
+ "props": {
22
+ "cellAlign": {
23
+ "type": "\"left\" | \"right\" | \"center\"",
24
+ "required": false,
25
+ "description": "Cell Align. Optional. Type: \"left\" | \"right\" | \"center\"."
26
+ },
27
+ "isSortedByDesc": {
28
+ "type": "boolean",
29
+ "required": false,
30
+ "description": "Is Sorted By Desc. Optional. Type: boolean."
31
+ },
32
+ "isSortedByAsc": {
33
+ "type": "boolean",
34
+ "required": false,
35
+ "description": "Is Sorted By Asc. Optional. Type: boolean."
36
+ },
37
+ "sortable": {
38
+ "type": "boolean",
39
+ "required": false,
40
+ "description": "Enables the interactive sort affordance with keyboard/aria support."
41
+ },
42
+ "sortDirection": {
43
+ "type": "SortDirection",
44
+ "required": false,
45
+ "description": "Current sort direction for this column."
46
+ },
47
+ "onSort": {
48
+ "type": "() => void",
49
+ "required": false,
50
+ "description": "Invoked when the user activates the sort control."
51
+ },
52
+ "ref": {
53
+ "type": "Ref<HTMLTableCellElement>",
54
+ "required": false,
55
+ "description": "Ref. Optional. Type: Ref<HTMLTableCellElement>."
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "BaseTablePagination",
3
+ "description": "Base Table Pagination component from the dataDisplay module.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/table/tablePagination/tablePagination.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/table/tablePagination/tablePagination.entry.less\";"
14
+ },
15
+ "props": {
16
+ "page": {
17
+ "type": "number",
18
+ "required": true,
19
+ "description": "Current page number."
20
+ },
21
+ "limit": {
22
+ "type": "number",
23
+ "required": true,
24
+ "description": "Limit. Required. Type: number."
25
+ },
26
+ "onPrev": {
27
+ "type": "() => void",
28
+ "required": false,
29
+ "description": "On Prev. Optional. Type: () => void."
30
+ },
31
+ "onNext": {
32
+ "type": "() => void",
33
+ "required": false,
34
+ "description": "On Next. Optional. Type: () => void."
35
+ },
36
+ "limitOptions": {
37
+ "type": "number[]",
38
+ "required": false,
39
+ "description": "Limit Options. Optional. Type: number[]."
40
+ },
41
+ "onLimitChange": {
42
+ "type": "(limit: number) => void",
43
+ "required": false,
44
+ "description": "On Limit Change. Optional. Type: (limit: number) => void."
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "TablePagination",
3
+ "description": "Pagination controls for tabular data.",
4
+ "extends": [
5
+ "WithTotalCount | WithHasNextPage"
6
+ ],
7
+ "styles": {
8
+ "base": [
9
+ "@smwb/ui-styles/less/foundation.less",
10
+ "@smwb/ui-styles/less/theme.less"
11
+ ],
12
+ "entries": [
13
+ "@smwb/ui-styles/less/components/table/tablePagination/tablePagination.entry.less"
14
+ ],
15
+ "dependencies": [
16
+ "@smwb/ui-styles/less/components/icon/icon.entry.less"
17
+ ],
18
+ "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/tablePagination/tablePagination.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
19
+ },
20
+ "props": {}
21
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "TableRow",
3
+ "description": "Table row wrapper.",
4
+ "extends": [
5
+ "JSX.HTMLAttributes<HTMLTableRowElement>"
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
+ "selected": {
21
+ "type": "boolean",
22
+ "required": false,
23
+ "description": "Marks the row as selected (adds aria-selected + styling)."
24
+ },
25
+ "expanded": {
26
+ "type": "boolean",
27
+ "required": false,
28
+ "description": "Reflects expandable-row state (adds aria-expanded + styling)."
29
+ },
30
+ "ref": {
31
+ "type": "Ref<HTMLTableRowElement>",
32
+ "required": false,
33
+ "description": "Ref. Optional. Type: Ref<HTMLTableRowElement>."
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "TreeView",
3
+ "description": "Hierarchical tree with expand, collapse, and selection.",
4
+ "extends": [
5
+ "Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\">"
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/treeView/treeView.entry.less"
15
+ ],
16
+ "dependencies": [
17
+ "@smwb/ui-styles/less/components/icon/icon.entry.less"
18
+ ],
19
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/treeView/treeView.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
20
+ },
21
+ "props": {
22
+ "nodeIcon": {
23
+ "type": "{ opened?: string; closed?: string }",
24
+ "required": false,
25
+ "description": "Node Icon. Optional. Type: { opened?: string; closed?: string }."
26
+ },
27
+ "listIcon": {
28
+ "type": "string",
29
+ "required": false,
30
+ "description": "List Icon. Optional. Type: string."
31
+ },
32
+ "data": {
33
+ "type": "ITreeNodeItem[]",
34
+ "required": true,
35
+ "description": "Row data rendered by the table."
36
+ },
37
+ "expanded": {
38
+ "type": "string[]",
39
+ "required": false,
40
+ "description": "Expanded. Optional. Type: string[]."
41
+ },
42
+ "defaultExpanded": {
43
+ "type": "string[]",
44
+ "required": false,
45
+ "description": "Initially expanded node ids."
46
+ },
47
+ "onExpandedChange": {
48
+ "type": "(expanded: string[]) => void",
49
+ "required": false,
50
+ "description": "On Expanded Change. Optional. Type: (expanded: string[]) => void."
51
+ },
52
+ "selected": {
53
+ "type": "string[]",
54
+ "required": false,
55
+ "description": "Controlled selected tab index or value."
56
+ },
57
+ "defaultSelected": {
58
+ "type": "string[]",
59
+ "required": false,
60
+ "description": "Initially selected node ids."
61
+ },
62
+ "onSelectedChange": {
63
+ "type": "(selected: string[]) => void",
64
+ "required": false,
65
+ "description": "On Selected Change. Optional. Type: (selected: string[]) => void."
66
+ },
67
+ "selectable": {
68
+ "type": "boolean",
69
+ "required": false,
70
+ "description": "Selectable. Optional. Type: boolean."
71
+ },
72
+ "checkboxes": {
73
+ "type": "boolean",
74
+ "required": false,
75
+ "description": "Checkboxes. Optional. Type: boolean."
76
+ },
77
+ "renderLabel": {
78
+ "type": "(item: ITreeNodeItem, nodeId: string) => JSX.Element",
79
+ "required": false,
80
+ "description": "Render Label. Optional. Type: (item: ITreeNodeItem, nodeId: string) => JSX.Element."
81
+ },
82
+ "loadChildren": {
83
+ "type": "(item: ITreeNodeItem, nodeId: string) => Promise<ITreeNodeItem[]>",
84
+ "required": false,
85
+ "description": "Load Children. Optional. Type: (item: ITreeNodeItem, nodeId: string) => Promise<ITreeNodeItem[]>."
86
+ },
87
+ "ref": {
88
+ "type": "Ref<HTMLDivElement>",
89
+ "required": false,
90
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "Typography",
3
+ "description": "Text renderer mapped to semantic HTML tags and design tokens.",
4
+ "extends": [
5
+ "JSX.HTMLAttributes<HTMLElement>"
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/typography/typography.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/typography/typography.entry.less\";"
18
+ },
19
+ "props": {
20
+ "variant": {
21
+ "type": "TypographyVariant",
22
+ "required": false,
23
+ "description": "Visual style variant."
24
+ },
25
+ "color": {
26
+ "type": "TypographyColor",
27
+ "required": false,
28
+ "description": "Semantic color token."
29
+ },
30
+ "align": {
31
+ "type": "\"left\" | \"center\" | \"right\" | \"justify\"",
32
+ "required": false,
33
+ "description": "Horizontal alignment of the message bubble."
34
+ },
35
+ "gutterBottom": {
36
+ "type": "boolean",
37
+ "required": false,
38
+ "description": "Add a bottom margin (block rhythm)."
39
+ },
40
+ "noWrap": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Truncate with an ellipsis on a single line."
44
+ },
45
+ "component": {
46
+ "type": "string",
47
+ "required": false,
48
+ "description": "Render as a different element."
49
+ },
50
+ "ref": {
51
+ "type": "Ref<HTMLElement>",
52
+ "required": false,
53
+ "description": "Ref. Optional. Type: Ref<HTMLElement>."
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "Message",
3
+ "description": "Inline feedback message with severity styling and optional dismiss action.",
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/message/message.entry.less"
15
+ ],
16
+ "dependencies": [
17
+ "@smwb/ui-styles/less/components/icon/icon.entry.less"
18
+ ],
19
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/message/message.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
20
+ },
21
+ "props": {
22
+ "variant": {
23
+ "type": "\"outlined\" | \"filled\" | \"left-accent\"",
24
+ "required": false,
25
+ "description": "Visual style variant."
26
+ },
27
+ "onClose": {
28
+ "type": "() => void",
29
+ "required": false,
30
+ "description": "Callback fired when the user dismisses the component."
31
+ },
32
+ "type": {
33
+ "type": "MessageSeverity",
34
+ "required": false,
35
+ "description": "HTML or component-specific type."
36
+ },
37
+ "severity": {
38
+ "type": "MessageSeverity",
39
+ "required": false,
40
+ "description": "Semantic severity of the message."
41
+ },
42
+ "closeAriaLabel": {
43
+ "type": "string",
44
+ "required": false,
45
+ "description": "Accessible label for the close button."
46
+ },
47
+ "ref": {
48
+ "type": "Ref<HTMLDivElement>",
49
+ "required": false,
50
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "Modal",
3
+ "description": "Dialog overlay with focus trap and composable header, content, and footer.",
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/modal/modal.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/modal/modal.entry.less\";"
14
+ },
15
+ "props": {
16
+ "size": {
17
+ "type": "\"small\" | \"medium\" | \"large\" | \"fullscreen\"",
18
+ "required": false,
19
+ "description": "Visual size preset."
20
+ },
21
+ "closeOnOutsideClick": {
22
+ "type": "boolean",
23
+ "required": false,
24
+ "description": "Whether clicking the backdrop closes the modal."
25
+ },
26
+ "onClose": {
27
+ "type": "() => void",
28
+ "required": false,
29
+ "description": "Callback fired when the user dismisses the component."
30
+ },
31
+ "open": {
32
+ "type": "boolean",
33
+ "required": true,
34
+ "description": "Controlled open/visible state."
35
+ },
36
+ "animation": {
37
+ "type": "\"fade\" | \"scale\" | \"drop\"",
38
+ "required": false,
39
+ "description": "Animation preset applied to the component."
40
+ },
41
+ "class": {
42
+ "type": "string",
43
+ "required": false,
44
+ "description": "Class. Optional. Type: string."
45
+ },
46
+ "backdrop": {
47
+ "type": "\"blured\" | \"dark\" | \"transparent\" | \"darkBlured\"",
48
+ "required": false,
49
+ "description": "Backdrop appearance preset for the modal overlay."
50
+ },
51
+ "asForm": {
52
+ "type": "boolean",
53
+ "required": false,
54
+ "description": "Whether the modal content is rendered as a form element."
55
+ },
56
+ "disableAppearAnimation": {
57
+ "type": "boolean",
58
+ "required": false,
59
+ "description": "Whether the modal open animation is disabled."
60
+ },
61
+ "role": {
62
+ "type": "\"dialog\" | \"alertdialog\"",
63
+ "required": false,
64
+ "description": "ARIA role of the dialog."
65
+ },
66
+ "closeOnEsc": {
67
+ "type": "boolean",
68
+ "required": false,
69
+ "description": "Close the modal when Escape is pressed."
70
+ },
71
+ "aria-label": {
72
+ "type": "string",
73
+ "required": false,
74
+ "description": "Accessible label when no visible title is present."
75
+ },
76
+ "aria-labelledby": {
77
+ "type": "string",
78
+ "required": false,
79
+ "description": "ID of the element that labels the dialog."
80
+ },
81
+ "aria-describedby": {
82
+ "type": "string",
83
+ "required": false,
84
+ "description": "ID of the element that describes the dialog."
85
+ },
86
+ "ref": {
87
+ "type": "Ref<HTMLDivElement>",
88
+ "required": false,
89
+ "description": "Ref. Optional. Type: Ref<HTMLDivElement>."
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "ModalSlot",
3
+ "description": "Modal Slot component from the feedBack module.",
4
+ "styles": {
5
+ "base": [
6
+ "@smwb/ui-styles/less/foundation.less",
7
+ "@smwb/ui-styles/less/theme.less"
8
+ ],
9
+ "entries": [
10
+ "@smwb/ui-styles/less/components/modal/modal.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/modal/modal.entry.less\";"
14
+ },
15
+ "props": {
16
+ "class": {
17
+ "type": "string",
18
+ "required": false,
19
+ "description": "Class. Optional. Type: string."
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "CircularProgress",
3
+ "description": "Circular indeterminate or determinate progress indicator.",
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/progressIndicator/progressIndicator.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/progressIndicator/progressIndicator.entry.less\";"
14
+ },
15
+ "props": {
16
+ "progressValue": {
17
+ "type": "number",
18
+ "required": false,
19
+ "description": "Progress Value. Optional. Type: number."
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "ProgressIndicator",
3
+ "description": "Linear or circular progress indicator.",
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/progressIndicator/progressIndicator.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/progressIndicator/progressIndicator.entry.less\";"
14
+ },
15
+ "props": {
16
+ "class": {
17
+ "type": "string",
18
+ "required": false,
19
+ "description": "Class. Optional. Type: string."
20
+ },
21
+ "variant": {
22
+ "type": "\"circular\" | \"linear\"",
23
+ "required": true,
24
+ "description": "Visual style variant."
25
+ },
26
+ "type": {
27
+ "type": "\"determinate\" | \"indeterminate\"",
28
+ "required": true,
29
+ "description": "HTML or component-specific type."
30
+ },
31
+ "progressValue": {
32
+ "type": "number",
33
+ "required": false,
34
+ "description": "Progress Value. Optional. Type: number."
35
+ },
36
+ "color": {
37
+ "type": "ProgressColor",
38
+ "required": false,
39
+ "description": "Semantic color."
40
+ },
41
+ "size": {
42
+ "type": "\"small\" | \"medium\" | \"large\"",
43
+ "required": false,
44
+ "description": "Circular size preset."
45
+ },
46
+ "aria-label": {
47
+ "type": "string",
48
+ "required": false,
49
+ "description": "Accessible name for the progress bar."
50
+ },
51
+ "id": {
52
+ "type": "string",
53
+ "required": false,
54
+ "description": "Unique identifier for the root element."
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "Skeleton",
3
+ "description": "Loading placeholder with pulse or wave animation.",
4
+ "extends": [
5
+ "JSX.HTMLAttributes<HTMLElement>"
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/skeleton/skeleton.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/skeleton/skeleton.entry.less\";"
18
+ },
19
+ "props": {
20
+ "variant": {
21
+ "type": "\"text\" | \"circular\" | \"rounded\" | \"rectangular\"",
22
+ "required": false,
23
+ "description": "Shape of the placeholder."
24
+ },
25
+ "width": {
26
+ "type": "number | string",
27
+ "required": false,
28
+ "description": "Width — number (px) or any CSS length."
29
+ },
30
+ "height": {
31
+ "type": "number | string",
32
+ "required": false,
33
+ "description": "Height — number (px) or any CSS length."
34
+ },
35
+ "animation": {
36
+ "type": "\"pulse\" | \"wave\" | false",
37
+ "required": false,
38
+ "description": "Shimmer animation; pass false to disable."
39
+ },
40
+ "count": {
41
+ "type": "number",
42
+ "required": false,
43
+ "description": "Render N stacked placeholders."
44
+ },
45
+ "animationDelay": {
46
+ "type": "number",
47
+ "required": false,
48
+ "description": "Stagger consecutive items by N ms (with `count`)."
49
+ },
50
+ "component": {
51
+ "type": "\"span\" | \"div\"",
52
+ "required": false,
53
+ "description": "Root element."
54
+ },
55
+ "ref": {
56
+ "type": "Ref<HTMLElement>",
57
+ "required": false,
58
+ "description": "Ref. Optional. Type: Ref<HTMLElement>."
59
+ }
60
+ }
61
+ }