@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,156 @@
|
|
|
1
|
+
# Calendar
|
|
2
|
+
|
|
3
|
+
Full-size or compact calendar for date display and selection, with support for disabled dates, date cell badges, and panel navigation events.
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
- id: fullsize_default
|
|
7
|
+
type: Calendar
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
```yaml
|
|
11
|
+
- id: compact_default
|
|
12
|
+
type: Calendar
|
|
13
|
+
properties:
|
|
14
|
+
fullscreen: false
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
- id: year_mode
|
|
19
|
+
type: Calendar
|
|
20
|
+
properties:
|
|
21
|
+
mode: year
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
- id: valid_range
|
|
26
|
+
type: Calendar
|
|
27
|
+
properties:
|
|
28
|
+
validRange:
|
|
29
|
+
- 2026-01-01
|
|
30
|
+
- 2026-12-31
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
- id: disabled_min_max
|
|
35
|
+
type: Calendar
|
|
36
|
+
properties:
|
|
37
|
+
disabledDates:
|
|
38
|
+
min: 2026-03-10
|
|
39
|
+
max: 2026-03-25
|
|
40
|
+
- id: disabled_specific
|
|
41
|
+
type: Calendar
|
|
42
|
+
properties:
|
|
43
|
+
fullscreen: false
|
|
44
|
+
disabledDates:
|
|
45
|
+
dates:
|
|
46
|
+
- 2026-03-15
|
|
47
|
+
- 2026-03-20
|
|
48
|
+
- 2026-03-25
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
- id: cell_data_badges
|
|
53
|
+
type: Calendar
|
|
54
|
+
properties:
|
|
55
|
+
dateCellData:
|
|
56
|
+
- date: 2026-03-05
|
|
57
|
+
content: Team standup
|
|
58
|
+
status: processing
|
|
59
|
+
- date: 2026-03-05
|
|
60
|
+
content: Code review
|
|
61
|
+
status: success
|
|
62
|
+
- date: 2026-03-12
|
|
63
|
+
content: Sprint planning
|
|
64
|
+
status: warning
|
|
65
|
+
- date: 2026-03-15
|
|
66
|
+
content: Release deadline
|
|
67
|
+
status: error
|
|
68
|
+
- date: 2026-03-20
|
|
69
|
+
content: Demo day
|
|
70
|
+
status: success
|
|
71
|
+
- date: 2026-03-20
|
|
72
|
+
content: Retrospective
|
|
73
|
+
status: default
|
|
74
|
+
- date: 2026-03-25
|
|
75
|
+
content: Team lunch
|
|
76
|
+
color: "#52c41a"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
- id: compact_badges
|
|
81
|
+
type: Calendar
|
|
82
|
+
properties:
|
|
83
|
+
fullscreen: false
|
|
84
|
+
dateCellData:
|
|
85
|
+
- date: 2026-03-10
|
|
86
|
+
content: Meeting
|
|
87
|
+
status: success
|
|
88
|
+
- date: 2026-03-18
|
|
89
|
+
content: Deadline
|
|
90
|
+
status: error
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
- id: calendar_events
|
|
95
|
+
type: Calendar
|
|
96
|
+
properties:
|
|
97
|
+
fullscreen: false
|
|
98
|
+
events:
|
|
99
|
+
onSelect:
|
|
100
|
+
- id: show_date
|
|
101
|
+
type: DisplayMessage
|
|
102
|
+
params:
|
|
103
|
+
content:
|
|
104
|
+
_string.concat:
|
|
105
|
+
- "Selected: "
|
|
106
|
+
- _event: date
|
|
107
|
+
duration: 2
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
- id: themed_calendar
|
|
112
|
+
type: Calendar
|
|
113
|
+
properties:
|
|
114
|
+
fullscreen: false
|
|
115
|
+
theme:
|
|
116
|
+
itemActiveBg: "#f9f0ff"
|
|
117
|
+
colorPrimary: "#722ed1"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
| Property | Type | Default | Description |
|
|
121
|
+
| --- | --- | --- | --- |
|
|
122
|
+
| `fullscreen` | boolean | `true` | Whether to display the calendar in full size. Set to false for a compact card-style calendar. |
|
|
123
|
+
| `mode` | string | `"month"` | The display mode of the calendar panel. Enum: `month`, `year`. |
|
|
124
|
+
| `disabledDates` | object | - | Disable specific dates so that they can not be chosen. |
|
|
125
|
+
| `disabledDates.min` | string \| object | - | Disable all dates less than the minimum date. Can be a date string or a _date object. |
|
|
126
|
+
| `disabledDates.max` | string \| object | - | Disable all dates greater than the maximum date. Can be a date string or a _date object. |
|
|
127
|
+
| `disabledDates.dates` | array | - | Array of specific dates to disable. |
|
|
128
|
+
| `disabledDates.ranges` | array | - | Array of date ranges to disable. |
|
|
129
|
+
| `disabledDates.ranges.$.from` | string \| object | - | Start of the disabled range. |
|
|
130
|
+
| `disabledDates.ranges.$.to` | string \| object | - | End of the disabled range. |
|
|
131
|
+
| `validRange` | array | - | Set the valid date range as [startDate, endDate]. Dates outside this range will be disabled. |
|
|
132
|
+
| `dateCellData` | array | - | Data to display inside calendar date cells. Each item renders as a Badge in the corresponding date cell. |
|
|
133
|
+
| `dateCellData.$.date` | string | - | The date for this cell data (ISO date string). |
|
|
134
|
+
| `dateCellData.$.content` | string | - | Text to display in the date cell. |
|
|
135
|
+
| `dateCellData.$.status` | string | - | Badge status type. Enum: `success`, `processing`, `default`, `error`, `warning`. |
|
|
136
|
+
| `dateCellData.$.color` | string | - | Custom badge color. |
|
|
137
|
+
| `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design calendar tokens](https://ant.design/components/calendar#design-token). |
|
|
138
|
+
| `theme.fullBg` | string | - | Background color of the full-size calendar. |
|
|
139
|
+
| `theme.fullPanelBg` | string | - | Background color of the calendar panel in full-size mode. |
|
|
140
|
+
| `theme.itemActiveBg` | string | - | Background color of the active/selected date. |
|
|
141
|
+
| `theme.yearControlWidth` | number | `80` | Width of the year select control in the header. |
|
|
142
|
+
| `theme.monthControlWidth` | number | `70` | Width of the month select control in the header. |
|
|
143
|
+
| `theme.miniContentHeight` | number | `256` | Height of the content area in mini (non-fullscreen) mode. |
|
|
144
|
+
|
|
145
|
+
| Event | Event Data | Description |
|
|
146
|
+
| --- | --- | --- |
|
|
147
|
+
| `onChange` | `{ value, date }` | Trigger actions when the selected date changes. |
|
|
148
|
+
| `onSelect` | `{ value, date, source }` | Trigger actions when a date cell is clicked. |
|
|
149
|
+
| `onPanelChange` | `{ value, date, mode }` | Trigger actions when the calendar panel mode or date changes. |
|
|
150
|
+
|
|
151
|
+
| Key | Target |
|
|
152
|
+
| --- | --- |
|
|
153
|
+
| `/block` | Outer block wrapper (always available). |
|
|
154
|
+
| `/element` | The Calendar element. |
|
|
155
|
+
|
|
156
|
+
No slots defined.
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# DangerousHtml
|
|
2
|
+
|
|
3
|
+
Render raw HTML content without sanitization.
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
- id: basic_paragraph
|
|
7
|
+
type: DangerousHtml
|
|
8
|
+
properties:
|
|
9
|
+
html: <p>This is a basic paragraph rendered as HTML.</p>
|
|
10
|
+
- id: basic_heading
|
|
11
|
+
type: DangerousHtml
|
|
12
|
+
properties:
|
|
13
|
+
html: <h3>Heading rendered with DangerousHtml</h3>
|
|
14
|
+
- id: basic_link
|
|
15
|
+
type: DangerousHtml
|
|
16
|
+
properties:
|
|
17
|
+
html: <p>Visit <a href="https://lowdefy.com" target="_blank" rel="noopener
|
|
18
|
+
noreferrer">Lowdefy</a> for more info.</p>
|
|
19
|
+
- id: basic_multiple_headings
|
|
20
|
+
type: DangerousHtml
|
|
21
|
+
properties:
|
|
22
|
+
html: <h4>Section Title</h4><p>Some paragraph text below the
|
|
23
|
+
heading.</p><h5>Sub-section</h5><p>More text in the sub-section.</p>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
- id: styled_colored
|
|
28
|
+
type: DangerousHtml
|
|
29
|
+
properties:
|
|
30
|
+
html: '<p style="color: var(--ant-color-primary); font-weight: bold; font-size:
|
|
31
|
+
18px;">Blue bold text with inline styles</p>'
|
|
32
|
+
- id: styled_box_success
|
|
33
|
+
type: DangerousHtml
|
|
34
|
+
properties:
|
|
35
|
+
html: '<div style="padding: 16px; background-color: var(--ant-color-success-bg);
|
|
36
|
+
border: 1px solid var(--ant-color-success-border); border-radius:
|
|
37
|
+
6px;"><strong>Success:</strong> Your changes have been saved.</div>'
|
|
38
|
+
- id: styled_box_warning
|
|
39
|
+
type: DangerousHtml
|
|
40
|
+
properties:
|
|
41
|
+
html: '<div style="padding: 16px; background-color: var(--ant-color-warning-bg);
|
|
42
|
+
border: 1px solid var(--ant-color-warning-border); border-radius:
|
|
43
|
+
6px;"><strong>Warning:</strong> Please review your settings before
|
|
44
|
+
proceeding.</div>'
|
|
45
|
+
- id: styled_box_error
|
|
46
|
+
type: DangerousHtml
|
|
47
|
+
properties:
|
|
48
|
+
html: '<div style="padding: 16px; background-color: var(--ant-color-error-bg);
|
|
49
|
+
border: 1px solid var(--ant-color-error-border); border-radius:
|
|
50
|
+
6px;"><strong>Error:</strong> Unable to complete the operation.</div>'
|
|
51
|
+
- id: styled_box_info
|
|
52
|
+
type: DangerousHtml
|
|
53
|
+
properties:
|
|
54
|
+
html: '<div style="padding: 16px; background-color: var(--ant-color-info-bg);
|
|
55
|
+
border: 1px solid var(--ant-color-info-border); border-radius:
|
|
56
|
+
6px;"><strong>Info:</strong> The system will undergo maintenance at
|
|
57
|
+
midnight.</div>'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```yaml
|
|
61
|
+
- id: list_unordered
|
|
62
|
+
type: DangerousHtml
|
|
63
|
+
properties:
|
|
64
|
+
html: '<ul style="list-style-type: disc; padding-left: 20px;"><li>First
|
|
65
|
+
item</li><li>Second item</li><li>Third item</li></ul>'
|
|
66
|
+
- id: list_ordered
|
|
67
|
+
type: DangerousHtml
|
|
68
|
+
properties:
|
|
69
|
+
html: '<ol style="padding-left: 20px;"><li>Step one</li><li>Step
|
|
70
|
+
two</li><li>Step three</li></ol>'
|
|
71
|
+
- id: list_colored
|
|
72
|
+
type: DangerousHtml
|
|
73
|
+
properties:
|
|
74
|
+
html: '<ul style="list-style-type: disc; padding-left: 20px;"><li style="color:
|
|
75
|
+
var(--ant-color-success);">Completed</li><li style="color:
|
|
76
|
+
var(--ant-color-warning);">In Progress</li><li style="color:
|
|
77
|
+
var(--ant-color-error);">Overdue</li></ul>'
|
|
78
|
+
- id: list_nested
|
|
79
|
+
type: DangerousHtml
|
|
80
|
+
properties:
|
|
81
|
+
html: '<ul style="padding-left: 20px;"><li>Parent item<ul style="padding-left:
|
|
82
|
+
20px;"><li>Child item 1</li><li>Child item 2</li></ul></li><li>Another
|
|
83
|
+
parent item</li></ul>'
|
|
84
|
+
- id: list_definition
|
|
85
|
+
type: DangerousHtml
|
|
86
|
+
properties:
|
|
87
|
+
html: '<dl><dt style="font-weight: bold;">Term 1</dt><dd style="margin-left:
|
|
88
|
+
20px; color: var(--ant-color-text-secondary);">Definition of the first
|
|
89
|
+
term.</dd><dt style="font-weight: bold;">Term 2</dt><dd
|
|
90
|
+
style="margin-left: 20px; color:
|
|
91
|
+
var(--ant-color-text-secondary);">Definition of the second
|
|
92
|
+
term.</dd></dl>'
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
- id: table_simple
|
|
97
|
+
type: DangerousHtml
|
|
98
|
+
properties:
|
|
99
|
+
html: '<table style="width: 100%; border-collapse: collapse;"><thead><tr><th
|
|
100
|
+
style="border: 1px solid var(--ant-color-border); padding: 8px;
|
|
101
|
+
background: var(--ant-color-fill-quaternary); text-align:
|
|
102
|
+
left;">Name</th><th style="border: 1px solid var(--ant-color-border);
|
|
103
|
+
padding: 8px; background: var(--ant-color-fill-quaternary); text-align:
|
|
104
|
+
left;">Role</th><th style="border: 1px solid var(--ant-color-border);
|
|
105
|
+
padding: 8px; background: var(--ant-color-fill-quaternary); text-align:
|
|
106
|
+
left;">Status</th></tr></thead><tbody><tr><td style="border: 1px solid
|
|
107
|
+
var(--ant-color-border); padding: 8px;">Alice</td><td style="border: 1px
|
|
108
|
+
solid var(--ant-color-border); padding: 8px;">Developer</td><td
|
|
109
|
+
style="border: 1px solid var(--ant-color-border); padding:
|
|
110
|
+
8px;">Active</td></tr><tr><td style="border: 1px solid
|
|
111
|
+
var(--ant-color-border); padding: 8px;">Bob</td><td style="border: 1px
|
|
112
|
+
solid var(--ant-color-border); padding: 8px;">Designer</td><td
|
|
113
|
+
style="border: 1px solid var(--ant-color-border); padding:
|
|
114
|
+
8px;">Active</td></tr><tr><td style="border: 1px solid
|
|
115
|
+
var(--ant-color-border); padding: 8px;">Charlie</td><td style="border: 1px
|
|
116
|
+
solid var(--ant-color-border); padding: 8px;">Manager</td><td
|
|
117
|
+
style="border: 1px solid var(--ant-color-border); padding:
|
|
118
|
+
8px;">Away</td></tr></tbody></table>'
|
|
119
|
+
- id: table_striped
|
|
120
|
+
type: DangerousHtml
|
|
121
|
+
properties:
|
|
122
|
+
html: '<table style="width: 100%; border-collapse: collapse;"><thead><tr><th
|
|
123
|
+
style="border: 1px solid var(--ant-color-border); padding: 10px;
|
|
124
|
+
background: var(--ant-color-primary); color: white; text-align:
|
|
125
|
+
left;">Product</th><th style="border: 1px solid var(--ant-color-border);
|
|
126
|
+
padding: 10px; background: var(--ant-color-primary); color: white;
|
|
127
|
+
text-align: right;">Price</th><th style="border: 1px solid
|
|
128
|
+
var(--ant-color-border); padding: 10px; background:
|
|
129
|
+
var(--ant-color-primary); color: white; text-align:
|
|
130
|
+
center;">Stock</th></tr></thead><tbody><tr><td style="border: 1px solid
|
|
131
|
+
var(--ant-color-border); padding: 10px;">Widget A</td><td style="border:
|
|
132
|
+
1px solid var(--ant-color-border); padding: 10px; text-align:
|
|
133
|
+
right;">$29.99</td><td style="border: 1px solid var(--ant-color-border);
|
|
134
|
+
padding: 10px; text-align: center;">150</td></tr><tr style="background:
|
|
135
|
+
var(--ant-color-fill-quaternary);"><td style="border: 1px solid
|
|
136
|
+
var(--ant-color-border); padding: 10px;">Widget B</td><td style="border:
|
|
137
|
+
1px solid var(--ant-color-border); padding: 10px; text-align:
|
|
138
|
+
right;">$49.99</td><td style="border: 1px solid var(--ant-color-border);
|
|
139
|
+
padding: 10px; text-align: center;">85</td></tr><tr><td style="border: 1px
|
|
140
|
+
solid var(--ant-color-border); padding: 10px;">Widget C</td><td
|
|
141
|
+
style="border: 1px solid var(--ant-color-border); padding: 10px;
|
|
142
|
+
text-align: right;">$19.99</td><td style="border: 1px solid
|
|
143
|
+
var(--ant-color-border); padding: 10px; text-align:
|
|
144
|
+
center;">320</td></tr></tbody></table>'
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
- id: media_video_placeholder
|
|
149
|
+
type: DangerousHtml
|
|
150
|
+
properties:
|
|
151
|
+
html: '<div style="width: 100%; max-width: 560px; aspect-ratio: 16/9;
|
|
152
|
+
background: var(--ant-color-fill-tertiary); border: 2px dashed
|
|
153
|
+
var(--ant-color-border); border-radius: 8px; display: flex; align-items:
|
|
154
|
+
center; justify-content: center; color: var(--ant-color-text-tertiary);
|
|
155
|
+
font-size: 16px;">Video Placeholder (16:9)</div>'
|
|
156
|
+
- id: media_iframe_placeholder
|
|
157
|
+
type: DangerousHtml
|
|
158
|
+
properties:
|
|
159
|
+
html: '<div style="width: 100%; max-width: 400px; height: 300px; background:
|
|
160
|
+
var(--ant-color-fill-quaternary); border: 2px dashed
|
|
161
|
+
var(--ant-color-border); border-radius: 8px; display: flex; align-items:
|
|
162
|
+
center; justify-content: center; color:
|
|
163
|
+
var(--ant-color-text-tertiary);">Embedded Content Area</div>'
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
```yaml
|
|
167
|
+
- id: layout_card
|
|
168
|
+
type: DangerousHtml
|
|
169
|
+
properties:
|
|
170
|
+
html: '<div style="max-width: 400px; border: 1px solid var(--ant-color-border);
|
|
171
|
+
border-radius: 8px; overflow: hidden;"><div style="padding: 16px;
|
|
172
|
+
background: var(--ant-color-fill-quaternary); border-bottom: 1px solid
|
|
173
|
+
var(--ant-color-border);"><h4 style="margin: 0;">Card Title</h4></div><div
|
|
174
|
+
style="padding: 16px;"><p style="margin: 0 0 12px 0; color:
|
|
175
|
+
var(--ant-color-text-secondary);">This is a card-like layout created
|
|
176
|
+
purely with HTML and inline styles.</p><div style="display: flex; gap:
|
|
177
|
+
8px;"><span style="background: var(--ant-color-primary-bg); color:
|
|
178
|
+
var(--ant-color-primary); padding: 2px 8px; border-radius: 4px; font-size:
|
|
179
|
+
12px;">Tag 1</span><span style="background: var(--ant-color-success-bg);
|
|
180
|
+
color: var(--ant-color-success); padding: 2px 8px; border-radius: 4px;
|
|
181
|
+
font-size: 12px;">Tag 2</span></div></div></div>'
|
|
182
|
+
- id: layout_flex_row
|
|
183
|
+
type: DangerousHtml
|
|
184
|
+
properties:
|
|
185
|
+
html: '<div style="display: flex; gap: 16px; flex-wrap: wrap;"><div style="flex:
|
|
186
|
+
1; min-width: 150px; padding: 16px; background:
|
|
187
|
+
var(--ant-color-primary-bg); border-radius: 8px; text-align: center;"><div
|
|
188
|
+
style="font-size: 24px; font-weight: bold; color:
|
|
189
|
+
var(--ant-color-primary);">42</div><div style="color:
|
|
190
|
+
var(--ant-color-text-secondary); font-size: 12px;">Active
|
|
191
|
+
Users</div></div><div style="flex: 1; min-width: 150px; padding: 16px;
|
|
192
|
+
background: var(--ant-color-success-bg); border-radius: 8px; text-align:
|
|
193
|
+
center;"><div style="font-size: 24px; font-weight: bold; color:
|
|
194
|
+
var(--ant-color-success);">128</div><div style="color:
|
|
195
|
+
var(--ant-color-text-secondary); font-size:
|
|
196
|
+
12px;">Completed</div></div><div style="flex: 1; min-width: 150px;
|
|
197
|
+
padding: 16px; background: var(--ant-color-warning-bg); border-radius:
|
|
198
|
+
8px; text-align: center;"><div style="font-size: 24px; font-weight: bold;
|
|
199
|
+
color: var(--ant-color-warning);">7</div><div style="color:
|
|
200
|
+
var(--ant-color-text-secondary); font-size:
|
|
201
|
+
12px;">Pending</div></div></div>'
|
|
202
|
+
- id: layout_timeline
|
|
203
|
+
type: DangerousHtml
|
|
204
|
+
properties:
|
|
205
|
+
html: '<div style="padding-left: 20px; border-left: 2px solid
|
|
206
|
+
var(--ant-color-primary);"><div style="position: relative; padding-bottom:
|
|
207
|
+
16px;"><div style="position: absolute; left: -26px; top: 4px; width: 10px;
|
|
208
|
+
height: 10px; border-radius: 50%; background:
|
|
209
|
+
var(--ant-color-primary);"></div><div style="font-weight: bold;">Step 1:
|
|
210
|
+
Setup</div><div style="color: var(--ant-color-text-secondary); font-size:
|
|
211
|
+
13px;">Configure your project settings.</div></div><div style="position:
|
|
212
|
+
relative; padding-bottom: 16px;"><div style="position: absolute; left:
|
|
213
|
+
-26px; top: 4px; width: 10px; height: 10px; border-radius: 50%;
|
|
214
|
+
background: var(--ant-color-primary);"></div><div style="font-weight:
|
|
215
|
+
bold;">Step 2: Build</div><div style="color:
|
|
216
|
+
var(--ant-color-text-secondary); font-size: 13px;">Run the build
|
|
217
|
+
pipeline.</div></div><div style="position: relative;"><div
|
|
218
|
+
style="position: absolute; left: -26px; top: 4px; width: 10px; height:
|
|
219
|
+
10px; border-radius: 50%; background: var(--ant-color-border);"></div><div
|
|
220
|
+
style="font-weight: bold; color: var(--ant-color-text-tertiary);">Step 3:
|
|
221
|
+
Deploy</div><div style="color: var(--ant-color-text-quaternary);
|
|
222
|
+
font-size: 13px;">Deploy to production.</div></div></div>'
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Default (scripts and event handlers stripped):**
|
|
226
|
+
|
|
227
|
+
**With ADD_ATTR to allow target attribute:**
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
- id: purify_default_label
|
|
231
|
+
type: Markdown
|
|
232
|
+
properties:
|
|
233
|
+
content: "**Default (scripts and event handlers stripped):**"
|
|
234
|
+
- id: purify_default
|
|
235
|
+
type: DangerousHtml
|
|
236
|
+
properties:
|
|
237
|
+
html: <p>Safe content rendered. <script>alert("removed")</script></p>
|
|
238
|
+
- id: purify_allow_target_label
|
|
239
|
+
type: Markdown
|
|
240
|
+
properties:
|
|
241
|
+
content: "**With ADD_ATTR to allow target attribute:**"
|
|
242
|
+
- id: purify_allow_target
|
|
243
|
+
type: DangerousHtml
|
|
244
|
+
properties:
|
|
245
|
+
html: <a href="https://lowdefy.com" target="_blank">Link with target=_blank
|
|
246
|
+
allowed</a>
|
|
247
|
+
DOMPurifyOptions:
|
|
248
|
+
ADD_ATTR:
|
|
249
|
+
- target
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
```yaml
|
|
253
|
+
- id: style_padded
|
|
254
|
+
type: DangerousHtml
|
|
255
|
+
style:
|
|
256
|
+
.element:
|
|
257
|
+
padding: 20
|
|
258
|
+
background: var(--ant-color-fill-quaternary)
|
|
259
|
+
borderRadius: 8
|
|
260
|
+
border: 1px solid var(--ant-color-border)
|
|
261
|
+
properties:
|
|
262
|
+
html: '<p style="margin: 0;">Content inside a styled DangerousHtml container
|
|
263
|
+
with padding and background.</p>'
|
|
264
|
+
- id: style_max_width
|
|
265
|
+
type: DangerousHtml
|
|
266
|
+
style:
|
|
267
|
+
.element:
|
|
268
|
+
maxWidth: 400
|
|
269
|
+
margin: 0 auto
|
|
270
|
+
padding: 16
|
|
271
|
+
background: var(--ant-color-primary-bg)
|
|
272
|
+
borderRadius: 8
|
|
273
|
+
textAlign: center
|
|
274
|
+
properties:
|
|
275
|
+
html: '<p style="margin: 0; color: var(--ant-color-primary); font-weight:
|
|
276
|
+
bold;">Centered container with max-width constraint.</p>'
|
|
277
|
+
- id: style_shadow
|
|
278
|
+
type: DangerousHtml
|
|
279
|
+
style:
|
|
280
|
+
.element:
|
|
281
|
+
padding: 20
|
|
282
|
+
borderRadius: 12
|
|
283
|
+
boxShadow: var(--ant-box-shadow)
|
|
284
|
+
background: var(--ant-color-bg-container)
|
|
285
|
+
properties:
|
|
286
|
+
html: '<h4 style="margin: 0 0 8px 0;">Elevated Card</h4><p style="margin: 0;
|
|
287
|
+
color: var(--ant-color-text-secondary);">A DangerousHtml block styled with
|
|
288
|
+
a box shadow for an elevated card appearance.</p>'
|
|
289
|
+
- id: style_border_left
|
|
290
|
+
type: DangerousHtml
|
|
291
|
+
style:
|
|
292
|
+
.element:
|
|
293
|
+
borderLeft: 4px solid var(--ant-color-primary)
|
|
294
|
+
paddingLeft: 16
|
|
295
|
+
paddingTop: 8
|
|
296
|
+
paddingBottom: 8
|
|
297
|
+
properties:
|
|
298
|
+
html: '<p style="margin: 0; color: var(--ant-color-primary); font-weight:
|
|
299
|
+
500;">Highlighted with a primary color left border accent.</p>'
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
| Property | Type | Default | Description |
|
|
303
|
+
| --- | --- | --- | --- |
|
|
304
|
+
| `html` | string | - | Content to be rendered as Html. |
|
|
305
|
+
| `DOMPurifyOptions` | object | - | Customize DOMPurify options. Options are only applied when the block is mounted, thus any parsed settings is only applied at first render. |
|
|
306
|
+
|
|
307
|
+
No events defined.
|
|
308
|
+
|
|
309
|
+
| Key | Target |
|
|
310
|
+
| --- | --- |
|
|
311
|
+
| `/block` | Outer block wrapper (always available). |
|
|
312
|
+
| `/element` | The DangerousHtml element. |
|
|
313
|
+
|
|
314
|
+
No slots defined.
|