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

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/package.json +9 -10
  2. package/dist/blocks/Affix/Affix.js +0 -43
  3. package/dist/blocks/Affix/schema.json +0 -34
  4. package/dist/blocks/Affix/style.less +0 -17
  5. package/dist/blocks/Alert/Alert.js +0 -78
  6. package/dist/blocks/Alert/schema.json +0 -62
  7. package/dist/blocks/Alert/style.less +0 -17
  8. package/dist/blocks/AutoComplete/AutoComplete.js +0 -86
  9. package/dist/blocks/AutoComplete/schema.json +0 -148
  10. package/dist/blocks/AutoComplete/style.less +0 -17
  11. package/dist/blocks/Avatar/Avatar.js +0 -49
  12. package/dist/blocks/Avatar/schema.json +0 -71
  13. package/dist/blocks/Avatar/style.less +0 -17
  14. package/dist/blocks/Badge/Badge.js +0 -44
  15. package/dist/blocks/Badge/schema.json +0 -70
  16. package/dist/blocks/Badge/style.less +0 -17
  17. package/dist/blocks/Breadcrumb/Breadcrumb.js +0 -79
  18. package/dist/blocks/Breadcrumb/schema.json +0 -78
  19. package/dist/blocks/Breadcrumb/style.less +0 -17
  20. package/dist/blocks/Button/Button.js +0 -77
  21. package/dist/blocks/Button/schema.json +0 -91
  22. package/dist/blocks/Button/style.less +0 -17
  23. package/dist/blocks/ButtonSelector/ButtonSelector.js +0 -91
  24. package/dist/blocks/ButtonSelector/schema.json +0 -188
  25. package/dist/blocks/ButtonSelector/style.less +0 -18
  26. package/dist/blocks/Card/Card.js +0 -50
  27. package/dist/blocks/Card/schema.json +0 -58
  28. package/dist/blocks/Card/style.less +0 -17
  29. package/dist/blocks/CheckboxSelector/CheckboxSelector.js +0 -97
  30. package/dist/blocks/CheckboxSelector/schema.json +0 -193
  31. package/dist/blocks/CheckboxSelector/style.less +0 -19
  32. package/dist/blocks/CheckboxSwitch/CheckboxSwitch.js +0 -74
  33. package/dist/blocks/CheckboxSwitch/schema.json +0 -105
  34. package/dist/blocks/CheckboxSwitch/style.less +0 -19
  35. package/dist/blocks/Collapse/Collapse.js +0 -89
  36. package/dist/blocks/Collapse/schema.json +0 -90
  37. package/dist/blocks/Collapse/style.less +0 -17
  38. package/dist/blocks/Comment/Comment.js +0 -56
  39. package/dist/blocks/Comment/schema.json +0 -39
  40. package/dist/blocks/Comment/style.less +0 -18
  41. package/dist/blocks/ConfirmModal/ConfirmModal.js +0 -96
  42. package/dist/blocks/ConfirmModal/schema.json +0 -122
  43. package/dist/blocks/ConfirmModal/style.less +0 -17
  44. package/dist/blocks/Content/Content.js +0 -31
  45. package/dist/blocks/Content/schema.json +0 -16
  46. package/dist/blocks/Content/style.less +0 -17
  47. package/dist/blocks/ControlledList/ControlledList.js +0 -137
  48. package/dist/blocks/ControlledList/schema.json +0 -68
  49. package/dist/blocks/ControlledList/style.less +0 -19
  50. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +0 -102
  51. package/dist/blocks/DateRangeSelector/schema.json +0 -221
  52. package/dist/blocks/DateRangeSelector/style.less +0 -18
  53. package/dist/blocks/DateSelector/DateSelector.js +0 -90
  54. package/dist/blocks/DateSelector/schema.json +0 -183
  55. package/dist/blocks/DateSelector/style.less +0 -18
  56. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +0 -98
  57. package/dist/blocks/DateTimeSelector/schema.json +0 -215
  58. package/dist/blocks/DateTimeSelector/style.less +0 -18
  59. package/dist/blocks/Descriptions/Descriptions.js +0 -83
  60. package/dist/blocks/Descriptions/schema.json +0 -186
  61. package/dist/blocks/Descriptions/style.less +0 -17
  62. package/dist/blocks/Divider/Divider.js +0 -37
  63. package/dist/blocks/Divider/schema.json +0 -35
  64. package/dist/blocks/Divider/style.less +0 -17
  65. package/dist/blocks/Drawer/Drawer.js +0 -104
  66. package/dist/blocks/Drawer/schema.json +0 -113
  67. package/dist/blocks/Drawer/style.less +0 -17
  68. package/dist/blocks/Footer/Footer.js +0 -36
  69. package/dist/blocks/Footer/schema.json +0 -16
  70. package/dist/blocks/Footer/style.less +0 -17
  71. package/dist/blocks/Header/Header.js +0 -36
  72. package/dist/blocks/Header/schema.json +0 -22
  73. package/dist/blocks/Header/style.less +0 -17
  74. package/dist/blocks/Label/Label.js +0 -116
  75. package/dist/blocks/Label/getLabelCol.js +0 -55
  76. package/dist/blocks/Label/getWrapperCol.js +0 -69
  77. package/dist/blocks/Label/labelLogic.js +0 -106
  78. package/dist/blocks/Label/schema.json +0 -62
  79. package/dist/blocks/Label/style.less +0 -34
  80. package/dist/blocks/Layout/Layout.js +0 -30
  81. package/dist/blocks/Layout/schema.json +0 -16
  82. package/dist/blocks/Layout/style.less +0 -17
  83. package/dist/blocks/Menu/Menu.js +0 -209
  84. package/dist/blocks/Menu/schema.json +0 -236
  85. package/dist/blocks/Menu/style.less +0 -17
  86. package/dist/blocks/Message/Message.js +0 -53
  87. package/dist/blocks/Message/schema.json +0 -48
  88. package/dist/blocks/Message/style.less +0 -17
  89. package/dist/blocks/MobileMenu/MobileMenu.js +0 -128
  90. package/dist/blocks/MobileMenu/schema.json +0 -236
  91. package/dist/blocks/MobileMenu/style.less +0 -19
  92. package/dist/blocks/Modal/Modal.js +0 -130
  93. package/dist/blocks/Modal/schema.json +0 -118
  94. package/dist/blocks/Modal/style.less +0 -17
  95. package/dist/blocks/MonthSelector/MonthSelector.js +0 -90
  96. package/dist/blocks/MonthSelector/schema.json +0 -183
  97. package/dist/blocks/MonthSelector/style.less +0 -18
  98. package/dist/blocks/MultipleSelector/MultipleSelector.js +0 -146
  99. package/dist/blocks/MultipleSelector/schema.json +0 -239
  100. package/dist/blocks/MultipleSelector/style.less +0 -18
  101. package/dist/blocks/Notification/Notification.js +0 -77
  102. package/dist/blocks/Notification/schema.json +0 -85
  103. package/dist/blocks/Notification/style.less +0 -18
  104. package/dist/blocks/NumberInput/NumberInput.js +0 -82
  105. package/dist/blocks/NumberInput/schema.json +0 -157
  106. package/dist/blocks/NumberInput/style.less +0 -18
  107. package/dist/blocks/PageHCF/PageHCF.js +0 -70
  108. package/dist/blocks/PageHCF/schema.json +0 -64
  109. package/dist/blocks/PageHCF/style.less +0 -20
  110. package/dist/blocks/PageHCSF/PageHCSF.js +0 -98
  111. package/dist/blocks/PageHCSF/schema.json +0 -148
  112. package/dist/blocks/PageHCSF/style.less +0 -21
  113. package/dist/blocks/PageHSCF/PageHSCF.js +0 -98
  114. package/dist/blocks/PageHSCF/schema.json +0 -147
  115. package/dist/blocks/PageHSCF/style.less +0 -21
  116. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +0 -290
  117. package/dist/blocks/PageHeaderMenu/schema.json +0 -215
  118. package/dist/blocks/PageHeaderMenu/style.less +0 -23
  119. package/dist/blocks/PageSHCF/PageSHCF.js +0 -98
  120. package/dist/blocks/PageSHCF/schema.json +0 -148
  121. package/dist/blocks/PageSHCF/style.less +0 -21
  122. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +0 -406
  123. package/dist/blocks/PageSiderMenu/schema.json +0 -283
  124. package/dist/blocks/PageSiderMenu/style.less +0 -26
  125. package/dist/blocks/Pagination/Pagination.js +0 -98
  126. package/dist/blocks/Pagination/schema.json +0 -75
  127. package/dist/blocks/Pagination/style.less +0 -17
  128. package/dist/blocks/Paragraph/Paragraph.js +0 -102
  129. package/dist/blocks/Paragraph/schema.json +0 -131
  130. package/dist/blocks/Paragraph/style.less +0 -17
  131. package/dist/blocks/ParagraphInput/ParagraphInput.js +0 -125
  132. package/dist/blocks/ParagraphInput/schema.json +0 -162
  133. package/dist/blocks/ParagraphInput/style.less +0 -17
  134. package/dist/blocks/PasswordInput/PasswordInput.js +0 -78
  135. package/dist/blocks/PasswordInput/schema.json +0 -123
  136. package/dist/blocks/PasswordInput/style.less +0 -18
  137. package/dist/blocks/Progress/Progress.js +0 -42
  138. package/dist/blocks/Progress/schema.json +0 -76
  139. package/dist/blocks/Progress/style.less +0 -17
  140. package/dist/blocks/RadioSelector/RadioSelector.js +0 -96
  141. package/dist/blocks/RadioSelector/schema.json +0 -190
  142. package/dist/blocks/RadioSelector/style.less +0 -19
  143. package/dist/blocks/RatingSlider/RatingSlider.js +0 -240
  144. package/dist/blocks/RatingSlider/schema.json +0 -169
  145. package/dist/blocks/RatingSlider/style.less +0 -19
  146. package/dist/blocks/Result/Result.js +0 -48
  147. package/dist/blocks/Result/schema.json +0 -30
  148. package/dist/blocks/Result/style.less +0 -17
  149. package/dist/blocks/Selector/Selector.js +0 -140
  150. package/dist/blocks/Selector/schema.json +0 -236
  151. package/dist/blocks/Selector/style.less +0 -18
  152. package/dist/blocks/Sider/Sider.js +0 -85
  153. package/dist/blocks/Sider/schema.json +0 -71
  154. package/dist/blocks/Sider/style.less +0 -17
  155. package/dist/blocks/Statistic/Statistic.js +0 -51
  156. package/dist/blocks/Statistic/schema.json +0 -74
  157. package/dist/blocks/Statistic/style.less +0 -17
  158. package/dist/blocks/Switch/Switch.js +0 -101
  159. package/dist/blocks/Switch/schema.json +0 -136
  160. package/dist/blocks/Switch/style.less +0 -18
  161. package/dist/blocks/Tabs/Tabs.js +0 -108
  162. package/dist/blocks/Tabs/schema.json +0 -97
  163. package/dist/blocks/Tabs/style.less +0 -17
  164. package/dist/blocks/TextArea/TextArea.js +0 -87
  165. package/dist/blocks/TextArea/schema.json +0 -164
  166. package/dist/blocks/TextArea/style.less +0 -18
  167. package/dist/blocks/TextInput/TextInput.js +0 -92
  168. package/dist/blocks/TextInput/schema.json +0 -149
  169. package/dist/blocks/TextInput/style.less +0 -18
  170. package/dist/blocks/TimelineList/TimelineList.js +0 -102
  171. package/dist/blocks/TimelineList/schema.json +0 -65
  172. package/dist/blocks/TimelineList/style.less +0 -17
  173. package/dist/blocks/Title/Title.js +0 -109
  174. package/dist/blocks/Title/schema.json +0 -136
  175. package/dist/blocks/Title/style.less +0 -17
  176. package/dist/blocks/TitleInput/TitleInput.js +0 -122
  177. package/dist/blocks/TitleInput/schema.json +0 -171
  178. package/dist/blocks/TitleInput/style.less +0 -17
  179. package/dist/blocks/Tooltip/Tooltip.js +0 -48
  180. package/dist/blocks/Tooltip/schema.json +0 -91
  181. package/dist/blocks/Tooltip/style.less +0 -17
  182. package/dist/blocks/WeekSelector/WeekSelector.js +0 -91
  183. package/dist/blocks/WeekSelector/schema.json +0 -183
  184. package/dist/blocks/WeekSelector/style.less +0 -18
  185. package/dist/blocks.js +0 -74
  186. package/dist/color.js +0 -85
  187. package/dist/disabledDate.js +0 -45
  188. package/dist/getUniqueValues.js +0 -30
  189. package/dist/getValueIndex.js +0 -42
  190. package/dist/style.less +0 -17
  191. package/dist/types.js +0 -31
  192. package/dist/useRunAfterUpdate.js +0 -29
  193. package/dist/validationExamples.js +0 -40
