@lowdefy/docs-content 0.0.0-experimental-20260710073520

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 (304) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +20 -0
  3. package/content/actions/callapi.md +66 -0
  4. package/content/actions/callmethod.md +41 -0
  5. package/content/actions/copytoclipboard.md +32 -0
  6. package/content/actions/displaymessage.md +53 -0
  7. package/content/actions/downloadcsv.md +89 -0
  8. package/content/actions/fetch.md +50 -0
  9. package/content/actions/geolocationcurrentposition.md +56 -0
  10. package/content/actions/link.md +104 -0
  11. package/content/actions/login.md +85 -0
  12. package/content/actions/logout.md +56 -0
  13. package/content/actions/pdfmake.md +304 -0
  14. package/content/actions/request.md +67 -0
  15. package/content/actions/reset.md +27 -0
  16. package/content/actions/resetvalidation.md +85 -0
  17. package/content/actions/scrollto.md +85 -0
  18. package/content/actions/setdarkmode.md +62 -0
  19. package/content/actions/setfocus.md +33 -0
  20. package/content/actions/setglobal.md +63 -0
  21. package/content/actions/setlocale.md +69 -0
  22. package/content/actions/setstate.md +70 -0
  23. package/content/actions/throw.md +72 -0
  24. package/content/actions/validate.md +87 -0
  25. package/content/actions/wait.md +24 -0
  26. package/content/agents/agent-endpoint-tools.md +190 -0
  27. package/content/agents/agent-mcp-tools.md +124 -0
  28. package/content/agents/agent-multi-agent.md +136 -0
  29. package/content/agents/agent-properties.md +174 -0
  30. package/content/agents/agent-server-hooks.md +336 -0
  31. package/content/agents/agentchat.md +515 -0
  32. package/content/agents/agentconversations.md +148 -0
  33. package/content/concepts/ai-agent-docs.md +190 -0
  34. package/content/concepts/cli.md +213 -0
  35. package/content/concepts/connections-and-requests.md +7 -0
  36. package/content/concepts/custom-html.md +3 -0
  37. package/content/concepts/custom-styling.md +161 -0
  38. package/content/concepts/events-and-actions.md +271 -0
  39. package/content/concepts/hosting-files.md +18 -0
  40. package/content/concepts/i18n.md +320 -0
  41. package/content/concepts/keyboard-shortcuts.md +218 -0
  42. package/content/concepts/layout-overview.md +478 -0
  43. package/content/concepts/lists.md +144 -0
  44. package/content/concepts/logger.md +43 -0
  45. package/content/concepts/lowdefy-schema.md +365 -0
  46. package/content/concepts/menus.md +144 -0
  47. package/content/concepts/module-authoring.md +564 -0
  48. package/content/concepts/modules.md +338 -0
  49. package/content/concepts/operators.md +45 -0
  50. package/content/concepts/overview.md +19 -0
  51. package/content/concepts/references-and-templates.md +207 -0
  52. package/content/concepts/secrets.md +24 -0
  53. package/content/concepts/selectors.md +143 -0
  54. package/content/connections/amazonredshift.md +176 -0
  55. package/content/connections/anthropic.md +232 -0
  56. package/content/connections/awss3.md +313 -0
  57. package/content/connections/azureblobstorage.md +133 -0
  58. package/content/connections/elasticsearch.md +371 -0
  59. package/content/connections/google.md +228 -0
  60. package/content/connections/googlecloudstorage.md +139 -0
  61. package/content/connections/googlesheet.md +313 -0
  62. package/content/connections/knex.md +206 -0
  63. package/content/connections/mariadb.md +177 -0
  64. package/content/connections/mcp.md +134 -0
  65. package/content/connections/mongodb.md +739 -0
  66. package/content/connections/mssql.md +191 -0
  67. package/content/connections/mysql.md +192 -0
  68. package/content/connections/openai-connection.md +228 -0
  69. package/content/connections/postgresql.md +200 -0
  70. package/content/connections/redis.md +116 -0
  71. package/content/connections/sendgridmail.md +94 -0
  72. package/content/connections/smtp.md +149 -0
  73. package/content/connections/sqlite.md +187 -0
  74. package/content/connections/stripe.md +115 -0
  75. package/content/container-blocks/affix.md +413 -0
  76. package/content/container-blocks/alert.md +937 -0
  77. package/content/container-blocks/badge.md +1222 -0
  78. package/content/container-blocks/box.md +1453 -0
  79. package/content/container-blocks/card.md +1200 -0
  80. package/content/container-blocks/carousel.md +2247 -0
  81. package/content/container-blocks/collapse.md +1335 -0
  82. package/content/container-blocks/configprovider.md +1070 -0
  83. package/content/container-blocks/confirmmodal.md +1159 -0
  84. package/content/container-blocks/content.md +597 -0
  85. package/content/container-blocks/descriptions.md +870 -0
  86. package/content/container-blocks/drawer.md +1379 -0
  87. package/content/container-blocks/dropdownmenu.md +643 -0
  88. package/content/container-blocks/flex.md +1510 -0
  89. package/content/container-blocks/footer.md +380 -0
  90. package/content/container-blocks/googlemaps.md +546 -0
  91. package/content/container-blocks/googlemapsheatmap.md +607 -0
  92. package/content/container-blocks/googlemapsscript.md +61 -0
  93. package/content/container-blocks/header.md +302 -0
  94. package/content/container-blocks/label.md +739 -0
  95. package/content/container-blocks/layout.md +604 -0
  96. package/content/container-blocks/masonry.md +1090 -0
  97. package/content/container-blocks/mobilemenu.md +1244 -0
  98. package/content/container-blocks/modal.md +1180 -0
  99. package/content/container-blocks/pageheadermenu.md +614 -0
  100. package/content/container-blocks/pagesidebarlayout.md +438 -0
  101. package/content/container-blocks/pagesidermenu.md +651 -0
  102. package/content/container-blocks/popover.md +1421 -0
  103. package/content/container-blocks/result.md +972 -0
  104. package/content/container-blocks/sider.md +1064 -0
  105. package/content/container-blocks/span.md +747 -0
  106. package/content/container-blocks/spinner.md +267 -0
  107. package/content/container-blocks/splitter.md +1735 -0
  108. package/content/container-blocks/tabs.md +1718 -0
  109. package/content/container-blocks/tooltip.md +1274 -0
  110. package/content/container-blocks/watermark.md +515 -0
  111. package/content/controls/for.md +103 -0
  112. package/content/controls/if.md +107 -0
  113. package/content/controls/log.md +50 -0
  114. package/content/controls/parallel.md +71 -0
  115. package/content/controls/parallel_for.md +36 -0
  116. package/content/controls/reject.md +56 -0
  117. package/content/controls/return.md +66 -0
  118. package/content/controls/set_state.md +98 -0
  119. package/content/controls/switch.md +90 -0
  120. package/content/controls/throw.md +79 -0
  121. package/content/controls/try.md +88 -0
  122. package/content/deployment/docker.md +149 -0
  123. package/content/deployment/node-server.md +27 -0
  124. package/content/deployment/vercel.md +101 -0
  125. package/content/display-blocks/aggrid.md +1459 -0
  126. package/content/display-blocks/anchor.md +336 -0
  127. package/content/display-blocks/avatar.md +1154 -0
  128. package/content/display-blocks/breadcrumb.md +517 -0
  129. package/content/display-blocks/button.md +758 -0
  130. package/content/display-blocks/calendar.md +156 -0
  131. package/content/display-blocks/dangeroushtml.md +314 -0
  132. package/content/display-blocks/dangerousmarkdown.md +423 -0
  133. package/content/display-blocks/diffgit.md +44 -0
  134. package/content/display-blocks/difflist.md +225 -0
  135. package/content/display-blocks/diffsidebyside.md +56 -0
  136. package/content/display-blocks/difftimeline.md +94 -0
  137. package/content/display-blocks/divider.md +406 -0
  138. package/content/display-blocks/download.md +60 -0
  139. package/content/display-blocks/dropdownbutton.md +661 -0
  140. package/content/display-blocks/echart.md +418 -0
  141. package/content/display-blocks/floatbutton.md +545 -0
  142. package/content/display-blocks/html.md +311 -0
  143. package/content/display-blocks/icon.md +717 -0
  144. package/content/display-blocks/img.md +479 -0
  145. package/content/display-blocks/markdown.md +520 -0
  146. package/content/display-blocks/markdownwithcode.md +730 -0
  147. package/content/display-blocks/menu.md +1123 -0
  148. package/content/display-blocks/message.md +941 -0
  149. package/content/display-blocks/notification.md +1410 -0
  150. package/content/display-blocks/paragraph.md +643 -0
  151. package/content/display-blocks/progress.md +818 -0
  152. package/content/display-blocks/qrcode.md +519 -0
  153. package/content/display-blocks/s3download.md +240 -0
  154. package/content/display-blocks/search.md +360 -0
  155. package/content/display-blocks/skeleton.md +272 -0
  156. package/content/display-blocks/skeletonavatar.md +222 -0
  157. package/content/display-blocks/skeletonbutton.md +245 -0
  158. package/content/display-blocks/skeletoninput.md +223 -0
  159. package/content/display-blocks/skeletonparagraph.md +201 -0
  160. package/content/display-blocks/statistic.md +485 -0
  161. package/content/display-blocks/steps.md +585 -0
  162. package/content/display-blocks/tag.md +620 -0
  163. package/content/display-blocks/title.md +654 -0
  164. package/content/display-blocks/tour.md +2359 -0
  165. package/content/input-blocks/autocomplete.md +786 -0
  166. package/content/input-blocks/buttonselector.md +964 -0
  167. package/content/input-blocks/checkboxselector.md +765 -0
  168. package/content/input-blocks/checkboxswitch.md +497 -0
  169. package/content/input-blocks/colorselector.md +884 -0
  170. package/content/input-blocks/daterangeselector.md +777 -0
  171. package/content/input-blocks/dateselector.md +693 -0
  172. package/content/input-blocks/datetimeselector.md +791 -0
  173. package/content/input-blocks/inputgallery.md +528 -0
  174. package/content/input-blocks/monthselector.md +717 -0
  175. package/content/input-blocks/multipleselector.md +1337 -0
  176. package/content/input-blocks/numberinput.md +855 -0
  177. package/content/input-blocks/pagination.md +679 -0
  178. package/content/input-blocks/paragraphinput.md +1664 -0
  179. package/content/input-blocks/passwordinput.md +480 -0
  180. package/content/input-blocks/phonenumberinput.md +688 -0
  181. package/content/input-blocks/radioselector.md +820 -0
  182. package/content/input-blocks/ratingslider.md +684 -0
  183. package/content/input-blocks/s3uploadbutton.md +384 -0
  184. package/content/input-blocks/s3uploaddragger.md +305 -0
  185. package/content/input-blocks/s3uploadphoto.md +288 -0
  186. package/content/input-blocks/segmentedselector.md +782 -0
  187. package/content/input-blocks/selector.md +1162 -0
  188. package/content/input-blocks/switch.md +552 -0
  189. package/content/input-blocks/textarea.md +714 -0
  190. package/content/input-blocks/textinput.md +639 -0
  191. package/content/input-blocks/tiptapinput.md +226 -0
  192. package/content/input-blocks/tiptapmentioninput.md +471 -0
  193. package/content/input-blocks/titleinput.md +1094 -0
  194. package/content/input-blocks/treeinput.md +144 -0
  195. package/content/input-blocks/treemultipleselector.md +162 -0
  196. package/content/input-blocks/treeselector.md +185 -0
  197. package/content/input-blocks/upload.md +149 -0
  198. package/content/input-blocks/uploaddragger.md +85 -0
  199. package/content/input-blocks/uploadphoto.md +84 -0
  200. package/content/input-blocks/weekselector.md +630 -0
  201. package/content/list-blocks/controlledlist.md +498 -0
  202. package/content/list-blocks/list.md +529 -0
  203. package/content/list-blocks/listselector.md +301 -0
  204. package/content/list-blocks/masonrylist.md +230 -0
  205. package/content/migration/upgrade-guide.md +106 -0
  206. package/content/migration/v4-to-v5.md +589 -0
  207. package/content/migration/v5-to-v6.md +36 -0
  208. package/content/operators/_actions.md +58 -0
  209. package/content/operators/_and.md +76 -0
  210. package/content/operators/_api.md +254 -0
  211. package/content/operators/_app.md +114 -0
  212. package/content/operators/_args.md +65 -0
  213. package/content/operators/_array.md +331 -0
  214. package/content/operators/_base64.md +49 -0
  215. package/content/operators/_boolean.md +33 -0
  216. package/content/operators/_build.md +166 -0
  217. package/content/operators/_change_case.md +357 -0
  218. package/content/operators/_date.md +415 -0
  219. package/content/operators/_dayjs.md +128 -0
  220. package/content/operators/_diff.md +61 -0
  221. package/content/operators/_divide.md +32 -0
  222. package/content/operators/_eq.md +52 -0
  223. package/content/operators/_event.md +86 -0
  224. package/content/operators/_function.md +52 -0
  225. package/content/operators/_get.md +92 -0
  226. package/content/operators/_global.md +86 -0
  227. package/content/operators/_gt.md +50 -0
  228. package/content/operators/_gte.md +50 -0
  229. package/content/operators/_hash.md +112 -0
  230. package/content/operators/_if.md +30 -0
  231. package/content/operators/_if_none.md +47 -0
  232. package/content/operators/_index.md +48 -0
  233. package/content/operators/_input.md +86 -0
  234. package/content/operators/_intl.md +135 -0
  235. package/content/operators/_item.md +166 -0
  236. package/content/operators/_js.md +113 -0
  237. package/content/operators/_json.md +120 -0
  238. package/content/operators/_jsonata.md +152 -0
  239. package/content/operators/_locale.md +65 -0
  240. package/content/operators/_location.md +40 -0
  241. package/content/operators/_log.md +22 -0
  242. package/content/operators/_lt.md +50 -0
  243. package/content/operators/_lte.md +50 -0
  244. package/content/operators/_math.md +407 -0
  245. package/content/operators/_media.md +83 -0
  246. package/content/operators/_menu.md +62 -0
  247. package/content/operators/_module.md +340 -0
  248. package/content/operators/_mql.md +95 -0
  249. package/content/operators/_ne.md +62 -0
  250. package/content/operators/_not.md +33 -0
  251. package/content/operators/_number.md +159 -0
  252. package/content/operators/_nunjucks.md +117 -0
  253. package/content/operators/_object.md +253 -0
  254. package/content/operators/_operator.md +33 -0
  255. package/content/operators/_or.md +67 -0
  256. package/content/operators/_product.md +45 -0
  257. package/content/operators/_random.md +90 -0
  258. package/content/operators/_ref.md +80 -0
  259. package/content/operators/_regex.md +69 -0
  260. package/content/operators/_request.md +35 -0
  261. package/content/operators/_request_details.md +29 -0
  262. package/content/operators/_secret.md +56 -0
  263. package/content/operators/_state.md +134 -0
  264. package/content/operators/_step.md +98 -0
  265. package/content/operators/_string.md +327 -0
  266. package/content/operators/_subtract.md +24 -0
  267. package/content/operators/_sum.md +45 -0
  268. package/content/operators/_switch.md +37 -0
  269. package/content/operators/_t.md +96 -0
  270. package/content/operators/_theme.md +65 -0
  271. package/content/operators/_type.md +78 -0
  272. package/content/operators/_uri.md +49 -0
  273. package/content/operators/_url_query.md +92 -0
  274. package/content/operators/_user.md +154 -0
  275. package/content/operators/_uuid.md +118 -0
  276. package/content/operators/_var.md +88 -0
  277. package/content/operators/_yaml.md +96 -0
  278. package/content/other/introduction.md +39 -0
  279. package/content/other/next-auth-providers.md +3 -0
  280. package/content/other/updatesession.md +26 -0
  281. package/content/plugins/plugins-actions.md +80 -0
  282. package/content/plugins/plugins-connections.md +98 -0
  283. package/content/plugins/plugins-dev.md +138 -0
  284. package/content/plugins/plugins-introduction.md +29 -0
  285. package/content/plugins/plugins-operators.md +71 -0
  286. package/content/testing/e2e-auth.md +108 -0
  287. package/content/testing/e2e-configuration.md +107 -0
  288. package/content/testing/e2e-getting-started.md +96 -0
  289. package/content/testing/e2e-introduction.md +53 -0
  290. package/content/testing/e2e-mocking.md +155 -0
  291. package/content/testing/e2e-writing-tests.md +214 -0
  292. package/content/tutorial/tutorial-actions-operators.md +222 -0
  293. package/content/tutorial/tutorial-add-blocks.md +86 -0
  294. package/content/tutorial/tutorial-create-page.md +57 -0
  295. package/content/tutorial/tutorial-display-data-page.md +181 -0
  296. package/content/tutorial/tutorial-next-steps.md +53 -0
  297. package/content/tutorial/tutorial-requests-sql.md +22 -0
  298. package/content/tutorial/tutorial-start.md +71 -0
  299. package/content/user-authentication/auth-providers.md +15 -0
  300. package/content/user-authentication/login-and-logout.md +122 -0
  301. package/content/user-authentication/users-introduction.md +31 -0
  302. package/index.json +2281 -0
  303. package/package.json +34 -0
  304. package/scripts/extractAgentDocs.js +130 -0
