@fugood/bricks-project 2.23.0-beta.9 → 2.23.2

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 (118) hide show
  1. package/api/instance.ts +37 -5
  2. package/compile/action-name-map.ts +107 -0
  3. package/compile/index.ts +172 -66
  4. package/compile/util.ts +13 -4
  5. package/package.json +9 -5
  6. package/skills/bricks-project/SKILL.md +32 -0
  7. package/skills/bricks-project/rules/animation.md +159 -0
  8. package/skills/bricks-project/rules/architecture-patterns.md +62 -0
  9. package/skills/bricks-project/rules/automations.md +221 -0
  10. package/skills/bricks-project/rules/buttress.md +153 -0
  11. package/skills/bricks-project/rules/data-calculation.md +208 -0
  12. package/skills/bricks-project/rules/local-sync.md +129 -0
  13. package/skills/bricks-project/rules/media-flow.md +158 -0
  14. package/skills/bricks-project/rules/remote-data-bank.md +196 -0
  15. package/skills/bricks-project/rules/standby-transition.md +124 -0
  16. package/skills/rive-marketplace/SKILL.md +99 -0
  17. package/tools/deploy.ts +74 -12
  18. package/tools/icons/.gitattributes +1 -0
  19. package/tools/icons/fa6pro-glyphmap.json +4686 -0
  20. package/tools/icons/fa6pro-meta.json +26127 -0
  21. package/tools/mcp-server.ts +818 -9
  22. package/tools/postinstall.ts +75 -13
  23. package/tools/preview-main.mjs +54 -4
  24. package/tools/preview.ts +54 -7
  25. package/tools/pull.ts +37 -16
  26. package/types/automation.ts +232 -0
  27. package/types/brick-base.ts +1 -0
  28. package/types/bricks/Camera.ts +26 -10
  29. package/types/bricks/Chart.ts +1 -0
  30. package/types/bricks/GenerativeMedia.ts +21 -3
  31. package/types/bricks/Icon.ts +1 -0
  32. package/types/bricks/Image.ts +6 -0
  33. package/types/bricks/Items.ts +1 -0
  34. package/types/bricks/Lottie.ts +1 -0
  35. package/types/bricks/Maps.ts +254 -0
  36. package/types/bricks/QrCode.ts +1 -0
  37. package/types/bricks/Rect.ts +1 -0
  38. package/types/bricks/RichText.ts +1 -0
  39. package/types/bricks/Rive.ts +1 -0
  40. package/types/bricks/Slideshow.ts +1 -0
  41. package/types/bricks/Svg.ts +1 -0
  42. package/types/bricks/Text.ts +1 -0
  43. package/types/bricks/TextInput.ts +1 -0
  44. package/types/bricks/Video.ts +1 -0
  45. package/types/bricks/VideoStreaming.ts +1 -0
  46. package/types/bricks/WebRtcStream.ts +1 -0
  47. package/types/bricks/WebView.ts +8 -1
  48. package/types/bricks/index.ts +2 -0
  49. package/types/canvas.ts +1 -0
  50. package/types/common.ts +2 -0
  51. package/types/data-calc-command.ts +7003 -0
  52. package/types/data-calc-script.ts +21 -0
  53. package/types/data-calc.ts +3 -6977
  54. package/types/data.ts +3 -0
  55. package/types/generators/AlarmClock.ts +2 -0
  56. package/types/generators/Assistant.ts +30 -6
  57. package/types/generators/BleCentral.ts +2 -0
  58. package/types/generators/BlePeripheral.ts +2 -0
  59. package/types/generators/CanvasMap.ts +2 -0
  60. package/types/generators/CastlesPay.ts +2 -0
  61. package/types/generators/DataBank.ts +2 -0
  62. package/types/generators/File.ts +2 -0
  63. package/types/generators/GraphQl.ts +2 -0
  64. package/types/generators/Http.ts +84 -2
  65. package/types/generators/HttpServer.ts +5 -1
  66. package/types/generators/Information.ts +2 -0
  67. package/types/generators/Intent.ts +51 -0
  68. package/types/generators/Iterator.ts +11 -2
  69. package/types/generators/Keyboard.ts +2 -0
  70. package/types/generators/LlmAnthropicCompat.ts +2 -0
  71. package/types/generators/LlmAppleBuiltin.ts +144 -0
  72. package/types/generators/LlmGgml.ts +28 -4
  73. package/types/generators/LlmOnnx.ts +2 -0
  74. package/types/generators/LlmOpenAiCompat.ts +2 -0
  75. package/types/generators/LlmQualcommAiEngine.ts +2 -0
  76. package/types/generators/Mcp.ts +6 -4
  77. package/types/generators/McpServer.ts +8 -6
  78. package/types/generators/MediaFlow.ts +2 -0
  79. package/types/generators/MqttBroker.ts +2 -0
  80. package/types/generators/MqttClient.ts +2 -0
  81. package/types/generators/Question.ts +9 -0
  82. package/types/generators/RealtimeTranscription.ts +18 -8
  83. package/types/generators/RerankerGgml.ts +23 -16
  84. package/types/generators/SerialPort.ts +2 -0
  85. package/types/generators/SoundPlayer.ts +2 -0
  86. package/types/generators/SoundRecorder.ts +2 -0
  87. package/types/generators/SpeechToTextGgml.ts +19 -4
  88. package/types/generators/SpeechToTextOnnx.ts +2 -0
  89. package/types/generators/SpeechToTextPlatform.ts +2 -0
  90. package/types/generators/SqLite.ts +32 -1
  91. package/types/generators/Step.ts +2 -0
  92. package/types/generators/SttAppleBuiltin.ts +117 -0
  93. package/types/generators/Tcp.ts +2 -0
  94. package/types/generators/TcpServer.ts +5 -1
  95. package/types/generators/TextToSpeechApple.ts +113 -0
  96. package/types/generators/TextToSpeechAppleBuiltin.ts +114 -0
  97. package/types/generators/TextToSpeechGgml.ts +24 -3
  98. package/types/generators/TextToSpeechOnnx.ts +2 -0
  99. package/types/generators/TextToSpeechOpenAiLike.ts +2 -0
  100. package/types/generators/ThermalPrinter.ts +2 -0
  101. package/types/generators/Tick.ts +5 -1
  102. package/types/generators/TtsAppleBuiltin.ts +105 -0
  103. package/types/generators/Udp.ts +2 -0
  104. package/types/generators/VadGgml.ts +4 -2
  105. package/types/generators/VadOnnx.ts +201 -0
  106. package/types/generators/VadTraditional.ts +123 -0
  107. package/types/generators/VectorStore.ts +15 -2
  108. package/types/generators/Watchdog.ts +2 -0
  109. package/types/generators/WebCrawler.ts +2 -0
  110. package/types/generators/WebRtc.ts +4 -2
  111. package/types/generators/WebSocket.ts +2 -0
  112. package/types/generators/index.ts +5 -0
  113. package/types/index.ts +3 -0
  114. package/types/system.ts +48 -6
  115. package/utils/calc.ts +15 -9
  116. package/utils/data.ts +1 -0
  117. package/utils/event-props.ts +112 -2
  118. package/utils/id.ts +3 -1
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -76,12 +77,27 @@ export type BrickCameraActionStopRecord = Action & {
76
77
  __actionName: 'BRICK_CAMERA_STOP_RECORD'
77
78
  }
