@lowdefy/blocks-antd 5.5.1 → 6.0.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 (288) hide show
  1. package/dist/TagPillRow.js +88 -0
  2. package/dist/blocks/Affix/gallery.yaml +399 -0
  3. package/dist/blocks/Affix/tests/Affix.e2e.yaml +72 -0
  4. package/dist/blocks/Affix/tests.yaml +29 -0
  5. package/dist/blocks/Alert/gallery.yaml +701 -0
  6. package/dist/blocks/Alert/tests/Alert.e2e.yaml +161 -0
  7. package/dist/blocks/Alert/tests.yaml +261 -0
  8. package/dist/blocks/AutoComplete/gallery.yaml +713 -0
  9. package/dist/blocks/AutoComplete/tests/AutoComplete.e2e.yaml +330 -0
  10. package/dist/blocks/AutoComplete/tests.yaml +178 -0
  11. package/dist/blocks/Avatar/gallery.yaml +1037 -0
  12. package/dist/blocks/Avatar/tests/Avatar.e2e.yaml +125 -0
  13. package/dist/blocks/Avatar/tests.yaml +76 -0
  14. package/dist/blocks/Badge/gallery.yaml +1090 -0
  15. package/dist/blocks/Badge/tests/Badge.e2e.yaml +195 -0
  16. package/dist/blocks/Badge/tests.yaml +91 -0
  17. package/dist/blocks/Breadcrumb/gallery.yaml +484 -0
  18. package/dist/blocks/Breadcrumb/tests/Breadcrumb.e2e.yaml +165 -0
  19. package/dist/blocks/Breadcrumb/tests.yaml +106 -0
  20. package/dist/blocks/Button/gallery.yaml +718 -0
  21. package/dist/blocks/Button/tests/Button.e2e.yaml +246 -0
  22. package/dist/blocks/Button/tests.yaml +104 -0
  23. package/dist/blocks/ButtonSelector/gallery.yaml +891 -0
  24. package/dist/blocks/ButtonSelector/tests/ButtonSelector.e2e.yaml +188 -0
  25. package/dist/blocks/ButtonSelector/tests.yaml +167 -0
  26. package/dist/blocks/Calendar/gallery.yaml +128 -0
  27. package/dist/blocks/Calendar/tests/Calendar.e2e.yaml +136 -0
  28. package/dist/blocks/Calendar/tests.yaml +50 -0
  29. package/dist/blocks/Card/gallery.yaml +1035 -0
  30. package/dist/blocks/Card/tests/Card.e2e.yaml +209 -0
  31. package/dist/blocks/Card/tests.yaml +75 -0
  32. package/dist/blocks/Carousel/gallery.yaml +1971 -0
  33. package/dist/blocks/Carousel/tests/Carousel.e2e.yaml +211 -0
  34. package/dist/blocks/Carousel/tests.yaml +117 -0
  35. package/dist/blocks/CheckboxSelector/CheckboxSelector.js +54 -29
  36. package/dist/blocks/CheckboxSelector/gallery.yaml +781 -0
  37. package/dist/blocks/CheckboxSelector/meta.js +24 -4
  38. package/dist/blocks/CheckboxSelector/tests/CheckboxSelector.e2e.yaml +272 -0
  39. package/dist/blocks/CheckboxSelector/tests.yaml +325 -0
  40. package/dist/blocks/CheckboxSwitch/gallery.yaml +457 -0
  41. package/dist/blocks/CheckboxSwitch/tests/CheckboxSwitch.e2e.yaml +126 -0
  42. package/dist/blocks/CheckboxSwitch/tests.yaml +96 -0
  43. package/dist/blocks/Collapse/gallery.yaml +1079 -0
  44. package/dist/blocks/Collapse/tests/Collapse.e2e.yaml +206 -0
  45. package/dist/blocks/Collapse/tests.yaml +265 -0
  46. package/dist/blocks/ColorSelector/gallery.yaml +807 -0
  47. package/dist/blocks/ColorSelector/tests/ColorSelector.e2e.yaml +77 -0
  48. package/dist/blocks/ColorSelector/tests.yaml +84 -0
  49. package/dist/blocks/ConfigProvider/gallery.yaml +1003 -0
  50. package/dist/blocks/ConfigProvider/tests.yaml +62 -0
  51. package/dist/blocks/ConfirmModal/gallery.yaml +1043 -0
  52. package/dist/blocks/ConfirmModal/tests/ConfirmModal.e2e.yaml +410 -0
  53. package/dist/blocks/ConfirmModal/tests.yaml +95 -0
  54. package/dist/blocks/Content/gallery.yaml +528 -0
  55. package/dist/blocks/Content/tests/Content.e2e.yaml +71 -0
  56. package/dist/blocks/Content/tests.yaml +42 -0
  57. package/dist/blocks/ControlledList/ControlledList.js +1 -1
  58. package/dist/blocks/ControlledList/gallery.yaml +481 -0
  59. package/dist/blocks/ControlledList/{style.module.css → style.css} +3 -3
  60. package/dist/blocks/ControlledList/tests/ControlledList.e2e.yaml +161 -0
  61. package/dist/blocks/ControlledList/tests.yaml +57 -0
  62. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +7 -0
  63. package/dist/blocks/DateRangeSelector/e2e.js +28 -2
  64. package/dist/blocks/DateRangeSelector/gallery.yaml +858 -0
  65. package/dist/blocks/DateRangeSelector/meta.js +2 -0
  66. package/dist/blocks/DateRangeSelector/tests/DateRangeSelector.e2e.yaml +204 -0
  67. package/dist/blocks/DateRangeSelector/tests.yaml +129 -0
  68. package/dist/blocks/DateSelector/DateSelector.js +6 -0
  69. package/dist/blocks/DateSelector/e2e.js +28 -2
  70. package/dist/blocks/DateSelector/gallery.yaml +691 -0
  71. package/dist/blocks/DateSelector/meta.js +6 -0
  72. package/dist/blocks/DateSelector/tests/DateSelector.e2e.yaml +229 -0
  73. package/dist/blocks/DateSelector/tests.yaml +117 -0
  74. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +7 -0
  75. package/dist/blocks/DateTimeSelector/e2e.js +26 -2
  76. package/dist/blocks/DateTimeSelector/gallery.yaml +770 -0
  77. package/dist/blocks/DateTimeSelector/meta.js +2 -0
  78. package/dist/blocks/DateTimeSelector/tests/DateTimeSelector.e2e.yaml +163 -0
  79. package/dist/blocks/DateTimeSelector/tests.yaml +140 -0
  80. package/dist/blocks/Descriptions/gallery.yaml +839 -0
  81. package/dist/blocks/Descriptions/tests/Descriptions.e2e.yaml +143 -0
  82. package/dist/blocks/Descriptions/tests.yaml +256 -0
  83. package/dist/blocks/Divider/gallery.yaml +375 -0
  84. package/dist/blocks/Divider/tests/Divider.e2e.yaml +107 -0
  85. package/dist/blocks/Divider/tests.yaml +58 -0
  86. package/dist/blocks/Drawer/gallery.yaml +1257 -0
  87. package/dist/blocks/Drawer/tests/Drawer.e2e.yaml +562 -0
  88. package/dist/blocks/Drawer/tests.yaml +80 -0
  89. package/dist/blocks/DropdownButton/gallery.yaml +606 -0
  90. package/dist/blocks/DropdownButton/tests/DropdownButton.e2e.yaml +243 -0
  91. package/dist/blocks/DropdownMenu/gallery.yaml +578 -0
  92. package/dist/blocks/DropdownMenu/tests/DropdownMenu.e2e.yaml +267 -0
  93. package/dist/blocks/Flex/gallery.yaml +1416 -0
  94. package/dist/blocks/Flex/tests/Flex.e2e.yaml +95 -0
  95. package/dist/blocks/Flex/tests.yaml +92 -0
  96. package/dist/blocks/FloatButton/gallery.yaml +518 -0
  97. package/dist/blocks/FloatButton/tests/FloatButton.e2e.yaml +73 -0
  98. package/dist/blocks/FloatButton/tests.yaml +59 -0
  99. package/dist/blocks/Footer/gallery.yaml +355 -0
  100. package/dist/blocks/Footer/tests/Footer.e2e.yaml +70 -0
  101. package/dist/blocks/Footer/tests.yaml +28 -0
  102. package/dist/blocks/Header/gallery.yaml +249 -0
  103. package/dist/blocks/Header/tests/Header.e2e.yaml +77 -0
  104. package/dist/blocks/Header/tests.yaml +36 -0
  105. package/dist/blocks/Label/Label.js +4 -4
  106. package/dist/blocks/Label/gallery.yaml +762 -0
  107. package/dist/blocks/Label/labelLogic.js +4 -1
  108. package/dist/blocks/Label/{style.module.css → style.css} +28 -28
  109. package/dist/blocks/Label/tests/Label.e2e.yaml +247 -0
  110. package/dist/blocks/Label/tests.yaml +212 -0
  111. package/dist/blocks/Layout/gallery.yaml +548 -0
  112. package/dist/blocks/Layout/tests/Layout.e2e.yaml +86 -0
  113. package/dist/blocks/Layout/tests.yaml +28 -0
  114. package/dist/blocks/ListSelector/gallery.yaml +223 -0
  115. package/dist/blocks/Masonry/gallery.yaml +989 -0
  116. package/dist/blocks/Masonry/tests/Masonry.e2e.yaml +128 -0
  117. package/dist/blocks/Masonry/tests.yaml +42 -0
  118. package/dist/blocks/MasonryList/gallery.yaml +224 -0
  119. package/dist/blocks/MasonryList/tests/MasonryList.e2e.yaml +55 -0
  120. package/dist/blocks/MasonryList/tests.yaml +42 -0
  121. package/dist/blocks/Menu/gallery.yaml +974 -0
  122. package/dist/blocks/Menu/tests/Menu.e2e.yaml +484 -0
  123. package/dist/blocks/Menu/tests.yaml +1053 -0
  124. package/dist/blocks/Message/gallery.yaml +860 -0
  125. package/dist/blocks/Message/tests/Message.e2e.yaml +246 -0
  126. package/dist/blocks/Message/tests.yaml +54 -0
  127. package/dist/blocks/MobileMenu/gallery.yaml +1172 -0
  128. package/dist/blocks/MobileMenu/tests/MobileMenu.e2e.yaml +314 -0
  129. package/dist/blocks/MobileMenu/tests.yaml +359 -0
  130. package/dist/blocks/Modal/gallery.yaml +1039 -0
  131. package/dist/blocks/Modal/tests/Modal.e2e.yaml +493 -0
  132. package/dist/blocks/Modal/tests.yaml +75 -0
  133. package/dist/blocks/MonthSelector/MonthSelector.js +6 -0
  134. package/dist/blocks/MonthSelector/e2e.js +26 -2
  135. package/dist/blocks/MonthSelector/gallery.yaml +687 -0
  136. package/dist/blocks/MonthSelector/meta.js +6 -0
  137. package/dist/blocks/MonthSelector/tests/MonthSelector.e2e.yaml +167 -0
  138. package/dist/blocks/MonthSelector/tests.yaml +124 -0
  139. package/dist/blocks/MultipleSelector/gallery.yaml +1245 -0
  140. package/dist/blocks/MultipleSelector/tests/MultipleSelector.e2e.yaml +445 -0
  141. package/dist/blocks/MultipleSelector/tests.yaml +201 -0
  142. package/dist/blocks/Notification/gallery.yaml +1376 -0
  143. package/dist/blocks/Notification/tests/Notification.e2e.yaml +362 -0
  144. package/dist/blocks/Notification/tests.yaml +97 -0
  145. package/dist/blocks/NumberInput/gallery.yaml +753 -0
  146. package/dist/blocks/NumberInput/tests/NumberInput.e2e.yaml +228 -0
  147. package/dist/blocks/NumberInput/tests.yaml +116 -0
  148. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +1 -1
  149. package/dist/blocks/PageHeaderMenu/gallery.yaml +480 -0
  150. package/dist/blocks/PageHeaderMenu/tests/PageHeaderMenu.e2e.yaml +110 -0
  151. package/dist/blocks/PageHeaderMenu/tests.yaml +173 -0
  152. package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +10 -1
  153. package/dist/blocks/PageSidebarLayout/gallery.yaml +302 -0
  154. package/dist/blocks/PageSidebarLayout/meta.js +1 -0
  155. package/dist/blocks/PageSidebarLayout/tests/PageSidebarLayout.e2e.yaml +216 -0
  156. package/dist/blocks/PageSidebarLayout/tests.yaml +174 -0
  157. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +1 -1
  158. package/dist/blocks/PageSiderMenu/gallery.yaml +516 -0
  159. package/dist/blocks/PageSiderMenu/tests/PageSiderMenu.e2e.yaml +175 -0
  160. package/dist/blocks/PageSiderMenu/tests.yaml +211 -0
  161. package/dist/blocks/Pagination/gallery.yaml +503 -0
  162. package/dist/blocks/Pagination/tests/Pagination.e2e.yaml +159 -0
  163. package/dist/blocks/Pagination/tests.yaml +80 -0
  164. package/dist/blocks/Paragraph/gallery.yaml +458 -0
  165. package/dist/blocks/Paragraph/tests/Paragraph.e2e.yaml +153 -0
  166. package/dist/blocks/Paragraph/tests.yaml +176 -0
  167. package/dist/blocks/ParagraphInput/gallery.yaml +1483 -0
  168. package/dist/blocks/ParagraphInput/tests/ParagraphInput.e2e.yaml +189 -0
  169. package/dist/blocks/ParagraphInput/tests.yaml +163 -0
  170. package/dist/blocks/PasswordInput/gallery.yaml +420 -0
  171. package/dist/blocks/PasswordInput/tests/PasswordInput.e2e.yaml +188 -0
  172. package/dist/blocks/PasswordInput/tests.yaml +78 -0
  173. package/dist/blocks/PhoneNumberInput/gallery.yaml +677 -0
  174. package/dist/blocks/PhoneNumberInput/tests/PhoneNumberInput.e2e.yaml +279 -0
  175. package/dist/blocks/PhoneNumberInput/tests.yaml +25 -0
  176. package/dist/blocks/Popover/gallery.yaml +1301 -0
  177. package/dist/blocks/Popover/tests/Popover.e2e.yaml +249 -0
  178. package/dist/blocks/Popover/tests.yaml +105 -0
  179. package/dist/blocks/Progress/gallery.yaml +772 -0
  180. package/dist/blocks/Progress/tests/Progress.e2e.yaml +167 -0
  181. package/dist/blocks/Progress/tests.yaml +114 -0
  182. package/dist/blocks/QRCode/gallery.yaml +492 -0
  183. package/dist/blocks/QRCode/tests/QRCode.e2e.yaml +66 -0
  184. package/dist/blocks/QRCode/tests.yaml +113 -0
  185. package/dist/blocks/RadioSelector/RadioSelector.js +50 -25
  186. package/dist/blocks/RadioSelector/gallery.yaml +816 -0
  187. package/dist/blocks/RadioSelector/meta.js +23 -3
  188. package/dist/blocks/RadioSelector/tests/RadioSelector.e2e.yaml +269 -0
  189. package/dist/blocks/RadioSelector/tests.yaml +339 -0
  190. package/dist/blocks/RatingSlider/gallery.yaml +627 -0
  191. package/dist/blocks/RatingSlider/tests/RatingSlider.e2e.yaml +188 -0
  192. package/dist/blocks/RatingSlider/tests.yaml +116 -0
  193. package/dist/blocks/Result/gallery.yaml +925 -0
  194. package/dist/blocks/Result/tests/Result.e2e.yaml +126 -0
  195. package/dist/blocks/Result/tests.yaml +75 -0
  196. package/dist/blocks/Search/Search.js +1 -1
  197. package/dist/blocks/Search/SearchModal.js +18 -9
  198. package/dist/blocks/Search/gallery.yaml +170 -0
  199. package/dist/blocks/Search/meta.js +2 -1
  200. package/dist/blocks/Search/{style.module.css → style.css} +19 -12
  201. package/dist/blocks/Search/tests/Search.e2e.yaml +125 -0
  202. package/dist/blocks/Search/useSearchIndex.js +24 -2
  203. package/dist/blocks/SegmentedSelector/gallery.yaml +725 -0
  204. package/dist/blocks/SegmentedSelector/tests/SegmentedSelector.e2e.yaml +115 -0
  205. package/dist/blocks/SegmentedSelector/tests.yaml +141 -0
  206. package/dist/blocks/Selector/gallery.yaml +1055 -0
  207. package/dist/blocks/Selector/tests/Selector.e2e.yaml +427 -0
  208. package/dist/blocks/Selector/tests.yaml +196 -0
  209. package/dist/blocks/Sider/gallery.yaml +994 -0
  210. package/dist/blocks/Sider/tests/Sider.e2e.yaml +162 -0
  211. package/dist/blocks/Sider/tests.yaml +20 -0
  212. package/dist/blocks/Slider/gallery.yaml +600 -0
  213. package/dist/blocks/Slider/tests/Slider.e2e.yaml +190 -0
  214. package/dist/blocks/Slider/tests.yaml +68 -0
  215. package/dist/blocks/Splitter/gallery.yaml +1511 -0
  216. package/dist/blocks/Splitter/tests/Splitter.e2e.yaml +114 -0
  217. package/dist/blocks/Splitter/tests.yaml +79 -0
  218. package/dist/blocks/Statistic/gallery.yaml +460 -0
  219. package/dist/blocks/Statistic/tests/Statistic.e2e.yaml +137 -0
  220. package/dist/blocks/Statistic/tests.yaml +77 -0
  221. package/dist/blocks/Steps/gallery.yaml +550 -0
  222. package/dist/blocks/Switch/gallery.yaml +502 -0
  223. package/dist/blocks/Switch/tests/Switch.e2e.yaml +132 -0
  224. package/dist/blocks/Switch/tests.yaml +87 -0
  225. package/dist/blocks/Tabs/gallery.yaml +1353 -0
  226. package/dist/blocks/Tabs/tests/Tabs.e2e.yaml +370 -0
  227. package/dist/blocks/Tabs/tests.yaml +349 -0
  228. package/dist/blocks/Tag/gallery.yaml +598 -0
  229. package/dist/blocks/Tag/tests/Tag.e2e.yaml +173 -0
  230. package/dist/blocks/Tag/tests.yaml +51 -0
  231. package/dist/blocks/TagMultipleSelector/TagMultipleSelector.js +53 -0
  232. package/dist/blocks/TagMultipleSelector/e2e.js +36 -0
  233. package/dist/blocks/TagMultipleSelector/gallery.yaml +70 -0
  234. package/dist/blocks/TagMultipleSelector/meta.js +91 -0
  235. package/dist/blocks/TagMultipleSelector/tests/TagMultipleSelector.e2e.yaml +93 -0
  236. package/dist/blocks/TagSelector/TagSelector.js +49 -0
  237. package/dist/blocks/TagSelector/e2e.js +36 -0
  238. package/dist/blocks/TagSelector/gallery.yaml +70 -0
  239. package/dist/blocks/TagSelector/meta.js +91 -0
  240. package/dist/blocks/TagSelector/tests/TagSelector.e2e.yaml +93 -0
  241. package/dist/blocks/TextArea/gallery.yaml +618 -0
  242. package/dist/blocks/TextArea/tests/TextArea.e2e.yaml +218 -0
  243. package/dist/blocks/TextArea/tests.yaml +100 -0
  244. package/dist/blocks/TextInput/gallery.yaml +560 -0
  245. package/dist/blocks/TextInput/tests/TextInput.e2e.yaml +287 -0
  246. package/dist/blocks/TextInput/tests.yaml +114 -0
  247. package/dist/blocks/TimelineList/gallery.yaml +431 -0
  248. package/dist/blocks/TimelineList/tests/TimelineList.e2e.yaml +244 -0
  249. package/dist/blocks/TimelineList/tests.yaml +251 -0
  250. package/dist/blocks/Title/gallery.yaml +483 -0
  251. package/dist/blocks/Title/tests/Title.e2e.yaml +180 -0
  252. package/dist/blocks/Title/tests.yaml +175 -0
  253. package/dist/blocks/TitleInput/gallery.yaml +1006 -0
  254. package/dist/blocks/TitleInput/tests/TitleInput.e2e.yaml +195 -0
  255. package/dist/blocks/TitleInput/tests.yaml +181 -0
  256. package/dist/blocks/Tooltip/gallery.yaml +1214 -0
  257. package/dist/blocks/Tooltip/tests/Tooltip.e2e.yaml +195 -0
  258. package/dist/blocks/Tooltip/tests.yaml +92 -0
  259. package/dist/blocks/Tour/gallery.yaml +2305 -0
  260. package/dist/blocks/Tour/tests/Tour.e2e.yaml +90 -0
  261. package/dist/blocks/Tour/tests.yaml +151 -0
  262. package/dist/blocks/TreeInput/gallery.yaml +78 -0
  263. package/dist/blocks/TreeInput/tests/TreeInput.e2e.yaml +139 -0
  264. package/dist/blocks/TreeInput/tests.yaml +140 -0
  265. package/dist/blocks/TreeMultipleSelector/gallery.yaml +67 -0
  266. package/dist/blocks/TreeSelector/gallery.yaml +81 -0
  267. package/dist/blocks/Watermark/gallery.yaml +479 -0
  268. package/dist/blocks/Watermark/tests/Watermark.e2e.yaml +62 -0
  269. package/dist/blocks/Watermark/tests.yaml +86 -0
  270. package/dist/blocks/WeekSelector/WeekSelector.js +6 -0
  271. package/dist/blocks/WeekSelector/e2e.js +26 -2
  272. package/dist/blocks/WeekSelector/gallery.yaml +589 -0
  273. package/dist/blocks/WeekSelector/meta.js +6 -0
  274. package/dist/blocks/WeekSelector/tests/WeekSelector.e2e.yaml +154 -0
  275. package/dist/blocks/WeekSelector/tests.yaml +122 -0
  276. package/dist/blocks.js +2 -0
  277. package/dist/disabledDate.js +91 -19
  278. package/dist/e2e.js +2 -0
  279. package/dist/getPresets.js +151 -0
  280. package/dist/getTagColor.js +44 -0
  281. package/dist/getTagSelectorOptions.js +30 -0
  282. package/dist/metas.js +2 -0
  283. package/dist/pickerPresetsStyle.css +26 -0
  284. package/dist/schemas/disabledDates.js +6 -2
  285. package/dist/schemas/index.js +1 -0
  286. package/dist/schemas/presets.js +111 -0
  287. package/dist/tagSelectorStyle.css +68 -0
  288. package/package.json +13 -13
