@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,643 @@
1
+ # DropdownMenu
2
+
3
+ Floating dropdown menu triggered by any child block. Menu items follow the Menu block links pattern — MenuLink for navigation, MenuGroup for grouping, MenuDivider for separators. Use trigger modes click, hover, or contextMenu.
4
+
5
+ ```yaml
6
+ - id: dropdown_menu_basic
7
+ type: DropdownMenu
8
+ layout:
9
+ flex: 0 0 auto
10
+ properties:
11
+ trigger: click
12
+ links:
13
+ - id: dm_basic_home
14
+ type: MenuLink
15
+ pageId: home
16
+ properties:
17
+ title: Home
18
+ icon: AiOutlineHome
19
+ - id: dm_basic_profile
20
+ type: MenuLink
21
+ pageId: home
22
+ properties:
23
+ title: Profile
24
+ icon: AiOutlineUser
25
+ - id: dm_basic_div
26
+ type: MenuDivider
27
+ - id: dm_basic_logout
28
+ type: MenuLink
29
+ properties:
30
+ title: Log Out
31
+ icon: AiOutlineLogout
32
+ danger: true
33
+ blocks:
34
+ - id: dropdown_menu_basic_btn
35
+ type: Button
36
+ layout:
37
+ flex: 0 0 auto
38
+ properties:
39
+ title: Account
40
+ color: primary
41
+ variant: solid
42
+ ```
43
+
44
+ ```yaml
45
+ - id: dropdown_menu_hover
46
+ type: DropdownMenu
47
+ layout:
48
+ flex: 0 0 auto
49
+ properties:
50
+ links:
51
+ - id: dm_hover_item1
52
+ type: MenuLink
53
+ properties:
54
+ title: Option A
55
+ - id: dm_hover_item2
56
+ type: MenuLink
57
+ properties:
58
+ title: Option B
59
+ - id: dm_hover_item3
60
+ type: MenuLink
61
+ properties:
62
+ title: Option C
63
+ blocks:
64
+ - id: dropdown_menu_hover_btn
65
+ type: Button
66
+ layout:
67
+ flex: 0 0 auto
68
+ properties:
69
+ title: Hover me
70
+ color: default
71
+ variant: outlined
72
+ ```
73
+
74
+ Right-click anywhere in this card to open the context menu.
75
+
76
+ ```yaml
77
+ - id: dropdown_menu_context
78
+ type: DropdownMenu
79
+ properties:
80
+ trigger: contextMenu
81
+ links:
82
+ - id: dm_ctx_copy
83
+ type: MenuLink
84
+ properties:
85
+ title: Copy
86
+ icon: AiOutlineCopy
87
+ - id: dm_ctx_paste
88
+ type: MenuLink
89
+ properties:
90
+ title: Paste
91
+ icon: AiOutlineSnippets
92
+ - id: dm_ctx_div
93
+ type: MenuDivider
94
+ - id: dm_ctx_delete
95
+ type: MenuLink
96
+ properties:
97
+ title: Delete
98
+ icon: AiOutlineDelete
99
+ danger: true
100
+ blocks:
101
+ - id: dropdown_menu_context_area
102
+ type: Card
103
+ properties:
104
+ size: small
105
+ bordered: true
106
+ blocks:
107
+ - id: dropdown_menu_context_text
108
+ type: Paragraph
109
+ properties:
110
+ content: Right-click anywhere in this card to open the context menu.
111
+ ```
112
+
113
+ ```yaml
114
+ - id: dropdown_menu_pl_bl
115
+ type: DropdownMenu
116
+ layout:
117
+ flex: 0 0 auto
118
+ properties:
119
+ trigger: click
120
+ placement: bottomLeft
121
+ links:
122
+ - id: dm_pl_bl_1
123
+ type: MenuLink
124
+ properties:
125
+ title: Item 1
126
+ - id: dm_pl_bl_2
127
+ type: MenuLink
128
+ properties:
129
+ title: Item 2
130
+ blocks:
131
+ - id: dropdown_menu_pl_bl_btn
132
+ type: Button
133
+ layout:
134
+ flex: 0 0 auto
135
+ properties:
136
+ title: bottomLeft
137
+ color: primary
138
+ variant: solid
139
+ size: small
140
+ - id: dropdown_menu_pl_br
141
+ type: DropdownMenu
142
+ layout:
143
+ flex: 0 0 auto
144
+ properties:
145
+ trigger: click
146
+ placement: bottomRight
147
+ links:
148
+ - id: dm_pl_br_1
149
+ type: MenuLink
150
+ properties:
151
+ title: Item 1
152
+ - id: dm_pl_br_2
153
+ type: MenuLink
154
+ properties:
155
+ title: Item 2
156
+ blocks:
157
+ - id: dropdown_menu_pl_br_btn
158
+ type: Button
159
+ layout:
160
+ flex: 0 0 auto
161
+ properties:
162
+ title: bottomRight
163
+ color: primary
164
+ variant: outlined
165
+ size: small
166
+ - id: dropdown_menu_pl_tl
167
+ type: DropdownMenu
168
+ layout:
169
+ flex: 0 0 auto
170
+ properties:
171
+ trigger: click
172
+ placement: topLeft
173
+ links:
174
+ - id: dm_pl_tl_1
175
+ type: MenuLink
176
+ properties:
177
+ title: Item 1
178
+ - id: dm_pl_tl_2
179
+ type: MenuLink
180
+ properties:
181
+ title: Item 2
182
+ blocks:
183
+ - id: dropdown_menu_pl_tl_btn
184
+ type: Button
185
+ layout:
186
+ flex: 0 0 auto
187
+ properties:
188
+ title: topLeft
189
+ color: default
190
+ variant: outlined
191
+ size: small
192
+ ```
193
+
194
+ ```yaml
195
+ - id: dropdown_menu_arrow
196
+ type: DropdownMenu
197
+ layout:
198
+ flex: 0 0 auto
199
+ properties:
200
+ trigger: click
201
+ arrow: true
202
+ links:
203
+ - id: dm_arrow_1
204
+ type: MenuLink
205
+ properties:
206
+ title: Settings
207
+ icon: AiOutlineSetting
208
+ - id: dm_arrow_2
209
+ type: MenuLink
210
+ properties:
211
+ title: Help
212
+ icon: AiOutlineQuestionCircle
213
+ blocks:
214
+ - id: dropdown_menu_arrow_btn
215
+ type: Button
216
+ layout:
217
+ flex: 0 0 auto
218
+ properties:
219
+ title: With Arrow
220
+ color: primary
221
+ variant: solid
222
+ - id: dropdown_menu_arrow_center
223
+ type: DropdownMenu
224
+ layout:
225
+ flex: 0 0 auto
226
+ properties:
227
+ trigger: click
228
+ arrow:
229
+ pointAtCenter: true
230
+ links:
231
+ - id: dm_arrowc_1
232
+ type: MenuLink
233
+ properties:
234
+ title: Settings
235
+ icon: AiOutlineSetting
236
+ - id: dm_arrowc_2
237
+ type: MenuLink
238
+ properties:
239
+ title: Help
240
+ icon: AiOutlineQuestionCircle
241
+ blocks:
242
+ - id: dropdown_menu_arrow_center_btn
243
+ type: Button
244
+ layout:
245
+ flex: 0 0 auto
246
+ properties:
247
+ title: Arrow at Center
248
+ color: primary
249
+ variant: outlined
250
+ ```
251
+
252
+ ```yaml
253
+ - id: dropdown_menu_groups
254
+ type: DropdownMenu
255
+ layout:
256
+ flex: 0 0 auto
257
+ properties:
258
+ trigger: click
259
+ links:
260
+ - id: dm_grp_nav
261
+ type: MenuGroup
262
+ properties:
263
+ title: Navigation
264
+ icon: AiOutlineAppstore
265
+ links:
266
+ - id: dm_grp_nav_home
267
+ type: MenuLink
268
+ pageId: home
269
+ properties:
270
+ title: Home
271
+ - id: dm_grp_nav_dash
272
+ type: MenuLink
273
+ pageId: home
274
+ properties:
275
+ title: Dashboard
276
+ - id: dm_grp_div
277
+ type: MenuDivider
278
+ - id: dm_grp_account
279
+ type: MenuGroup
280
+ properties:
281
+ title: Account
282
+ icon: AiOutlineUser
283
+ links:
284
+ - id: dm_grp_acc_profile
285
+ type: MenuLink
286
+ pageId: home
287
+ properties:
288
+ title: Profile
289
+ - id: dm_grp_acc_settings
290
+ type: MenuLink
291
+ pageId: home
292
+ properties:
293
+ title: Settings
294
+ blocks:
295
+ - id: dropdown_menu_groups_btn
296
+ type: Button
297
+ layout:
298
+ flex: 0 0 auto
299
+ properties:
300
+ title: Grouped Menu
301
+ color: primary
302
+ variant: solid
303
+ ```
304
+
305
+ ```yaml
306
+ - id: dropdown_menu_disabled
307
+ type: DropdownMenu
308
+ layout:
309
+ flex: 0 0 auto
310
+ properties:
311
+ trigger: click
312
+ links:
313
+ - id: dm_dis_active
314
+ type: MenuLink
315
+ properties:
316
+ title: Available Action
317
+ icon: AiOutlineCheck
318
+ - id: dm_dis_disabled
319
+ type: MenuLink
320
+ properties:
321
+ title: Unavailable (disabled)
322
+ disabled: true
323
+ - id: dm_dis_div
324
+ type: MenuDivider
325
+ - id: dm_dis_danger
326
+ type: MenuLink
327
+ properties:
328
+ title: Danger Action
329
+ danger: true
330
+ blocks:
331
+ - id: dropdown_menu_disabled_btn
332
+ type: Button
333
+ layout:
334
+ flex: 0 0 auto
335
+ properties:
336
+ title: Mixed States
337
+ color: default
338
+ variant: outlined
339
+ ```
340
+
341
+ ```yaml
342
+ - id: dropdown_menu_shortcuts
343
+ type: DropdownMenu
344
+ layout:
345
+ flex: 0 0 auto
346
+ properties:
347
+ trigger: click
348
+ links:
349
+ - id: dm_sc_new
350
+ type: MenuLink
351
+ properties:
352
+ title: New File
353
+ icon: AiOutlineFileAdd
354
+ shortcut: mod+shift+N
355
+ - id: dm_sc_save
356
+ type: MenuLink
357
+ properties:
358
+ title: Save
359
+ icon: AiOutlineSave
360
+ shortcut: mod+shift+S
361
+ - id: dm_sc_div
362
+ type: MenuDivider
363
+ - id: dm_sc_close
364
+ type: MenuLink
365
+ properties:
366
+ title: Close
367
+ icon: AiOutlineClose
368
+ shortcut: mod+shift+W
369
+ events:
370
+ onClick:
371
+ - id: dropdown_menu_shortcuts_msg
372
+ type: DisplayMessage
373
+ params:
374
+ content:
375
+ _string.concat:
376
+ - "Shortcut action: "
377
+ - _event: key
378
+ duration: 2
379
+ blocks:
380
+ - id: dropdown_menu_shortcuts_btn
381
+ type: Button
382
+ layout:
383
+ flex: 0 0 auto
384
+ properties:
385
+ title: File Menu
386
+ color: primary
387
+ variant: solid
388
+ ```
389
+
390
+ ```yaml
391
+ - id: dropdown_menu_event
392
+ type: DropdownMenu
393
+ layout:
394
+ flex: 0 0 auto
395
+ properties:
396
+ trigger: click
397
+ links:
398
+ - id: dm_ev_1
399
+ type: MenuLink
400
+ properties:
401
+ title: Option A
402
+ - id: dm_ev_2
403
+ type: MenuLink
404
+ properties:
405
+ title: Option B
406
+ events:
407
+ onOpenChange:
408
+ - id: dropdown_menu_event_msg
409
+ type: DisplayMessage
410
+ params:
411
+ content: Dropdown toggled!
412
+ duration: 2
413
+ blocks:
414
+ - id: dropdown_menu_event_btn
415
+ type: Button
416
+ layout:
417
+ flex: 0 0 auto
418
+ properties:
419
+ title: Click to Toggle
420
+ color: primary
421
+ variant: solid
422
+ icon: AiOutlineBell
423
+ ```
424
+
425
+ ```yaml
426
+ - id: dropdown_menu_onclick
427
+ type: DropdownMenu
428
+ layout:
429
+ flex: 0 0 auto
430
+ properties:
431
+ trigger: click
432
+ links:
433
+ - id: dm_oc_edit
434
+ type: MenuLink
435
+ properties:
436
+ title: Edit
437
+ icon: AiOutlineEdit
438
+ - id: dm_oc_copy
439
+ type: MenuLink
440
+ properties:
441
+ title: Copy
442
+ icon: AiOutlineCopy
443
+ - id: dm_oc_delete
444
+ type: MenuLink
445
+ properties:
446
+ title: Delete
447
+ icon: AiOutlineDelete
448
+ danger: true
449
+ events:
450
+ onClick:
451
+ - id: dropdown_menu_onclick_msg
452
+ type: DisplayMessage
453
+ params:
454
+ content:
455
+ _string.concat:
456
+ - "Clicked: "
457
+ - _event: key
458
+ duration: 2
459
+ blocks:
460
+ - id: dropdown_menu_onclick_btn
461
+ type: Button
462
+ layout:
463
+ flex: 0 0 auto
464
+ properties:
465
+ title: Actions
466
+ color: default
467
+ variant: outlined
468
+ ```
469
+
470
+ ```yaml
471
+ - id: dropdown_menu_theme
472
+ type: DropdownMenu
473
+ layout:
474
+ flex: 0 0 auto
475
+ properties:
476
+ trigger: click
477
+ theme:
478
+ controlItemBgHover: "#f0f5ff"
479
+ borderRadiusLG: 12
480
+ links:
481
+ - id: dm_th_1
482
+ type: MenuLink
483
+ properties:
484
+ title: Styled Item A
485
+ - id: dm_th_2
486
+ type: MenuLink
487
+ properties:
488
+ title: Styled Item B
489
+ - id: dm_th_3
490
+ type: MenuLink
491
+ properties:
492
+ title: Styled Item C
493
+ blocks:
494
+ - id: dropdown_menu_theme_btn
495
+ type: Button
496
+ layout:
497
+ flex: 0 0 auto
498
+ properties:
499
+ title: Custom Theme
500
+ color: primary
501
+ variant: solid
502
+ ```
503
+
504
+ JD
505
+
506
+ Jane Doe
507
+
508
+ ```yaml
509
+ - id: dropdown_menu_user
510
+ type: DropdownMenu
511
+ layout:
512
+ flex: 0 0 auto
513
+ properties:
514
+ trigger: click
515
+ placement: bottomRight
516
+ links:
517
+ - id: dm_user_profile
518
+ type: MenuLink
519
+ pageId: home
520
+ properties:
521
+ title: My Profile
522
+ icon: AiOutlineUser
523
+ - id: dm_user_settings
524
+ type: MenuLink
525
+ pageId: home
526
+ properties:
527
+ title: Settings
528
+ icon: AiOutlineSetting
529
+ - id: dm_user_div
530
+ type: MenuDivider
531
+ - id: dm_user_logout
532
+ type: MenuLink
533
+ properties:
534
+ title: Log Out
535
+ icon: AiOutlineLogout
536
+ danger: true
537
+ blocks:
538
+ - id: dropdown_menu_user_trigger
539
+ type: Box
540
+ layout:
541
+ gap: 8
542
+ align: center
543
+ blocks:
544
+ - id: dropdown_menu_user_avatar
545
+ type: Avatar
546
+ layout:
547
+ flex: 0 0 auto
548
+ properties:
549
+ content: JD
550
+ color: "#fff"
551
+ backgroundColor: "#1677ff"
552
+ - id: dropdown_menu_user_name
553
+ type: Paragraph
554
+ layout:
555
+ flex: 0 0 auto
556
+ properties:
557
+ content: Jane Doe
558
+ ```
559
+
560
+ ```yaml
561
+ - id: dropdown_menu_op
562
+ type: DropdownMenu
563
+ properties:
564
+ trigger: click
565
+ links:
566
+ _menu: default
567
+ blocks:
568
+ - id: dropdown_menu_op_trigger
569
+ type: Button
570
+ properties:
571
+ title: Open Menu
572
+ icon: AiOutlineMenu
573
+ ```
574
+
575
+ | Property | Type | Default | Description |
576
+ | --- | --- | --- | --- |
577
+ | `links` | array | - | Menu items. Same structure as Menu block: MenuLink, MenuGroup, MenuDivider. |
578
+ | `links.$.id` | string | - | Menu item id. |
579
+ | `links.$.type` | string | `"MenuLink"` | Menu item type. Enum: `MenuDivider`, `MenuLink`, `MenuGroup`. |
580
+ | `links.$.pageId` | string | - | Page to link to. |
581
+ | `links.$.url` | string | - | External URL to link to. |
582
+ | `links.$.newTab` | boolean | - | Open link in new tab. |
583
+ | `links.$.style` | object \| string \| array | - | CSS styles for the menu item. Use a flat object for the item wrapper, or dot-prefixed slot keys (`.element`, `.icon`, `.label`). |
584
+ | `links.$.class` | string \| array \| object | - | CSS classes for the menu item. Flat applies to the item wrapper; use dot-prefixed slot keys to target parts. |
585
+ | `links.$.properties` | object | - | Properties for the menu item. |
586
+ | `links.$.properties.title` | string | - | Menu item title. |
587
+ | `links.$.properties.icon` | string \| object | - | Name of a React-Icon or properties of an Icon block to customize icon on menu item. |
588
+ | `links.$.properties.danger` | boolean | `false` | Apply danger style to menu item. |
589
+ | `links.$.properties.disabled` | boolean | `false` | Disable the menu item. |
590
+ | `links.$.properties.tooltip` | string | - | Tooltip text shown when the menu is collapsed. |
591
+ | `links.$.properties.extra` | string | - | Free-form right-aligned label on a MenuLink. For real keybindings use `shortcut`; when both are set, `shortcut` sits to the right of `extra`. |
592
+ | `links.$.properties.dashed` | boolean | `false` | Whether the divider line is dashed. |
593
+ | `links.$.properties.shortcut` | string | - | Keyboard shortcut for this menu item. Renders a kbd badge floated to the far right of the item AND wires the key handler. Use "mod" for Cmd/Ctrl. |
594
+ | `links.$.links` | array | - | Nested menu items for MenuGroup. |
595
+ | `links.$.links.$.id` | string | - | Menu item id. |
596
+ | `links.$.links.$.type` | string | `"MenuLink"` | Menu item type. Enum: `MenuDivider`, `MenuLink`. |
597
+ | `links.$.links.$.pageId` | string | - | Page to link to. |
598
+ | `links.$.links.$.url` | string | - | External URL to link to. |
599
+ | `links.$.links.$.newTab` | boolean | - | Open link in new tab. |
600
+ | `links.$.links.$.style` | object \| string \| array | - | CSS styles for the menu item. Flat or dot-prefixed slot keys (`.element`, `.icon`, `.label`). |
601
+ | `links.$.links.$.class` | string \| array \| object | - | CSS classes for the menu item. |
602
+ | `links.$.links.$.properties` | object | - | Properties for the menu item. |
603
+ | `links.$.links.$.properties.title` | string | - | Menu item title. |
604
+ | `links.$.links.$.properties.icon` | string \| object | - | Icon name or config. |
605
+ | `links.$.links.$.properties.danger` | boolean | `false` | Danger style. |
606
+ | `links.$.links.$.properties.disabled` | boolean | `false` | Disable the item. |
607
+ | `links.$.links.$.properties.tooltip` | string | - | Tooltip text shown when the menu is collapsed. |
608
+ | `links.$.links.$.properties.extra` | string | - | Free-form right-aligned label on a MenuLink. For real keybindings use `shortcut`. |
609
+ | `links.$.links.$.properties.dashed` | boolean | `false` | Dashed divider line. |
610
+ | `links.$.links.$.properties.shortcut` | string | - | Keyboard shortcut. Renders a kbd badge floated to the far right and wires the key handler. Use "mod" for Cmd/Ctrl. |
611
+ | `trigger` | string | `"hover"` | How the dropdown opens. Enum: `click`, `hover`, `contextMenu`. |
612
+ | `placement` | string | `"bottomLeft"` | Position relative to trigger. Enum: `bottomLeft`, `bottom`, `bottomRight`, `topLeft`, `top`, `topRight`. |
613
+ | `arrow` | boolean \| object | `false` | Show arrow pointing to trigger. |
614
+ | `arrow.pointAtCenter` | boolean | - | |
615
+ | `disabled` | boolean | `false` | Disable the dropdown. |
616
+ | `destroyOnClose` | boolean | `false` | Unmount menu DOM when closed. |
617
+ | `selectedKeys` | array | - | Highlighted menu items. |
618
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design dropdown tokens](https://ant.design/components/dropdown#design-token). |
619
+ | `theme.zIndexPopup` | number | `1050` | Z-index of the dropdown popup. |
620
+ | `theme.controlItemBgHover` | string | - | Background color on item hover. |
621
+ | `theme.colorPrimary` | string | - | Primary color override. |
622
+ | `theme.borderRadiusLG` | number | - | Border radius for the dropdown. |
623
+ | `theme.paddingBlock` | number | - | Vertical padding for menu items. |
624
+
625
+ | Event | Event Data | Description |
626
+ | --- | --- | --- |
627
+ | `onClick` | `{ key, keyPath, pageId, url }` | Trigger action when a menu item is clicked. |
628
+ | `onSelect` | `{ key, selectedKeys, pageId, url }` | Trigger action when a menu item is selected. |
629
+ | `onOpenChange` | `{ open }` | Trigger action when dropdown opens or closes. |
630
+
631
+ | Key | Target |
632
+ | --- | --- |
633
+ | `/block` | Outer block wrapper (always available). |
634
+ | `/element` | The trigger wrapper element. |
635
+ | `/menu` | The floating menu container. |
636
+ | `/item` | Individual menu items. |
637
+ | `/itemIcon` | Icon within menu items. |
638
+ | `/subMenu` | Submenu/group containers. |
639
+ | `/arrow` | Dropdown arrow indicator. |
640
+
641
+ | Slot | Description |
642
+ | --- | --- |
643
+ | `content` | Blocks that trigger the dropdown. |