@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,1039 @@
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 Modal
16
+ blocks:
17
+ - id: modal_basic_trigger
18
+ type: Button
19
+ layout:
20
+ flex: 0 0 auto
21
+ properties:
22
+ title: Open Modal
23
+ color: primary
24
+ variant: solid
25
+ events:
26
+ onClick:
27
+ - id: modal_basic_open
28
+ type: CallMethod
29
+ params:
30
+ blockId: modal_basic
31
+ method: setOpen
32
+ args:
33
+ - open: true
34
+ - id: modal_basic
35
+ type: Modal
36
+ properties:
37
+ title: Basic Modal
38
+ blocks:
39
+ - id: modal_basic_p1
40
+ type: Paragraph
41
+ properties:
42
+ content: This is a basic modal dialog with a title, content area, and default Ok/Cancel buttons.
43
+ - id: modal_basic_p2
44
+ type: Paragraph
45
+ properties:
46
+ content: Click Ok to confirm or Cancel to dismiss.
47
+
48
+ - title: Title Property
49
+ blocks:
50
+ - id: modal_html_title_trigger
51
+ type: Button
52
+ layout:
53
+ flex: 0 0 auto
54
+ properties:
55
+ title: Open Modal with HTML Title
56
+ color: primary
57
+ variant: outlined
58
+ events:
59
+ onClick:
60
+ - id: modal_html_title_open
61
+ type: CallMethod
62
+ params:
63
+ blockId: modal_html_title
64
+ method: setOpen
65
+ args:
66
+ - open: true
67
+ - id: modal_html_title
68
+ type: Modal
69
+ properties:
70
+ title: '<b>Bold</b> and <em>italic</em> title'
71
+ blocks:
72
+ - id: modal_html_title_content
73
+ type: Paragraph
74
+ properties:
75
+ content: The modal title supports HTML markup for rich text formatting.
76
+
77
+ - title: Custom Button Text
78
+ blocks:
79
+ - id: modal_btn_text_trigger
80
+ type: Button
81
+ layout:
82
+ flex: 0 0 auto
83
+ properties:
84
+ title: Open Modal
85
+ color: primary
86
+ variant: outlined
87
+ events:
88
+ onClick:
89
+ - id: modal_btn_text_open
90
+ type: CallMethod
91
+ params:
92
+ blockId: modal_btn_text
93
+ method: setOpen
94
+ args:
95
+ - open: true
96
+ - id: modal_btn_text
97
+ type: Modal
98
+ properties:
99
+ title: Custom Button Text
100
+ okText: Save Changes
101
+ cancelText: Discard
102
+ blocks:
103
+ - id: modal_btn_text_content
104
+ type: Paragraph
105
+ properties:
106
+ content: The okText and cancelText properties customize the footer button labels. This modal uses "Save Changes" and "Discard" instead of "Ok" and "Cancel".
107
+
108
+ - title: Custom Button Props
109
+ blocks:
110
+ - id: modal_btn_props_trigger
111
+ type: Button
112
+ layout:
113
+ flex: 0 0 auto
114
+ properties:
115
+ title: Open Modal with Custom Buttons
116
+ color: primary
117
+ variant: outlined
118
+ events:
119
+ onClick:
120
+ - id: modal_btn_props_open
121
+ type: CallMethod
122
+ params:
123
+ blockId: modal_btn_props
124
+ method: setOpen
125
+ args:
126
+ - open: true
127
+ - id: modal_btn_props
128
+ type: Modal
129
+ properties:
130
+ title: Danger Confirmation
131
+ okText: Delete
132
+ cancelText: Keep
133
+ okButtonProps:
134
+ danger: true
135
+ cancelButtonProps:
136
+ type: primary
137
+ blocks:
138
+ - id: modal_btn_props_content
139
+ type: Paragraph
140
+ properties:
141
+ content: Custom button props allow fine-grained control over the footer buttons. Here the Ok button is styled as a danger button, and the Cancel button uses primary styling.
142
+
143
+ - title: Centered Modal
144
+ blocks:
145
+ - id: modal_centered_trigger
146
+ type: Button
147
+ layout:
148
+ flex: 0 0 auto
149
+ properties:
150
+ title: Open Centered Modal
151
+ color: primary
152
+ variant: outlined
153
+ events:
154
+ onClick:
155
+ - id: modal_centered_open
156
+ type: CallMethod
157
+ params:
158
+ blockId: modal_centered
159
+ method: setOpen
160
+ args:
161
+ - open: true
162
+ - id: modal_centered
163
+ type: Modal
164
+ properties:
165
+ title: Centered Modal
166
+ centered: true
167
+ blocks:
168
+ - id: modal_centered_content
169
+ type: Paragraph
170
+ properties:
171
+ content: This modal is vertically centered in the viewport. By default, modals appear near the top of the page.
172
+
173
+ - title: Custom Widths
174
+ blocks:
175
+ - id: modal_narrow_trigger
176
+ type: Button
177
+ layout:
178
+ flex: 0 0 auto
179
+ properties:
180
+ title: Narrow (300px)
181
+ color: primary
182
+ variant: outlined
183
+ size: small
184
+ events:
185
+ onClick:
186
+ - id: modal_narrow_open
187
+ type: CallMethod
188
+ params:
189
+ blockId: modal_narrow
190
+ method: setOpen
191
+ args:
192
+ - open: true
193
+ - id: modal_wide_trigger
194
+ type: Button
195
+ layout:
196
+ flex: 0 0 auto
197
+ properties:
198
+ title: Wide (800px)
199
+ color: primary
200
+ variant: outlined
201
+ size: small
202
+ events:
203
+ onClick:
204
+ - id: modal_wide_open
205
+ type: CallMethod
206
+ params:
207
+ blockId: modal_wide
208
+ method: setOpen
209
+ args:
210
+ - open: true
211
+ - id: modal_pct_trigger
212
+ type: Button
213
+ layout:
214
+ flex: 0 0 auto
215
+ properties:
216
+ title: Percentage (80%)
217
+ color: primary
218
+ variant: outlined
219
+ size: small
220
+ events:
221
+ onClick:
222
+ - id: modal_pct_open
223
+ type: CallMethod
224
+ params:
225
+ blockId: modal_pct
226
+ method: setOpen
227
+ args:
228
+ - open: true
229
+ - id: modal_narrow
230
+ type: Modal
231
+ properties:
232
+ title: Narrow Modal
233
+ width: 300
234
+ blocks:
235
+ - id: modal_narrow_content
236
+ type: Paragraph
237
+ properties:
238
+ content: A compact 300px modal, suitable for simple confirmations.
239
+ - id: modal_wide
240
+ type: Modal
241
+ properties:
242
+ title: Wide Modal
243
+ width: 800
244
+ blocks:
245
+ - id: modal_wide_content
246
+ type: Paragraph
247
+ properties:
248
+ content: An 800px wide modal with more room for complex content like forms, tables, or detail views.
249
+ - id: modal_pct
250
+ type: Modal
251
+ properties:
252
+ title: 80% Width Modal
253
+ width: '80%'
254
+ blocks:
255
+ - id: modal_pct_content
256
+ type: Paragraph
257
+ properties:
258
+ content: Using a percentage width makes the modal responsive, taking up 80% of the viewport width.
259
+
260
+ - title: Closable Options
261
+ blocks:
262
+ - id: modal_closable_trigger
263
+ type: Button
264
+ layout:
265
+ flex: 0 0 auto
266
+ properties:
267
+ title: Closable (default)
268
+ color: primary
269
+ variant: outlined
270
+ events:
271
+ onClick:
272
+ - id: modal_closable_open
273
+ type: CallMethod
274
+ params:
275
+ blockId: modal_closable
276
+ method: setOpen
277
+ args:
278
+ - open: true
279
+ - id: modal_not_closable_trigger
280
+ type: Button
281
+ layout:
282
+ flex: 0 0 auto
283
+ properties:
284
+ title: No Close Button
285
+ color: danger
286
+ variant: outlined
287
+ events:
288
+ onClick:
289
+ - id: modal_not_closable_open
290
+ type: CallMethod
291
+ params:
292
+ blockId: modal_not_closable
293
+ method: setOpen
294
+ args:
295
+ - open: true
296
+ - id: modal_closable
297
+ type: Modal
298
+ properties:
299
+ title: Closable Modal
300
+ closable: true
301
+ blocks:
302
+ - id: modal_closable_content
303
+ type: Paragraph
304
+ properties:
305
+ content: The close button is visible in the top right corner. This is the default behavior.
306
+ - id: modal_not_closable
307
+ type: Modal
308
+ properties:
309
+ title: No Close Button
310
+ closable: false
311
+ blocks:
312
+ - id: modal_not_closable_content
313
+ type: Paragraph
314
+ properties:
315
+ content: The close (x) button is hidden. Users must use the Ok or Cancel buttons to close this modal.
316
+
317
+ - title: Mask Options
318
+ blocks:
319
+ - id: modal_mask_not_closable_trigger
320
+ type: Button
321
+ layout:
322
+ flex: 0 0 auto
323
+ properties:
324
+ title: Mask Not Closable
325
+ color: primary
326
+ variant: outlined
327
+ events:
328
+ onClick:
329
+ - id: modal_mask_not_closable_open
330
+ type: CallMethod
331
+ params:
332
+ blockId: modal_mask_not_closable
333
+ method: setOpen
334
+ args:
335
+ - open: true
336
+ - id: modal_no_mask_trigger
337
+ type: Button
338
+ layout:
339
+ flex: 0 0 auto
340
+ properties:
341
+ title: No Mask
342
+ color: primary
343
+ variant: outlined
344
+ events:
345
+ onClick:
346
+ - id: modal_no_mask_open
347
+ type: CallMethod
348
+ params:
349
+ blockId: modal_no_mask
350
+ method: setOpen
351
+ args:
352
+ - open: true
353
+ - id: modal_mask_not_closable
354
+ type: Modal
355
+ properties:
356
+ title: Mask Not Closable
357
+ maskClosable: false
358
+ blocks:
359
+ - id: modal_mask_not_closable_content
360
+ type: Paragraph
361
+ properties:
362
+ content: The mask is visible but clicking it does not close the modal. Users must use the buttons or close icon.
363
+ - id: modal_no_mask
364
+ type: Modal
365
+ properties:
366
+ title: No Mask
367
+ mask: false
368
+ blocks:
369
+ - id: modal_no_mask_content
370
+ type: Paragraph
371
+ properties:
372
+ content: No mask overlay is shown behind the modal. The page content remains fully visible.
373
+
374
+ - title: No Footer
375
+ blocks:
376
+ - id: modal_no_footer_trigger
377
+ type: Button
378
+ layout:
379
+ flex: 0 0 auto
380
+ properties:
381
+ title: Open Modal (no footer)
382
+ color: primary
383
+ variant: outlined
384
+ events:
385
+ onClick:
386
+ - id: modal_no_footer_open
387
+ type: CallMethod
388
+ params:
389
+ blockId: modal_no_footer
390
+ method: setOpen
391
+ args:
392
+ - open: true
393
+ - id: modal_no_footer
394
+ type: Modal
395
+ properties:
396
+ title: No Footer Modal
397
+ footer: false
398
+ blocks:
399
+ - id: modal_no_footer_content
400
+ type: Paragraph
401
+ properties:
402
+ content: Setting footer to false removes the Ok and Cancel buttons entirely. This is useful for informational dialogs or when you provide your own action buttons in the content area.
403
+ - id: modal_no_footer_close_btn
404
+ type: Button
405
+ properties:
406
+ title: Close
407
+ color: primary
408
+ variant: solid
409
+ block: true
410
+ events:
411
+ onClick:
412
+ - id: modal_no_footer_close
413
+ type: CallMethod
414
+ params:
415
+ blockId: modal_no_footer
416
+ method: setOpen
417
+ args:
418
+ - open: false
419
+
420
+ - title: Custom Footer Slot
421
+ blocks:
422
+ - id: modal_footer_slot_trigger
423
+ type: Button
424
+ layout:
425
+ flex: 0 0 auto
426
+ properties:
427
+ title: Open Modal with Custom Footer
428
+ color: primary
429
+ variant: solid
430
+ events:
431
+ onClick:
432
+ - id: modal_footer_slot_open
433
+ type: CallMethod
434
+ params:
435
+ blockId: modal_footer_slot
436
+ method: setOpen
437
+ args:
438
+ - open: true
439
+ - id: modal_footer_slot
440
+ type: Modal
441
+ properties:
442
+ title: Custom Footer
443
+ slots:
444
+ footer:
445
+ blocks:
446
+ - id: modal_footer_slot_row
447
+ type: Box
448
+ layout:
449
+ gap: 8
450
+ justify: space-between
451
+ blocks:
452
+ - id: modal_footer_delete_btn
453
+ type: Button
454
+ layout:
455
+ flex: 0 0 auto
456
+ properties:
457
+ title: Delete
458
+ color: danger
459
+ variant: text
460
+ icon: AiOutlineDelete
461
+ - id: modal_footer_actions
462
+ type: Box
463
+ layout:
464
+ flex: 0 0 auto
465
+ gap: 8
466
+ blocks:
467
+ - id: modal_footer_cancel_btn
468
+ type: Button
469
+ layout:
470
+ flex: 0 0 auto
471
+ properties:
472
+ title: Cancel
473
+ color: default
474
+ variant: outlined
475
+ events:
476
+ onClick:
477
+ - id: modal_footer_cancel_close
478
+ type: CallMethod
479
+ params:
480
+ blockId: modal_footer_slot
481
+ method: setOpen
482
+ args:
483
+ - open: false
484
+ - id: modal_footer_save_btn
485
+ type: Button
486
+ layout:
487
+ flex: 0 0 auto
488
+ properties:
489
+ title: Save
490
+ color: primary
491
+ variant: solid
492
+ icon: AiOutlineSave
493
+ events:
494
+ onClick:
495
+ - id: modal_footer_save_close
496
+ type: CallMethod
497
+ params:
498
+ blockId: modal_footer_slot
499
+ method: setOpen
500
+ args:
501
+ - open: false
502
+ blocks:
503
+ - id: modal_footer_slot_content
504
+ type: Paragraph
505
+ properties:
506
+ content: The footer slot replaces the default Ok/Cancel buttons with custom content. This example shows a Delete button on the left and Save/Cancel on the right.
507
+
508
+ - title: Wrapper Style
509
+ blocks:
510
+ - id: modal_wrapper_style_trigger
511
+ type: Button
512
+ layout:
513
+ flex: 0 0 auto
514
+ properties:
515
+ title: Open Modal with Wrapper Style
516
+ color: primary
517
+ variant: outlined
518
+ events:
519
+ onClick:
520
+ - id: modal_wrapper_style_open
521
+ type: CallMethod
522
+ params:
523
+ blockId: modal_wrapper_style
524
+ method: setOpen
525
+ args:
526
+ - open: true
527
+ - id: modal_wrapper_style
528
+ type: Modal
529
+ properties:
530
+ title: Wrapper Style Modal
531
+ wrapperStyle:
532
+ overflow: hidden
533
+ blocks:
534
+ - id: modal_wrapper_style_content
535
+ type: Paragraph
536
+ properties:
537
+ content: The wrapperStyle property applies CSS to the modal wrapper element. This can control overflow, positioning, and other layout aspects of the wrapper container.
538
+
539
+ - title: Custom Z-Index
540
+ blocks:
541
+ - id: modal_zindex_trigger
542
+ type: Button
543
+ layout:
544
+ flex: 0 0 auto
545
+ properties:
546
+ title: Open Modal (z-index 2000)
547
+ color: primary
548
+ variant: outlined
549
+ events:
550
+ onClick:
551
+ - id: modal_zindex_open
552
+ type: CallMethod
553
+ params:
554
+ blockId: modal_zindex
555
+ method: setOpen
556
+ args:
557
+ - open: true
558
+ - id: modal_zindex
559
+ type: Modal
560
+ properties:
561
+ title: High Z-Index Modal
562
+ zIndex: 2000
563
+ blocks:
564
+ - id: modal_zindex_content
565
+ type: Paragraph
566
+ properties:
567
+ content: This modal uses a custom z-index of 2000 to ensure it appears above other overlays. The default is 1000.
568
+
569
+ - title: Toggle Method
570
+ blocks:
571
+ - id: modal_toggle_trigger
572
+ type: Button
573
+ layout:
574
+ flex: 0 0 auto
575
+ properties:
576
+ title: Toggle Modal
577
+ color: primary
578
+ variant: solid
579
+ icon: AiOutlineSwap
580
+ events:
581
+ onClick:
582
+ - id: modal_toggle_call
583
+ type: CallMethod
584
+ params:
585
+ blockId: modal_toggle
586
+ method: toggleOpen
587
+ - id: modal_toggle
588
+ type: Modal
589
+ properties:
590
+ title: Toggle Modal
591
+ blocks:
592
+ - id: modal_toggle_content
593
+ type: Paragraph
594
+ properties:
595
+ content: This modal uses the toggleOpen method. Each click of the button alternates between open and closed states.
596
+
597
+ - title: Events
598
+ blocks:
599
+ - id: modal_events_trigger
600
+ type: Button
601
+ layout:
602
+ flex: 0 0 auto
603
+ properties:
604
+ title: Open Modal with Events
605
+ color: primary
606
+ variant: solid
607
+ events:
608
+ onClick:
609
+ - id: modal_events_open
610
+ type: CallMethod
611
+ params:
612
+ blockId: modal_events
613
+ method: setOpen
614
+ args:
615
+ - open: true
616
+ - id: modal_events
617
+ type: Modal
618
+ properties:
619
+ title: Modal with Events
620
+ events:
621
+ onOpen:
622
+ - id: modal_events_on_open
623
+ type: DisplayMessage
624
+ params:
625
+ content: Modal opened.
626
+ status: info
627
+ onOk:
628
+ - id: modal_events_on_ok
629
+ type: DisplayMessage
630
+ params:
631
+ content: Ok button clicked.
632
+ status: success
633
+ onCancel:
634
+ - id: modal_events_on_cancel
635
+ type: DisplayMessage
636
+ params:
637
+ content: Cancel button clicked.
638
+ status: warning
639
+ onClose:
640
+ - id: modal_events_on_close
641
+ type: DisplayMessage
642
+ params:
643
+ content: Modal closed.
644
+ status: info
645
+ blocks:
646
+ - id: modal_events_content
647
+ type: Paragraph
648
+ properties:
649
+ content: This modal demonstrates all four events. onOpen fires when the modal opens, onOk when the Ok button is clicked, onCancel when Cancel is clicked, and onClose fires after either onOk or onCancel completes.
650
+
651
+ - title: Theme Token Overrides
652
+ blocks:
653
+ - id: modal_theme_blue_trigger
654
+ type: Button
655
+ layout:
656
+ flex: 0 0 auto
657
+ properties:
658
+ title: Open Blue Themed Modal
659
+ color: primary
660
+ variant: solid
661
+ events:
662
+ onClick:
663
+ - id: modal_theme_blue_open
664
+ type: CallMethod
665
+ params:
666
+ blockId: modal_theme_blue
667
+ method: setOpen
668
+ args:
669
+ - open: true
670
+ - id: modal_theme_blue
671
+ type: Modal
672
+ properties:
673
+ title: Blue Theme Modal
674
+ theme:
675
+ titleColor: '#0958d9'
676
+ titleFontSize: 20
677
+ titleLineHeight: 1.8
678
+ borderRadiusLG: 16
679
+ blocks:
680
+ - id: modal_theme_blue_content
681
+ type: Paragraph
682
+ properties:
683
+ content: This modal overrides design tokens via the theme property. The header has a blue background, custom title color and size, and larger border radius.
684
+ - id: modal_theme_warm_trigger
685
+ type: Button
686
+ layout:
687
+ flex: 0 0 auto
688
+ properties:
689
+ title: Open Warm Themed Modal
690
+ color: default
691
+ variant: solid
692
+ events:
693
+ onClick:
694
+ - id: modal_theme_warm_open
695
+ type: CallMethod
696
+ params:
697
+ blockId: modal_theme_warm
698
+ method: setOpen
699
+ args:
700
+ - open: true
701
+ - id: modal_theme_warm
702
+ type: Modal
703
+ properties:
704
+ title: Warm Theme Modal
705
+ theme:
706
+ titleColor: '#d46b08'
707
+ colorBgMask: 'rgba(250, 173, 20, 0.1)'
708
+ borderRadiusLG: 20
709
+ headerBorderBottom: 1px solid #ffd591
710
+ footerBorderTop: 1px solid #ffd591
711
+ headerMarginBottom: 0
712
+ footerMarginTop: 0
713
+ headerPadding: 16px 24px
714
+ bodyPadding: 24
715
+ footerPadding: 16px 24px
716
+ blocks:
717
+ - id: modal_theme_warm_content
718
+ type: Paragraph
719
+ properties:
720
+ content: A warm-toned modal using an extensive set of theme tokens including headerBg, contentBg, footerBg, titleColor, colorBgMask, headerBorderBottom, footerBorderTop, headerPadding, bodyPadding, footerPadding, and margin tokens.
721
+
722
+ - title: Styled Modal (CSS Keys)
723
+ blocks:
724
+ - id: modal_styled_body_trigger
725
+ type: Button
726
+ layout:
727
+ flex: 0 0 auto
728
+ properties:
729
+ title: Open Styled Modal
730
+ color: primary
731
+ variant: solid
732
+ events:
733
+ onClick:
734
+ - id: modal_styled_body_open
735
+ type: CallMethod
736
+ params:
737
+ blockId: modal_styled_body
738
+ method: setOpen
739
+ args:
740
+ - open: true
741
+ - id: modal_styled_body
742
+ type: Modal
743
+ properties:
744
+ title: Styled Modal
745
+ style:
746
+ .body:
747
+ padding: 24px
748
+ .mask:
749
+ backgroundColor: 'rgba(0, 100, 0, 0.15)'
750
+ blocks:
751
+ - id: modal_styled_body_content
752
+ type: Paragraph
753
+ properties:
754
+ content: This modal uses style.body and style.mask to apply custom background colors. The body has a green tint and the mask has a subtle green overlay.
755
+ - id: modal_styled_wrapper_trigger
756
+ type: Button
757
+ layout:
758
+ flex: 0 0 auto
759
+ properties:
760
+ title: Open Modal with Wrapper Style
761
+ color: primary
762
+ variant: outlined
763
+ events:
764
+ onClick:
765
+ - id: modal_styled_wrapper_open
766
+ type: CallMethod
767
+ params:
768
+ blockId: modal_styled_wrapper
769
+ method: setOpen
770
+ args:
771
+ - open: true
772
+ - id: modal_styled_wrapper
773
+ type: Modal
774
+ properties:
775
+ title: Custom Wrapper Style
776
+ style:
777
+ .element:
778
+ borderRadius: 20px
779
+ .wrapper:
780
+ backdropFilter: blur(2px)
781
+ blocks:
782
+ - id: modal_styled_wrapper_content
783
+ type: Paragraph
784
+ properties:
785
+ content: The element, wrapper, header, body, footer, mask, and content CSS keys allow targeting different parts of the modal with inline styles or Tailwind classes.
786
+
787
+ - title: CSS Key Classes (Tailwind)
788
+ blocks:
789
+ - id: modal_css_keys_trigger
790
+ type: Button
791
+ layout:
792
+ flex: 0 0 auto
793
+ properties:
794
+ title: Open Modal with Tailwind Classes
795
+ color: primary
796
+ variant: solid
797
+ events:
798
+ onClick:
799
+ - id: modal_css_keys_open
800
+ type: CallMethod
801
+ params:
802
+ blockId: modal_css_keys
803
+ method: setOpen
804
+ args:
805
+ - open: true
806
+ - id: modal_css_keys
807
+ type: Modal
808
+ properties:
809
+ title: Tailwind Styled Modal
810
+ class:
811
+ header: bg-bg-layout
812
+ body: bg-bg-layout p-8
813
+ footer: bg-bg-layout
814
+ content: rounded-2xl overflow-hidden
815
+ blocks:
816
+ - id: modal_css_keys_content
817
+ type: Paragraph
818
+ properties:
819
+ content: 'Modal supports these CSS keys for Tailwind class targeting: element, header, body, footer, mask, wrapper, content. Use class as an object to apply Tailwind utilities to each area independently.'
820
+
821
+ - title: Modal as User Profile Editor
822
+ blocks:
823
+ - id: modal_profile_trigger
824
+ type: Button
825
+ layout:
826
+ flex: 0 0 auto
827
+ properties:
828
+ title: Edit Profile
829
+ color: primary
830
+ variant: solid
831
+ icon: AiOutlineEdit
832
+ events:
833
+ onClick:
834
+ - id: modal_profile_open
835
+ type: CallMethod
836
+ params:
837
+ blockId: modal_profile
838
+ method: setOpen
839
+ args:
840
+ - open: true
841
+ - id: modal_profile
842
+ type: Modal
843
+ properties:
844
+ title: Edit Your Profile
845
+ width: 640
846
+ okText: Save Profile
847
+ cancelText: Cancel
848
+ centered: true
849
+ theme:
850
+ headerBorderBottom: 1px solid #f0f0f0
851
+ headerMarginBottom: 0
852
+ events:
853
+ onOk:
854
+ - id: modal_profile_save
855
+ type: DisplayMessage
856
+ params:
857
+ content: Profile saved successfully.
858
+ status: success
859
+ blocks:
860
+ - id: modal_profile_avatar_row
861
+ type: Box
862
+ layout:
863
+ gap: 16
864
+ align: center
865
+ blocks:
866
+ - id: modal_profile_avatar
867
+ type: Avatar
868
+ layout:
869
+ flex: 0 0 auto
870
+ properties:
871
+ icon: AiOutlineUser
872
+ size: 72
873
+ color: '#fff'
874
+ backgroundColor: '#1677ff'
875
+ - id: modal_profile_info
876
+ type: Box
877
+ layout:
878
+ flex: 1 1 0
879
+ direction: column
880
+ gap: 4
881
+ blocks:
882
+ - id: modal_profile_name_title
883
+ type: Title
884
+ properties:
885
+ content: Jane Cooper
886
+ level: 4
887
+ - id: modal_profile_role_text
888
+ type: Paragraph
889
+ properties:
890
+ content: Senior Product Designer
891
+ - id: modal_profile_divider
892
+ type: Divider
893
+ - id: modal_profile_name_input
894
+ type: TextInput
895
+ properties:
896
+ title: Full Name
897
+ placeholder: Enter your full name
898
+ - id: modal_profile_email_input
899
+ type: TextInput
900
+ properties:
901
+ title: Email Address
902
+ placeholder: Enter your email
903
+ - id: modal_profile_bio_input
904
+ type: TextArea
905
+ properties:
906
+ title: Bio
907
+ placeholder: Tell us about yourself
908
+ rows: 3
909
+
910
+ - title: Modal as Confirmation Dialog
911
+ blocks:
912
+ - id: modal_confirm_trigger
913
+ type: Button
914
+ layout:
915
+ flex: 0 0 auto
916
+ properties:
917
+ title: Delete Project
918
+ color: danger
919
+ variant: solid
920
+ icon: AiOutlineDelete
921
+ events:
922
+ onClick:
923
+ - id: modal_confirm_open
924
+ type: CallMethod
925
+ params:
926
+ blockId: modal_confirm
927
+ method: setOpen
928
+ args:
929
+ - open: true
930
+ - id: modal_confirm
931
+ type: Modal
932
+ properties:
933
+ title: Delete Project?
934
+ width: 420
935
+ centered: true
936
+ okText: Delete Permanently
937
+ cancelText: Keep Project
938
+ okButtonProps:
939
+ danger: true
940
+ closable: false
941
+ maskClosable: false
942
+ theme:
943
+ titleColor: '#cf1322'
944
+ events:
945
+ onOk:
946
+ - id: modal_confirm_delete
947
+ type: DisplayMessage
948
+ params:
949
+ content: Project deleted.
950
+ status: success
951
+ onCancel:
952
+ - id: modal_confirm_keep
953
+ type: DisplayMessage
954
+ params:
955
+ content: Project kept.
956
+ status: info
957
+ blocks:
958
+ - id: modal_confirm_warning
959
+ type: Paragraph
960
+ properties:
961
+ content: This action cannot be undone. All project data, files, and team assignments will be permanently removed.
962
+ - id: modal_confirm_details
963
+ type: Descriptions
964
+ properties:
965
+ column: 1
966
+ size: small
967
+ items:
968
+ - label: Project
969
+ value: Project Alpha
970
+ - label: Owner
971
+ value: Jane Cooper
972
+ - label: Files
973
+ value: 248 files (1.2 GB)
974
+
975
+ - title: Modal as Image Preview
976
+ blocks:
977
+ - id: modal_image_trigger
978
+ type: Button
979
+ layout:
980
+ flex: 0 0 auto
981
+ properties:
982
+ title: Preview Image
983
+ color: primary
984
+ variant: outlined
985
+ icon: AiOutlinePicture
986
+ events:
987
+ onClick:
988
+ - id: modal_image_open
989
+ type: CallMethod
990
+ params:
991
+ blockId: modal_image
992
+ method: setOpen
993
+ args:
994
+ - open: true
995
+ - id: modal_image
996
+ type: Modal
997
+ properties:
998
+ title: Mountain Landscape
999
+ width: 720
1000
+ footer: false
1001
+ centered: true
1002
+ theme:
1003
+ bodyPadding: 0
1004
+ headerMarginBottom: 0
1005
+ blocks:
1006
+ - id: modal_image_html
1007
+ type: Html
1008
+ properties:
1009
+ html: '<img src="https://picsum.photos/seed/mountain/700/400" alt="Mountain landscape" style="width:100%; display:block;" />'
1010
+ - id: modal_image_caption
1011
+ type: Box
1012
+ layout:
1013
+ gap: 8
1014
+ align: center
1015
+ justify: space-between
1016
+ class: p-4
1017
+ blocks:
1018
+ - id: modal_image_desc
1019
+ type: Paragraph
1020
+ layout:
1021
+ flex: 1 1 0
1022
+ properties:
1023
+ content: A serene mountain landscape captured at golden hour. Photography by John Doe.
1024
+ - id: modal_image_tags
1025
+ type: Box
1026
+ layout:
1027
+ flex: 0 0 auto
1028
+ gap: 8
1029
+ blocks:
1030
+ - id: modal_image_tag1
1031
+ type: Tag
1032
+ properties:
1033
+ title: Photography
1034
+ color: blue
1035
+ - id: modal_image_tag2
1036
+ type: Tag
1037
+ properties:
1038
+ title: Featured
1039
+ color: gold