78
79
 
80
+ /* Focus the Camera at a specific point */
81
+ export type BrickCameraActionFocus = ActionWithParams & {
82
+ __actionName: 'BRICK_CAMERA_FOCUS'
83
+ params?: Array<
84
+ | {
85
+ input: 'focusX'
86
+ value?: number | DataLink | EventProperty
87
+ mapping?: string
88
+ }
89
+ | {
90
+ input: 'focusY'
91
+ value?: number | DataLink | EventProperty
92
+ mapping?: string
93
+ }
94
+ >
95
+ }
96
+
79
97
  interface BrickCameraDef {
80
98
  /*
81
99
  Default property:
82
100
  {
83
- "autoFocusEnabled": false,
84
- "focusDepth": 0.5,
85
101
  "type": "back",
86
102
  "flashMode": "off",
87
103
  "captureAudio": false,
@@ -91,12 +107,10 @@ Default property:
91
107
  }
92
108
  */
93
109
  property?: BrickBasicProperty & {
94
- /* Camera auto focus */
95
- autoFocusEnabled?: boolean | DataLink
96
- /* The auto focus feature of the camera to attempt to focus on the part of the image at this coordinate. */
97
- focusDepth?: number | DataLink
98
- /* Camera type (Ignore it if you are using external camera) */
99
- type?: 'back' | 'front' | DataLink
110
+ /* Camera type */
111
+ type?: 'back' | 'front' | 'external' | DataLink
112
+ /* Enable or disable camera */
113
+ isActive?: boolean | DataLink
100
114
  /* Camera zoom */
101
115
  zoom?: number | DataLink
102
116
  /* Camera flash mode */
@@ -114,7 +128,7 @@ Default property:
114
128
  | 'incandescent'
115
129
  | 'fluorescent'
116
130
  | DataLink
117
- /* Enable face detection */
131
+ /* Enable face detection (Note: Barcode detection will be disabled when enabled) */
118
132
  faceDetectionEnabled?: boolean | DataLink
119
133
  /* Face detection event mode */
120
134
  faceDetectionEventMode?: 'when-detected' | 'interval' | DataLink
@@ -152,6 +166,8 @@ Default property:
152
166
  mountError?: Array<EventAction>
153
167
  }
154
168
  outlets?: {
169
+ /* Camera device and format information */
170
+ info?: () => Data
155
171
  /* Picture taken result */
156
172
  pictureTaken?: () => Data
157
173
  /* Record video result */
@@ -186,7 +202,7 @@ export type BrickCamera = Brick &
186
202
  | SwitchCondData
187
203
  | {
188
204
  __typename: 'SwitchCondInnerStateOutlet'
189
- outlet: 'pictureTaken' | 'recordVideo' | 'barcodeRead' | 'faceDetected'
205
+ outlet: 'info' | 'pictureTaken' | 'recordVideo' | 'barcodeRead' | 'faceDetected'
190
206
  value: any
191
207
  }
192
208
  }>
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -20,7 +21,10 @@ Default property:
20
21
  "type": "image",
21
22
  "resizeMode": "cover",
22
23
  "provider": "openai",
23
- "freepikClassicImageSize": "square_1_1"
24
+ "freepikClassicImageSize": "square_1_1",
25
+ "geminiVeoModel": "veo-3.1-generate-preview",
26
+ "geminiVeoResolution": "720p",
27
+ "geminiVeoDuration": 8
24
28
  }
