@lowdefy/blocks-antd 5.6.0 → 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 (283) 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/gallery.yaml +781 -0
  36. package/dist/blocks/CheckboxSelector/tests/CheckboxSelector.e2e.yaml +272 -0
  37. package/dist/blocks/CheckboxSelector/tests.yaml +325 -0
  38. package/dist/blocks/CheckboxSwitch/gallery.yaml +457 -0
  39. package/dist/blocks/CheckboxSwitch/tests/CheckboxSwitch.e2e.yaml +126 -0
  40. package/dist/blocks/CheckboxSwitch/tests.yaml +96 -0
  41. package/dist/blocks/Collapse/gallery.yaml +1079 -0
  42. package/dist/blocks/Collapse/tests/Collapse.e2e.yaml +206 -0
  43. package/dist/blocks/Collapse/tests.yaml +265 -0
  44. package/dist/blocks/ColorSelector/gallery.yaml +807 -0
  45. package/dist/blocks/ColorSelector/tests/ColorSelector.e2e.yaml +77 -0
  46. package/dist/blocks/ColorSelector/tests.yaml +84 -0
  47. package/dist/blocks/ConfigProvider/gallery.yaml +1003 -0
  48. package/dist/blocks/ConfigProvider/tests.yaml +62 -0
  49. package/dist/blocks/ConfirmModal/gallery.yaml +1043 -0
  50. package/dist/blocks/ConfirmModal/tests/ConfirmModal.e2e.yaml +410 -0
  51. package/dist/blocks/ConfirmModal/tests.yaml +95 -0
  52. package/dist/blocks/Content/gallery.yaml +528 -0
  53. package/dist/blocks/Content/tests/Content.e2e.yaml +71 -0
  54. package/dist/blocks/Content/tests.yaml +42 -0
  55. package/dist/blocks/ControlledList/ControlledList.js +1 -1
  56. package/dist/blocks/ControlledList/gallery.yaml +481 -0
  57. package/dist/blocks/ControlledList/{style.module.css → style.css} +3 -3
  58. package/dist/blocks/ControlledList/tests/ControlledList.e2e.yaml +161 -0
  59. package/dist/blocks/ControlledList/tests.yaml +57 -0
  60. package/dist/blocks/DateRangeSelector/DateRangeSelector.js +7 -0
  61. package/dist/blocks/DateRangeSelector/e2e.js +28 -2
  62. package/dist/blocks/DateRangeSelector/gallery.yaml +858 -0
  63. package/dist/blocks/DateRangeSelector/meta.js +2 -0
  64. package/dist/blocks/DateRangeSelector/tests/DateRangeSelector.e2e.yaml +204 -0
  65. package/dist/blocks/DateRangeSelector/tests.yaml +129 -0
  66. package/dist/blocks/DateSelector/DateSelector.js +6 -0
  67. package/dist/blocks/DateSelector/e2e.js +28 -2
  68. package/dist/blocks/DateSelector/gallery.yaml +691 -0
  69. package/dist/blocks/DateSelector/meta.js +6 -0
  70. package/dist/blocks/DateSelector/tests/DateSelector.e2e.yaml +229 -0
  71. package/dist/blocks/DateSelector/tests.yaml +117 -0
  72. package/dist/blocks/DateTimeSelector/DateTimeSelector.js +7 -0
  73. package/dist/blocks/DateTimeSelector/e2e.js +26 -2
  74. package/dist/blocks/DateTimeSelector/gallery.yaml +770 -0
  75. package/dist/blocks/DateTimeSelector/meta.js +2 -0
  76. package/dist/blocks/DateTimeSelector/tests/DateTimeSelector.e2e.yaml +163 -0
  77. package/dist/blocks/DateTimeSelector/tests.yaml +140 -0
  78. package/dist/blocks/Descriptions/gallery.yaml +839 -0
  79. package/dist/blocks/Descriptions/tests/Descriptions.e2e.yaml +143 -0
  80. package/dist/blocks/Descriptions/tests.yaml +256 -0
  81. package/dist/blocks/Divider/gallery.yaml +375 -0
  82. package/dist/blocks/Divider/tests/Divider.e2e.yaml +107 -0
  83. package/dist/blocks/Divider/tests.yaml +58 -0
  84. package/dist/blocks/Drawer/gallery.yaml +1257 -0
  85. package/dist/blocks/Drawer/tests/Drawer.e2e.yaml +562 -0
  86. package/dist/blocks/Drawer/tests.yaml +80 -0
  87. package/dist/blocks/DropdownButton/gallery.yaml +606 -0
  88. package/dist/blocks/DropdownButton/tests/DropdownButton.e2e.yaml +243 -0
  89. package/dist/blocks/DropdownMenu/gallery.yaml +578 -0
  90. package/dist/blocks/DropdownMenu/tests/DropdownMenu.e2e.yaml +267 -0
  91. package/dist/blocks/Flex/gallery.yaml +1416 -0
  92. package/dist/blocks/Flex/tests/Flex.e2e.yaml +95 -0
  93. package/dist/blocks/Flex/tests.yaml +92 -0
  94. package/dist/blocks/FloatButton/gallery.yaml +518 -0
  95. package/dist/blocks/FloatButton/tests/FloatButton.e2e.yaml +73 -0
  96. package/dist/blocks/FloatButton/tests.yaml +59 -0
  97. package/dist/blocks/Footer/gallery.yaml +355 -0
  98. package/dist/blocks/Footer/tests/Footer.e2e.yaml +70 -0
  99. package/dist/blocks/Footer/tests.yaml +28 -0
  100. package/dist/blocks/Header/gallery.yaml +249 -0
  101. package/dist/blocks/Header/tests/Header.e2e.yaml +77 -0
  102. package/dist/blocks/Header/tests.yaml +36 -0
  103. package/dist/blocks/Label/Label.js +1 -1
  104. package/dist/blocks/Label/gallery.yaml +762 -0
  105. package/dist/blocks/Label/{style.module.css → style.css} +28 -28
  106. package/dist/blocks/Label/tests/Label.e2e.yaml +247 -0
  107. package/dist/blocks/Label/tests.yaml +212 -0
  108. package/dist/blocks/Layout/gallery.yaml +548 -0
  109. package/dist/blocks/Layout/tests/Layout.e2e.yaml +86 -0
  110. package/dist/blocks/Layout/tests.yaml +28 -0
  111. package/dist/blocks/ListSelector/gallery.yaml +223 -0
  112. package/dist/blocks/Masonry/gallery.yaml +989 -0
  113. package/dist/blocks/Masonry/tests/Masonry.e2e.yaml +128 -0
  114. package/dist/blocks/Masonry/tests.yaml +42 -0
  115. package/dist/blocks/MasonryList/gallery.yaml +224 -0
  116. package/dist/blocks/MasonryList/tests/MasonryList.e2e.yaml +55 -0
  117. package/dist/blocks/MasonryList/tests.yaml +42 -0
  118. package/dist/blocks/Menu/gallery.yaml +974 -0
  119. package/dist/blocks/Menu/tests/Menu.e2e.yaml +484 -0
  120. package/dist/blocks/Menu/tests.yaml +1053 -0
  121. package/dist/blocks/Message/gallery.yaml +860 -0
  122. package/dist/blocks/Message/tests/Message.e2e.yaml +246 -0
  123. package/dist/blocks/Message/tests.yaml +54 -0
  124. package/dist/blocks/MobileMenu/gallery.yaml +1172 -0
  125. package/dist/blocks/MobileMenu/tests/MobileMenu.e2e.yaml +314 -0
  126. package/dist/blocks/MobileMenu/tests.yaml +359 -0
  127. package/dist/blocks/Modal/gallery.yaml +1039 -0
  128. package/dist/blocks/Modal/tests/Modal.e2e.yaml +493 -0
  129. package/dist/blocks/Modal/tests.yaml +75 -0
  130. package/dist/blocks/MonthSelector/MonthSelector.js +6 -0
  131. package/dist/blocks/MonthSelector/e2e.js +26 -2
  132. package/dist/blocks/MonthSelector/gallery.yaml +687 -0
  133. package/dist/blocks/MonthSelector/meta.js +6 -0
  134. package/dist/blocks/MonthSelector/tests/MonthSelector.e2e.yaml +167 -0
  135. package/dist/blocks/MonthSelector/tests.yaml +124 -0
  136. package/dist/blocks/MultipleSelector/gallery.yaml +1245 -0
  137. package/dist/blocks/MultipleSelector/tests/MultipleSelector.e2e.yaml +445 -0
  138. package/dist/blocks/MultipleSelector/tests.yaml +201 -0
  139. package/dist/blocks/Notification/gallery.yaml +1376 -0
  140. package/dist/blocks/Notification/tests/Notification.e2e.yaml +362 -0
  141. package/dist/blocks/Notification/tests.yaml +97 -0
  142. package/dist/blocks/NumberInput/gallery.yaml +753 -0
  143. package/dist/blocks/NumberInput/tests/NumberInput.e2e.yaml +228 -0
  144. package/dist/blocks/NumberInput/tests.yaml +116 -0
  145. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +1 -1
  146. package/dist/blocks/PageHeaderMenu/gallery.yaml +480 -0
  147. package/dist/blocks/PageHeaderMenu/tests/PageHeaderMenu.e2e.yaml +110 -0
  148. package/dist/blocks/PageHeaderMenu/tests.yaml +173 -0
  149. package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +10 -1
  150. package/dist/blocks/PageSidebarLayout/gallery.yaml +302 -0
  151. package/dist/blocks/PageSidebarLayout/meta.js +1 -0
  152. package/dist/blocks/PageSidebarLayout/tests/PageSidebarLayout.e2e.yaml +216 -0
  153. package/dist/blocks/PageSidebarLayout/tests.yaml +174 -0
  154. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +1 -1
  155. package/dist/blocks/PageSiderMenu/gallery.yaml +516 -0
  156. package/dist/blocks/PageSiderMenu/tests/PageSiderMenu.e2e.yaml +175 -0
  157. package/dist/blocks/PageSiderMenu/tests.yaml +211 -0
  158. package/dist/blocks/Pagination/gallery.yaml +503 -0
  159. package/dist/blocks/Pagination/tests/Pagination.e2e.yaml +159 -0
  160. package/dist/blocks/Pagination/tests.yaml +80 -0
  161. package/dist/blocks/Paragraph/gallery.yaml +458 -0
  162. package/dist/blocks/Paragraph/tests/Paragraph.e2e.yaml +153 -0
  163. package/dist/blocks/Paragraph/tests.yaml +176 -0
  164. package/dist/blocks/ParagraphInput/gallery.yaml +1483 -0
  165. package/dist/blocks/ParagraphInput/tests/ParagraphInput.e2e.yaml +189 -0
  166. package/dist/blocks/ParagraphInput/tests.yaml +163 -0
  167. package/dist/blocks/PasswordInput/gallery.yaml +420 -0
  168. package/dist/blocks/PasswordInput/tests/PasswordInput.e2e.yaml +188 -0
  169. package/dist/blocks/PasswordInput/tests.yaml +78 -0
  170. package/dist/blocks/PhoneNumberInput/gallery.yaml +677 -0
  171. package/dist/blocks/PhoneNumberInput/tests/PhoneNumberInput.e2e.yaml +279 -0
  172. package/dist/blocks/PhoneNumberInput/tests.yaml +25 -0
  173. package/dist/blocks/Popover/gallery.yaml +1301 -0
  174. package/dist/blocks/Popover/tests/Popover.e2e.yaml +249 -0
  175. package/dist/blocks/Popover/tests.yaml +105 -0
  176. package/dist/blocks/Progress/gallery.yaml +772 -0
  177. package/dist/blocks/Progress/tests/Progress.e2e.yaml +167 -0
  178. package/dist/blocks/Progress/tests.yaml +114 -0
  179. package/dist/blocks/QRCode/gallery.yaml +492 -0
  180. package/dist/blocks/QRCode/tests/QRCode.e2e.yaml +66 -0
  181. package/dist/blocks/QRCode/tests.yaml +113 -0
  182. package/dist/blocks/RadioSelector/gallery.yaml +816 -0
  183. package/dist/blocks/RadioSelector/tests/RadioSelector.e2e.yaml +269 -0
  184. package/dist/blocks/RadioSelector/tests.yaml +339 -0
  185. package/dist/blocks/RatingSlider/gallery.yaml +627 -0
  186. package/dist/blocks/RatingSlider/tests/RatingSlider.e2e.yaml +188 -0
  187. package/dist/blocks/RatingSlider/tests.yaml +116 -0
  188. package/dist/blocks/Result/gallery.yaml +925 -0
  189. package/dist/blocks/Result/tests/Result.e2e.yaml +126 -0
  190. package/dist/blocks/Result/tests.yaml +75 -0
  191. package/dist/blocks/Search/Search.js +1 -1
  192. package/dist/blocks/Search/SearchModal.js +18 -9
  193. package/dist/blocks/Search/gallery.yaml +170 -0
  194. package/dist/blocks/Search/meta.js +2 -1
  195. package/dist/blocks/Search/{style.module.css → style.css} +19 -12
  196. package/dist/blocks/Search/tests/Search.e2e.yaml +125 -0
  197. package/dist/blocks/Search/useSearchIndex.js +24 -2
  198. package/dist/blocks/SegmentedSelector/gallery.yaml +725 -0
  199. package/dist/blocks/SegmentedSelector/tests/SegmentedSelector.e2e.yaml +115 -0
  200. package/dist/blocks/SegmentedSelector/tests.yaml +141 -0
  201. package/dist/blocks/Selector/gallery.yaml +1055 -0
  202. package/dist/blocks/Selector/tests/Selector.e2e.yaml +427 -0
  203. package/dist/blocks/Selector/tests.yaml +196 -0
  204. package/dist/blocks/Sider/gallery.yaml +994 -0
  205. package/dist/blocks/Sider/tests/Sider.e2e.yaml +162 -0
  206. package/dist/blocks/Sider/tests.yaml +20 -0
  207. package/dist/blocks/Slider/gallery.yaml +600 -0
  208. package/dist/blocks/Slider/tests/Slider.e2e.yaml +190 -0
  209. package/dist/blocks/Slider/tests.yaml +68 -0
  210. package/dist/blocks/Splitter/gallery.yaml +1511 -0
  211. package/dist/blocks/Splitter/tests/Splitter.e2e.yaml +114 -0
  212. package/dist/blocks/Splitter/tests.yaml +79 -0
  213. package/dist/blocks/Statistic/gallery.yaml +460 -0
  214. package/dist/blocks/Statistic/tests/Statistic.e2e.yaml +137 -0
  215. package/dist/blocks/Statistic/tests.yaml +77 -0
  216. package/dist/blocks/Steps/gallery.yaml +550 -0
  217. package/dist/blocks/Switch/gallery.yaml +502 -0
  218. package/dist/blocks/Switch/tests/Switch.e2e.yaml +132 -0
  219. package/dist/blocks/Switch/tests.yaml +87 -0
  220. package/dist/blocks/Tabs/gallery.yaml +1353 -0
  221. package/dist/blocks/Tabs/tests/Tabs.e2e.yaml +370 -0
  222. package/dist/blocks/Tabs/tests.yaml +349 -0
  223. package/dist/blocks/Tag/gallery.yaml +598 -0
  224. package/dist/blocks/Tag/tests/Tag.e2e.yaml +173 -0
  225. package/dist/blocks/Tag/tests.yaml +51 -0
  226. package/dist/blocks/TagMultipleSelector/TagMultipleSelector.js +53 -0
  227. package/dist/blocks/TagMultipleSelector/e2e.js +36 -0
  228. package/dist/blocks/TagMultipleSelector/gallery.yaml +70 -0
  229. package/dist/blocks/TagMultipleSelector/meta.js +91 -0
  230. package/dist/blocks/TagMultipleSelector/tests/TagMultipleSelector.e2e.yaml +93 -0
  231. package/dist/blocks/TagSelector/TagSelector.js +49 -0
  232. package/dist/blocks/TagSelector/e2e.js +36 -0
  233. package/dist/blocks/TagSelector/gallery.yaml +70 -0
  234. package/dist/blocks/TagSelector/meta.js +91 -0
  235. package/dist/blocks/TagSelector/tests/TagSelector.e2e.yaml +93 -0
  236. package/dist/blocks/TextArea/gallery.yaml +618 -0
  237. package/dist/blocks/TextArea/tests/TextArea.e2e.yaml +218 -0
  238. package/dist/blocks/TextArea/tests.yaml +100 -0
  239. package/dist/blocks/TextInput/gallery.yaml +560 -0
  240. package/dist/blocks/TextInput/tests/TextInput.e2e.yaml +287 -0
  241. package/dist/blocks/TextInput/tests.yaml +114 -0
  242. package/dist/blocks/TimelineList/gallery.yaml +431 -0
  243. package/dist/blocks/TimelineList/tests/TimelineList.e2e.yaml +244 -0
  244. package/dist/blocks/TimelineList/tests.yaml +251 -0
  245. package/dist/blocks/Title/gallery.yaml +483 -0
  246. package/dist/blocks/Title/tests/Title.e2e.yaml +180 -0
  247. package/dist/blocks/Title/tests.yaml +175 -0
  248. package/dist/blocks/TitleInput/gallery.yaml +1006 -0
  249. package/dist/blocks/TitleInput/tests/TitleInput.e2e.yaml +195 -0
  250. package/dist/blocks/TitleInput/tests.yaml +181 -0
  251. package/dist/blocks/Tooltip/gallery.yaml +1214 -0
  252. package/dist/blocks/Tooltip/tests/Tooltip.e2e.yaml +195 -0
  253. package/dist/blocks/Tooltip/tests.yaml +92 -0
  254. package/dist/blocks/Tour/gallery.yaml +2305 -0
  255. package/dist/blocks/Tour/tests/Tour.e2e.yaml +90 -0
  256. package/dist/blocks/Tour/tests.yaml +151 -0
  257. package/dist/blocks/TreeInput/gallery.yaml +78 -0
  258. package/dist/blocks/TreeInput/tests/TreeInput.e2e.yaml +139 -0
  259. package/dist/blocks/TreeInput/tests.yaml +140 -0
  260. package/dist/blocks/TreeMultipleSelector/gallery.yaml +67 -0
  261. package/dist/blocks/TreeSelector/gallery.yaml +81 -0
  262. package/dist/blocks/Watermark/gallery.yaml +479 -0
  263. package/dist/blocks/Watermark/tests/Watermark.e2e.yaml +62 -0
  264. package/dist/blocks/Watermark/tests.yaml +86 -0
  265. package/dist/blocks/WeekSelector/WeekSelector.js +6 -0
  266. package/dist/blocks/WeekSelector/e2e.js +26 -2
  267. package/dist/blocks/WeekSelector/gallery.yaml +589 -0
  268. package/dist/blocks/WeekSelector/meta.js +6 -0
  269. package/dist/blocks/WeekSelector/tests/WeekSelector.e2e.yaml +154 -0
  270. package/dist/blocks/WeekSelector/tests.yaml +122 -0
  271. package/dist/blocks.js +2 -0
  272. package/dist/disabledDate.js +91 -19
  273. package/dist/e2e.js +2 -0
  274. package/dist/getPresets.js +151 -0
  275. package/dist/getTagColor.js +44 -0
  276. package/dist/getTagSelectorOptions.js +30 -0
  277. package/dist/metas.js +2 -0
  278. package/dist/pickerPresetsStyle.css +26 -0
  279. package/dist/schemas/disabledDates.js +6 -2
  280. package/dist/schemas/index.js +1 -0
  281. package/dist/schemas/presets.js +111 -0
  282. package/dist/tagSelectorStyle.css +68 -0
  283. package/package.json +13 -13
