@smwb/ui-mcp-react 2.1.3 → 2.3.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 (130) hide show
  1. package/README.md +13 -1
  2. package/component-meta/base/icon/icon.json +4 -0
  3. package/component-meta/base/ripple/ripple.json +4 -0
  4. package/component-meta/clickAwayListener/clickAwayListener.json +4 -0
  5. package/component-meta/connects/rt/table/draggableHeader.draggableColumnHeader.json +4 -0
  6. package/component-meta/connects/rt/table/draggableHeader.draggableColumnHeaderWrapper.json +4 -0
  7. package/component-meta/connects/rt/table/headerCellRenderer.json +4 -0
  8. package/component-meta/connects/rt/table/table.json +4 -0
  9. package/component-meta/dataDisplay/accordion/accordion.json +4 -0
  10. package/component-meta/dataDisplay/assetGrid/assetGrid.json +77 -0
  11. package/component-meta/dataDisplay/avatar/avatar.avatarGroup.json +4 -0
  12. package/component-meta/dataDisplay/avatar/avatar.json +4 -0
  13. package/component-meta/dataDisplay/badge/badge.json +4 -0
  14. package/component-meta/dataDisplay/card/card.json +4 -0
  15. package/component-meta/dataDisplay/carousel/carousel.json +5 -0
  16. package/component-meta/dataDisplay/chat/chat.json +4 -0
  17. package/component-meta/dataDisplay/chat/chatAttachmentImage.json +5 -0
  18. package/component-meta/dataDisplay/chat/chatAttachments.json +4 -0
  19. package/component-meta/dataDisplay/chat/chatComposer.json +4 -0
  20. package/component-meta/dataDisplay/chat/chatHeader.json +4 -0
  21. package/component-meta/dataDisplay/chat/chatIconButton.json +4 -0
  22. package/component-meta/dataDisplay/chat/chatLayout.chatLayoutChat.json +4 -0
  23. package/component-meta/dataDisplay/chat/chatLayout.json +4 -0
  24. package/component-meta/dataDisplay/chat/chatMessageAvatar.json +4 -0
  25. package/component-meta/dataDisplay/chat/chatMessageBubble.json +4 -0
  26. package/component-meta/dataDisplay/chat/chatMessageIncoming.json +4 -0
  27. package/component-meta/dataDisplay/chat/chatMessageItem.json +4 -0
  28. package/component-meta/dataDisplay/chat/chatMessageOutgoing.json +4 -0
  29. package/component-meta/dataDisplay/chat/chatMessageSkeleton.json +4 -0
  30. package/component-meta/dataDisplay/chat/chatMessageStatus.json +4 -0
  31. package/component-meta/dataDisplay/chat/chatMessageSystem.json +4 -0
  32. package/component-meta/dataDisplay/chat/chatMessages.json +4 -0
  33. package/component-meta/dataDisplay/chat/chatOverlayLayout.chatOverlayLayoutChat.json +4 -0
  34. package/component-meta/dataDisplay/chat/chatOverlayLayout.json +4 -0
  35. package/component-meta/dataDisplay/chat/chatShell.json +5 -0
  36. package/component-meta/dataDisplay/chip/chip.json +4 -0
  37. package/component-meta/dataDisplay/chipGroup/chipGroup.json +62 -0
  38. package/component-meta/dataDisplay/expansionPanel/expansionPanel.json +5 -0
  39. package/component-meta/dataDisplay/imagesList/imagesList.json +4 -0
  40. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItem.json +5 -0
  41. package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItemModal.json +5 -0
  42. package/component-meta/dataDisplay/lazyImage/lazyImage.json +56 -0
  43. package/component-meta/dataDisplay/list/list.json +4 -0
  44. package/component-meta/dataDisplay/list/listItem.json +4 -0
  45. package/component-meta/dataDisplay/table/table.json +4 -0
  46. package/component-meta/dataDisplay/table/tableBody.json +4 -0
  47. package/component-meta/dataDisplay/table/tableCell.json +4 -0
  48. package/component-meta/dataDisplay/table/tableHead.json +4 -0
  49. package/component-meta/dataDisplay/table/tableHeadCell.json +4 -0
  50. package/component-meta/dataDisplay/table/tablePagination/tablePagination.baseTablePagination.json +4 -0
  51. package/component-meta/dataDisplay/table/tablePagination/tablePagination.json +4 -0
  52. package/component-meta/dataDisplay/table/tableRow.json +4 -0
  53. package/component-meta/dataDisplay/thumbCard/thumbCard.json +83 -0
  54. package/component-meta/dataDisplay/treeView/treeView.json +4 -0
  55. package/component-meta/dataDisplay/typography/typography.json +4 -0
  56. package/component-meta/feedBack/message/message.json +4 -0
  57. package/component-meta/feedBack/modal/modal.content.json +4 -0
  58. package/component-meta/feedBack/modal/modal.footer.json +4 -0
  59. package/component-meta/feedBack/modal/modal.header.json +4 -0
  60. package/component-meta/feedBack/modal/modal.json +5 -0
  61. package/component-meta/feedBack/progressIndicator/progressIndicator.circularProgress.json +4 -0
  62. package/component-meta/feedBack/progressIndicator/progressIndicator.json +4 -0
  63. package/component-meta/feedBack/saveAssetDialog/saveAssetDialog.json +101 -0
  64. package/component-meta/feedBack/skeleton/skeleton.json +4 -0
  65. package/component-meta/feedBack/snackbar/snackbar.json +5 -0
  66. package/component-meta/feedBack/snackbar/snackbar.snackbarsProvider.json +4 -0
  67. package/component-meta/feedBack/tooltip/tooltip.json +5 -0
  68. package/component-meta/inputs/button/button.json +4 -0
  69. package/component-meta/inputs/buttonGroups/buttonGroup.json +4 -0
  70. package/component-meta/inputs/checkbox/checkbox.json +4 -0
  71. package/component-meta/inputs/datePicker/dataPickerDays.json +4 -0
  72. package/component-meta/inputs/datePicker/dataPickerHeader.json +4 -0
  73. package/component-meta/inputs/datePicker/dataPickerInput.json +4 -0
  74. package/component-meta/inputs/datePicker/datePicker.json +5 -0
  75. package/component-meta/inputs/datePicker/datePickerIconButton.json +4 -0
  76. package/component-meta/inputs/datePicker/datePickerList.json +4 -0
  77. package/component-meta/inputs/dateTimePicker/dateTimePicker.json +5 -0
  78. package/component-meta/inputs/dateTimePicker/dateTimePickerInput.json +4 -0
  79. package/component-meta/inputs/fileDrop/countPreview.json +4 -0
  80. package/component-meta/inputs/fileDrop/fileDrop.json +4 -0
  81. package/component-meta/inputs/fileDrop/preview.json +4 -0
  82. package/component-meta/inputs/fileDrop/previewWrapper.json +4 -0
  83. package/component-meta/inputs/fileInput/fileInput.json +4 -0
  84. package/component-meta/inputs/floatingButton/floatingButton.json +4 -0
  85. package/component-meta/inputs/radioButton/radioButton.json +4 -0
  86. package/component-meta/inputs/rating/rating.json +4 -0
  87. package/component-meta/inputs/selectField/dropdownMenu.json +4 -0
  88. package/component-meta/inputs/selectField/selectField.json +5 -0
  89. package/component-meta/inputs/slider/slider.json +4 -0
  90. package/component-meta/inputs/textField/textField.json +4 -0
  91. package/component-meta/inputs/textField/textFieldAdornment.json +4 -0
  92. package/component-meta/inputs/textField/textFieldWrapper.json +4 -0
  93. package/component-meta/inputs/timePicker/timePicker.json +5 -0
  94. package/component-meta/inputs/timePicker/timePickerColumns.json +4 -0
  95. package/component-meta/inputs/timePicker/timePickerInput.json +4 -0
  96. package/component-meta/inputs/timePicker/timePickerList.json +4 -0
  97. package/component-meta/inputs/toggle/toggle.json +4 -0
  98. package/component-meta/inputs/valueSlider/valueSlider.json +151 -0
  99. package/component-meta/layout/appLayout/appLayout.json +4 -0
  100. package/component-meta/layout/divider/divider.json +4 -0
  101. package/component-meta/layout/grid/grid.column.json +4 -0
  102. package/component-meta/layout/grid/grid.container.json +4 -0
  103. package/component-meta/layout/grid/grid.row.json +4 -0
  104. package/component-meta/layout/page/page.json +4 -0
  105. package/component-meta/layout/pageHeader/pageHeader.json +4 -0
  106. package/component-meta/layout/screenDivider/screenDivider.json +4 -0
  107. package/component-meta/layout/sheet/sheet.json +5 -0
  108. package/component-meta/layout/stack/stack.json +4 -0
  109. package/component-meta/navigation/appBar/appBar.json +4 -0
  110. package/component-meta/navigation/bottomBar/bottomBar.bottomBarMenuItem.json +4 -0
  111. package/component-meta/navigation/bottomBar/bottomBar.json +4 -0
  112. package/component-meta/navigation/breadcrumbs/breadcrumbs.json +4 -0
  113. package/component-meta/navigation/menu/menu.json +5 -0
  114. package/component-meta/navigation/menu/menuDivider.json +4 -0
  115. package/component-meta/navigation/menu/menuFloating.json +5 -0
  116. package/component-meta/navigation/menu/menuItem.json +4 -0
  117. package/component-meta/navigation/menu/menuItemIcon.json +4 -0
  118. package/component-meta/navigation/menu/menuItemText.json +4 -0
  119. package/component-meta/navigation/menu/menuList.json +4 -0
  120. package/component-meta/navigation/menu/menuSubmenu.json +4 -0
  121. package/component-meta/navigation/overflowMenu/overflowMenu.json +56 -0
  122. package/component-meta/navigation/pagination/pagination.json +4 -0
  123. package/component-meta/navigation/sidebar/sidebar.json +4 -0
  124. package/component-meta/navigation/sidebar/sidebar.menuItem.json +4 -0
  125. package/component-meta/navigation/stepper/stepper.json +4 -0
  126. package/component-meta/navigation/tabs/tab/tab.json +4 -0
  127. package/component-meta/navigation/tabs/tabs.json +4 -0
  128. package/componentMeta.mjs +4 -0
  129. package/package.json +3 -3
  130. package/server.mjs +3 -3
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "LazyImage",
3
+ "description": "Image with a built-in onError fallback and optional in-viewport lazy loading.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "Renders the image markup on the server; the IntersectionObserver lazy-load runs on the client."
8
+ },
9
+ "extends": [
10
+ "Omit<React.ImgHTMLAttributes<HTMLImageElement>, \"onError\">"
11
+ ],
12
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
13
+ "styles": {
14
+ "base": [
15
+ "@smwb/ui-styles/less/foundation.less",
16
+ "@smwb/ui-styles/less/theme.less"
17
+ ],
18
+ "entries": [
19
+ "@smwb/ui-styles/less/components/lazyImage/lazyImage.entry.less"
20
+ ],
21
+ "dependencies": [],
22
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/lazyImage/lazyImage.entry.less\";"
23
+ },
24
+ "props": {
25
+ "src": {
26
+ "type": "string | undefined",
27
+ "required": false,
28
+ "description": "Image URL. When absent (or after a load error) the `fallback` is shown."
29
+ },
30
+ "alt": {
31
+ "type": "string | undefined",
32
+ "required": false,
33
+ "description": "Alternative text for images or icons."
34
+ },
35
+ "fallback": {
36
+ "type": "React.ReactNode",
37
+ "required": false,
38
+ "description": "Rendered in place of the image when it is missing or fails to load."
39
+ },
40
+ "lazy": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "description": "Defer loading until the image scrolls into view (IntersectionObserver). Default true."
44
+ },
45
+ "aspectRatio": {
46
+ "type": "string | number",
47
+ "required": false,
48
+ "description": "CSS `aspect-ratio` for the wrapper (e.g. `1`, `\"4 / 3\"`) to reserve space before load."
49
+ },
50
+ "onError": {
51
+ "type": "(event: React.SyntheticEvent<HTMLImageElement>) => void",
52
+ "required": false,
53
+ "description": "Fires on a load error (after the fallback is swapped in)."
54
+ }
55
+ }
56
+ }
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "List",
3
3
  "description": "Vertical list container with optional subheader.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLUListElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "ListItem",