25
29
  */
26
30
  property?: BrickBasicProperty & {
@@ -44,8 +48,8 @@ Default property:
44
48
  resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat' | DataLink
45
49
  /* The API key for the generative media service */
46
50
  apiKey?: string | DataLink
47
- /* The AI provider to use for generation (openai, freepik, or deepai) */
48
- provider?: 'openai' | 'freepik-classic' | 'deepai' | DataLink
51
+ /* The AI provider to use for generation (openai, freepik-classic, deepai, or gemini) */
52
+ provider?: 'openai' | 'freepik-classic' | 'deepai' | 'gemini' | DataLink
49
53
  /* OpenAI image size (256x256, 512x512, 1024x1024, etc) */
50
54
  openaiSize?: '1024x1024' | '1024x1792' | '1792x1024' | DataLink
51
55
  /* OpenAI image style (vivid or natural) */
@@ -158,6 +162,20 @@ Default property:
158
162
  deepaiWidth?: number | DataLink
159
163
  /* DeepAI output image height */
160
164
  deepaiHeight?: number | DataLink
165
+ /* Gemini aspect ratio (1:1, 16:9, 9:16, 3:2, 2:3) */
166
+ geminiAspectRatio?: '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | DataLink
167
+ /* Gemini model to use for image generation */
168
+ geminiModel?: 'gemini-2.5-flash-image' | 'gemini-3-pro-image-preview' | DataLink
169
+ /* Gemini Veo model to use for video generation */
170
+ geminiVeoModel?: 'veo-3.1-generate-preview' | 'veo-3.1-fast-generate-preview' | DataLink
171
+ /* Gemini Veo video resolution (720p or 1080p) */
172
+ geminiVeoResolution?: '720p' | '1080p' | DataLink
173
+ /* Gemini Veo video duration in seconds (4, 6, 8) */
174
+ geminiVeoDuration?: 4 | 6 | 8 | DataLink
175
+ /* Gemini Veo negative prompt (attributes to avoid) */
176
+ geminiVeoNegativePrompt?: string | DataLink
177
+ /* Gemini Veo person generation control */
178
+ geminiVeoPersonGeneration?: 'allow_all' | 'allow_adult' | DataLink
161
179
  }
