@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,131 @@
1
+ {
2
+ "name": "TextField",
3
+ "description": "Text input field with label, adornments, validation, and variants.",
4
+ "extends": [
5
+ "Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"onBlur\" | \"size\"\n>"
6
+ ],
7
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
8
+ "styles": {
9
+ "base": [
10
+ "@smwb/ui-styles/less/foundation.less",
11
+ "@smwb/ui-styles/less/theme.less"
12
+ ],
13
+ "entries": [
14
+ "@smwb/ui-styles/less/components/textField/textField.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/textField/textField.entry.less\";"
18
+ },
19
+ "props": {
20
+ "label": {
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "Visible label text."
24
+ },
25
+ "helperText": {
26
+ "type": "React.ReactNode",
27
+ "required": false,
28
+ "description": "Supplementary hint text displayed below the control."
29
+ },
30
+ "variant": {
31
+ "type": "\"outlined\" | \"filled\"",
32
+ "required": false,
33
+ "description": "Visual style variant."
34
+ },
35
+ "size": {
36
+ "type": "\"small\" | \"medium\" | \"large\"",
37
+ "required": false,
38
+ "description": "Visual size preset."
39
+ },
40
+ "required": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Whether the field value is required."
44
+ },
45
+ "disabled": {
46
+ "type": "boolean",
47
+ "required": false,
48
+ "description": "Whether the control is disabled and non-interactive."
49
+ },
50
+ "value": {
51
+ "type": "string | number",
52
+ "required": false,
53
+ "description": "Controlled value."
54
+ },
55
+ "className": {
56
+ "type": "string",
57
+ "required": false,
58
+ "description": "Additional CSS class name(s) for the root element."
59
+ },
60
+ "placeholder": {
61
+ "type": "string",
62
+ "required": false,
63
+ "description": "Placeholder text shown when empty."
64
+ },
65
+ "defaultValue": {
66
+ "type": "string",
67
+ "required": false,
68
+ "description": "Initial uncontrolled value."
69
+ },
70
+ "error": {
71
+ "type": "boolean",
72
+ "required": false,
73
+ "description": "Whether the control is in an error state."
74
+ },
75
+ "name": {
76
+ "type": "string",
77
+ "required": false,
78
+ "description": "Form field name submitted with the value."
79
+ },
80
+ "type": {
81
+ "type": "string",
82
+ "required": false,
83
+ "description": "HTML or component-specific type."
84
+ },
85
+ "readOnly": {
86
+ "type": "boolean",
87
+ "required": false,
88
+ "description": "Whether the value is read-only."
89
+ },
90
+ "fullWidth": {
91
+ "type": "boolean",
92
+ "required": false,
93
+ "description": "Whether the component spans the full width of its container."
94
+ },
95
+ "onBlur": {
96
+ "type": "(event: React.FocusEvent<HTMLInputElement>, data: TextFieldProps) => void",
97
+ "required": false,
98
+ "description": "Callback fired when the element loses focus."
99
+ },
100
+ "onChange": {
101
+ "type": "(event: React.ChangeEvent<HTMLInputElement>, data: TextFieldProps) => void",
102
+ "required": false,
103
+ "description": "Callback fired when the value changes."
104
+ },
105
+ "startAdornment": {
106
+ "type": "React.ReactNode",
107
+ "required": false,
108
+ "description": "Start Adornment. Optional. Type: React.ReactNode."
109
+ },
110
+ "endAdornment": {
111
+ "type": "React.ReactNode",
112
+ "required": false,
113
+ "description": "End Adornment. Optional. Type: React.ReactNode."
114
+ },
115
+ "id": {
116
+ "type": "string",
117
+ "required": false,
118
+ "description": "Unique identifier for the root element."
119
+ },
120
+ "inline": {
121
+ "type": "boolean",
122
+ "required": false,
123
+ "description": "Inline. Optional. Type: boolean."
124
+ },
125
+ "autoComplete": {
126
+ "type": "string",
127
+ "required": false,
128
+ "description": "Auto Complete. Optional. Type: string."
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "TextFieldAdornment",
3
+ "description": "Start or end adornment slot for a text field.",
4
+ "extends": [
5
+ "Pick<JSX.IntrinsicElements[\"span\"], \"children\" | \"className\">"
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/textField/textField.entry.less"
14
+ ],
15
+ "dependencies": [],
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/textField/textField.entry.less\";"
17
+ },
18
+ "props": {
19
+ "position": {
20
+ "type": "\"start\" | \"end\"",
21
+ "required": false,
22
+ "description": "Position. Optional. Type: \"start\" | \"end\"."
23
+ },
24
+ "disablePointerEvents": {
25
+ "type": "boolean",
26
+ "required": false,
27
+ "description": "Disable Pointer Events. Optional. Type: boolean."
28
+ },
29
+ "variant": {
30
+ "type": "TextFieldProps[\"variant\"]",
31
+ "required": false,
32
+ "description": "Visual style variant."
33
+ },
34
+ "inline": {
35
+ "type": "boolean",
36
+ "required": false,
37
+ "description": "Inline. Optional. Type: boolean."
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "TextFieldWrapper",
3
+ "description": "Layout wrapper around a text field control.",
4
+ "extends": [
5
+ "React.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/textField/textField.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/textField/textField.entry.less\";"
18
+ },
19
+ "props": {
20
+ "label": {
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "Visible label text."
24
+ },
25
+ "helperText": {
26
+ "type": "React.ReactNode",
27
+ "required": false,
28
+ "description": "Supplementary hint text displayed below the control."
29
+ },
30
+ "variant": {
31
+ "type": "\"outlined\" | \"filled\"",
32
+ "required": false,
33
+ "description": "Visual style variant."
34
+ },
35
+ "disabled": {
36
+ "type": "boolean",
37
+ "required": false,
38
+ "description": "Whether the control is disabled and non-interactive."
39
+ },
40
+ "className": {
41
+ "type": "string",
42
+ "required": false,
43
+ "description": "Additional CSS class name(s) for the root element."
44
+ },
45
+ "error": {
46
+ "type": "boolean",
47
+ "required": false,
48
+ "description": "Whether the control is in an error state."
49
+ },
50
+ "fullWidth": {
51
+ "type": "boolean",
52
+ "required": false,
53
+ "description": "Whether the component spans the full width of its container."
54
+ },
55
+ "isFilledState": {
56
+ "type": "boolean",
57
+ "required": false,
58
+ "description": "Is Filled State. Optional. Type: boolean."
59
+ },
60
+ "isFocused": {
61
+ "type": "boolean",
62
+ "required": false,
63
+ "description": "Is Focused. Optional. Type: boolean."
64
+ },
65
+ "children": {
66
+ "type": "React.ReactNode",
67
+ "required": true,
68
+ "description": "Child nodes rendered inside the component."
69
+ },
70
+ "htmlFor": {
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "Html For. Optional. Type: string."
74
+ },
75
+ "shrink": {
76
+ "type": "boolean",
77
+ "required": false,
78
+ "description": "Shrink. Optional. Type: boolean."
79
+ },
80
+ "onHolderMouseDown": {
81
+ "type": "React.MouseEventHandler<HTMLDivElement>",
82
+ "required": false,
83
+ "description": "On Holder Mouse Down. Optional. Type: React.MouseEventHandler<HTMLDivElement>."
84
+ },
85
+ "startAdornment": {
86
+ "type": "React.ReactNode",
87
+ "required": false,
88
+ "description": "Start Adornment. Optional. Type: React.ReactNode."
89
+ },
90
+ "endAdornment": {
91
+ "type": "React.ReactNode",
92
+ "required": false,
93
+ "description": "End Adornment. Optional. Type: React.ReactNode."
94
+ },
95
+ "inline": {
96
+ "type": "boolean",
97
+ "required": false,
98
+ "description": "Inline. Optional. Type: boolean."
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "TimePicker",
3
+ "description": "Time selection input with column or list popup.",
4
+ "extends": [
5
+ "Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\">"
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/timePicker/timePicker.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
+ "@smwb/ui-styles/less/components/textField/textField.entry.less"
20
+ ],
21
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/timePicker/timePicker.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";"
22
+ },
23
+ "props": {
24
+ "format": {
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "Time format pattern with tokens HH, mm, ss, e.g. \"HH:mm\" or \"HH:mm:ss\"."
28
+ },
29
+ "placement": {
30
+ "type": "Placement",
31
+ "required": false,
32
+ "description": "Preferred floating placement relative to the anchor."
33
+ },
34
+ "disableClock": {
35
+ "type": "boolean",
36
+ "required": false,
37
+ "description": "Disable Clock. Optional. Type: boolean."
38
+ },
39
+ "label": {
40
+ "type": "string",
41
+ "required": false,
42
+ "description": "Visible label text."
43
+ },
44
+ "clockAriaLabel": {
45
+ "type": "string",
46
+ "required": false,
47
+ "description": "Clock Aria Label. Optional. Type: string."
48
+ },
49
+ "autoComplete": {
50
+ "type": "string",
51
+ "required": false,
52
+ "description": "Auto Complete. Optional. Type: string."
53
+ },
54
+ "value": {
55
+ "type": "Date | string",
56
+ "required": false,
57
+ "description": "Controlled value."
58
+ },
59
+ "clockIcon": {
60
+ "type": "React.ReactNode",
61
+ "required": false,
62
+ "description": "Clock Icon. Optional. Type: React.ReactNode."
63
+ },
64
+ "onChange": {
65
+ "type": "(event?: React.ChangeEvent<HTMLInputElement>, value?: Date, data?: TimePickerProps) => void",
66
+ "required": false,
67
+ "description": "Callback fired when the value changes."
68
+ },
69
+ "onBlur": {
70
+ "type": "(event?: React.FocusEvent<HTMLInputElement>, value?: Date, data?: TimePickerProps) => void",
71
+ "required": false,
72
+ "description": "Callback fired when the element loses focus."
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "TimePickerColumns",
3
+ "description": "Hour, minute, and second columns for time selection.",
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/timePicker/timePicker.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/timePicker/timePicker.entry.less\";"
14
+ },
15
+ "props": {
16
+ "value": {
17
+ "type": "Date",
18
+ "required": false,
19
+ "description": "Controlled value."
20
+ },
21
+ "format": {
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Format. Optional. Type: string."
25
+ },
26
+ "onChange": {
27
+ "type": "(value: Date) => void",
28
+ "required": true,
29
+ "description": "Callback fired when the value changes."
30
+ },
31
+ "onComplete": {
32
+ "type": "() => void",
33
+ "required": false,
34
+ "description": "On Complete. Optional. Type: () => void."
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "TimePickerInput",
3
+ "description": "Internal time picker input field and toggle control.",
4
+ "extends": [
5
+ "Omit<\n TimePickerProps,\n \"placement\" | \"disablePast\" | \"disableFuture\" | \"weekStartsOn\" | \"locale\" | \"showDaysOutsideMonth\"\n>"
6
+ ],
7
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
8
+ "styles": {
9
+ "base": [
10
+ "@smwb/ui-styles/less/foundation.less",
11
+ "@smwb/ui-styles/less/theme.less"
12
+ ],
13
+ "entries": [
14
+ "@smwb/ui-styles/less/components/timePicker/timePicker.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
+ "@smwb/ui-styles/less/components/textField/textField.entry.less"
20
+ ],
21
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/timePicker/timePicker.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/ripple/ripple.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";"
22
+ },
23
+ "props": {
24
+ "onToggle": {
25
+ "type": "() => void",
26
+ "required": true,
27
+ "description": "Callback fired when expand/collapse toggles."
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "TimePickerList",
3
+ "description": "Scrollable time option 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/timePicker/timePicker.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/timePicker/timePicker.entry.less\";"
14
+ },
15
+ "props": {
16
+ "value": {
17
+ "type": "number",
18
+ "required": true,
19
+ "description": "Controlled value."
20
+ },
21
+ "items": {
22
+ "type": "Item[]",
23
+ "required": true,
24
+ "description": "Breadcrumb or navigation items."
25
+ },
26
+ "onChange": {
27
+ "type": "(value: number) => void",
28
+ "required": true,
29
+ "description": "Callback fired when the value changes."
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "Toggle",
3
+ "description": "On/off switch control.",
4
+ "extends": [
5
+ "Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"size\">"
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/toggle/toggle.entry.less"
15
+ ],
16
+ "dependencies": [
17
+ "@smwb/ui-styles/less/components/checkbox/checkbox.entry.less",
18
+ "@smwb/ui-styles/less/components/icon/icon.entry.less",
19
+ "@smwb/ui-styles/less/components/textField/textField.entry.less"
20
+ ],
21
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/toggle/toggle.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/checkbox/checkbox.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/textField/textField.entry.less\";"
22
+ },
23
+ "props": {
24
+ "disabled": {
25
+ "type": "boolean",
26
+ "required": false,
27
+ "description": "Whether the control is disabled and non-interactive."
28
+ },
29
+ "readOnly": {
30
+ "type": "boolean",
31
+ "required": false,
32
+ "description": "Whether the value is read-only."
33
+ },
34
+ "required": {
35
+ "type": "boolean",
36
+ "required": false,
37
+ "description": "Whether the field value is required."
38
+ },
39
+ "checked": {
40
+ "type": "boolean",
41
+ "required": false,
42
+ "description": "Controlled checked state."
43
+ },
44
+ "className": {
45
+ "type": "string",
46
+ "required": false,
47
+ "description": "Additional CSS class name(s) for the root element."
48
+ },
49
+ "id": {
50
+ "type": "string",
51
+ "required": false,
52
+ "description": "Unique identifier for the root element."
53
+ },
54
+ "label": {
55
+ "type": "string",
56
+ "required": false,
57
+ "description": "Visible label text."
58
+ },
59
+ "labelPlacement": {
60
+ "type": "\"top\" | \"left\" | \"right\"",
61
+ "required": false,
62
+ "description": "Label Placement. Optional. Type: \"top\" | \"left\" | \"right\"."
63
+ },
64
+ "size": {
65
+ "type": "SelectionControlSize",
66
+ "required": false,
67
+ "description": "Visual size preset."
68
+ },
69
+ "color": {
70
+ "type": "SelectionControlColor",
71
+ "required": false,
72
+ "description": "Semantic color token."
73
+ },
74
+ "onChange": {
75
+ "type": "(event: React.ChangeEvent<HTMLInputElement>, checked: boolean, data: ToggleProps) => void",
76
+ "required": false,
77
+ "description": "Unified handler: `(event, checked, data)`."
78
+ },
79
+ "helperText": {
80
+ "type": "React.ReactNode",
81
+ "required": false,
82
+ "description": "Supplementary hint text displayed below the control."
83
+ },
84
+ "error": {
85
+ "type": "boolean",
86
+ "required": false,
87
+ "description": "Whether the control is in an error state."
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "AppLayout",
3
+ "description": "Application shell layout with sidebar and content regions.",
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/appLayout/appLayout.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/appLayout/appLayout.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/icon/icon.entry.less\";"
20
+ },
21
+ "props": {
22
+ "header": {
23
+ "type": "ReactNode",
24
+ "required": false,
25
+ "description": "Top bar slot (e.g. <AppBar />). Spans full width."
26
+ },
27
+ "sidebar": {
28
+ "type": "ReactNode",
29
+ "required": false,
30
+ "description": "Side navigation slot (e.g. <Sidebar />)."
31
+ },
32
+ "footer": {
33
+ "type": "ReactNode",
34
+ "required": false,
35
+ "description": "Footer slot, below the content."
36
+ },
37
+ "sidebarWidth": {
38
+ "type": "number | string",
39
+ "required": false,
40
+ "description": "Sidebar width (px or any CSS length)."
41
+ },
42
+ "sidebarCollapsed": {
43
+ "type": "boolean",
44
+ "required": false,
45
+ "description": "Controlled collapsed state of the sidebar rail."
46
+ },
47
+ "defaultSidebarCollapsed": {
48
+ "type": "boolean",
49
+ "required": false,
50
+ "description": "Initial collapsed state (uncontrolled)."
51
+ },
52
+ "onSidebarCollapsedChange": {
53
+ "type": "(collapsed: boolean) => void",
54
+ "required": false,
55
+ "description": "Called whenever the collapsed state changes."
56
+ },
57
+ "collapsible": {
58
+ "type": "boolean",
59
+ "required": false,
60
+ "description": "Renders a built-in toggle button to collapse/expand the sidebar."
61
+ },
62
+ "collapseToggle": {
63
+ "type": "ReactNode",
64
+ "required": false,
65
+ "description": "Custom toggle node replacing the default icon button."
66
+ },
67
+ "collapseToggleAriaLabel": {
68
+ "type": "string",
69
+ "required": false,
70
+ "description": "Accessible label for the default toggle button."
71
+ },
72
+ "sidebarCollapsedWidth": {
73
+ "type": "number | string",
74
+ "required": false,
75
+ "description": "Sidebar collapsed width."
76
+ },
77
+ "stickyHeader": {
78
+ "type": "boolean",
79
+ "required": false,
80
+ "description": "Keep the header pinned while content scrolls."
81
+ },
82
+ "className": {
83
+ "type": "string",
84
+ "required": false,
85
+ "description": "Additional CSS class name(s) for the root element."
86
+ }
87
+ }
88
+ }