@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
@@ -0,0 +1,427 @@
1
+ # Copyright 2020-2026 Lowdefy, Inc
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ id: selector
16
+ type: Box
17
+
18
+ events:
19
+ onInit:
20
+ - id: set_defaults
21
+ type: SetState
22
+ params:
23
+ selector_with_value: Option 2
24
+ selector_no_allowclear: A
25
+ selector_onclear: Apple
26
+ selector_clearable: B
27
+ selector_object_value:
28
+ _id: b2
29
+ name: Bob
30
+ selector_object_primarykey:
31
+ _id: b2
32
+ name: Stale Name
33
+
34
+ blocks:
35
+ # ============================================
36
+ # BASIC RENDERING
37
+ # ============================================
38
+
39
+ - id: selector_basic
40
+ type: Selector
41
+ properties:
42
+ options:
43
+ - Option 1
44
+ - Option 2
45
+ - Option 3
46
+
47
+ - id: selector_with_value
48
+ type: Selector
49
+ properties:
50
+ options:
51
+ - Option 1
52
+ - Option 2
53
+ - Option 3
54
+
55
+ # ============================================
56
+ # PROPERTY TESTS
57
+ # ============================================
58
+
59
+ - id: selector_placeholder
60
+ type: Selector
61
+ properties:
62
+ placeholder: Choose an item
63
+ options:
64
+ - A
65
+ - B
66
+ - C
67
+
68
+ - id: selector_disabled
69
+ type: Selector
70
+ properties:
71
+ disabled: true
72
+ options:
73
+ - A
74
+ - B
75
+ - C
76
+
77
+ - id: selector_small
78
+ type: Selector
79
+ properties:
80
+ size: small
81
+ options:
82
+ - A
83
+ - B
84
+ - C
85
+
86
+ - id: selector_large
87
+ type: Selector
88
+ properties:
89
+ size: large
90
+ options:
91
+ - A
92
+ - B
93
+ - C
94
+
95
+ - id: selector_borderless
96
+ type: Selector
97
+ properties:
98
+ bordered: false
99
+ options:
100
+ - A
101
+ - B
102
+ - C
103
+
104
+ - id: selector_no_allowclear
105
+ type: Selector
106
+ properties:
107
+ allowClear: false
108
+ options:
109
+ - A
110
+ - B
111
+ - C
112
+
113
+ - id: selector_no_search
114
+ type: Selector
115
+ properties:
116
+ showSearch: false
117
+ options:
118
+ - A
119
+ - B
120
+ - C
121
+
122
+ - id: selector_no_arrow
123
+ type: Selector
124
+ properties:
125
+ showArrow: false
126
+ options:
127
+ - A
128
+ - B
129
+ - C
130
+
131
+ # ============================================
132
+ # OPTIONS TESTS
133
+ # ============================================
134
+
135
+ - id: selector_object_options
136
+ type: Selector
137
+ properties:
138
+ options:
139
+ - value: opt1
140
+ label: First Option
141
+ - value: opt2
142
+ label: Second Option
143
+ - value: opt3
144
+ label: Third Option
145
+
146
+ - id: selector_disabled_option
147
+ type: Selector
148
+ properties:
149
+ options:
150
+ - value: enabled1
151
+ label: Enabled Option
152
+ - value: disabled1
153
+ label: Disabled Option
154
+ disabled: true
155
+ - value: enabled2
156
+ label: Another Enabled
157
+
158
+ - id: selector_empty_options
159
+ type: Selector
160
+ properties:
161
+ options: []
162
+ notFoundContent: No items available
163
+
164
+ # ============================================
165
+ # EVENT TESTS
166
+ # ============================================
167
+
168
+ - id: selector_onchange
169
+ type: Selector
170
+ properties:
171
+ options:
172
+ - Apple
173
+ - Banana
174
+ - Cherry
175
+ events:
176
+ onChange:
177
+ - id: set_onchange
178
+ type: SetState
179
+ params:
180
+ onchange_value:
181
+ _event: value
182
+
183
+ - id: onchange_display
184
+ type: Span
185
+ properties:
186
+ content:
187
+ _if:
188
+ test:
189
+ _ne:
190
+ - _state: onchange_value
191
+ - null
192
+ then:
193
+ _string.concat:
194
+ - 'Selected: '
195
+ - _state: onchange_value
196
+ else: ''
197
+
198
+ - id: selector_onclear
199
+ type: Selector
200
+ properties:
201
+ options:
202
+ - Apple
203
+ - Banana
204
+ - Cherry
205
+ events:
206
+ onClear:
207
+ - id: set_onclear
208
+ type: SetState
209
+ params:
210
+ onclear_fired: true
211
+
212
+ - id: onclear_display
213
+ type: Span
214
+ properties:
215
+ content:
216
+ _if:
217
+ test:
218
+ _eq:
219
+ - _state: onclear_fired
220
+ - true
221
+ then: Clear fired
222
+ else: ''
223
+
224
+ - id: selector_onblur
225
+ type: Selector
226
+ properties:
227
+ options:
228
+ - A
229
+ - B
230
+ - C
231
+ events:
232
+ onBlur:
233
+ - id: set_onblur
234
+ type: SetState
235
+ params:
236
+ onblur_fired: true
237
+
238
+ - id: onblur_display
239
+ type: Span
240
+ properties:
241
+ content:
242
+ _if:
243
+ test:
244
+ _eq:
245
+ - _state: onblur_fired
246
+ - true
247
+ then: Blur fired
248
+ else: ''
249
+
250
+ - id: selector_onfocus
251
+ type: Selector
252
+ properties:
253
+ options:
254
+ - A
255
+ - B
256
+ - C
257
+ events:
258
+ onFocus:
259
+ - id: set_onfocus
260
+ type: SetState
261
+ params:
262
+ onfocus_fired: true
263
+
264
+ - id: onfocus_display
265
+ type: Span
266
+ properties:
267
+ content:
268
+ _if:
269
+ test:
270
+ _eq:
271
+ - _state: onfocus_fired
272
+ - true
273
+ then: Focus fired
274
+ else: ''
275
+
276
+ - id: selector_onsearch
277
+ type: Selector
278
+ properties:
279
+ showSearch: true
280
+ options:
281
+ - Apple
282
+ - Apricot
283
+ - Banana
284
+ - Blueberry
285
+ - Cherry
286
+ events:
287
+ onSearch:
288
+ - id: set_onsearch
289
+ type: SetState
290
+ params:
291
+ search_value:
292
+ _event: value
293
+
294
+ - id: onsearch_display
295
+ type: Span
296
+ properties:
297
+ content:
298
+ _if:
299
+ test:
300
+ _ne:
301
+ - _state: search_value
302
+ - null
303
+ then:
304
+ _string.concat:
305
+ - 'Search: '
306
+ - _state: search_value
307
+ else: ''
308
+
309
+ # ============================================
310
+ # INTERACTION TESTS
311
+ # ============================================
312
+
313
+ - id: selector_clearable
314
+ type: Selector
315
+ properties:
316
+ allowClear: true
317
+ options:
318
+ - A
319
+ - B
320
+ - C
321
+
322
+ - id: selector_searchable
323
+ type: Selector
324
+ properties:
325
+ showSearch: true
326
+ options:
327
+ - Apple
328
+ - Apricot
329
+ - Banana
330
+ - Blueberry
331
+ - Cherry
332
+ - Cranberry
333
+
334
+ # ============================================
335
+ # SELECTOR CSSKEY TESTS
336
+ # ============================================
337
+
338
+ - id: selector_selector_style
339
+ type: Selector
340
+ style:
341
+ .selector:
342
+ padding: 12px
343
+ properties:
344
+ options:
345
+ - A
346
+ - B
347
+ - C
348
+
349
+ - id: selector_selector_class
350
+ type: Selector
351
+ class:
352
+ .selector: selector-selector-tailwind
353
+ properties:
354
+ options:
355
+ - A
356
+ - B
357
+ - C
358
+
359
+ # ============================================
360
+ # OBJECT-VALUED OPTIONS
361
+ # (regression: object values must display the selected value)
362
+ # ============================================
363
+
364
+ - id: selector_object_value
365
+ type: Selector
366
+ properties:
367
+ options:
368
+ - value:
369
+ _id: a1
370
+ name: Alice
371
+ label: Alice
372
+ - value:
373
+ _id: b2
374
+ name: Bob
375
+ label: Bob
376
+
377
+ - id: selector_object_select
378
+ type: Selector
379
+ properties:
380
+ options:
381
+ - value:
382
+ _id: a1
383
+ name: Alice
384
+ label: Alice
385
+ - value:
386
+ _id: b2
387
+ name: Bob
388
+ label: Bob
389
+ events:
390
+ onChange:
391
+ - id: set_selector_object_select
392
+ type: SetState
393
+ params:
394
+ selector_object_select_value:
395
+ _state: selector_object_select
396
+
397
+ - id: selector_object_select_display
398
+ type: Span
399
+ properties:
400
+ content:
401
+ _if:
402
+ test:
403
+ _ne:
404
+ - _state: selector_object_select_value
405
+ - null
406
+ then:
407
+ _string.concat:
408
+ - 'Selected: '
409
+ - _json.stringify:
410
+ - _state: selector_object_select_value
411
+ else: ''
412
+
413
+ # primaryKey identity: stored value differs from the option value on every
414
+ # field except `_id`, so a correct match must project `_id` from both sides.
415
+ - id: selector_object_primarykey
416
+ type: Selector
417
+ properties:
418
+ primaryKey: _id
419
+ options:
420
+ - value:
421
+ _id: a1
422
+ name: Alice
423
+ label: Alice
424
+ - value:
425
+ _id: b2
426
+ name: Bob
427
+ label: Bob
@@ -0,0 +1,196 @@
1
+ # Copyright 2020-2026 Lowdefy, Inc
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ - id: default
16
+ type: Selector
17
+ - id: 'properties.options-string'
18
+ type: Selector
19
+ properties:
20
+ options:
21
+ - Option 1
22
+ - Option 2
23
+ - id: 'properties.options-number'
24
+ type: Selector
25
+ properties:
26
+ options:
27
+ - 10
28
+ - 12
29
+ - id: 'properties.options-object'
30
+ type: Selector
31
+ properties:
32
+ options:
33
+ - label: one
34
+ value: 1
35
+ - label: two
36
+ value: 2
37
+ - id: 'properties.title: My Selector Title'
38
+ type: Selector
39
+ properties:
40
+ label:
41
+ title: My Selector Title
42
+ - id: 'properties.allowClear: false'
43
+ type: Selector
44
+ properties:
45
+ allowClear: false
46
+ options:
47
+ - Option 1
48
+ - Option 2
49
+ - id: 'properties.autoFocus: true'
50
+ type: Selector
51
+ properties:
52
+ autoFocus: true
53
+ options:
54
+ - Option 1
55
+ - Option 2
56
+ - id: 'property.bordered: false'
57
+ type: Selector
58
+ properties:
59
+ bordered: false
60
+ options:
61
+ - Option 1
62
+ - Option 2
63
+ - id: 'properties.clearIcon: ChromeFilled'
64
+ type: Selector
65
+ properties:
66
+ allowClear: true
67
+ clearIcon: ChromeFilled
68
+ options:
69
+ - Option 1
70
+ - Option 2
71
+ - id: 'properties.clearIcon-object: ChromeFilled'
72
+ type: Selector
73
+ properties:
74
+ allowClear: true
75
+ clearIcon:
76
+ name: ChromeFilled
77
+ color: red
78
+ options:
79
+ - Option 1
80
+ - Option 2
81
+ - id: 'properties.disabled: true'
82
+ type: Selector
83
+ properties:
84
+ disabled: true
85
+ - id: 'properties.placeholder: Find item in list'
86
+ type: Selector
87
+ properties:
88
+ placeholder: Find item in list
89
+ - id: 'properties.showArrow: false'
90
+ type: Selector
91
+ properties:
92
+ showArrow: false
93
+ - id: 'properties.showSearch: false'
94
+ type: Selector
95
+ properties:
96
+ showSearch: false
97
+ options:
98
+ - Option 1
99
+ - Option 2
100
+ - id: 'properties.showSearch: true'
101
+ type: Selector
102
+ properties:
103
+ showSearch: true
104
+ options:
105
+ - Option 1
106
+ - Option 2
107
+ - id: 'properties.size: large'
108
+ type: Selector
109
+ properties:
110
+ size: large
111
+ - id: 'properties.size: small'
112
+ type: Selector
113
+ properties:
114
+ size: small
115
+ - id: 'properties.size: default'
116
+ type: Selector
117
+ properties:
118
+ size: default
119
+ - id: 'properties.suffixIcon: AiOutlineDoubleLeft'
120
+ type: Selector
121
+ properties:
122
+ suffixIcon: AiOutlineDoubleLeft
123
+ - id: 'properties.label span: 12'
124
+ type: Selector
125
+ properties:
126
+ label:
127
+ span: 12
128
+ - id: 'properties.label align: right'
129
+ type: Selector
130
+ properties:
131
+ label:
132
+ align: right
133
+ - id: 'properties.label align: left'
134
+ type: Selector
135
+ properties:
136
+ label:
137
+ align: left
138
+ - id: 'properties.label inline: true'
139
+ type: Selector
140
+ properties:
141
+ label:
142
+ inline: true
143
+ - id: 'properties.label disabled: true'
144
+ type: Selector
145
+ properties:
146
+ label:
147
+ disabled: true
148
+ - id: 'properties.label colon: false'
149
+ type: Selector
150
+ properties:
151
+ label:
152
+ colon: false
153
+ - id: 'properties.label extra: showing extra'
154
+ type: Selector
155
+ properties:
156
+ label:
157
+ extra: showing extra
158
+ - id: 'properties.options: html'
159
+ type: Selector
160
+ properties:
161
+ options:
162
+ - '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
163
+ - '<div style="color: green;">Option green</div>'
164
+ - Option 3
165
+ - id: 'properties.options.label: html'
166
+ type: Selector
167
+ properties:
168
+ options:
169
+ - label: '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
170
+ value: 1
171
+ - label: '<div style="color: green;">Option green</div>'
172
+ value: 2
173
+ - label: Option 3
174
+ value: 3
175
+ - id: 'properties.options-style'
176
+ type: Selector
177
+ properties:
178
+ options:
179
+ - label: one
180
+ value: 1
181
+ style:
182
+ color: red
183
+ - label: two
184
+ value: 2
185
+ - id: 'properties.options.label: html and properties.options.filterString'
186
+ type: Selector
187
+ properties:
188
+ options:
189
+ - label: '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
190
+ filterString: 'Some main text'
191
+ value: 1
192
+ - label: '<div style="color: green;">Option green</div>'
193
+ filterString: 'Option green'
194
+ value: 2
195
+ - label: Option 3
196
+ value: 3