@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.
- package/LICENSE +201 -0
- package/README.md +20 -0
- package/content/actions/callapi.md +66 -0
- package/content/actions/callmethod.md +41 -0
- package/content/actions/copytoclipboard.md +32 -0
- package/content/actions/displaymessage.md +53 -0
- package/content/actions/downloadcsv.md +89 -0
- package/content/actions/fetch.md +50 -0
- package/content/actions/geolocationcurrentposition.md +56 -0
- package/content/actions/link.md +104 -0
- package/content/actions/login.md +85 -0
- package/content/actions/logout.md +56 -0
- package/content/actions/pdfmake.md +304 -0
- package/content/actions/request.md +67 -0
- package/content/actions/reset.md +27 -0
- package/content/actions/resetvalidation.md +85 -0
- package/content/actions/scrollto.md +85 -0
- package/content/actions/setdarkmode.md +62 -0
- package/content/actions/setfocus.md +33 -0
- package/content/actions/setglobal.md +63 -0
- package/content/actions/setlocale.md +69 -0
- package/content/actions/setstate.md +70 -0
- package/content/actions/throw.md +72 -0
- package/content/actions/validate.md +87 -0
- package/content/actions/wait.md +24 -0
- package/content/agents/agent-endpoint-tools.md +190 -0
- package/content/agents/agent-mcp-tools.md +124 -0
- package/content/agents/agent-multi-agent.md +136 -0
- package/content/agents/agent-properties.md +174 -0
- package/content/agents/agent-server-hooks.md +336 -0
- package/content/agents/agentchat.md +515 -0
- package/content/agents/agentconversations.md +148 -0
- package/content/concepts/ai-agent-docs.md +190 -0
- package/content/concepts/cli.md +213 -0
- package/content/concepts/connections-and-requests.md +7 -0
- package/content/concepts/custom-html.md +3 -0
- package/content/concepts/custom-styling.md +161 -0
- package/content/concepts/events-and-actions.md +271 -0
- package/content/concepts/hosting-files.md +18 -0
- package/content/concepts/i18n.md +320 -0
- package/content/concepts/keyboard-shortcuts.md +218 -0
- package/content/concepts/layout-overview.md +478 -0
- package/content/concepts/lists.md +144 -0
- package/content/concepts/logger.md +43 -0
- package/content/concepts/lowdefy-schema.md +365 -0
- package/content/concepts/menus.md +144 -0
- package/content/concepts/module-authoring.md +564 -0
- package/content/concepts/modules.md +338 -0
- package/content/concepts/operators.md +45 -0
- package/content/concepts/overview.md +19 -0
- package/content/concepts/references-and-templates.md +207 -0
- package/content/concepts/secrets.md +24 -0
- package/content/concepts/selectors.md +143 -0
- package/content/connections/amazonredshift.md +176 -0
- package/content/connections/anthropic.md +232 -0
- package/content/connections/awss3.md +313 -0
- package/content/connections/azureblobstorage.md +133 -0
- package/content/connections/elasticsearch.md +371 -0
- package/content/connections/google.md +228 -0
- package/content/connections/googlecloudstorage.md +139 -0
- package/content/connections/googlesheet.md +313 -0
- package/content/connections/knex.md +206 -0
- package/content/connections/mariadb.md +177 -0
- package/content/connections/mcp.md +134 -0
- package/content/connections/mongodb.md +739 -0
- package/content/connections/mssql.md +191 -0
- package/content/connections/mysql.md +192 -0
- package/content/connections/openai-connection.md +228 -0
- package/content/connections/postgresql.md +200 -0
- package/content/connections/redis.md +116 -0
- package/content/connections/sendgridmail.md +94 -0
- package/content/connections/smtp.md +149 -0
- package/content/connections/sqlite.md +187 -0
- package/content/connections/stripe.md +115 -0
- package/content/container-blocks/affix.md +413 -0
- package/content/container-blocks/alert.md +937 -0
- package/content/container-blocks/badge.md +1222 -0
- package/content/container-blocks/box.md +1453 -0
- package/content/container-blocks/card.md +1200 -0
- package/content/container-blocks/carousel.md +2247 -0
- package/content/container-blocks/collapse.md +1335 -0
- package/content/container-blocks/configprovider.md +1070 -0
- package/content/container-blocks/confirmmodal.md +1159 -0
- package/content/container-blocks/content.md +597 -0
- package/content/container-blocks/descriptions.md +870 -0
- package/content/container-blocks/drawer.md +1379 -0
- package/content/container-blocks/dropdownmenu.md +643 -0
- package/content/container-blocks/flex.md +1510 -0
- package/content/container-blocks/footer.md +380 -0
- package/content/container-blocks/googlemaps.md +546 -0
- package/content/container-blocks/googlemapsheatmap.md +607 -0
- package/content/container-blocks/googlemapsscript.md +61 -0
- package/content/container-blocks/header.md +302 -0
- package/content/container-blocks/label.md +739 -0
- package/content/container-blocks/layout.md +604 -0
- package/content/container-blocks/masonry.md +1090 -0
- package/content/container-blocks/mobilemenu.md +1244 -0
- package/content/container-blocks/modal.md +1180 -0
- package/content/container-blocks/pageheadermenu.md +614 -0
- package/content/container-blocks/pagesidebarlayout.md +438 -0
- package/content/container-blocks/pagesidermenu.md +651 -0
- package/content/container-blocks/popover.md +1421 -0
- package/content/container-blocks/result.md +972 -0
- package/content/container-blocks/sider.md +1064 -0
- package/content/container-blocks/span.md +747 -0
- package/content/container-blocks/spinner.md +267 -0
- package/content/container-blocks/splitter.md +1735 -0
- package/content/container-blocks/tabs.md +1718 -0
- package/content/container-blocks/tooltip.md +1274 -0
- package/content/container-blocks/watermark.md +515 -0
- package/content/controls/for.md +103 -0
- package/content/controls/if.md +107 -0
- package/content/controls/log.md +50 -0
- package/content/controls/parallel.md +71 -0
- package/content/controls/parallel_for.md +36 -0
- package/content/controls/reject.md +56 -0
- package/content/controls/return.md +66 -0
- package/content/controls/set_state.md +98 -0
- package/content/controls/switch.md +90 -0
- package/content/controls/throw.md +79 -0
- package/content/controls/try.md +88 -0
- package/content/deployment/docker.md +149 -0
- package/content/deployment/node-server.md +27 -0
- package/content/deployment/vercel.md +101 -0
- package/content/display-blocks/aggrid.md +1459 -0
- package/content/display-blocks/anchor.md +336 -0
- package/content/display-blocks/avatar.md +1154 -0
- package/content/display-blocks/breadcrumb.md +517 -0
- package/content/display-blocks/button.md +758 -0
- package/content/display-blocks/calendar.md +156 -0
- package/content/display-blocks/dangeroushtml.md +314 -0
- package/content/display-blocks/dangerousmarkdown.md +423 -0
- package/content/display-blocks/diffgit.md +44 -0
- package/content/display-blocks/difflist.md +225 -0
- package/content/display-blocks/diffsidebyside.md +56 -0
- package/content/display-blocks/difftimeline.md +94 -0
- package/content/display-blocks/divider.md +406 -0
- package/content/display-blocks/download.md +60 -0
- package/content/display-blocks/dropdownbutton.md +661 -0
- package/content/display-blocks/echart.md +418 -0
- package/content/display-blocks/floatbutton.md +545 -0
- package/content/display-blocks/html.md +311 -0
- package/content/display-blocks/icon.md +717 -0
- package/content/display-blocks/img.md +479 -0
- package/content/display-blocks/markdown.md +520 -0
- package/content/display-blocks/markdownwithcode.md +730 -0
- package/content/display-blocks/menu.md +1123 -0
- package/content/display-blocks/message.md +941 -0
- package/content/display-blocks/notification.md +1410 -0
- package/content/display-blocks/paragraph.md +643 -0
- package/content/display-blocks/progress.md +818 -0
- package/content/display-blocks/qrcode.md +519 -0
- package/content/display-blocks/s3download.md +240 -0
- package/content/display-blocks/search.md +360 -0
- package/content/display-blocks/skeleton.md +272 -0
- package/content/display-blocks/skeletonavatar.md +222 -0
- package/content/display-blocks/skeletonbutton.md +245 -0
- package/content/display-blocks/skeletoninput.md +223 -0
- package/content/display-blocks/skeletonparagraph.md +201 -0
- package/content/display-blocks/statistic.md +485 -0
- package/content/display-blocks/steps.md +585 -0
- package/content/display-blocks/tag.md +620 -0
- package/content/display-blocks/title.md +654 -0
- package/content/display-blocks/tour.md +2359 -0
- package/content/input-blocks/autocomplete.md +786 -0
- package/content/input-blocks/buttonselector.md +964 -0
- package/content/input-blocks/checkboxselector.md +765 -0
- package/content/input-blocks/checkboxswitch.md +497 -0
- package/content/input-blocks/colorselector.md +884 -0
- package/content/input-blocks/daterangeselector.md +777 -0
- package/content/input-blocks/dateselector.md +693 -0
- package/content/input-blocks/datetimeselector.md +791 -0
- package/content/input-blocks/inputgallery.md +528 -0
- package/content/input-blocks/monthselector.md +717 -0
- package/content/input-blocks/multipleselector.md +1337 -0
- package/content/input-blocks/numberinput.md +855 -0
- package/content/input-blocks/pagination.md +679 -0
- package/content/input-blocks/paragraphinput.md +1664 -0
- package/content/input-blocks/passwordinput.md +480 -0
- package/content/input-blocks/phonenumberinput.md +688 -0
- package/content/input-blocks/radioselector.md +820 -0
- package/content/input-blocks/ratingslider.md +684 -0
- package/content/input-blocks/s3uploadbutton.md +384 -0
- package/content/input-blocks/s3uploaddragger.md +305 -0
- package/content/input-blocks/s3uploadphoto.md +288 -0
- package/content/input-blocks/segmentedselector.md +782 -0
- package/content/input-blocks/selector.md +1162 -0
- package/content/input-blocks/switch.md +552 -0
- package/content/input-blocks/textarea.md +714 -0
- package/content/input-blocks/textinput.md +639 -0
- package/content/input-blocks/tiptapinput.md +226 -0
- package/content/input-blocks/tiptapmentioninput.md +471 -0
- package/content/input-blocks/titleinput.md +1094 -0
- package/content/input-blocks/treeinput.md +144 -0
- package/content/input-blocks/treemultipleselector.md +162 -0
- package/content/input-blocks/treeselector.md +185 -0
- package/content/input-blocks/upload.md +149 -0
- package/content/input-blocks/uploaddragger.md +85 -0
- package/content/input-blocks/uploadphoto.md +84 -0
- package/content/input-blocks/weekselector.md +630 -0
- package/content/list-blocks/controlledlist.md +498 -0
- package/content/list-blocks/list.md +529 -0
- package/content/list-blocks/listselector.md +301 -0
- package/content/list-blocks/masonrylist.md +230 -0
- package/content/migration/upgrade-guide.md +106 -0
- package/content/migration/v4-to-v5.md +589 -0
- package/content/migration/v5-to-v6.md +36 -0
- package/content/operators/_actions.md +58 -0
- package/content/operators/_and.md +76 -0
- package/content/operators/_api.md +254 -0
- package/content/operators/_app.md +114 -0
- package/content/operators/_args.md +65 -0
- package/content/operators/_array.md +331 -0
- package/content/operators/_base64.md +49 -0
- package/content/operators/_boolean.md +33 -0
- package/content/operators/_build.md +166 -0
- package/content/operators/_change_case.md +357 -0
- package/content/operators/_date.md +415 -0
- package/content/operators/_dayjs.md +128 -0
- package/content/operators/_diff.md +61 -0
- package/content/operators/_divide.md +32 -0
- package/content/operators/_eq.md +52 -0
- package/content/operators/_event.md +86 -0
- package/content/operators/_function.md +52 -0
- package/content/operators/_get.md +92 -0
- package/content/operators/_global.md +86 -0
- package/content/operators/_gt.md +50 -0
- package/content/operators/_gte.md +50 -0
- package/content/operators/_hash.md +112 -0
- package/content/operators/_if.md +30 -0
- package/content/operators/_if_none.md +47 -0
- package/content/operators/_index.md +48 -0
- package/content/operators/_input.md +86 -0
- package/content/operators/_intl.md +135 -0
- package/content/operators/_item.md +166 -0
- package/content/operators/_js.md +113 -0
- package/content/operators/_json.md +120 -0
- package/content/operators/_jsonata.md +152 -0
- package/content/operators/_locale.md +65 -0
- package/content/operators/_location.md +40 -0
- package/content/operators/_log.md +22 -0
- package/content/operators/_lt.md +50 -0
- package/content/operators/_lte.md +50 -0
- package/content/operators/_math.md +407 -0
- package/content/operators/_media.md +83 -0
- package/content/operators/_menu.md +62 -0
- package/content/operators/_module.md +340 -0
- package/content/operators/_mql.md +95 -0
- package/content/operators/_ne.md +62 -0
- package/content/operators/_not.md +33 -0
- package/content/operators/_number.md +159 -0
- package/content/operators/_nunjucks.md +117 -0
- package/content/operators/_object.md +253 -0
- package/content/operators/_operator.md +33 -0
- package/content/operators/_or.md +67 -0
- package/content/operators/_product.md +45 -0
- package/content/operators/_random.md +90 -0
- package/content/operators/_ref.md +80 -0
- package/content/operators/_regex.md +69 -0
- package/content/operators/_request.md +35 -0
- package/content/operators/_request_details.md +29 -0
- package/content/operators/_secret.md +56 -0
- package/content/operators/_state.md +134 -0
- package/content/operators/_step.md +98 -0
- package/content/operators/_string.md +327 -0
- package/content/operators/_subtract.md +24 -0
- package/content/operators/_sum.md +45 -0
- package/content/operators/_switch.md +37 -0
- package/content/operators/_t.md +96 -0
- package/content/operators/_theme.md +65 -0
- package/content/operators/_type.md +78 -0
- package/content/operators/_uri.md +49 -0
- package/content/operators/_url_query.md +92 -0
- package/content/operators/_user.md +154 -0
- package/content/operators/_uuid.md +118 -0
- package/content/operators/_var.md +88 -0
- package/content/operators/_yaml.md +96 -0
- package/content/other/introduction.md +39 -0
- package/content/other/next-auth-providers.md +3 -0
- package/content/other/updatesession.md +26 -0
- package/content/plugins/plugins-actions.md +80 -0
- package/content/plugins/plugins-connections.md +98 -0
- package/content/plugins/plugins-dev.md +138 -0
- package/content/plugins/plugins-introduction.md +29 -0
- package/content/plugins/plugins-operators.md +71 -0
- package/content/testing/e2e-auth.md +108 -0
- package/content/testing/e2e-configuration.md +107 -0
- package/content/testing/e2e-getting-started.md +96 -0
- package/content/testing/e2e-introduction.md +53 -0
- package/content/testing/e2e-mocking.md +155 -0
- package/content/testing/e2e-writing-tests.md +214 -0
- package/content/tutorial/tutorial-actions-operators.md +222 -0
- package/content/tutorial/tutorial-add-blocks.md +86 -0
- package/content/tutorial/tutorial-create-page.md +57 -0
- package/content/tutorial/tutorial-display-data-page.md +181 -0
- package/content/tutorial/tutorial-next-steps.md +53 -0
- package/content/tutorial/tutorial-requests-sql.md +22 -0
- package/content/tutorial/tutorial-start.md +71 -0
- package/content/user-authentication/auth-providers.md +15 -0
- package/content/user-authentication/login-and-logout.md +122 -0
- package/content/user-authentication/users-introduction.md +31 -0
- package/index.json +2281 -0
- package/package.json +34 -0
- package/scripts/extractAgentDocs.js +130 -0
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
# Watermark
|
|
2
|
+
|
|
3
|
+
Watermark overlay with text, image, and font customization.
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
- id: basic_single
|
|
7
|
+
type: Watermark
|
|
8
|
+
properties:
|
|
9
|
+
text: Lowdefy
|
|
10
|
+
blocks:
|
|
11
|
+
- id: basic_single_child
|
|
12
|
+
type: Box
|
|
13
|
+
style:
|
|
14
|
+
height: 200px
|
|
15
|
+
- id: basic_multiline
|
|
16
|
+
type: Watermark
|
|
17
|
+
properties:
|
|
18
|
+
text:
|
|
19
|
+
- Lowdefy
|
|
20
|
+
- Confidential
|
|
21
|
+
blocks:
|
|
22
|
+
- id: basic_multiline_child
|
|
23
|
+
type: Box
|
|
24
|
+
style:
|
|
25
|
+
height: 220px
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
- id: img_logo
|
|
30
|
+
type: Watermark
|
|
31
|
+
properties:
|
|
32
|
+
image: https://lowdefy.com/favicon-32x32.png
|
|
33
|
+
width: 80
|
|
34
|
+
height: 80
|
|
35
|
+
blocks:
|
|
36
|
+
- id: img_logo_child
|
|
37
|
+
type: Box
|
|
38
|
+
style:
|
|
39
|
+
height: 240px
|
|
40
|
+
- id: img_small
|
|
41
|
+
type: Watermark
|
|
42
|
+
properties:
|
|
43
|
+
image: https://lowdefy.com/favicon-32x32.png
|
|
44
|
+
width: 40
|
|
45
|
+
height: 40
|
|
46
|
+
blocks:
|
|
47
|
+
- id: img_small_child
|
|
48
|
+
type: Box
|
|
49
|
+
style:
|
|
50
|
+
height: 200px
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```yaml
|
|
54
|
+
- id: font_red
|
|
55
|
+
type: Watermark
|
|
56
|
+
properties:
|
|
57
|
+
text: Rejected
|
|
58
|
+
font:
|
|
59
|
+
color: rgba(255, 0, 0, 0.15)
|
|
60
|
+
blocks:
|
|
61
|
+
- id: font_red_child
|
|
62
|
+
type: Box
|
|
63
|
+
style:
|
|
64
|
+
height: 180px
|
|
65
|
+
- id: font_large_bold
|
|
66
|
+
type: Watermark
|
|
67
|
+
properties:
|
|
68
|
+
text: DRAFT
|
|
69
|
+
font:
|
|
70
|
+
fontSize: 28
|
|
71
|
+
fontWeight: bold
|
|
72
|
+
color: rgba(255, 0, 0, 0.08)
|
|
73
|
+
blocks:
|
|
74
|
+
- id: font_large_bold_child
|
|
75
|
+
type: Box
|
|
76
|
+
style:
|
|
77
|
+
height: 220px
|
|
78
|
+
- id: font_serif_italic
|
|
79
|
+
type: Watermark
|
|
80
|
+
properties:
|
|
81
|
+
text: Elegant
|
|
82
|
+
font:
|
|
83
|
+
fontFamily: Georgia, serif
|
|
84
|
+
fontStyle: italic
|
|
85
|
+
fontSize: 20
|
|
86
|
+
color: rgba(139, 92, 246, 0.1)
|
|
87
|
+
blocks:
|
|
88
|
+
- id: font_serif_italic_child
|
|
89
|
+
type: Box
|
|
90
|
+
style:
|
|
91
|
+
height: 200px
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
- id: align_left
|
|
96
|
+
type: Watermark
|
|
97
|
+
properties:
|
|
98
|
+
text:
|
|
99
|
+
- Left Aligned
|
|
100
|
+
- Second Line
|
|
101
|
+
font:
|
|
102
|
+
textAlign: left
|
|
103
|
+
color: rgba(0, 0, 0, 0.1)
|
|
104
|
+
blocks:
|
|
105
|
+
- id: align_left_child
|
|
106
|
+
type: Box
|
|
107
|
+
style:
|
|
108
|
+
height: 200px
|
|
109
|
+
- id: align_center
|
|
110
|
+
type: Watermark
|
|
111
|
+
properties:
|
|
112
|
+
text:
|
|
113
|
+
- Center Aligned
|
|
114
|
+
- Second Line
|
|
115
|
+
font:
|
|
116
|
+
textAlign: center
|
|
117
|
+
color: rgba(0, 0, 0, 0.1)
|
|
118
|
+
blocks:
|
|
119
|
+
- id: align_center_child
|
|
120
|
+
type: Box
|
|
121
|
+
style:
|
|
122
|
+
height: 200px
|
|
123
|
+
- id: align_right
|
|
124
|
+
type: Watermark
|
|
125
|
+
properties:
|
|
126
|
+
text:
|
|
127
|
+
- Right Aligned
|
|
128
|
+
- Second Line
|
|
129
|
+
font:
|
|
130
|
+
textAlign: right
|
|
131
|
+
color: rgba(0, 0, 0, 0.1)
|
|
132
|
+
blocks:
|
|
133
|
+
- id: align_right_child
|
|
134
|
+
type: Box
|
|
135
|
+
style:
|
|
136
|
+
height: 200px
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```yaml
|
|
140
|
+
- id: rotate_default
|
|
141
|
+
type: Watermark
|
|
142
|
+
properties:
|
|
143
|
+
text: Default (-22 degrees)
|
|
144
|
+
blocks:
|
|
145
|
+
- id: rotate_default_child
|
|
146
|
+
type: Box
|
|
147
|
+
style:
|
|
148
|
+
height: 180px
|
|
149
|
+
- id: rotate_horizontal
|
|
150
|
+
type: Watermark
|
|
151
|
+
properties:
|
|
152
|
+
text: Horizontal (0 degrees)
|
|
153
|
+
rotate: 0
|
|
154
|
+
blocks:
|
|
155
|
+
- id: rotate_horizontal_child
|
|
156
|
+
type: Box
|
|
157
|
+
style:
|
|
158
|
+
height: 180px
|
|
159
|
+
- id: rotate_steep
|
|
160
|
+
type: Watermark
|
|
161
|
+
properties:
|
|
162
|
+
text: Steep (-45 degrees)
|
|
163
|
+
rotate: -45
|
|
164
|
+
blocks:
|
|
165
|
+
- id: rotate_steep_child
|
|
166
|
+
type: Box
|
|
167
|
+
style:
|
|
168
|
+
height: 200px
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
- id: gap_tight
|
|
173
|
+
type: Watermark
|
|
174
|
+
properties:
|
|
175
|
+
text: Tight Gap
|
|
176
|
+
gap:
|
|
177
|
+
- 50
|
|
178
|
+
- 50
|
|
179
|
+
blocks:
|
|
180
|
+
- id: gap_tight_child
|
|
181
|
+
type: Box
|
|
182
|
+
style:
|
|
183
|
+
height: 200px
|
|
184
|
+
- id: gap_wide
|
|
185
|
+
type: Watermark
|
|
186
|
+
properties:
|
|
187
|
+
text: Wide Gap
|
|
188
|
+
gap:
|
|
189
|
+
- 200
|
|
190
|
+
- 200
|
|
191
|
+
blocks:
|
|
192
|
+
- id: gap_wide_child
|
|
193
|
+
type: Box
|
|
194
|
+
style:
|
|
195
|
+
height: 200px
|
|
196
|
+
- id: offset_shifted
|
|
197
|
+
type: Watermark
|
|
198
|
+
properties:
|
|
199
|
+
text: Offset (50, 40)
|
|
200
|
+
offset:
|
|
201
|
+
- 50
|
|
202
|
+
- 40
|
|
203
|
+
blocks:
|
|
204
|
+
- id: offset_shifted_child
|
|
205
|
+
type: Box
|
|
206
|
+
style:
|
|
207
|
+
height: 200px
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
```yaml
|
|
211
|
+
- id: zindex_high
|
|
212
|
+
type: Watermark
|
|
213
|
+
properties:
|
|
214
|
+
text: High zIndex (100)
|
|
215
|
+
zIndex: 100
|
|
216
|
+
blocks:
|
|
217
|
+
- id: zindex_high_child
|
|
218
|
+
type: Box
|
|
219
|
+
style:
|
|
220
|
+
height: 180px
|
|
221
|
+
- id: inherit_false
|
|
222
|
+
type: Watermark
|
|
223
|
+
properties:
|
|
224
|
+
text: Inherit disabled
|
|
225
|
+
inherit: false
|
|
226
|
+
blocks:
|
|
227
|
+
- id: inherit_false_child
|
|
228
|
+
type: Box
|
|
229
|
+
style:
|
|
230
|
+
height: 180px
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
```yaml
|
|
234
|
+
- id: theme_color_fill
|
|
235
|
+
type: Watermark
|
|
236
|
+
properties:
|
|
237
|
+
text: Custom Fill Color
|
|
238
|
+
theme:
|
|
239
|
+
colorFill: rgba(22, 119, 255, 0.12)
|
|
240
|
+
blocks:
|
|
241
|
+
- id: theme_color_fill_child
|
|
242
|
+
type: Box
|
|
243
|
+
style:
|
|
244
|
+
height: 200px
|
|
245
|
+
- id: theme_font_size
|
|
246
|
+
type: Watermark
|
|
247
|
+
properties:
|
|
248
|
+
text: Large Default Font
|
|
249
|
+
theme:
|
|
250
|
+
fontSizeLG: 24
|
|
251
|
+
blocks:
|
|
252
|
+
- id: theme_font_size_child
|
|
253
|
+
type: Box
|
|
254
|
+
style:
|
|
255
|
+
height: 200px
|
|
256
|
+
- id: theme_font_family
|
|
257
|
+
type: Watermark
|
|
258
|
+
properties:
|
|
259
|
+
text: Serif Theme Font
|
|
260
|
+
theme:
|
|
261
|
+
fontFamily: Georgia, serif
|
|
262
|
+
blocks:
|
|
263
|
+
- id: theme_font_family_child
|
|
264
|
+
type: Box
|
|
265
|
+
style:
|
|
266
|
+
height: 200px
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
The element CSS key applies Tailwind classes to the Watermark wrapper. Here a gradient background and rounded corners create a styled preview area.
|
|
270
|
+
|
|
271
|
+
Dark Background
|
|
272
|
+
|
|
273
|
+
White watermark text with low opacity stays subtle on a dark surface. Useful for dark-mode interfaces and embedded viewers.
|
|
274
|
+
|
|
275
|
+
Drag and drop files here or click to browse
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
- id: css_gradient_bg
|
|
279
|
+
type: Watermark
|
|
280
|
+
class:
|
|
281
|
+
element: bg-gradient-to-br from-primary/10 to-primary/5 rounded-lg p-4
|
|
282
|
+
properties:
|
|
283
|
+
text: Preview
|
|
284
|
+
font:
|
|
285
|
+
color: rgba(79, 70, 229, 0.1)
|
|
286
|
+
fontSize: 18
|
|
287
|
+
blocks:
|
|
288
|
+
- id: css_gradient_bg_content
|
|
289
|
+
type: Paragraph
|
|
290
|
+
properties:
|
|
291
|
+
content: >
|
|
292
|
+
The element CSS key applies Tailwind classes to the Watermark wrapper.
|
|
293
|
+
Here a gradient background and rounded corners create a styled preview
|
|
294
|
+
area.
|
|
295
|
+
- id: css_dark_surface
|
|
296
|
+
type: Watermark
|
|
297
|
+
class:
|
|
298
|
+
element: bg-bg-layout rounded-lg p-4
|
|
299
|
+
properties:
|
|
300
|
+
text: Dark Theme
|
|
301
|
+
font:
|
|
302
|
+
color: rgba(255, 255, 255, 0.08)
|
|
303
|
+
fontSize: 16
|
|
304
|
+
blocks:
|
|
305
|
+
- id: css_dark_surface_title
|
|
306
|
+
type: Title
|
|
307
|
+
style:
|
|
308
|
+
color: white
|
|
309
|
+
properties:
|
|
310
|
+
content: Dark Background
|
|
311
|
+
level: 5
|
|
312
|
+
- id: css_dark_surface_content
|
|
313
|
+
type: Paragraph
|
|
314
|
+
style:
|
|
315
|
+
color: rgba(255, 255, 255, 0.7)
|
|
316
|
+
properties:
|
|
317
|
+
content: >
|
|
318
|
+
White watermark text with low opacity stays subtle on a dark surface.
|
|
319
|
+
Useful for dark-mode interfaces and embedded viewers.
|
|
320
|
+
- id: css_bordered_area
|
|
321
|
+
type: Watermark
|
|
322
|
+
class:
|
|
323
|
+
element: border-2 border-dashed border-border rounded-xl p-6
|
|
324
|
+
properties:
|
|
325
|
+
text: Upload Area
|
|
326
|
+
font:
|
|
327
|
+
color: rgba(0, 0, 0, 0.06)
|
|
328
|
+
fontSize: 20
|
|
329
|
+
rotate: 0
|
|
330
|
+
gap:
|
|
331
|
+
- 120
|
|
332
|
+
- 80
|
|
333
|
+
blocks:
|
|
334
|
+
- id: css_bordered_area_text
|
|
335
|
+
type: Paragraph
|
|
336
|
+
style:
|
|
337
|
+
textAlign: center
|
|
338
|
+
color: "#999"
|
|
339
|
+
properties:
|
|
340
|
+
content: Drag and drop files here or click to browse
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Quarterly Financial Report
|
|
344
|
+
|
|
345
|
+
Prepared for the Board of Directors — Q1 2026
|
|
346
|
+
|
|
347
|
+
Revenue for the first quarter reached $12.4M, representing a 15% increase year-over-year. Operating margins improved to 23% driven by efficiency gains across all business units.
|
|
348
|
+
|
|
349
|
+
Customer acquisition costs decreased by 8% while customer lifetime value increased by 12%, indicating strong unit economics. The sales pipeline remains robust with $45M in qualified opportunities.
|
|
350
|
+
|
|
351
|
+
```yaml
|
|
352
|
+
- id: report_wrapper
|
|
353
|
+
type: Box
|
|
354
|
+
class: bg-bg-container rounded-lg shadow-sm
|
|
355
|
+
blocks:
|
|
356
|
+
- id: report_watermark
|
|
357
|
+
type: Watermark
|
|
358
|
+
properties:
|
|
359
|
+
text: DRAFT
|
|
360
|
+
font:
|
|
361
|
+
fontSize: 28
|
|
362
|
+
fontWeight: bold
|
|
363
|
+
color: rgba(255, 0, 0, 0.06)
|
|
364
|
+
gap:
|
|
365
|
+
- 150
|
|
366
|
+
- 150
|
|
367
|
+
rotate: -30
|
|
368
|
+
blocks:
|
|
369
|
+
- id: report_heading
|
|
370
|
+
type: Title
|
|
371
|
+
properties:
|
|
372
|
+
content: Quarterly Financial Report
|
|
373
|
+
level: 4
|
|
374
|
+
- id: report_subtitle
|
|
375
|
+
type: Paragraph
|
|
376
|
+
properties:
|
|
377
|
+
content: Prepared for the Board of Directors — Q1 2026
|
|
378
|
+
- id: report_divider
|
|
379
|
+
type: Divider
|
|
380
|
+
- id: report_body_1
|
|
381
|
+
type: Paragraph
|
|
382
|
+
properties:
|
|
383
|
+
content: >
|
|
384
|
+
Revenue for the first quarter reached $12.4M, representing a 15%
|
|
385
|
+
increase year-over-year. Operating margins improved to 23% driven
|
|
386
|
+
by efficiency gains across all business units.
|
|
387
|
+
- id: report_body_2
|
|
388
|
+
type: Paragraph
|
|
389
|
+
properties:
|
|
390
|
+
content: >
|
|
391
|
+
Customer acquisition costs decreased by 8% while customer lifetime
|
|
392
|
+
value increased by 12%, indicating strong unit economics. The
|
|
393
|
+
sales pipeline remains robust with $45M in qualified
|
|
394
|
+
opportunities.
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
Project Overview
|
|
398
|
+
|
|
399
|
+
A web application for managing team workflows and project timelines. Currently in active development with scheduled release next quarter.
|
|
400
|
+
|
|
401
|
+
Mobile app for real-time inventory tracking across multiple warehouses. Integrates with existing ERP systems for seamless data sync.
|
|
402
|
+
|
|
403
|
+
```yaml
|
|
404
|
+
- id: dashboard_watermark
|
|
405
|
+
type: Watermark
|
|
406
|
+
properties:
|
|
407
|
+
text:
|
|
408
|
+
- CONFIDENTIAL
|
|
409
|
+
- Do Not Copy
|
|
410
|
+
font:
|
|
411
|
+
fontSize: 18
|
|
412
|
+
color: rgba(22, 119, 255, 0.06)
|
|
413
|
+
fontWeight: bold
|
|
414
|
+
gap:
|
|
415
|
+
- 120
|
|
416
|
+
- 120
|
|
417
|
+
blocks:
|
|
418
|
+
- id: dashboard_title
|
|
419
|
+
type: Title
|
|
420
|
+
properties:
|
|
421
|
+
content: Project Overview
|
|
422
|
+
level: 4
|
|
423
|
+
- id: dashboard_cards
|
|
424
|
+
type: Box
|
|
425
|
+
layout:
|
|
426
|
+
gap: 16
|
|
427
|
+
blocks:
|
|
428
|
+
- id: dashboard_card_alpha
|
|
429
|
+
type: Card
|
|
430
|
+
layout:
|
|
431
|
+
flex: 1 1 0
|
|
432
|
+
properties:
|
|
433
|
+
title: Project Alpha
|
|
434
|
+
slots:
|
|
435
|
+
extra:
|
|
436
|
+
blocks:
|
|
437
|
+
- id: dashboard_alpha_tag
|
|
438
|
+
type: Tag
|
|
439
|
+
layout:
|
|
440
|
+
flex: 0 0 auto
|
|
441
|
+
properties:
|
|
442
|
+
title: Active
|
|
443
|
+
color: success
|
|
444
|
+
blocks:
|
|
445
|
+
- id: dashboard_alpha_desc
|
|
446
|
+
type: Paragraph
|
|
447
|
+
properties:
|
|
448
|
+
content: A web application for managing team workflows and project timelines.
|
|
449
|
+
Currently in active development with scheduled release next
|
|
450
|
+
quarter.
|
|
451
|
+
- id: dashboard_alpha_progress
|
|
452
|
+
type: Progress
|
|
453
|
+
properties:
|
|
454
|
+
percent: 68
|
|
455
|
+
- id: dashboard_card_beta
|
|
456
|
+
type: Card
|
|
457
|
+
layout:
|
|
458
|
+
flex: 1 1 0
|
|
459
|
+
properties:
|
|
460
|
+
title: Project Beta
|
|
461
|
+
slots:
|
|
462
|
+
extra:
|
|
463
|
+
blocks:
|
|
464
|
+
- id: dashboard_beta_tag
|
|
465
|
+
type: Tag
|
|
466
|
+
layout:
|
|
467
|
+
flex: 0 0 auto
|
|
468
|
+
properties:
|
|
469
|
+
title: Planning
|
|
470
|
+
color: warning
|
|
471
|
+
blocks:
|
|
472
|
+
- id: dashboard_beta_desc
|
|
473
|
+
type: Paragraph
|
|
474
|
+
properties:
|
|
475
|
+
content: Mobile app for real-time inventory tracking across multiple warehouses.
|
|
476
|
+
Integrates with existing ERP systems for seamless data sync.
|
|
477
|
+
- id: dashboard_beta_progress
|
|
478
|
+
type: Progress
|
|
479
|
+
properties:
|
|
480
|
+
percent: 25
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
| Property | Type | Default | Description |
|
|
484
|
+
| --- | --- | --- | --- |
|
|
485
|
+
| `font` | object | - | Font style configuration with color, fontSize, fontWeight, fontFamily, fontStyle, textAlign. |
|
|
486
|
+
| `font.color` | string | - | Font color of the watermark. |
|
|
487
|
+
| `font.fontFamily` | string | - | Font family of the watermark. |
|
|
488
|
+
| `font.fontSize` | number | - | Font size of the watermark. |
|
|
489
|
+
| `font.fontStyle` | string | - | Font style of the watermark. |
|
|
490
|
+
| `font.fontWeight` | string \| number | - | Font weight of the watermark. |
|
|
491
|
+
| `font.textAlign` | string | - | Text alignment of the watermark. Enum: `start`, `end`, `left`, `right`, `center`. |
|
|
492
|
+
| `gap` | array | - | Gap between watermarks as [horizontal, vertical]. |
|
|
493
|
+
| `height` | number | - | Height of the watermark. |
|
|
494
|
+
| `image` | string | - | Image URL to use as watermark. If set, text content is ignored. |
|
|
495
|
+
| `inherit` | boolean | `true` | Inherit watermark config from parent Watermark block. |
|
|
496
|
+
| `offset` | array | - | Offset of the watermark from the top-left as [x, y]. |
|
|
497
|
+
| `rotate` | number | `-22` | Rotation angle of watermark in degrees. |
|
|
498
|
+
| `text` | string \| array | - | Watermark text content. Maps to antd "content" prop. |
|
|
499
|
+
| `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design watermark tokens](https://ant.design/components/watermark#design-token). |
|
|
500
|
+
| `theme.colorFill` | string | - | Default watermark text color when font.color is not set. Maps to the global colorFill token. |
|
|
501
|
+
| `theme.fontSizeLG` | number | `16` | Default watermark font size when font.fontSize is not set. Maps to the global fontSizeLG token. |
|
|
502
|
+
| `theme.fontFamily` | string | `"sans-serif"` | Default font family used when font.fontFamily is not set. |
|
|
503
|
+
| `width` | number | - | Width of the watermark. |
|
|
504
|
+
| `zIndex` | integer | - | Z-index of the watermark. |
|
|
505
|
+
|
|
506
|
+
No events defined.
|
|
507
|
+
|
|
508
|
+
| Key | Target |
|
|
509
|
+
| --- | --- |
|
|
510
|
+
| `/block` | Outer block wrapper (always available). |
|
|
511
|
+
| `/element` | The Watermark element. |
|
|
512
|
+
|
|
513
|
+
| Slot | Description |
|
|
514
|
+
| --- | --- |
|
|
515
|
+
| `content` | Child blocks with a watermark overlay. |
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# :for
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
({:for: string, :in: any[], :do: routine}): void
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
The `:for` control iterates over an array, executing a routine for each item sequentially.
|
|
8
|
+
The routine defined by the `:do` key is executed for each item within the array defined by the `:in` key. This routine is executed sequentially for each item in the array.
|
|
9
|
+
The value of the current array item can be accessed using the [`_item`](/_item) operator with the item key set by the `:for` key. This operator is only available within the `:for` and [`:parallel_for`](/:parallel_for) controls.
|
|
10
|
+
|
|
11
|
+
#### Keys
|
|
12
|
+
|
|
13
|
+
- `:for: string`: __Required__ - Used to define the key that can be used to access the value of the array item of the current iteration.
|
|
14
|
+
- `:in: array`: __Required__ - Used to define the array of data to iterate over.
|
|
15
|
+
- `:do: routine`: __Required__ - Used to define the routine that will be executed for each array item.
|
|
16
|
+
|
|
17
|
+
#### Examples
|
|
18
|
+
|
|
19
|
+
###### Simple Example
|
|
20
|
+
```yaml
|
|
21
|
+
- :for: count
|
|
22
|
+
:in:
|
|
23
|
+
- 1
|
|
24
|
+
- 2
|
|
25
|
+
- 3
|
|
26
|
+
:do:
|
|
27
|
+
:log:
|
|
28
|
+
_item: count
|
|
29
|
+
```
|
|
30
|
+
Logs:
|
|
31
|
+
```
|
|
32
|
+
1
|
|
33
|
+
2
|
|
34
|
+
3
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
###### Calculate Order Total
|
|
38
|
+
```yaml
|
|
39
|
+
- :set_state:
|
|
40
|
+
order_total: 0
|
|
41
|
+
|
|
42
|
+
- :for: item
|
|
43
|
+
:in:
|
|
44
|
+
_payload: order_items
|
|
45
|
+
:do:
|
|
46
|
+
- :set_state:
|
|
47
|
+
item_total:
|
|
48
|
+
_math.multiply:
|
|
49
|
+
- _item: item.price
|
|
50
|
+
- _item: item.quantity
|
|
51
|
+
|
|
52
|
+
- :set_state:
|
|
53
|
+
order_total:
|
|
54
|
+
_math.add:
|
|
55
|
+
- _state: order_total
|
|
56
|
+
- _state: item_total
|
|
57
|
+
|
|
58
|
+
- :log:
|
|
59
|
+
_string.concat:
|
|
60
|
+
- _item: item.name
|
|
61
|
+
- ' x '
|
|
62
|
+
- _item: item.quantity
|
|
63
|
+
- ' = $'
|
|
64
|
+
- _state: item_total
|
|
65
|
+
|
|
66
|
+
- :return:
|
|
67
|
+
total:
|
|
68
|
+
_state: order_total
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
###### Setting Active Users in MongoDB
|
|
72
|
+
```yaml
|
|
73
|
+
- id: get_active_users
|
|
74
|
+
type: MongoDBAggregation
|
|
75
|
+
connectionId: activity-log
|
|
76
|
+
properties:
|
|
77
|
+
pipeline:
|
|
78
|
+
- $match:
|
|
79
|
+
$expr:
|
|
80
|
+
$gte:
|
|
81
|
+
- $timestamp
|
|
82
|
+
- $dateTrunc:
|
|
83
|
+
date: $$NOW
|
|
84
|
+
unit: day
|
|
85
|
+
- $group:
|
|
86
|
+
_id: $user_id
|
|
87
|
+
- :for: user
|
|
88
|
+
:in:
|
|
89
|
+
_step: get_active_users
|
|
90
|
+
:do:
|
|
91
|
+
- id: update_user_status
|
|
92
|
+
type: MongoDBUpdateOne
|
|
93
|
+
connectionId: users
|
|
94
|
+
properties:
|
|
95
|
+
filter:
|
|
96
|
+
_id:
|
|
97
|
+
_item: user._id
|
|
98
|
+
update:
|
|
99
|
+
$set:
|
|
100
|
+
last_processed:
|
|
101
|
+
_date: now
|
|
102
|
+
status: 'active'
|
|
103
|
+
```
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# :if
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
({:if: boolean, :then: routine, :else: routine}): void
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
The `:if` control executes different routines based on a boolean condition. It evaluates the condition and runs the `:then` branch if true, or the optional `:else` branch if false. Generally other operators are used to evaluate the test.
|
|
8
|
+
|
|
9
|
+
The `:if` control also works in client [event action lists](/events-and-actions) — there each branch is a list of actions, and the same syntax and semantics apply.
|
|
10
|
+
|
|
11
|
+
The condition uses JS truthiness — any truthy value takes the `:then` branch. This differs from an action's `skip` field, which only skips when it evaluates to exactly `true`.
|
|
12
|
+
|
|
13
|
+
#### Keys
|
|
14
|
+
|
|
15
|
+
- `:if: boolean`: __Required__ - The boolean result of a test or value.
|
|
16
|
+
- `:then: routine`: __Required__ - The routine to execute if the test result is true.
|
|
17
|
+
- `:else: routine`: The routine to execute if the test result is false.
|
|
18
|
+
|
|
19
|
+
#### Examples
|
|
20
|
+
|
|
21
|
+
###### Simple Example
|
|
22
|
+
```yaml
|
|
23
|
+
routine:
|
|
24
|
+
- :if: true
|
|
25
|
+
:then:
|
|
26
|
+
:log: 'Test was true'
|
|
27
|
+
:else:
|
|
28
|
+
:log: 'Test was false'
|
|
29
|
+
```
|
|
30
|
+
Logs:
|
|
31
|
+
`Test was true`
|
|
32
|
+
|
|
33
|
+
###### Set User Features
|
|
34
|
+
```yaml
|
|
35
|
+
routine:
|
|
36
|
+
- :if:
|
|
37
|
+
_eq:
|
|
38
|
+
- _payload: user_type
|
|
39
|
+
- 'premium'
|
|
40
|
+
:then:
|
|
41
|
+
- :set_state:
|
|
42
|
+
discount: 0.2
|
|
43
|
+
features: ['unlimited', 'priority_support']
|
|
44
|
+
:else:
|
|
45
|
+
- :set_state:
|
|
46
|
+
discount: 0
|
|
47
|
+
features: ['basic']
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
###### Optional Fraud Check
|
|
51
|
+
|
|
52
|
+
```yaml
|
|
53
|
+
routines:
|
|
54
|
+
- :if:
|
|
55
|
+
_gte:
|
|
56
|
+
- _payload: order_amount
|
|
57
|
+
- 1000
|
|
58
|
+
:then:
|
|
59
|
+
- :log: 'High-value order detected, applying fraud checks'
|
|
60
|
+
- id: fraud_check
|
|
61
|
+
type: FraudDetectionAPI
|
|
62
|
+
connectionId: fraud-service
|
|
63
|
+
properties:
|
|
64
|
+
amount:
|
|
65
|
+
_payload: order_amount
|
|
66
|
+
customer_id:
|
|
67
|
+
_payload: customer_id
|
|
68
|
+
- :if:
|
|
69
|
+
_gt:
|
|
70
|
+
- _step: fraud_check.risk_score
|
|
71
|
+
- 0.7
|
|
72
|
+
:then:
|
|
73
|
+
:reject: 'Order flagged for manual review'
|
|
74
|
+
- id: create_payment_intent
|
|
75
|
+
type: StripeRequest
|
|
76
|
+
connectionId: stripe
|
|
77
|
+
properties:
|
|
78
|
+
paymentIntents:
|
|
79
|
+
create:
|
|
80
|
+
- amount: 2000
|
|
81
|
+
currency: eur
|
|
82
|
+
payment_method_types: ['card']
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
###### In a client event action list
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
events:
|
|
89
|
+
onClick:
|
|
90
|
+
- :if:
|
|
91
|
+
_not:
|
|
92
|
+
_state: skip_reopen
|
|
93
|
+
:then:
|
|
94
|
+
- id: reopen_ticket
|
|
95
|
+
type: Request
|
|
96
|
+
params: reopen_ticket
|
|
97
|
+
- id: redirect
|
|
98
|
+
type: Link
|
|
99
|
+
params:
|
|
100
|
+
pageId: ticket-view
|
|
101
|
+
:else:
|
|
102
|
+
- id: show_blocked
|
|
103
|
+
type: DisplayMessage
|
|
104
|
+
params:
|
|
105
|
+
content: Ticket cannot be reopened.
|
|
106
|
+
status: warning
|
|
107
|
+
```
|