3
3
  "description": "Single row inside a List.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Table",
3
3
  "description": "Table wrapper with optional pagination settings.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLDivElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TableBody",
3
3
  "description": "Table body section wrapper.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLTableSectionElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TableCell",
3
3
  "description": "Standard table data cell.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "TdHTMLAttributes<HTMLTableCellElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TableHead",
3
3
  "description": "Table head section wrapper.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLTableSectionElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TableHeadCell",
3
3
  "description": "Table header cell with optional sorting affordance.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "ThHTMLAttributes<HTMLTableCellElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "BaseTablePagination",
3
3
  "description": "Base Table Pagination component from the dataDisplay module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TablePagination",
3
3
  "description": "Pagination controls for tabular data.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "WithTotalCount | WithHasNextPage"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TableRow",
3
3
  "description": "Table row wrapper.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLTableRowElement>"
6
10
  ],
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "ThumbCard",
3
+ "description": "Selectable gallery card with image fallback, corner action slots, and a hover preview.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "Renders the card + image on the server; the hover preview is portaled on the client."
8
+ },
9
+ "extends": [
10
+ "Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\">"
11
+ ],
12
+ "inheritedAttributes": "Also accepts standard HTML attributes for the underlying element (see extends clause in TypeScript).",
13
+ "styles": {
14
+ "base": [
15
+ "@smwb/ui-styles/less/foundation.less",
16
+ "@smwb/ui-styles/less/theme.less"
17
+ ],
18
+ "entries": [
19
+ "@smwb/ui-styles/less/components/thumbCard/thumbCard.entry.less"
20
+ ],
21
+ "dependencies": [
22
+ "@smwb/ui-styles/less/components/lazyImage/lazyImage.entry.less"
23
+ ],
24
+ "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/thumbCard/thumbCard.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/lazyImage/lazyImage.entry.less\";"
25
+ },
26
+ "props": {
27
+ "src": {
28
+ "type": "string",
29
+ "required": false,
30
+ "description": "Thumbnail URL; falls back to `fallback` when missing / failed."
31
+ },
32
+ "caption": {
33
+ "type": "React.ReactNode",
34
+ "required": false,
35
+ "description": "Caption. Optional. Type: React.ReactNode."
36
+ },
37
+ "selected": {
38
+ "type": "boolean",
39
+ "required": false,
40
+ "description": "Controlled selected tab index or value."
41
+ },
42
+ "onSelect": {
43
+ "type": "() => void",
44
+ "required": false,
45
+ "description": "Makes the card a selectable button (keyboard + `aria-pressed`)."
46
+ },
47
+ "fallback": {
48
+ "type": "React.ReactNode",
49
+ "required": false,
50
+ "description": "Shown in place of the image when `src` is missing / fails."
51
+ },
52
+ "hoverPreview": {
53
+ "type": "React.ReactNode | string",
54
+ "required": false,
55
+ "description": "A larger preview shown in a floating popup after a hover delay."
56
+ },
57
+ "topStart": {
58
+ "type": "React.ReactNode",
59
+ "required": false,
60
+ "description": "Top-left overlay slot (e.g. a favourite star)."
61
+ },
62
+ "topEnd": {
63
+ "type": "React.ReactNode",
64
+ "required": false,
65
+ "description": "Top-right overlay slot (e.g. a kebab menu)."
66
+ },
67
+ "lazy": {
68
+ "type": "boolean",
69
+ "required": false,
70
+ "description": "Lazy. Optional. Type: boolean."
71
+ },
72
+ "disabled": {
73
+ "type": "boolean",
74
+ "required": false,
75
+ "description": "Whether the control is disabled and non-interactive."
76
+ },
77
+ "hoverDelay": {
78
+ "type": "number",
79
+ "required": false,
80
+ "description": "Delay (ms) before the hover preview appears. Default 350."
81
+ }
82
+ }
83
+ }
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TreeView",
3
3
  "description": "Hierarchical tree with expand, collapse, and selection.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Typography",
