@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
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "CountPreview",
3
3
  "description": "Compact counter preview when multiple files are uploaded.",
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": "FileUpload",
3
3
  "description": "File Upload component from the inputs module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "DropzoneOptions"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Preview",
3
3
  "description": "Single uploaded file preview tile.",
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": "PreviewWrapper",
3
3
  "description": "Layout wrapper for file preview tiles in FileDrop.",
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": "FileInput",
3
3
  "description": "Hidden file input integrated with react-dropzone.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "DropzoneOptions"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "FloatingButton",
3
3
  "description": "Prominent circular action button, often fixed on screen.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "ButtonHTMLAttributes<HTMLButtonElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "RadioButton",
3
3
  "description": "Single-choice selection control within a group.",
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": "Rating",
3
3
  "description": "Star rating input with customizable precision.",
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": "DropdownItem",
3
3
  "description": "Dropdown Item 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": "SelectField",
3
3
  "description": "Dropdown select input with searchable options.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The field renders on the server; the options popup 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": "Slider",
3
3
  "description": "Numeric value slider with optional range and marks.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<React.HTMLAttributes<HTMLSpanElement>, \"onChange\" | \"defaultValue\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TextField",
3
3
  "description": "Text input field with label, adornments, validation, and variants.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"onBlur\" | \"size\"\n>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TextFieldAdornment",
3
3
  "description": "Start or end adornment slot for a text field.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Pick<JSX.IntrinsicElements[\"span\"], \"children\" | \"className\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TextFieldWrapper",
3
3
  "description": "Layout wrapper around a text field control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLDivElement>"
6
10
  ],
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "TimePicker",
3
3
  "description": "Time selection input with column or list popup.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The input renders on the server; the time 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": "TimePickerColumns",
3
3
  "description": "Hour, minute, and second columns for time selection.",
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": "TimePickerInput",
3
3
  "description": "Internal time picker input field and toggle control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<\n TimePickerProps,\n \"placement\" | \"disablePast\" | \"disableFuture\" | \"weekStartsOn\" | \"locale\" | \"showDaysOutsideMonth\"\n>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "TimePickerList",
3
3
  "description": "Scrollable time option 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": "Toggle",
3
3
  "description": "On/off switch control.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"size\">"
6
10
  ],
