@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,187 @@
1
+ # SQLite
2
+
3
+ The [Knex](/Knex) connection can be used to connect to a [SQLite](https://www.sqlite.org) database.
4
+
5
+ ## Connections
6
+
7
+ Connection types:
8
+ - Knex
9
+
10
+ ### Knex
11
+
12
+ #### Properties
13
+ - `client: enum`: __Required__ - Should be `better-sqlite3` or `sqlite` (alias of `better-sqlite3`) to connect to SQLite. SQLite uses the [`better-sqlite3`](https://github.com/WiseLibs/better-sqlite3) driver.
14
+ - `connection: object`:
15
+ - `filename: string`: __Required__ - The path to the SQLite file (relative to the project root).
16
+ - `useNullAsDefault: boolean`: If true, undefined keys are replaced with NULL instead of DEFAULT.
17
+
18
+
19
+ #### Examples
20
+
21
+ ##### Specify filename:
22
+ ```yaml
23
+ connections:
24
+ - id: sqlite
25
+ type: Knex
26
+ properties:
27
+ client: better-sqlite3
28
+ connection:
29
+ filename: ./mydb.sqlite
30
+ ```
31
+
32
+ ###### Different connections in deployment and production environments:
33
+ ```yaml
34
+ connections:
35
+ - id: knex
36
+ type: Knex
37
+ properties:
38
+ client:
39
+ _secret: KNEX_CLIENT
40
+ connection:
41
+ _json.parse:
42
+ _secret: KNEX_CONNECTION
43
+ ```
44
+ Environment variables in development:
45
+ ```
46
+ LOWDEFY_SECRET_KNEX_CLIENT = better-sqlite3
47
+ LOWDEFY_SECRET_KNEX_CONNECTION = {"filename": "./mydb.sqlite"}
48
+ ```
49
+ Environment variables in production:
50
+ ```
51
+ LOWDEFY_SECRET_KNEX_CLIENT = postgres
52
+ LOWDEFY_SECRET_KNEX_CONNECTION = {"user": "dbuser", "host": "database.server.com", "database": "mydb", "password": "secretpassword"}
53
+ ```
54
+
55
+ ## Requests
56
+
57
+ Request types:
58
+
59
+ - KnexBuilder
60
+ - KnexRaw
61
+
62
+ ### KnexBuilder
63
+
64
+ #### Properties
65
+
66
+ - `query: object[]`: **Required** - SQL query builder array. An array of objects, with a single key which is the name of the knex builder function. The value should be an array of arguments to pass to the builder function.
67
+ - `tableName: string | object`: The name of the table to query from.
68
+
69
+ #### Examples
70
+
71
+ ###### Build a query:
72
+
73
+ ```yaml
74
+ id: knexBuilder
75
+ type: KnexBuilder
76
+ connectionId: knex
77
+ payload:
78
+ name:
79
+ _state: name
80
+ properties:
81
+ query:
82
+ - select:
83
+ - '*'
84
+ - from:
85
+ - users
86
+ - where:
87
+ - name
88
+ - _payload: name
89
+ ```
90
+
91
+ ###### Using `tableName`:
92
+
93
+ ```yaml
94
+ id: knexBuilder
95
+ type: KnexBuilder
96
+ connectionId: knex
97
+ payload:
98
+ name:
99
+ _state: name
100
+ properties:
101
+ tableName: users
102
+ query:
103
+ - select:
104
+ - '*'
105
+ - where:
106
+ - name
107
+ - _payload: name
108
+ ```
109
+
110
+ ###### Aliases:
111
+
112
+ ```yaml
113
+ id: knexBuilder
114
+ type: KnexBuilder
115
+ connectionId: knex
116
+ properties:
117
+ tableName:
118
+ a: tableA
119
+ b: tableB
120
+ query:
121
+ - select:
122
+ - aField: 'a.field'
123
+ - bField: 'b.field'
124
+ - limit:
125
+ - 1
126
+ ```
127
+
128
+ ### KnexRaw
129
+
130
+ #### Properties
131
+
132
+ - `query: string`: **Required** - SQL query string.
133
+ - `parameters: string | number | array | object`: SQL query parameters.
134
+
135
+ #### Examples
136
+
137
+ ###### Simple raw query:
138
+
139
+ ```yaml
140
+ id: knexRaw
141
+ type: KnexRaw
142
+ connectionId: knex
143
+ properties:
144
+ query: SELECT * FROM "my_table";
145
+ ```
146
+
147
+ ###### Query with named parameters:
148
+
149
+ ```yaml
150
+ id: knexRaw
151
+ type: KnexRaw
152
+ connectionId: knex
153
+ payload:
154
+ selected_name:
155
+ _state: selected_name
156
+ properties:
157
+ query: select * from users where name = :name
158
+ parameters:
159
+ name:
160
+ _payload: selected_name
161
+ ```
162
+
163
+ ###### Query with positional parameters:
164
+
165
+ ```yaml
166
+ id: knexRaw
167
+ type: KnexRaw
168
+ connectionId: knex
169
+ payload:
170
+ selected_name:
171
+ _state: selected_name
172
+ properties:
173
+ query: select * from users where name = ?
174
+ parameters:
175
+ - _payload: selected_name
176
+ ```
177
+
178
+ ###### Reference a `.sql` file:
179
+
180
+ ```yaml
181
+ id: knexRaw
182
+ type: KnexRaw
183
+ connectionId: knex
184
+ properties:
185
+ query:
186
+ _ref: my_query.sql
187
+ ```
@@ -0,0 +1,115 @@
1
+ # Stripe
2
+
3
+ ## Connections
4
+
5
+ Connection types:
6
+ - Stripe
7
+
8
+ ### Stripe
9
+
10
+ [Stripe](https://stripe.com/) is a popular payment provider which allows you to accept payments, send payouts, and manage your business online.
11
+ The `Stripe` connector uses the official [Node.js client from Stripe](https://github.com/stripe/stripe-node).
12
+ In order to use the `Stripe` connection, you first need to create a [Stripe](https://stripe.com/) account and setup an API key.
13
+
14
+ > Secrets like API keys should be stored using the [`_secret`](operators/secret.md) operator.
15
+
16
+ #### Properties
17
+ - `secretKey: string`: __Required__ - Stripe [secret key](https://stripe.com/docs/keys).
18
+ - `apiVersion: string`: Stripe API version to use. Defaults to the account-wide version.
19
+ - `timeout: number`: Timeout for requests to the Stripe API.
20
+ - `maxNetworkRetries: number`: Maximum number of times failed requests are repeated before throwing an error.
21
+ - `telemetry: boolean`: Whether to send telemetry data to Stripe (this is forwarded to the Stripe client library. Lowdefy does not receive any telemetry data from your Stripe connection.)
22
+
23
+ #### Examples
24
+
25
+ ###### Simple connection:
26
+ ```yaml
27
+ connections:
28
+ - id: stripe
29
+ type: Stripe
30
+ properties:
31
+ secretKey:
32
+ _secret: STRIPE_SECRET_KEY
33
+ ```
34
+ Environment variables:
35
+ ```
36
+ LOWDEFY_SECRET_STRIPE_SECRET_KEY = sk_test_KyvNyie...
37
+ ```
38
+
39
+ ###### Using an older API version:
40
+ ```yaml
41
+ connections:
42
+ - id: stripe
43
+ type: Stripe
44
+ properties:
45
+ secretKey:
46
+ _secret: STRIPE_SECRET_KEY
47
+ apiVersion: 2017-12-14
48
+ ```
49
+ Environment variables:
50
+ ```
51
+ LOWDEFY_SECRET_STRIPE_SECRET_KEY = sk_test_KyvNyie...
52
+ ```
53
+
54
+ ## Requests
55
+
56
+ Request types:
57
+ - StripeRequest
58
+
59
+ ### StripeRequest
60
+
61
+ The `StripeRequest` request allows calls to all modules supported by the [Stripe API client](https://stripe.com/docs/api?lang=node) by nesting the resource and method calls:
62
+ ```yaml
63
+ resource:
64
+ method:
65
+ - parameter1
66
+ - parameter2
67
+ ```
68
+
69
+ #### Properties
70
+ - `{{ apiResource }}: object`: A Stripe API resource, eg. `customers`.
71
+ - `{{ method }}: array | null`: A resource method, eg. `create`. The arguments array will be passed on to the client method.
72
+
73
+ The Stripe client exposes all resources as objects, with the API methods being available as function properties on those resource objects.
74
+ In Lowdefy, you may access these properties by nesting them.
75
+
76
+ ### Examples
77
+
78
+ ###### List the 30 most recent customers
79
+ ```yaml
80
+ requests:
81
+ - id: list_customers
82
+ type: StripeRequest
83
+ connectionId: stripe
84
+ properties:
85
+ customers:
86
+ list:
87
+ limit: 30
88
+ ```
89
+
90
+ ###### Create a payment intent
91
+ ```yaml
92
+ requests:
93
+ - id: create_payment_intent
94
+ type: StripeRequest
95
+ connectionId: stripe
96
+ properties:
97
+ paymentIntents:
98
+ create:
99
+ - amount: 2000
100
+ currency: eur
101
+ payment_method_types: [ card ]
102
+ ```
103
+
104
+ ###### Retrieve a checkout session by ID
105
+ ```yaml
106
+ requests:
107
+ - id: retrieve_checkout_session
108
+ type: StripeRequest
109
+ connectionId: stripe
110
+ properties:
111
+ checkout:
112
+ sessions:
113
+ retrieve:
114
+ - cs_test_onpT2icY2lrSU0IgDGXEhhcOHcWeJS5BpLcQGMx0uI9TZHLMBdzvWpvx
115
+ ```
@@ -0,0 +1,413 @@
1
+ # Affix
2
+
3
+ An Affix block makes its content stick to the viewport when scrolling.
4
+
5
+ ```yaml
6
+ - id: affix_basic_top
7
+ type: Affix
8
+ properties:
9
+ offsetTop: 10
10
+ blocks:
11
+ - id: affix_basic_top_btn
12
+ type: Button
13
+ properties:
14
+ title: Affix Top (10px)
15
+ color: primary
16
+ variant: solid
17
+ ```
18
+
19
+ ```yaml
20
+ - id: affix_offset_top_0
21
+ type: Affix
22
+ layout:
23
+ flex: 0 0 auto
24
+ properties:
25
+ offsetTop: 0
26
+ blocks:
27
+ - id: affix_offset_top_0_btn
28
+ type: Button
29
+ layout:
30
+ flex: 0 0 auto
31
+ properties:
32
+ title: Offset 0px
33
+ color: primary
34
+ variant: solid
35
+ size: small
36
+ - id: affix_offset_top_20
37
+ type: Affix
38
+ layout:
39
+ flex: 0 0 auto
40
+ properties:
41
+ offsetTop: 20
42
+ blocks:
43
+ - id: affix_offset_top_20_btn
44
+ type: Button
45
+ layout:
46
+ flex: 0 0 auto
47
+ properties:
48
+ title: Offset 20px
49
+ color: primary
50
+ variant: outlined
51
+ size: small
52
+ - id: affix_offset_top_80
53
+ type: Affix
54
+ layout:
55
+ flex: 0 0 auto
56
+ properties:
57
+ offsetTop: 80
58
+ blocks:
59
+ - id: affix_offset_top_80_btn
60
+ type: Button
61
+ layout:
62
+ flex: 0 0 auto
63
+ properties:
64
+ title: Offset 80px
65
+ color: primary
66
+ variant: dashed
67
+ size: small
68
+ ```
69
+
70
+ ```yaml
71
+ - id: affix_offset_bottom_0
72
+ type: Affix
73
+ layout:
74
+ flex: 0 0 auto
75
+ properties:
76
+ offsetBottom: 0
77
+ blocks:
78
+ - id: affix_offset_bottom_0_btn
79
+ type: Button
80
+ layout:
81
+ flex: 0 0 auto
82
+ properties:
83
+ title: Bottom 0px
84
+ color: primary
85
+ variant: solid
86
+ size: small
87
+ - id: affix_offset_bottom_30
88
+ type: Affix
89
+ layout:
90
+ flex: 0 0 auto
91
+ properties:
92
+ offsetBottom: 30
93
+ blocks:
94
+ - id: affix_offset_bottom_30_btn
95
+ type: Button
96
+ layout:
97
+ flex: 0 0 auto
98
+ properties:
99
+ title: Bottom 30px
100
+ color: primary
101
+ variant: outlined
102
+ size: small
103
+ - id: affix_offset_bottom_60
104
+ type: Affix
105
+ layout:
106
+ flex: 0 0 auto
107
+ properties:
108
+ offsetBottom: 60
109
+ blocks:
110
+ - id: affix_offset_bottom_60_btn
111
+ type: Button
112
+ layout:
113
+ flex: 0 0 auto
114
+ properties:
115
+ title: Bottom 60px
116
+ color: primary
117
+ variant: dashed
118
+ size: small
119
+ ```
120
+
121
+ ```yaml
122
+ - id: affix_on_change
123
+ type: Affix
124
+ properties:
125
+ offsetTop: 10
126
+ events:
127
+ onChange:
128
+ - id: affix_on_change_message
129
+ type: DisplayMessage
130
+ params:
131
+ content:
132
+ _if:
133
+ test:
134
+ _eq:
135
+ - _event: affixed
136
+ - true
137
+ then: Affix is now fixed to the viewport.
138
+ else: Affix returned to its original position.
139
+ duration: 3
140
+ blocks:
141
+ - id: affix_on_change_btn
142
+ type: Button
143
+ properties:
144
+ title: Scroll to trigger onChange
145
+ color: primary
146
+ variant: solid
147
+ ```
148
+
149
+ ```yaml
150
+ - id: affix_theme_default_z
151
+ type: Affix
152
+ layout:
153
+ flex: 0 0 auto
154
+ properties:
155
+ offsetTop: 10
156
+ theme:
157
+ zIndexPopup: 10
158
+ blocks:
159
+ - id: affix_theme_default_z_btn
160
+ type: Button
161
+ layout:
162
+ flex: 0 0 auto
163
+ properties:
164
+ title: Default z-index (10)
165
+ color: default
166
+ variant: outlined
167
+ size: small
168
+ - id: affix_theme_high_z
169
+ type: Affix
170
+ layout:
171
+ flex: 0 0 auto
172
+ properties:
173
+ offsetTop: 10
174
+ theme:
175
+ zIndexPopup: 100
176
+ blocks:
177
+ - id: affix_theme_high_z_btn
178
+ type: Button
179
+ layout:
180
+ flex: 0 0 auto
181
+ properties:
182
+ title: High z-index (100)
183
+ color: primary
184
+ variant: solid
185
+ size: small
186
+ - id: affix_theme_low_z
187
+ type: Affix
188
+ layout:
189
+ flex: 0 0 auto
190
+ properties:
191
+ offsetTop: 10
192
+ theme:
193
+ zIndexPopup: 1
194
+ blocks:
195
+ - id: affix_theme_low_z_btn
196
+ type: Button
197
+ layout:
198
+ flex: 0 0 auto
199
+ properties:
200
+ title: Low z-index (1)
201
+ color: default
202
+ variant: dashed
203
+ size: small
204
+ ```
205
+
206
+ ```yaml
207
+ - id: affix_css_shadow
208
+ type: Affix
209
+ layout:
210
+ flex: 0 0 auto
211
+ class:
212
+ element: shadow-lg rounded-lg
213
+ properties:
214
+ offsetTop: 10
215
+ blocks:
216
+ - id: affix_css_shadow_btn
217
+ type: Button
218
+ layout:
219
+ flex: 0 0 auto
220
+ properties:
221
+ title: Shadow + Rounded
222
+ color: primary
223
+ variant: solid
224
+ size: small
225
+ - id: affix_css_ring
226
+ type: Affix
227
+ layout:
228
+ flex: 0 0 auto
229
+ class:
230
+ element: ring-2 ring-green-400 rounded-lg
231
+ properties:
232
+ offsetTop: 10
233
+ blocks:
234
+ - id: affix_css_ring_btn
235
+ type: Button
236
+ layout:
237
+ flex: 0 0 auto
238
+ properties:
239
+ title: Ring Border
240
+ color: default
241
+ variant: outlined
242
+ size: small
243
+ ```
244
+
245
+ ```yaml
246
+ - id: affix_style_zindex
247
+ type: Affix
248
+ properties:
249
+ offsetTop: 10
250
+ style:
251
+ .element:
252
+ zIndex: 200
253
+ boxShadow: 0 4px 12px rgba(0, 0, 0, 0.15)
254
+ blocks:
255
+ - id: affix_style_zindex_btn
256
+ type: Button
257
+ properties:
258
+ title: Custom z-index (200) + Shadow
259
+ color: primary
260
+ variant: solid
261
+ ```
262
+
263
+ Edit Employee Record
264
+
265
+ ```yaml
266
+ - id: affix_form_toolbar
267
+ type: Affix
268
+ properties:
269
+ offsetTop: 0
270
+ blocks:
271
+ - id: affix_form_toolbar_card
272
+ type: Card
273
+ properties:
274
+ size: small
275
+ bordered: true
276
+ blocks:
277
+ - id: affix_form_toolbar_row
278
+ type: Box
279
+ layout:
280
+ gap: 8
281
+ justify: space-between
282
+ align: center
283
+ blocks:
284
+ - id: affix_form_toolbar_title
285
+ type: Title
286
+ layout:
287
+ flex: 0 0 auto
288
+ properties:
289
+ content: Edit Employee Record
290
+ level: 5
291
+ - id: affix_form_toolbar_actions
292
+ type: Box
293
+ layout:
294
+ flex: 0 0 auto
295
+ gap: 8
296
+ blocks:
297
+ - id: affix_form_toolbar_discard
298
+ type: Button
299
+ layout:
300
+ flex: 0 0 auto
301
+ properties:
302
+ title: Discard
303
+ color: default
304
+ variant: outlined
305
+ size: small
306
+ events:
307
+ onClick:
308
+ - id: affix_form_toolbar_discard_msg
309
+ type: DisplayMessage
310
+ params:
311
+ content: Changes discarded.
312
+ status: warning
313
+ - id: affix_form_toolbar_save
314
+ type: Button
315
+ layout:
316
+ flex: 0 0 auto
317
+ properties:
318
+ title: Save Changes
319
+ icon: AiOutlineSave
320
+ color: primary
321
+ variant: solid
322
+ size: small
323
+ events:
324
+ onClick:
325
+ - id: affix_form_toolbar_save_msg
326
+ type: DisplayMessage
327
+ params:
328
+ content: Employee record saved successfully.
329
+ status: success
330
+ ```
331
+
332
+ 3 items selected
333
+
334
+ ```yaml
335
+ - id: affix_bottom_bar
336
+ type: Affix
337
+ properties:
338
+ offsetBottom: 0
339
+ blocks:
340
+ - id: affix_bottom_bar_card
341
+ type: Card
342
+ class: shadow-lg
343
+ properties:
344
+ size: small
345
+ blocks:
346
+ - id: affix_bottom_bar_row
347
+ type: Box
348
+ layout:
349
+ gap: 12
350
+ justify: flex-end
351
+ align: center
352
+ blocks:
353
+ - id: affix_bottom_bar_status
354
+ type: Paragraph
355
+ layout:
356
+ flex: 1 1 0
357
+ properties:
358
+ content: 3 items selected
359
+ - id: affix_bottom_bar_delete
360
+ type: Button
361
+ layout:
362
+ flex: 0 0 auto
363
+ properties:
364
+ title: Delete
365
+ icon: AiOutlineDelete
366
+ color: danger
367
+ variant: outlined
368
+ size: small
369
+ events:
370
+ onClick:
371
+ - id: affix_bottom_bar_delete_msg
372
+ type: DisplayMessage
373
+ params:
374
+ content: Items deleted.
375
+ status: error
376
+ - id: affix_bottom_bar_export
377
+ type: Button
378
+ layout:
379
+ flex: 0 0 auto
380
+ properties:
381
+ title: Export
382
+ icon: AiOutlineDownload
383
+ color: primary
384
+ variant: solid
385
+ size: small
386
+ events:
387
+ onClick:
388
+ - id: affix_bottom_bar_export_msg
389
+ type: DisplayMessage
390
+ params:
391
+ content: Export started.
392
+ status: success
393
+ ```
394
+
395
+ | Property | Type | Default | Description |
396
+ | --- | --- | --- | --- |
397
+ | `offsetBottom` | number | - | Offset from the bottom of the viewport (in pixels). |
398
+ | `offsetTop` | number | - | Offset from the top of the viewport (in pixels). |
399
+ | `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design affix tokens](https://ant.design/components/affix#design-token). |
400
+ | `theme.zIndexPopup` | number | `10` | Z-index of the affix element when fixed. |
401
+
402
+ | Event | Event Data | Description |
403
+ | --- | --- | --- |
404
+ | `onChange` | \- | Triggered when container affix status changes. |
405
+
406
+ | Key | Target |
407
+ | --- | --- |
408
+ | `/block` | Outer block wrapper (always available). |
409
+ | `/element` | The Affix element. |
410
+
411
+ | Slot | Description |
412
+ | --- | --- |
413
+ | `content` | Child blocks wrapped by the Affix. |