@@ -0,0 +1,1379 @@
1
+ # Drawer
2
+
3
+ Panel that slides in from the edge of the screen.
4
+
5
+ This is a basic drawer with a title and default settings. It opens from the right side with a width of 256px.
6
+
7
+ Click the X button or the mask area to close it.
8
+
9
+ ```yaml
10
+ - id: drawer_basic_trigger
11
+ type: Button
12
+ layout:
13
+ flex: 0 0 auto
14
+ properties:
15
+ title: Open Drawer
16
+ color: primary
17
+ variant: solid
18
+ events:
19
+ onClick:
20
+ - id: drawer_basic_open
21
+ type: CallMethod
22
+ params:
23
+ blockId: drawer_basic
24
+ method: setOpen
25
+ args:
26
+ - open: true
27
+ - id: drawer_basic
28
+ type: Drawer
29
+ properties:
30
+ title: Basic Drawer
31
+ blocks:
32
+ - id: drawer_basic_p1
33
+ type: Paragraph
34
+ properties:
35
+ content: This is a basic drawer with a title and default settings. It opens from
36
+ the right side with a width of 256px.
37
+ - id: drawer_basic_p2
38
+ type: Paragraph
39
+ properties:
40
+ content: Click the X button or the mask area to close it.
41
+ ```
42
+
43
+ This drawer slides in from the right side, which is the default placement.
44
+
45
+ This drawer slides in from the left side. Useful for navigation panels.
46
+
47
+ This drawer slides in from the top. Use the height property instead of width for top and bottom placements.
48
+
49
+ This drawer slides in from the bottom. Commonly used for mobile action sheets or bottom panels.
50
+
51
+ ```yaml
52
+ - id: drawer_place_right_btn
53
+ type: Button
54
+ layout:
55
+ flex: 0 0 auto
56
+ properties:
57
+ title: Right (default)
58
+ color: primary
59
+ variant: outlined
60
+ events:
61
+ onClick:
62
+ - id: drawer_place_right_open
63
+ type: CallMethod
64
+ params:
65
+ blockId: drawer_place_right
66
+ method: setOpen
67
+ args:
68
+ - open: true
69
+ - id: drawer_place_left_btn
70
+ type: Button
71
+ layout:
72
+ flex: 0 0 auto
73
+ properties:
74
+ title: Left
75
+ color: primary
76
+ variant: outlined
77
+ events:
78
+ onClick:
79
+ - id: drawer_place_left_open
80
+ type: CallMethod
81
+ params:
82
+ blockId: drawer_place_left
83
+ method: setOpen
84
+ args:
85
+ - open: true
86
+ - id: drawer_place_top_btn
87
+ type: Button
88
+ layout:
89
+ flex: 0 0 auto
90
+ properties:
91
+ title: Top
92
+ color: primary
93
+ variant: outlined
94
+ events:
95
+ onClick:
96
+ - id: drawer_place_top_open
97
+ type: CallMethod
98
+ params:
99
+ blockId: drawer_place_top
100
+ method: setOpen
101
+ args:
102
+ - open: true
103
+ - id: drawer_place_bottom_btn
104
+ type: Button
105
+ layout:
106
+ flex: 0 0 auto
107
+ properties:
108
+ title: Bottom
109
+ color: primary
110
+ variant: outlined
111
+ events:
112
+ onClick:
113
+ - id: drawer_place_bottom_open
114
+ type: CallMethod
115
+ params:
116
+ blockId: drawer_place_bottom
117
+ method: setOpen
118
+ args:
119
+ - open: true
120
+ - id: drawer_place_right
121
+ type: Drawer
122
+ properties:
123
+ title: Right Placement
124
+ placement: right
125
+ blocks:
126
+ - id: drawer_place_right_content
127
+ type: Paragraph
128
+ properties:
129
+ content: This drawer slides in from the right side, which is the default
130
+ placement.
131
+ - id: drawer_place_left
132
+ type: Drawer
133
+ properties:
134
+ title: Left Placement
135
+ placement: left
136
+ blocks:
137
+ - id: drawer_place_left_content
138
+ type: Paragraph
139
+ properties:
140
+ content: This drawer slides in from the left side. Useful for navigation panels.
141
+ - id: drawer_place_top
142
+ type: Drawer
143
+ properties:
144
+ title: Top Placement
145
+ placement: top
146
+ height: 300
147
+ blocks:
148
+ - id: drawer_place_top_content
149
+ type: Paragraph
150
+ properties:
151
+ content: This drawer slides in from the top. Use the height property instead of
152
+ width for top and bottom placements.
153
+ - id: drawer_place_bottom
154
+ type: Drawer
155
+ properties:
156
+ title: Bottom Placement
157
+ placement: bottom
158
+ height: 300
159
+ blocks:
160
+ - id: drawer_place_bottom_content
161
+ type: Paragraph
162
+ properties:
163
+ content: This drawer slides in from the bottom. Commonly used for mobile action
164
+ sheets or bottom panels.
165
+ ```
166
+
167
+ A narrow 200px drawer, suitable for simple menus or quick settings.
168
+
169
+ A 500px wide drawer with more room for complex content like forms, tables, or detail views.
170
+
171
+ Using a percentage width makes the drawer responsive. This drawer takes up 60% of the viewport width.
172
+
173
+ ```yaml
174
+ - id: drawer_narrow_btn
175
+ type: Button
176
+ layout:
177
+ flex: 0 0 auto
178
+ properties:
179
+ title: Narrow (200px)
180
+ color: primary
181
+ variant: outlined
182
+ size: small
183
+ events:
184
+ onClick:
185
+ - id: drawer_narrow_open
186
+ type: CallMethod
187
+ params:
188
+ blockId: drawer_narrow
189
+ method: setOpen
190
+ args:
191
+ - open: true
192
+ - id: drawer_wide_btn
193
+ type: Button
194
+ layout:
195
+ flex: 0 0 auto
196
+ properties:
197
+ title: Wide (500px)
198
+ color: primary
199
+ variant: outlined
200
+ size: small
201
+ events:
202
+ onClick:
203
+ - id: drawer_wide_open
204
+ type: CallMethod
205
+ params:
206
+ blockId: drawer_wide
207
+ method: setOpen
208
+ args:
209
+ - open: true
210
+ - id: drawer_pct_btn
211
+ type: Button
212
+ layout:
213
+ flex: 0 0 auto
214
+ properties:
215
+ title: Percentage (60%)
216
+ color: primary
217
+ variant: outlined
218
+ size: small
219
+ events:
220
+ onClick:
221
+ - id: drawer_pct_open
222
+ type: CallMethod
223
+ params:
224
+ blockId: drawer_pct
225
+ method: setOpen
226
+ args:
227
+ - open: true
228
+ - id: drawer_narrow
229
+ type: Drawer
230
+ properties:
231
+ title: Narrow Drawer
232
+ width: 200
233
+ blocks:
234
+ - id: drawer_narrow_content
235
+ type: Paragraph
236
+ properties:
237
+ content: A narrow 200px drawer, suitable for simple menus or quick settings.
238
+ - id: drawer_wide
239
+ type: Drawer
240
+ properties:
241
+ title: Wide Drawer
242
+ width: 500
243
+ blocks:
244
+ - id: drawer_wide_content
245
+ type: Paragraph
246
+ properties:
247
+ content: A 500px wide drawer with more room for complex content like forms,
248
+ tables, or detail views.
249
+ - id: drawer_pct
250
+ type: Drawer
251
+ properties:
252
+ title: 60% Width Drawer
253
+ width: 60%
254
+ blocks:
255
+ - id: drawer_pct_content
256
+ type: Paragraph
257
+ properties:
258
+ content: Using a percentage width makes the drawer responsive. This drawer takes
259
+ up 60% of the viewport width.
260
+ ```
261
+
262
+ The close button is visible in the top right corner. This is the default behavior.
263
+
264
+ The close (x) button is hidden. Users can still close by clicking the mask or pressing Escape.
265
+
266
+ ```yaml
267
+ - id: drawer_closable_btn
268
+ type: Button
269
+ layout:
270
+ flex: 0 0 auto
271
+ properties:
272
+ title: Closable (default)
273
+ color: primary
274
+ variant: outlined
275
+ events:
276
+ onClick:
277
+ - id: drawer_closable_open
278
+ type: CallMethod
279
+ params:
280
+ blockId: drawer_closable
281
+ method: setOpen
282
+ args:
283
+ - open: true
284
+ - id: drawer_not_closable_btn
285
+ type: Button
286
+ layout:
287
+ flex: 0 0 auto
288
+ properties:
289
+ title: No Close Button
290
+ color: danger
291
+ variant: outlined
292
+ events:
293
+ onClick:
294
+ - id: drawer_not_closable_open
295
+ type: CallMethod
296
+ params:
297
+ blockId: drawer_not_closable
298
+ method: setOpen
299
+ args:
300
+ - open: true
301
+ - id: drawer_closable
302
+ type: Drawer
303
+ properties:
304
+ title: Closable Drawer
305
+ closable: true
306
+ blocks:
307
+ - id: drawer_closable_content
308
+ type: Paragraph
309
+ properties:
310
+ content: The close button is visible in the top right corner. This is the
311
+ default behavior.
312
+ - id: drawer_not_closable
313
+ type: Drawer
314
+ properties:
315
+ title: No Close Button
316
+ closable: false
317
+ blocks:
318
+ - id: drawer_not_closable_content
319
+ type: Paragraph
320
+ properties:
321
+ content: The close (x) button is hidden. Users can still close by clicking the
322
+ mask or pressing Escape.
323
+ - id: drawer_not_closable_close_btn
324
+ type: Button
325
+ properties:
326
+ title: Close Drawer
327
+ color: primary
328
+ variant: solid
329
+ events:
330
+ onClick:
331
+ - id: drawer_not_closable_close
332
+ type: CallMethod
333
+ params:
334
+ blockId: drawer_not_closable
335
+ method: setOpen
336
+ args:
337
+ - open: false
338
+ ```
339
+
340
+ The mask is shown and clicking it closes the drawer. This is the default behavior.
341
+
342
+ No mask overlay is shown behind the drawer. The page content remains fully visible and interactive.
343
+
344
+ The mask is visible but clicking it does not close the drawer. Users must use the close button or Escape key.
345
+
346
+ ```yaml
347
+ - id: drawer_mask_default_btn
348
+ type: Button
349
+ layout:
350
+ flex: 0 0 auto
351
+ properties:
352
+ title: With Mask (default)
353
+ color: primary
354
+ variant: outlined
355
+ events:
356
+ onClick:
357
+ - id: drawer_mask_default_open
358
+ type: CallMethod
359
+ params:
360
+ blockId: drawer_mask_default
361
+ method: setOpen
362
+ args:
363
+ - open: true
364
+ - id: drawer_no_mask_btn
365
+ type: Button
366
+ layout:
367
+ flex: 0 0 auto
368
+ properties:
369
+ title: No Mask
370
+ color: primary
371
+ variant: outlined
372
+ events:
373
+ onClick:
374
+ - id: drawer_no_mask_open
375
+ type: CallMethod
376
+ params:
377
+ blockId: drawer_no_mask
378
+ method: setOpen
379
+ args:
380
+ - open: true
381
+ - id: drawer_mask_no_close_btn
382
+ type: Button
383
+ layout:
384
+ flex: 0 0 auto
385
+ properties:
386
+ title: Mask Not Closable
387
+ color: primary
388
+ variant: outlined
389
+ events:
390
+ onClick:
391
+ - id: drawer_mask_no_close_open
392
+ type: CallMethod
393
+ params:
394
+ blockId: drawer_mask_no_close
395
+ method: setOpen
396
+ args:
397
+ - open: true
398
+ - id: drawer_mask_default
399
+ type: Drawer
400
+ properties:
401
+ title: Default Mask
402
+ mask: true
403
+ maskClosable: true
404
+ blocks:
405
+ - id: drawer_mask_default_content
406
+ type: Paragraph
407
+ properties:
408
+ content: The mask is shown and clicking it closes the drawer. This is the
409
+ default behavior.
410
+ - id: drawer_no_mask
411
+ type: Drawer
412
+ properties:
413
+ title: No Mask
414
+ mask: false
415
+ blocks:
416
+ - id: drawer_no_mask_content
417
+ type: Paragraph
418
+ properties:
419
+ content: No mask overlay is shown behind the drawer. The page content remains
420
+ fully visible and interactive.
421
+ - id: drawer_mask_no_close
422
+ type: Drawer
423
+ properties:
424
+ title: Mask Not Closable
425
+ mask: true
426
+ maskClosable: false
427
+ blocks:
428
+ - id: drawer_mask_no_close_content
429
+ type: Paragraph
430
+ properties:
431
+ content: The mask is visible but clicking it does not close the drawer. Users
432
+ must use the close button or Escape key.
433
+ ```
434
+
435
+ Pressing the Escape key closes this drawer. This is the default behavior.
436
+
437
+ Pressing Escape does not close this drawer. The user must click the close button or mask to dismiss.
438
+
439
+ ```yaml
440
+ - id: drawer_keyboard_on_btn
441
+ type: Button
442
+ layout:
443
+ flex: 0 0 auto
444
+ properties:
445
+ title: Keyboard Enabled (default)
446
+ color: primary
447
+ variant: outlined
448
+ events:
449
+ onClick:
450
+ - id: drawer_keyboard_on_open
451
+ type: CallMethod
452
+ params:
453
+ blockId: drawer_keyboard_on
454
+ method: setOpen
455
+ args:
456
+ - open: true
457
+ - id: drawer_keyboard_off_btn
458
+ type: Button
459
+ layout:
460
+ flex: 0 0 auto
461
+ properties:
462
+ title: Keyboard Disabled
463
+ color: danger
464
+ variant: outlined
465
+ events:
466
+ onClick:
467
+ - id: drawer_keyboard_off_open
468
+ type: CallMethod
469
+ params:
470
+ blockId: drawer_keyboard_off
471
+ method: setOpen
472
+ args:
473
+ - open: true
474
+ - id: drawer_keyboard_on
475
+ type: Drawer
476
+ properties:
477
+ title: Press Escape to Close
478
+ keyboard: true
479
+ blocks:
480
+ - id: drawer_keyboard_on_content
481
+ type: Paragraph
482
+ properties:
483
+ content: Pressing the Escape key closes this drawer. This is the default
484
+ behavior.
485
+ - id: drawer_keyboard_off
486
+ type: Drawer
487
+ properties:
488
+ title: Escape Disabled
489
+ keyboard: false
490
+ blocks:
491
+ - id: drawer_keyboard_off_content
492
+ type: Paragraph
493
+ properties:
494
+ content: Pressing Escape does not close this drawer. The user must click the
495
+ close button or mask to dismiss.
496
+ ```
497
+
498
+ This drawer uses a custom z-index of 2000 to ensure it appears above other overlays. The default is 1000.
499
+
500
+ ```yaml
501
+ - id: drawer_zindex_btn
502
+ type: Button
503
+ layout:
504
+ flex: 0 0 auto
505
+ properties:
506
+ title: Open Drawer (z-index 2000)
507
+ color: primary
508
+ variant: outlined
509
+ events:
510
+ onClick:
511
+ - id: drawer_zindex_open
512
+ type: CallMethod
513
+ params:
514
+ blockId: drawer_zindex
515
+ method: setOpen
516
+ args:
517
+ - open: true
518
+ - id: drawer_zindex
519
+ type: Drawer
520
+ properties:
521
+ title: High Z-Index Drawer
522
+ zIndex: 2000
523
+ blocks:
524
+ - id: drawer_zindex_content
525
+ type: Paragraph
526
+ properties:
527
+ content: This drawer uses a custom z-index of 2000 to ensure it appears above
528
+ other overlays. The default is 1000.
529
+ ```
530
+
531
+ The extra slot renders content in the header area opposite the title. Commonly used for action buttons like Save or Cancel.
532
+
533
+ ```yaml
534
+ - id: drawer_extra_btn
535
+ type: Button
536
+ layout:
537
+ flex: 0 0 auto
538
+ properties:
539
+ title: Open Drawer with Extra
540
+ color: primary
541
+ variant: solid
542
+ events:
543
+ onClick:
544
+ - id: drawer_extra_open
545
+ type: CallMethod
546
+ params:
547
+ blockId: drawer_extra
548
+ method: setOpen
549
+ args:
550
+ - open: true
551
+ - id: drawer_extra
552
+ type: Drawer
553
+ properties:
554
+ title: Drawer with Extra
555
+ slots:
556
+ extra:
557
+ blocks:
558
+ - id: drawer_extra_actions_row
559
+ type: Box
560
+ layout:
561
+ gap: 8
562
+ blocks:
563
+ - id: drawer_extra_cancel_btn
564
+ type: Button
565
+ layout:
566
+ flex: 0 0 auto
567
+ properties:
568
+ title: Cancel
569
+ color: default
570
+ variant: outlined
571
+ size: small
572
+ events:
573
+ onClick:
574
+ - id: drawer_extra_cancel
575
+ type: CallMethod
576
+ params:
577
+ blockId: drawer_extra
578
+ method: setOpen
579
+ args:
580
+ - open: false
581
+ - id: drawer_extra_submit_btn
582
+ type: Button
583
+ layout:
584
+ flex: 0 0 auto
585
+ properties:
586
+ title: Submit
587
+ color: primary
588
+ variant: solid
589
+ size: small
590
+ blocks:
591
+ - id: drawer_extra_content
592
+ type: Paragraph
593
+ properties:
594
+ content: The extra slot renders content in the header area opposite the title.
595
+ Commonly used for action buttons like Save or Cancel.
596
+ ```
597
+
598
+ 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.
599
+
600
+ ```yaml
601
+ - id: drawer_footer_btn
602
+ type: Button
603
+ layout:
604
+ flex: 0 0 auto
605
+ properties:
606
+ title: Open Drawer with Footer
607
+ color: primary
608
+ variant: solid
609
+ events:
610
+ onClick:
611
+ - id: drawer_footer_open
612
+ type: CallMethod
613
+ params:
614
+ blockId: drawer_footer
615
+ method: setOpen
616
+ args:
617
+ - open: true
618
+ - id: drawer_footer
619
+ type: Drawer
620
+ properties:
621
+ title: Drawer with Footer
622
+ width: 400
623
+ slots:
624
+ footer:
625
+ blocks:
626
+ - id: drawer_footer_actions_row
627
+ type: Box
628
+ layout:
629
+ gap: 8
630
+ justify: end
631
+ blocks:
632
+ - id: drawer_footer_cancel_btn
633
+ type: Button
634
+ layout:
635
+ flex: 0 0 auto
636
+ properties:
637
+ title: Cancel
638
+ color: default
639
+ variant: outlined
640
+ events:
641
+ onClick:
642
+ - id: drawer_footer_cancel
643
+ type: CallMethod
644
+ params:
645
+ blockId: drawer_footer
646
+ method: setOpen
647
+ args:
648
+ - open: false
649
+ - id: drawer_footer_save_btn
650
+ type: Button
651
+ layout:
652
+ flex: 0 0 auto
653
+ properties:
654
+ title: Save
655
+ color: primary
656
+ variant: solid
657
+ events:
658
+ onClick:
659
+ - id: drawer_footer_save_msg
660
+ type: DisplayMessage
661
+ params:
662
+ content: Saved successfully
663
+ status: success
664
+ duration: 2
665
+ blocks:
666
+ - id: drawer_footer_content
667
+ type: Paragraph
668
+ properties:
669
+ content: The footer slot renders content in the drawer's footer area, pinned at
670
+ the bottom. It is commonly used for action buttons like Save and
671
+ Cancel.
672
+ ```
673
+
674
+ This drawer uses the toggleOpen method. Each click of the button alternates between open and closed states.
675
+
676
+ ```yaml
677
+ - id: drawer_toggle_btn
678
+ type: Button
679
+ layout:
680
+ flex: 0 0 auto
681
+ properties:
682
+ title: Toggle Drawer
683
+ color: primary
684
+ variant: solid
685
+ icon: AiOutlineMenu
686
+ events:
687
+ onClick:
688
+ - id: drawer_toggle_call
689
+ type: CallMethod
690
+ params:
691
+ blockId: drawer_toggle
692
+ method: toggleOpen
693
+ - id: drawer_toggle
694
+ type: Drawer
695
+ properties:
696
+ title: Toggle Drawer
697
+ blocks:
698
+ - id: drawer_toggle_content
699
+ type: Paragraph
700
+ properties:
701
+ content: This drawer uses the toggleOpen method. Each click of the button
702
+ alternates between open and closed states.
703
+ ```
704
+
705
+ This drawer triggers DisplayMessage actions on onOpen, onClose, and afterClose events. Close the drawer to see all three messages fire in sequence.
706
+
707
+ 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.
708
+
709
+ ```yaml
710
+ - id: drawer_events_btn
711
+ type: Button
712
+ layout:
713
+ flex: 0 0 auto
714
+ properties:
715
+ title: Open Drawer with Events
716
+ color: primary
717
+ variant: solid
718
+ events:
719
+ onClick:
720
+ - id: drawer_events_open
721
+ type: CallMethod
722
+ params:
723
+ blockId: drawer_events
724
+ method: setOpen
725
+ args:
726
+ - open: true
727
+ - id: drawer_events
728
+ type: Drawer
729
+ properties:
730
+ title: Drawer with Events
731
+ width: 400
732
+ events:
733
+ onOpen:
734
+ - id: drawer_events_on_open_msg
735
+ type: DisplayMessage
736
+ params:
737
+ content: Drawer opened
738
+ duration: 2
739
+ onClose:
740
+ - id: drawer_events_on_close_msg
741
+ type: DisplayMessage
742
+ params:
743
+ content: Drawer closing...
744
+ duration: 2
745
+ afterClose:
746
+ - id: drawer_events_after_close_msg
747
+ type: DisplayMessage
748
+ params:
749
+ content: Drawer fully closed
750
+ duration: 2
751
+ blocks:
752
+ - id: drawer_events_p1
753
+ type: Paragraph
754
+ properties:
755
+ content: This drawer triggers DisplayMessage actions on onOpen, onClose, and
756
+ afterClose events. Close the drawer to see all three messages fire in
757
+ sequence.
758
+ - id: drawer_events_p2
759
+ type: Paragraph
760
+ properties:
761
+ content: "Available events: onOpen fires when opening, onClose fires when the
762
+ close action starts, onToggle fires on toggle, afterClose fires after
763
+ the close animation completes, and afterOpenChange fires after any
764
+ open state transition."
765
+ ```
766
+
767
+ This drawer uses style.header and style.body to apply custom background colors to the header and body areas.
768
+
769
+ ```yaml
770
+ - id: drawer_inline_style_btn
771
+ type: Button
772
+ layout:
773
+ flex: 0 0 auto
774
+ properties:
775
+ title: Open Styled Drawer
776
+ color: primary
777
+ variant: solid
778
+ events:
779
+ onClick:
780
+ - id: drawer_inline_style_open
781
+ type: CallMethod
782
+ params:
783
+ blockId: drawer_inline_style
784
+ method: setOpen
785
+ args:
786
+ - open: true
787
+ - id: drawer_inline_style
788
+ type: Drawer
789
+ properties:
790
+ title: Styled Drawer
791
+ style:
792
+ .header:
793
+ borderBottom: 1px solid
794
+ .body: null
795
+ blocks:
796
+ - id: drawer_inline_style_content
797
+ type: Paragraph
798
+ properties:
799
+ content: This drawer uses style.header and style.body to apply custom background
800
+ colors to the header and body areas.
801
+ ```
802
+
803
+ Drawer supports these CSS keys: element, header, body, footer, mask, wrapper, content. Use class as an object to target each area with Tailwind classes.
804
+
805
+ A gradient header created using Tailwind classes on the header CSS key. The body uses a subtle gray background.
806
+
807
+ The mask CSS key applies a backdrop blur effect, and the content CSS key adds rounded corners to the drawer panel.
808
+
809
+ ```yaml
810
+ - id: drawer_css_keys_btn
811
+ type: Button
812
+ layout:
813
+ flex: 0 0 auto
814
+ properties:
815
+ title: Open CSS Styled Drawer
816
+ color: primary
817
+ variant: solid
818
+ events:
819
+ onClick:
820
+ - id: drawer_css_keys_open
821
+ type: CallMethod
822
+ params:
823
+ blockId: drawer_css_keys
824
+ method: setOpen
825
+ args:
826
+ - open: true
827
+ - id: drawer_css_keys
828
+ type: Drawer
829
+ properties:
830
+ title: Tailwind CSS Keys
831
+ class:
832
+ header: bg-bg-layout
833
+ body: bg-bg-layout
834
+ blocks:
835
+ - id: drawer_css_keys_content
836
+ type: Paragraph
837
+ properties:
838
+ content: "Drawer supports these CSS keys: element, header, body, footer, mask,
839
+ wrapper, content. Use class as an object to target each area with
840
+ Tailwind classes."
841
+ - id: drawer_css_accent_btn
842
+ type: Button
843
+ layout:
844
+ flex: 0 0 auto
845
+ properties:
846
+ title: Open Accent Drawer
847
+ color: primary
848
+ variant: outlined
849
+ events:
850
+ onClick:
851
+ - id: drawer_css_accent_open
852
+ type: CallMethod
853
+ params:
854
+ blockId: drawer_css_accent
855
+ method: setOpen
856
+ args:
857
+ - open: true
858
+ - id: drawer_css_accent
859
+ type: Drawer
860
+ properties:
861
+ title: Accent Header
862
+ class:
863
+ header: bg-gradient-to-r from-primary/100 to-indigo-600 text-white
864
+ body: bg-bg-layout
865
+ blocks:
866
+ - id: drawer_css_accent_content
867
+ type: Paragraph
868
+ properties:
869
+ content: A gradient header created using Tailwind classes on the header CSS key.
870
+ The body uses a subtle gray background.
871
+ - id: drawer_css_mask_btn
872
+ type: Button
873
+ layout:
874
+ flex: 0 0 auto
875
+ properties:
876
+ title: Open Blurred Mask Drawer
877
+ color: primary
878
+ variant: outlined
879
+ events:
880
+ onClick:
881
+ - id: drawer_css_mask_open
882
+ type: CallMethod
883
+ params:
884
+ blockId: drawer_css_mask
885
+ method: setOpen
886
+ args:
887
+ - open: true
888
+ - id: drawer_css_mask
889
+ type: Drawer
890
+ properties:
891
+ title: Custom Mask Style
892
+ class:
893
+ mask: backdrop-blur-sm
894
+ content: rounded-l-xl
895
+ blocks:
896
+ - id: drawer_css_mask_content
897
+ type: Paragraph
898
+ properties:
899
+ content: The mask CSS key applies a backdrop blur effect, and the content CSS
900
+ key adds rounded corners to the drawer panel.
901
+ ```
902
+
903
+ Overrides colorBgElevated for a green-tinted background and colorBgMask for a subtle green mask overlay.
904
+
905
+ A dark-themed drawer using design token overrides for background, text, and icon colors.
906
+
907
+ Overrides footerPaddingBlock, footerPaddingInline, and zIndexPopup design tokens. These control footer spacing and the popup layer z-index.
908
+
909
+ ```yaml
910
+ - id: drawer_theme_green_btn
911
+ type: Button
912
+ layout:
913
+ flex: 0 0 auto
914
+ properties:
915
+ title: Green Theme
916
+ color: primary
917
+ variant: solid
918
+ events:
919
+ onClick:
920
+ - id: drawer_theme_green_open
921
+ type: CallMethod
922
+ params:
923
+ blockId: drawer_theme_green
924
+ method: setOpen
925
+ args:
926
+ - open: true
927
+ - id: drawer_theme_green
928
+ type: Drawer
929
+ properties:
930
+ title: Custom Theme Drawer
931
+ theme:
932
+ colorBgMask: rgba(0, 100, 0, 0.15)
933
+ blocks:
934
+ - id: drawer_theme_green_content
935
+ type: Paragraph
936
+ properties:
937
+ content: Overrides colorBgElevated for a green-tinted background and colorBgMask
938
+ for a subtle green mask overlay.
939
+ - id: drawer_theme_dark_btn
940
+ type: Button
941
+ layout:
942
+ flex: 0 0 auto
943
+ properties:
944
+ title: Dark Theme
945
+ color: default
946
+ variant: solid
947
+ events:
948
+ onClick:
949
+ - id: drawer_theme_dark_open
950
+ type: CallMethod
951
+ params:
952
+ blockId: drawer_theme_dark
953
+ method: setOpen
954
+ args:
955
+ - open: true
956
+ - id: drawer_theme_dark
957
+ type: Drawer
958
+ properties:
959
+ title: Dark Theme Drawer
960
+ theme:
961
+ colorBgElevated: "#1f1f1f"
962
+ colorBgMask: rgba(0, 0, 0, 0.7)
963
+ colorText: "#ffffff"
964
+ colorTextHeading: "#ffffff"
965
+ colorIcon: "#ffffff"
966
+ colorIconHover: "#1677ff"
967
+ blocks:
968
+ - id: drawer_theme_dark_content
969
+ type: Paragraph
970
+ class: text-text-secondary
971
+ properties:
972
+ content: A dark-themed drawer using design token overrides for background, text,
973
+ and icon colors.
974
+ - id: drawer_theme_spacing_btn
975
+ type: Button
976
+ layout:
977
+ flex: 0 0 auto
978
+ properties:
979
+ title: Custom Spacing
980
+ color: primary
981
+ variant: outlined
982
+ events:
983
+ onClick:
984
+ - id: drawer_theme_spacing_open
985
+ type: CallMethod
986
+ params:
987
+ blockId: drawer_theme_spacing
988
+ method: setOpen
989
+ args:
990
+ - open: true
991
+ - id: drawer_theme_spacing
992
+ type: Drawer
993
+ properties:
994
+ title: Custom Footer Padding
995
+ theme:
996
+ footerPaddingBlock: 16
997
+ footerPaddingInline: 24
998
+ zIndexPopup: 1500
999
+ blocks:
1000
+ - id: drawer_theme_spacing_content
1001
+ type: Paragraph
1002
+ properties:
1003
+ content: Overrides footerPaddingBlock, footerPaddingInline, and zIndexPopup
1004
+ design tokens. These control footer spacing and the popup layer
1005
+ z-index.
1006
+ ```
1007
+
1008
+ ```yaml
1009
+ - id: drawer_edit_form_btn
1010
+ type: Button
1011
+ layout:
1012
+ flex: 0 0 auto
1013
+ properties:
1014
+ title: Edit Record
1015
+ color: primary
1016
+ variant: solid
1017
+ icon: AiOutlineEdit
1018
+ events:
1019
+ onClick:
1020
+ - id: drawer_edit_form_open
1021
+ type: CallMethod
1022
+ params:
1023
+ blockId: drawer_edit_form
1024
+ method: setOpen
1025
+ args:
1026
+ - open: true
1027
+ - id: drawer_edit_form
1028
+ type: Drawer
1029
+ properties:
1030
+ title: Edit Customer
1031
+ width: 480
1032
+ slots:
1033
+ extra:
1034
+ blocks:
1035
+ - id: drawer_edit_form_extra_row
1036
+ type: Box
1037
+ layout:
1038
+ gap: 8
1039
+ blocks:
1040
+ - id: drawer_edit_form_cancel_btn
1041
+ type: Button
1042
+ layout:
1043
+ flex: 0 0 auto
1044
+ properties:
1045
+ title: Cancel
1046
+ color: default
1047
+ variant: outlined
1048
+ size: small
1049
+ events:
1050
+ onClick:
1051
+ - id: drawer_edit_form_cancel
1052
+ type: CallMethod
1053
+ params:
1054
+ blockId: drawer_edit_form
1055
+ method: setOpen
1056
+ args:
1057
+ - open: false
1058
+ - id: drawer_edit_form_save_btn
1059
+ type: Button
1060
+ layout:
1061
+ flex: 0 0 auto
1062
+ properties:
1063
+ title: Save Changes
1064
+ color: primary
1065
+ variant: solid
1066
+ size: small
1067
+ events:
1068
+ onClick:
1069
+ - id: drawer_edit_form_save_msg
1070
+ type: DisplayMessage
1071
+ params:
1072
+ content: Changes saved successfully
1073
+ status: success
1074
+ duration: 3
1075
+ - id: drawer_edit_form_close
1076
+ type: CallMethod
1077
+ params:
1078
+ blockId: drawer_edit_form
1079
+ method: setOpen
1080
+ args:
1081
+ - open: false
1082
+ blocks:
1083
+ - id: drawer_edit_form_name
1084
+ type: TextInput
1085
+ properties:
1086
+ title: Full Name
1087
+ placeholder: Enter customer name
1088
+ - id: drawer_edit_form_email
1089
+ type: TextInput
1090
+ properties:
1091
+ title: Email Address
1092
+ placeholder: customer@example.com
1093
+ - id: drawer_edit_form_phone
1094
+ type: TextInput
1095
+ properties:
1096
+ title: Phone Number
1097
+ placeholder: +1 (555) 000-0000
1098
+ - id: drawer_edit_form_status
1099
+ type: Selector
1100
+ properties:
1101
+ title: Status
1102
+ options:
1103
+ - label: Active
1104
+ value: active
1105
+ - label: Inactive
1106
+ value: inactive
1107
+ - label: Pending
1108
+ value: pending
1109
+ - id: drawer_edit_form_notes
1110
+ type: TextArea
1111
+ properties:
1112
+ title: Notes
1113
+ placeholder: Additional notes about this customer...
1114
+ autoSize:
1115
+ minRows: 3
1116
+ ```
1117
+
1118
+ ```yaml
1119
+ - id: drawer_filter_panel_btn
1120
+ type: Button
1121
+ layout:
1122
+ flex: 0 0 auto
1123
+ properties:
1124
+ title: Filters
1125
+ color: default
1126
+ variant: outlined
1127
+ icon: AiOutlineFilter
1128
+ events:
1129
+ onClick:
1130
+ - id: drawer_filter_panel_open
1131
+ type: CallMethod
1132
+ params:
1133
+ blockId: drawer_filter_panel
1134
+ method: setOpen
1135
+ args:
1136
+ - open: true
1137
+ - id: drawer_filter_panel
1138
+ type: Drawer
1139
+ properties:
1140
+ title: Filter Results
1141
+ placement: left
1142
+ width: 320
1143
+ events:
1144
+ onClose:
1145
+ - id: drawer_filter_panel_close_msg
1146
+ type: DisplayMessage
1147
+ params:
1148
+ content: Filters applied
1149
+ status: info
1150
+ duration: 2
1151
+ slots:
1152
+ extra:
1153
+ blocks:
1154
+ - id: drawer_filter_panel_clear_btn
1155
+ type: Button
1156
+ layout:
1157
+ flex: 0 0 auto
1158
+ properties:
1159
+ title: Clear All
1160
+ color: danger
1161
+ variant: link
1162
+ size: small
1163
+ events:
1164
+ onClick:
1165
+ - id: drawer_filter_panel_clear_msg
1166
+ type: DisplayMessage
1167
+ params:
1168
+ content: All filters cleared
1169
+ status: warning
1170
+ duration: 2
1171
+ blocks:
1172
+ - id: drawer_filter_panel_category
1173
+ type: MultipleSelector
1174
+ properties:
1175
+ title: Category
1176
+ options:
1177
+ - label: Electronics
1178
+ value: electronics
1179
+ - label: Clothing
1180
+ value: clothing
1181
+ - label: Books
1182
+ value: books
1183
+ - label: Home & Garden
1184
+ value: home
1185
+ - id: drawer_filter_panel_price
1186
+ type: Slider
1187
+ properties:
1188
+ title: Price Range
1189
+ min: 0
1190
+ max: 500
1191
+ step: 10
1192
+ - id: drawer_filter_panel_rating
1193
+ type: ButtonSelector
1194
+ properties:
1195
+ title: Minimum Rating
1196
+ options:
1197
+ - label: Any
1198
+ value: 0
1199
+ - label: 3+
1200
+ value: 3
1201
+ - label: 4+
1202
+ value: 4
1203
+ - label: 5
1204
+ value: 5
1205
+ - id: drawer_filter_panel_in_stock
1206
+ type: Switch
1207
+ properties:
1208
+ title: In Stock Only
1209
+ - id: drawer_filter_panel_apply_btn
1210
+ type: Button
1211
+ properties:
1212
+ title: Apply Filters
1213
+ color: primary
1214
+ variant: solid
1215
+ block: true
1216
+ events:
1217
+ onClick:
1218
+ - id: drawer_filter_panel_apply_msg
1219
+ type: DisplayMessage
1220
+ params:
1221
+ content: Filters applied to results
1222
+ status: success
1223
+ duration: 2
1224
+ - id: drawer_filter_panel_apply_close
1225
+ type: CallMethod
1226
+ params:
1227
+ blockId: drawer_filter_panel
1228
+ method: setOpen
1229
+ args:
1230
+ - open: false
1231
+ ```
1232
+
1233
+ Jane Cooper
1234
+
1235
+ ```yaml
1236
+ - id: drawer_profile_btn
1237
+ type: Button
1238
+ layout:
1239
+ flex: 0 0 auto
1240
+ properties:
1241
+ title: View Profile
1242
+ color: primary
1243
+ variant: solid
1244
+ icon: AiOutlineUser
1245
+ events:
1246
+ onClick:
1247
+ - id: drawer_profile_open
1248
+ type: CallMethod
1249
+ params:
1250
+ blockId: drawer_profile
1251
+ method: setOpen
1252
+ args:
1253
+ - open: true
1254
+ - id: drawer_profile
1255
+ type: Drawer
1256
+ properties:
1257
+ title: User Profile
1258
+ width: 400
1259
+ blocks:
1260
+ - id: drawer_profile_avatar_row
1261
+ type: Box
1262
+ layout:
1263
+ gap: 16
1264
+ align: center
1265
+ blocks:
1266
+ - id: drawer_profile_avatar
1267
+ type: Avatar
1268
+ layout:
1269
+ flex: 0 0 auto
1270
+ properties:
1271
+ icon: AiOutlineUser
1272
+ size: 64
1273
+ color: "#fff"
1274
+ backgroundColor: "#1677ff"
1275
+ - id: drawer_profile_info
1276
+ type: Box
1277
+ layout:
1278
+ flex: 1 1 0
1279
+ direction: column
1280
+ gap: 4
1281
+ blocks:
1282
+ - id: drawer_profile_name
1283
+ type: Title
1284
+ properties:
1285
+ content: Jane Cooper
1286
+ level: 4
1287
+ - id: drawer_profile_role_tag
1288
+ type: Tag
1289
+ properties:
1290
+ title: Senior Product Designer
1291
+ color: blue
1292
+ - id: drawer_profile_divider
1293
+ type: Divider
1294
+ - id: drawer_profile_details
1295
+ type: Descriptions
1296
+ properties:
1297
+ size: small
1298
+ column: 1
1299
+ items:
1300
+ - label: Email
1301
+ value: jane.cooper@example.com
1302
+ - label: Phone
1303
+ value: +1 (555) 123-4567
1304
+ - label: Location
1305
+ value: San Francisco, CA
1306
+ - label: Department
1307
+ value: Design
1308
+ - label: Start Date
1309
+ value: January 15, 2023
1310
+ - id: drawer_profile_divider2
1311
+ type: Divider
1312
+ - id: drawer_profile_actions_row
1313
+ type: Box
1314
+ layout:
1315
+ gap: 8
1316
+ blocks:
1317
+ - id: drawer_profile_edit_btn
1318
+ type: Button
1319
+ layout:
1320
+ flex: 1 1 0
1321
+ properties:
1322
+ title: Edit Profile
1323
+ color: primary
1324
+ variant: outlined
1325
+ icon: AiOutlineEdit
1326
+ - id: drawer_profile_message_btn
1327
+ type: Button
1328
+ layout:
1329
+ flex: 1 1 0
1330
+ properties:
1331
+ title: Send Message
1332
+ color: primary
1333
+ variant: solid
1334
+ icon: AiOutlineMail
1335
+ ```
1336
+
1337
+ | Property | Type | Default | Description |
1338
+ | --- | --- | --- | --- |
1339
+ | `closable` | boolean | `true` | Whether a close (x) button is visible on top right of the Drawer dialog or not. |
1340
+ | `mask` | boolean | `true` | Whether to show mask or not. |
1341
+ | `maskClosable` | boolean | `true` | Clicking on the mask (area outside the Drawer) to close the Drawer or not. |
1342
+ | `title` | string | - | The title of the Drawer. |
1343
+ | `width` | string \| number | `"256px"` | Width of the Drawer dialog. |
1344
+ | `height` | string \| number | `"256px"` | When placement is top or bottom, height of the Drawer dialog. |
1345
+ | `zIndex` | integer | `1000` | The z-index of the Drawer. |
1346
+ | `placement` | string | `"right"` | The placement of the Drawer. Enum: `top`, `right`, `bottom`, `left`. |
1347
+ | `keyboard` | boolean | `true` | Whether support press esc to close. |
1348
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design drawer tokens](https://ant.design/components/drawer#design-token). |
1349
+ | `theme.footerPaddingBlock` | number | `8` | Vertical padding of the footer. |
1350
+ | `theme.footerPaddingInline` | number | `16` | Horizontal padding of the footer. |
1351
+ | `theme.zIndexPopup` | number | `1000` | Z-index of the drawer. |
1352
+ | `theme.draggerSize` | number | `4` | Size of the resize handle. |
1353
+ | `theme.colorBgElevated` | string | - | Background color of the drawer. |
1354
+ | `theme.colorBgMask` | string | `"rgba(0, 0, 0, 0.45)"` | Background color of the drawer mask. |
1355
+
1356
+ | Event | Event Data | Description |
1357
+ | --- | --- | --- |
1358
+ | `onToggle` | \- | Trigger actions when drawer is toggled. |
1359
+ | `onClose` | \- | Trigger actions when drawer is closed. |
1360
+ | `onOpen` | \- | Trigger actions when drawer is opened. |
1361
+ | `afterClose` | \- | Trigger actions after drawer is closed. |
1362
+ | `afterOpenChange` | \- | Trigger actions after drawer is opened. |
1363
+
1364
+ | Key | Target |
1365
+ | --- | --- |
1366
+ | `/block` | Outer block wrapper (always available). |
1367
+ | `/element` | The Drawer element. |
1368
+ | `/header` | The Drawer header. |
1369
+ | `/body` | The Drawer body. |
1370
+ | `/footer` | The Drawer footer. |
1371
+ | `/mask` | The Drawer mask. |
1372
+ | `/wrapper` | The Drawer wrapper. |
1373
+ | `/content` | The Drawer content. |
1374
+
1375
+ | Slot | Description |
1376
+ | --- | --- |
1377
+ | `content` | Main Drawer body. |
1378
+ | `extra` | Extra content in the header. |
1379
+ | `footer` | The Drawer footer. |