@lowdefy/blocks-antd 4.7.3 → 5.1.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 (359) hide show
  1. package/dist/blocks/Affix/Affix.js +6 -12
  2. package/dist/blocks/Affix/{schema.js → meta.js} +23 -14
  3. package/dist/blocks/Alert/Alert.js +17 -12
  4. package/dist/blocks/Alert/e2e.js +1 -1
  5. package/dist/blocks/Alert/meta.js +186 -0
  6. package/dist/blocks/AutoComplete/AutoComplete.js +21 -22
  7. package/dist/blocks/AutoComplete/meta.js +266 -0
  8. package/dist/blocks/Avatar/Avatar.js +58 -18
  9. package/dist/blocks/Avatar/meta.js +277 -0
  10. package/dist/blocks/Badge/Badge.js +13 -12
  11. package/dist/blocks/Badge/{schema.js → meta.js} +80 -1
  12. package/dist/blocks/Breadcrumb/Breadcrumb.js +40 -41
  13. package/dist/blocks/Breadcrumb/meta.js +90 -0
  14. package/dist/blocks/Button/Button.js +77 -39
  15. package/dist/blocks/Button/meta.js +230 -0
  16. package/dist/blocks/ButtonSelector/ButtonSelector.js +54 -59
  17. package/dist/blocks/ButtonSelector/meta.js +213 -0
  18. package/dist/blocks/Calendar/Calendar.js +153 -0
  19. package/dist/blocks/Calendar/e2e.js +27 -0
  20. package/dist/blocks/Calendar/meta.js +148 -0
  21. package/dist/blocks/Card/Card.js +22 -21
  22. package/dist/blocks/Card/meta.js +170 -0
  23. package/dist/blocks/Carousel/Carousel.js +6 -12
  24. package/dist/blocks/Carousel/{schema.js → meta.js} +61 -22
  25. package/dist/blocks/CheckboxSelector/CheckboxSelector.js +58 -64
  26. package/dist/blocks/CheckboxSelector/meta.js +150 -0
  27. package/dist/blocks/CheckboxSwitch/CheckboxSwitch.js +38 -44
  28. package/dist/blocks/CheckboxSwitch/meta.js +183 -0
  29. package/dist/blocks/Collapse/Collapse.js +21 -12
  30. package/dist/blocks/Collapse/meta.js +179 -0
  31. package/dist/blocks/ColorSelector/ColorSelector.js +97 -0
  32. package/dist/blocks/ColorSelector/e2e.js +32 -0
  33. package/dist/blocks/ColorSelector/meta.js +250 -0
  34. package/dist/blocks/ConfigProvider/ConfigProvider.js +51 -0
  35. package/dist/blocks/{Alert/style.less → ConfigProvider/e2e.js} +5 -3
  36. package/dist/blocks/{ControlledList/schema.js → ConfigProvider/meta.js} +43 -45
  37. package/dist/blocks/ConfirmModal/ConfirmModal.js +45 -25
  38. package/dist/blocks/ConfirmModal/{schema.js → meta.js} +93 -35
  39. package/dist/blocks/Content/Content.js +5 -12
  40. package/dist/blocks/{Layout/schema.js → Content/meta.js} +11 -3
  41. package/dist/blocks/ControlledList/ControlledList.js +42 -54
  42. package/dist/blocks/ControlledList/meta.js +158 -0
  43. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +31 -29
  44. package/dist/blocks/DateRangeSelector/meta.js +297 -0
  45. package/dist/blocks/DateSelector/DateSelector.js +28 -28
  46. package/dist/blocks/DateSelector/meta.js +241 -0
  47. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +28 -28
  48. package/dist/blocks/DateTimeSelector/meta.js +282 -0
  49. package/dist/blocks/Descriptions/Descriptions.js +20 -22
  50. package/dist/blocks/Descriptions/{schema.js → meta.js} +71 -15
  51. package/dist/blocks/Divider/Divider.js +8 -14
  52. package/dist/blocks/Divider/meta.js +86 -0
  53. package/dist/blocks/Drawer/Drawer.js +23 -16
  54. package/dist/blocks/Drawer/{schema.js → meta.js} +62 -61
  55. package/dist/blocks/DropdownButton/DropdownButton.js +221 -0
  56. package/dist/blocks/DropdownButton/e2e.js +30 -0
  57. package/dist/blocks/DropdownButton/meta.js +317 -0
  58. package/dist/blocks/DropdownMenu/DropdownMenu.js +130 -0
  59. package/dist/blocks/DropdownMenu/e2e.js +28 -0
  60. package/dist/blocks/DropdownMenu/meta.js +322 -0
  61. package/dist/blocks/Flex/Flex.js +31 -0
  62. package/dist/blocks/{Comment → Flex}/e2e.js +1 -2
  63. package/dist/blocks/Flex/meta.js +115 -0
  64. package/dist/blocks/FloatButton/FloatButton.js +46 -0
  65. package/dist/blocks/FloatButton/e2e.js +28 -0
  66. package/dist/blocks/FloatButton/meta.js +156 -0
  67. package/dist/blocks/Footer/Footer.js +8 -17
  68. package/dist/blocks/{Header/schema.js → Footer/meta.js} +11 -12
  69. package/dist/blocks/Header/Header.js +38 -18
  70. package/dist/blocks/Header/meta.js +318 -0
  71. package/dist/blocks/Label/Label.js +19 -27
  72. package/dist/blocks/Label/labelLogic.js +37 -41
  73. package/dist/blocks/Label/meta.js +148 -0
  74. package/dist/blocks/Label/style.module.css +185 -0
  75. package/dist/blocks/Layout/Layout.js +10 -13
  76. package/dist/blocks/{Content/schema.js → Layout/meta.js} +11 -3
  77. package/dist/blocks/Masonry/Masonry.js +37 -0
  78. package/dist/blocks/{Affix/style.less → Masonry/e2e.js} +9 -3
  79. package/dist/blocks/Masonry/meta.js +86 -0
  80. package/dist/blocks/MasonryList/MasonryList.js +42 -0
  81. package/dist/blocks/{AutoComplete/style.less → MasonryList/e2e.js} +9 -3
  82. package/dist/blocks/MasonryList/meta.js +86 -0
  83. package/dist/blocks/Menu/Menu.js +153 -124
  84. package/dist/blocks/Menu/meta.js +544 -0
  85. package/dist/blocks/Message/Message.js +18 -16
  86. package/dist/blocks/Message/{schema.js → meta.js} +29 -14
  87. package/dist/blocks/MobileMenu/MobileMenu.js +28 -23
  88. package/dist/blocks/MobileMenu/{schema.js → meta.js} +48 -31
  89. package/dist/blocks/Modal/Modal.js +20 -16
  90. package/dist/blocks/Modal/meta.js +234 -0
  91. package/dist/blocks/MonthSelector/MonthSelector.js +30 -30
  92. package/dist/blocks/MonthSelector/meta.js +260 -0
  93. package/dist/blocks/MultipleSelector/MultipleSelector.js +57 -37
  94. package/dist/blocks/MultipleSelector/{schema.js → meta.js} +178 -151
  95. package/dist/blocks/Notification/Notification.js +39 -23
  96. package/dist/blocks/Notification/{schema.js → meta.js} +36 -22
  97. package/dist/blocks/NumberInput/NumberInput.js +12 -21
  98. package/dist/blocks/NumberInput/meta.js +250 -0
  99. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +137 -189
  100. package/dist/blocks/PageHeaderMenu/meta.js +420 -0
  101. package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +511 -0
  102. package/dist/blocks/PageSidebarLayout/e2e.js +34 -0
  103. package/dist/blocks/PageSidebarLayout/meta.js +516 -0
  104. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +188 -196
  105. package/dist/blocks/PageSiderMenu/meta.js +486 -0
  106. package/dist/blocks/Pagination/Pagination.js +6 -15
  107. package/dist/blocks/Pagination/meta.js +233 -0
  108. package/dist/blocks/Paragraph/Paragraph.js +28 -16
  109. package/dist/blocks/Paragraph/{schema.js → meta.js} +68 -18
  110. package/dist/blocks/ParagraphInput/ParagraphInput.js +34 -17
  111. package/dist/blocks/ParagraphInput/{schema.js → meta.js} +134 -18
  112. package/dist/blocks/PasswordInput/PasswordInput.js +9 -16
  113. package/dist/blocks/PasswordInput/meta.js +195 -0
  114. package/dist/blocks/PhoneNumberInput/PhoneNumberInput.js +37 -33
  115. package/dist/blocks/PhoneNumberInput/formatPhoneNumber.js +25 -0
  116. package/dist/blocks/PhoneNumberInput/meta.js +225 -0
  117. package/dist/blocks/PhoneNumberInput/upstream-formatting-spec.md +173 -0
  118. package/dist/blocks/Popover/Popover.js +7 -12
  119. package/dist/blocks/Popover/{schema.js → meta.js} +81 -11
  120. package/dist/blocks/Progress/Progress.js +7 -12
  121. package/dist/blocks/Progress/{schema.js → meta.js} +74 -4
  122. package/dist/blocks/QRCode/QRCode.js +39 -0
  123. package/dist/blocks/{Footer/schema.js → QRCode/e2e.js} +9 -15
  124. package/dist/blocks/QRCode/meta.js +152 -0
  125. package/dist/blocks/RadioSelector/RadioSelector.js +55 -63
  126. package/dist/blocks/RadioSelector/meta.js +179 -0
  127. package/dist/blocks/RatingSlider/RatingSlider.js +95 -103
  128. package/dist/blocks/RatingSlider/meta.js +221 -0
  129. package/dist/blocks/Result/Result.js +13 -12
  130. package/dist/blocks/Result/meta.js +129 -0
  131. package/dist/blocks/Search/Search.js +135 -0
  132. package/dist/blocks/Search/SearchHighlight.js +33 -0
  133. package/dist/blocks/Search/SearchModal.js +171 -0
  134. package/dist/blocks/Search/SearchResults.js +129 -0
  135. package/dist/blocks/Search/meta.js +258 -0
  136. package/dist/blocks/Search/style.module.css +96 -0
  137. package/dist/blocks/Search/useListKeyboardNav.js +45 -0
  138. package/dist/blocks/Search/useRecentSearches.js +77 -0
  139. package/dist/blocks/Search/useSearchIndex.js +144 -0
  140. package/dist/blocks/SegmentedSelector/SegmentedSelector.js +93 -0
  141. package/dist/blocks/SegmentedSelector/e2e.js +32 -0
  142. package/dist/blocks/SegmentedSelector/meta.js +222 -0
  143. package/dist/blocks/Selector/Selector.js +41 -30
  144. package/dist/blocks/Selector/meta.js +380 -0
  145. package/dist/blocks/Sider/Sider.js +19 -18
  146. package/dist/blocks/Sider/{schema.js → meta.js} +20 -34
  147. package/dist/blocks/Slider/Slider.js +8 -20
  148. package/dist/blocks/Slider/meta.js +226 -0
  149. package/dist/blocks/Splitter/Splitter.js +70 -0
  150. package/dist/blocks/Splitter/e2e.js +24 -0
  151. package/dist/blocks/Splitter/meta.js +193 -0
  152. package/dist/blocks/Statistic/Statistic.js +26 -15
  153. package/dist/blocks/Statistic/{schema.js → meta.js} +41 -4
  154. package/dist/blocks/Steps/Steps.js +94 -0
  155. package/dist/blocks/Steps/e2e.js +31 -0
  156. package/dist/blocks/Steps/meta.js +246 -0
  157. package/dist/blocks/Switch/Switch.js +59 -54
  158. package/dist/blocks/Switch/meta.js +178 -0
  159. package/dist/blocks/Tabs/Tabs.js +49 -18
  160. package/dist/blocks/Tabs/meta.js +258 -0
  161. package/dist/blocks/Tag/Tag.js +17 -15
  162. package/dist/blocks/Tag/{schema.js → meta.js} +35 -13
  163. package/dist/blocks/TextArea/TextArea.js +10 -16
  164. package/dist/blocks/TextArea/meta.js +255 -0
  165. package/dist/blocks/TextInput/TextInput.js +23 -18
  166. package/dist/blocks/TextInput/meta.js +286 -0
  167. package/dist/blocks/TimelineList/TimelineList.js +29 -27
  168. package/dist/blocks/TimelineList/{schema.js → meta.js} +45 -8
  169. package/dist/blocks/Title/Title.js +34 -21
  170. package/dist/blocks/Title/{schema.js → meta.js} +117 -14
  171. package/dist/blocks/TitleInput/TitleInput.js +43 -25
  172. package/dist/blocks/TitleInput/{schema.js → meta.js} +156 -18
  173. package/dist/blocks/Tooltip/Tooltip.js +16 -16
  174. package/dist/blocks/Tooltip/{schema.js → meta.js} +74 -19
  175. package/dist/blocks/Tour/Tour.js +75 -0
  176. package/dist/blocks/Tour/e2e.js +31 -0
  177. package/dist/blocks/Tour/meta.js +255 -0
  178. package/dist/blocks/TreeSelector/TreeSelector.js +6 -12
  179. package/dist/blocks/TreeSelector/{schema.js → meta.js} +134 -25
  180. package/dist/blocks/Watermark/Watermark.js +34 -0
  181. package/dist/blocks/Watermark/e2e.js +23 -0
  182. package/dist/blocks/Watermark/meta.js +148 -0
  183. package/dist/blocks/WeekSelector/WeekSelector.js +35 -31
  184. package/dist/blocks/WeekSelector/meta.js +269 -0
  185. package/dist/blocks/buildMenuItems.js +95 -0
  186. package/dist/blocks/headerActions.js +220 -0
  187. package/dist/blocks/useItemShortcuts.js +64 -0
  188. package/dist/blocks/withTheme.js +40 -0
  189. package/dist/blocks.js +17 -1
  190. package/dist/disabledDate.js +15 -7
  191. package/dist/e2e.js +4 -1
  192. package/dist/metas.js +92 -0
  193. package/dist/schemas/breadcrumbList.js +64 -0
  194. package/dist/schemas/disabledDates.js +83 -0
  195. package/dist/{blocks/Avatar/style.less → schemas/icon.js} +10 -3
  196. package/dist/schemas/index.js +21 -0
  197. package/dist/schemas/inputProperties.js +70 -0
  198. package/dist/schemas/label.js +62 -0
  199. package/dist/schemas/menuLinks.js +49 -0
  200. package/dist/schemas/options.js +84 -0
  201. package/dist/types.js +4 -18
  202. package/package.json +19 -17
  203. package/dist/blocks/Affix/schema.json +0 -34
  204. package/dist/blocks/Alert/schema.js +0 -84
  205. package/dist/blocks/Alert/schema.json +0 -62
  206. package/dist/blocks/AutoComplete/schema.js +0 -181
  207. package/dist/blocks/AutoComplete/schema.json +0 -160
  208. package/dist/blocks/Avatar/schema.js +0 -98
  209. package/dist/blocks/Avatar/schema.json +0 -71
  210. package/dist/blocks/Badge/schema.json +0 -70
  211. package/dist/blocks/Badge/style.less +0 -17
  212. package/dist/blocks/Breadcrumb/schema.js +0 -95
  213. package/dist/blocks/Breadcrumb/schema.json +0 -78
  214. package/dist/blocks/Breadcrumb/style.less +0 -17
  215. package/dist/blocks/Button/schema.js +0 -123
  216. package/dist/blocks/Button/schema.json +0 -91
  217. package/dist/blocks/Button/style.less +0 -17
  218. package/dist/blocks/ButtonSelector/schema.js +0 -214
  219. package/dist/blocks/ButtonSelector/schema.json +0 -188
  220. package/dist/blocks/ButtonSelector/style.less +0 -18
  221. package/dist/blocks/Card/schema.js +0 -75
  222. package/dist/blocks/Card/schema.json +0 -58
  223. package/dist/blocks/Card/style.less +0 -17
  224. package/dist/blocks/Carousel/schema.json +0 -183
  225. package/dist/blocks/Carousel/style.less +0 -17
  226. package/dist/blocks/CheckboxSelector/schema.js +0 -220
  227. package/dist/blocks/CheckboxSelector/schema.json +0 -193
  228. package/dist/blocks/CheckboxSelector/style.less +0 -19
  229. package/dist/blocks/CheckboxSwitch/schema.js +0 -122
  230. package/dist/blocks/CheckboxSwitch/schema.json +0 -105
  231. package/dist/blocks/CheckboxSwitch/style.less +0 -19
  232. package/dist/blocks/Collapse/schema.js +0 -110
  233. package/dist/blocks/Collapse/schema.json +0 -90
  234. package/dist/blocks/Collapse/style.less +0 -17
  235. package/dist/blocks/Comment/Comment.js +0 -56
  236. package/dist/blocks/Comment/schema.js +0 -56
  237. package/dist/blocks/Comment/schema.json +0 -39
  238. package/dist/blocks/Comment/style.less +0 -18
  239. package/dist/blocks/ConfirmModal/schema.json +0 -122
  240. package/dist/blocks/ConfirmModal/style.less +0 -17
  241. package/dist/blocks/Content/schema.json +0 -16
  242. package/dist/blocks/Content/style.less +0 -17
  243. package/dist/blocks/ControlledList/schema.json +0 -73
  244. package/dist/blocks/ControlledList/style.less +0 -19
  245. package/dist/blocks/DateRangeSelector/schema.js +0 -266
  246. package/dist/blocks/DateRangeSelector/schema.json +0 -221
  247. package/dist/blocks/DateRangeSelector/style.less +0 -18
  248. package/dist/blocks/DateSelector/schema.js +0 -219
  249. package/dist/blocks/DateSelector/schema.json +0 -183
  250. package/dist/blocks/DateSelector/style.less +0 -18
  251. package/dist/blocks/DateTimeSelector/schema.js +0 -251
  252. package/dist/blocks/DateTimeSelector/schema.json +0 -215
  253. package/dist/blocks/DateTimeSelector/style.less +0 -18
  254. package/dist/blocks/Descriptions/schema.json +0 -186
  255. package/dist/blocks/Descriptions/style.less +0 -17
  256. package/dist/blocks/Divider/schema.js +0 -56
  257. package/dist/blocks/Divider/schema.json +0 -35
  258. package/dist/blocks/Divider/style.less +0 -17
  259. package/dist/blocks/Drawer/schema.json +0 -121
  260. package/dist/blocks/Drawer/style.less +0 -17
  261. package/dist/blocks/Footer/schema.json +0 -16
  262. package/dist/blocks/Footer/style.less +0 -17
  263. package/dist/blocks/Header/schema.json +0 -22
  264. package/dist/blocks/Header/style.less +0 -17
  265. package/dist/blocks/Label/schema.js +0 -83
  266. package/dist/blocks/Label/schema.json +0 -62
  267. package/dist/blocks/Label/style.less +0 -34
  268. package/dist/blocks/Layout/schema.json +0 -16
  269. package/dist/blocks/Layout/style.less +0 -17
  270. package/dist/blocks/Menu/schema.js +0 -283
  271. package/dist/blocks/Menu/schema.json +0 -236
  272. package/dist/blocks/Menu/style.less +0 -17
  273. package/dist/blocks/Message/schema.json +0 -48
  274. package/dist/blocks/Message/style.less +0 -17
  275. package/dist/blocks/MobileMenu/schema.json +0 -236
  276. package/dist/blocks/MobileMenu/style.less +0 -19
  277. package/dist/blocks/Modal/schema.js +0 -142
  278. package/dist/blocks/Modal/schema.json +0 -125
  279. package/dist/blocks/Modal/style.less +0 -17
  280. package/dist/blocks/MonthSelector/schema.js +0 -219
  281. package/dist/blocks/MonthSelector/schema.json +0 -183
  282. package/dist/blocks/MonthSelector/style.less +0 -18
  283. package/dist/blocks/MultipleSelector/schema.json +0 -297
  284. package/dist/blocks/MultipleSelector/style.less +0 -19
  285. package/dist/blocks/Notification/schema.json +0 -85
  286. package/dist/blocks/Notification/style.less +0 -18
  287. package/dist/blocks/NumberInput/schema.js +0 -193
  288. package/dist/blocks/NumberInput/schema.json +0 -172
  289. package/dist/blocks/NumberInput/style.less +0 -18
  290. package/dist/blocks/PageHeaderMenu/schema.js +0 -241
  291. package/dist/blocks/PageHeaderMenu/schema.json +0 -215
  292. package/dist/blocks/PageHeaderMenu/style.less +0 -23
  293. package/dist/blocks/PageSiderMenu/schema.js +0 -321
  294. package/dist/blocks/PageSiderMenu/schema.json +0 -283
  295. package/dist/blocks/PageSiderMenu/style.less +0 -26
  296. package/dist/blocks/Pagination/schema.js +0 -101
  297. package/dist/blocks/Pagination/schema.json +0 -75
  298. package/dist/blocks/Pagination/style.less +0 -17
  299. package/dist/blocks/Paragraph/schema.json +0 -135
  300. package/dist/blocks/Paragraph/style.less +0 -18
  301. package/dist/blocks/ParagraphInput/schema.json +0 -162
  302. package/dist/blocks/ParagraphInput/style.less +0 -17
  303. package/dist/blocks/PasswordInput/schema.js +0 -152
  304. package/dist/blocks/PasswordInput/schema.json +0 -131
  305. package/dist/blocks/PasswordInput/style.less +0 -18
  306. package/dist/blocks/PhoneNumberInput/schema.js +0 -243
  307. package/dist/blocks/PhoneNumberInput/schema.json +0 -216
  308. package/dist/blocks/PhoneNumberInput/style.less +0 -33
  309. package/dist/blocks/Popover/schema.json +0 -86
  310. package/dist/blocks/Popover/style.less +0 -17
  311. package/dist/blocks/Progress/schema.json +0 -76
  312. package/dist/blocks/Progress/style.less +0 -17
  313. package/dist/blocks/RadioSelector/schema.js +0 -217
  314. package/dist/blocks/RadioSelector/schema.json +0 -190
  315. package/dist/blocks/RadioSelector/style.less +0 -19
  316. package/dist/blocks/RatingSlider/schema.js +0 -196
  317. package/dist/blocks/RatingSlider/schema.json +0 -169
  318. package/dist/blocks/RatingSlider/style.less +0 -19
  319. package/dist/blocks/Result/schema.js +0 -55
  320. package/dist/blocks/Result/schema.json +0 -30
  321. package/dist/blocks/Result/style.less +0 -17
  322. package/dist/blocks/Selector/schema.js +0 -287
  323. package/dist/blocks/Selector/schema.json +0 -258
  324. package/dist/blocks/Selector/style.less +0 -18
  325. package/dist/blocks/Sider/schema.json +0 -71
  326. package/dist/blocks/Sider/style.less +0 -17
  327. package/dist/blocks/Slider/style.less +0 -18
  328. package/dist/blocks/Statistic/schema.json +0 -74
  329. package/dist/blocks/Statistic/style.less +0 -17
  330. package/dist/blocks/Switch/schema.js +0 -162
  331. package/dist/blocks/Switch/schema.json +0 -136
  332. package/dist/blocks/Switch/style.less +0 -18
  333. package/dist/blocks/Tabs/schema.js +0 -124
  334. package/dist/blocks/Tabs/schema.json +0 -93
  335. package/dist/blocks/Tabs/style.less +0 -17
  336. package/dist/blocks/Tag/schema.json +0 -45
  337. package/dist/blocks/Tag/style.less +0 -17
  338. package/dist/blocks/TextArea/schema.js +0 -196
  339. package/dist/blocks/TextArea/schema.json +0 -172
  340. package/dist/blocks/TextArea/style.less +0 -18
  341. package/dist/blocks/TextInput/schema.js +0 -223
  342. package/dist/blocks/TextInput/schema.json +0 -189
  343. package/dist/blocks/TextInput/style.less +0 -18
  344. package/dist/blocks/TimelineList/schema.json +0 -65
  345. package/dist/blocks/TimelineList/style.less +0 -17
  346. package/dist/blocks/Title/schema.json +0 -136
  347. package/dist/blocks/Title/style.less +0 -18
  348. package/dist/blocks/TitleInput/schema.json +0 -171
  349. package/dist/blocks/TitleInput/style.less +0 -17
  350. package/dist/blocks/Tooltip/schema.json +0 -91
  351. package/dist/blocks/Tooltip/style.less +0 -17
  352. package/dist/blocks/TreeSelector/schema.json +0 -166
  353. package/dist/blocks/TreeSelector/style.less +0 -27
  354. package/dist/blocks/WeekSelector/schema.js +0 -219
  355. package/dist/blocks/WeekSelector/schema.json +0 -183
  356. package/dist/blocks/WeekSelector/style.less +0 -18
  357. package/dist/color.js +0 -85
  358. package/dist/schemas.js +0 -75
  359. package/dist/style.less +0 -17
