@lowdefy/blocks-antd 5.6.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) 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/Button.js +11 -2
  21. package/dist/blocks/Button/gallery.yaml +718 -0
  22. package/dist/blocks/Button/meta.js +4 -0
  23. package/dist/blocks/Button/tests/Button.e2e.yaml +246 -0
  24. package/dist/blocks/Button/tests.yaml +109 -0
  25. package/dist/blocks/ButtonSelector/gallery.yaml +891 -0
  26. package/dist/blocks/ButtonSelector/tests/ButtonSelector.e2e.yaml +188 -0
  27. package/dist/blocks/ButtonSelector/tests.yaml +167 -0
  28. package/dist/blocks/Calendar/gallery.yaml +128 -0
  29. package/dist/blocks/Calendar/tests/Calendar.e2e.yaml +136 -0
  30. package/dist/blocks/Calendar/tests.yaml +50 -0
  31. package/dist/blocks/Card/gallery.yaml +1035 -0
  32. package/dist/blocks/Card/tests/Card.e2e.yaml +209 -0
  33. package/dist/blocks/Card/tests.yaml +75 -0
  34. package/dist/blocks/Carousel/gallery.yaml +1971 -0
  35. package/dist/blocks/Carousel/tests/Carousel.e2e.yaml +211 -0
  36. package/dist/blocks/Carousel/tests.yaml +117 -0
  37. package/dist/blocks/CheckboxSelector/gallery.yaml +781 -0
  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 +1 -1
  106. package/dist/blocks/Label/gallery.yaml +762 -0
  107. package/dist/blocks/Label/{style.module.css → style.css} +28 -28
  108. package/dist/blocks/Label/tests/Label.e2e.yaml +247 -0
  109. package/dist/blocks/Label/tests.yaml +212 -0
  110. package/dist/blocks/Layout/gallery.yaml +548 -0
  111. package/dist/blocks/Layout/tests/Layout.e2e.yaml +86 -0
  112. package/dist/blocks/Layout/tests.yaml +28 -0
  113. package/dist/blocks/ListSelector/gallery.yaml +223 -0
  114. package/dist/blocks/Masonry/gallery.yaml +989 -0
  115. package/dist/blocks/Masonry/tests/Masonry.e2e.yaml +128 -0
  116. package/dist/blocks/Masonry/tests.yaml +42 -0
  117. package/dist/blocks/MasonryList/gallery.yaml +224 -0
  118. package/dist/blocks/MasonryList/tests/MasonryList.e2e.yaml +55 -0
  119. package/dist/blocks/MasonryList/tests.yaml +42 -0
  120. package/dist/blocks/Menu/gallery.yaml +974 -0
  121. package/dist/blocks/Menu/tests/Menu.e2e.yaml +484 -0
  122. package/dist/blocks/Menu/tests.yaml +1053 -0
  123. package/dist/blocks/Message/gallery.yaml +860 -0
  124. package/dist/blocks/Message/tests/Message.e2e.yaml +246 -0
  125. package/dist/blocks/Message/tests.yaml +54 -0
  126. package/dist/blocks/MobileMenu/gallery.yaml +1172 -0
  127. package/dist/blocks/MobileMenu/tests/MobileMenu.e2e.yaml +314 -0
  128. package/dist/blocks/MobileMenu/tests.yaml +359 -0
  129. package/dist/blocks/Modal/gallery.yaml +1039 -0
  130. package/dist/blocks/Modal/tests/Modal.e2e.yaml +493 -0
  131. package/dist/blocks/Modal/tests.yaml +75 -0
  132. package/dist/blocks/MonthSelector/MonthSelector.js +6 -0
  133. package/dist/blocks/MonthSelector/e2e.js +26 -2
  134. package/dist/blocks/MonthSelector/gallery.yaml +687 -0
  135. package/dist/blocks/MonthSelector/meta.js +6 -0
  136. package/dist/blocks/MonthSelector/tests/MonthSelector.e2e.yaml +167 -0
  137. package/dist/blocks/MonthSelector/tests.yaml +124 -0
  138. package/dist/blocks/MultipleSelector/gallery.yaml +1245 -0
  139. package/dist/blocks/MultipleSelector/tests/MultipleSelector.e2e.yaml +445 -0
  140. package/dist/blocks/MultipleSelector/tests.yaml +201 -0
  141. package/dist/blocks/Notification/gallery.yaml +1376 -0
  142. package/dist/blocks/Notification/tests/Notification.e2e.yaml +362 -0
  143. package/dist/blocks/Notification/tests.yaml +97 -0
  144. package/dist/blocks/NumberInput/gallery.yaml +753 -0
  145. package/dist/blocks/NumberInput/tests/NumberInput.e2e.yaml +228 -0
  146. package/dist/blocks/NumberInput/tests.yaml +116 -0
  147. package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +1 -1
  148. package/dist/blocks/PageHeaderMenu/gallery.yaml +480 -0
  149. package/dist/blocks/PageHeaderMenu/tests/PageHeaderMenu.e2e.yaml +110 -0
  150. package/dist/blocks/PageHeaderMenu/tests.yaml +173 -0
  151. package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +10 -1
  152. package/dist/blocks/PageSidebarLayout/gallery.yaml +302 -0
  153. package/dist/blocks/PageSidebarLayout/meta.js +1 -0
  154. package/dist/blocks/PageSidebarLayout/tests/PageSidebarLayout.e2e.yaml +216 -0
  155. package/dist/blocks/PageSidebarLayout/tests.yaml +174 -0
  156. package/dist/blocks/PageSiderMenu/PageSiderMenu.js +1 -1
  157. package/dist/blocks/PageSiderMenu/gallery.yaml +516 -0
  158. package/dist/blocks/PageSiderMenu/tests/PageSiderMenu.e2e.yaml +175 -0
  159. package/dist/blocks/PageSiderMenu/tests.yaml +211 -0
  160. package/dist/blocks/Pagination/gallery.yaml +503 -0
  161. package/dist/blocks/Pagination/tests/Pagination.e2e.yaml +159 -0
  162. package/dist/blocks/Pagination/tests.yaml +80 -0
  163. package/dist/blocks/Paragraph/gallery.yaml +458 -0
  164. package/dist/blocks/Paragraph/tests/Paragraph.e2e.yaml +153 -0
  165. package/dist/blocks/Paragraph/tests.yaml +176 -0
  166. package/dist/blocks/ParagraphInput/gallery.yaml +1483 -0
  167. package/dist/blocks/ParagraphInput/tests/ParagraphInput.e2e.yaml +189 -0
  168. package/dist/blocks/ParagraphInput/tests.yaml +163 -0
  169. package/dist/blocks/PasswordInput/gallery.yaml +420 -0
  170. package/dist/blocks/PasswordInput/tests/PasswordInput.e2e.yaml +188 -0
  171. package/dist/blocks/PasswordInput/tests.yaml +78 -0
  172. package/dist/blocks/PhoneNumberInput/gallery.yaml +677 -0
  173. package/dist/blocks/PhoneNumberInput/tests/PhoneNumberInput.e2e.yaml +279 -0
  174. package/dist/blocks/PhoneNumberInput/tests.yaml +25 -0
  175. package/dist/blocks/Popover/gallery.yaml +1301 -0
  176. package/dist/blocks/Popover/tests/Popover.e2e.yaml +249 -0
  177. package/dist/blocks/Popover/tests.yaml +105 -0
  178. package/dist/blocks/Progress/gallery.yaml +772 -0
  179. package/dist/blocks/Progress/tests/Progress.e2e.yaml +167 -0
  180. package/dist/blocks/Progress/tests.yaml +114 -0
  181. package/dist/blocks/QRCode/gallery.yaml +492 -0
  182. package/dist/blocks/QRCode/tests/QRCode.e2e.yaml +66 -0
  183. package/dist/blocks/QRCode/tests.yaml +113 -0
  184. package/dist/blocks/RadioSelector/gallery.yaml +816 -0
  185. package/dist/blocks/RadioSelector/tests/RadioSelector.e2e.yaml +269 -0
  186. package/dist/blocks/RadioSelector/tests.yaml +339 -0
  187. package/dist/blocks/RatingSlider/gallery.yaml +627 -0
  188. package/dist/blocks/RatingSlider/tests/RatingSlider.e2e.yaml +188 -0
  189. package/dist/blocks/RatingSlider/tests.yaml +116 -0
  190. package/dist/blocks/Result/gallery.yaml +925 -0
  191. package/dist/blocks/Result/tests/Result.e2e.yaml +126 -0
  192. package/dist/blocks/Result/tests.yaml +75 -0
  193. package/dist/blocks/Search/Search.js +1 -1
  194. package/dist/blocks/Search/SearchModal.js +18 -9
  195. package/dist/blocks/Search/gallery.yaml +170 -0
  196. package/dist/blocks/Search/meta.js +2 -1
  197. package/dist/blocks/Search/{style.module.css → style.css} +19 -12
  198. package/dist/blocks/Search/tests/Search.e2e.yaml +125 -0
  199. package/dist/blocks/Search/useSearchIndex.js +24 -2
  200. package/dist/blocks/SegmentedSelector/gallery.yaml +725 -0
  201. package/dist/blocks/SegmentedSelector/tests/SegmentedSelector.e2e.yaml +115 -0
  202. package/dist/blocks/SegmentedSelector/tests.yaml +141 -0
  203. package/dist/blocks/Selector/gallery.yaml +1055 -0
  204. package/dist/blocks/Selector/tests/Selector.e2e.yaml +427 -0
  205. package/dist/blocks/Selector/tests.yaml +196 -0
  206. package/dist/blocks/Sider/gallery.yaml +994 -0
  207. package/dist/blocks/Sider/tests/Sider.e2e.yaml +162 -0
  208. package/dist/blocks/Sider/tests.yaml +20 -0
  209. package/dist/blocks/Slider/gallery.yaml +600 -0
  210. package/dist/blocks/Slider/tests/Slider.e2e.yaml +190 -0
  211. package/dist/blocks/Slider/tests.yaml +68 -0
  212. package/dist/blocks/Splitter/gallery.yaml +1511 -0
  213. package/dist/blocks/Splitter/tests/Splitter.e2e.yaml +114 -0
  214. package/dist/blocks/Splitter/tests.yaml +79 -0
  215. package/dist/blocks/Statistic/gallery.yaml +460 -0
  216. package/dist/blocks/Statistic/tests/Statistic.e2e.yaml +137 -0
  217. package/dist/blocks/Statistic/tests.yaml +77 -0
  218. package/dist/blocks/Steps/gallery.yaml +550 -0
  219. package/dist/blocks/Switch/gallery.yaml +502 -0
  220. package/dist/blocks/Switch/tests/Switch.e2e.yaml +132 -0
  221. package/dist/blocks/Switch/tests.yaml +87 -0
  222. package/dist/blocks/Tabs/gallery.yaml +1353 -0
  223. package/dist/blocks/Tabs/tests/Tabs.e2e.yaml +370 -0
  224. package/dist/blocks/Tabs/tests.yaml +349 -0
  225. package/dist/blocks/Tag/gallery.yaml +598 -0
  226. package/dist/blocks/Tag/tests/Tag.e2e.yaml +173 -0
  227. package/dist/blocks/Tag/tests.yaml +51 -0
  228. package/dist/blocks/TagMultipleSelector/TagMultipleSelector.js +53 -0
  229. package/dist/blocks/TagMultipleSelector/e2e.js +36 -0
  230. package/dist/blocks/TagMultipleSelector/gallery.yaml +70 -0
  231. package/dist/blocks/TagMultipleSelector/meta.js +91 -0
  232. package/dist/blocks/TagMultipleSelector/tests/TagMultipleSelector.e2e.yaml +93 -0
  233. package/dist/blocks/TagSelector/TagSelector.js +49 -0
  234. package/dist/blocks/TagSelector/e2e.js +36 -0
  235. package/dist/blocks/TagSelector/gallery.yaml +70 -0
  236. package/dist/blocks/TagSelector/meta.js +91 -0
  237. package/dist/blocks/TagSelector/tests/TagSelector.e2e.yaml +93 -0
  238. package/dist/blocks/TextArea/gallery.yaml +618 -0
  239. package/dist/blocks/TextArea/tests/TextArea.e2e.yaml +218 -0
  240. package/dist/blocks/TextArea/tests.yaml +100 -0
  241. package/dist/blocks/TextInput/gallery.yaml +560 -0
  242. package/dist/blocks/TextInput/tests/TextInput.e2e.yaml +287 -0
  243. package/dist/blocks/TextInput/tests.yaml +114 -0
  244. package/dist/blocks/TimelineList/gallery.yaml +431 -0
  245. package/dist/blocks/TimelineList/tests/TimelineList.e2e.yaml +244 -0
  246. package/dist/blocks/TimelineList/tests.yaml +251 -0
  247. package/dist/blocks/Title/gallery.yaml +483 -0
  248. package/dist/blocks/Title/tests/Title.e2e.yaml +180 -0
  249. package/dist/blocks/Title/tests.yaml +175 -0
  250. package/dist/blocks/TitleInput/gallery.yaml +1006 -0
  251. package/dist/blocks/TitleInput/tests/TitleInput.e2e.yaml +195 -0
  252. package/dist/blocks/TitleInput/tests.yaml +181 -0
  253. package/dist/blocks/Tooltip/gallery.yaml +1214 -0
  254. package/dist/blocks/Tooltip/tests/Tooltip.e2e.yaml +195 -0
  255. package/dist/blocks/Tooltip/tests.yaml +92 -0
  256. package/dist/blocks/Tour/gallery.yaml +2305 -0
  257. package/dist/blocks/Tour/tests/Tour.e2e.yaml +90 -0
  258. package/dist/blocks/Tour/tests.yaml +151 -0
  259. package/dist/blocks/TreeInput/gallery.yaml +78 -0
  260. package/dist/blocks/TreeInput/tests/TreeInput.e2e.yaml +139 -0
  261. package/dist/blocks/TreeInput/tests.yaml +140 -0
  262. package/dist/blocks/TreeMultipleSelector/gallery.yaml +67 -0
  263. package/dist/blocks/TreeSelector/gallery.yaml +81 -0
  264. package/dist/blocks/Watermark/gallery.yaml +479 -0
  265. package/dist/blocks/Watermark/tests/Watermark.e2e.yaml +62 -0
  266. package/dist/blocks/Watermark/tests.yaml +86 -0
  267. package/dist/blocks/WeekSelector/WeekSelector.js +6 -0
  268. package/dist/blocks/WeekSelector/e2e.js +26 -2
  269. package/dist/blocks/WeekSelector/gallery.yaml +589 -0
  270. package/dist/blocks/WeekSelector/meta.js +6 -0
  271. package/dist/blocks/WeekSelector/tests/WeekSelector.e2e.yaml +154 -0
  272. package/dist/blocks/WeekSelector/tests.yaml +122 -0
  273. package/dist/blocks.js +2 -0
  274. package/dist/disabledDate.js +91 -19
  275. package/dist/e2e.js +2 -0
  276. package/dist/getPresets.js +151 -0
  277. package/dist/getTagColor.js +44 -0
  278. package/dist/getTagSelectorOptions.js +30 -0
  279. package/dist/metas.js +2 -0
  280. package/dist/pickerPresetsStyle.css +26 -0
  281. package/dist/schemas/disabledDates.js +6 -2
  282. package/dist/schemas/index.js +1 -0
  283. package/dist/schemas/presets.js +111 -0
  284. package/dist/tagSelectorStyle.css +68 -0
  285. package/package.json +13 -13