3
3
  "description": "Text renderer mapped to semantic HTML tags and design tokens.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Message",
3
3
  "description": "Inline feedback message with severity styling and optional dismiss action.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLDivElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Content",
3
3
  "description": "Modal scrollable content area.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Footer",
3
3
  "description": "Modal footer slot for actions.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Header",
3
3
  "description": "Modal header slot with title and close affordance.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "Modal",
3
3
  "description": "Dialog overlay with focus trap and composable header, content, and footer.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "client",
7
+ "note": "Renders nothing on the server; the dialog is portaled into <body> on the client after hydration."
8
+ },
4
9
  "styles": {
5
10
  "base": [
6
11
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "CircularProgress",
3
3
  "description": "Circular indeterminate or determinate progress indicator.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "ProgressIndicator",
3
3
  "description": "Linear or circular progress indicator.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "SaveAssetDialog",
3
+ "description": "Name-it / preview / confirm-cancel save dialog on Modal, with busy state.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "client",
7
+ "note": "Renders nothing on the server; the dialog is portaled into <body> on the client after hydration."
8
+ },
9
+ "styles": {
10
+ "base": [
11
+ "@smwb/ui-styles/less/foundation.less",
12
+ "@smwb/ui-styles/less/theme.less"
13
+ ],
14
+ "entries": [
15
+ "@smwb/ui-styles/less/components/saveAssetDialog/saveAssetDialog.entry.less"
16
+ ],
17
+ "dependencies": [
18
+ "@smwb/ui-styles/less/components/button/button.entry.less",
19
+ "@smwb/ui-styles/less/components/modal/modal.entry.less",
20
+ "@smwb/ui-styles/less/components/textField/textField.entry.less"
21
+ ],
22
+ "importExample": "@import (less) \"node_modules/@smwb/ui-styles/less/foundation.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/theme.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/saveAssetDialog/saveAssetDialog.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/modal/modal.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less\";"
23
+ },
24
+ "props": {
25
+ "open": {
26
+ "type": "boolean",
27
+ "required": true,
28
+ "description": "Controlled open/visible state."
29
+ },
30
+ "title": {
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "Accessible title or tooltip text."
34
+ },
35
+ "nameLabel": {
36
+ "type": "string",
37
+ "required": false,
38
+ "description": "Label for the name field. Omit `onNameChange` AND `name` to hide the field."
39
+ },
40
+ "name": {
41
+ "type": "string",
42
+ "required": false,
43
+ "description": "Form field name submitted with the value."
44
+ },
45
+ "onNameChange": {
46
+ "type": "(name: string) => void",
47
+ "required": false,
48
+ "description": "On Name Change. Optional. Type: (name: string) => void."
49
+ },
50
+ "previewSrc": {
51
+ "type": "string",
52
+ "required": false,
53
+ "description": "Preview image URL (e.g. a freshly captured thumbnail)."
54
+ },
55
+ "onCapture": {
56
+ "type": "() => void",
57
+ "required": false,
58
+ "description": "Shows a Capture button when provided."
59
+ },
60
+ "captureLabel": {
61
+ "type": "string",
62
+ "required": false,
63
+ "description": "Capture Label. Optional. Type: string."
64
+ },
65
+ "busy": {
66
+ "type": "boolean",
67
+ "required": false,
68
+ "description": "Disables the actions + name field while a save/capture is in flight."
69
+ },
70
+ "confirmLabel": {
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "Confirm Label. Optional. Type: string."
74
+ },
75
+ "cancelLabel": {
76
+ "type": "string",
77
+ "required": false,
78
+ "description": "Cancel Label. Optional. Type: string."
79
+ },
80
+ "onConfirm": {
81
+ "type": "() => void",
82
+ "required": true,
83
+ "description": "On Confirm. Required. Type: () => void."
84
+ },
85
+ "onClose": {
86
+ "type": "() => void",
87
+ "required": true,
88
+ "description": "Callback fired when the user dismisses the component."
89
+ },
90
+ "children": {
91
+ "type": "React.ReactNode",
92
+ "required": false,
93
+ "description": "Extra content between the name field/preview and the actions."
94
+ },
95
+ "className": {
96
+ "type": "string",
97
+ "required": false,
98
+ "description": "Additional CSS class name(s) for the root element."
99
+ }
100
+ }
101
+ }
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Skeleton",
3
3
  "description": "Loading placeholder with pulse or wave animation.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "HTMLAttributes<HTMLElement>"
