@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,56 @@
1
+ # DiffSideBySide
2
+
3
+ `DiffSideBySide` renders a before / after view of two objects as paired Ant Design `Descriptions` panels. The left column shows previous values (struck through for removed fields) and the right column shows the new values (highlighted for added or changed fields). Uses the same filtering, labelling, and per-path value formatters as `DiffList`.
4
+
5
+ ```yaml
6
+ - id: diff_side_by_side_profile
7
+ type: DiffSideBySide
8
+ properties:
9
+ title: Profile updated
10
+ before:
11
+ name: Sarah Johnson
12
+ email: sarah@example.com
13
+ role: member
14
+ after:
15
+ name: Sarah M. Johnson
16
+ email: sarah.j@example.com
17
+ role: admin
18
+ labels:
19
+ name: Full name
20
+ email: Email address
21
+ role: Role
22
+ ```
23
+
24
+ | Property | Type | Default | Description |
25
+ | --- | --- | --- | --- |
26
+ | `before` | object \| array \| null | - | Previous state. An object or array; null / undefined is treated as empty so "newly created" records diff cleanly. |
27
+ | `after` | object \| array \| null | - | New state. An object or array; null / undefined is treated as empty so "deleted" records diff cleanly. |
28
+ | `maxDepth` | integer | `4` | Paths deeper than this collapse into a single "Changed" row rendered as JSON. Defaults to 4. |
29
+ | `title` | string | - | Optional title rendered above the diff. Supports html. |
30
+ | `emptyText` | string | `"No changes"` | Shown when there are no differences between before and after. |
31
+ | `showUnchanged` | boolean | `false` | Also render unchanged leaf fields in a muted style in both columns. |
32
+ | `groupByRoot` | boolean | `true` | Group changes by their top-level key. When false, changes render as one flat paired list. |
33
+ | `collapseNested` | boolean | `true` | Render entirely-new or entirely-removed nested objects and arrays inside a collapsible panel. |
34
+ | `labels` | object | - | Map of dotted path to display label. Example: { "user.email": "Email address" }. |
35
+ | `hide` | array | - | Patterns to hide. Each entry is an exact dotted path (e.g. `user.email`), a `prefix.*` prefix match, or a `*.leaf` tail match. |
36
+ | `show` | array | - | Allowlist; same pattern syntax as `hide`. Applied before `hide`. |
37
+ | `format` | object | - | Per-path value formatter. Keys are dotted paths (with optional "prefix.*" or "*.leaf" globs); values describe how to render matched values. |
38
+ | `changeTypeLabels` | object | - | Override the tag labels for each change type. |
39
+ | `changeTypeLabels.added` | string | `"Added"` | |
40
+ | `changeTypeLabels.removed` | string | `"Removed"` | |
41
+ | `changeTypeLabels.changed` | string | `"Changed"` | |
42
+ | `changeTypeLabels.unchanged` | string | `"Unchanged"` | |
43
+ | `theme` | object | - | Antd Descriptions design token overrides. See [antd design tokens](https://ant.design/components/descriptions#design-token). See [Ant Design descriptions tokens](https://ant.design/components/descriptions#design-token). |
44
+
45
+ No events defined.
46
+
47
+ | Key | Target |
48
+ | --- | --- |
49
+ | `/block` | Outer block wrapper (always available). |
50
+ | `/element` | The DiffSideBySide wrapper element. |
51
+ | `/title` | The DiffSideBySide title. |
52
+ | `/group` | A paired Descriptions wrapper (one per side). |
53
+ | `/row` | A single row label within either side. |
54
+ | `/tag` | The change-type tag element. |
55
+
56
+ No slots defined.
@@ -0,0 +1,94 @@
1
+ # DiffTimeline
2
+
3
+ `DiffTimeline` renders a diff as a vertical audit trail using Ant Design's `Timeline` component. Each change becomes a timeline entry with a colour-coded dot (green for added, red for removed, blue for changed) and a breadcrumb-style label that shows the full path to the changed field. Uses the same filtering, labelling, and per-path value formatters as `DiffList`.
4
+
5
+ ```yaml
6
+ - id: diff_timeline_order
7
+ type: DiffTimeline
8
+ properties:
9
+ title: Order
10
+ before:
11
+ status: pending
12
+ subtotal: 129.5
13
+ tax: 10.36
14
+ total: 139.86
15
+ items:
16
+ - Notebook (A5)
17
+ - Pen (blue)
18
+ internal:
19
+ createdBy: sys
20
+ traceId: abc-123
21
+ after:
22
+ status: paid
23
+ subtotal: 129.5
24
+ tax: 10.36
25
+ total: 139.86
26
+ items:
27
+ - Notebook (A5)
28
+ - Pen (blue)
29
+ - Sticky notes
30
+ internal:
31
+ createdBy: sys
32
+ traceId: abc-999
33
+ hide:
34
+ - internal.*
35
+ labels:
36
+ status: Status
37
+ subtotal: Subtotal
38
+ tax: Tax
39
+ total: Total
40
+ items: Line items
41
+ format:
42
+ subtotal:
43
+ type: currency
44
+ currency: USD
45
+ tax:
46
+ type: currency
47
+ currency: USD
48
+ total:
49
+ type: currency
50
+ currency: USD
51
+ status:
52
+ type: enum
53
+ map:
54
+ pending:
55
+ label: Pending
56
+ color: warning
57
+ paid:
58
+ label: Paid
59
+ color: success
60
+ cancelled:
61
+ label: Cancelled
62
+ color: error
63
+ ```
64
+
65
+ | Property | Type | Default | Description |
66
+ | --- | --- | --- | --- |
67
+ | `before` | object \| array \| null | - | Previous state. An object or array; null / undefined is treated as empty so "newly created" records diff cleanly. |
68
+ | `after` | object \| array \| null | - | New state. An object or array; null / undefined is treated as empty so "deleted" records diff cleanly. |
69
+ | `maxDepth` | integer | `4` | Paths deeper than this collapse into a single "Changed" entry rendered as JSON. Defaults to 4. |
70
+ | `title` | string | - | Optional title rendered above the timeline. Supports html. |
71
+ | `emptyText` | string | `"No changes"` | Shown when there are no differences between before and after. |
72
+ | `showUnchanged` | boolean | `false` | Also emit muted timeline entries for unchanged leaf fields. |
73
+ | `collapseNested` | boolean | `true` | Render entirely-new or entirely-removed nested objects and arrays inside a collapsible panel. |
74
+ | `labels` | object | - | Map of dotted path to display label. |
75
+ | `hide` | array | - | Patterns to hide. Each entry is an exact dotted path, a `prefix.*` prefix match, or a `*.leaf` tail match. |
76
+ | `show` | array | - | Allowlist; same pattern syntax as `hide`. Applied before `hide`. |
77
+ | `format` | object | - | Per-path value formatter. Keys are dotted paths (with optional "prefix.*" or "*.leaf" globs); values describe how to render matched values. |
78
+ | `changeTypeLabels` | object | - | Override the tag labels for each change type. |
79
+ | `changeTypeLabels.added` | string | `"Added"` | |
80
+ | `changeTypeLabels.removed` | string | `"Removed"` | |
81
+ | `changeTypeLabels.changed` | string | `"Changed"` | |
82
+ | `changeTypeLabels.unchanged` | string | `"Unchanged"` | |
83
+ | `theme` | object | - | Antd Timeline design token overrides. See [antd design tokens](https://ant.design/components/timeline#design-token). See [Ant Design timeline tokens](https://ant.design/components/timeline#design-token). |
84
+
85
+ No events defined.
86
+
87
+ | Key | Target |
88
+ | --- | --- |
89
+ | `/block` | Outer block wrapper (always available). |
90
+ | `/element` | The DiffTimeline wrapper element. |
91
+ | `/title` | The DiffTimeline title. |
92
+ | `/group` | The antd Timeline element. |
93
+
94
+ No slots defined.
@@ -0,0 +1,406 @@
1
+ # Divider
2
+
3
+ Horizontal or vertical divider with optional text and orientation.
4
+
5
+ Home
6
+
7
+ Settings
8
+
9
+ Profile
10
+
11
+ ```yaml
12
+ - id: type_horizontal
13
+ type: Divider
14
+ - id: type_horizontal_titled
15
+ type: Divider
16
+ properties:
17
+ title: Horizontal Divider
18
+ - id: type_vertical_row
19
+ type: Box
20
+ layout:
21
+ gap: 0
22
+ blocks:
23
+ - id: type_vt_text_1
24
+ type: Paragraph
25
+ layout:
26
+ flex: 0 0 auto
27
+ properties:
28
+ content: Home
29
+ - id: type_vt_divider_1
30
+ type: Divider
31
+ layout:
32
+ flex: 0 0 auto
33
+ properties:
34
+ orientation: vertical
35
+ - id: type_vt_text_2
36
+ type: Paragraph
37
+ layout:
38
+ flex: 0 0 auto
39
+ properties:
40
+ content: Settings
41
+ - id: type_vt_divider_2
42
+ type: Divider
43
+ layout:
44
+ flex: 0 0 auto
45
+ properties:
46
+ orientation: vertical
47
+ - id: type_vt_text_3
48
+ type: Paragraph
49
+ layout:
50
+ flex: 0 0 auto
51
+ properties:
52
+ content: Profile
53
+ ```
54
+
55
+ ```yaml
56
+ - id: title_plain_text
57
+ type: Divider
58
+ properties:
59
+ title: Section Title
60
+ - id: title_html_bold
61
+ type: Divider
62
+ properties:
63
+ title: <b>Bold Section Header</b>
64
+ - id: title_html_styled
65
+ type: Divider
66
+ properties:
67
+ title: '<span style="color: #1677ff; font-size: 16px">Highlighted Title</span>'
68
+ ```
69
+
70
+ ```yaml
71
+ - id: orient_start
72
+ type: Divider
73
+ properties:
74
+ title: Start
75
+ titlePlacement: start
76
+ - id: orient_center
77
+ type: Divider
78
+ properties:
79
+ title: Center (default)
80
+ titlePlacement: center
81
+ - id: orient_end
82
+ type: Divider
83
+ properties:
84
+ title: End
85
+ titlePlacement: end
86
+ ```
87
+
88
+ ```yaml
89
+ - id: dashed_simple
90
+ type: Divider
91
+ properties:
92
+ dashed: true
93
+ - id: dashed_with_title
94
+ type: Divider
95
+ properties:
96
+ dashed: true
97
+ title: Dashed with Title
98
+ - id: dashed_left_title
99
+ type: Divider
100
+ properties:
101
+ dashed: true
102
+ title: Dashed Start
103
+ titlePlacement: start
104
+ ```
105
+
106
+ ```yaml
107
+ - id: plain_center
108
+ type: Divider
109
+ properties:
110
+ title: Plain Center
111
+ plain: true
112
+ - id: plain_left
113
+ type: Divider
114
+ properties:
115
+ title: Plain Start
116
+ plain: true
117
+ titlePlacement: start
118
+ - id: plain_dashed
119
+ type: Divider
120
+ properties:
121
+ title: Plain Dashed
122
+ plain: true
123
+ dashed: true
124
+ ```
125
+
126
+ ```yaml
127
+ - id: css_tailwind_margin
128
+ type: Divider
129
+ class: my-8
130
+ properties:
131
+ title: Extra Margin via Tailwind
132
+ - id: css_inline_color
133
+ type: Divider
134
+ style:
135
+ .element:
136
+ borderColor: "#1677ff"
137
+ - id: css_inline_thick
138
+ type: Divider
139
+ style:
140
+ .element:
141
+ borderWidth: 3px
142
+ - id: css_inline_title_color
143
+ type: Divider
144
+ properties:
145
+ title: Styled Title
146
+ style:
147
+ .element:
148
+ color: "#722ed1"
149
+ borderColor: "#722ed1"
150
+ ```
151
+
152
+ Item A
153
+
154
+ Item B
155
+
156
+ ```yaml
157
+ - id: theme_text_padding
158
+ type: Divider
159
+ properties:
160
+ title: Wide Text Padding
161
+ theme:
162
+ textPaddingInline: 3em
163
+ - id: theme_orientation_tight
164
+ type: Divider
165
+ properties:
166
+ title: Tight Orientation Margin
167
+ titlePlacement: start
168
+ theme:
169
+ orientationMargin: 0
170
+ - id: theme_orientation_wide
171
+ type: Divider
172
+ properties:
173
+ title: Wide Orientation Margin
174
+ titlePlacement: start
175
+ theme:
176
+ orientationMargin: 0.25
177
+ - id: theme_vertical_margin
178
+ type: Box
179
+ layout:
180
+ gap: 0
181
+ blocks:
182
+ - id: theme_vm_text_1
183
+ type: Paragraph
184
+ layout:
185
+ flex: 0 0 auto
186
+ properties:
187
+ content: Item A
188
+ - id: theme_vm_divider
189
+ type: Divider
190
+ layout:
191
+ flex: 0 0 auto
192
+ properties:
193
+ orientation: vertical
194
+ theme:
195
+ verticalMarginInline: 24
196
+ - id: theme_vm_text_2
197
+ type: Paragraph
198
+ layout:
199
+ flex: 0 0 auto
200
+ properties:
201
+ content: Item B
202
+ ```
203
+
204
+ ```yaml
205
+ - id: settings_card
206
+ type: Card
207
+ properties:
208
+ title: Account Settings
209
+ size: small
210
+ blocks:
211
+ - id: settings_profile_heading
212
+ type: Divider
213
+ properties:
214
+ title: Profile
215
+ titlePlacement: start
216
+ plain: true
217
+ - id: settings_name
218
+ type: TextInput
219
+ properties:
220
+ label:
221
+ title: Display Name
222
+ placeholder: Enter your name
223
+ - id: settings_email
224
+ type: TextInput
225
+ properties:
226
+ label:
227
+ title: Email Address
228
+ placeholder: you@company.com
229
+ - id: settings_notifications_heading
230
+ type: Divider
231
+ properties:
232
+ title: Notifications
233
+ titlePlacement: start
234
+ plain: true
235
+ - id: settings_notify_toggle
236
+ type: Switch
237
+ properties:
238
+ label:
239
+ title: Email Notifications
240
+ - id: settings_danger_heading
241
+ type: Divider
242
+ properties:
243
+ title: '<span style="color: #ff4d4f">Danger Zone</span>'
244
+ titlePlacement: start
245
+ plain: true
246
+ dashed: true
247
+ style:
248
+ .element:
249
+ borderColor: "#ff4d4f"
250
+ - id: settings_delete_row
251
+ type: Box
252
+ layout:
253
+ gap: 8
254
+ justify: flex-end
255
+ blocks:
256
+ - id: settings_delete_btn
257
+ type: Button
258
+ layout:
259
+ flex: 0 0 auto
260
+ properties:
261
+ title: Delete Account
262
+ color: danger
263
+ variant: outlined
264
+ icon: AiOutlineDelete
265
+ events:
266
+ onClick:
267
+ - id: settings_delete_msg
268
+ type: DisplayMessage
269
+ params:
270
+ content: Account deletion requested.
271
+ status: warning
272
+ ```
273
+
274
+ ## Building Config-Driven Applications
275
+ A practical guide to rapid development with declarative frameworks.
276
+
277
+ By Jane Smith
278
+
279
+ March 2026
280
+
281
+ 5 min read
282
+
283
+ Config-driven frameworks allow teams to ship features faster by reducing boilerplate.
284
+ Instead of writing repetitive UI code, developers describe what they want in YAML or JSON.
285
+
286
+ - Declarative configs reduce development time by up to 60%
287
+ - Schema validation catches errors before deployment
288
+ - Teams can onboard new developers faster with standardized patterns
289
+
290
+ ```yaml
291
+ - id: article_card
292
+ type: Card
293
+ blocks:
294
+ - id: article_title
295
+ type: Markdown
296
+ properties:
297
+ content: |
298
+ ## Building Config-Driven Applications
299
+ A practical guide to rapid development with declarative frameworks.
300
+ - id: article_meta_row
301
+ type: Box
302
+ layout:
303
+ gap: 0
304
+ blocks:
305
+ - id: article_author
306
+ type: Paragraph
307
+ layout:
308
+ flex: 0 0 auto
309
+ properties:
310
+ content: By Jane Smith
311
+ - id: article_meta_divider_1
312
+ type: Divider
313
+ layout:
314
+ flex: 0 0 auto
315
+ properties:
316
+ orientation: vertical
317
+ - id: article_date
318
+ type: Paragraph
319
+ layout:
320
+ flex: 0 0 auto
321
+ properties:
322
+ content: March 2026
323
+ - id: article_meta_divider_2
324
+ type: Divider
325
+ layout:
326
+ flex: 0 0 auto
327
+ properties:
328
+ orientation: vertical
329
+ - id: article_reading_time
330
+ type: Paragraph
331
+ layout:
332
+ flex: 0 0 auto
333
+ properties:
334
+ content: 5 min read
335
+ - id: article_intro_divider
336
+ type: Divider
337
+ - id: article_body
338
+ type: Markdown
339
+ properties:
340
+ content: >
341
+ Config-driven frameworks allow teams to ship features faster by
342
+ reducing boilerplate.
343
+
344
+ Instead of writing repetitive UI code, developers describe what they
345
+ want in YAML or JSON.
346
+ - id: article_section_divider
347
+ type: Divider
348
+ properties:
349
+ title: Key Takeaways
350
+ titlePlacement: start
351
+ plain: true
352
+ - id: article_takeaways
353
+ type: Markdown
354
+ properties:
355
+ content: |
356
+ - Declarative configs reduce development time by up to 60%
357
+ - Schema validation catches errors before deployment
358
+ - Teams can onboard new developers faster with standardized patterns
359
+ - id: article_footer_divider
360
+ type: Divider
361
+ properties:
362
+ dashed: true
363
+ - id: article_footer_row
364
+ type: Box
365
+ layout:
366
+ gap: 8
367
+ justify: flex-end
368
+ blocks:
369
+ - id: article_share_btn
370
+ type: Button
371
+ layout:
372
+ flex: 0 0 auto
373
+ properties:
374
+ title: Share Article
375
+ color: primary
376
+ variant: outlined
377
+ icon: AiOutlineShareAlt
378
+ events:
379
+ onClick:
380
+ - id: article_share_msg
381
+ type: DisplayMessage
382
+ params:
383
+ content: Link copied to clipboard!
384
+ status: success
385
+ ```
386
+
387
+ | Property | Type | Default | Description |
388
+ | --- | --- | --- | --- |
389
+ | `dashed` | boolean | `false` | Whether line is dashed. |
390
+ | `orientation` | string | `"horizontal"` | Direction of the divider line. Enum: `horizontal`, `vertical`. |
391
+ | `title` | string | - | Divider title - supports html. |
392
+ | `titlePlacement` | string | `"center"` | Position of title text within the divider. Enum: `start`, `end`, `center`. |
393
+ | `plain` | boolean | `false` | Show text as plain style. |
394
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design divider tokens](https://ant.design/components/divider#design-token). |
395
+ | `theme.textPaddingInline` | string | `"1em"` | Horizontal padding of text content in the divider. |
396
+ | `theme.orientationMargin` | number | `0.05` | Distance between text and edge when orientation is left or right. Value between 0 and 1 representing a percentage. |
397
+ | `theme.verticalMarginInline` | number | `8` | Horizontal margin for vertical dividers. |
398
+
399
+ No events defined.
400
+
401
+ | Key | Target |
402
+ | --- | --- |
403
+ | `/block` | Outer block wrapper (always available). |
404
+ | `/element` | The Divider element. |
405
+
406
+ No slots defined.
@@ -0,0 +1,60 @@
1
+ # Download
2
+
3
+ Download files from any storage provider — AWS S3 (and S3-compatible services), Google Cloud Storage, or Azure Blob Storage. Requires a download request (AwsS3PresignedGetObject, GcsSignedGetUrl, or AzureBlobDownloadSas) referenced by the downloadPolicyRequestId property. Clicking a file resolves a URL through the request on demand — set `public: true` on the request for stable, non-expiring URLs to publicly readable objects. If files were uploaded with an Upload block, its fileList value can be mapped directly to this block.
4
+
5
+ > The Download block requires a storage connection and a download request. The examples below show configuration structure but will not download files without a configured connection.
6
+
7
+ ```yaml
8
+ - id: basic_default
9
+ type: Download
10
+ properties:
11
+ downloadPolicyRequestId: download_policy_request
12
+ fileList:
13
+ - key: reports/report.pdf
14
+ name: report.pdf
15
+ size: 1024
16
+ type: application/pdf
17
+ ```
18
+
19
+ ```yaml
20
+ - id: removable
21
+ type: Download
22
+ properties:
23
+ downloadPolicyRequestId: download_policy_request
24
+ showRemoveIcon: true
25
+ fileList:
26
+ - key: reports/report.pdf
27
+ name: report.pdf
28
+ - key: reports/summary.xlsx
29
+ name: summary.xlsx
30
+ ```
31
+
32
+ | Property | Type | Default | Description |
33
+ | --- | --- | --- | --- |
34
+ | `downloadPolicyRequestId` | string | - | Id of a download request (e.g. AwsS3PresignedGetObject, GcsSignedGetUrl, AzureBlobDownloadSas) that returns a URL for the file to download. |
35
+ | `fileList` | array | - | List of files to be downloaded. If files were uploaded using an Upload block, the fileList value can just be mapped to this field. |
36
+ | `fileList.$.key` | string | - | Storage object key. |
37
+ | `fileList.$.lastModified` | string | - | File last modified date. |
38
+ | `fileList.$.name` | string | - | File name. |
39
+ | `fileList.$.size` | number | - | File size in bytes. |
40
+ | `fileList.$.type` | string | - | File MIME type. |
41
+ | `showRemoveIcon` | boolean | `false` | Show a remove (×) icon next to each file in the list. Clicking it fires the `onRemove` event; the file is not removed from `fileList` automatically — the action handler is responsible. |
42
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/upload#design-token). See [Ant Design upload tokens](https://ant.design/components/upload#design-token). |
43
+ | `theme.actionsColor` | string | - | Color of action icons (download, preview, remove). |
44
+ | `theme.pictureCardSize` | number | - | Size of list items in card type (affects both picture-card and picture-circle). |
45
+ | `theme.controlItemBgHover` | string | - | Background color of file item on hover. |
46
+ | `theme.colorIcon` | string | - | Color of file icons. |
47
+ | `theme.fontSize` | number | - | Font size of file name text. |
48
+ | `theme.borderRadiusSM` | number | - | Border radius of file list items. |
49
+
50
+ | Event | Event Data | Description |
51
+ | --- | --- | --- |
52
+ | `onChange` | \- | Triggered when the upload state is changing. |
53
+ | `onRemove` | `{ file }` | Triggered when a file remove icon is clicked. The file is NOT removed automatically — the handler is responsible for updating `fileList` (e.g. via `SetState`). |
54
+
55
+ | Key | Target |
56
+ | --- | --- |
57
+ | `/block` | Outer block wrapper (always available). |
58
+ | `/element` | The Download element. |
59
+
60
+ No slots defined.