162
180
  events?: BrickBasicEvents & {
163
181
  /* Event of the brick press */
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -17,6 +18,7 @@ interface BrickImageDef {
17
18
  Default property:
18
19
  {
19
20
  "path": "",
21
+ "templateType": "${}",
20
22
  "fadeDuration": 0,
21
23
  "blurBackgroundRadius": 8,
22
24
  "loadSystemIos": "auto",
@@ -28,6 +30,10 @@ Default property:
28
30
  resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat' | DataLink
29
31
  /* The image file path (File, URL) */
30
32
  path?: string | DataLink
33
+ /* Data to be used in the path template (e.g. `https://example.com/${id}.png`). Supports nested data, such as `${user.avatar}`. */
34
+ templateData?: {} | DataLink
35
+ /* The path template type */
36
+ templateType?: '${}' | '{{}}' | DataLink
31
37
  /* The checksum of file */
32
38
  md5?: string | DataLink
33
39
  /* The image fade duration */
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -0,0 +1,254 @@
1
+ /* Auto generated by build script */
2
+ import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
+ import type { Data, DataLink } from '../data'
4
+ import type { Animation, AnimationBasicEvents } from '../animation'
5
+ import type {
6
+ Brick,
7
+ EventAction,
8
+ EventActionForItem,
9
+ ActionWithDataParams,
10
+ ActionWithParams,
11
+ Action,
12
+ EventProperty,
13
+ } from '../common'
14
+ import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
15
+
16
+ /* Zoom in the map */
17
+ export type BrickMapsActionZoomIn = Action & {
18
+ __actionName: 'BRICK_MAPS_ZOOM_IN'
19
+ }
20
+
21
+ /* Zoom out the map */
22
+ export type BrickMapsActionZoomOut = Action & {
23
+ __actionName: 'BRICK_MAPS_ZOOM_OUT'
24
+ }
25
+
26
+ /* Pan the map in a direction */
27
+ export type BrickMapsActionPan = ActionWithParams & {
28
+ __actionName: 'BRICK_MAPS_PAN'
29
+ params?: Array<{
30
+ input: 'panDirection'
31
+ value?: 'up' | 'down' | 'left' | 'right' | DataLink | EventProperty
32
+ mapping?: string
33
+ }>
34
+ }
35
+
36
+ /* Navigate to a specific location */
37
+ export type BrickMapsActionNavigateTo = ActionWithParams & {
38
+ __actionName: 'BRICK_MAPS_NAVIGATE_TO'
39
+ params?: Array<
40
+ | {
41
+ input: 'targetLatitude'
42
+ value?: number | DataLink | EventProperty
43
+ mapping?: string
44
+ }
45
+ | {
46
+ input: 'targetLongitude'
47
+ value?: number | DataLink | EventProperty
48
+ mapping?: string
49
+ }
50
+ | {
51
+ input: 'targetZoom'
52
+ value?: number | DataLink | EventProperty
53
+ mapping?: string
54
+ }
55
+ >
56
+ }
57
+
58
+ /* Focus on a marker by ID */
59
+ export type BrickMapsActionFocusMarker = ActionWithParams & {
60
+ __actionName: 'BRICK_MAPS_FOCUS_MARKER'
61
+ params?: Array<{
62
+ input: 'markerId'
63
+ value?: string | DataLink | EventProperty
64
+ mapping?: string
65
+ }>
66
+ }
67
+
68
+ /* Reset map to initial position */
69
+ export type BrickMapsActionReset = Action & {
70
+ __actionName: 'BRICK_MAPS_RESET'
71
+ }
72
+
73
+ /* Fit map to show all markers */
74
+ export type BrickMapsActionFitToMarkers = ActionWithParams & {
75
+ __actionName: 'BRICK_MAPS_FIT_TO_MARKERS'
76
+ params?: Array<
77
+ | {
78
+ input: 'edgePadding'
79
+ value?: number | DataLink | EventProperty
80
+ mapping?: string
81
+ }
82
+ | {
83
+ input: 'animated'
84
+ value?: boolean | DataLink | EventProperty
85
+ mapping?: string
86
+ }
87
+ >
88
+ }
89
+
90
+ interface BrickMapsDef {
91
+ /*
92
+ Default property:
93
+ {
94
+ "provider": "google",
95
+ "apiKey": "",
96
+ "initialLatitude": 25.033,
97
+ "initialLongitude": 121.5654,
98
+ "initialZoom": 10,
99
+ "mapType": "standard",
100
+ "mapTheme": "standard",
101
+ "showUserLocation": false,
102
+ "showCompass": true,
103
+ "showZoomControls": true,
104
+ "scrollEnabled": true,
105
+ "zoomEnabled": true,
106
+ "rotateEnabled": true,
107
+ "markers": [],
108
+ "customMapStyle": [],
109
+ "showTraffic": false,
110
+ "showBuildings": false,
111
+ "showIndoors": true,
112
+ "minZoomLevel": 1,
113
+ "maxZoomLevel": 20,
114
+ "followUserLocation": false,
115
+ "showPath": false,
116
+ "pathStrokeColor": "#4285F4",
117
+ "pathStrokeWidth": 3
118
+ }
119
+ */
120
+ property?: BrickBasicProperty & {
121
+ /* Map provider (iOS/tvOS only - Android and Web always use Google Maps) */
122
+ provider?: 'google' | 'apple' | DataLink
123
+ /* Google Maps API Key (Web only) */
124
+ apiKey?: string | DataLink
125
+ /* Initial latitude */
126
+ initialLatitude?: number | DataLink
127
+ /* Initial longitude */
128
+ initialLongitude?: number | DataLink
129
+ /* Initial zoom level (1-20) */
130
+ initialZoom?: number | DataLink
131
+ /* Map type */
132
+ mapType?: 'standard' | 'satellite' | 'hybrid' | 'terrain' | DataLink
133
+ /* Map theme preset */
134
+ mapTheme?: 'standard' | 'dark' | 'night' | 'retro' | 'silver' | 'aubergine' | DataLink
135
+ /* Show user location button */
136
+ showUserLocation?: boolean | DataLink
137
+ /* Show compass */
138
+ showCompass?: boolean | DataLink
139
+ /* Show zoom controls */
140
+ showZoomControls?: boolean | DataLink
141
+ /* Enable scrolling */
142
+ scrollEnabled?: boolean | DataLink
143
+ /* Enable zooming */
144
+ zoomEnabled?: boolean | DataLink
145
+ /* Enable rotating */
146
+ rotateEnabled?: boolean | DataLink
147
+ /* Map markers data */
148
+ markers?:
149
+ | Array<
150
+ | DataLink
151
+ | {
152
+ id?: string | DataLink
153
+ latitude?: number | DataLink
154
+ longitude?: number | DataLink
155
+ title?: string | DataLink
156
+ description?: string | DataLink
157
+ color?: string | DataLink
158
+ icon?: string | DataLink
159
+ }
160
+ >
161
+ | DataLink
162
+ /* Custom map style (array of Google Maps style objects) */
163
+ customMapStyle?:
164
+ | Array<
165
+ | DataLink
166
+ | {
167
+ featureType?: string | DataLink
168
+ elementType?: string | DataLink
169
+ stylers?: Array<{} | DataLink> | DataLink
170
+ }
171
+ >
172
+ | DataLink
173
+ /* Show traffic layer */
174
+ showTraffic?: boolean | DataLink
175
+ /* Show buildings in 3D */
176
+ showBuildings?: boolean | DataLink
177
+ /* Show indoor maps */
178
+ showIndoors?: boolean | DataLink
179
+ /* Minimum zoom level */
180
+ minZoomLevel?: number | DataLink
181
+ /* Maximum zoom level */
182
+ maxZoomLevel?: number | DataLink
183
+ /* Follow user location */
184
+ followUserLocation?: boolean | DataLink
185
+ /* Show path between markers */
186
+ showPath?: boolean | DataLink
187
+ /* Path stroke color */
188
+ pathStrokeColor?: string | DataLink
189
+ /* Path stroke width */
190
+ pathStrokeWidth?: number | DataLink
191
+ }
192
+ events?: BrickBasicEvents & {
193
+ /* Event of the brick press */
194
+ onPress?: Array<EventAction>
195
+ /* Event of the brick press in */
196
+ onPressIn?: Array<EventAction>
197
+ /* Event of the brick press out */
198
+ onPressOut?: Array<EventAction>
199
+ /* Event of the brick long press */
200
+ onLongPress?: Array<EventAction>
201
+ /* Event of the brick focus (Use TV Device with controller) */
202
+ onFocus?: Array<EventAction>
203
+ /* Event of the brick blur (Use TV Device with controller) */
204
+ onBlur?: Array<EventAction>
205
+ /* Event when a marker is pressed */
206
+ onMarkerPress?: Array<EventAction>
207
+ /* Event when the map is pressed */
208
+ onMapPress?: Array<EventAction>
209
+ /* Event when the map region changes */
210
+ onRegionChange?: Array<EventAction>
211
+ /* Event when the map is ready */
212
+ onReady?: Array<EventAction>
213
+ }
214
+ outlets?: {
215
+ /* Brick is pressing */
216
+ brickPressing?: () => Data
217
+ /* Brick is focusing (Use TV Device with controller) */
218
+ brickFocusing?: () => Data
219
+ }
220
+ animation?: AnimationBasicEvents & {
221
+ onPress?: Animation
222
+ onPressIn?: Animation
223
+ onPressOut?: Animation
224
+ onLongPress?: Animation
225
+ onFocus?: Animation
226
+ onBlur?: Animation
227
+ onMarkerPress?: Animation
228
+ onMapPress?: Animation
229
+ onRegionChange?: Animation
230
+ onReady?: Animation
231
+ }
232
+ }
233
+
234
+ /* Maps brick ([Tutorial](https://intercom.help/bricks-dag-inc/articles/maps)) */
235
+ export type BrickMaps = Brick &
236
+ BrickMapsDef & {
237
+ templateKey: 'BRICK_MAPS'
238
+ switches: Array<
239
+ SwitchDef &
240
+ BrickMapsDef & {
241
+ conds?: Array<{
242
+ method: '==' | '!=' | '>' | '<' | '>=' | '<='
243
+ cond:
244
+ | SwitchCondInnerStateCurrentCanvas
245
+ | SwitchCondData
246
+ | {
247
+ __typename: 'SwitchCondInnerStateOutlet'
248
+ outlet: 'brickPressing' | 'brickFocusing'
249
+ value: any
250
+ }
251
+ }>
252
+ }
253
+ >
254
+ }
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
3
  import type { Data, DataLink } from '../data'
3
4
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -68,7 +69,9 @@ Default property:
68
69
  "cacheEnabled": true,
69
70
  "geolocationEnabled": true,
70
71
  "thirdPartyCookiesEnabled": true,
71
- "javaScriptEnabled": true
72
+ "javaScriptEnabled": true,
73
+ "scrollEnabled": true,
74
+ "nestedScrollEnabled": true
72
75
  }
73
76
  */
74
77
  property?: BrickBasicProperty & {
@@ -112,6 +115,10 @@ Default property:
112
115
  forMainFrameOnly?: boolean | DataLink
113
116
  /* Inject JavaScript code before content loaded for main frame only (only `YES` supported for Android) */
114
117
  beforeContentLoadedForMainFrameOnly?: boolean | DataLink
118
+ /* Enable scroll in WebView */
119
+ scrollEnabled?: boolean | DataLink
120
+ /* Enable nested scroll in WebView (Android only) */
121
+ nestedScrollEnabled?: boolean | DataLink
115
122
  }
116
123
  events?: BrickBasicEvents & {
117
124
  /* Event of the WebView on load */
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  export * from './Rect'
2
3
  export * from './Text'
3
4
  export * from './TextInput'
@@ -17,3 +18,4 @@ export * from './WebView'
17
18
  export * from './Camera'
18
19
  export * from './WebRtcStream'
19
20
  export * from './GenerativeMedia'
21
+ export * from './Maps'
package/types/canvas.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /* Auto generated by build script */
1
2
  import type { Easing } from './animation'
2
3
  import type { Data, DataLink } from './data'
3
4
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from './switch'
package/types/common.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { SwitchDef } from './switch'
2
2
  import type { Data } from './data'
3
3
  import type { Subspace } from './subspace'
4
+ import type { AutomationMap } from './automation'
4
5
 
5
6
  export interface Brick {
6
7
  __typename: 'Brick'
@@ -129,6 +130,7 @@ export type Application = {
129
130
  rootSubspace: Subspace
130
131
  fonts?: ApplicationFont[]
131
132
  settings?: ApplicationSettings
133
+ automationMap?: AutomationMap
132
134
  metadata?: {
133
135
  [key: string]: any
134
136
  }