@@ -0,0 +1,445 @@
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: multiple_selector
16
+ type: Box
17
+
18
+ events:
19
+ onInit:
20
+ - id: set_defaults
21
+ type: SetState
22
+ params:
23
+ ms_with_value:
24
+ - Option 2
25
+ - Option 3
26
+ ms_no_allowclear:
27
+ - A
28
+ ms_onclear:
29
+ - Apple
30
+ ms_clearable:
31
+ - B
32
+ ms_object_value:
33
+ - _id: b2
34
+ name: Bob
35
+ ms_object_primarykey:
36
+ - _id: b2
37
+ name: Stale Name
38
+
39
+ blocks:
40
+ # ============================================
41
+ # BASIC RENDERING
42
+ # ============================================
43
+
44
+ - id: ms_basic
45
+ type: MultipleSelector
46
+ properties:
47
+ options:
48
+ - Option 1
49
+ - Option 2
50
+ - Option 3
51
+
52
+ - id: ms_with_value
53
+ type: MultipleSelector
54
+ properties:
55
+ options:
56
+ - Option 1
57
+ - Option 2
58
+ - Option 3
59
+
60
+ # ============================================
61
+ # PROPERTY TESTS
62
+ # ============================================
63
+
64
+ - id: ms_placeholder
65
+ type: MultipleSelector
66
+ properties:
67
+ placeholder: Choose items
68
+ options:
69
+ - A
70
+ - B
71
+ - C
72
+
73
+ - id: ms_disabled
74
+ type: MultipleSelector
75
+ properties:
76
+ disabled: true
77
+ options:
78
+ - A
79
+ - B
80
+ - C
81
+
82
+ - id: ms_small
83
+ type: MultipleSelector
84
+ properties:
85
+ size: small
86
+ options:
87
+ - A
88
+ - B
89
+ - C
90
+
91
+ - id: ms_large
92
+ type: MultipleSelector
93
+ properties:
94
+ size: large
95
+ options:
96
+ - A
97
+ - B
98
+ - C
99
+
100
+ - id: ms_borderless
101
+ type: MultipleSelector
102
+ properties:
103
+ bordered: false
104
+ options:
105
+ - A
106
+ - B
107
+ - C
108
+
109
+ - id: ms_no_allowclear
110
+ type: MultipleSelector
111
+ properties:
112
+ allowClear: false
113
+ options:
114
+ - A
115
+ - B
116
+ - C
117
+
118
+ - id: ms_no_arrow
119
+ type: MultipleSelector
120
+ properties:
121
+ showArrow: false
122
+ options:
123
+ - A
124
+ - B
125
+ - C
126
+
127
+ - id: ms_max_tag_count
128
+ type: MultipleSelector
129
+ properties:
130
+ maxTagCount: 2
131
+ options:
132
+ - A
133
+ - B
134
+ - C
135
+ - D
136
+ - E
137
+
138
+ # ============================================
139
+ # OPTIONS TESTS
140
+ # ============================================
141
+
142
+ - id: ms_object_options
143
+ type: MultipleSelector
144
+ properties:
145
+ options:
146
+ - value: opt1
147
+ label: First Option
148
+ - value: opt2
149
+ label: Second Option
150
+ - value: opt3
151
+ label: Third Option
152
+
153
+ - id: ms_disabled_option
154
+ type: MultipleSelector
155
+ properties:
156
+ options:
157
+ - value: enabled1
158
+ label: Enabled Option
159
+ - value: disabled1
160
+ label: Disabled Option
161
+ disabled: true
162
+ - value: enabled2
163
+ label: Another Enabled
164
+
165
+ - id: ms_empty_options
166
+ type: MultipleSelector
167
+ properties:
168
+ options: []
169
+ notFoundContent: No items available
170
+
171
+ # ============================================
172
+ # EVENT TESTS
173
+ # ============================================
174
+
175
+ - id: ms_onchange
176
+ type: MultipleSelector
177
+ properties:
178
+ options:
179
+ - Apple
180
+ - Banana
181
+ - Cherry
182
+ events:
183
+ onChange:
184
+ - id: set_onchange
185
+ type: SetState
186
+ params:
187
+ ms_onchange_value:
188
+ _state: ms_onchange
189
+
190
+ - id: ms_onchange_display
191
+ type: Span
192
+ properties:
193
+ content:
194
+ _if:
195
+ test:
196
+ _ne:
197
+ - _state: ms_onchange_value
198
+ - null
199
+ then:
200
+ _string.concat:
201
+ - 'Selected: '
202
+ - _json.stringify:
203
+ - _state: ms_onchange_value
204
+ else: ''
205
+
206
+ - id: ms_onclear
207
+ type: MultipleSelector
208
+ properties:
209
+ options:
210
+ - Apple
211
+ - Banana
212
+ - Cherry
213
+ events:
214
+ onClear:
215
+ - id: set_onclear
216
+ type: SetState
217
+ params:
218
+ ms_onclear_fired: true
219
+
220
+ - id: ms_onclear_display
221
+ type: Span
222
+ properties:
223
+ content:
224
+ _if:
225
+ test:
226
+ _eq:
227
+ - _state: ms_onclear_fired
228
+ - true
229
+ then: Clear fired
230
+ else: ''
231
+
232
+ - id: ms_onblur
233
+ type: MultipleSelector
234
+ properties:
235
+ options:
236
+ - A
237
+ - B
238
+ - C
239
+ events:
240
+ onBlur:
241
+ - id: set_onblur
242
+ type: SetState
243
+ params:
244
+ ms_onblur_fired: true
245
+
246
+ - id: ms_onblur_display
247
+ type: Span
248
+ properties:
249
+ content:
250
+ _if:
251
+ test:
252
+ _eq:
253
+ - _state: ms_onblur_fired
254
+ - true
255
+ then: Blur fired
256
+ else: ''
257
+
258
+ - id: ms_onfocus
259
+ type: MultipleSelector
260
+ properties:
261
+ options:
262
+ - A
263
+ - B
264
+ - C
265
+ events:
266
+ onFocus:
267
+ - id: set_onfocus
268
+ type: SetState
269
+ params:
270
+ ms_onfocus_fired: true
271
+
272
+ - id: ms_onfocus_display
273
+ type: Span
274
+ properties:
275
+ content:
276
+ _if:
277
+ test:
278
+ _eq:
279
+ - _state: ms_onfocus_fired
280
+ - true
281
+ then: Focus fired
282
+ else: ''
283
+
284
+ - id: ms_onsearch
285
+ type: MultipleSelector
286
+ properties:
287
+ options:
288
+ - Apple
289
+ - Apricot
290
+ - Banana
291
+ - Blueberry
292
+ - Cherry
293
+ events:
294
+ onSearch:
295
+ - id: set_onsearch
296
+ type: SetState
297
+ params:
298
+ ms_search_value:
299
+ _event: value
300
+
301
+ - id: ms_onsearch_display
302
+ type: Span
303
+ properties:
304
+ content:
305
+ _if:
306
+ test:
307
+ _ne:
308
+ - _state: ms_search_value
309
+ - null
310
+ then:
311
+ _string.concat:
312
+ - 'Search: '
313
+ - _state: ms_search_value
314
+ else: ''
315
+
316
+ # ============================================
317
+ # INTERACTION TESTS
318
+ # ============================================
319
+
320
+ - id: ms_clearable
321
+ type: MultipleSelector
322
+ properties:
323
+ allowClear: true
324
+ options:
325
+ - A
326
+ - B
327
+ - C
328
+
329
+ - id: ms_searchable
330
+ type: MultipleSelector
331
+ properties:
332
+ options:
333
+ - Apple
334
+ - Apricot
335
+ - Banana
336
+ - Blueberry
337
+ - Cherry
338
+ - Cranberry
339
+
340
+ # ============================================
341
+ # SELECTOR CSSKEY TESTS
342
+ # ============================================
343
+
344
+ - id: ms_selector_style
345
+ type: MultipleSelector
346
+ style:
347
+ .selector:
348
+ maxHeight: 96px
349
+ overflowY: auto
350
+ properties:
351
+ options:
352
+ - Apple
353
+ - Banana
354
+ - Cherry
355
+ - Dragonfruit
356
+ - Elderberry
357
+ - Fig
358
+ - Grape
359
+ - Honeydew
360
+ - Kiwi
361
+ - Lemon
362
+
363
+ - id: ms_selector_class
364
+ type: MultipleSelector
365
+ class:
366
+ .selector: ms-selector-tailwind
367
+ properties:
368
+ options:
369
+ - A
370
+ - B
371
+ - C
372
+
373
+ # ============================================
374
+ # OBJECT-VALUED OPTIONS
375
+ # (regression: object values must display their selected tag)
376
+ # ============================================
377
+
378
+ - id: ms_object_value
379
+ type: MultipleSelector
380
+ properties:
381
+ options:
382
+ - value:
383
+ _id: a1
384
+ name: Alice
385
+ label: Alice
386
+ - value:
387
+ _id: b2
388
+ name: Bob
389
+ label: Bob
390
+ - value:
391
+ _id: c3
392
+ name: Carol
393
+ label: Carol
394
+
395
+ - id: ms_object_select
396
+ type: MultipleSelector
397
+ properties:
398
+ options:
399
+ - value:
400
+ _id: a1
401
+ name: Alice
402
+ label: Alice
403
+ - value:
404
+ _id: b2
405
+ name: Bob
406
+ label: Bob
407
+ events:
408
+ onChange:
409
+ - id: set_ms_object_select
410
+ type: SetState
411
+ params:
412
+ ms_object_select_value:
413
+ _state: ms_object_select
414
+
415
+ - id: ms_object_select_display
416
+ type: Span
417
+ properties:
418
+ content:
419
+ _if:
420
+ test:
421
+ _ne:
422
+ - _state: ms_object_select_value
423
+ - null
424
+ then:
425
+ _string.concat:
426
+ - 'Selected: '
427
+ - _json.stringify:
428
+ - _state: ms_object_select_value
429
+ else: ''
430
+
431
+ # primaryKey identity: stored value differs from the option value on every
432
+ # field except `_id`, so a correct match must project `_id` from both sides.
433
+ - id: ms_object_primarykey
434
+ type: MultipleSelector
435
+ properties:
436
+ primaryKey: _id
437
+ options:
438
+ - value:
439
+ _id: a1
440
+ name: Alice
441
+ label: Alice
442
+ - value:
443
+ _id: b2
444
+ name: Bob
445
+ label: Bob
@@ -0,0 +1,201 @@
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: MultipleSelector
17
+ - id: 'properties.options-string'
18
+ type: MultipleSelector
19
+ properties:
20
+ options:
21
+ - Option 1
22
+ - Option 2
23
+ - id: 'properties.options-number'
24
+ type: MultipleSelector
25
+ properties:
26
+ options:
27
+ - 10
28
+ - 12
29
+ - id: 'properties.options-object'
30
+ type: MultipleSelector
31
+ properties:
32
+ options:
33
+ - label: one
34
+ value: 1
35
+ - label: two
36
+ value: 2
37
+ - id: 'properties.options-boolean'
38
+ type: MultipleSelector
39
+ properties:
40
+ options:
41
+ - true
42
+ - false
43
+ - id: 'properties.title: My MultipleSelector Title'
44
+ type: MultipleSelector
45
+ properties:
46
+ label:
47
+ title: My MultipleSelector Title
48
+ - id: 'property.bordered: false'
49
+ type: MultipleSelector
50
+ properties:
51
+ bordered: false
52
+ options:
53
+ - Option 1
54
+ - Option 2
55
+ - id: 'properties.inputStyle: CSS style applied'
56
+ type: MultipleSelector
57
+ properties:
58
+ inputStyle:
59
+ border: 1px solid red
60
+ - id: 'properties.optionsStyle: CSS style applied'
61
+ type: MultipleSelector
62
+ properties:
63
+ options:
64
+ - Option 1
65
+ - Option 2
66
+ optionsStyle:
67
+ color: blue
68
+ - id: 'properties.allowClear: false'
69
+ type: MultipleSelector
70
+ properties:
71
+ allowClear: false
72
+ options:
73
+ - Option 1
74
+ - Option 2
75
+ - id: 'properties.autoFocus: true'
76
+ type: MultipleSelector
77
+ properties:
78
+ autoFocus: true
79
+ options:
80
+ - Option 1
81
+ - Option 2
82
+ - id: 'properties.clearIcon: ChromeFilled'
83
+ type: MultipleSelector
84
+ properties:
85
+ allowClear: true
86
+ clearIcon: ChromeFilled
87
+ options:
88
+ - Option 1
89
+ - Option 2
90
+ - id: 'properties.clearIcon-object: ChromeFilled'
91
+ type: MultipleSelector
92
+ properties:
93
+ allowClear: true
94
+ clearIcon:
95
+ name: ChromeFilled
96
+ color: red
97
+ options:
98
+ - Option 1
99
+ - Option 2
100
+ - id: 'properties.disabled: true'
101
+ type: MultipleSelector
102
+ properties:
103
+ disabled: true
104
+ - id: 'properties.placeholder: Find item in list'
105
+ type: MultipleSelector
106
+ properties:
107
+ placeholder: Find item in list
108
+ - id: 'properties.showArrow: false'
109
+ type: MultipleSelector
110
+ properties:
111
+ showArrow: false
112
+ - id: 'properties.size: large'
113
+ type: MultipleSelector
114
+ properties:
115
+ size: large
116
+ - id: 'properties.size: small'
117
+ type: MultipleSelector
118
+ properties:
119
+ size: small
120
+ - id: 'properties.size: default'
121
+ type: MultipleSelector
122
+ properties:
123
+ size: default
124
+ - id: 'properties.suffixIcon: AiOutlineDoubleLeft'
125
+ type: MultipleSelector
126
+ properties:
127
+ suffixIcon: AiOutlineDoubleLeft
128
+ - id: 'properties.label span: 12'
129
+ type: MultipleSelector
130
+ properties:
131
+ label:
132
+ span: 12
133
+ - id: 'properties.label align: right'
134
+ type: MultipleSelector
135
+ properties:
136
+ label:
137
+ align: right
138
+ - id: 'properties.label align: left'
139
+ type: MultipleSelector
140
+ properties:
141
+ label:
142
+ align: left
143
+ - id: 'properties.label inline: true'
144
+ type: MultipleSelector
145
+ properties:
146
+ label:
147
+ inline: true
148
+ - id: 'properties.label disabled: true'
149
+ type: MultipleSelector
150
+ properties:
151
+ label:
152
+ disabled: true
153
+ - id: 'properties.label colon: false'
154
+ type: MultipleSelector
155
+ properties:
156
+ label:
157
+ colon: false
158
+ - id: 'properties.label extra: showing extra'
159
+ type: MultipleSelector
160
+ properties:
161
+ label:
162
+ extra: showing extra
163
+ - id: 'properties.options: html'
164
+ type: MultipleSelector
165
+ properties:
166
+ options:
167
+ - '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
168
+ - '<div style="color: green;">Option green</div>'
169
+ - Option 3
170
+ - id: 'properties.options.label: html'
171
+ type: MultipleSelector
172
+ properties:
173
+ options:
174
+ - label: '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
175
+ value: 1
176
+ - label: '<div style="color: green;">Option green</div>'
177
+ value: 2
178
+ - label: Option 3
179
+ value: 3
180
+ - id: 'properties.options-style'
181
+ type: MultipleSelector
182
+ properties:
183
+ options:
184
+ - label: one
185
+ value: 1
186
+ style:
187
+ color: red
188
+ - label: two
189
+ value: 2
190
+ - id: 'properties.options.label: html and properties.options.filterString'
191
+ type: MultipleSelector
192
+ properties:
193
+ options:
194
+ - label: '<div>Some main text</div><div style="font-size: 6px;">Some small subtext</div>'
195
+ filterString: 'Some main text'
196
+ value: 1
197
+ - label: '<div style="color: green;">Option green</div>'
198
+ filterString: 'Option green'
199
+ value: 2
200
+ - label: Option 3
201
+ value: 3