@lowdefy/blocks-antd 4.5.2 → 4.7.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 (262) hide show
  1. package/dist/blocks/Affix/Affix.js +1 -1
  2. package/dist/blocks/Affix/e2e.js +19 -0
  3. package/dist/blocks/Affix/schema.js +48 -0
  4. package/dist/blocks/Affix/style.less +1 -1
  5. package/dist/blocks/Alert/Alert.js +1 -1
  6. package/dist/blocks/Alert/e2e.js +32 -0
  7. package/dist/blocks/Alert/schema.js +84 -0
  8. package/dist/blocks/Alert/style.less +1 -1
  9. package/dist/blocks/AutoComplete/AutoComplete.js +5 -2
  10. package/dist/blocks/AutoComplete/e2e.js +42 -0
  11. package/dist/blocks/AutoComplete/schema.js +181 -0
  12. package/dist/blocks/AutoComplete/style.less +1 -1
  13. package/dist/blocks/Avatar/Avatar.js +1 -1
  14. package/dist/blocks/Avatar/e2e.js +19 -0
  15. package/dist/blocks/Avatar/schema.js +98 -0
  16. package/dist/blocks/Avatar/style.less +1 -1
  17. package/dist/blocks/Badge/Badge.js +1 -1
  18. package/dist/blocks/Badge/e2e.js +23 -0
  19. package/dist/blocks/Badge/schema.js +101 -0
  20. package/dist/blocks/Badge/style.less +1 -1
  21. package/dist/blocks/Breadcrumb/Breadcrumb.js +1 -1
  22. package/dist/blocks/Breadcrumb/e2e.js +23 -0
  23. package/dist/blocks/Breadcrumb/schema.js +95 -0
  24. package/dist/blocks/Breadcrumb/style.less +1 -1
  25. package/dist/blocks/Button/Button.js +1 -1
  26. package/dist/blocks/Button/e2e.js +29 -0
  27. package/dist/blocks/Button/schema.js +123 -0
  28. package/dist/blocks/Button/style.less +1 -1
  29. package/dist/blocks/ButtonSelector/ButtonSelector.js +7 -3
  30. package/dist/blocks/ButtonSelector/e2e.js +30 -0
  31. package/dist/blocks/ButtonSelector/schema.js +214 -0
  32. package/dist/blocks/ButtonSelector/style.less +1 -1
  33. package/dist/blocks/Card/Card.js +1 -1
  34. package/dist/blocks/Card/e2e.js +28 -0
  35. package/dist/blocks/Card/schema.js +75 -0
  36. package/dist/blocks/Card/style.less +1 -1
  37. package/dist/blocks/Carousel/Carousel.js +1 -1
  38. package/dist/blocks/Carousel/e2e.js +23 -0
  39. package/dist/blocks/Carousel/schema.js +202 -0
  40. package/dist/blocks/Carousel/style.less +1 -1
  41. package/dist/blocks/CheckboxSelector/CheckboxSelector.js +5 -2
  42. package/dist/blocks/CheckboxSelector/e2e.js +36 -0
  43. package/dist/blocks/CheckboxSelector/schema.js +220 -0
  44. package/dist/blocks/CheckboxSelector/style.less +1 -1
  45. package/dist/blocks/CheckboxSwitch/CheckboxSwitch.js +5 -2
  46. package/dist/blocks/CheckboxSwitch/e2e.js +33 -0
  47. package/dist/blocks/CheckboxSwitch/schema.js +122 -0
  48. package/dist/blocks/CheckboxSwitch/style.less +1 -1
  49. package/dist/blocks/Collapse/Collapse.js +1 -1
  50. package/dist/blocks/Collapse/e2e.js +34 -0
  51. package/dist/blocks/Collapse/schema.js +110 -0
  52. package/dist/blocks/Collapse/style.less +1 -1
  53. package/dist/blocks/Comment/Comment.js +1 -1
  54. package/dist/blocks/Comment/e2e.js +24 -0
  55. package/dist/blocks/Comment/schema.js +56 -0
  56. package/dist/blocks/Comment/style.less +1 -1
  57. package/dist/blocks/ConfirmModal/ConfirmModal.js +1 -1
  58. package/dist/blocks/ConfirmModal/e2e.js +30 -0
  59. package/dist/blocks/ConfirmModal/schema.js +148 -0
  60. package/dist/blocks/ConfirmModal/style.less +1 -1
  61. package/dist/blocks/Content/Content.js +1 -1
  62. package/dist/blocks/Content/e2e.js +19 -0
  63. package/dist/blocks/Content/schema.js +30 -0
  64. package/dist/blocks/Content/style.less +1 -1
  65. package/dist/blocks/ControlledList/ControlledList.js +1 -1
  66. package/dist/blocks/ControlledList/e2e.js +27 -0
  67. package/dist/blocks/ControlledList/schema.js +94 -0
  68. package/dist/blocks/ControlledList/style.less +1 -1
  69. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +7 -3
  70. package/dist/blocks/DateRangeSelector/e2e.js +26 -0
  71. package/dist/blocks/DateRangeSelector/schema.js +266 -0
  72. package/dist/blocks/DateRangeSelector/style.less +1 -1
  73. package/dist/blocks/DateSelector/DateSelector.js +7 -3
  74. package/dist/blocks/DateSelector/e2e.js +32 -0
  75. package/dist/blocks/DateSelector/schema.js +219 -0
  76. package/dist/blocks/DateSelector/style.less +1 -1
  77. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +7 -3
  78. package/dist/blocks/DateTimeSelector/e2e.js +32 -0
  79. package/dist/blocks/DateTimeSelector/schema.js +251 -0
  80. package/dist/blocks/DateTimeSelector/style.less +1 -1
  81. package/dist/blocks/Descriptions/Descriptions.js +1 -1
  82. package/dist/blocks/Descriptions/e2e.js +26 -0
  83. package/dist/blocks/Descriptions/schema.js +213 -0
  84. package/dist/blocks/Descriptions/style.less +1 -1
  85. package/dist/blocks/Divider/Divider.js +1 -1
  86. package/dist/blocks/Divider/e2e.js +19 -0
  87. package/dist/blocks/Divider/schema.js +56 -0
  88. package/dist/blocks/Divider/style.less +1 -1
  89. package/dist/blocks/Drawer/Drawer.js +1 -1
  90. package/dist/blocks/Drawer/e2e.js +27 -0
  91. package/dist/blocks/Drawer/schema.js +146 -0
  92. package/dist/blocks/Drawer/style.less +1 -1
  93. package/dist/blocks/Footer/Footer.js +1 -1
  94. package/dist/blocks/Footer/e2e.js +19 -0
  95. package/dist/blocks/Footer/schema.js +30 -0
  96. package/dist/blocks/Footer/style.less +1 -1
  97. package/dist/blocks/Header/Header.js +1 -1
  98. package/dist/blocks/Header/e2e.js +19 -0
  99. package/dist/blocks/Header/schema.js +39 -0
  100. package/dist/blocks/Header/style.less +1 -1
  101. package/dist/blocks/Label/Label.js +1 -1
  102. package/dist/blocks/Label/e2e.js +24 -0
  103. package/dist/blocks/Label/getLabelCol.js +1 -1
  104. package/dist/blocks/Label/getWrapperCol.js +1 -1
  105. package/dist/blocks/Label/labelLogic.js +1 -1
  106. package/dist/blocks/Label/schema.js +83 -0
  107. package/dist/blocks/Label/style.less +1 -1
  108. package/dist/blocks/Layout/Layout.js +1 -1
  109. package/dist/blocks/Layout/e2e.js +19 -0
  110. package/dist/blocks/Layout/schema.js +30 -0
  111. package/dist/blocks/Layout/style.less +1 -1
  112. package/dist/blocks/Menu/Menu.js +1 -1
  113. package/dist/blocks/Menu/e2e.js +30 -0
  114. package/dist/blocks/Menu/schema.js +283 -0
  115. package/dist/blocks/Menu/style.less +1 -1
  116. package/dist/blocks/Message/Message.js +1 -1
  117. package/dist/blocks/Message/e2e.js +27 -0
  118. package/dist/blocks/Message/schema.js +71 -0
  119. package/dist/blocks/Message/style.less +1 -1
  120. package/dist/blocks/MobileMenu/MobileMenu.js +1 -1
  121. package/dist/blocks/MobileMenu/e2e.js +32 -0
  122. package/dist/blocks/MobileMenu/schema.js +276 -0
  123. package/dist/blocks/MobileMenu/style.less +1 -1
  124. package/dist/blocks/Modal/Modal.js +1 -1
  125. package/dist/blocks/Modal/e2e.js +30 -0
  126. package/dist/blocks/Modal/schema.js +142 -0
  127. package/dist/blocks/Modal/style.less +1 -1
  128. package/dist/blocks/MonthSelector/MonthSelector.js +7 -3
  129. package/dist/blocks/MonthSelector/e2e.js +32 -0
  130. package/dist/blocks/MonthSelector/schema.js +219 -0
  131. package/dist/blocks/MonthSelector/style.less +1 -1
  132. package/dist/blocks/MultipleSelector/MultipleSelector.js +1 -1
  133. package/dist/blocks/MultipleSelector/e2e.js +42 -0
  134. package/dist/blocks/MultipleSelector/schema.js +332 -0
  135. package/dist/blocks/MultipleSelector/style.less +1 -1
  136. package/dist/blocks/Notification/Notification.js +1 -1
  137. package/dist/blocks/Notification/e2e.js +27 -0
  138. package/dist/blocks/Notification/schema.js +115 -0
  139. package/dist/blocks/Notification/style.less +1 -1
  140. package/dist/blocks/NumberInput/NumberInput.js +5 -2
  141. package/dist/blocks/NumberInput/e2e.js +29 -0
  142. package/dist/blocks/NumberInput/schema.js +193 -0
  143. package/dist/blocks/NumberInput/style.less +1 -1
  144. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +1 -1
  145. package/dist/blocks/PageHeaderMenu/e2e.js +34 -0
  146. package/dist/blocks/PageHeaderMenu/schema.js +241 -0
  147. package/dist/blocks/PageHeaderMenu/style.less +1 -1
  148. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +1 -1
  149. package/dist/blocks/PageSiderMenu/e2e.js +30 -0
  150. package/dist/blocks/PageSiderMenu/schema.js +321 -0
  151. package/dist/blocks/PageSiderMenu/style.less +1 -1
  152. package/dist/blocks/Pagination/Pagination.js +1 -1
  153. package/dist/blocks/Pagination/e2e.js +28 -0
  154. package/dist/blocks/Pagination/schema.js +101 -0
  155. package/dist/blocks/Pagination/style.less +1 -1
  156. package/dist/blocks/Paragraph/Paragraph.js +1 -1
  157. package/dist/blocks/Paragraph/e2e.js +27 -0
  158. package/dist/blocks/Paragraph/schema.js +162 -0
  159. package/dist/blocks/Paragraph/style.less +1 -1
  160. package/dist/blocks/ParagraphInput/ParagraphInput.js +1 -1
  161. package/dist/blocks/ParagraphInput/e2e.js +33 -0
  162. package/dist/blocks/ParagraphInput/schema.js +192 -0
  163. package/dist/blocks/ParagraphInput/style.less +1 -1
  164. package/dist/blocks/PasswordInput/PasswordInput.js +5 -2
  165. package/dist/blocks/PasswordInput/e2e.js +28 -0
  166. package/dist/blocks/PasswordInput/schema.js +152 -0
  167. package/dist/blocks/PasswordInput/style.less +1 -1
  168. package/dist/blocks/PhoneNumberInput/PhoneNumberInput.js +17 -3
  169. package/dist/blocks/PhoneNumberInput/e2e.js +28 -0
  170. package/dist/blocks/PhoneNumberInput/schema.js +243 -0
  171. package/dist/blocks/PhoneNumberInput/style.less +2 -2
  172. package/dist/blocks/Popover/Popover.js +1 -1
  173. package/dist/blocks/Popover/e2e.js +29 -0
  174. package/dist/blocks/Popover/schema.js +104 -0
  175. package/dist/blocks/Popover/style.less +1 -1
  176. package/dist/blocks/Progress/Progress.js +1 -1
  177. package/dist/blocks/Progress/e2e.js +23 -0
  178. package/dist/blocks/Progress/schema.js +110 -0
  179. package/dist/blocks/Progress/style.less +1 -1
  180. package/dist/blocks/RadioSelector/RadioSelector.js +7 -3
  181. package/dist/blocks/RadioSelector/e2e.js +30 -0
  182. package/dist/blocks/RadioSelector/schema.js +217 -0
  183. package/dist/blocks/RadioSelector/style.less +1 -1
  184. package/dist/blocks/RatingSlider/RatingSlider.js +7 -7
  185. package/dist/blocks/RatingSlider/e2e.js +33 -0
  186. package/dist/blocks/RatingSlider/schema.js +196 -0
  187. package/dist/blocks/RatingSlider/style.less +1 -1
  188. package/dist/blocks/Result/Result.js +1 -1
  189. package/dist/blocks/Result/e2e.js +30 -0
  190. package/dist/blocks/Result/schema.js +55 -0
  191. package/dist/blocks/Result/style.less +1 -1
  192. package/dist/blocks/Selector/Selector.js +7 -3
  193. package/dist/blocks/Selector/e2e.js +43 -0
  194. package/dist/blocks/Selector/schema.js +287 -0
  195. package/dist/blocks/Selector/style.less +1 -1
  196. package/dist/blocks/Sider/Sider.js +1 -1
  197. package/dist/blocks/Sider/e2e.js +19 -0
  198. package/dist/blocks/Sider/schema.js +98 -0
  199. package/dist/blocks/Sider/style.less +1 -1
  200. package/dist/blocks/Slider/Slider.js +5 -2
  201. package/dist/blocks/Slider/e2e.js +33 -0
  202. package/dist/blocks/Slider/style.less +1 -1
  203. package/dist/blocks/Statistic/Statistic.js +1 -1
  204. package/dist/blocks/Statistic/e2e.js +26 -0
  205. package/dist/blocks/Statistic/schema.js +94 -0
  206. package/dist/blocks/Statistic/style.less +1 -1
  207. package/dist/blocks/Switch/Switch.js +5 -2
  208. package/dist/blocks/Switch/e2e.js +27 -0
  209. package/dist/blocks/Switch/schema.js +162 -0
  210. package/dist/blocks/Switch/style.less +1 -1
  211. package/dist/blocks/Tabs/Tabs.js +1 -1
  212. package/dist/blocks/Tabs/e2e.js +31 -0
  213. package/dist/blocks/Tabs/schema.js +124 -0
  214. package/dist/blocks/Tabs/style.less +1 -1
  215. package/dist/blocks/Tag/Tag.js +1 -1
  216. package/dist/blocks/Tag/e2e.js +23 -0
  217. package/dist/blocks/Tag/schema.js +62 -0
  218. package/dist/blocks/Tag/style.less +1 -1
  219. package/dist/blocks/TextArea/TextArea.js +5 -2
  220. package/dist/blocks/TextArea/e2e.js +28 -0
  221. package/dist/blocks/TextArea/schema.js +196 -0
  222. package/dist/blocks/TextArea/style.less +1 -1
  223. package/dist/blocks/TextInput/TextInput.js +5 -2
  224. package/dist/blocks/TextInput/e2e.js +29 -0
  225. package/dist/blocks/TextInput/schema.js +223 -0
  226. package/dist/blocks/TextInput/style.less +1 -1
  227. package/dist/blocks/TimelineList/TimelineList.js +1 -1
  228. package/dist/blocks/TimelineList/e2e.js +23 -0
  229. package/dist/blocks/TimelineList/schema.js +86 -0
  230. package/dist/blocks/TimelineList/style.less +1 -1
  231. package/dist/blocks/Title/Title.js +1 -1
  232. package/dist/blocks/Title/e2e.js +24 -0
  233. package/dist/blocks/Title/schema.js +168 -0
  234. package/dist/blocks/Title/style.less +1 -1
  235. package/dist/blocks/TitleInput/TitleInput.js +1 -1
  236. package/dist/blocks/TitleInput/e2e.js +33 -0
  237. package/dist/blocks/TitleInput/schema.js +207 -0
  238. package/dist/blocks/TitleInput/style.less +1 -1
  239. package/dist/blocks/Tooltip/Tooltip.js +1 -1
  240. package/dist/blocks/Tooltip/e2e.js +28 -0
  241. package/dist/blocks/Tooltip/schema.js +109 -0
  242. package/dist/blocks/Tooltip/style.less +1 -1
  243. package/dist/blocks/TreeSelector/TreeSelector.js +7 -3
  244. package/dist/blocks/TreeSelector/e2e.js +33 -0
  245. package/dist/blocks/TreeSelector/schema.js +184 -0
  246. package/dist/blocks/TreeSelector/style.less +1 -1
  247. package/dist/blocks/WeekSelector/WeekSelector.js +7 -3
  248. package/dist/blocks/WeekSelector/e2e.js +32 -0
  249. package/dist/blocks/WeekSelector/schema.js +219 -0
  250. package/dist/blocks/WeekSelector/style.less +1 -1
  251. package/dist/blocks.js +1 -1
  252. package/dist/color.js +1 -1
  253. package/dist/disabledDate.js +1 -1
  254. package/dist/e2e.js +76 -0
  255. package/dist/getUniqueValues.js +1 -1
  256. package/dist/getValueIndex.js +1 -1
  257. package/dist/schemas.js +75 -0
  258. package/dist/style.less +1 -1
  259. package/dist/types.js +1 -1
  260. package/dist/useRunAfterUpdate.js +1 -1
  261. package/dist/validationExamples.js +1 -1
  262. package/package.json +12 -16
