@lowdefy/blocks-antd 4.0.0-alpha.29 → 4.0.0-alpha.30

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 (193) hide show
  1. package/dist/blocks/Affix/Affix.js +43 -0
  2. package/dist/blocks/Affix/schema.json +34 -0
  3. package/dist/blocks/Affix/style.less +17 -0
  4. package/dist/blocks/Alert/Alert.js +78 -0
  5. package/dist/blocks/Alert/schema.json +62 -0
  6. package/dist/blocks/Alert/style.less +17 -0
  7. package/dist/blocks/AutoComplete/AutoComplete.js +86 -0
  8. package/dist/blocks/AutoComplete/schema.json +148 -0
  9. package/dist/blocks/AutoComplete/style.less +17 -0
  10. package/dist/blocks/Avatar/Avatar.js +49 -0
  11. package/dist/blocks/Avatar/schema.json +71 -0
  12. package/dist/blocks/Avatar/style.less +17 -0
  13. package/dist/blocks/Badge/Badge.js +44 -0
  14. package/dist/blocks/Badge/schema.json +70 -0
  15. package/dist/blocks/Badge/style.less +17 -0
  16. package/dist/blocks/Breadcrumb/Breadcrumb.js +79 -0
  17. package/dist/blocks/Breadcrumb/schema.json +78 -0
  18. package/dist/blocks/Breadcrumb/style.less +17 -0
  19. package/dist/blocks/Button/Button.js +77 -0
  20. package/dist/blocks/Button/schema.json +91 -0
  21. package/dist/blocks/Button/style.less +17 -0
  22. package/dist/blocks/ButtonSelector/ButtonSelector.js +91 -0
  23. package/dist/blocks/ButtonSelector/schema.json +188 -0
  24. package/dist/blocks/ButtonSelector/style.less +18 -0
  25. package/dist/blocks/Card/Card.js +50 -0
  26. package/dist/blocks/Card/schema.json +58 -0
  27. package/dist/blocks/Card/style.less +17 -0
  28. package/dist/blocks/CheckboxSelector/CheckboxSelector.js +97 -0
  29. package/dist/blocks/CheckboxSelector/schema.json +193 -0
  30. package/dist/blocks/CheckboxSelector/style.less +19 -0
  31. package/dist/blocks/CheckboxSwitch/CheckboxSwitch.js +74 -0
  32. package/dist/blocks/CheckboxSwitch/schema.json +105 -0
  33. package/dist/blocks/CheckboxSwitch/style.less +19 -0
  34. package/dist/blocks/Collapse/Collapse.js +89 -0
  35. package/dist/blocks/Collapse/schema.json +90 -0
  36. package/dist/blocks/Collapse/style.less +17 -0
  37. package/dist/blocks/Comment/Comment.js +56 -0
  38. package/dist/blocks/Comment/schema.json +39 -0
  39. package/dist/blocks/Comment/style.less +18 -0
  40. package/dist/blocks/ConfirmModal/ConfirmModal.js +96 -0
  41. package/dist/blocks/ConfirmModal/schema.json +122 -0
  42. package/dist/blocks/ConfirmModal/style.less +17 -0
  43. package/dist/blocks/Content/Content.js +31 -0
  44. package/dist/blocks/Content/schema.json +16 -0
  45. package/dist/blocks/Content/style.less +17 -0
  46. package/dist/blocks/ControlledList/ControlledList.js +137 -0
  47. package/dist/blocks/ControlledList/schema.json +68 -0
  48. package/dist/blocks/ControlledList/style.less +19 -0
  49. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +102 -0
  50. package/dist/blocks/DateRangeSelector/schema.json +221 -0
  51. package/dist/blocks/DateRangeSelector/style.less +18 -0
  52. package/dist/blocks/DateSelector/DateSelector.js +90 -0
  53. package/dist/blocks/DateSelector/schema.json +183 -0
  54. package/dist/blocks/DateSelector/style.less +18 -0
  55. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +98 -0
  56. package/dist/blocks/DateTimeSelector/schema.json +215 -0
  57. package/dist/blocks/DateTimeSelector/style.less +18 -0
  58. package/dist/blocks/Descriptions/Descriptions.js +83 -0
  59. package/dist/blocks/Descriptions/schema.json +186 -0
  60. package/dist/blocks/Descriptions/style.less +17 -0
  61. package/dist/blocks/Divider/Divider.js +37 -0
  62. package/dist/blocks/Divider/schema.json +35 -0
  63. package/dist/blocks/Divider/style.less +17 -0
  64. package/dist/blocks/Drawer/Drawer.js +104 -0
  65. package/dist/blocks/Drawer/schema.json +113 -0
  66. package/dist/blocks/Drawer/style.less +17 -0
  67. package/dist/blocks/Footer/Footer.js +36 -0
  68. package/dist/blocks/Footer/schema.json +16 -0
  69. package/dist/blocks/Footer/style.less +17 -0
  70. package/dist/blocks/Header/Header.js +36 -0
  71. package/dist/blocks/Header/schema.json +22 -0
  72. package/dist/blocks/Header/style.less +17 -0
  73. package/dist/blocks/Label/Label.js +116 -0
  74. package/dist/blocks/Label/getLabelCol.js +55 -0
  75. package/dist/blocks/Label/getWrapperCol.js +69 -0
  76. package/dist/blocks/Label/labelLogic.js +106 -0
  77. package/dist/blocks/Label/schema.json +62 -0
  78. package/dist/blocks/Label/style.less +34 -0
  79. package/dist/blocks/Layout/Layout.js +30 -0
  80. package/dist/blocks/Layout/schema.json +16 -0
  81. package/dist/blocks/Layout/style.less +17 -0
  82. package/dist/blocks/Menu/Menu.js +209 -0
  83. package/dist/blocks/Menu/schema.json +236 -0
  84. package/dist/blocks/Menu/style.less +17 -0
  85. package/dist/blocks/Message/Message.js +53 -0
  86. package/dist/blocks/Message/schema.json +48 -0
  87. package/dist/blocks/Message/style.less +17 -0
  88. package/dist/blocks/MobileMenu/MobileMenu.js +128 -0
  89. package/dist/blocks/MobileMenu/schema.json +236 -0
  90. package/dist/blocks/MobileMenu/style.less +19 -0
  91. package/dist/blocks/Modal/Modal.js +130 -0
  92. package/dist/blocks/Modal/schema.json +118 -0
  93. package/dist/blocks/Modal/style.less +17 -0
  94. package/dist/blocks/MonthSelector/MonthSelector.js +90 -0
  95. package/dist/blocks/MonthSelector/schema.json +183 -0
  96. package/dist/blocks/MonthSelector/style.less +18 -0
  97. package/dist/blocks/MultipleSelector/MultipleSelector.js +146 -0
  98. package/dist/blocks/MultipleSelector/schema.json +239 -0
  99. package/dist/blocks/MultipleSelector/style.less +18 -0
  100. package/dist/blocks/Notification/Notification.js +77 -0
  101. package/dist/blocks/Notification/schema.json +85 -0
  102. package/dist/blocks/Notification/style.less +18 -0
  103. package/dist/blocks/NumberInput/NumberInput.js +82 -0
  104. package/dist/blocks/NumberInput/schema.json +157 -0
  105. package/dist/blocks/NumberInput/style.less +18 -0
  106. package/dist/blocks/PageHCF/PageHCF.js +70 -0
  107. package/dist/blocks/PageHCF/schema.json +64 -0
  108. package/dist/blocks/PageHCF/style.less +20 -0
  109. package/dist/blocks/PageHCSF/PageHCSF.js +98 -0
  110. package/dist/blocks/PageHCSF/schema.json +148 -0
  111. package/dist/blocks/PageHCSF/style.less +21 -0
  112. package/dist/blocks/PageHSCF/PageHSCF.js +98 -0
  113. package/dist/blocks/PageHSCF/schema.json +147 -0
  114. package/dist/blocks/PageHSCF/style.less +21 -0
  115. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +302 -0
  116. package/dist/blocks/PageHeaderMenu/schema.json +215 -0
  117. package/dist/blocks/PageHeaderMenu/style.less +23 -0
  118. package/dist/blocks/PageSHCF/PageSHCF.js +98 -0
  119. package/dist/blocks/PageSHCF/schema.json +148 -0
  120. package/dist/blocks/PageSHCF/style.less +21 -0
  121. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +409 -0
  122. package/dist/blocks/PageSiderMenu/schema.json +283 -0
  123. package/dist/blocks/PageSiderMenu/style.less +26 -0
  124. package/dist/blocks/Pagination/Pagination.js +98 -0
  125. package/dist/blocks/Pagination/schema.json +75 -0
  126. package/dist/blocks/Pagination/style.less +17 -0
  127. package/dist/blocks/Paragraph/Paragraph.js +102 -0
  128. package/dist/blocks/Paragraph/schema.json +131 -0
  129. package/dist/blocks/Paragraph/style.less +17 -0
  130. package/dist/blocks/ParagraphInput/ParagraphInput.js +125 -0
  131. package/dist/blocks/ParagraphInput/schema.json +162 -0
  132. package/dist/blocks/ParagraphInput/style.less +17 -0
  133. package/dist/blocks/PasswordInput/PasswordInput.js +78 -0
  134. package/dist/blocks/PasswordInput/schema.json +123 -0
  135. package/dist/blocks/PasswordInput/style.less +18 -0
  136. package/dist/blocks/Progress/Progress.js +42 -0
  137. package/dist/blocks/Progress/schema.json +76 -0
  138. package/dist/blocks/Progress/style.less +17 -0
  139. package/dist/blocks/RadioSelector/RadioSelector.js +96 -0
  140. package/dist/blocks/RadioSelector/schema.json +190 -0
  141. package/dist/blocks/RadioSelector/style.less +19 -0
  142. package/dist/blocks/RatingSlider/RatingSlider.js +240 -0
  143. package/dist/blocks/RatingSlider/schema.json +169 -0
  144. package/dist/blocks/RatingSlider/style.less +19 -0
  145. package/dist/blocks/Result/Result.js +48 -0
  146. package/dist/blocks/Result/schema.json +30 -0
  147. package/dist/blocks/Result/style.less +17 -0
  148. package/dist/blocks/Selector/Selector.js +140 -0
  149. package/dist/blocks/Selector/schema.json +236 -0
  150. package/dist/blocks/Selector/style.less +18 -0
  151. package/dist/blocks/Sider/Sider.js +85 -0
  152. package/dist/blocks/Sider/schema.json +71 -0
  153. package/dist/blocks/Sider/style.less +17 -0
  154. package/dist/blocks/Statistic/Statistic.js +51 -0
  155. package/dist/blocks/Statistic/schema.json +74 -0
  156. package/dist/blocks/Statistic/style.less +17 -0
  157. package/dist/blocks/Switch/Switch.js +101 -0
  158. package/dist/blocks/Switch/schema.json +136 -0
  159. package/dist/blocks/Switch/style.less +18 -0
  160. package/dist/blocks/Tabs/Tabs.js +108 -0
  161. package/dist/blocks/Tabs/schema.json +97 -0
  162. package/dist/blocks/Tabs/style.less +17 -0
  163. package/dist/blocks/TextArea/TextArea.js +87 -0
  164. package/dist/blocks/TextArea/schema.json +164 -0
  165. package/dist/blocks/TextArea/style.less +18 -0
  166. package/dist/blocks/TextInput/TextInput.js +92 -0
  167. package/dist/blocks/TextInput/schema.json +149 -0
  168. package/dist/blocks/TextInput/style.less +18 -0
  169. package/dist/blocks/TimelineList/TimelineList.js +102 -0
  170. package/dist/blocks/TimelineList/schema.json +65 -0
  171. package/dist/blocks/TimelineList/style.less +17 -0
  172. package/dist/blocks/Title/Title.js +109 -0
  173. package/dist/blocks/Title/schema.json +136 -0
  174. package/dist/blocks/Title/style.less +17 -0
  175. package/dist/blocks/TitleInput/TitleInput.js +122 -0
  176. package/dist/blocks/TitleInput/schema.json +171 -0
  177. package/dist/blocks/TitleInput/style.less +17 -0
  178. package/dist/blocks/Tooltip/Tooltip.js +48 -0
  179. package/dist/blocks/Tooltip/schema.json +91 -0
  180. package/dist/blocks/Tooltip/style.less +17 -0
  181. package/dist/blocks/WeekSelector/WeekSelector.js +91 -0
  182. package/dist/blocks/WeekSelector/schema.json +183 -0
  183. package/dist/blocks/WeekSelector/style.less +18 -0
  184. package/dist/blocks.js +74 -0
  185. package/dist/color.js +85 -0
  186. package/dist/disabledDate.js +45 -0
  187. package/dist/getUniqueValues.js +30 -0
  188. package/dist/getValueIndex.js +42 -0
  189. package/dist/style.less +17 -0
  190. package/dist/types.js +31 -0
  191. package/dist/useRunAfterUpdate.js +29 -0
  192. package/dist/validationExamples.js +40 -0
  193. package/package.json +7 -7