@@ -1,236 +0,0 @@
1
- {
2
- "type": "object",
3
- "properties": {
4
- "type": "object",
5
- "additionalProperties": false,
6
- "properties": {
7
- "expandIcon": {
8
- "type": ["string", "object"],
9
- "description": "Menu expand icon.",
10
- "docs": {
11
- "displayType": "icon"
12
- }
13
- },
14
- "menuId": {
15
- "type": "string",
16
- "description": "App menu id used to get menu links."
17
- },
18
- "mode": {
19
- "type": "string",
20
- "enum": ["vertical", "horizontal", "inline"],
21
- "default": "vertical",
22
- "description": "Type of menu to render."
23
- },
24
- "selectedKeys": {
25
- "type": "array",
26
- "description": "Array with the keys of currently selected menu items.",
27
- "items": {
28
- "type": "string",
29
- "description": "A menu item 'id' to be displayed as selected."
30
- }
31
- },
32
- "defaultOpenKeys": {
33
- "type": "array",
34
- "description": "Array with the keys of default opened sub menus.",
35
- "items": {
36
- "type": "string",
37
- "description": "A menu item 'id' which should be open by default."
38
- }
39
- },
40
- "forceSubMenuRender": {
41
- "type": "boolean",
42
- "description": "Render submenu into DOM before it becomes visible.",
43
- "default": false
44
- },
45
- "subMenuCloseDelay": {
46
- "type": "number",
47
- "description": "Delay time to hide submenu when mouse leaves (in seconds)."
48
- },
49
- "subMenuOpenDelay": {
50
- "type": "number",
51
- "description": "Delay time to show submenu when mouse enters (in seconds)."
52
- },
53
- "theme": {
54
- "type": "string",
55
- "enum": ["dark", "light"],
56
- "default": "dark",
57
- "description": "Color theme of menu."
58
- },
59
- "links": {
60
- "type": "array",
61
- "items": {
62
- "type": "object",
63
- "required": ["id", "type"],
64
- "properties": {
65
- "id": {
66
- "type": "string",
67
- "description": "Menu item id."
68
- },
69
- "type": {
70
- "type": "string",
71
- "enum": ["MenuDivider", "MenuLink", "MenuGroup"],
72
- "default": "MenuLink",
73
- "description": "Menu item type."
74
- },
75
- "pageId": {
76
- "type": "string",
77
- "description": "Page to link to."
78
- },
79
- "style": {
80
- "type": "object",
81
- "description": "Css style to applied to link.",
82
- "docs": {
83
- "displayType": "yaml"
84
- }
85
- },
86
- "properties": {
87
- "type": "object",
88
- "description": "properties from menu item.",
89
- "properties": {
90
- "title": {
91
- "type": "string",
92
- "description": "Menu item title."
93
- },
94
- "icon": {
95
- "type": ["string", "object"],
96
- "description": "Name of an React-Icon (See <a href='https://react-icons.github.io/react-icons/'>all icons</a>) or properties of an Icon block to customize icon on menu item.",
97
- "docs": {
98
- "displayType": "icon"
99
- }
100
- },
101
- "danger": {
102
- "type": "boolean",
103
- "default": false,
104
- "description": "Apply danger style to menu item."
105
- },
106
- "dashed": {
107
- "type": "boolean",
108
- "default": false,
109
- "description": "Whether the divider line is dashed."
110
- }
111
- }
112
- },
113
- "links": {
114
- "type": "array",
115
- "items": {
116
- "type": "object",
117
- "required": ["id", "type"],
118
- "properties": {
119
- "id": {
120
- "type": "string",
121
- "description": "Menu item id."
122
- },
123
- "type": {
124
- "type": "string",
125
- "enum": ["MenuDivider", "MenuLink", "MenuGroup"],
126
- "default": "MenuLink",
127
- "description": "Menu item type."
128
- },
129
- "style": {
130
- "type": "object",
131
- "description": "Css style to applied to sub-link.",
132
- "docs": {
133
- "displayType": "yaml"
134
- }
135
- },
136
- "pageId": {
137
- "type": "string",
138
- "description": "Page to link to."
139
- },
140
- "properties": {
141
- "type": "object",
142
- "description": "properties from menu item.",
143
- "properties": {
144
- "title": {
145
- "type": "string",
146
- "description": "Menu item title."
147
- },
148
- "danger": {
149
- "type": "boolean",
150
- "default": false,
151
- "description": "Apply danger style to menu item."
152
- },
153
- "dashed": {
154
- "type": "boolean",
155
- "default": false,
156
- "description": "Whether the divider line is dashed."
157
- }
158
- },
159
- "links": {
160
- "type": "array",
161
- "items": {
162
- "type": "object",
163
- "required": ["id", "type"],
164
- "properties": {
165
- "id": {
166
- "type": "string",
167
- "description": "Menu item id."
168
- },
169
- "type": {
170
- "type": "string",
171
- "enum": ["MenuDivider", "MenuLink"],
172
- "default": "MenuLink",
173
- "description": "Menu item type."
174
- },
175
- "style": {
176
- "type": "object",
177
- "description": "Css style to applied to sub-link.",
178
- "docs": {
179
- "displayType": "yaml"
180
- }
181
- },
182
- "pageId": {
183
- "type": "string",
184
- "description": "Page to link to."
185
- },
186
- "properties": {
187
- "type": "object",
188
- "description": "properties from menu item.",
189
- "properties": {
190
- "title": {
191
- "type": "string",
192
- "description": "Menu item title."
193
- },
194
- "danger": {
195
- "type": "boolean",
196
- "default": false,
197
- "description": "Apply danger style to menu item."
198
- },
199
- "dashed": {
200
- "type": "boolean",
201
- "default": false,
202
- "description": "Whether the divider line is dashed."
203
- }
204
- }
205
- }
206
- }
207
- }
208
- }
209
- }
210
- }
211
- }
212
- }
213
- }
214
- }
215
- }
216
- }
217
- },
218
- "events": {
219
- "type": "object",
220
- "additionalProperties": false,
221
- "properties": {
222
- "onSelect": {
223
- "type": "array",
224
- "description": "Trigger action when menu item is selected."
225
- },
226
- "onClick": {
227
- "type": "array",
228
- "description": "Trigger action when menu item is clicked."
229
- },
230
- "onToggleMenuGroup": {
231
- "type": "array",
232
- "description": "Trigger action when mobile menu group is opened."
233
- }
234
- }
235
- }
236
- }
@@ -1,17 +0,0 @@
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 'antd/lib/menu/style/index.less';
@@ -1,53 +0,0 @@
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, { useEffect } from 'react';
16
- import { message } from 'antd';
17
- import { type } from '@lowdefy/helpers';
18
- import { blockDefaultProps, renderHtml } from '@lowdefy/block-utils';
19
- const MessageBlock = ({ blockId , components: { Icon } , events , methods , properties })=>{
20
- useEffect(()=>{
21
- methods.registerMethod('open', (args = {})=>{
22
- return message[args.status || properties.status || 'success']({
23
- id: `${blockId}_message`,
24
- content: renderHtml({
25
- html: args.content || properties.content || blockId,
26
- methods
27
- }),
28
- duration: type.isNone(args.duration) ? properties.duration : args.duration,
29
- onClose: ()=>methods.triggerEvent({
30
- name: 'onClose'
31
- }),
32
- icon: (args.icon || properties.icon) && /*#__PURE__*/ React.createElement(Icon, {
33
- blockId: `${blockId}_icon`,
34
- events: events,
35
- properties: args.icon || properties.icon
36
- }),
37
- className: methods.makeCssClass(properties.messageStyle)
38
- });
39
- });
40
- });
41
- return /*#__PURE__*/ React.createElement("div", {
42
- id: blockId
43
- });
44
- };
45
- MessageBlock.defaultProps = blockDefaultProps;
46
- MessageBlock.meta = {
47
- category: 'display',
48
- icons: [],
49
- styles: [
50
- 'blocks/Message/style.less'
51
- ]
52
- };
53
- export default MessageBlock;
@@ -1,48 +0,0 @@
1
- {
2
- "type": "object",
3
- "properties": {
4
- "type": "object",
5
- "additionalProperties": false,
6
- "properties": {
7
- "content": {
8
- "type": "string",
9
- "description": "The content of the message - supports html."
10
- },
11
- "duration": {
12
- "type": "number",
13
- "default": 4.5,
14
- "description": "Time(seconds) before auto-dismiss, don't dismiss if set to 0."
15
- },
16
- "icon": {
17
- "type": ["string", "object"],
18
- "description": "Name of an React-Icon (See <a href='https://react-icons.github.io/react-icons/'>all icons</a>) or properties of an Icon block to customize message icon.",
19
- "docs": {
20
- "displayType": "icon"
21
- }
22
- },
23
- "status": {
24
- "type": "string",
25
- "enum": ["success", "error", "info", "warning", "loading"],
26
- "default": "info",
27
- "description": "Message status type."
28
- },
29
- "messageStyle": {
30
- "type": "object",
31
- "description": "Css style to applied to message.",
32
- "docs": {
33
- "displayType": "yaml"
34
- }
35
- }
36
- }
37
- },
38
- "events": {
39
- "type": "object",
40
- "additionalProperties": false,
41
- "properties": {
42
- "onClose": {
43
- "type": "array",
44
- "description": "Trigger actions when message is closed."
45
- }
46
- }
47
- }
48
- }
@@ -1,17 +0,0 @@
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 'antd/lib/message/style/index.less';
@@ -1,128 +0,0 @@
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 { blockDefaultProps } from '@lowdefy/block-utils';
17
- import { mergeObjects, get } from '@lowdefy/helpers';
18
- import Button from '../Button/Button.js';
19
- import Drawer from '../Drawer/Drawer.js';
20
- import Menu from '../Menu/Menu.js';
21
- const MobileMenu = ({ basePath , blockId , components , events , methods , menus , pageId , properties , rename , })=>{
22
- const [openState, setOpen] = useState(false);
23
- useEffect(()=>{
24
- methods.registerMethod(get(rename, 'methods.toggleOpen', {
25
- default: 'toggleOpen'
26
- }), ()=>{
27
- methods._setOpen({
28
- open: !openState
29
- });
30
- setOpen(!openState);
31
- });
32
- methods.registerMethod(get(rename, 'methods.setOpen', {
33
- default: 'setOpen'
34
- }), ({ open })=>{
35
- methods._setOpen({
36
- open
37
- });
38
- setOpen(open);
39
- });
40
- });
41
- return /*#__PURE__*/ React.createElement("div", {
42
- id: blockId
43
- }, /*#__PURE__*/ React.createElement(Button, {
44
- blockId: `${blockId}_button`,
45
- components: components,
46
- events: events,
47
- properties: {
48
- hideTitle: true,
49
- type: 'primary',
50
- icon: {
51
- name: openState ? 'AiOutlineMenuUnfold' : 'AiOutlineMenuFold'
52
- },
53
- ...properties.toggleMenuButton || {}
54
- },
55
- methods: methods,
56
- onClick: ()=>methods[get(rename, 'methods.toggleOpen', {
57
- default: 'toggleOpen'
58
- })](),
59
- rename: {
60
- events: {
61
- onClick: 'onToggleDrawer'
62
- }
63
- }
64
- }), /*#__PURE__*/ React.createElement(Drawer, {
65
- blockId: `${blockId}_drawer`,
66
- components: components,
67
- properties: mergeObjects([
68
- {
69
- bodyStyle: {
70
- padding: '3.1em 0 0 0'
71
- }
72
- },
73
- properties.drawer,
74
- ]),
75
- rename: {
76
- events: {
77
- onToggle: 'onToggleDrawer'
78
- },
79
- methods: {
80
- setOpen: '_setOpen',
81
- toggleOpen: '_toggleOpen'
82
- }
83
- },
84
- methods: methods,
85
- onClose: ()=>methods[get(rename, 'methods.toggleOpen', {
86
- default: 'toggleOpen'
87
- })](),
88
- content: {
89
- content: ()=>/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Menu, {
90
- basePath: basePath,
91
- components: components,
92
- blockId: `${blockId}_menu`,
93
- methods: methods,
94
- events: events,
95
- menus: menus,
96
- pageId: pageId,
97
- properties: {
98
- collapsed: false,
99
- theme: 'light',
100
- ...mergeObjects(properties, {
101
- style: {
102
- marginTop: 24
103
- }
104
- }) || {},
105
- mode: 'inline'
106
- },
107
- rename: {
108
- events: {
109
- onClick: 'onMenuItemClick',
110
- onSelect: 'onMenuItemSelect'
111
- }
112
- }
113
- }))
114
- }
115
- }));
116
- };
117
- MobileMenu.defaultProps = blockDefaultProps;
118
- MobileMenu.meta = {
119
- category: 'display',
120
- icons: [
121
- 'AiOutlineMenuUnfold',
122
- 'AiOutlineMenuFold'
123
- ],
124
- styles: [
125
- 'blocks/MobileMenu/style.less'
126
- ]
127
- };
128
- export default MobileMenu;