@@ -21,6 +21,7 @@ import { withBlockDefaults } from '@lowdefy/block-utils';
21
21
  import Label from '../Label/Label.js';
22
22
  import withTheme from '../withTheme.js';
23
23
  import disabledDate from '../../disabledDate.js';
24
+ import getPresets from '../../getPresets.js';
24
25
  dayjs.extend(utc);
25
26
  const RangePicker = DatePicker.RangePicker;
26
27
  const rangeValue = (value, format)=>{
@@ -71,6 +72,12 @@ const DateRangeSelector = ({ blockId, classNames = {}, components: { Icon }, eve
71
72
  size: properties.size,
72
73
  status: validation.status,
73
74
  placeholder: type.isArray(properties.placeholder) ? properties.placeholder : undefined,
75
+ presets: getPresets({
76
+ disabledDates: properties.disabledDates,
77
+ methods,
78
+ presets: properties.presets,
79
+ range: true
80
+ }),
74
81
  suffixIcon: /*#__PURE__*/ React.createElement(Icon, {
75
82
  blockId: `${blockId}_suffixIcon`,
76
83
  classNames: {
@@ -17,6 +17,13 @@ import { expect } from '@playwright/test';
17
17
  const locator = (page, blockId)=>page.locator(`.ant-picker-range:has(#${escapeId(blockId)}_input)`);
18
18
  const startInput = (page, blockId)=>page.locator(`#${escapeId(blockId)}_input`);
19
19
  const endInput = (page, blockId)=>locator(page, blockId).locator('.ant-picker-input').last().locator('input');
20
+ // The block renders the picker popup into a container inside itself, so the dropdown is scoped to
21
+ // the block rather than to every open picker on the page.
22
+ const pickerDropdown = (page, blockId)=>page.locator(`#bl-${escapeId(blockId)} .ant-picker-dropdown`);
23
+ const presets = (page, blockId)=>pickerDropdown(page, blockId).locator('.ant-picker-presets');
24
+ const presetItem = (page, blockId, label)=>presets(page, blockId).locator('li', {
25
+ hasText: label
26
+ });
20
27
  const monthNames = [
21
28
  'Jan',
22
29
  'Feb',
@@ -78,13 +85,20 @@ export default createBlockHelper({
78
85
  const [sYear, sMonth] = startDateStr.split('-').map(Number);
79
86
  const [eYear, eMonth] = endDateStr.split('-').map(Number);
80
87
  await startInput(page, blockId).click();
81
- const dropdown = page.locator('.ant-picker-dropdown:visible');
88
+ const dropdown = pickerDropdown(page, blockId);
82
89
  await expect(dropdown).toBeVisible();
83
90
  await navigateToMonth(dropdown, sYear, sMonth);
84
91
  await dropdown.locator(`.ant-picker-cell-in-view[title="${startDateStr}"]`).click();
85
92
  await navigateToMonth(dropdown, eYear, eMonth);
86
93
  await dropdown.locator(`.ant-picker-cell-in-view[title="${endDateStr}"]`).click();
87
94
  },
95
+ selectPreset: async (page, blockId, label)=>{
96
+ await locator(page, blockId).click();
97
+ await expect(pickerDropdown(page, blockId)).toBeVisible();
98
+ await presets(page, blockId).getByText(label, {
99
+ exact: true
100
+ }).click();
101
+ },
88
102
  clear: async (page, blockId)=>{
89
103
  await locator(page, blockId).hover();
90
104
  await locator(page, blockId).locator('.ant-picker-clear').click();
@@ -92,6 +106,18 @@ export default createBlockHelper({
92
106
  },
93
107
  expect: {
94
108
  startValue: (page, blockId, val)=>expect(startInput(page, blockId)).toHaveValue(val),
95
- endValue: (page, blockId, val)=>expect(endInput(page, blockId)).toHaveValue(val)
109
+ endValue: (page, blockId, val)=>expect(endInput(page, blockId)).toHaveValue(val),
110
+ presetLabels: (page, blockId, labels)=>expect(presets(page, blockId).locator('li')).toHaveText(labels),
111
+ presetLabelHtml: (page, blockId, { selector, text })=>expect(presets(page, blockId).locator(selector)).toHaveText(text),
112
+ noPresets: (page, blockId)=>expect(presets(page, blockId)).toHaveCount(0),
113
+ // A preset the calendar cannot select is disabled through the list item's pointer events, so
114
+ // asserting on those checks the shortcut is really unclickable and not only styled as such.
115
+ presetDisabled: (page, blockId, label)=>expect(presetItem(page, blockId, label)).toHaveCSS('pointer-events', 'none'),
116
+ presetEnabled: (page, blockId, label)=>expect(presetItem(page, blockId, label)).toHaveCSS('pointer-events', 'auto'),
117
+ dateDisabled: (page, blockId, dateString)=>expect(pickerDropdown(page, blockId).locator(`.ant-picker-cell[title="${dateString}"]`).first()).toHaveClass(/ant-picker-cell-disabled/),
118
+ dateEnabled: (page, blockId, dateString)=>expect(pickerDropdown(page, blockId).locator(`.ant-picker-cell[title="${dateString}"]`).first()).not.toHaveClass(/ant-picker-cell-disabled/),
119
+ // The picker only closes the popup once it accepts the value, so a closed popup is the
120
+ // signal that a selection was committed rather than just shown in the input.
121
+ closed: (page, blockId)=>expect(pickerDropdown(page, blockId)).toBeHidden()
96
122
  }
97
123
  });