@@ -0,0 +1,1257 @@
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 Drawer
16
+ blocks:
17
+ - id: drawer_basic_trigger
18
+ type: Button
19
+ layout:
20
+ flex: 0 0 auto
21
+ properties:
22
+ title: Open Drawer
23
+ color: primary
24
+ variant: solid
25
+ events:
26
+ onClick:
27
+ - id: drawer_basic_open
28
+ type: CallMethod
29
+ params:
30
+ blockId: drawer_basic
31
+ method: setOpen
32
+ args:
33
+ - open: true
34
+ - id: drawer_basic
35
+ type: Drawer
36
+ properties:
37
+ title: Basic Drawer
38
+ blocks:
39
+ - id: drawer_basic_p1
40
+ type: Paragraph
41
+ properties:
42
+ content: This is a basic drawer with a title and default settings. It opens from the right side with a width of 256px.
43
+ - id: drawer_basic_p2
44
+ type: Paragraph
45
+ properties:
46
+ content: Click the X button or the mask area to close it.
47
+
48
+ - title: Placements
49
+ blocks:
50
+ - id: drawer_place_right_btn
51
+ type: Button
52
+ layout:
53
+ flex: 0 0 auto
54
+ properties:
55
+ title: Right (default)
56
+ color: primary
57
+ variant: outlined
58
+ events:
59
+ onClick:
60
+ - id: drawer_place_right_open
61
+ type: CallMethod
62
+ params:
63
+ blockId: drawer_place_right
64
+ method: setOpen
65
+ args:
66
+ - open: true
67
+ - id: drawer_place_left_btn
68
+ type: Button
69
+ layout:
70
+ flex: 0 0 auto
71
+ properties:
72
+ title: Left
73
+ color: primary
74
+ variant: outlined
75
+ events:
76
+ onClick:
77
+ - id: drawer_place_left_open
78
+ type: CallMethod
79
+ params:
80
+ blockId: drawer_place_left
81
+ method: setOpen
82
+ args:
83
+ - open: true
84
+ - id: drawer_place_top_btn
85
+ type: Button
86
+ layout:
87
+ flex: 0 0 auto
88
+ properties:
89
+ title: Top
90
+ color: primary
91
+ variant: outlined
92
+ events:
93
+ onClick:
94
+ - id: drawer_place_top_open
95
+ type: CallMethod
96
+ params:
97
+ blockId: drawer_place_top
98
+ method: setOpen
99
+ args:
100
+ - open: true
101
+ - id: drawer_place_bottom_btn
102
+ type: Button
103
+ layout:
104
+ flex: 0 0 auto
105
+ properties:
106
+ title: Bottom
107
+ color: primary
108
+ variant: outlined
109
+ events:
110
+ onClick:
111
+ - id: drawer_place_bottom_open
112
+ type: CallMethod
113
+ params:
114
+ blockId: drawer_place_bottom
115
+ method: setOpen
116
+ args:
117
+ - open: true
118
+ - id: drawer_place_right
119
+ type: Drawer
120
+ properties:
121
+ title: Right Placement
122
+ placement: right
123
+ blocks:
124
+ - id: drawer_place_right_content
125
+ type: Paragraph
126
+ properties:
127
+ content: This drawer slides in from the right side, which is the default placement.
128
+ - id: drawer_place_left
129
+ type: Drawer
130
+ properties:
131
+ title: Left Placement
132
+ placement: left
133
+ blocks:
134
+ - id: drawer_place_left_content
135
+ type: Paragraph
136
+ properties:
137
+ content: This drawer slides in from the left side. Useful for navigation panels.
138
+ - id: drawer_place_top
139
+ type: Drawer
140
+ properties:
141
+ title: Top Placement
142
+ placement: top
143
+ height: 300
144
+ blocks:
145
+ - id: drawer_place_top_content
146
+ type: Paragraph
147
+ properties:
148
+ content: This drawer slides in from the top. Use the height property instead of width for top and bottom placements.
149
+ - id: drawer_place_bottom
150
+ type: Drawer
151
+ properties:
152
+ title: Bottom Placement
153
+ placement: bottom
154
+ height: 300
155
+ blocks:
156
+ - id: drawer_place_bottom_content
157
+ type: Paragraph
158
+ properties:
159
+ content: This drawer slides in from the bottom. Commonly used for mobile action sheets or bottom panels.
160
+
161
+ - title: Custom Sizes
162
+ blocks:
163
+ - id: drawer_narrow_btn
164
+ type: Button
165
+ layout:
166
+ flex: 0 0 auto
167
+ properties:
168
+ title: Narrow (200px)
169
+ color: primary
170
+ variant: outlined
171
+ size: small
172
+ events:
173
+ onClick:
174
+ - id: drawer_narrow_open
175
+ type: CallMethod
176
+ params:
177
+ blockId: drawer_narrow
178
+ method: setOpen
179
+ args:
180
+ - open: true
181
+ - id: drawer_wide_btn
182
+ type: Button
183
+ layout:
184
+ flex: 0 0 auto
185
+ properties:
186
+ title: Wide (500px)
187
+ color: primary
188
+ variant: outlined
189
+ size: small
190
+ events:
191
+ onClick:
192
+ - id: drawer_wide_open
193
+ type: CallMethod
194
+ params:
195
+ blockId: drawer_wide
196
+ method: setOpen
197
+ args:
198
+ - open: true
199
+ - id: drawer_pct_btn
200
+ type: Button
201
+ layout:
202
+ flex: 0 0 auto
203
+ properties:
204
+ title: Percentage (60%)
205
+ color: primary
206
+ variant: outlined
207
+ size: small
208
+ events:
209
+ onClick:
210
+ - id: drawer_pct_open
211
+ type: CallMethod
212
+ params:
213
+ blockId: drawer_pct
214
+ method: setOpen
215
+ args:
216
+ - open: true
217
+ - id: drawer_narrow
218
+ type: Drawer
219
+ properties:
220
+ title: Narrow Drawer
221
+ width: 200
222
+ blocks:
223
+ - id: drawer_narrow_content
224
+ type: Paragraph
225
+ properties:
226
+ content: A narrow 200px drawer, suitable for simple menus or quick settings.
227
+ - id: drawer_wide
228
+ type: Drawer
229
+ properties:
230
+ title: Wide Drawer
231
+ width: 500
232
+ blocks:
233
+ - id: drawer_wide_content
234
+ type: Paragraph
235
+ properties:
236
+ content: A 500px wide drawer with more room for complex content like forms, tables, or detail views.
237
+ - id: drawer_pct
238
+ type: Drawer
239
+ properties:
240
+ title: 60% Width Drawer
241
+ width: '60%'
242
+ blocks:
243
+ - id: drawer_pct_content
244
+ type: Paragraph
245
+ properties:
246
+ content: Using a percentage width makes the drawer responsive. This drawer takes up 60% of the viewport width.
247
+
248
+ - title: Closable Options
249
+ blocks:
250
+ - id: drawer_closable_btn
251
+ type: Button
252
+ layout:
253
+ flex: 0 0 auto
254
+ properties:
255
+ title: Closable (default)
256
+ color: primary
257
+ variant: outlined
258
+ events:
259
+ onClick:
260
+ - id: drawer_closable_open
261
+ type: CallMethod
262
+ params:
263
+ blockId: drawer_closable
264
+ method: setOpen
265
+ args:
266
+ - open: true
267
+ - id: drawer_not_closable_btn
268
+ type: Button
269
+ layout:
270
+ flex: 0 0 auto
271
+ properties:
272
+ title: No Close Button
273
+ color: danger
274
+ variant: outlined
275
+ events:
276
+ onClick:
277
+ - id: drawer_not_closable_open
278
+ type: CallMethod
279
+ params:
280
+ blockId: drawer_not_closable
281
+ method: setOpen
282
+ args:
283
+ - open: true
284
+ - id: drawer_closable
285
+ type: Drawer
286
+ properties:
287
+ title: Closable Drawer
288
+ closable: true
289
+ blocks:
290
+ - id: drawer_closable_content
291
+ type: Paragraph
292
+ properties:
293
+ content: The close button is visible in the top right corner. This is the default behavior.
294
+ - id: drawer_not_closable
295
+ type: Drawer
296
+ properties:
297
+ title: No Close Button
298
+ closable: false
299
+ blocks:
300
+ - id: drawer_not_closable_content
301
+ type: Paragraph
302
+ properties:
303
+ content: The close (x) button is hidden. Users can still close by clicking the mask or pressing Escape.
304
+ - id: drawer_not_closable_close_btn
305
+ type: Button
306
+ properties:
307
+ title: Close Drawer
308
+ color: primary
309
+ variant: solid
310
+ events:
311
+ onClick:
312
+ - id: drawer_not_closable_close
313
+ type: CallMethod
314
+ params:
315
+ blockId: drawer_not_closable
316
+ method: setOpen
317
+ args:
318
+ - open: false
319
+
320
+ - title: Mask Options
321
+ blocks:
322
+ - id: drawer_mask_default_btn
323
+ type: Button
324
+ layout:
325
+ flex: 0 0 auto
326
+ properties:
327
+ title: With Mask (default)
328
+ color: primary
329
+ variant: outlined
330
+ events:
331
+ onClick:
332
+ - id: drawer_mask_default_open
333
+ type: CallMethod
334
+ params:
335
+ blockId: drawer_mask_default
336
+ method: setOpen
337
+ args:
338
+ - open: true
339
+ - id: drawer_no_mask_btn
340
+ type: Button
341
+ layout:
342
+ flex: 0 0 auto
343
+ properties:
344
+ title: No Mask
345
+ color: primary
346
+ variant: outlined
347
+ events:
348
+ onClick:
349
+ - id: drawer_no_mask_open
350
+ type: CallMethod
351
+ params:
352
+ blockId: drawer_no_mask
353
+ method: setOpen
354
+ args:
355
+ - open: true
356
+ - id: drawer_mask_no_close_btn
357
+ type: Button
358
+ layout:
359
+ flex: 0 0 auto
360
+ properties:
361
+ title: Mask Not Closable
362
+ color: primary
363
+ variant: outlined
364
+ events:
365
+ onClick:
366
+ - id: drawer_mask_no_close_open
367
+ type: CallMethod
368
+ params:
369
+ blockId: drawer_mask_no_close
370
+ method: setOpen
371
+ args:
372
+ - open: true
373
+ - id: drawer_mask_default
374
+ type: Drawer
375
+ properties:
376
+ title: Default Mask
377
+ mask: true
378
+ maskClosable: true
379
+ blocks:
380
+ - id: drawer_mask_default_content
381
+ type: Paragraph
382
+ properties:
383
+ content: The mask is shown and clicking it closes the drawer. This is the default behavior.
384
+ - id: drawer_no_mask
385
+ type: Drawer
386
+ properties:
387
+ title: No Mask
388
+ mask: false
389
+ blocks:
390
+ - id: drawer_no_mask_content
391
+ type: Paragraph
392
+ properties:
393
+ content: No mask overlay is shown behind the drawer. The page content remains fully visible and interactive.
394
+ - id: drawer_mask_no_close
395
+ type: Drawer
396
+ properties:
397
+ title: Mask Not Closable
398
+ mask: true
399
+ maskClosable: false
400
+ blocks:
401
+ - id: drawer_mask_no_close_content
402
+ type: Paragraph
403
+ properties:
404
+ content: The mask is visible but clicking it does not close the drawer. Users must use the close button or Escape key.
405
+
406
+ - title: Keyboard Close
407
+ blocks:
408
+ - id: drawer_keyboard_on_btn
409
+ type: Button
410
+ layout:
411
+ flex: 0 0 auto
412
+ properties:
413
+ title: Keyboard Enabled (default)
414
+ color: primary
415
+ variant: outlined
416
+ events:
417
+ onClick:
418
+ - id: drawer_keyboard_on_open
419
+ type: CallMethod
420
+ params:
421
+ blockId: drawer_keyboard_on
422
+ method: setOpen
423
+ args:
424
+ - open: true
425
+ - id: drawer_keyboard_off_btn
426
+ type: Button
427
+ layout:
428
+ flex: 0 0 auto
429
+ properties:
430
+ title: Keyboard Disabled
431
+ color: danger
432
+ variant: outlined
433
+ events:
434
+ onClick:
435
+ - id: drawer_keyboard_off_open
436
+ type: CallMethod
437
+ params:
438
+ blockId: drawer_keyboard_off
439
+ method: setOpen
440
+ args:
441
+ - open: true
442
+ - id: drawer_keyboard_on
443
+ type: Drawer
444
+ properties:
445
+ title: Press Escape to Close
446
+ keyboard: true
447
+ blocks:
448
+ - id: drawer_keyboard_on_content
449
+ type: Paragraph
450
+ properties:
451
+ content: Pressing the Escape key closes this drawer. This is the default behavior.
452
+ - id: drawer_keyboard_off
453
+ type: Drawer
454
+ properties:
455
+ title: Escape Disabled
456
+ keyboard: false
457
+ blocks:
458
+ - id: drawer_keyboard_off_content
459
+ type: Paragraph
460
+ properties:
461
+ content: Pressing Escape does not close this drawer. The user must click the close button or mask to dismiss.
462
+
463
+ - title: Custom Z-Index
464
+ blocks:
465
+ - id: drawer_zindex_btn
466
+ type: Button
467
+ layout:
468
+ flex: 0 0 auto
469
+ properties:
470
+ title: Open Drawer (z-index 2000)
471
+ color: primary
472
+ variant: outlined
473
+ events:
474
+ onClick:
475
+ - id: drawer_zindex_open
476
+ type: CallMethod
477
+ params:
478
+ blockId: drawer_zindex
479
+ method: setOpen
480
+ args:
481
+ - open: true
482
+ - id: drawer_zindex
483
+ type: Drawer
484
+ properties:
485
+ title: High Z-Index Drawer
486
+ zIndex: 2000
487
+ blocks:
488
+ - id: drawer_zindex_content
489
+ type: Paragraph
490
+ properties:
491
+ content: This drawer uses a custom z-index of 2000 to ensure it appears above other overlays. The default is 1000.
492
+
493
+ - title: Extra Slot
494
+ blocks:
495
+ - id: drawer_extra_btn
496
+ type: Button
497
+ layout:
498
+ flex: 0 0 auto
499
+ properties:
500
+ title: Open Drawer with Extra
501
+ color: primary
502
+ variant: solid
503
+ events:
504
+ onClick:
505
+ - id: drawer_extra_open
506
+ type: CallMethod
507
+ params:
508
+ blockId: drawer_extra
509
+ method: setOpen
510
+ args:
511
+ - open: true
512
+ - id: drawer_extra
513
+ type: Drawer
514
+ properties:
515
+ title: Drawer with Extra
516
+ slots:
517
+ extra:
518
+ blocks:
519
+ - id: drawer_extra_actions_row
520
+ type: Box
521
+ layout:
522
+ gap: 8
523
+ blocks:
524
+ - id: drawer_extra_cancel_btn
525
+ type: Button
526
+ layout:
527
+ flex: 0 0 auto
528
+ properties:
529
+ title: Cancel
530
+ color: default
531
+ variant: outlined
532
+ size: small
533
+ events:
534
+ onClick:
535
+ - id: drawer_extra_cancel
536
+ type: CallMethod
537
+ params:
538
+ blockId: drawer_extra
539
+ method: setOpen
540
+ args:
541
+ - open: false
542
+ - id: drawer_extra_submit_btn
543
+ type: Button
544
+ layout:
545
+ flex: 0 0 auto
546
+ properties:
547
+ title: Submit
548
+ color: primary
549
+ variant: solid
550
+ size: small
551
+ blocks:
552
+ - id: drawer_extra_content
553
+ type: Paragraph
554
+ properties:
555
+ content: The extra slot renders content in the header area opposite the title. Commonly used for action buttons like Save or Cancel.
556
+
557
+ - title: Footer Slot
558
+ blocks:
559
+ - id: drawer_footer_btn
560
+ type: Button
561
+ layout:
562
+ flex: 0 0 auto
563
+ properties:
564
+ title: Open Drawer with Footer
565
+ color: primary
566
+ variant: solid
567
+ events:
568
+ onClick:
569
+ - id: drawer_footer_open
570
+ type: CallMethod
571
+ params:
572
+ blockId: drawer_footer
573
+ method: setOpen
574
+ args:
575
+ - open: true
576
+ - id: drawer_footer
577
+ type: Drawer
578
+ properties:
579
+ title: Drawer with Footer
580
+ width: 400
581
+ slots:
582
+ footer:
583
+ blocks:
584
+ - id: drawer_footer_actions_row
585
+ type: Box
586
+ layout:
587
+ gap: 8
588
+ justify: end
589
+ blocks:
590
+ - id: drawer_footer_cancel_btn
591
+ type: Button
592
+ layout:
593
+ flex: 0 0 auto
594
+ properties:
595
+ title: Cancel
596
+ color: default
597
+ variant: outlined
598
+ events:
599
+ onClick:
600
+ - id: drawer_footer_cancel
601
+ type: CallMethod
602
+ params:
603
+ blockId: drawer_footer
604
+ method: setOpen
605
+ args:
606
+ - open: false
607
+ - id: drawer_footer_save_btn
608
+ type: Button
609
+ layout:
610
+ flex: 0 0 auto
611
+ properties:
612
+ title: Save
613
+ color: primary
614
+ variant: solid
615
+ events:
616
+ onClick:
617
+ - id: drawer_footer_save_msg
618
+ type: DisplayMessage
619
+ params:
620
+ content: Saved successfully
621
+ status: success
622
+ duration: 2
623
+ blocks:
624
+ - id: drawer_footer_content
625
+ type: Paragraph
626
+ properties:
627
+ content: The footer slot renders content in the drawer's footer area, pinned at the bottom. It is commonly used for action buttons like Save and Cancel.
628
+
629
+ - title: Toggle Method
630
+ blocks:
631
+ - id: drawer_toggle_btn
632
+ type: Button
633
+ layout:
634
+ flex: 0 0 auto
635
+ properties:
636
+ title: Toggle Drawer
637
+ color: primary
638
+ variant: solid
639
+ icon: AiOutlineMenu
640
+ events:
641
+ onClick:
642
+ - id: drawer_toggle_call
643
+ type: CallMethod
644
+ params:
645
+ blockId: drawer_toggle
646
+ method: toggleOpen
647
+ - id: drawer_toggle
648
+ type: Drawer
649
+ properties:
650
+ title: Toggle Drawer
651
+ blocks:
652
+ - id: drawer_toggle_content
653
+ type: Paragraph
654
+ properties:
655
+ content: This drawer uses the toggleOpen method. Each click of the button alternates between open and closed states.
656
+
657
+ - title: Drawer Events
658
+ blocks:
659
+ - id: drawer_events_btn
660
+ type: Button
661
+ layout:
662
+ flex: 0 0 auto
663
+ properties:
664
+ title: Open Drawer with Events
665
+ color: primary
666
+ variant: solid
667
+ events:
668
+ onClick:
669
+ - id: drawer_events_open
670
+ type: CallMethod
671
+ params:
672
+ blockId: drawer_events
673
+ method: setOpen
674
+ args:
675
+ - open: true
676
+ - id: drawer_events
677
+ type: Drawer
678
+ properties:
679
+ title: Drawer with Events
680
+ width: 400
681
+ events:
682
+ onOpen:
683
+ - id: drawer_events_on_open_msg
684
+ type: DisplayMessage
685
+ params:
686
+ content: Drawer opened
687
+ duration: 2
688
+ onClose:
689
+ - id: drawer_events_on_close_msg
690
+ type: DisplayMessage
691
+ params:
692
+ content: Drawer closing...
693
+ duration: 2
694
+ afterClose:
695
+ - id: drawer_events_after_close_msg
696
+ type: DisplayMessage
697
+ params:
698
+ content: Drawer fully closed
699
+ duration: 2
700
+ blocks:
701
+ - id: drawer_events_p1
702
+ type: Paragraph
703
+ properties:
704
+ content: This drawer triggers DisplayMessage actions on onOpen, onClose, and afterClose events. Close the drawer to see all three messages fire in sequence.
705
+ - id: drawer_events_p2
706
+ type: Paragraph
707
+ properties:
708
+ content: 'Available events: onOpen fires when opening, onClose fires when the close action starts, onToggle fires on toggle, afterClose fires after the close animation completes, and afterOpenChange fires after any open state transition.'
709
+
710
+ - title: Inline Styles
711
+ blocks:
712
+ - id: drawer_inline_style_btn
713
+ type: Button
714
+ layout:
715
+ flex: 0 0 auto
716
+ properties:
717
+ title: Open Styled Drawer
718
+ color: primary
719
+ variant: solid
720
+ events:
721
+ onClick:
722
+ - id: drawer_inline_style_open
723
+ type: CallMethod
724
+ params:
725
+ blockId: drawer_inline_style
726
+ method: setOpen
727
+ args:
728
+ - open: true
729
+ - id: drawer_inline_style
730
+ type: Drawer
731
+ properties:
732
+ title: Styled Drawer
733
+ style:
734
+ .header:
735
+ borderBottom: 1px solid #91caff
736
+ .body:
737
+ blocks:
738
+ - id: drawer_inline_style_content
739
+ type: Paragraph
740
+ properties:
741
+ content: This drawer uses style.header and style.body to apply custom background colors to the header and body areas.
742
+
743
+ - title: CSS Key Classes
744
+ blocks:
745
+ - id: drawer_css_keys_btn
746
+ type: Button
747
+ layout:
748
+ flex: 0 0 auto
749
+ properties:
750
+ title: Open CSS Styled Drawer
751
+ color: primary
752
+ variant: solid
753
+ events:
754
+ onClick:
755
+ - id: drawer_css_keys_open
756
+ type: CallMethod
757
+ params:
758
+ blockId: drawer_css_keys
759
+ method: setOpen
760
+ args:
761
+ - open: true
762
+ - id: drawer_css_keys
763
+ type: Drawer
764
+ properties:
765
+ title: Tailwind CSS Keys
766
+ class:
767
+ header: bg-bg-layout
768
+ body: bg-bg-layout
769
+ blocks:
770
+ - id: drawer_css_keys_content
771
+ type: Paragraph
772
+ properties:
773
+ content: 'Drawer supports these CSS keys: element, header, body, footer, mask, wrapper, content. Use class as an object to target each area with Tailwind classes.'
774
+
775
+ - id: drawer_css_accent_btn
776
+ type: Button
777
+ layout:
778
+ flex: 0 0 auto
779
+ properties:
780
+ title: Open Accent Drawer
781
+ color: primary
782
+ variant: outlined
783
+ events:
784
+ onClick:
785
+ - id: drawer_css_accent_open
786
+ type: CallMethod
787
+ params:
788
+ blockId: drawer_css_accent
789
+ method: setOpen
790
+ args:
791
+ - open: true
792
+ - id: drawer_css_accent
793
+ type: Drawer
794
+ properties:
795
+ title: Accent Header
796
+ class:
797
+ header: bg-gradient-to-r from-primary/100 to-indigo-600 text-white
798
+ body: bg-bg-layout
799
+ blocks:
800
+ - id: drawer_css_accent_content
801
+ type: Paragraph
802
+ properties:
803
+ content: A gradient header created using Tailwind classes on the header CSS key. The body uses a subtle gray background.
804
+
805
+ - id: drawer_css_mask_btn
806
+ type: Button
807
+ layout:
808
+ flex: 0 0 auto
809
+ properties:
810
+ title: Open Blurred Mask Drawer
811
+ color: primary
812
+ variant: outlined
813
+ events:
814
+ onClick:
815
+ - id: drawer_css_mask_open
816
+ type: CallMethod
817
+ params:
818
+ blockId: drawer_css_mask
819
+ method: setOpen
820
+ args:
821
+ - open: true
822
+ - id: drawer_css_mask
823
+ type: Drawer
824
+ properties:
825
+ title: Custom Mask Style
826
+ class:
827
+ mask: backdrop-blur-sm
828
+ content: rounded-l-xl
829
+ blocks:
830
+ - id: drawer_css_mask_content
831
+ type: Paragraph
832
+ properties:
833
+ content: The mask CSS key applies a backdrop blur effect, and the content CSS key adds rounded corners to the drawer panel.
834
+
835
+ - title: Theme Token Overrides
836
+ blocks:
837
+ - id: drawer_theme_green_btn
838
+ type: Button
839
+ layout:
840
+ flex: 0 0 auto
841
+ properties:
842
+ title: Green Theme
843
+ color: primary
844
+ variant: solid
845
+ events:
846
+ onClick:
847
+ - id: drawer_theme_green_open
848
+ type: CallMethod
849
+ params:
850
+ blockId: drawer_theme_green
851
+ method: setOpen
852
+ args:
853
+ - open: true
854
+ - id: drawer_theme_green
855
+ type: Drawer
856
+ properties:
857
+ title: Custom Theme Drawer
858
+ theme:
859
+ colorBgMask: 'rgba(0, 100, 0, 0.15)'
860
+ blocks:
861
+ - id: drawer_theme_green_content
862
+ type: Paragraph
863
+ properties:
864
+ content: Overrides colorBgElevated for a green-tinted background and colorBgMask for a subtle green mask overlay.
865
+
866
+ - id: drawer_theme_dark_btn
867
+ type: Button
868
+ layout:
869
+ flex: 0 0 auto
870
+ properties:
871
+ title: Dark Theme
872
+ color: default
873
+ variant: solid
874
+ events:
875
+ onClick:
876
+ - id: drawer_theme_dark_open
877
+ type: CallMethod
878
+ params:
879
+ blockId: drawer_theme_dark
880
+ method: setOpen
881
+ args:
882
+ - open: true
883
+ - id: drawer_theme_dark
884
+ type: Drawer
885
+ properties:
886
+ title: Dark Theme Drawer
887
+ theme:
888
+ colorBgElevated: '#1f1f1f'
889
+ colorBgMask: 'rgba(0, 0, 0, 0.7)'
890
+ colorText: '#ffffff'
891
+ colorTextHeading: '#ffffff'
892
+ colorIcon: '#ffffff'
893
+ colorIconHover: '#1677ff'
894
+ blocks:
895
+ - id: drawer_theme_dark_content
896
+ type: Paragraph
897
+ class: text-text-secondary
898
+ properties:
899
+ content: A dark-themed drawer using design token overrides for background, text, and icon colors.
900
+
901
+ - id: drawer_theme_spacing_btn
902
+ type: Button
903
+ layout:
904
+ flex: 0 0 auto
905
+ properties:
906
+ title: Custom Spacing
907
+ color: primary
908
+ variant: outlined
909
+ events:
910
+ onClick:
911
+ - id: drawer_theme_spacing_open
912
+ type: CallMethod
913
+ params:
914
+ blockId: drawer_theme_spacing
915
+ method: setOpen
916
+ args:
917
+ - open: true
918
+ - id: drawer_theme_spacing
919
+ type: Drawer
920
+ properties:
921
+ title: Custom Footer Padding
922
+ theme:
923
+ footerPaddingBlock: 16
924
+ footerPaddingInline: 24
925
+ zIndexPopup: 1500
926
+ blocks:
927
+ - id: drawer_theme_spacing_content
928
+ type: Paragraph
929
+ properties:
930
+ content: Overrides footerPaddingBlock, footerPaddingInline, and zIndexPopup design tokens. These control footer spacing and the popup layer z-index.
931
+
932
+ - title: Drawer as Edit Form
933
+ blocks:
934
+ - id: drawer_edit_form_btn
935
+ type: Button
936
+ layout:
937
+ flex: 0 0 auto
938
+ properties:
939
+ title: Edit Record
940
+ color: primary
941
+ variant: solid
942
+ icon: AiOutlineEdit
943
+ events:
944
+ onClick:
945
+ - id: drawer_edit_form_open
946
+ type: CallMethod
947
+ params:
948
+ blockId: drawer_edit_form
949
+ method: setOpen
950
+ args:
951
+ - open: true
952
+ - id: drawer_edit_form
953
+ type: Drawer
954
+ properties:
955
+ title: Edit Customer
956
+ width: 480
957
+ slots:
958
+ extra:
959
+ blocks:
960
+ - id: drawer_edit_form_extra_row
961
+ type: Box
962
+ layout:
963
+ gap: 8
964
+ blocks:
965
+ - id: drawer_edit_form_cancel_btn
966
+ type: Button
967
+ layout:
968
+ flex: 0 0 auto
969
+ properties:
970
+ title: Cancel
971
+ color: default
972
+ variant: outlined
973
+ size: small
974
+ events:
975
+ onClick:
976
+ - id: drawer_edit_form_cancel
977
+ type: CallMethod
978
+ params:
979
+ blockId: drawer_edit_form
980
+ method: setOpen
981
+ args:
982
+ - open: false
983
+ - id: drawer_edit_form_save_btn
984
+ type: Button
985
+ layout:
986
+ flex: 0 0 auto
987
+ properties:
988
+ title: Save Changes
989
+ color: primary
990
+ variant: solid
991
+ size: small
992
+ events:
993
+ onClick:
994
+ - id: drawer_edit_form_save_msg
995
+ type: DisplayMessage
996
+ params:
997
+ content: Changes saved successfully
998
+ status: success
999
+ duration: 3
1000
+ - id: drawer_edit_form_close
1001
+ type: CallMethod
1002
+ params:
1003
+ blockId: drawer_edit_form
1004
+ method: setOpen
1005
+ args:
1006
+ - open: false
1007
+ blocks:
1008
+ - id: drawer_edit_form_name
1009
+ type: TextInput
1010
+ properties:
1011
+ title: Full Name
1012
+ placeholder: Enter customer name
1013
+ - id: drawer_edit_form_email
1014
+ type: TextInput
1015
+ properties:
1016
+ title: Email Address
1017
+ placeholder: customer@example.com
1018
+ - id: drawer_edit_form_phone
1019
+ type: TextInput
1020
+ properties:
1021
+ title: Phone Number
1022
+ placeholder: +1 (555) 000-0000
1023
+ - id: drawer_edit_form_status
1024
+ type: Selector
1025
+ properties:
1026
+ title: Status
1027
+ options:
1028
+ - label: Active
1029
+ value: active
1030
+ - label: Inactive
1031
+ value: inactive
1032
+ - label: Pending
1033
+ value: pending
1034
+ - id: drawer_edit_form_notes
1035
+ type: TextArea
1036
+ properties:
1037
+ title: Notes
1038
+ placeholder: Additional notes about this customer...
1039
+ autoSize:
1040
+ minRows: 3
1041
+
1042
+ - title: Drawer as Filter Panel
1043
+ blocks:
1044
+ - id: drawer_filter_panel_btn
1045
+ type: Button
1046
+ layout:
1047
+ flex: 0 0 auto
1048
+ properties:
1049
+ title: Filters
1050
+ color: default
1051
+ variant: outlined
1052
+ icon: AiOutlineFilter
1053
+ events:
1054
+ onClick:
1055
+ - id: drawer_filter_panel_open
1056
+ type: CallMethod
1057
+ params:
1058
+ blockId: drawer_filter_panel
1059
+ method: setOpen
1060
+ args:
1061
+ - open: true
1062
+ - id: drawer_filter_panel
1063
+ type: Drawer
1064
+ properties:
1065
+ title: Filter Results
1066
+ placement: left
1067
+ width: 320
1068
+ events:
1069
+ onClose:
1070
+ - id: drawer_filter_panel_close_msg
1071
+ type: DisplayMessage
1072
+ params:
1073
+ content: Filters applied
1074
+ status: info
1075
+ duration: 2
1076
+ slots:
1077
+ extra:
1078
+ blocks:
1079
+ - id: drawer_filter_panel_clear_btn
1080
+ type: Button
1081
+ layout:
1082
+ flex: 0 0 auto
1083
+ properties:
1084
+ title: Clear All
1085
+ color: danger
1086
+ variant: link
1087
+ size: small
1088
+ events:
1089
+ onClick:
1090
+ - id: drawer_filter_panel_clear_msg
1091
+ type: DisplayMessage
1092
+ params:
1093
+ content: All filters cleared
1094
+ status: warning
1095
+ duration: 2
1096
+ blocks:
1097
+ - id: drawer_filter_panel_category
1098
+ type: MultipleSelector
1099
+ properties:
1100
+ title: Category
1101
+ options:
1102
+ - label: Electronics
1103
+ value: electronics
1104
+ - label: Clothing
1105
+ value: clothing
1106
+ - label: Books
1107
+ value: books
1108
+ - label: Home & Garden
1109
+ value: home
1110
+ - id: drawer_filter_panel_price
1111
+ type: Slider
1112
+ properties:
1113
+ title: Price Range
1114
+ min: 0
1115
+ max: 500
1116
+ step: 10
1117
+ - id: drawer_filter_panel_rating
1118
+ type: ButtonSelector
1119
+ properties:
1120
+ title: Minimum Rating
1121
+ options:
1122
+ - label: Any
1123
+ value: 0
1124
+ - label: 3+
1125
+ value: 3
1126
+ - label: 4+
1127
+ value: 4
1128
+ - label: 5
1129
+ value: 5
1130
+ - id: drawer_filter_panel_in_stock
1131
+ type: Switch
1132
+ properties:
1133
+ title: In Stock Only
1134
+ - id: drawer_filter_panel_apply_btn
1135
+ type: Button
1136
+ properties:
1137
+ title: Apply Filters
1138
+ color: primary
1139
+ variant: solid
1140
+ block: true
1141
+ events:
1142
+ onClick:
1143
+ - id: drawer_filter_panel_apply_msg
1144
+ type: DisplayMessage
1145
+ params:
1146
+ content: Filters applied to results
1147
+ status: success
1148
+ duration: 2
1149
+ - id: drawer_filter_panel_apply_close
1150
+ type: CallMethod
1151
+ params:
1152
+ blockId: drawer_filter_panel
1153
+ method: setOpen
1154
+ args:
1155
+ - open: false
1156
+
1157
+ - title: Drawer as User Profile Panel
1158
+ blocks:
1159
+ - id: drawer_profile_btn
1160
+ type: Button
1161
+ layout:
1162
+ flex: 0 0 auto
1163
+ properties:
1164
+ title: View Profile
1165
+ color: primary
1166
+ variant: solid
1167
+ icon: AiOutlineUser
1168
+ events:
1169
+ onClick:
1170
+ - id: drawer_profile_open
1171
+ type: CallMethod
1172
+ params:
1173
+ blockId: drawer_profile
1174
+ method: setOpen
1175
+ args:
1176
+ - open: true
1177
+ - id: drawer_profile
1178
+ type: Drawer
1179
+ properties:
1180
+ title: User Profile
1181
+ width: 400
1182
+ blocks:
1183
+ - id: drawer_profile_avatar_row
1184
+ type: Box
1185
+ layout:
1186
+ gap: 16
1187
+ align: center
1188
+ blocks:
1189
+ - id: drawer_profile_avatar
1190
+ type: Avatar
1191
+ layout:
1192
+ flex: 0 0 auto
1193
+ properties:
1194
+ icon: AiOutlineUser
1195
+ size: 64
1196
+ color: '#fff'
1197
+ backgroundColor: '#1677ff'
1198
+ - id: drawer_profile_info
1199
+ type: Box
1200
+ layout:
1201
+ flex: 1 1 0
1202
+ direction: column
1203
+ gap: 4
1204
+ blocks:
1205
+ - id: drawer_profile_name
1206
+ type: Title
1207
+ properties:
1208
+ content: Jane Cooper
1209
+ level: 4
1210
+ - id: drawer_profile_role_tag
1211
+ type: Tag
1212
+ properties:
1213
+ title: Senior Product Designer
1214
+ color: blue
1215
+ - id: drawer_profile_divider
1216
+ type: Divider
1217
+ - id: drawer_profile_details
1218
+ type: Descriptions
1219
+ properties:
1220
+ size: small
1221
+ column: 1
1222
+ items:
1223
+ - label: Email
1224
+ value: jane.cooper@example.com
1225
+ - label: Phone
1226
+ value: +1 (555) 123-4567
1227
+ - label: Location
1228
+ value: San Francisco, CA
1229
+ - label: Department
1230
+ value: Design
1231
+ - label: Start Date
1232
+ value: January 15, 2023
1233
+ - id: drawer_profile_divider2
1234
+ type: Divider
1235
+ - id: drawer_profile_actions_row
1236
+ type: Box
1237
+ layout:
1238
+ gap: 8
1239
+ blocks:
1240
+ - id: drawer_profile_edit_btn
1241
+ type: Button
1242
+ layout:
1243
+ flex: 1 1 0
1244
+ properties:
1245
+ title: Edit Profile
1246
+ color: primary
1247
+ variant: outlined
1248
+ icon: AiOutlineEdit
1249
+ - id: drawer_profile_message_btn
1250
+ type: Button
1251
+ layout:
1252
+ flex: 1 1 0
1253
+ properties:
1254
+ title: Send Message
1255
+ color: primary
1256
+ variant: solid
1257
+ icon: AiOutlineMail