@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,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(`#bl-${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,321 @@
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
+ logo: {
22
+ type: 'object',
23
+ description: 'Header logo settings.',
24
+ additionalProperties: false,
25
+ properties: {
26
+ src: {
27
+ type: 'string',
28
+ description: 'Header logo source url.'
29
+ },
30
+ srcMobile: {
31
+ type: 'string',
32
+ description: 'Header logo img element for mobile.'
33
+ },
34
+ breakpoint: {
35
+ type: 'number',
36
+ description: 'Header logo breakpoint for switching between mobile and desktop logo.'
37
+ },
38
+ alt: {
39
+ type: 'string',
40
+ default: 'Lowdefy',
41
+ description: 'Header logo alternative text.'
42
+ },
43
+ style: {
44
+ type: 'object',
45
+ description: 'Css style object to apply to logo.',
46
+ docs: {
47
+ displayType: 'yaml'
48
+ }
49
+ }
50
+ }
51
+ },
52
+ header: {
53
+ type: 'object',
54
+ description: 'Header properties.',
55
+ additionalProperties: false,
56
+ properties: {
57
+ theme: {
58
+ type: 'string',
59
+ enum: [
60
+ 'light',
61
+ 'dark'
62
+ ],
63
+ description: 'Header theme color.'
64
+ },
65
+ contentStyle: {
66
+ type: 'object',
67
+ description: 'Header content css style object.',
68
+ docs: {
69
+ displayType: 'yaml'
70
+ }
71
+ },
72
+ style: {
73
+ type: 'object',
74
+ description: 'Header css style object.',
75
+ docs: {
76
+ displayType: 'yaml'
77
+ }
78
+ }
79
+ }
80
+ },
81
+ sider: {
82
+ type: 'object',
83
+ description: 'Sider properties.',
84
+ additionalProperties: false,
85
+ properties: {
86
+ breakpoint: {
87
+ type: 'string',
88
+ enum: [
89
+ 'xs',
90
+ 'sm',
91
+ 'md',
92
+ 'lg',
93
+ 'xl'
94
+ ],
95
+ default: 'sm',
96
+ description: 'Breakpoint of the responsive layout.'
97
+ },
98
+ collapsedWidth: {
99
+ type: 'integer',
100
+ description: 'Width of the collapsed sidebar, by setting to 0 a special trigger will appear.'
101
+ },
102
+ collapsible: {
103
+ type: 'boolean',
104
+ default: true,
105
+ description: 'Whether can be collapsed.'
106
+ },
107
+ initialCollapsed: {
108
+ type: 'boolean',
109
+ default: true,
110
+ description: 'Set the initial collapsed state.'
111
+ },
112
+ reverseArrow: {
113
+ type: 'boolean',
114
+ default: false,
115
+ description: 'Direction of arrow, for a sider that expands from the right.'
116
+ },
117
+ theme: {
118
+ type: 'string',
119
+ enum: [
120
+ 'light',
121
+ 'dark'
122
+ ],
123
+ default: 'light',
124
+ description: 'Color theme of the sidebar.'
125
+ },
126
+ style: {
127
+ type: 'object',
128
+ description: 'Css style object to apply to sider.',
129
+ docs: {
130
+ displayType: 'yaml'
131
+ }
132
+ },
133
+ width: {
134
+ type: [
135
+ 'string',
136
+ 'number'
137
+ ],
138
+ default: 'string',
139
+ description: 'width of the sidebar',
140
+ docs: {
141
+ displayType: 'string'
142
+ }
143
+ },
144
+ hideToggleButton: {
145
+ type: 'boolean',
146
+ description: 'Hide toggle button in sider.',
147
+ default: false
148
+ }
149
+ }
150
+ },
151
+ toggleSiderButton: {
152
+ type: 'object',
153
+ description: 'Toggle sider button properties.',
154
+ docs: {
155
+ displayType: 'button'
156
+ }
157
+ },
158
+ footer: {
159
+ type: 'object',
160
+ description: 'Footer properties.',
161
+ additionalProperties: false,
162
+ properties: {
163
+ style: {
164
+ type: 'object',
165
+ description: 'Footer css style object.',
166
+ docs: {
167
+ displayType: 'yaml'
168
+ }
169
+ }
170
+ }
171
+ },
172
+ content: {
173
+ type: 'object',
174
+ description: 'Content properties.',
175
+ additionalProperties: false,
176
+ properties: {
177
+ style: {
178
+ type: 'object',
179
+ description: 'Content css style object.',
180
+ docs: {
181
+ displayType: 'yaml'
182
+ }
183
+ }
184
+ }
185
+ },
186
+ breadcrumb: {
187
+ type: 'object',
188
+ description: 'Breadcrumb properties.',
189
+ properties: {
190
+ separator: {
191
+ type: 'string',
192
+ default: '/',
193
+ description: 'Use a custom separator string.'
194
+ },
195
+ list: {
196
+ type: 'array',
197
+ description: 'List of breadcrumb links.',
198
+ items: {
199
+ type: 'string',
200
+ description: 'Title of the breadcrumb link.'
201
+ }
202
+ }
203
+ }
204
+ },
205
+ menu: {
206
+ type: 'object',
207
+ description: 'Menu properties.',
208
+ properties: {
209
+ theme: {
210
+ type: 'string',
211
+ enum: [
212
+ 'dark',
213
+ 'light'
214
+ ],
215
+ default: 'light',
216
+ description: 'Color theme of menu.'
217
+ },
218
+ links: {
219
+ type: 'array',
220
+ items: {
221
+ type: 'object',
222
+ required: [
223
+ 'id',
224
+ 'type'
225
+ ],
226
+ properties: {
227
+ id: {
228
+ type: 'string',
229
+ description: 'Menu item id.'
230
+ },
231
+ pageId: {
232
+ type: 'string',
233
+ description: 'Page to link to.'
234
+ },
235
+ properties: {
236
+ type: 'object',
237
+ description: 'properties from menu item.',
238
+ properties: {
239
+ title: {
240
+ type: 'string',
241
+ description: 'Menu item title.'
242
+ },
243
+ icon: {
244
+ type: [
245
+ 'string',
246
+ 'object'
247
+ ],
248
+ 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.",
249
+ docs: {
250
+ displayType: 'icon'
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }
259
+ },
260
+ menuLg: {
261
+ type: 'object',
262
+ description: 'Menu large screen properties. Overwrites menu properties on desktop screen sizes.',
263
+ docs: {
264
+ displayType: 'yaml'
265
+ }
266
+ },
267
+ menuMd: {
268
+ type: 'object',
269
+ description: 'Mobile menu properies. Overwrites menu properties on mobile screen sizes.',
270
+ docs: {
271
+ displayType: 'yaml'
272
+ }
273
+ },
274
+ style: {
275
+ type: 'object',
276
+ description: 'Css style object to apply to layout.',
277
+ docs: {
278
+ displayType: 'yaml'
279
+ }
280
+ }
281
+ }
282
+ },
283
+ events: {
284
+ type: 'object',
285
+ additionalProperties: false,
286
+ properties: {
287
+ onBreadcrumbClick: {
288
+ type: 'array',
289
+ description: 'Trigger action when a breadcrumb item is clicked.'
290
+ },
291
+ onChangeToggleSiderAffix: {
292
+ type: 'array',
293
+ description: 'Trigger action when sider collapse button affix triggers a onChange event.'
294
+ },
295
+ onClose: {
296
+ type: 'array',
297
+ description: 'Trigger action when menu is closed.'
298
+ },
299
+ onMenuItemSelect: {
300
+ type: 'array',
301
+ description: 'Trigger action when menu item is selected.'
302
+ },
303
+ onMenuItemClick: {
304
+ type: 'array',
305
+ description: 'Trigger action when menu item is clicked.'
306
+ },
307
+ onOpen: {
308
+ type: 'array',
309
+ description: 'Trigger action when menu is open.'
310
+ },
311
+ onToggleDrawer: {
312
+ type: 'array',
313
+ description: 'Trigger action when mobile menu drawer is toggled.'
314
+ },
315
+ onToggleMenuGroup: {
316
+ type: 'array',
317
+ description: 'Trigger action when mobile menu group is opened.'
318
+ }
319
+ }
320
+ }
321
+ };
@@ -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,28 @@
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(`#bl-${escapeId(blockId)} .ant-pagination`);
18
+ export default createBlockHelper({
19
+ locator,
20
+ do: {
21
+ goToPage: (page, blockId, n)=>locator(page, blockId).locator(`.ant-pagination-item-${n}`).click(),
22
+ next: (page, blockId)=>locator(page, blockId).locator('.ant-pagination-next').click(),
23
+ prev: (page, blockId)=>locator(page, blockId).locator('.ant-pagination-prev').click()
24
+ },
25
+ expect: {
26
+ activePage: (page, blockId, n)=>expect(locator(page, blockId).locator('.ant-pagination-item-active')).toHaveAttribute('title', String(n))
27
+ }
28
+ });
@@ -0,0 +1,101 @@
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
+ total: {
22
+ type: 'integer',
23
+ default: 100,
24
+ description: 'Total number of items to be displayed in pagination.'
25
+ },
26
+ size: {
27
+ type: 'string',
28
+ enum: [
29
+ 'small',
30
+ 'default'
31
+ ],
32
+ default: 'default',
33
+ description: 'Pagination element size.'
34
+ },
35
+ simple: {
36
+ type: 'boolean',
37
+ default: false,
38
+ description: 'Use simplified pagination display.'
39
+ },
40
+ showTotal: {
41
+ type: [
42
+ 'boolean',
43
+ 'string',
44
+ 'object'
45
+ ],
46
+ default: false,
47
+ description: 'Show pagination total number and range if boolean, or define a custom string or function to display.',
48
+ docs: {
49
+ displayType: 'string'
50
+ }
51
+ },
52
+ showSizeChanger: {
53
+ type: 'boolean',
54
+ default: false,
55
+ description: 'Determine whether to show page size select, it will be true when total > 50.'
56
+ },
57
+ showQuickJumper: {
58
+ type: 'boolean',
59
+ default: false,
60
+ description: 'Determine whether you can jump to pages directly.'
61
+ },
62
+ pageSizeOptions: {
63
+ type: 'array',
64
+ default: [
65
+ 10,
66
+ 20,
67
+ 30,
68
+ 40
69
+ ],
70
+ description: 'Specify the page size changer options.',
71
+ items: {
72
+ type: 'number'
73
+ }
74
+ },
75
+ hideOnSinglePage: {
76
+ type: 'boolean',
77
+ default: false,
78
+ description: 'Hide pager on short list of a single page.'
79
+ },
80
+ disabled: {
81
+ type: 'boolean',
82
+ default: false,
83
+ description: 'Disable pager.'
84
+ }
85
+ }
86
+ },
87
+ events: {
88
+ type: 'object',
89
+ additionalProperties: false,
90
+ properties: {
91
+ onSizeChange: {
92
+ type: 'array',
93
+ description: 'Triggered when page size is changed.'
94
+ },
95
+ onChange: {
96
+ type: 'array',
97
+ description: 'Triggered when current page is changed.'
98
+ }
99
+ }
100
+ }
101
+ };
@@ -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, 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
+ click: (page, blockId)=>locator(page, blockId).click()
22
+ },
23
+ expect: {
24
+ text: (page, blockId, text)=>expect(locator(page, blockId)).toHaveText(text),
25
+ containsText: (page, blockId, text)=>expect(locator(page, blockId)).toContainText(text)
26
+ }
27
+ });