@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,438 @@
1
+ # PageSidebarLayout
2
+
3
+ Full-page layout with a full-height sidebar and no top-level header. The sider spans the entire viewport height with the logo affixed at the bottom. A mobile drawer menu appears on small screens. Sider collapse state is persisted in localStorage.
4
+
5
+ PageSidebarLayout provides a full-page layout with a full-height sidebar. The sider spans the entire viewport height with the logo at the bottom. On mobile screens, a hamburger menu with a full-width drawer replaces the sider.
6
+
7
+ ```yaml
8
+ - id: psl_basic
9
+ type: PageSidebarLayout
10
+ properties:
11
+ siderStorageKey: psl_basic
12
+ sider:
13
+ initialCollapsed: false
14
+ width: 220
15
+ menu:
16
+ links:
17
+ - id: psl_basic_dash
18
+ type: MenuLink
19
+ properties:
20
+ title: Dashboard
21
+ icon: AiOutlineDashboard
22
+ - id: psl_basic_users
23
+ type: MenuLink
24
+ properties:
25
+ title: Users
26
+ icon: AiOutlineUser
27
+ - id: psl_basic_settings
28
+ type: MenuLink
29
+ properties:
30
+ title: Settings
31
+ icon: AiOutlineSetting
32
+ blocks:
33
+ - id: psl_basic_content
34
+ type: Paragraph
35
+ properties:
36
+ content: PageSidebarLayout provides a full-page layout with a full-height
37
+ sidebar. The sider spans the entire viewport height with the logo at
38
+ the bottom. On mobile screens, a hamburger menu with a full-width
39
+ drawer replaces the sider.
40
+ ```
41
+
42
+ Sider starts collapsed. Click the toggle button to expand. The collapsed state is persisted in localStorage.
43
+
44
+ ```yaml
45
+ - id: psl_collapsed
46
+ type: PageSidebarLayout
47
+ properties:
48
+ siderStorageKey: psl_collapsed
49
+ sider:
50
+ initialCollapsed: true
51
+ menu:
52
+ links:
53
+ - id: psl_collapsed_dash
54
+ type: MenuLink
55
+ properties:
56
+ title: Dashboard
57
+ icon: AiOutlineDashboard
58
+ - id: psl_collapsed_users
59
+ type: MenuLink
60
+ properties:
61
+ title: Users
62
+ icon: AiOutlineUser
63
+ blocks:
64
+ - id: psl_collapsed_content
65
+ type: Paragraph
66
+ properties:
67
+ content: Sider starts collapsed. Click the toggle button to expand. The
68
+ collapsed state is persisted in localStorage.
69
+ ```
70
+
71
+ Optional desktop header with custom content. The header sits inside the content area, not above the sider.
72
+
73
+ ```yaml
74
+ - id: psl_header
75
+ type: PageSidebarLayout
76
+ properties:
77
+ siderStorageKey: psl_header
78
+ sider:
79
+ width: 220
80
+ header:
81
+ contentStyle:
82
+ justifyContent: flex-end
83
+ menu:
84
+ links:
85
+ - id: psl_header_dash
86
+ type: MenuLink
87
+ properties:
88
+ title: Dashboard
89
+ icon: AiOutlineDashboard
90
+ - id: psl_header_settings
91
+ type: MenuLink
92
+ properties:
93
+ title: Settings
94
+ icon: AiOutlineSetting
95
+ slots:
96
+ header:
97
+ blocks:
98
+ - id: psl_header_search_btn
99
+ type: Button
100
+ layout:
101
+ flex: 0 0 auto
102
+ properties:
103
+ title: Search
104
+ icon: AiOutlineSearch
105
+ color: default
106
+ variant: outlined
107
+ size: small
108
+ blocks:
109
+ - id: psl_header_content
110
+ type: Paragraph
111
+ properties:
112
+ content: Optional desktop header with custom content. The header sits inside the
113
+ content area, not above the sider.
114
+ ```
115
+
116
+ Custom logo with style overrides. The full logo (src) shows when the sider is expanded, and the square logo (srcMobile) shows when collapsed.
117
+
118
+ ```yaml
119
+ - id: psl_logo
120
+ type: PageSidebarLayout
121
+ properties:
122
+ siderStorageKey: psl_logo
123
+ logo:
124
+ src: /logo_example.png
125
+ srcMobile: /logo_example.png
126
+ alt: Custom Logo
127
+ style:
128
+ width: 80
129
+ menu:
130
+ links:
131
+ - id: psl_logo_dash
132
+ type: MenuLink
133
+ properties:
134
+ title: Dashboard
135
+ icon: AiOutlineDashboard
136
+ blocks:
137
+ - id: psl_logo_content
138
+ type: Paragraph
139
+ properties:
140
+ content: Custom logo with style overrides. The full logo (src) shows when the
141
+ sider is expanded, and the square logo (srcMobile) shows when
142
+ collapsed.
143
+ ```
144
+
145
+ Dashboard Overview
146
+
147
+ ```yaml
148
+ - id: psl_admin
149
+ type: PageSidebarLayout
150
+ properties:
151
+ siderStorageKey: psl_admin
152
+ darkModeToggle: true
153
+ notifications:
154
+ count: 3
155
+ profile:
156
+ avatar:
157
+ content: AU
158
+ color: "#1677ff"
159
+ links:
160
+ - id: psl_admin_prof_profile
161
+ type: MenuLink
162
+ properties:
163
+ title: My Profile
164
+ icon: AiOutlineUser
165
+ - id: psl_admin_prof_settings
166
+ type: MenuLink
167
+ properties:
168
+ title: Settings
169
+ icon: AiOutlineSetting
170
+ - id: psl_admin_prof_divider
171
+ type: MenuDivider
172
+ - id: psl_admin_prof_logout
173
+ type: MenuLink
174
+ properties:
175
+ title: Sign Out
176
+ icon: AiOutlineLogout
177
+ danger: true
178
+ sider:
179
+ width: 240
180
+ breadcrumb:
181
+ list:
182
+ - Admin
183
+ - Dashboard
184
+ menu:
185
+ defaultOpenKeys:
186
+ - psl_admin_users_group
187
+ links:
188
+ - id: psl_admin_dash
189
+ type: MenuLink
190
+ properties:
191
+ title: Dashboard
192
+ icon: AiOutlineDashboard
193
+ - id: psl_admin_users_group
194
+ type: MenuGroup
195
+ properties:
196
+ title: User Management
197
+ icon: AiOutlineTeam
198
+ links:
199
+ - id: psl_admin_all_users
200
+ type: MenuLink
201
+ properties:
202
+ title: All Users
203
+ - id: psl_admin_user_roles
204
+ type: MenuLink
205
+ properties:
206
+ title: Roles & Permissions
207
+ - id: psl_admin_analytics
208
+ type: MenuLink
209
+ properties:
210
+ title: Analytics
211
+ icon: AiOutlineBarChart
212
+ - id: psl_admin_settings
213
+ type: MenuLink
214
+ properties:
215
+ title: Settings
216
+ icon: AiOutlineSetting
217
+ slots:
218
+ siderOpen:
219
+ blocks:
220
+ - id: psl_admin_sider_open
221
+ type: Box
222
+ style:
223
+ padding: 8px 12px
224
+ blocks:
225
+ - id: psl_admin_env_tag
226
+ type: Tag
227
+ properties:
228
+ title: Production
229
+ color: green
230
+ icon: AiOutlineCloudServer
231
+ siderClosed:
232
+ blocks:
233
+ - id: psl_admin_sider_closed
234
+ type: Box
235
+ style:
236
+ padding: 8px
237
+ textAlign: center
238
+ blocks:
239
+ - id: psl_admin_env_tag_sm
240
+ type: Tag
241
+ properties:
242
+ title: Prod
243
+ color: green
244
+ footer:
245
+ blocks:
246
+ - id: psl_admin_footer_text
247
+ type: Paragraph
248
+ properties:
249
+ content: Admin Panel v2.4.1
250
+ style:
251
+ textAlign: center
252
+ margin: 0
253
+ color: "#999"
254
+ fontSize: 12
255
+ blocks:
256
+ - id: psl_admin_title
257
+ type: Title
258
+ properties:
259
+ content: Dashboard Overview
260
+ level: 3
261
+ - id: psl_admin_stats_row
262
+ type: Box
263
+ layout:
264
+ gap: 16
265
+ blocks:
266
+ - id: psl_admin_stat_users
267
+ type: Card
268
+ layout:
269
+ flex: 1 1 0
270
+ properties:
271
+ size: small
272
+ blocks:
273
+ - id: psl_admin_stat_users_val
274
+ type: Statistic
275
+ properties:
276
+ title: Total Users
277
+ value: 2847
278
+ prefixIcon: AiOutlineUser
279
+ - id: psl_admin_stat_revenue
280
+ type: Card
281
+ layout:
282
+ flex: 1 1 0
283
+ properties:
284
+ size: small
285
+ blocks:
286
+ - id: psl_admin_stat_revenue_val
287
+ type: Statistic
288
+ properties:
289
+ title: Revenue
290
+ value: 58420
291
+ prefix: $
292
+ - id: psl_admin_stat_orders
293
+ type: Card
294
+ layout:
295
+ flex: 1 1 0
296
+ properties:
297
+ size: small
298
+ blocks:
299
+ - id: psl_admin_stat_orders_val
300
+ type: Statistic
301
+ properties:
302
+ title: Orders
303
+ value: 384
304
+ ```
305
+
306
+ | Property | Type | Default | Description |
307
+ | --- | --- | --- | --- |
308
+ | `title` | string | - | Page title. Accepted for compatibility. |
309
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). |
310
+ | `logo` | object | - | Header logo settings. By default, images are served from the app public folder and auto-swap between light and dark variants based on dark mode. See [Hosting Files](/hosting-files) for details. |
311
+ | `logo.src` | string | - | Logo image URL for desktop. Defaults to logo-light-theme.png or logo-dark-theme.png from the public folder (~250x72px), auto-selected based on dark mode. |
312
+ | `logo.srcMobile` | string | - | Logo image URL for mobile. Defaults to logo-square-light-theme.png or logo-square-dark-theme.png from the public folder (~125x125px), auto-selected based on dark mode. |
313
+ | `logo.alt` | string | `"Lowdefy"` | Logo alternative text. |
314
+ | `logo.style` | object | - | Css style object to apply to logo. |
315
+ | `sider` | object | - | Sider properties. |
316
+ | `sider.collapsedWidth` | integer | - | Width of the collapsed sidebar, by setting to 0 a special trigger will appear. |
317
+ | `sider.collapsible` | boolean | `true` | Whether can be collapsed. |
318
+ | `sider.initialCollapsed` | boolean | `false` | Set the initial collapsed state. |
319
+ | `sider.width` | string \| number | - | Width of the sidebar. |
320
+ | `sider.hideToggleButton` | boolean | `false` | Hide toggle button in sider. |
321
+ | `siderStorageKey` | string | `"sider"` | localStorage key suffix for sider state persistence. Produces key 'lf-{siderStorageKey}-open'. |
322
+ | `header` | object | - | Header properties. |
323
+ | `header.contentStyle` | object | - | Header content css style object. |
324
+ | `toggleSiderButton` | object | - | Toggle sider button properties. |
325
+ | `footer` | object | - | Footer properties. |
326
+ | `footer.style` | object | - | Footer css style object. |
327
+ | `content` | object | - | Content properties. |
328
+ | `content.style` | object | - | Content css style object. |
329
+ | `breadcrumb` | object | - | Breadcrumb properties. |
330
+ | `breadcrumb.separator` | string | `"/"` | Use a custom separator string. |
331
+ | `breadcrumb.list` | array | - | List of breadcrumb links. |
332
+ | `breadcrumb.list.$.label` | string | - | Label of the breadcrumb link. |
333
+ | `breadcrumb.list.$.pageId` | string | - | Page id to link to when clicked. |
334
+ | `breadcrumb.list.$.url` | string | - | External url link. |
335
+ | `breadcrumb.list.$.style` | object | - | Css style to apply to link. |
336
+ | `breadcrumb.list.$.icon` | string \| object | - | Name of an React-Icon (See all icons) or properties of an Icon block to use an icon in breadcrumb link. |
337
+ | `menu` | object | - | Menu properties. |
338
+ | `menu.links` | array | - | |
339
+ | `menu.links.$.id` | string | - | Menu item id. |
340
+ | `menu.links.$.pageId` | string | - | Page to link to. |
341
+ | `menu.links.$.properties` | object | - | properties from menu item. |
342
+ | `menu.links.$.properties.title` | string | - | Menu item title. |
343
+ | `menu.links.$.properties.icon` | string \| object | - | Name of an React-Icon (See all icons) or properties of an Icon block to customize icon on menu item. |
344
+ | `menuLg` | object | - | Menu large screen properties. Overwrites menu properties on desktop screen sizes. |
345
+ | `menuMd` | object | - | Mobile menu properties. Overwrites menu properties on mobile screen sizes. |
346
+ | `notifications` | object | - | Notification bell icon with badge. Shown in the sider on desktop and the mobile header on small screens. Renders when configured. Use the link property to navigate when clicked. |
347
+ | `notifications.title` | string | `"Notifications"` | Label shown next to the bell icon when the sider is expanded. Hidden on mobile header and collapsed sider. |
348
+ | `notifications.link` | object | - | Link to navigate to when the notification bell is clicked. |
349
+ | `notifications.link.pageId` | string | - | Page to link to. |
350
+ | `notifications.link.url` | string | - | External URL to link to. |
351
+ | `notifications.link.newTab` | boolean | - | Open link in new tab. |
352
+ | `notifications.count` | number | - | Number to display on the badge. Set to 0 to hide the badge (unless showZero is true). |
353
+ | `notifications.dot` | boolean | `false` | Show a dot instead of a count number. |
354
+ | `notifications.showZero` | boolean | `false` | Show badge when count is zero. |
355
+ | `notifications.overflowCount` | number | `99` | Max count to show. Values above this display as "N+". |
356
+ | `notifications.color` | string | - | Badge color. |
357
+ | `notifications.icon` | string \| object | - | Icon for the notification button. Defaults to AiOutlineBell. |
358
+ | `notifications.size` | string | `"small"` | Size of the notification button. Enum: `small`, `default`, `large`. |
359
+ | `profile` | object | - | Profile avatar with optional dropdown menu. Shown in the sider on desktop and the mobile header on small screens. Renders when configured. Use with the _user operator to populate from the authenticated user. |
360
+ | `profile.title` | string | `"Profile"` | Label shown next to the avatar when the sider is expanded. Hidden on mobile header and collapsed sider. |
361
+ | `profile.avatar` | object | - | Avatar display properties. |
362
+ | `profile.avatar.src` | string | - | Image URL for the avatar. Typically bound to _user: image. |
363
+ | `profile.avatar.content` | string | - | Text content inside the avatar (e.g. user initials). Shown when no src is provided. |
364
+ | `profile.avatar.icon` | string \| object | - | Icon to display in avatar when no src or content is set. Defaults to AiOutlineUser. |
365
+ | `profile.avatar.color` | string | - | Background color of the avatar when not using src. |
366
+ | `profile.avatar.size` | string \| number | `"small"` | Size of the avatar. Enum: `default`, `small`, `large`. |
367
+ | `profile.avatar.shape` | string | `"circle"` | Shape of the avatar. Enum: `circle`, `square`. |
368
+ | `profile.links` | array | - | Dropdown menu items. Uses the same MenuLink/MenuGroup/MenuDivider schema as Menu. Compatible with _menu operator output for access-filtered menus. |
369
+ | `profile.links.$.id` | string | - | Menu item id. |
370
+ | `profile.links.$.type` | string | `"MenuLink"` | Menu item type. Enum: `MenuDivider`, `MenuLink`, `MenuGroup`. |
371
+ | `profile.links.$.pageId` | string | - | Page to link to. |
372
+ | `profile.links.$.url` | string | - | External URL to link to. |
373
+ | `profile.links.$.newTab` | boolean | - | Open link in new tab. |
374
+ | `profile.links.$.style` | object | - | CSS style applied to the link. |
375
+ | `profile.links.$.properties` | object | - | Properties for the menu item. |
376
+ | `profile.links.$.properties.title` | string | - | Menu item title. |
377
+ | `profile.links.$.properties.icon` | string \| object | - | Icon for the menu item. |
378
+ | `profile.links.$.properties.danger` | boolean | `false` | Apply danger style to menu item. |
379
+ | `profile.links.$.properties.disabled` | boolean | `false` | Disable the menu item. |
380
+ | `profile.links.$.properties.dashed` | boolean | `false` | Whether the divider line is dashed. |
381
+ | `profile.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. |
382
+ | `profile.links.$.links` | array | - | Nested menu items for MenuGroup. |
383
+ | `profile.trigger` | string | `"hover"` | How the profile dropdown opens. Enum: `click`, `hover`. |
384
+ | `profile.placement` | string | `"bottomRight"` | Dropdown placement relative to the avatar. Enum: `bottomLeft`, `bottom`, `bottomRight`, `topLeft`, `top`, `topRight`. |
385
+ | `profile.arrow` | boolean \| object | `false` | Show arrow on the dropdown. |
386
+ | `profile.arrow.pointAtCenter` | boolean | - | |
387
+ | `darkModeToggle` | boolean | `false` | Show a dark mode toggle button in the sider and mobile header. Toggles the Ant Design dark theme for the entire page. Preference is persisted to localStorage. |
388
+ | `localeSelector` | boolean | `false` | Show a locale picker dropdown in the sider and mobile header. Lists locales declared in `config.i18n.locales` and dispatches `SetLocale` on selection. Renders nothing when `config.i18n` is not configured. |
389
+ | `iconsColor` | string | - | Color for notification and dark mode toggle icons. |
390
+
391
+ | Event | Event Data | Description |
392
+ | --- | --- | --- |
393
+ | `onToggleSider` | \- | Trigger action when sider toggle button is clicked. |
394
+ | `onMenuItemClick` | \- | Trigger action when menu item is clicked. |
395
+ | `onMenuItemSelect` | \- | Trigger action when menu item is selected. |
396
+ | `onToggleMenuGroup` | \- | Trigger action when menu group is opened. |
397
+ | `onBreadcrumbClick` | \- | Trigger action when a breadcrumb item is clicked. |
398
+ | `onMobileMenuOpen` | \- | Trigger action when mobile menu is opened. |
399
+ | `onMobileMenuClose` | \- | Trigger action when mobile menu is closed. |
400
+ | `onToggleDrawer` | \- | Trigger action when mobile menu drawer is toggled. |
401
+ | `onProfileMenuClick` | `{ key, keyPath, pageId, url }` | Trigger action when a profile dropdown menu item is clicked. |
402
+ | `onProfileMenuOpen` | `{ open }` | Trigger action when the profile dropdown opens or closes. |
403
+
404
+ | Key | Target |
405
+ | --- | --- |
406
+ | `/block` | Outer block wrapper (always available). |
407
+ | `/element` | The PageSidebarLayout element. |
408
+ | `/sider` | The PageSidebarLayout sider. |
409
+ | `/menu` | The PageSidebarLayout menu. |
410
+ | `/mobileHeader` | The PageSidebarLayout mobile header. |
411
+ | `/mobileMenu` | The PageSidebarLayout mobile menu. |
412
+ | `/header` | The PageSidebarLayout header. |
413
+ | `/headerActions` | The header actions container (notifications, profile, dark mode toggle). |
414
+ | `/logo` | The PageSidebarLayout logo. |
415
+ | `/notifications` | The notification bell button. |
416
+ | `/notificationsBadge` | The notification badge wrapper. |
417
+ | `/notificationsIcon` | The notification bell icon. |
418
+ | `/profile` | The profile avatar and dropdown wrapper. |
419
+ | `/profileAvatar` | The profile avatar element. |
420
+ | `/profileMenu` | The profile dropdown menu popup. |
421
+ | `/darkModeToggle` | The dark mode toggle button. |
422
+ | `/localeSelector` | The locale selector trigger. |
423
+ | `/localeSelectorMenu` | The locale selector dropdown popup. |
424
+ | `/content` | The PageSidebarLayout content. |
425
+ | `/breadcrumb` | The PageSidebarLayout breadcrumb. |
426
+ | `/footer` | The PageSidebarLayout footer. |
427
+ | `/toggleButton` | The PageSidebarLayout sider toggle button. |
428
+
429
+ | Slot | Description |
430
+ | --- | --- |
431
+ | `content` | Main page content. |
432
+ | `footer` | Page footer. |
433
+ | `header` | Additional header content. |
434
+ | `mobileDrawerContent` | Content in the mobile menu drawer. |
435
+ | `mobileDrawerFooter` | Footer in the mobile menu drawer. |
436
+ | `mobileExtra` | Extra content in the mobile header bar. |
437
+ | `siderClosed` | Content shown in the sider when collapsed. |
438
+ | `siderOpen` | Content shown in the sider when expanded. |