@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,223 @@
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
+ - title: Basic
16
+ blocks:
17
+ - id: basic_card_list
18
+ type: ListSelector
19
+ properties:
20
+ data:
21
+ - Alpha
22
+ - Beta
23
+ - Gamma
24
+ html: |
25
+ <h3>{{ index + 1 }}. {{ item }}</h3>
26
+
27
+ - title: Single Select
28
+ blocks:
29
+ - id: select_list
30
+ type: ListSelector
31
+ properties:
32
+ hoverable: true
33
+ data:
34
+ - { id: 1, name: Starter, price: $0 }
35
+ - { id: 2, name: Pro, price: $20 }
36
+ - { id: 3, name: Enterprise, price: $99 }
37
+ html: |
38
+ <strong>{{ item.name }}</strong>
39
+ <div style="color:#666;">{{ item.price }} / month</div>
40
+ events:
41
+ onChange:
42
+ - id: capture_selected
43
+ type: SetState
44
+ params:
45
+ selected_plan:
46
+ _event: value
47
+ - id: selected_plan_display
48
+ type: Paragraph
49
+ properties:
50
+ content:
51
+ _nunjucks:
52
+ template: 'Selected: {{ selected_plan.name }}'
53
+ on:
54
+ _state: true
55
+
56
+ - title: Selection Off (read-only list)
57
+ blocks:
58
+ - id: readonly_list
59
+ type: ListSelector
60
+ properties:
61
+ selectable: false
62
+ data:
63
+ - One
64
+ - Two
65
+ - Three
66
+ html: |
67
+ <span>{{ item }}</span>
68
+
69
+ - title: Empty (no data)
70
+ blocks:
71
+ - id: empty_list
72
+ type: ListSelector
73
+ properties:
74
+ data: []
75
+ noData: No people to show yet.
76
+ html: |
77
+ <span>{{ item.name }}</span>
78
+
79
+ - title: Object Data
80
+ blocks:
81
+ - id: people_card_list
82
+ type: ListSelector
83
+ properties:
84
+ hoverable: true
85
+ bordered: false
86
+ data:
87
+ - name: Ada Lovelace
88
+ email: ada@example.com
89
+ role: Mathematician
90
+ - name: Linus Torvalds
91
+ email: linus@example.com
92
+ role: Engineer
93
+ - name: Grace Hopper
94
+ email: grace@example.com
95
+ role: Computer Scientist
96
+ html: |
97
+ <div style="display:flex; flex-direction:column; gap:4px;">
98
+ <strong>{{ item.name }}</strong>
99
+ <span style="color:#666;">{{ item.role }}</span>
100
+ <a href="mailto:{{ item.email }}">{{ item.email }}</a>
101
+ </div>
102
+
103
+ - title: With onClick
104
+ blocks:
105
+ - id: click_card_list
106
+ type: ListSelector
107
+ properties:
108
+ hoverable: true
109
+ data:
110
+ - { id: 1, label: First }
111
+ - { id: 2, label: Second }
112
+ - { id: 3, label: Third }
113
+ html: |
114
+ <h4>{{ item.label }}</h4>
115
+ <p>Click to see which row was selected.</p>
116
+ events:
117
+ onClick:
118
+ - id: capture_clicked
119
+ type: SetState
120
+ params:
121
+ clicked_card:
122
+ _event: true
123
+
124
+ - title: Small Cards with Custom Gap
125
+ blocks:
126
+ - id: compact_card_list
127
+ type: ListSelector
128
+ properties:
129
+ size: small
130
+ gap: 4
131
+ data:
132
+ - One
133
+ - Two
134
+ - Three
135
+ - Four
136
+ html: |
137
+ <span>{{ item }}</span>
138
+
139
+ - title: Large Dataset (Virtualized)
140
+ blocks:
141
+ - id: large_card_list
142
+ type: ListSelector
143
+ properties:
144
+ hoverable: true
145
+ height: 480
146
+ data:
147
+ _string.split:
148
+ on:
149
+ _string.repeat:
150
+ on: 'x,'
151
+ count: 999
152
+ separator: ','
153
+ html: |
154
+ <h4>Row {{ index + 1 }}</h4>
155
+ <p>This list renders one thousand cards. Only rows in (and near) the viewport are mounted in the DOM.</p>
156
+
157
+ - title: With Search (all fields)
158
+ blocks:
159
+ - id: search_all_card_list
160
+ type: ListSelector
161
+ properties:
162
+ hoverable: true
163
+ height: 360
164
+ search: {}
165
+ data:
166
+ - { name: Ada Lovelace, email: ada@example.com, role: Mathematician }
167
+ - { name: Linus Torvalds, email: linus@example.com, role: Engineer }
168
+ - { name: Grace Hopper, email: grace@example.com, role: Computer Scientist }
169
+ - { name: Alan Turing, email: alan@example.com, role: Mathematician }
170
+ - { name: Margaret Hamilton, email: margaret@example.com, role: Software Engineer }
171
+ html: |
172
+ <strong>{{ item.name }}</strong>
173
+ <div style="color:#666;">{{ item.role }} · <a href="mailto:{{ item.email }}">{{ item.email }}</a></div>
174
+
175
+ - title: With Search (specific fields)
176
+ blocks:
177
+ - id: search_fields_card_list
178
+ type: ListSelector
179
+ properties:
180
+ hoverable: true
181
+ height: 360
182
+ search:
183
+ placeholder: Filter by name…
184
+ fields:
185
+ - name
186
+ minLength: 1
187
+ data:
188
+ - { name: Ada Lovelace, email: ada@example.com, role: Mathematician }
189
+ - { name: Linus Torvalds, email: linus@example.com, role: Engineer }
190
+ - { name: Grace Hopper, email: grace@example.com, role: Computer Scientist }
191
+ html: |
192
+ <strong>{{ item.name }}</strong>
193
+ <div style="color:#666;">{{ item.role }}</div>
194
+
195
+ - title: Select by key (valueKey)
196
+ blocks:
197
+ - id: keyed_list
198
+ type: ListSelector
199
+ properties:
200
+ valueKey: id
201
+ primaryKey: id
202
+ data:
203
+ - { id: 1, name: Starter, price: $0 }
204
+ - { id: 2, name: Pro, price: $20 }
205
+ - { id: 3, name: Enterprise, price: $99 }
206
+ html: |
207
+ <strong>{{ item.name }}</strong>
208
+ <div style="color:#888;">{{ item.price }} / month</div>
209
+ events:
210
+ onChange:
211
+ - id: capture_keyed
212
+ type: SetState
213
+ params:
214
+ keyed_plan_id:
215
+ _event: value
216
+ - id: keyed_plan_display
217
+ type: Paragraph
218
+ properties:
219
+ content:
220
+ _nunjucks:
221
+ template: 'Selected plan id: {{ keyed_plan_id if keyed_plan_id != null else "—" }}'
222
+ on:
223
+ _state: true