@@ -0,0 +1,151 @@
1
+ {
2
+ "name": "ValueSlider",
3
+ "description": "Slider preset with a value readout, a reset eraser, and an end-adornment slot.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
8
+ "extends": [
9
+ "SliderProps"
10
+ ],
11
+ "styles": {
12
+ "base": [
13
+ "@smwb/ui-styles/less/foundation.less",
14
+ "@smwb/ui-styles/less/theme.less"
15
+ ],
16
+ "entries": [
17
+ "@smwb/ui-styles/less/components/valueSlider/valueSlider.entry.less"
18
+ ],
19
+ "dependencies": [
20
+ "@smwb/ui-styles/less/components/slider/slider.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/valueSlider/valueSlider.entry.less\";\n@import (less) \"node_modules/@smwb/ui-styles/less/components/slider/slider.entry.less\";"
23
+ },
24
+ "props": {
25
+ "readout": {
26
+ "type": "boolean | ((value: SliderValue | undefined) => string)",
27
+ "required": false,
28
+ "description": "Read-only value readout beside the label. `true` shows the raw value; pass a\nformatter for units/precision (e.g. `(v) => `${v}%``). Reflects `value`.\n/"
29
+ },
30
+ "endAdornment": {
31
+ "type": "React.ReactNode",
32
+ "required": false,
33
+ "description": "Content at the end of the header row — a reset button, a favourite star, etc."
34
+ },
35
+ "onReset": {
36
+ "type": "() => void",
37
+ "required": false,
38
+ "description": "Renders a built-in reset control in the header; called on click."
39
+ },
40
+ "resetLabel": {
41
+ "type": "string",
42
+ "required": false,
43
+ "description": "Accessible label for the reset control."
44
+ },
45
+ "value": {
46
+ "type": "SliderValue",
47
+ "required": false,
48
+ "description": "Controlled value."
49
+ },
50
+ "onChange": {
51
+ "type": "(event: Event | React.SyntheticEvent, value: SliderValue, data: SliderProps) => void",
52
+ "required": false,
53
+ "description": "Callback fired when the value changes."
54
+ },
55
+ "min": {
56
+ "type": "number",
57
+ "required": false,
58
+ "description": "Minimum allowed value."
59
+ },
60
+ "max": {
61
+ "type": "number",
62
+ "required": false,
63
+ "description": "Maximum allowed value."
64
+ },
65
+ "step": {
66
+ "type": "number",
67
+ "required": false,
68
+ "description": "Step increment between values."
69
+ },
70
+ "name": {
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "Form field name submitted with the value."
74
+ },
75
+ "defaultValue": {
76
+ "type": "SliderValue",
77
+ "required": false,
78
+ "description": "Initial uncontrolled value."
79
+ },
80
+ "disabled": {
81
+ "type": "boolean",
82
+ "required": false,
83
+ "description": "Whether the control is disabled and non-interactive."
84
+ },
85
+ "variant": {
86
+ "type": "\"continuous\" | \"discrete\"",
87
+ "required": false,
88
+ "description": "Visual style variant."
89
+ },
90
+ "valueField": {
91
+ "type": "boolean",
92
+ "required": false,
93
+ "description": "Value Field. Optional. Type: boolean."
94
+ },
95
+ "withTicks": {
96
+ "type": "boolean",
97
+ "required": false,
98
+ "description": "With Ticks. Optional. Type: boolean."
99
+ },
100
+ "label": {
101
+ "type": "string",
102
+ "required": false,
103
+ "description": "Visible label text."
104
+ },
105
+ "helperText": {
106
+ "type": "React.ReactNode",
107
+ "required": false,
108
+ "description": "Supplementary hint text displayed below the control."
109
+ },
110
+ "error": {
111
+ "type": "boolean",
112
+ "required": false,
113
+ "description": "Whether the control is in an error state."
114
+ },
115
+ "size": {
116
+ "type": "\"small\" | \"medium\" | \"large\"",
117
+ "required": false,
118
+ "description": "Visual size preset."
119
+ },
120
+ "color": {
121
+ "type": "\"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\"",
122
+ "required": false,
123
+ "description": "Semantic color token."
124
+ },
125
+ "range": {
126
+ "type": "boolean",
127
+ "required": false,
128
+ "description": "Enables a two-thumb range slider (value becomes `[number, number]`)."
129
+ },
130
+ "orientation": {
131
+ "type": "\"horizontal\" | \"vertical\"",
132
+ "required": false,
133
+ "description": "Slider direction."
134
+ },
135
+ "marks": {
136
+ "type": "boolean | SliderMark[]",
137
+ "required": false,
138
+ "description": "Show ticks/marks. `true` derives marks from `step`; an array gives explicit positions/labels."
139
+ },
140
+ "aria-label": {
141
+ "type": "string",
142
+ "required": false,
143
+ "description": "Accessible label applied to the slider control."
144
+ },
145
+ "getAriaValueText": {
146
+ "type": "(value: number) => string",
147
+ "required": false,
148
+ "description": "Maps the numeric value to a human-readable string for assistive tech."
149
+ }
150
+ }
151
+ }
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "AppLayout",
3
3
  "description": "Application shell layout with sidebar and content regions.",
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": "Divider",
3
3
  "description": "Horizontal or vertical content separator.",
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": "Column",
3
3
  "description": "Grid column with responsive span configuration.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLDivElement> & {\n /** Ширина на точке остановы: 1–12 из 12, `\"auto\"` (по контенту) или `true` (заполнить). */\n xs?: BreakpointType;\n sm?: BreakpointType;\n md?: BreakpointType;\n lg?: BreakpointType;\n xl?: BreakpointType;\n /** Сдвиг (пустые ведущие колонки) на точке остановы, 0–11. */\n xsOffset?: OffsetType;\n smOffset?: OffsetType;\n mdOffset?: OffsetType;\n lgOffset?: OffsetType;\n xlOffset?: OffsetType;\n /** Скрыть колонку: булево (всегда) или по точкам остановы `{ xs:true, md:false }`. */\n hidden?: ResponsiveBool;\n}"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Container",
3
3
  "description": "Centered max-width page container.",
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": "Row",
3
3
  "description": "Grid row container.",
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": "Page",
3
3
  "description": "Standard page content wrapper.",
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": "PageHeader",
3
3
  "description": "Page title area with optional actions and breadcrumbs slot.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<HTMLAttributes<HTMLElement>, \"title\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "ScreenDivider",
3
3
  "description": "Responsive divider that changes orientation by breakpoint.",
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": "Sheet",
3
3
  "description": "Side or bottom sliding panel surface.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "client",
7
+ "note": "Renders nothing on the server; the panel is portaled into <body> on the client after hydration."
8
+ },
4
9
  "extends": [
5
10
  "React.HTMLAttributes<HTMLDivElement>"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Stack",
3
3
  "description": "Flex stack layout with spacing and optional dividers.",
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": "AppBar",
3
3
  "description": "Top application bar with title and action slots.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Omit<React.HTMLAttributes<HTMLElement>, \"title\">"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "BottomBarMenuItem",
3
3
  "description": "Bottom Bar Menu Item component from the navigation module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "SidebarMenuItemProps"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "BottomBar",
3
3
  "description": "Bottom Bar component from the navigation module.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "Breadcrumbs",
3
3
  "description": "Hierarchical navigation trail.",
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": "Menu",
3
3
  "description": "Dropdown menu anchored to a trigger element.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal",
7
+ "note": "The trigger renders on the server; the menu surface mounts on the client."
8
+ },
4
9
  "extends": [
5
10
  "MenuFloatingProps &\n React.HTMLAttributes<HTMLElement> & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n }"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "MenuDivider",
3
3
  "description": "Non-interactive separator between menu items.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLLIElement>"
6
10
  ],
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "MenuFloating",
3
3
  "description": "Floating positioned surface used by menus and popovers.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "client",
7
+ "note": "Floating surface portaled on the client; nothing is emitted during SSR."
8
+ },
4
9
  "extends": [
5
10
  "React.HTMLAttributes<HTMLDivElement>"
6
11
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "MenuItem",
3
3
  "description": "Interactive item inside a menu list.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLLIElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "MenuItemIcon",
3
3
  "description": "Leading icon slot for a menu item.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLSpanElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "MenuItemText",
3
3
  "description": "Primary text slot for a menu item.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "React.HTMLAttributes<HTMLSpanElement>"
6
10
  ],
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "MenuList",
3
3
  "description": "List container inside a menu.",
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": "MenuSubmenu",
3
3
  "description": "Nested submenu with hover or click activation.",
4
+ "ssr": {
5
+ "safe": true,
6
+ "rendering": "universal"
7
+ },
4
8
  "extends": [
5
9
  "Pick<MenuFloatingProps, \"placement\" | \"onClose\"> &\n React.HTMLAttributes<HTMLDivElement> & {\n toggleElement?: React.ReactElement;\n /** Items and/or nested `MenuSubmenu` elements (multi-level supported). */\n children: React.ReactNode;\n /** Open the submenu on pointer hover in addition to click. */\n openOnHover?: boolean;\n }"
6
10
  ],