@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,1459 @@
1
+ # AgGrid
2
+
3
+ Ag-Grid data table with sorting, filtering, and row selection. Available themes: AgGridAlpine, AgGridAlpineDark, AgGridBalham, AgGridBalhamDark, AgGridMaterial.
4
+
5
+ ```yaml
6
+ - id: custom_theme
7
+ type: AgGridAlpine
8
+ style:
9
+ --ag-header-background-color: "#1a1a2e"
10
+ --ag-header-foreground-color: "#e0e0ff"
11
+ --ag-selected-row-background-color: rgba(108, 99, 255, 0.2)
12
+ --ag-row-hover-color: rgba(108, 99, 255, 0.1)
13
+ --ag-border-color: "#2a2a4a"
14
+ properties:
15
+ height: 300
16
+ columnDefs:
17
+ - field: name
18
+ headerName: Name
19
+ - field: role
20
+ headerName: Role
21
+ - field: department
22
+ headerName: Department
23
+ - field: status
24
+ headerName: Status
25
+ width: 120
26
+ rowData:
27
+ - name: Alice Johnson
28
+ role: Developer
29
+ department: Engineering
30
+ status: Active
31
+ - name: Bob Smith
32
+ role: Designer
33
+ department: Design
34
+ status: Active
35
+ - name: Charlie Lee
36
+ role: Manager
37
+ department: Sales
38
+ status: On Leave
39
+ - name: Diana Patel
40
+ role: Analyst
41
+ department: Finance
42
+ status: Active
43
+ - name: Erik Johansson
44
+ role: DevOps
45
+ department: Engineering
46
+ status: Active
47
+ ```
48
+
49
+ ```yaml
50
+ - id: basic_table
51
+ type: AgGridAlpine
52
+ properties:
53
+ height: 300
54
+ columnDefs:
55
+ - field: name
56
+ headerName: Name
57
+ - field: age
58
+ headerName: Age
59
+ - field: email
60
+ headerName: Email
61
+ - field: country
62
+ headerName: Country
63
+ rowData:
64
+ - name: Alice Johnson
65
+ age: 28
66
+ email: alice@example.com
67
+ country: United States
68
+ - name: Bob Smith
69
+ age: 35
70
+ email: bob@example.com
71
+ country: United Kingdom
72
+ - name: Charlie Lee
73
+ age: 42
74
+ email: charlie@example.com
75
+ country: Japan
76
+ - name: Diana Patel
77
+ age: 31
78
+ email: diana@example.com
79
+ country: India
80
+ - name: Erik Johansson
81
+ age: 26
82
+ email: erik@example.com
83
+ country: Sweden
84
+ - name: Fatima Al-Rashid
85
+ age: 39
86
+ email: fatima@example.com
87
+ country: UAE
88
+ ```
89
+
90
+ ```yaml
91
+ - id: column_features
92
+ type: AgGridAlpine
93
+ properties:
94
+ height: 300
95
+ columnDefs:
96
+ - field: id
97
+ headerName: ID
98
+ width: 80
99
+ pinned: left
100
+ sortable: true
101
+ - field: product
102
+ headerName: Product Name
103
+ flex: 2
104
+ sortable: true
105
+ filter: true
106
+ - field: category
107
+ headerName: Category
108
+ flex: 1
109
+ sortable: true
110
+ filter: true
111
+ - field: price
112
+ headerName: Price ($)
113
+ width: 120
114
+ sortable: true
115
+ resizable: true
116
+ - field: stock
117
+ headerName: Stock
118
+ width: 100
119
+ sortable: true
120
+ - field: rating
121
+ headerName: Rating
122
+ width: 100
123
+ sortable: true
124
+ rowData:
125
+ - id: 1
126
+ product: Wireless Keyboard
127
+ category: Electronics
128
+ price: 49.99
129
+ stock: 230
130
+ rating: 4.5
131
+ - id: 2
132
+ product: Standing Desk
133
+ category: Furniture
134
+ price: 399
135
+ stock: 45
136
+ rating: 4.8
137
+ - id: 3
138
+ product: USB-C Hub
139
+ category: Electronics
140
+ price: 29.99
141
+ stock: 520
142
+ rating: 4.2
143
+ - id: 4
144
+ product: Ergonomic Chair
145
+ category: Furniture
146
+ price: 289
147
+ stock: 78
148
+ rating: 4.6
149
+ - id: 5
150
+ product: Webcam HD
151
+ category: Electronics
152
+ price: 79.99
153
+ stock: 310
154
+ rating: 4
155
+ - id: 6
156
+ product: Monitor Arm
157
+ category: Accessories
158
+ price: 39.99
159
+ stock: 190
160
+ rating: 4.3
161
+ - id: 7
162
+ product: Desk Lamp
163
+ category: Accessories
164
+ price: 24.99
165
+ stock: 415
166
+ rating: 4.1
167
+ ```
168
+
169
+ ```yaml
170
+ - id: default_col_def
171
+ type: AgGridAlpine
172
+ properties:
173
+ height: 300
174
+ defaultColDef:
175
+ sortable: true
176
+ filter: true
177
+ resizable: true
178
+ flex: 1
179
+ columnDefs:
180
+ - field: employee
181
+ headerName: Employee
182
+ - field: department
183
+ headerName: Department
184
+ - field: title
185
+ headerName: Job Title
186
+ - field: location
187
+ headerName: Office
188
+ - field: startDate
189
+ headerName: Start Date
190
+ rowData:
191
+ - employee: Sarah Chen
192
+ department: Engineering
193
+ title: Senior Developer
194
+ location: San Francisco
195
+ startDate: 2019-03-15
196
+ - employee: James Wilson
197
+ department: Marketing
198
+ title: Campaign Manager
199
+ location: New York
200
+ startDate: 2020-07-01
201
+ - employee: Maria Garcia
202
+ department: Engineering
203
+ title: Tech Lead
204
+ location: Austin
205
+ startDate: 2018-11-20
206
+ - employee: David Kim
207
+ department: Sales
208
+ title: Account Executive
209
+ location: Chicago
210
+ startDate: 2021-01-10
211
+ - employee: Emily Brown
212
+ department: Design
213
+ title: UX Designer
214
+ location: San Francisco
215
+ startDate: 2020-09-05
216
+ - employee: Ahmed Hassan
217
+ department: Engineering
218
+ title: DevOps Engineer
219
+ location: Remote
220
+ startDate: 2022-02-14
221
+ ```
222
+
223
+ ```yaml
224
+ - id: row_selection
225
+ type: AgGridAlpine
226
+ properties:
227
+ height: 300
228
+ rowSelection: multiple
229
+ defaultColDef:
230
+ sortable: true
231
+ flex: 1
232
+ columnDefs:
233
+ - field: task
234
+ headerName: Task
235
+ flex: 2
236
+ - field: assignee
237
+ headerName: Assignee
238
+ - field: priority
239
+ headerName: Priority
240
+ width: 120
241
+ - field: status
242
+ headerName: Status
243
+ width: 120
244
+ rowData:
245
+ - task: Design login page
246
+ assignee: Alice
247
+ priority: High
248
+ status: Done
249
+ - task: Implement API endpoints
250
+ assignee: Bob
251
+ priority: High
252
+ status: In Progress
253
+ - task: Write unit tests
254
+ assignee: Charlie
255
+ priority: Medium
256
+ status: To Do
257
+ - task: Update documentation
258
+ assignee: Diana
259
+ priority: Low
260
+ status: To Do
261
+ - task: Code review PR
262
+ assignee: Erik
263
+ priority: Medium
264
+ status: In Progress
265
+ - task: Deploy to staging
266
+ assignee: Fatima
267
+ priority: High
268
+ status: Done
269
+ ```
270
+
271
+ ```yaml
272
+ - id: pagination_table
273
+ type: AgGridAlpine
274
+ properties:
275
+ height: 350
276
+ pagination: true
277
+ paginationPageSize: 5
278
+ defaultColDef:
279
+ sortable: true
280
+ filter: true
281
+ flex: 1
282
+ columnDefs:
283
+ - field: orderId
284
+ headerName: Order ID
285
+ width: 120
286
+ - field: customer
287
+ headerName: Customer
288
+ - field: product
289
+ headerName: Product
290
+ - field: quantity
291
+ headerName: Qty
292
+ width: 80
293
+ - field: total
294
+ headerName: Total ($)
295
+ width: 110
296
+ - field: status
297
+ headerName: Status
298
+ width: 120
299
+ rowData:
300
+ - orderId: ORD-001
301
+ customer: Acme Corp
302
+ product: Widget Pro
303
+ quantity: 50
304
+ total: 2499.5
305
+ status: Shipped
306
+ - orderId: ORD-002
307
+ customer: Globex Inc
308
+ product: Gadget X
309
+ quantity: 25
310
+ total: 1249.75
311
+ status: Processing
312
+ - orderId: ORD-003
313
+ customer: Initech
314
+ product: Widget Pro
315
+ quantity: 100
316
+ total: 4999
317
+ status: Delivered
318
+ - orderId: ORD-004
319
+ customer: Umbrella Ltd
320
+ product: Connector A
321
+ quantity: 200
322
+ total: 1998
323
+ status: Shipped
324
+ - orderId: ORD-005
325
+ customer: Stark Ind
326
+ product: Gadget X
327
+ quantity: 10
328
+ total: 499.9
329
+ status: Processing
330
+ - orderId: ORD-006
331
+ customer: Wayne Ent
332
+ product: Widget Pro
333
+ quantity: 75
334
+ total: 3749.25
335
+ status: Delivered
336
+ - orderId: ORD-007
337
+ customer: Oscorp
338
+ product: Connector A
339
+ quantity: 150
340
+ total: 1498.5
341
+ status: Shipped
342
+ - orderId: ORD-008
343
+ customer: LexCorp
344
+ product: Gadget X
345
+ quantity: 30
346
+ total: 1499.7
347
+ status: Processing
348
+ - orderId: ORD-009
349
+ customer: Cyberdyne
350
+ product: Widget Pro
351
+ quantity: 60
352
+ total: 2999.4
353
+ status: Shipped
354
+ - orderId: ORD-010
355
+ customer: Tyrell Corp
356
+ product: Connector A
357
+ quantity: 500
358
+ total: 4990
359
+ status: Delivered
360
+ - orderId: ORD-011
361
+ customer: Weyland Co
362
+ product: Gadget X
363
+ quantity: 40
364
+ total: 1999.6
365
+ status: Processing
366
+ - orderId: ORD-012
367
+ customer: Soylent Inc
368
+ product: Widget Pro
369
+ quantity: 80
370
+ total: 3999.2
371
+ status: Shipped
372
+ ```
373
+
374
+ ```yaml
375
+ - id: events_row_click
376
+ type: AgGridAlpine
377
+ properties:
378
+ height: 300
379
+ defaultColDef:
380
+ sortable: true
381
+ flex: 1
382
+ columnDefs:
383
+ - field: name
384
+ headerName: Name
385
+ - field: role
386
+ headerName: Role
387
+ - field: department
388
+ headerName: Department
389
+ - field: status
390
+ headerName: Status
391
+ width: 120
392
+ rowData:
393
+ - name: Alice Johnson
394
+ role: Developer
395
+ department: Engineering
396
+ status: Active
397
+ - name: Bob Smith
398
+ role: Designer
399
+ department: Design
400
+ status: Active
401
+ - name: Charlie Lee
402
+ role: Manager
403
+ department: Sales
404
+ status: On Leave
405
+ - name: Diana Patel
406
+ role: Analyst
407
+ department: Finance
408
+ status: Active
409
+ - name: Erik Johansson
410
+ role: DevOps
411
+ department: Engineering
412
+ status: Active
413
+ events:
414
+ onRowClick:
415
+ - id: row_click_message
416
+ type: DisplayMessage
417
+ params:
418
+ content:
419
+ _nunjucks:
420
+ on:
421
+ _event: row
422
+ template: "Clicked: {{ name }} ({{ role }}, {{ department }})"
423
+ duration: 3
424
+ onCellClick:
425
+ - id: cell_click_message
426
+ type: DisplayMessage
427
+ params:
428
+ status: info
429
+ content:
430
+ _nunjucks:
431
+ on:
432
+ name:
433
+ _event: cell.column
434
+ value:
435
+ _event: cell.value
436
+ template: "Cell: {{ name }} = {{ value }}"
437
+ duration: 3
438
+ - id: events_row_selected
439
+ type: AgGridAlpine
440
+ properties:
441
+ height: 300
442
+ rowSelection: multiple
443
+ defaultColDef:
444
+ sortable: true
445
+ flex: 1
446
+ columnDefs:
447
+ - field: task
448
+ headerName: Task
449
+ flex: 2
450
+ - field: assignee
451
+ headerName: Assignee
452
+ - field: priority
453
+ headerName: Priority
454
+ width: 120
455
+ rowData:
456
+ - task: Design login page
457
+ assignee: Alice
458
+ priority: High
459
+ - task: Implement API
460
+ assignee: Bob
461
+ priority: High
462
+ - task: Write tests
463
+ assignee: Charlie
464
+ priority: Medium
465
+ - task: Update docs
466
+ assignee: Diana
467
+ priority: Low
468
+ - task: Code review
469
+ assignee: Erik
470
+ priority: Medium
471
+ events:
472
+ onRowSelected:
473
+ - id: row_selected_message
474
+ type: DisplayMessage
475
+ params:
476
+ status: success
477
+ content:
478
+ _nunjucks:
479
+ on:
480
+ row:
481
+ _event: row.task
482
+ count:
483
+ _event: selected.length
484
+ template: Selected "{{ row }}" ({{ count }} total selected)
485
+ duration: 3
486
+ ```
487
+
488
+ ```yaml
489
+ - id: styled_columns
490
+ type: AgGridAlpine
491
+ properties:
492
+ height: 300
493
+ defaultColDef:
494
+ sortable: true
495
+ flex: 1
496
+ columnDefs:
497
+ - field: metric
498
+ headerName: Metric
499
+ flex: 2
500
+ cellStyle:
501
+ fontWeight: bold
502
+ - field: q1
503
+ headerName: Q1
504
+ cellStyle:
505
+ backgroundColor: var(--ant-blue-1)
506
+ textAlign: right
507
+ - field: q2
508
+ headerName: Q2
509
+ cellStyle:
510
+ backgroundColor: var(--ant-green-1)
511
+ textAlign: right
512
+ - field: q3
513
+ headerName: Q3
514
+ cellStyle:
515
+ backgroundColor: var(--ant-orange-1)
516
+ textAlign: right
517
+ - field: q4
518
+ headerName: Q4
519
+ cellStyle:
520
+ backgroundColor: var(--ant-red-1)
521
+ textAlign: right
522
+ rowData:
523
+ - metric: Revenue ($K)
524
+ q1: 1250
525
+ q2: 1380
526
+ q3: 1520
527
+ q4: 1690
528
+ - metric: New Customers
529
+ q1: 145
530
+ q2: 162
531
+ q3: 178
532
+ q4: 201
533
+ - metric: Churn Rate (%)
534
+ q1: 3.2
535
+ q2: 2.8
536
+ q3: 2.5
537
+ q4: 2.1
538
+ - metric: NPS Score
539
+ q1: 42
540
+ q2: 45
541
+ q3: 48
542
+ q4: 52
543
+ - metric: Support Tickets
544
+ q1: 892
545
+ q2: 756
546
+ q3: 623
547
+ q4: 541
548
+ ```
549
+
550
+ ```yaml
551
+ - id: large_dataset
552
+ type: AgGridAlpine
553
+ properties:
554
+ height: 400
555
+ pagination: true
556
+ paginationPageSize: 8
557
+ defaultColDef:
558
+ sortable: true
559
+ filter: true
560
+ resizable: true
561
+ columnDefs:
562
+ - field: id
563
+ headerName: "#"
564
+ width: 70
565
+ pinned: left
566
+ - field: firstName
567
+ headerName: First Name
568
+ flex: 1
569
+ - field: lastName
570
+ headerName: Last Name
571
+ flex: 1
572
+ - field: email
573
+ headerName: Email
574
+ flex: 2
575
+ - field: department
576
+ headerName: Department
577
+ flex: 1
578
+ - field: salary
579
+ headerName: Salary ($)
580
+ width: 120
581
+ - field: city
582
+ headerName: City
583
+ flex: 1
584
+ rowData:
585
+ - id: 1
586
+ firstName: Olivia
587
+ lastName: Martinez
588
+ email: olivia.martinez@corp.com
589
+ department: Engineering
590
+ salary: 95000
591
+ city: San Francisco
592
+ - id: 2
593
+ firstName: Liam
594
+ lastName: Thompson
595
+ email: liam.thompson@corp.com
596
+ department: Marketing
597
+ salary: 72000
598
+ city: New York
599
+ - id: 3
600
+ firstName: Emma
601
+ lastName: Davis
602
+ email: emma.davis@corp.com
603
+ department: Sales
604
+ salary: 68000
605
+ city: Chicago
606
+ - id: 4
607
+ firstName: Noah
608
+ lastName: Anderson
609
+ email: noah.anderson@corp.com
610
+ department: Engineering
611
+ salary: 105000
612
+ city: Seattle
613
+ - id: 5
614
+ firstName: Ava
615
+ lastName: Wilson
616
+ email: ava.wilson@corp.com
617
+ department: Design
618
+ salary: 82000
619
+ city: Austin
620
+ - id: 6
621
+ firstName: William
622
+ lastName: Taylor
623
+ email: william.taylor@corp.com
624
+ department: Finance
625
+ salary: 88000
626
+ city: Boston
627
+ - id: 7
628
+ firstName: Sophia
629
+ lastName: Moore
630
+ email: sophia.moore@corp.com
631
+ department: HR
632
+ salary: 71000
633
+ city: Denver
634
+ - id: 8
635
+ firstName: James
636
+ lastName: Jackson
637
+ email: james.jackson@corp.com
638
+ department: Engineering
639
+ salary: 112000
640
+ city: San Francisco
641
+ - id: 9
642
+ firstName: Isabella
643
+ lastName: White
644
+ email: isabella.white@corp.com
645
+ department: Marketing
646
+ salary: 76000
647
+ city: Los Angeles
648
+ - id: 10
649
+ firstName: Benjamin
650
+ lastName: Harris
651
+ email: benjamin.harris@corp.com
652
+ department: Sales
653
+ salary: 65000
654
+ city: Miami
655
+ - id: 11
656
+ firstName: Mia
657
+ lastName: Clark
658
+ email: mia.clark@corp.com
659
+ department: Engineering
660
+ salary: 99000
661
+ city: Portland
662
+ - id: 12
663
+ firstName: Lucas
664
+ lastName: Lewis
665
+ email: lucas.lewis@corp.com
666
+ department: Design
667
+ salary: 85000
668
+ city: Austin
669
+ - id: 13
670
+ firstName: Charlotte
671
+ lastName: Robinson
672
+ email: charlotte.robinson@corp.com
673
+ department: Finance
674
+ salary: 91000
675
+ city: New York
676
+ - id: 14
677
+ firstName: Henry
678
+ lastName: Walker
679
+ email: henry.walker@corp.com
680
+ department: HR
681
+ salary: 69000
682
+ city: Chicago
683
+ - id: 15
684
+ firstName: Amelia
685
+ lastName: Young
686
+ email: amelia.young@corp.com
687
+ department: Engineering
688
+ salary: 108000
689
+ city: Seattle
690
+ ```
691
+
692
+ ```yaml
693
+ - id: cell_types_demo
694
+ type: AgGridAlpine
695
+ properties:
696
+ height: 360
697
+ defaultColDef:
698
+ resizable: true
699
+ flex: 1
700
+ columnDefs:
701
+ - headerName: Status
702
+ field: status
703
+ width: 130
704
+ cell:
705
+ type: tag
706
+ colorMap:
707
+ Active: green
708
+ Blocked: red
709
+ Pending: blue
710
+ On Leave: orange
711
+ - headerName: Assignee
712
+ field: name
713
+ minWidth: 220
714
+ cell:
715
+ type: avatar
716
+ nameField: name
717
+ srcField: picture
718
+ idField: id
719
+ - headerName: Created
720
+ field: created_at
721
+ width: 170
722
+ cell:
723
+ type: date
724
+ - headerName: Last seen
725
+ field: last_seen
726
+ width: 150
727
+ cell:
728
+ type: date
729
+ relative: true
730
+ - headerName: Verified
731
+ field: verified
732
+ width: 110
733
+ cell:
734
+ type: boolean
735
+ - headerName: Progress
736
+ field: completion
737
+ width: 130
738
+ cell:
739
+ type: progress
740
+ rowData:
741
+ - id: u1
742
+ name: Alice Johnson
743
+ picture: https://i.pravatar.cc/80?img=1
744
+ status: Active
745
+ created_at: 2025-11-14T09:30:00Z
746
+ last_seen: 2026-04-17T11:45:00Z
747
+ verified: true
748
+ completion: 92
749
+ - id: u2
750
+ name: Bob Smith
751
+ status: On Leave
752
+ created_at: 2025-09-02T14:10:00Z
753
+ last_seen: 2026-04-10T08:15:00Z
754
+ verified: true
755
+ completion: 68
756
+ - id: u3
757
+ name: Charlie Lee
758
+ picture: https://i.pravatar.cc/80?img=5
759
+ status: Blocked
760
+ created_at: 2026-01-20T18:00:00Z
761
+ last_seen: 2026-04-17T07:22:00Z
762
+ verified: false
763
+ completion: 22
764
+ - id: u4
765
+ name: Diana Patel
766
+ status: Pending
767
+ created_at: null
768
+ last_seen: null
769
+ verified: null
770
+ completion: null
771
+ ```
772
+
773
+ ```yaml
774
+ - id: tag_array_demo
775
+ type: AgGridAlpine
776
+ properties:
777
+ height: 240
778
+ defaultColDef:
779
+ resizable: true
780
+ flex: 1
781
+ columnDefs:
782
+ - headerName: User
783
+ field: name
784
+ minWidth: 180
785
+ - headerName: Roles
786
+ field: roles
787
+ minWidth: 260
788
+ cell:
789
+ type: tag
790
+ colorMap:
791
+ admin: red
792
+ editor: blue
793
+ viewer: green
794
+ billing: orange
795
+ default: default
796
+ rowData:
797
+ - name: Alice Johnson
798
+ roles:
799
+ - admin
800
+ - editor
801
+ - name: Bob Smith
802
+ roles:
803
+ - viewer
804
+ - name: Charlie Lee
805
+ roles:
806
+ - editor
807
+ - billing
808
+ - viewer
809
+ - name: Diana Patel
810
+ roles: []
811
+ - name: Chan Maarten
812
+ roles: null
813
+ ```
814
+
815
+ ```yaml
816
+ - id: tag_seeded_demo
817
+ type: AgGridAlpine
818
+ properties:
819
+ height: 300
820
+ defaultColDef:
821
+ resizable: true
822
+ flex: 1
823
+ columnDefs:
824
+ - headerName: Project
825
+ field: project
826
+ minWidth: 160
827
+ - headerName: Tags
828
+ field: tags
829
+ minWidth: 320
830
+ cell:
831
+ type: tag
832
+ rowData:
833
+ - project: Storefront
834
+ tags:
835
+ - frontend
836
+ - react
837
+ - typescript
838
+ - project: API gateway
839
+ tags:
840
+ - backend
841
+ - node
842
+ - typescript
843
+ - project: ML pipeline
844
+ tags:
845
+ - python
846
+ - airflow
847
+ - backend
848
+ - project: Mobile app
849
+ tags:
850
+ - frontend
851
+ - react
852
+ - mobile
853
+ - project: Design system
854
+ tags:
855
+ - frontend
856
+ - design
857
+ ```
858
+
859
+ ```yaml
860
+ - id: linked_cells_demo
861
+ type: AgGridAlpine
862
+ properties:
863
+ height: 240
864
+ defaultColDef:
865
+ resizable: true
866
+ flex: 1
867
+ columnDefs:
868
+ - headerName: Task ID
869
+ field: _id
870
+ width: 140
871
+ cell:
872
+ type: link
873
+ pageId: tasks-view
874
+ urlQuery:
875
+ _id: _id
876
+ - headerName: Assignee
877
+ field: assignee
878
+ cell:
879
+ type: avatar
880
+ nameField: assignee
881
+ idField: _id
882
+ link:
883
+ pageId: user
884
+ urlQuery:
885
+ userId: _id
886
+ - headerName: Priority
887
+ field: priority
888
+ width: 120
889
+ cell:
890
+ type: tag
891
+ colorMap:
892
+ High: red
893
+ Medium: orange
894
+ Low: default
895
+ rowData:
896
+ - _id: TSK-001
897
+ assignee: Alice Johnson
898
+ priority: High
899
+ - _id: TSK-002
900
+ assignee: Bob Smith
901
+ priority: Medium
902
+ - _id: TSK-003
903
+ assignee: Charlie Lee
904
+ priority: Low
905
+ events:
906
+ onCellLink:
907
+ - id: navigate
908
+ type: Link
909
+ params:
910
+ _event: link
911
+ ```
912
+
913
+ ```yaml
914
+ - id: ellipsis_demo
915
+ type: AgGridAlpine
916
+ properties:
917
+ height: 280
918
+ defaultColDef:
919
+ resizable: true
920
+ columnDefs:
921
+ - headerName: Code
922
+ field: code
923
+ width: 100
924
+ - headerName: Title
925
+ field: title
926
+ minWidth: 220
927
+ - headerName: Description
928
+ field: description
929
+ flex: 1
930
+ ellipsis: 2
931
+ rowData:
932
+ - code: A-01
933
+ title: Main switchboard
934
+ description: Drafted the main switchboard layout and circuit schedule across
935
+ three floors. Awaiting sign-off from the project engineer before
936
+ ordering long-lead parts.
937
+ - code: A-02
938
+ title: East wing HVAC
939
+ description: Balancing HVAC loads across the east wing. Waiting on updated
940
+ ductwork drawings from the architect and a revised thermal model from
941
+ the mechanical team.
942
+ - code: A-03
943
+ title: Utility connections
944
+ description: Blocked on the utility connection survey — main was not where the
945
+ drawings said it would be, which has cascaded to the trenching
946
+ schedule.
947
+ ```
948
+
949
+ ```yaml
950
+ - id: number_demo
951
+ type: AgGridAlpine
952
+ properties:
953
+ height: 320
954
+ defaultColDef:
955
+ resizable: true
956
+ columnDefs:
957
+ - headerName: Account
958
+ field: account
959
+ width: 180
960
+ - headerName: Revenue (USD)
961
+ field: revenue
962
+ width: 150
963
+ cell:
964
+ type: number
965
+ format: currency
966
+ currency: USD
967
+ decimals: 0
968
+ - headerName: EUR
969
+ field: revenue_eur
970
+ width: 150
971
+ cell:
972
+ type: number
973
+ format: currency
974
+ currency: EUR
975
+ locale: de-DE
976
+ decimals: 2
977
+ - headerName: Δ vs budget
978
+ field: delta
979
+ width: 160
980
+ cell:
981
+ type: number
982
+ format: currency
983
+ currency: USD
984
+ decimals: 2
985
+ negative: parentheses
986
+ signColor: true
987
+ - headerName: Margin
988
+ field: margin
989
+ width: 110
990
+ cell:
991
+ type: number
992
+ format: percent
993
+ decimals: 1
994
+ - headerName: Impressions
995
+ field: impressions
996
+ width: 130
997
+ cell:
998
+ type: number
999
+ format: compact
1000
+ - headerName: Ratio
1001
+ field: ratio
1002
+ width: 110
1003
+ cell:
1004
+ type: number
1005
+ decimals: 3
1006
+ rowData:
1007
+ - account: Acme Corp
1008
+ revenue: 1245000
1009
+ revenue_eur: 1125750.5
1010
+ delta: 12500
1011
+ margin: 0.184
1012
+ impressions: 12340
1013
+ ratio: 1.234
1014
+ - account: Globex
1015
+ revenue: 825500
1016
+ revenue_eur: 745600.25
1017
+ delta: -44250.5
1018
+ margin: 0.072
1019
+ impressions: 1050000
1020
+ ratio: 0.876
1021
+ - account: Stark Ind.
1022
+ revenue: 4820000
1023
+ revenue_eur: 4350750
1024
+ delta: -125000
1025
+ margin: -0.033
1026
+ impressions: 85400000
1027
+ ratio: 2.12
1028
+ - account: Wayne Ent.
1029
+ revenue: 3150000
1030
+ revenue_eur: 2845300
1031
+ delta: 87500
1032
+ margin: 0.221
1033
+ impressions: 524000
1034
+ ratio: 0.948
1035
+ ```
1036
+
1037
+ ```yaml
1038
+ - id: loading_demo_switch
1039
+ type: Switch
1040
+ properties:
1041
+ title: Toggle loading overlay
1042
+ - id: loading_demo_grid
1043
+ type: AgGridAlpine
1044
+ loading:
1045
+ _state: loading_demo_switch
1046
+ properties:
1047
+ height: 260
1048
+ defaultColDef:
1049
+ flex: 1
1050
+ columnDefs:
1051
+ - field: name
1052
+ headerName: Name
1053
+ - field: role
1054
+ headerName: Role
1055
+ rowData:
1056
+ - name: Alice Johnson
1057
+ role: Developer
1058
+ - name: Bob Smith
1059
+ role: Designer
1060
+ - name: Charlie Lee
1061
+ role: Manager
1062
+ ```
1063
+
1064
+ ```yaml
1065
+ - id: buttons_cell_demo
1066
+ type: AgGridAlpine
1067
+ properties:
1068
+ height: 260
1069
+ defaultColDef:
1070
+ resizable: true
1071
+ flex: 1
1072
+ columnDefs:
1073
+ - headerName: Task
1074
+ field: name
1075
+ - headerName: Status
1076
+ field: status
1077
+ width: 120
1078
+ cell:
1079
+ type: tag
1080
+ colorMap:
1081
+ Open: blue
1082
+ Locked: red
1083
+ Archived: default
1084
+ - headerName: Actions
1085
+ field: _id
1086
+ width: 220
1087
+ cell:
1088
+ type: buttons
1089
+ buttons:
1090
+ - eventName: onEditClick
1091
+ title: Edit
1092
+ icon: AiOutlineEdit
1093
+ type: primary
1094
+ - eventName: onDeleteClick
1095
+ title: Delete
1096
+ icon: AiOutlineDelete
1097
+ danger: true
1098
+ disabledField: locked
1099
+ hiddenField: archived
1100
+ rowData:
1101
+ - _id: TSK-001
1102
+ name: Wire main switchboard
1103
+ status: Open
1104
+ locked: false
1105
+ archived: false
1106
+ - _id: TSK-002
1107
+ name: HVAC balancing
1108
+ status: Locked
1109
+ locked: true
1110
+ archived: false
1111
+ - _id: TSK-003
1112
+ name: Utility connections
1113
+ status: Archived
1114
+ locked: false
1115
+ archived: true
1116
+ events:
1117
+ onEditClick:
1118
+ - id: edit_msg
1119
+ type: DisplayMessage
1120
+ params:
1121
+ content:
1122
+ _string.concat:
1123
+ - "Edit "
1124
+ - _event: row._id
1125
+ onDeleteClick:
1126
+ - id: delete_msg
1127
+ type: DisplayMessage
1128
+ params:
1129
+ status: warning
1130
+ content:
1131
+ _string.concat:
1132
+ - "Delete "
1133
+ - _event: row.name
1134
+ ```
1135
+
1136
+ ```yaml
1137
+ - id: selector_cell_demo
1138
+ type: AgGridAlpine
1139
+ properties:
1140
+ height: 280
1141
+ defaultColDef:
1142
+ resizable: true
1143
+ columnDefs:
1144
+ - headerName: Task
1145
+ field: name
1146
+ flex: 1
1147
+ - headerName: Priority
1148
+ field: priority
1149
+ width: 200
1150
+ cell:
1151
+ type: selector
1152
+ eventName: onPriorityChange
1153
+ options:
1154
+ - label: Low
1155
+ value: low
1156
+ color: green
1157
+ - label: Medium
1158
+ value: medium
1159
+ color: orange
1160
+ - label: High
1161
+ value: high
1162
+ color: red
1163
+ - headerName: Labels
1164
+ field: labels
1165
+ width: 340
1166
+ cell:
1167
+ type: multipleSelector
1168
+ eventName: onLabelsChange
1169
+ placeholder: Add labels
1170
+ options:
1171
+ - bug
1172
+ - feature
1173
+ - docs
1174
+ - urgent
1175
+ rowData:
1176
+ - id: r1
1177
+ name: Wire main switchboard
1178
+ priority:
1179
+ _state:
1180
+ key: sel_priority.r1
1181
+ default: high
1182
+ labels:
1183
+ _state:
1184
+ key: sel_labels.r1
1185
+ default:
1186
+ - urgent
1187
+ - id: r2
1188
+ name: HVAC balancing
1189
+ priority:
1190
+ _state:
1191
+ key: sel_priority.r2
1192
+ default: medium
1193
+ labels:
1194
+ _state:
1195
+ key: sel_labels.r2
1196
+ default: []
1197
+ - id: r3
1198
+ name: Utility connections
1199
+ priority:
1200
+ _state:
1201
+ key: sel_priority.r3
1202
+ default: low
1203
+ labels:
1204
+ _state:
1205
+ key: sel_labels.r3
1206
+ default:
1207
+ - docs
1208
+ - feature
1209
+ events:
1210
+ onPriorityChange:
1211
+ - id: persist_priority
1212
+ type: SetState
1213
+ params:
1214
+ sel_priority:
1215
+ _object.assign:
1216
+ - _state: sel_priority
1217
+ - _object.fromEntries:
1218
+ - - _event: row.id
1219
+ - _event: newValue
1220
+ onLabelsChange:
1221
+ - id: persist_labels
1222
+ type: SetState
1223
+ params:
1224
+ sel_labels:
1225
+ _object.assign:
1226
+ - _state: sel_labels
1227
+ - _object.fromEntries:
1228
+ - - _event: row.id
1229
+ - _event: newValue
1230
+ ```
1231
+
1232
+ ```yaml
1233
+ - id: input_cell_demo
1234
+ type: AgGridAlpine
1235
+ properties:
1236
+ height: 260
1237
+ defaultColDef:
1238
+ resizable: true
1239
+ rowData:
1240
+ - id: t1
1241
+ name:
1242
+ _state:
1243
+ key: inp_name.t1
1244
+ default: Wire main switchboard
1245
+ active:
1246
+ _state:
1247
+ key: inp_active.t1
1248
+ default: true
1249
+ notes:
1250
+ _state:
1251
+ key: inp_notes.t1
1252
+ default: Awaiting sign-off from the project engineer.
1253
+ - id: t2
1254
+ name:
1255
+ _state:
1256
+ key: inp_name.t2
1257
+ default: HVAC balancing
1258
+ active:
1259
+ _state:
1260
+ key: inp_active.t2
1261
+ default: false
1262
+ notes:
1263
+ _state:
1264
+ key: inp_notes.t2
1265
+ default: Waiting on updated ductwork drawings.
1266
+ columnDefs:
1267
+ - headerName: Task
1268
+ field: name
1269
+ width: 260
1270
+ cell:
1271
+ type: textInput
1272
+ eventName: onNameChange
1273
+ placeholder: Task name
1274
+ - headerName: Active
1275
+ field: active
1276
+ width: 110
1277
+ cell:
1278
+ type: switch
1279
+ eventName: onActiveChange
1280
+ checkedText: on
1281
+ uncheckedText: off
1282
+ - headerName: Notes
1283
+ field: notes
1284
+ flex: 1
1285
+ cell:
1286
+ type: paragraphInput
1287
+ eventName: onNotesChange
1288
+ ellipsis:
1289
+ rows: 2
1290
+ events:
1291
+ onNameChange:
1292
+ - id: persist_name
1293
+ type: SetState
1294
+ params:
1295
+ inp_name:
1296
+ _object.assign:
1297
+ - _state: inp_name
1298
+ - _object.fromEntries:
1299
+ - - _event: row.id
1300
+ - _event: newValue
1301
+ onActiveChange:
1302
+ - id: persist_active
1303
+ type: SetState
1304
+ params:
1305
+ inp_active:
1306
+ _object.assign:
1307
+ - _state: inp_active
1308
+ - _object.fromEntries:
1309
+ - - _event: row.id
1310
+ - _event: newValue
1311
+ onNotesChange:
1312
+ - id: persist_notes
1313
+ type: SetState
1314
+ params:
1315
+ inp_notes:
1316
+ _object.assign:
1317
+ - _state: inp_notes
1318
+ - _object.fromEntries:
1319
+ - - _event: row.id
1320
+ - _event: newValue
1321
+ ```
1322
+
1323
+ | Property | Type | Default | Description |
1324
+ | --- | --- | --- | --- |
1325
+ | `height` | number \| string | `"auto"` | Specify table height explicitly, in pixel. |
1326
+ | `rowData` | array | - | The list of data to display on the table. |
1327
+ | `rowId` | string | - | The data field to use in `getRowId` which results in Row Selection being maintained across Row Data changes (assuming the Row exists in both sets). See Ag Grid docs for more details (https://www.ag-grid.com/react-data-grid/data-update-row-data/). |
1328
+ | `enableBrowserTooltips` | boolean | `false` | Set to `true` to use the browser native `title` attribute tooltips instead of AG Grid's styled tooltip component. |
1329
+ | `suppressCellFocus` | boolean | `true` | When `true` (default), clicking a cell does not draw the AG Grid cell-focus border. Set to `false` to enable spreadsheet-style cell focus and keyboard navigation. |
1330
+ | `tooltipShowDelay` | number | `2000` | The delay in milliseconds before a tooltip is shown. Not applied when `enableBrowserTooltips` is `true`. |
1331
+ | `tooltipHideDelay` | number | `10000` | The delay in milliseconds before a tooltip is hidden. Not applied when `enableBrowserTooltips` is `true`. |
1332
+ | `defaultColDef` | object | - | Column properties which get applied to all columns. See all (https://www.ag-grid.com/javascript-data-grid/column-properties/). |
1333
+ | `columnDefs` | array | - | A list of properties for each column. |
1334
+ | `columnDefs.$.field` | string | - | The field of the row object to get the cell's data from. Deep references into a row object is supported via dot notation, i.e 'address.firstLine'. |
1335
+ | `columnDefs.$.headerName` | string | - | The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. |
1336
+ | `columnDefs.$.filter` | boolean | `false` | Filter component to use for this column. Set to true to use the default filter. |
1337
+ | `columnDefs.$.sortable` | boolean | `false` | Set to true to allow sorting on this column. |
1338
+ | `columnDefs.$.resizable` | boolean | `false` | Set to true to allow this column should be resized. |
1339
+ | `columnDefs.$.width` | number | - | Initial width in pixels for the cell. |
1340
+ | `columnDefs.$.cellStyle` | number | - | An object of css values returning an object of css values for a particular cell. |
1341
+ | `columnDefs.$.cellRenderer` | object | - | Provide your own cell Renderer function (using the `_function` operator) for this column's cells. |
1342
+ | `columnDefs.$.valueFormatter` | object \| string | - | A function (using the `_function` operator) or expression to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. |
1343
+ | `columnDefs.$.tooltipField` | string | - | The field of the row object to read the tooltip value from. When set, hovering a cell shows a tooltip with that value using the grid's default tooltip component. |
1344
+ | `columnDefs.$.tooltipValueGetter` | object | - | Provide a function (using the `_function` operator) that returns the tooltip value for a cell. Overrides `tooltipField`. |
1345
+ | `columnDefs.$.tooltipComponent` | object | - | Provide a custom tooltip component. See AG Grid tooltip component docs (https://www.ag-grid.com/react-data-grid/component-tooltip/). |
1346
+ | `columnDefs.$.ellipsis` | number | - | Line-clamp count for long text. Automatically enables `wrapText` and `autoHeight` and applies the `.lf-ellipsis-N` class (1–6). |
1347
+ | `columnDefs.$.cell` | object | - | Built-in cell renderer. Takes precedence over `cellRenderer` when `type` is set. Field-valued keys (e.g. `nameField`, `srcField`, `urlQuery.*`) are row-data paths. |
1348
+ | `columnDefs.$.cell.type` | string | - | The built-in renderer to use. Enum: `tag`, `avatar`, `link`, `date`, `boolean`, `progress`, `number`, `buttons`, `selector`, `multipleSelector`, `switch`, `textInput`, `paragraphInput`. |
1349
+ | `columnDefs.$.cell.colorMap` | object | - | Tag: map of cell value → color (antd tag color name or hex). Used when `cell.type: tag`. The cell value may be a single string or an array of strings; arrays render one tag per item. If neither `colorMap`, `colorFrom`, nor `default` is set, tag values are auto-coloured from a stable hash for consistency across rows. |
1350
+ | `columnDefs.$.cell.colorFrom` | string | - | Tag: row-data path to a color value. Takes precedence over `colorMap`. |
1351
+ | `columnDefs.$.cell.default` | string | - | Tag: fallback color for values not in `colorMap`. |
1352
+ | `columnDefs.$.cell.nameField` | string | - | Avatar: row-data path for the name label. |
1353
+ | `columnDefs.$.cell.srcField` | string | - | Avatar: row-data path for the image src (optional). |
1354
+ | `columnDefs.$.cell.idField` | string | - | Avatar: row-data path for an id used to seed initials colour. |
1355
+ | `columnDefs.$.cell.shape` | string | - | Avatar shape. Defaults to `circle`. Enum: `circle`, `square`. |
1356
+ | `columnDefs.$.cell.link` | object | - | Avatar/Link: navigation config. Emits `onCellLink` on click. `pageId`/`href`/`back`/`home`/`newTab` are literal; `urlQuery` values are row-data paths. |
1357
+ | `columnDefs.$.cell.pageId` | string | - | Link: target page id (literal). |
1358
+ | `columnDefs.$.cell.href` | string | - | Link: literal href (overrides `pageId`). |
1359
+ | `columnDefs.$.cell.back` | boolean | - | Link: navigate back. |
1360
+ | `columnDefs.$.cell.home` | boolean | - | Link: navigate home. |
1361
+ | `columnDefs.$.cell.newTab` | boolean | - | Link: open in a new tab. |
1362
+ | `columnDefs.$.cell.urlQuery` | object | - | Link: query params. Each value is a row-data path. |
1363
+ | `columnDefs.$.cell.labelField` | string | - | Link: row-data path for the visible label (falls back to cell value). |
1364
+ | `columnDefs.$.cell.format` | string | - | Number: `number` (default), `currency`, `percent`, or `compact` (K/M/B). Date: dayjs format string (default `YYYY-MM-DD HH:mm`). |
1365
+ | `columnDefs.$.cell.relative` | boolean | - | Date: render as relative time (e.g. "3 hours ago"). |
1366
+ | `columnDefs.$.cell.trueLabel` | string | - | Boolean: label when truthy. |
1367
+ | `columnDefs.$.cell.falseLabel` | string | - | Boolean: label when falsy. |
1368
+ | `columnDefs.$.cell.trueColor` | string | - | Boolean: CSS colour when truthy. |
1369
+ | `columnDefs.$.cell.falseColor` | string | - | Boolean: CSS colour when falsy. |
1370
+ | `columnDefs.$.cell.thresholds` | array | - | Progress: threshold values (ascending). Each threshold defines where the next colour starts. |
1371
+ | `columnDefs.$.cell.colors` | array | - | Progress: colour per bucket (length = thresholds.length + 1). |
1372
+ | `columnDefs.$.cell.suffix` | string | - | Number/Progress: literal suffix appended after the formatted value. Default `%` for progress. |
1373
+ | `columnDefs.$.cell.nullLabel` | string | - | Progress: label when value is null. Default `None`. |
1374
+ | `columnDefs.$.cell.locale` | string | - | Number: BCP 47 locale for `Intl.NumberFormat` (e.g. `en-US`, `de-DE`). Defaults to browser. |
1375
+ | `columnDefs.$.cell.currency` | string | - | Number: ISO 4217 currency code when `format: currency`. Default `USD`. |
1376
+ | `columnDefs.$.cell.currencyDisplay` | string | - | Number: currency display style when `format: currency`. Enum: `symbol`, `narrowSymbol`, `code`, `name`. |
1377
+ | `columnDefs.$.cell.decimals` | number | - | Number: fixed number of fraction digits (sets both `minimumFractionDigits` and `maximumFractionDigits`). |
1378
+ | `columnDefs.$.cell.minDecimals` | number | - | Number: `Intl.NumberFormat` `minimumFractionDigits`. |
1379
+ | `columnDefs.$.cell.maxDecimals` | number | - | Number: `Intl.NumberFormat` `maximumFractionDigits`. |
1380
+ | `columnDefs.$.cell.notation` | string | - | Number: `Intl.NumberFormat` notation. `compact` format sets this automatically. Enum: `standard`, `scientific`, `engineering`, `compact`. |
1381
+ | `columnDefs.$.cell.useGrouping` | boolean | `true` | Number: include thousands separators. |
1382
+ | `columnDefs.$.cell.negative` | string | `"minus"` | Number: how to render negative numbers — `minus` (default) or `parentheses` for accounting. Enum: `minus`, `parentheses`. |
1383
+ | `columnDefs.$.cell.signColor` | boolean | `false` | Number: when true, positives use `positiveColor` (default success token), negatives use `negativeColor` (default error token). |
1384
+ | `columnDefs.$.cell.positiveColor` | string | - | Number: CSS colour when value > 0 (requires `signColor: true`). |
1385
+ | `columnDefs.$.cell.negativeColor` | string | - | Number: CSS colour when value < 0 (requires `signColor: true`). |
1386
+ | `columnDefs.$.cell.zeroColor` | string | - | Number: CSS colour when value === 0 (requires `signColor: true`). |
1387
+ | `columnDefs.$.cell.color` | string | - | Number: CSS colour applied to all values (overridden by `signColor`). |
1388
+ | `columnDefs.$.cell.prefix` | string | - | Number: literal prefix (e.g. `Δ `, `~`). |
1389
+ | `columnDefs.$.cell.align` | string | - | Cell horizontal alignment. Defaults to `right` for `cell.type: number`. Sets `cellStyle.justifyContent` and `ag-*-aligned-header` on the header. Enum: `left`, `center`, `right`. |
1390
+ | `columnDefs.$.cell.buttons` | array | - | Buttons cell: list of buttons rendered per row. Each button triggers its own block-level event (declared in `events:`). Per-button properties mirror the `Button` block schema. `*Field` variants (`titleField`, `iconField`, `disabledField`, `hiddenField`) are row-data paths. |
1391
+ | `columnDefs.$.cell.buttons.$.eventName` | string | - | Block-level event name to trigger on click. |
1392
+ | `columnDefs.$.cell.buttons.$.title` | string | - | Title text on the button - supports html. |
1393
+ | `columnDefs.$.cell.buttons.$.titleField` | string | - | Row-data path for the title. |
1394
+ | `columnDefs.$.cell.buttons.$.icon` | string \| object | - | Name of a React-Icon or Icon block config. |
1395
+ | `columnDefs.$.cell.buttons.$.iconField` | string | - | Row-data path for the icon name or config. |
1396
+ | `columnDefs.$.cell.buttons.$.type` | string | - | antd Button type. Enum: `primary`, `default`, `dashed`, `link`, `text`. |
1397
+ | `columnDefs.$.cell.buttons.$.variant` | string | - | antd Button variant. Takes precedence over `type` when set. Enum: `solid`, `outlined`, `dashed`, `filled`, `text`, `link`. |
1398
+ | `columnDefs.$.cell.buttons.$.color` | string | - | Button color (antd preset or hex). |
1399
+ | `columnDefs.$.cell.buttons.$.size` | string | `"small"` | Button size. Defaults to `small` inside cells. Enum: `small`, `default`, `large`. |
1400
+ | `columnDefs.$.cell.buttons.$.shape` | string | `"square"` | Enum: `circle`, `round`, `square`. |
1401
+ | `columnDefs.$.cell.buttons.$.danger` | boolean | `false` | |
1402
+ | `columnDefs.$.cell.buttons.$.ghost` | boolean | `false` | |
1403
+ | `columnDefs.$.cell.buttons.$.hideTitle` | boolean | `false` | Hide the button's title (icon-only). |
1404
+ | `columnDefs.$.cell.buttons.$.disabled` | boolean | `false` | |
1405
+ | `columnDefs.$.cell.buttons.$.disabledField` | string | - | Row-data path → boolean. |
1406
+ | `columnDefs.$.cell.buttons.$.hidden` | boolean | `false` | Hide the button entirely. |
1407
+ | `columnDefs.$.cell.buttons.$.hiddenField` | string | - | Row-data path → boolean. |
1408
+ | `columnDefs.$.cell.options` | array | - | Selector / Multiple selector cell: dropdown options. An array of primitives, or objects mirroring the `Selector` block options: `{ label, value, disabled, color, filterString, style }`. `label` supports html. |
1409
+ | `columnDefs.$.cell.valueKey` | string | - | Selector / Multiple selector: field on each option object to use as its value. Defaults to `value`. |
1410
+ | `columnDefs.$.cell.primaryKey` | string | - | Selector / Multiple selector: field used to match the cell value to an option (identity key for object values). |
1411
+ | `columnDefs.$.cell.eventName` | string | - | Selector / Multiple selector: block-level event triggered on change. Event payload is `{ row, value, newValue }` (`newValue` is an array for `multipleSelector`). |
1412
+ | `columnDefs.$.cell.placeholder` | string | - | Selector / Multiple selector: placeholder text when empty. |
1413
+ | `columnDefs.$.cell.allowClear` | boolean | `true` | Selector / Multiple selector: show a clear button. |
1414
+ | `columnDefs.$.cell.showSearch` | boolean | `true` | Selector / Multiple selector: allow typing to filter options. |
1415
+ | `columnDefs.$.cell.size` | string | `"small"` | Selector / Multiple selector: input size. Defaults to `small` inside cells. Enum: `small`, `default`, `large`. |
1416
+ | `columnDefs.$.cell.disabled` | boolean | `false` | Selector / Multiple selector: disable the input. |
1417
+ | `columnDefs.$.cell.variant` | string | - | Selector / Multiple selector: visual variant. `solid` fills the control (single) or tags (multiple) with the selected option colour. Enum: `outlined`, `filled`, `borderless`, `solid`. |
1418
+ | `columnDefs.$.cell.bordered` | boolean | - | Selector / Multiple selector: set false for a borderless control. Deprecated alias of `variant: borderless`. |
1419
+ | `columnDefs.$.cell.showArrow` | boolean | - | Selector / Multiple selector: show the dropdown arrow. |
1420
+ | `columnDefs.$.cell.autoFocus` | boolean | `false` | Selector / Multiple selector: focus the control on mount. |
1421
+ | `columnDefs.$.cell.maxTagCount` | number \| string | - | Multiple selector: max tags shown before collapsing (a number, or "responsive"). |
1422
+ | `columnDefs.$.cell.autoClearSearchValue` | boolean | - | Multiple selector: clear the search box after each selection. |
1423
+ | `columnDefs.$.cell.checkedText` | string | - | Switch: label shown inside the switch when on. |
1424
+ | `columnDefs.$.cell.uncheckedText` | string | - | Switch: label shown inside the switch when off. |
1425
+ | `columnDefs.$.cell.checkedIcon` | string \| object | - | Switch: icon shown when on (React-Icon name or Icon block config). |
1426
+ | `columnDefs.$.cell.uncheckedIcon` | string \| object | - | Switch: icon shown when off (React-Icon name or Icon block config). |
1427
+ | `columnDefs.$.cell.inputType` | string | - | Text input: the HTML input type (e.g. `text`, `email`, `number`, `password`). Named `inputType` to avoid clashing with `cell.type`. |
1428
+ | `columnDefs.$.cell.maxLength` | number | - | Text input / Paragraph input: maximum number of characters. |
1429
+ | `columnDefs.$.cell.showCount` | boolean | - | Text input: show the character count. |
1430
+ | `columnDefs.$.cell.editable` | boolean | `true` | Paragraph input: set false to render read-only text with no edit pencil. |
1431
+ | `columnDefs.$.cell.autoSize` | boolean \| object | - | Paragraph input: auto-size the inline edit textarea. |
1432
+ | `columnDefs.$.cell.editTooltip` | boolean \| string | - | Paragraph input: tooltip on the edit pencil. |
1433
+ | `columnDefs.$.cell.copyable` | boolean \| object | - | Paragraph input: show a copy-to-clipboard button. |
1434
+ | `columnDefs.$.cell.ellipsis` | boolean \| object | - | Paragraph input: truncate with an ellipsis (e.g. `{ rows: 2, expandable: true }`). |
1435
+ | `columnDefs.$.cell.code` | boolean | - | Paragraph input: render as inline code. |
1436
+ | `columnDefs.$.cell.strong` | boolean | - | Paragraph input: bold text. |
1437
+ | `columnDefs.$.cell.italic` | boolean | - | Paragraph input: italic text. |
1438
+ | `columnDefs.$.cell.underline` | boolean | - | Paragraph input: underlined text. |
1439
+ | `columnDefs.$.cell.delete` | boolean | - | Paragraph input: strikethrough text. |
1440
+ | `columnDefs.$.cell.mark` | boolean | - | Paragraph input: highlighted text. |
1441
+ | `columnDefs.$.cell.textType` | string | - | Paragraph input: antd Typography semantic colour. Enum: `secondary`, `success`, `warning`, `danger`. |
1442
+
1443
+ | Event | Event Data | Description |
1444
+ | --- | --- | --- |
1445
+ | `onCellClick` | `{ cell, colId, row, rowIndex, selected }` | Trigger event when a cell is clicked. |
1446
+ | `onFilterChanged` | `{ rows, filter }` | Trigger event when the filter changes. |
1447
+ | `onRowClick` | `{ row, selected, rowIndex }` | Trigger event when a row is clicked. |
1448
+ | `onRowSelected` | `{ row, rowIndex, selected }` | Trigger event when a row is selected. |
1449
+ | `onSelectionChanged` | `{ selected }` | Triggered when the selected rows are changed. |
1450
+ | `onSortChanged` | `{ rows, sort }` | Trigger event when the sort changes. |
1451
+ | `onCellLink` | `{ link, row, value }` | Triggered when a built-in `cell.type: link` (or avatar with `link`) cell is clicked. Wire to a `Link` action with `params: { _event: link }` to navigate. |
1452
+ | `onCellButton` | `{ row, value, button, buttonIndex }` | Documentation reference — the actual event name fired is the `eventName` string declared on each `cell.buttons[]` entry. Wire any number of named events on the block (e.g. `onApprove`, `onDelete`). |
1453
+
1454
+ | Key | Target |
1455
+ | --- | --- |
1456
+ | `/block` | Outer block wrapper (always available). |
1457
+ | `/element` | The AgGridAlpine element. |
1458
+
1459
+ No slots defined.