@@ -0,0 +1,148 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "header": {
8
+ "type": "object",
9
+ "description": "Header properties.",
10
+ "additionalProperties": false,
11
+ "properties": {
12
+ "theme": {
13
+ "type": "string",
14
+ "enum": ["light", "dark"],
15
+ "default": "dark",
16
+ "description": "Header theme color."
17
+ },
18
+ "style": {
19
+ "type": "object",
20
+ "description": "Header css style object.",
21
+ "docs": {
22
+ "displayType": "yaml"
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "main": {
28
+ "type": "object",
29
+ "description": "Main layout properties.",
30
+ "additionalProperties": false,
31
+ "properties": {
32
+ "style": {
33
+ "type": "object",
34
+ "description": "Main css style object.",
35
+ "docs": {
36
+ "displayType": "yaml"
37
+ }
38
+ }
39
+ }
40
+ },
41
+ "content": {
42
+ "type": "object",
43
+ "description": "Content properties.",
44
+ "additionalProperties": false,
45
+ "properties": {
46
+ "style": {
47
+ "type": "object",
48
+ "description": "Content css style object.",
49
+ "docs": {
50
+ "displayType": "yaml"
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "sider": {
56
+ "type": "object",
57
+ "description": "Sider properties.",
58
+ "additionalProperties": false,
59
+ "properties": {
60
+ "breakpoint": {
61
+ "type": "string",
62
+ "enum": ["xs", "sm", "md", "lg", "xl", "xxl"],
63
+ "default": "sm",
64
+ "description": "Breakpoint of the responsive layout"
65
+ },
66
+ "collapsedWidth": {
67
+ "type": "integer",
68
+ "description": "Width of the collapsed sidebar, by setting to 0 a special trigger will appear"
69
+ },
70
+ "collapsible": {
71
+ "type": "boolean",
72
+ "default": true,
73
+ "description": "Whether can be collapsed"
74
+ },
75
+ "initialCollapsed": {
76
+ "type": "boolean",
77
+ "default": true,
78
+ "description": "Set the initial collapsed state"
79
+ },
80
+ "reverseArrow": {
81
+ "type": "boolean",
82
+ "default": false,
83
+ "description": "Direction of arrow, for a sider that expands from the right"
84
+ },
85
+ "theme": {
86
+ "type": "string",
87
+ "enum": ["light", "dark"],
88
+ "default": "light",
89
+ "description": "Color theme of the sidebar"
90
+ },
91
+ "style": {
92
+ "type": "object",
93
+ "description": "Css style object to apply to sider.",
94
+ "docs": {
95
+ "displayType": "yaml"
96
+ }
97
+ },
98
+ "width": {
99
+ "type": ["string", "number"],
100
+ "description": "width of the sidebar",
101
+ "docs": {
102
+ "displayType": "string"
103
+ }
104
+ }
105
+ }
106
+ },
107
+ "footer": {
108
+ "type": "object",
109
+ "description": "Footer properties.",
110
+ "additionalProperties": false,
111
+ "properties": {
112
+ "style": {
113
+ "type": "object",
114
+ "description": "Footer css style object.",
115
+ "docs": {
116
+ "displayType": "yaml"
117
+ }
118
+ }
119
+ }
120
+ },
121
+ "style": {
122
+ "type": "object",
123
+ "description": "Css style object to apply to layout.",
124
+ "docs": {
125
+ "displayType": "yaml"
126
+ }
127
+ }
128
+ }
129
+ },
130
+ "events": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "properties": {
134
+ "onBreakpoint": {
135
+ "type": "array",
136
+ "description": "Trigger actions when sider breakpoint id crossed."
137
+ },
138
+ "onSiderClose": {
139
+ "type": "array",
140
+ "description": "Trigger actions when sider is closed."
141
+ },
142
+ "onSiderOpen": {
143
+ "type": "array",
144
+ "description": "Trigger actions when sider is opened."
145
+ }
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,21 @@
1
+ /*
2
+ Copyright 2020-2022 Lowdefy, Inc
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ @import '../Header/style.less';
18
+ @import '../Footer/style.less';
19
+ @import '../Content/style.less';
20
+ @import '../Layout/style.less';
21
+ @import '../Sider/style.less';
@@ -0,0 +1,409 @@
1
+ /*
2
+ Copyright 2020-2022 Lowdefy, Inc
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */ import React, { useState, useEffect } from 'react';
16
+ import { get, mergeObjects, type } from '@lowdefy/helpers';
17
+ import { blockDefaultProps } from '@lowdefy/block-utils';
18
+ import Affix from '../Affix/Affix.js';
19
+ import Breadcrumb from '../Breadcrumb/Breadcrumb.js';
20
+ import Button from '../Button/Button.js';
21
+ import Content from '../Content/Content.js';
22
+ import Footer from '../Footer/Footer.js';
23
+ import Header from '../Header/Header.js';
24
+ import Layout from '../Layout/Layout.js';
25
+ import Menu from '../Menu/Menu.js';
26
+ import MobileMenu from '../MobileMenu/MobileMenu.js';
27
+ import Sider from '../Sider/Sider.js';
28
+ const PageSiderMenu = ({ basePath , blockId , components: { Icon , Link } , events , content , menus , methods , pageId , properties , })=>{
29
+ const [openSiderState, setSiderOpen] = useState(!properties.sider?.initialCollapsed);
30
+ useEffect(()=>{
31
+ methods.registerMethod('toggleSiderOpen', ()=>{
32
+ methods._toggleSiderOpen({
33
+ open: !openSiderState
34
+ });
35
+ setSiderOpen(!openSiderState);
36
+ });
37
+ methods.registerMethod('setSiderOpen', ({ open })=>{
38
+ methods._toggleSiderOpen({
39
+ open
40
+ });
41
+ setSiderOpen(open);
42
+ });
43
+ });
44
+ const styles = {
45
+ layout: {
46
+ minHeight: '100vh'
47
+ },
48
+ header: {
49
+ display: 'flex',
50
+ alignItems: 'center',
51
+ padding: '0 46px',
52
+ xs: {
53
+ padding: '0 10px'
54
+ },
55
+ sm: {
56
+ padding: '0 15px'
57
+ },
58
+ md: {
59
+ padding: '0 30px'
60
+ },
61
+ lg: {
62
+ padding: '0 46px'
63
+ },
64
+ flexDirection: 'row-reverse'
65
+ },
66
+ headerContent: {
67
+ alignItems: 'center',
68
+ flex: '1 1 auto',
69
+ display: 'flex',
70
+ justifyContent: 'flex-end'
71
+ },
72
+ logo: {
73
+ margin: '0 30px 0 0',
74
+ flex: '0 1 auto',
75
+ width: 130,
76
+ xs: {
77
+ margin: '0 5px',
78
+ width: 40
79
+ },
80
+ sm: {
81
+ margin: '0 10px',
82
+ width: 130
83
+ },
84
+ md: {
85
+ margin: '0 15px'
86
+ }
87
+ },
88
+ desktop: {
89
+ display: 'none',
90
+ lg: {
91
+ display: 'block'
92
+ }
93
+ },
94
+ mobile: {
95
+ display: 'block',
96
+ lg: {
97
+ display: 'none'
98
+ }
99
+ },
100
+ mdMenu: {
101
+ paddingLeft: '1rem'
102
+ },
103
+ body: {
104
+ padding: '0 40px 40px 40px',
105
+ xs: {
106
+ padding: '0 5px 5px 5px'
107
+ },
108
+ sm: {
109
+ padding: '0 10px 10px 10px'
110
+ },
111
+ md: {
112
+ padding: '0 20px 20px 20px'
113
+ },
114
+ lg: {
115
+ padding: '0 40px 40px 40px'
116
+ }
117
+ },
118
+ sider: {
119
+ display: 'flex',
120
+ height: '100%',
121
+ flexDirection: 'column'
122
+ },
123
+ content: {},
124
+ breadcrumb: {
125
+ margin: '16px 0'
126
+ },
127
+ noBreadcrumb: {
128
+ padding: '20px 0',
129
+ xs: {
130
+ padding: '5px 0'
131
+ },
132
+ sm: {
133
+ padding: '5px 0'
134
+ },
135
+ md: {
136
+ padding: '10px 0'
137
+ }
138
+ }
139
+ };
140
+ return /*#__PURE__*/ React.createElement(Layout, {
141
+ blockId: blockId,
142
+ components: {
143
+ Icon,
144
+ Link
145
+ },
146
+ events: events,
147
+ properties: {
148
+ style: mergeObjects([
149
+ styles.layout,
150
+ properties.style
151
+ ])
152
+ },
153
+ content: {
154
+ // TODO: use next/image
155
+ content: ()=>/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Header, {
156
+ blockId: `${blockId}_header`,
157
+ components: {
158
+ Icon,
159
+ Link
160
+ },
161
+ events: events,
162
+ properties: mergeObjects([
163
+ {
164
+ style: styles.header
165
+ },
166
+ properties.header
167
+ ]),
168
+ content: {
169
+ content: ()=>/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
170
+ className: methods.makeCssClass(styles.headerContent)
171
+ }, content.header && content.header(mergeObjects([
172
+ {
173
+ width: 'auto'
174
+ },
175
+ properties.header?.contentStyle
176
+ ])), /*#__PURE__*/ React.createElement("div", {
177
+ className: methods.makeCssClass([
178
+ styles.mobile,
179
+ styles.mdMenu
180
+ ])
181
+ }, /*#__PURE__*/ React.createElement(MobileMenu, {
182
+ blockId: `${blockId}_mobile_menu`,
183
+ components: {
184
+ Icon,
185
+ Link
186
+ },
187
+ basePath: basePath,
188
+ events: events,
189
+ methods: methods,
190
+ menus: menus,
191
+ pageId: pageId,
192
+ properties: mergeObjects([
193
+ {
194
+ mode: 'inline',
195
+ theme: get(properties, 'sider.theme') ?? 'light'
196
+ },
197
+ properties.menu,
198
+ properties.menuMd,
199
+ ]),
200
+ rename: {
201
+ methods: {
202
+ toggleOpen: 'toggleMobileMenuOpen',
203
+ setOpen: 'setMobileMenuOpen'
204
+ },
205
+ events: {
206
+ onClose: 'onMobileMenuClose',
207
+ onOpen: 'onMobileMenuOpen'
208
+ }
209
+ }
210
+ }))), /*#__PURE__*/ React.createElement(Link, {
211
+ home: true
212
+ }, /*#__PURE__*/ React.createElement("picture", null, /*#__PURE__*/ React.createElement("source", {
213
+ media: `(min-width:${properties.logo?.breakpoint ?? 577}px)`,
214
+ srcSet: properties.logo?.src ?? `${basePath}/logo-${properties.header?.theme ?? 'dark'}-theme.png`
215
+ }), /*#__PURE__*/ React.createElement("img", {
216
+ src: (properties.logo?.srcMobile ?? properties.logo?.src) ?? `${basePath}/logo-square-${properties.header?.theme ?? 'dark'}-theme.png`,
217
+ alt: properties.logo?.alt ?? 'Lowdefy',
218
+ className: methods.makeCssClass([
219
+ styles.logo,
220
+ properties.logo?.style
221
+ ])
222
+ }))))
223
+ }
224
+ }), /*#__PURE__*/ React.createElement(Layout, {
225
+ blockId: `${blockId}_layout`,
226
+ components: {
227
+ Icon,
228
+ Link
229
+ },
230
+ events: events,
231
+ properties: properties.layout,
232
+ content: {
233
+ content: ()=>/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Sider, {
234
+ blockId: `${blockId}_sider`,
235
+ components: {
236
+ Icon,
237
+ Link
238
+ },
239
+ events: events,
240
+ methods: methods,
241
+ properties: mergeObjects([
242
+ {
243
+ theme: get(properties, 'sider.theme') ?? 'light',
244
+ style: styles.desktop
245
+ },
246
+ properties.sider,
247
+ ]),
248
+ rename: {
249
+ methods: {
250
+ toggleOpen: '_toggleSiderOpen',
251
+ setOpen: '_setSiderOpen'
252
+ }
253
+ },
254
+ content: {
255
+ content: ()=>/*#__PURE__*/ React.createElement("div", {
256
+ style: styles.sider
257
+ }, /*#__PURE__*/ React.createElement(Menu, {
258
+ blockId: `${blockId}_menu`,
259
+ components: {
260
+ Icon,
261
+ Link
262
+ },
263
+ basePath: basePath,
264
+ events: events,
265
+ methods: methods,
266
+ menus: menus,
267
+ pageId: pageId,
268
+ properties: mergeObjects([
269
+ {
270
+ mode: 'inline',
271
+ theme: get(properties, 'sider.theme') ?? 'light'
272
+ },
273
+ {
274
+ style: styles.desktop
275
+ },
276
+ properties.menu,
277
+ properties.menuLg,
278
+ ]),
279
+ rename: {
280
+ methods: {
281
+ toggleOpen: 'toggleMobileMenuOpen',
282
+ setOpen: 'setMobileMenuOpen'
283
+ },
284
+ events: {
285
+ onClick: 'onMenuItemClick',
286
+ onSelect: 'onMenuItemCSelect',
287
+ onToggleMenuGroup: 'onToggleMenuGroup'
288
+ }
289
+ }
290
+ }), /*#__PURE__*/ React.createElement("div", {
291
+ style: {
292
+ flex: '1 0 auto'
293
+ }
294
+ }, content.sider && content.sider()), !get(properties, 'sider.hideToggleButton') ?? /*#__PURE__*/ React.createElement(Affix, {
295
+ blockId: `${blockId}_toggle_sider_affix`,
296
+ components: {
297
+ Icon,
298
+ Link
299
+ },
300
+ events: events,
301
+ properties: {
302
+ offsetBottom: 0
303
+ },
304
+ methods: methods,
305
+ rename: {
306
+ events: {
307
+ onChange: 'onChangeToggleSiderAffix'
308
+ }
309
+ },
310
+ content: {
311
+ content: ()=>/*#__PURE__*/ React.createElement("div", {
312
+ style: {
313
+ background: get(properties, 'sider.theme') === 'dark' ? '#30393e' : 'white'
314
+ }
315
+ }, /*#__PURE__*/ React.createElement(Button, {
316
+ blockId: `${blockId}_toggle_sider`,
317
+ components: {
318
+ Icon,
319
+ Link
320
+ },
321
+ events: events,
322
+ properties: {
323
+ hideTitle: true,
324
+ type: 'link',
325
+ block: true,
326
+ icon: {
327
+ name: openSiderState ? 'AiOutlineMenuFold' : 'AiOutlineMenuUnfold'
328
+ },
329
+ ...properties.toggleSiderButton ?? {}
330
+ },
331
+ methods: methods,
332
+ onClick: ()=>methods.toggleSiderOpen(),
333
+ rename: {
334
+ events: {
335
+ onClick: 'onToggleSider'
336
+ }
337
+ }
338
+ }))
339
+ }
340
+ }))
341
+ }
342
+ }), /*#__PURE__*/ React.createElement(Content, {
343
+ blockId: `${blockId}_content`,
344
+ components: {
345
+ Icon,
346
+ Link
347
+ },
348
+ events: events,
349
+ properties: mergeObjects([
350
+ {
351
+ style: styles.body
352
+ },
353
+ properties.content
354
+ ]),
355
+ content: {
356
+ content: ()=>/*#__PURE__*/ React.createElement(React.Fragment, null, !type.isNone(properties.breadcrumb) ? /*#__PURE__*/ React.createElement(Breadcrumb, {
357
+ blockId: `${blockId}_breadcrumb`,
358
+ basePath: basePath,
359
+ components: {
360
+ Icon,
361
+ Link
362
+ },
363
+ events: events,
364
+ methods: methods,
365
+ properties: mergeObjects([
366
+ {
367
+ style: styles.breadcrumb
368
+ },
369
+ properties.breadcrumb,
370
+ ]),
371
+ rename: {
372
+ events: {
373
+ onClick: 'onBreadcrumbClick'
374
+ }
375
+ }
376
+ }) : /*#__PURE__*/ React.createElement("div", {
377
+ className: methods.makeCssClass(styles.noBreadcrumb)
378
+ }), content.content && content.content(), content.footer && /*#__PURE__*/ React.createElement(Footer, {
379
+ blockId: `${blockId}_footer`,
380
+ components: {
381
+ Icon,
382
+ Link
383
+ },
384
+ events: events,
385
+ properties: properties.footer,
386
+ content: {
387
+ content: ()=>content.footer()
388
+ }
389
+ }))
390
+ }
391
+ }))
392
+ }
393
+ }))
394
+ }
395
+ });
396
+ };
397
+ PageSiderMenu.defaultProps = blockDefaultProps;
398
+ PageSiderMenu.meta = {
399
+ category: 'container',
400
+ icons: [
401
+ 'AiOutlineMenuFold',
402
+ 'AiOutlineMenuUnfold',
403
+ ...MobileMenu.meta.icons
404
+ ],
405
+ styles: [
406
+ 'blocks/PageSiderMenu/style.less'
407
+ ]
408
+ };
409
+ export default PageSiderMenu;