6
10
  ],
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "Snackbar",
3
3
  "description": "Transient notification surface controlled by the snackbar provider.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "client",
7
+ "note": "Transient surface portaled on the client; nothing is emitted during SSR."
8
+ },
4
9
  "extends": [
5
10
  "React.HTMLAttributes<HTMLElement>"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "SnackbarsProvider",
3
3
  "description": "Snackbars Provider component from the feedBack module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLElement>"
6
10
  ],
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "Tooltip",
3
3
  "description": "Floating hint shown on hover, focus, or click.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The trigger renders on the server; the floating tip mounts on the client."
8
+ },
4
9
  "styles": {
5
10
  "base": [
6
11
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Button",
3
3
  "description": "Action button with variants, optional icon, ripple feedback, and link support.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "ButtonGroup",
3
3
  "description": "Grouped buttons rendered as a single segmented control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLDivElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Checkbox",
3
3
  "description": "Binary selection control with label support.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"size\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DataPickerDays",
3
3
  "description": "Calendar day grid for the date picker.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Partial<\n Pick<\n DatePickerProps,\n | \"value\"\n | \"showDaysOutsideMonth\"\n | \"onChange\"\n | \"disablePast\"\n | \"disableFuture\"\n | \"weekStartsOn\"\n | \"minDate\"\n | \"maxDate\"\n | \"isDateDisabled\"\n | \"locale\"\n >\n>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DataPickerHeader",
3
3
  "description": "Month/year navigation header for the date picker calendar.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DataPickerInput",
3
3
  "description": "Internal date picker input field and toggle control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<\n DatePickerProps,\n \"locale\" | \"showDaysOutsideMonth\" | \"disablePast\" | \"disableFuture\" | \"weekStartsOn\" | \"placement\"\n>"
6
10
  ],
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "DatePicker",
3
3
  "description": "Date selection input with calendar popup.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The input renders on the server; the calendar popup mounts on the client."
8
+ },
4
9
  "extends": [
5
10
  "Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\">"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DataPickerIconButton",
3
3
  "description": "Data Picker Icon Button component from the inputs module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.ButtonHTMLAttributes<HTMLButtonElement> & {\n size?: \"medium\" | \"small\";\n edge?: \"start\" | \"end\";\n}"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DataPickerList",
3
3
  "description": "Data Picker List component from the inputs module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "styles": {
5
9
  "base": [
6
10
  "@smwb/ui-styles/less/foundation.less",
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "DateTimePicker",
3
3
  "description": "Combined date and time selection input.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The input renders on the server; the picker popup mounts on the client."
8
+ },
4
9
  "extends": [
5
10
  "Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\">"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "DateTimePickerInput",
3
3
  "description": "Internal date-time picker input field and toggle control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<\n DateTimePickerProps,\n | \"locale\"\n | \"showDaysOutsideMonth\"\n | \"disablePast\"\n | \"disableFuture\"\n | \"weekStartsOn\"\n | \"placement\"\n | \"minDate\"\n | \"maxDate\"\n | \"isDateDisabled\"\n>"
6
10
  ],