@@ -0,0 +1,24 @@
1
+ /*
2
+ Copyright 2020-2026 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 { createBlockHelper, escapeId } from '@lowdefy/e2e-utils';
16
+ import { expect } from '@playwright/test';
17
+ const locator = (page, blockId)=>page.locator(`#${escapeId(blockId)}`);
18
+ export default createBlockHelper({
19
+ locator,
20
+ expect: {
21
+ label: (page, blockId, text)=>expect(locator(page, blockId).locator('.ant-form-item-label')).toHaveText(text),
22
+ required: (page, blockId)=>expect(locator(page, blockId).locator('.ant-form-item-required')).toBeVisible()
23
+ }
24
+ });
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -0,0 +1,83 @@
1
+ /*
2
+ Copyright 2020-2026 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
+ */ export default {
16
+ type: 'object',
17
+ properties: {
18
+ type: 'object',
19
+ additionalProperties: false,
20
+ properties: {
21
+ align: {
22
+ type: 'string',
23
+ enum: [
24
+ 'left',
25
+ 'right'
26
+ ],
27
+ default: 'left',
28
+ description: 'Align label left or right when inline.'
29
+ },
30
+ colon: {
31
+ type: 'boolean',
32
+ default: true,
33
+ description: 'Append label with colon.'
34
+ },
35
+ disabled: {
36
+ type: 'boolean',
37
+ default: false,
38
+ description: 'Disable to not render a label title.'
39
+ },
40
+ extra: {
41
+ type: 'string',
42
+ description: 'Extra text to display beneath the content - supports html.'
43
+ },
44
+ size: {
45
+ type: 'string',
46
+ enum: [
47
+ 'small',
48
+ 'default',
49
+ 'large'
50
+ ],
51
+ default: 'default',
52
+ description: 'Size of the block.'
53
+ },
54
+ title: {
55
+ type: 'string',
56
+ description: 'Label title - supports html.'
57
+ },
58
+ extraStyle: {
59
+ type: 'object',
60
+ description: 'Css style to applied to label extra.',
61
+ docs: {
62
+ displayType: 'yaml'
63
+ }
64
+ },
65
+ feedbackStyle: {
66
+ type: 'object',
67
+ description: 'Css style to applied to label feedback.',
68
+ docs: {
69
+ displayType: 'yaml'
70
+ }
71
+ },
72
+ span: {
73
+ type: 'number',
74
+ description: 'Label inline span.'
75
+ },
76
+ inline: {
77
+ type: 'boolean',
78
+ default: false,
79
+ description: 'Render input and label inline.'
80
+ }
81
+ }
82
+ }
83
+ };
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -0,0 +1,19 @@
1
+ /*
2
+ Copyright 2020-2026 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 { createBlockHelper, escapeId } from '@lowdefy/e2e-utils';
16
+ const locator = (page, blockId)=>page.locator(`#bl-${escapeId(blockId)} .ant-layout`);
17
+ export default createBlockHelper({
18
+ locator
19
+ });
@@ -0,0 +1,30 @@
1
+ /*
2
+ Copyright 2020-2026 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
+ */ export default {
16
+ type: 'object',
17
+ properties: {
18
+ type: 'object',
19
+ additionalProperties: false,
20
+ properties: {
21
+ style: {
22
+ type: 'object',
23
+ description: 'Css style object to applied to layout.',
24
+ docs: {
25
+ displayType: 'yaml'
26
+ }
27
+ }
28
+ }
29
+ }
30
+ };
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -0,0 +1,30 @@
1
+ /*
2
+ Copyright 2020-2026 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 { createBlockHelper, escapeId } from '@lowdefy/e2e-utils';
16
+ import { expect } from '@playwright/test';
17
+ const locator = (page, blockId)=>page.locator(`#${escapeId(blockId)}`);
18
+ export default createBlockHelper({
19
+ locator,
20
+ do: {
21
+ clickMenuItem: (page, blockId, text)=>locator(page, blockId).locator('.ant-menu-item').filter({
22
+ hasText: text
23
+ }).click()
24
+ },
25
+ expect: {
26
+ menuItemActive: (page, blockId, text)=>expect(locator(page, blockId).locator('.ant-menu-item-selected').filter({
27
+ hasText: text
28
+ })).toBeVisible()
29
+ }
30
+ });
@@ -0,0 +1,283 @@
1
+ /*
2
+ Copyright 2020-2026 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
+ */ export default {
16
+ type: 'object',
17
+ properties: {
18
+ type: 'object',
19
+ additionalProperties: false,
20
+ properties: {
21
+ expandIcon: {
22
+ type: [
23
+ 'string',
24
+ 'object'
25
+ ],
26
+ description: 'Menu expand icon.',
27
+ docs: {
28
+ displayType: 'icon'
29
+ }
30
+ },
31
+ menuId: {
32
+ type: 'string',
33
+ description: 'App menu id used to get menu links.'
34
+ },
35
+ mode: {
36
+ type: 'string',
37
+ enum: [
38
+ 'vertical',
39
+ 'horizontal',
40
+ 'inline'
41
+ ],
42
+ default: 'vertical',
43
+ description: 'Type of menu to render.'
44
+ },
45
+ selectedKeys: {
46
+ type: 'array',
47
+ description: 'Array with the keys of currently selected menu items.',
48
+ items: {
49
+ type: 'string',
50
+ description: "A menu item 'id' to be displayed as selected."
51
+ }
52
+ },
53
+ defaultOpenKeys: {
54
+ type: 'array',
55
+ description: 'Array with the keys of default opened sub menus.',
56
+ items: {
57
+ type: 'string',
58
+ description: "A menu item 'id' which should be open by default."
59
+ }
60
+ },
61
+ forceSubMenuRender: {
62
+ type: 'boolean',
63
+ description: 'Render submenu into DOM before it becomes visible.',
64
+ default: false
65
+ },
66
+ subMenuCloseDelay: {
67
+ type: 'number',
68
+ description: 'Delay time to hide submenu when mouse leaves (in seconds).'
69
+ },
70
+ subMenuOpenDelay: {
71
+ type: 'number',
72
+ description: 'Delay time to show submenu when mouse enters (in seconds).'
73
+ },
74
+ theme: {
75
+ type: 'string',
76
+ enum: [
77
+ 'dark',
78
+ 'light'
79
+ ],
80
+ default: 'dark',
81
+ description: 'Color theme of menu.'
82
+ },
83
+ links: {
84
+ type: 'array',
85
+ items: {
86
+ type: 'object',
87
+ required: [
88
+ 'id',
89
+ 'type'
90
+ ],
91
+ properties: {
92
+ id: {
93
+ type: 'string',
94
+ description: 'Menu item id.'
95
+ },
96
+ type: {
97
+ type: 'string',
98
+ enum: [
99
+ 'MenuDivider',
100
+ 'MenuLink',
101
+ 'MenuGroup'
102
+ ],
103
+ default: 'MenuLink',
104
+ description: 'Menu item type.'
105
+ },
106
+ pageId: {
107
+ type: 'string',
108
+ description: 'Page to link to.'
109
+ },
110
+ style: {
111
+ type: 'object',
112
+ description: 'Css style to applied to link.',
113
+ docs: {
114
+ displayType: 'yaml'
115
+ }
116
+ },
117
+ properties: {
118
+ type: 'object',
119
+ description: 'properties from menu item.',
120
+ properties: {
121
+ title: {
122
+ type: 'string',
123
+ description: 'Menu item title.'
124
+ },
125
+ icon: {
126
+ type: [
127
+ 'string',
128
+ 'object'
129
+ ],
130
+ 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.",
131
+ docs: {
132
+ displayType: 'icon'
133
+ }
134
+ },
135
+ danger: {
136
+ type: 'boolean',
137
+ default: false,
138
+ description: 'Apply danger style to menu item.'
139
+ },
140
+ dashed: {
141
+ type: 'boolean',
142
+ default: false,
143
+ description: 'Whether the divider line is dashed.'
144
+ }
145
+ }
146
+ },
147
+ links: {
148
+ type: 'array',
149
+ items: {
150
+ type: 'object',
151
+ required: [
152
+ 'id',
153
+ 'type'
154
+ ],
155
+ properties: {
156
+ id: {
157
+ type: 'string',
158
+ description: 'Menu item id.'
159
+ },
160
+ type: {
161
+ type: 'string',
162
+ enum: [
163
+ 'MenuDivider',
164
+ 'MenuLink',
165
+ 'MenuGroup'
166
+ ],
167
+ default: 'MenuLink',
168
+ description: 'Menu item type.'
169
+ },
170
+ style: {
171
+ type: 'object',
172
+ description: 'Css style to applied to sub-link.',
173
+ docs: {
174
+ displayType: 'yaml'
175
+ }
176
+ },
177
+ pageId: {
178
+ type: 'string',
179
+ description: 'Page to link to.'
180
+ },
181
+ properties: {
182
+ type: 'object',
183
+ description: 'properties from menu item.',
184
+ properties: {
185
+ title: {
186
+ type: 'string',
187
+ description: 'Menu item title.'
188
+ },
189
+ danger: {
190
+ type: 'boolean',
191
+ default: false,
192
+ description: 'Apply danger style to menu item.'
193
+ },
194
+ dashed: {
195
+ type: 'boolean',
196
+ default: false,
197
+ description: 'Whether the divider line is dashed.'
198
+ }
199
+ },
200
+ links: {
201
+ type: 'array',
202
+ items: {
203
+ type: 'object',
204
+ required: [
205
+ 'id',
206
+ 'type'
207
+ ],
208
+ properties: {
209
+ id: {
210
+ type: 'string',
211
+ description: 'Menu item id.'
212
+ },
213
+ type: {
214
+ type: 'string',
215
+ enum: [
216
+ 'MenuDivider',
217
+ 'MenuLink'
218
+ ],
219
+ default: 'MenuLink',
220
+ description: 'Menu item type.'
221
+ },
222
+ style: {
223
+ type: 'object',
224
+ description: 'Css style to applied to sub-link.',
225
+ docs: {
226
+ displayType: 'yaml'
227
+ }
228
+ },
229
+ pageId: {
230
+ type: 'string',
231
+ description: 'Page to link to.'
232
+ },
233
+ properties: {
234
+ type: 'object',
235
+ description: 'properties from menu item.',
236
+ properties: {
237
+ title: {
238
+ type: 'string',
239
+ description: 'Menu item title.'
240
+ },
241
+ danger: {
242
+ type: 'boolean',
243
+ default: false,
244
+ description: 'Apply danger style to menu item.'
245
+ },
246
+ dashed: {
247
+ type: 'boolean',
248
+ default: false,
249
+ description: 'Whether the divider line is dashed.'
250
+ }
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ }
264
+ },
265
+ events: {
266
+ type: 'object',
267
+ additionalProperties: false,
268
+ properties: {
269
+ onSelect: {
270
+ type: 'array',
271
+ description: 'Trigger action when menu item is selected.'
272
+ },
273
+ onClick: {
274
+ type: 'array',
275
+ description: 'Trigger action when menu item is clicked.'
276
+ },
277
+ onToggleMenuGroup: {
278
+ type: 'array',
279
+ description: 'Trigger action when mobile menu group is opened.'
280
+ }
281
+ }
282
+ }
283
+ };
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -0,0 +1,27 @@
1
+ /*
2
+ Copyright 2020-2026 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 { createBlockHelper } from '@lowdefy/e2e-utils';
16
+ import { expect } from '@playwright/test';
17
+ // Message renders as a global portal notice — not scoped to a blockId.
18
+ // The locator targets the notice container directly.
19
+ const locator = (page)=>page.locator('.ant-message-notice');
20
+ export default createBlockHelper({
21
+ locator,
22
+ expect: {
23
+ shown: (page, _blockId, text)=>expect(page.locator('.ant-message-notice').filter({
24
+ hasText: text
25
+ })).toBeVisible()
26
+ }
27
+ });
@@ -0,0 +1,71 @@
1
+ /*
2
+ Copyright 2020-2026 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
+ */ export default {
16
+ type: 'object',
17
+ properties: {
18
+ type: 'object',
19
+ additionalProperties: false,
20
+ properties: {
21
+ content: {
22
+ type: 'string',
23
+ description: 'The content of the message - supports html.'
24
+ },
25
+ duration: {
26
+ type: 'number',
27
+ default: 4.5,
28
+ description: "Time(seconds) before auto-dismiss, don't dismiss if set to 0."
29
+ },
30
+ icon: {
31
+ type: [
32
+ 'string',
33
+ 'object'
34
+ ],
35
+ 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.",
36
+ docs: {
37
+ displayType: 'icon'
38
+ }
39
+ },
40
+ status: {
41
+ type: 'string',
42
+ enum: [
43
+ 'success',
44
+ 'error',
45
+ 'info',
46
+ 'warning',
47
+ 'loading'
48
+ ],
49
+ default: 'info',
50
+ description: 'Message status type.'
51
+ },
52
+ messageStyle: {
53
+ type: 'object',
54
+ description: 'Css style to applied to message.',
55
+ docs: {
56
+ displayType: 'yaml'
57
+ }
58
+ }
59
+ }
60
+ },
61
+ events: {
62
+ type: 'object',
63
+ additionalProperties: false,
64
+ properties: {
65
+ onClose: {
66
+ type: 'array',
67
+ description: 'Trigger actions when message is closed.'
68
+ }
69
+ }
70
+ }
71
+ };
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020-2024 Lowdefy, Inc
2
+ Copyright 2020-2026 Lowdefy, Inc
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.