@@ -0,0 +1,77 @@
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 { useState, useCallback } from 'react';
16
+ function getStorageKey(storageKey) {
17
+ return `lf-${storageKey}-recent`;
18
+ }
19
+ function readFromStorage(key) {
20
+ try {
21
+ const raw = localStorage.getItem(key);
22
+ return raw ? JSON.parse(raw) : [];
23
+ } catch {
24
+ return [];
25
+ }
26
+ }
27
+ function writeToStorage(key, items) {
28
+ try {
29
+ localStorage.setItem(key, JSON.stringify(items));
30
+ } catch {
31
+ // localStorage unavailable
32
+ }
33
+ }
34
+ function useRecentSearches({ enabled, storageKey = 'search', maxCount = 5 }) {
35
+ const key = getStorageKey(storageKey);
36
+ const [recentSearches, setRecentSearches] = useState(()=>{
37
+ if (!enabled) return [];
38
+ return readFromStorage(key);
39
+ });
40
+ const addSearch = useCallback((query)=>{
41
+ if (!enabled || !query) return;
42
+ setRecentSearches((prev)=>{
43
+ const filtered = prev.filter((item)=>item.query !== query);
44
+ const updated = [
45
+ {
46
+ query,
47
+ timestamp: Date.now()
48
+ },
49
+ ...filtered
50
+ ].slice(0, maxCount);
51
+ writeToStorage(key, updated);
52
+ return updated;
53
+ });
54
+ }, [
55
+ enabled,
56
+ key,
57
+ maxCount
58
+ ]);
59
+ const clearSearches = useCallback(()=>{
60
+ if (!enabled) return;
61
+ setRecentSearches([]);
62
+ try {
63
+ localStorage.removeItem(key);
64
+ } catch {
65
+ // localStorage unavailable
66
+ }
67
+ }, [
68
+ enabled,
69
+ key
70
+ ]);
71
+ return {
72
+ recentSearches,
73
+ addSearch,
74
+ clearSearches
75
+ };
76
+ }
77
+ export default useRecentSearches;
@@ -0,0 +1,144 @@
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 { useState, useCallback, useRef } from 'react';
16
+ import MiniSearch from 'minisearch';
17
+ const indexCache = new Map();
18
+ function useSearchIndex({ indexUrl, documents, fields, storeFields, searchOptions }) {
19
+ const [loading, setLoading] = useState(false);
20
+ const [error, setError] = useState(null);
21
+ const indexMetaRef = useRef({
22
+ searchDefaults: {},
23
+ resultDefaults: {},
24
+ groups: []
25
+ });
26
+ const instancesRef = useRef([]);
27
+ const loadedRef = useRef(false);
28
+ const documentsRef = useRef(null);
29
+ const loadIndexes = useCallback(async ()=>{
30
+ if (indexUrl) {
31
+ const urls = Array.isArray(indexUrl) ? indexUrl : [
32
+ indexUrl
33
+ ];
34
+ const uncached = urls.filter((url)=>!indexCache.has(url));
35
+ if (uncached.length === 0) {
36
+ instancesRef.current = urls.map((url)=>indexCache.get(url).instance);
37
+ const first = indexCache.get(urls[0]);
38
+ indexMetaRef.current = {
39
+ searchDefaults: first.searchDefaults ?? {},
40
+ resultDefaults: first.resultDefaults ?? {},
41
+ groups: first.groups ?? []
42
+ };
43
+ loadedRef.current = true;
44
+ return;
45
+ }
46
+ setLoading(true);
47
+ setError(null);
48
+ try {
49
+ const results = await Promise.all(uncached.map(async (url)=>{
50
+ const response = await fetch(url);
51
+ if (!response.ok) {
52
+ throw new Error(`Failed to fetch index: ${url} (${response.status})`);
53
+ }
54
+ return {
55
+ url,
56
+ json: await response.json()
57
+ };
58
+ }));
59
+ for (const { url, json } of results){
60
+ const instance = await MiniSearch.loadJSONAsync(JSON.stringify(json.data), json.options);
61
+ indexCache.set(url, {
62
+ instance,
63
+ searchDefaults: json.searchDefaults,
64
+ resultDefaults: json.resultDefaults,
65
+ groups: json.groups
66
+ });
67
+ }
68
+ instancesRef.current = urls.map((url)=>indexCache.get(url).instance);
69
+ const first = indexCache.get(urls[0]);
70
+ indexMetaRef.current = {
71
+ searchDefaults: first.searchDefaults ?? {},
72
+ resultDefaults: first.resultDefaults ?? {},
73
+ groups: first.groups ?? []
74
+ };
75
+ loadedRef.current = true;
76
+ } catch (err) {
77
+ setError(err);
78
+ } finally{
79
+ setLoading(false);
80
+ }
81
+ }
82
+ }, [
83
+ indexUrl
84
+ ]);
85
+ const buildFromDocuments = useCallback(()=>{
86
+ if (!documents || documentsRef.current === documents) return;
87
+ documentsRef.current = documents;
88
+ const instance = new MiniSearch({
89
+ fields: fields ?? [
90
+ 'title',
91
+ 'content'
92
+ ],
93
+ storeFields: storeFields ?? []
94
+ });
95
+ instance.addAll(documents);
96
+ instancesRef.current = [
97
+ instance
98
+ ];
99
+ loadedRef.current = true;
100
+ }, [
101
+ documents,
102
+ fields,
103
+ storeFields
104
+ ]);
105
+ const ensureLoaded = useCallback(async ()=>{
106
+ if (loadedRef.current && !documents) return;
107
+ if (documents) {
108
+ buildFromDocuments();
109
+ } else if (indexUrl) {
110
+ await loadIndexes();
111
+ }
112
+ }, [
113
+ documents,
114
+ indexUrl,
115
+ loadIndexes,
116
+ buildFromDocuments
117
+ ]);
118
+ const search = useCallback((query)=>{
119
+ if (!loadedRef.current || !query) return [];
120
+ const mergedOptions = {
121
+ ...indexMetaRef.current.searchDefaults,
122
+ ...searchOptions
123
+ };
124
+ const allResults = [];
125
+ for (const instance of instancesRef.current){
126
+ const results = instance.search(query, mergedOptions);
127
+ allResults.push(...results);
128
+ }
129
+ allResults.sort((a, b)=>b.score - a.score);
130
+ return allResults;
131
+ }, [
132
+ searchOptions
133
+ ]);
134
+ return {
135
+ search,
136
+ loading,
137
+ error,
138
+ ensureLoaded,
139
+ searchDefaults: indexMetaRef.current.searchDefaults,
140
+ resultDefaults: indexMetaRef.current.resultDefaults,
141
+ groups: indexMetaRef.current.groups
142
+ };
143
+ }
144
+ export default useSearchIndex;
@@ -0,0 +1,93 @@
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 React from 'react';
16
+ import { Segmented } from 'antd';
17
+ import { renderHtml, withBlockDefaults } from '@lowdefy/block-utils';
18
+ import { type } from '@lowdefy/helpers';
19
+ import Label from '../Label/Label.js';
20
+ import getValueIndex from '../../getValueIndex.js';
21
+ import getUniqueValues from '../../getUniqueValues.js';
22
+ import withTheme from '../withTheme.js';
23
+ const SegmentedSelector = ({ blockId, classNames = {}, components: { Icon }, events, loading, methods, properties, required, styles = {}, validation, value })=>{
24
+ const uniqueValueOptions = getUniqueValues(properties.options || []);
25
+ return /*#__PURE__*/ React.createElement(Label, {
26
+ blockId: blockId,
27
+ classNames: classNames,
28
+ components: {
29
+ Icon
30
+ },
31
+ events: events,
32
+ properties: {
33
+ title: properties.title,
34
+ size: properties.size,
35
+ ...properties.label
36
+ },
37
+ validation: validation,
38
+ required: required,
39
+ styles: styles,
40
+ content: {
41
+ content: ()=>/*#__PURE__*/ React.createElement(Segmented, {
42
+ id: `${blockId}_input`,
43
+ className: classNames.element,
44
+ style: styles.element,
45
+ options: uniqueValueOptions.map((opt, i)=>type.isPrimitive(opt) ? {
46
+ label: renderHtml({
47
+ html: `${opt}`,
48
+ methods
49
+ }),
50
+ value: `${i}`
51
+ } : {
52
+ label: type.isNone(opt.label) ? renderHtml({
53
+ html: `${opt.value}`,
54
+ methods
55
+ }) : renderHtml({
56
+ html: opt.label,
57
+ methods
58
+ }),
59
+ value: `${i}`,
60
+ disabled: opt.disabled || properties.disabled || loading,
61
+ icon: opt.icon ? /*#__PURE__*/ React.createElement(Icon, {
62
+ blockId: `${blockId}_${i}_icon`,
63
+ classNames: {
64
+ element: classNames.icon
65
+ },
66
+ events: events,
67
+ properties: opt.icon,
68
+ styles: {
69
+ element: styles.icon
70
+ }
71
+ }) : undefined
72
+ }),
73
+ size: properties.size,
74
+ block: properties.block,
75
+ disabled: properties.disabled || loading,
76
+ vertical: properties.vertical,
77
+ shape: properties.shape,
78
+ value: type.isNone(value) ? undefined : getValueIndex(value, properties.options || []),
79
+ onChange: (index)=>{
80
+ const val = type.isPrimitive(uniqueValueOptions[index]) ? uniqueValueOptions[index] : uniqueValueOptions[index].value;
81
+ methods.setValue(val);
82
+ methods.triggerEvent({
83
+ name: 'onChange',
84
+ event: {
85
+ value: val
86
+ }
87
+ });
88
+ }
89
+ })
90
+ }
91
+ });
92
+ };
93
+ export default withTheme('Segmented', withBlockDefaults(SegmentedSelector));
@@ -0,0 +1,32 @@
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
+ const locator = (page, blockId)=>page.locator(`#${blockId}_input`);
18
+ export default createBlockHelper({
19
+ locator,
20
+ do: {
21
+ select: (page, blockId, text)=>locator(page, blockId).locator('.ant-segmented-item').filter({
22
+ hasText: text
23
+ }).click()
24
+ },
25
+ expect: {
26
+ value: (page, blockId, text)=>expect(locator(page, blockId).locator('.ant-segmented-item-selected').filter({
27
+ hasText: text
28
+ })).toBeVisible(),
29
+ disabled: (page, blockId)=>expect(locator(page, blockId)).toHaveClass(/ant-segmented-disabled/),
30
+ enabled: (page, blockId)=>expect(locator(page, blockId)).not.toHaveClass(/ant-segmented-disabled/)
31
+ }
32
+ });
@@ -0,0 +1,222 @@
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 LabelMeta from '../Label/meta.js';
16
+ import label from '../../schemas/label.js';
17
+ import { disabled, inputTitle, sizeSmallDefaultLarge } from '../../schemas/inputProperties.js';
18
+ export default {
19
+ category: 'input',
20
+ icons: [
21
+ ...LabelMeta.icons
22
+ ],
23
+ valueType: 'any',
24
+ cssKeys: {
25
+ element: 'The SegmentedSelector element.',
26
+ icon: 'The icon in the SegmentedSelector.',
27
+ label: 'The SegmentedSelector label.',
28
+ extra: 'The SegmentedSelector extra content.',
29
+ feedback: 'The SegmentedSelector validation feedback.'
30
+ },
31
+ events: {
32
+ onChange: {
33
+ description: 'Trigger actions when selection is changed.',
34
+ event: {
35
+ value: 'The selected value.'
36
+ }
37
+ }
38
+ },
39
+ properties: {
40
+ type: 'object',
41
+ additionalProperties: false,
42
+ properties: {
43
+ block: {
44
+ type: 'boolean',
45
+ default: false,
46
+ description: "Option to fit width to its parent's width."
47
+ },
48
+ disabled,
49
+ options: {
50
+ default: [],
51
+ oneOf: [
52
+ {
53
+ type: 'array',
54
+ description: 'Options can either be an array of primitive values, or an array of label, value pairs - supports html.',
55
+ items: {
56
+ type: 'string'
57
+ }
58
+ },
59
+ {
60
+ type: 'array',
61
+ description: 'Options can either be an array of primitive values, or an array of label, value pairs.',
62
+ items: {
63
+ type: 'number'
64
+ }
65
+ },
66
+ {
67
+ type: 'array',
68
+ description: 'Options can either be an array of primitive values, or an array of label, value pairs.',
69
+ items: {
70
+ type: 'boolean'
71
+ }
72
+ },
73
+ {
74
+ type: 'array',
75
+ description: 'Options can either be an array of primitive values, or an array of label, value pairs.',
76
+ items: {
77
+ type: 'object',
78
+ required: [
79
+ 'value'
80
+ ],
81
+ properties: {
82
+ label: {
83
+ type: 'string',
84
+ description: 'Value label shown to user - supports html.'
85
+ },
86
+ value: {
87
+ description: 'Value selected. Can be of any type.',
88
+ oneOf: [
89
+ {
90
+ type: 'string'
91
+ },
92
+ {
93
+ type: 'number'
94
+ },
95
+ {
96
+ type: 'boolean'
97
+ },
98
+ {
99
+ type: 'object'
100
+ },
101
+ {
102
+ type: 'array'
103
+ }
104
+ ],
105
+ docs: {
106
+ displayType: 'yaml'
107
+ }
108
+ },
109
+ disabled: {
110
+ type: 'boolean',
111
+ default: false,
112
+ description: 'Disable the option if true.'
113
+ },
114
+ icon: {
115
+ type: 'string',
116
+ description: 'Name of a React-Icon (See <a href="https://react-icons.github.io/react-icons/">all icons</a>) to display in the segment option.',
117
+ docs: {
118
+ displayType: 'icon'
119
+ }
120
+ }
121
+ }
122
+ }
123
+ }
124
+ ]
125
+ },
126
+ shape: {
127
+ type: 'string',
128
+ enum: [
129
+ 'default',
130
+ 'round'
131
+ ],
132
+ default: 'default',
133
+ description: 'Shape of the segmented control.'
134
+ },
135
+ size: sizeSmallDefaultLarge,
136
+ vertical: {
137
+ type: 'boolean',
138
+ default: false,
139
+ description: 'Display the segmented control vertically.'
140
+ },
141
+ label,
142
+ title: inputTitle,
143
+ theme: {
144
+ type: 'object',
145
+ description: 'Antd design token overrides for this block. See <a href="https://ant.design/components/overview#design-token">antd design tokens</a>.',
146
+ docs: {
147
+ displayType: 'yaml',
148
+ link: 'https://ant.design/components/segmented#design-token'
149
+ },
150
+ properties: {
151
+ trackBg: {
152
+ type: 'string',
153
+ description: 'Background color of the segmented track container.'
154
+ },
155
+ trackPadding: {
156
+ type: 'number',
157
+ description: 'Padding around the segmented track.'
158
+ },
159
+ itemColor: {
160
+ type: 'string',
161
+ description: 'Default text color for segmented items.'
162
+ },
163
+ itemHoverColor: {
164
+ type: 'string',
165
+ description: 'Text color when hovering over a segmented item.'
166
+ },
167
+ itemHoverBg: {
168
+ type: 'string',
169
+ description: 'Background color when hovering over a segmented item.'
170
+ },
171
+ itemActiveBg: {
172
+ type: 'string',
173
+ description: 'Background color when a segmented item is being pressed.'
174
+ },
175
+ itemSelectedBg: {
176
+ type: 'string',
177
+ description: 'Background color of the selected segmented item.'
178
+ },
179
+ itemSelectedColor: {
180
+ type: 'string',
181
+ description: 'Text color of the selected segmented item.'
182
+ },
183
+ borderRadius: {
184
+ type: 'number',
185
+ default: 6,
186
+ description: 'Border radius of the segmented control.'
187
+ },
188
+ borderRadiusLG: {
189
+ type: 'number',
190
+ default: 8,
191
+ description: 'Border radius for large segmented control.'
192
+ },
193
+ borderRadiusSM: {
194
+ type: 'number',
195
+ default: 4,
196
+ description: 'Border radius for small segmented control.'
197
+ },
198
+ controlHeight: {
199
+ type: 'number',
200
+ default: 32,
201
+ description: 'Height of the segmented control.'
202
+ },
203
+ controlHeightLG: {
204
+ type: 'number',
205
+ default: 40,
206
+ description: 'Height for large segmented control.'
207
+ },
208
+ controlHeightSM: {
209
+ type: 'number',
210
+ default: 24,
211
+ description: 'Height for small segmented control.'
212
+ },
213
+ fontSize: {
214
+ type: 'number',
215
+ default: 14,
216
+ description: 'Font size of segmented item text.'
217
+ }
218
+ }
219
+ }
220
+ }
221
+ }
222
+ };