@fugood/bricks-ctor 2.25.0-beta.8 → 2.25.0-beta.80

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 (137) hide show
  1. package/package.json +4 -24
  2. package/tools/__tests__/legacy-forwarder.test.js +91 -0
  3. package/tools/_forward.ts +26 -0
  4. package/tools/deploy.ts +3 -164
  5. package/tools/mcp-server.ts +3 -27
  6. package/tools/postinstall.ts +3 -234
  7. package/tools/pull.ts +3 -121
  8. package/tools/push-config.ts +4 -0
  9. package/tools/simulator.ts +4 -0
  10. package/compile/__tests__/index.test.js +0 -115
  11. package/compile/action-name-map.ts +0 -1015
  12. package/compile/index.ts +0 -1458
  13. package/compile/util.ts +0 -358
  14. package/index.ts +0 -6
  15. package/skills/bricks-ctor/SKILL.md +0 -32
  16. package/skills/bricks-ctor/rules/animation.md +0 -160
  17. package/skills/bricks-ctor/rules/architecture-patterns.md +0 -69
  18. package/skills/bricks-ctor/rules/automations.md +0 -221
  19. package/skills/bricks-ctor/rules/buttress.md +0 -156
  20. package/skills/bricks-ctor/rules/data-calculation.md +0 -209
  21. package/skills/bricks-ctor/rules/local-sync.md +0 -129
  22. package/skills/bricks-ctor/rules/media-flow.md +0 -158
  23. package/skills/bricks-ctor/rules/remote-data-bank.md +0 -196
  24. package/skills/bricks-ctor/rules/standby-transition.md +0 -124
  25. package/skills/bricks-design/LICENSE.txt +0 -180
  26. package/skills/bricks-design/SKILL.md +0 -66
  27. package/skills/rive-marketplace/SKILL.md +0 -99
  28. package/tools/_git-author.ts +0 -29
  29. package/tools/_shell.ts +0 -173
  30. package/tools/icons/.gitattributes +0 -1
  31. package/tools/icons/fa6pro-glyphmap.json +0 -4686
  32. package/tools/icons/fa6pro-meta.json +0 -1
  33. package/tools/mcp-tools/compile.ts +0 -92
  34. package/tools/mcp-tools/huggingface.ts +0 -762
  35. package/tools/mcp-tools/icons.ts +0 -81
  36. package/tools/mcp-tools/lottie.ts +0 -102
  37. package/tools/mcp-tools/media.ts +0 -110
  38. package/tools/preview-main.mjs +0 -306
  39. package/tools/preview.ts +0 -150
  40. package/types/animation.ts +0 -111
  41. package/types/automation.ts +0 -235
  42. package/types/brick-base.ts +0 -80
  43. package/types/bricks/Camera.ts +0 -246
  44. package/types/bricks/Chart.ts +0 -372
  45. package/types/bricks/GenerativeMedia.ts +0 -290
  46. package/types/bricks/Icon.ts +0 -98
  47. package/types/bricks/Image.ts +0 -126
  48. package/types/bricks/Items.ts +0 -476
  49. package/types/bricks/Lottie.ts +0 -168
  50. package/types/bricks/Maps.ts +0 -262
  51. package/types/bricks/QrCode.ts +0 -117
  52. package/types/bricks/Rect.ts +0 -150
  53. package/types/bricks/RichText.ts +0 -128
  54. package/types/bricks/Rive.ts +0 -220
  55. package/types/bricks/Sketch.ts +0 -254
  56. package/types/bricks/Slideshow.ts +0 -201
  57. package/types/bricks/Svg.ts +0 -99
  58. package/types/bricks/Text.ts +0 -148
  59. package/types/bricks/TextInput.ts +0 -242
  60. package/types/bricks/Video.ts +0 -175
  61. package/types/bricks/VideoStreaming.ts +0 -112
  62. package/types/bricks/WebRtcStream.ts +0 -65
  63. package/types/bricks/WebView.ts +0 -168
  64. package/types/bricks/index.ts +0 -22
  65. package/types/canvas.ts +0 -82
  66. package/types/common.ts +0 -144
  67. package/types/data-calc-command.ts +0 -7005
  68. package/types/data-calc-script.ts +0 -21
  69. package/types/data-calc.ts +0 -11
  70. package/types/data.ts +0 -95
  71. package/types/generators/AlarmClock.ts +0 -110
  72. package/types/generators/Assistant.ts +0 -621
  73. package/types/generators/BleCentral.ts +0 -247
  74. package/types/generators/BlePeripheral.ts +0 -208
  75. package/types/generators/CanvasMap.ts +0 -74
  76. package/types/generators/CastlesPay.ts +0 -87
  77. package/types/generators/DataBank.ts +0 -160
  78. package/types/generators/File.ts +0 -432
  79. package/types/generators/GraphQl.ts +0 -132
  80. package/types/generators/Http.ts +0 -222
  81. package/types/generators/HttpServer.ts +0 -176
  82. package/types/generators/Information.ts +0 -103
  83. package/types/generators/Intent.ts +0 -168
  84. package/types/generators/Iterator.ts +0 -108
  85. package/types/generators/Keyboard.ts +0 -105
  86. package/types/generators/LlmAnthropicCompat.ts +0 -212
  87. package/types/generators/LlmAppleBuiltin.ts +0 -159
  88. package/types/generators/LlmGgml.ts +0 -861
  89. package/types/generators/LlmMediaTekNeuroPilot.ts +0 -235
  90. package/types/generators/LlmMlx.ts +0 -227
  91. package/types/generators/LlmOnnx.ts +0 -213
  92. package/types/generators/LlmOpenAiCompat.ts +0 -312
  93. package/types/generators/LlmQualcommAiEngine.ts +0 -247
  94. package/types/generators/Mcp.ts +0 -637
  95. package/types/generators/McpServer.ts +0 -289
  96. package/types/generators/MediaFlow.ts +0 -170
  97. package/types/generators/MqttBroker.ts +0 -141
  98. package/types/generators/MqttClient.ts +0 -141
  99. package/types/generators/Question.ts +0 -408
  100. package/types/generators/RealtimeTranscription.ts +0 -287
  101. package/types/generators/RerankerGgml.ts +0 -191
  102. package/types/generators/SerialPort.ts +0 -151
  103. package/types/generators/SoundPlayer.ts +0 -94
  104. package/types/generators/SoundRecorder.ts +0 -130
  105. package/types/generators/SpeechToTextGgml.ts +0 -419
  106. package/types/generators/SpeechToTextOnnx.ts +0 -236
  107. package/types/generators/SpeechToTextPlatform.ts +0 -85
  108. package/types/generators/SqLite.ts +0 -159
  109. package/types/generators/Step.ts +0 -107
  110. package/types/generators/SttAppleBuiltin.ts +0 -130
  111. package/types/generators/Tcp.ts +0 -126
  112. package/types/generators/TcpServer.ts +0 -147
  113. package/types/generators/TextToSpeechAppleBuiltin.ts +0 -127
  114. package/types/generators/TextToSpeechGgml.ts +0 -221
  115. package/types/generators/TextToSpeechOnnx.ts +0 -178
  116. package/types/generators/TextToSpeechOpenAiLike.ts +0 -121
  117. package/types/generators/ThermalPrinter.ts +0 -191
  118. package/types/generators/Tick.ts +0 -83
  119. package/types/generators/Udp.ts +0 -120
  120. package/types/generators/VadGgml.ts +0 -250
  121. package/types/generators/VadOnnx.ts +0 -231
  122. package/types/generators/VadTraditional.ts +0 -138
  123. package/types/generators/VectorStore.ts +0 -257
  124. package/types/generators/Watchdog.ts +0 -107
  125. package/types/generators/WebCrawler.ts +0 -103
  126. package/types/generators/WebRtc.ts +0 -181
  127. package/types/generators/WebSocket.ts +0 -148
  128. package/types/generators/index.ts +0 -57
  129. package/types/index.ts +0 -13
  130. package/types/subspace.ts +0 -60
  131. package/types/switch.ts +0 -51
  132. package/types/system.ts +0 -707
  133. package/utils/__tests__/id.test.js +0 -58
  134. package/utils/calc.ts +0 -126
  135. package/utils/data.ts +0 -497
  136. package/utils/event-props.ts +0 -886
  137. package/utils/id.ts +0 -80
@@ -1,262 +0,0 @@
1
- /* Auto generated by build script
2
- *
3
- * Interactive map with markers, paths, and location tracking. Supports Google Maps (iOS/Android/Desktop/Web) and Apple Maps (iOS/tvOS)
4
- */
5
- import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
6
- import type { Data, DataLink } from '../data'
7
- import type { Animation, AnimationBasicEvents } from '../animation'
8
- import type {
9
- Brick,
10
- EventAction,
11
- EventActionForItem,
12
- ActionWithDataParams,
13
- ActionWithParams,
14
- Action,
15
- EventProperty,
16
- } from '../common'
17
- import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
18
- import type { TemplateEventPropsMap } from '../../utils/event-props'
19
-
20
- /* Zoom in the map */
21
- export type BrickMapsActionZoomIn = Action & {
22
- __actionName: 'BRICK_MAPS_ZOOM_IN'
23
- }
24
-
25
- /* Zoom out the map */
26
- export type BrickMapsActionZoomOut = Action & {
27
- __actionName: 'BRICK_MAPS_ZOOM_OUT'
28
- }
29
-
30
- /* Pan the map in a direction */
31
- export type BrickMapsActionPan = ActionWithParams & {
32
- __actionName: 'BRICK_MAPS_PAN'
33
- params?: Array<{
34
- input: 'panDirection'
35
- value?: 'up' | 'down' | 'left' | 'right' | DataLink | EventProperty
36
- mapping?: string
37
- }>
38
- }
39
-
40
- /* Navigate to a specific location */
41
- export type BrickMapsActionNavigateTo = ActionWithParams & {
42
- __actionName: 'BRICK_MAPS_NAVIGATE_TO'
43
- params?: Array<
44
- | {
45
- input: 'targetLatitude'
46
- value?: number | DataLink | EventProperty
47
- mapping?: string
48
- }
49
- | {
50
- input: 'targetLongitude'
51
- value?: number | DataLink | EventProperty
52
- mapping?: string
53
- }
54
- | {
55
- input: 'targetZoom'
56
- value?: number | DataLink | EventProperty
57
- mapping?: string
58
- }
59
- >
60
- }
61
-
62
- /* Focus on a marker by ID */
63
- export type BrickMapsActionFocusMarker = ActionWithParams & {
64
- __actionName: 'BRICK_MAPS_FOCUS_MARKER'
65
- params?: Array<{
66
- input: 'markerId'
67
- value?: string | DataLink | EventProperty
68
- mapping?: string
69
- }>
70
- }
71
-
72
- /* Reset map to initial position */
73
- export type BrickMapsActionReset = Action & {
74
- __actionName: 'BRICK_MAPS_RESET'
75
- }
76
-
77
- /* Fit map to show all markers */
78
- export type BrickMapsActionFitToMarkers = ActionWithParams & {
79
- __actionName: 'BRICK_MAPS_FIT_TO_MARKERS'
80
- params?: Array<
81
- | {
82
- input: 'edgePadding'
83
- value?: number | DataLink | EventProperty
84
- mapping?: string
85
- }
86
- | {
87
- input: 'animated'
88
- value?: boolean | DataLink | EventProperty
89
- mapping?: string
90
- }
91
- >
92
- }
93
-
94
- interface BrickMapsDef {
95
- /*
96
- Default property:
97
- {
98
- "provider": "google",
99
- "apiKey": "",
100
- "initialLatitude": 25.033,
101
- "initialLongitude": 121.5654,
102
- "initialZoom": 10,
103
- "mapType": "standard",
104
- "mapTheme": "standard",
105
- "showUserLocation": false,
106
- "showCompass": true,
107
- "showZoomControls": true,
108
- "scrollEnabled": true,
109
- "zoomEnabled": true,
110
- "rotateEnabled": true,
111
- "markers": [],
112
- "customMapStyle": [],
113
- "showTraffic": false,
114
- "showBuildings": false,
115
- "showIndoors": true,
116
- "minZoomLevel": 1,
117
- "maxZoomLevel": 20,
118
- "followUserLocation": false,
119
- "showPath": false,
120
- "pathStrokeColor": "#4285F4",
121
- "pathStrokeWidth": 3
122
- }
123
- */
124
- property?: BrickBasicProperty & {
125
- /* Map provider (iOS/tvOS only - Android and Web always use Google Maps) */
126
- provider?: 'google' | 'apple' | DataLink
127
- /* Google Maps API Key (Web only) */
128
- apiKey?: string | DataLink
129
- /* Initial latitude */
130
- initialLatitude?: number | DataLink
131
- /* Initial longitude */
132
- initialLongitude?: number | DataLink
133
- /* Initial zoom level (1-20) */
134
- initialZoom?: number | DataLink
135
- /* Map type */
136
- mapType?: 'standard' | 'satellite' | 'hybrid' | 'terrain' | DataLink
137
- /* Map theme preset */
138
- mapTheme?: 'standard' | 'dark' | 'night' | 'retro' | 'silver' | 'aubergine' | DataLink
139
- /* Show user location button */
140
- showUserLocation?: boolean | DataLink
141
- /* Show compass */
142
- showCompass?: boolean | DataLink
143
- /* Show zoom controls */
144
- showZoomControls?: boolean | DataLink
145
- /* Enable scrolling */
146
- scrollEnabled?: boolean | DataLink
147
- /* Enable zooming */
148
- zoomEnabled?: boolean | DataLink
149
- /* Enable rotating */
150
- rotateEnabled?: boolean | DataLink
151
- /* Map markers data */
152
- markers?:
153
- | Array<
154
- | DataLink
155
- | {
156
- id?: string | DataLink
157
- latitude?: number | DataLink
158
- longitude?: number | DataLink
159
- title?: string | DataLink
160
- description?: string | DataLink
161
- color?: string | DataLink
162
- icon?: string | DataLink
163
- }
164
- >
165
- | DataLink
166
- /* Custom map style (array of Google Maps style objects) */
167
- customMapStyle?:
168
- | Array<
169
- | DataLink
170
- | {
171
- featureType?: string | DataLink
172
- elementType?: string | DataLink
173
- stylers?: Array<{} | DataLink> | DataLink
174
- }
175
- >
176
- | DataLink
177
- /* Show traffic layer */
178
- showTraffic?: boolean | DataLink
179
- /* Show buildings in 3D */
180
- showBuildings?: boolean | DataLink
181
- /* Show indoor maps */
182
- showIndoors?: boolean | DataLink
183
- /* Minimum zoom level */
184
- minZoomLevel?: number | DataLink
185
- /* Maximum zoom level */
186
- maxZoomLevel?: number | DataLink
187
- /* Follow user location */
188
- followUserLocation?: boolean | DataLink
189
- /* Show path between markers */
190
- showPath?: boolean | DataLink
191
- /* Path stroke color */
192
- pathStrokeColor?: string | DataLink
193
- /* Path stroke width */
194
- pathStrokeWidth?: number | DataLink
195
- }
196
- events?: BrickBasicEvents & {
197
- /* Event of the brick press */
198
- onPress?: Array<EventAction>
199
- /* Event of the brick press in */
200
- onPressIn?: Array<EventAction>
201
- /* Event of the brick press out */
202
- onPressOut?: Array<EventAction>
203
- /* Event of the brick long press */
204
- onLongPress?: Array<EventAction>
205
- /* Event of the brick focus (Use TV Device with controller) */
206
- onFocus?: Array<EventAction>
207
- /* Event of the brick blur (Use TV Device with controller) */
208
- onBlur?: Array<EventAction>
209
- /* Event when a marker is pressed */
210
- onMarkerPress?: Array<
211
- EventAction<string & keyof TemplateEventPropsMap['Maps']['onMarkerPress']>
212
- >
213
- /* Event when the map is pressed */
214
- onMapPress?: Array<EventAction<string & keyof TemplateEventPropsMap['Maps']['onMapPress']>>
215
- /* Event when the map region changes */
216
- onRegionChange?: Array<
217
- EventAction<string & keyof TemplateEventPropsMap['Maps']['onRegionChange']>
218
- >
219
- /* Event when the map is ready */
220
- onReady?: Array<EventAction>
221
- }
222
- outlets?: {
223
- /* Brick is pressing */
224
- brickPressing?: () => Data<boolean>
225
- /* Brick is focusing (Use TV Device with controller) */
226
- brickFocusing?: () => Data<boolean>
227
- }
228
- animation?: AnimationBasicEvents & {
229
- onPress?: Animation
230
- onPressIn?: Animation
231
- onPressOut?: Animation
232
- onLongPress?: Animation
233
- onFocus?: Animation
234
- onBlur?: Animation
235
- onMarkerPress?: Animation
236
- onMapPress?: Animation
237
- onRegionChange?: Animation
238
- onReady?: Animation
239
- }
240
- }
241
-
242
- /* Interactive map with markers, paths, and location tracking. Supports Google Maps (iOS/Android/Desktop/Web) and Apple Maps (iOS/tvOS) */
243
- export type BrickMaps = Brick &
244
- BrickMapsDef & {
245
- templateKey: 'BRICK_MAPS'
246
- switches?: Array<
247
- SwitchDef &
248
- BrickMapsDef & {
249
- conds?: Array<{
250
- method: '==' | '!=' | '>' | '<' | '>=' | '<='
251
- cond:
252
- | SwitchCondInnerStateCurrentCanvas
253
- | SwitchCondData
254
- | {
255
- __typename: 'SwitchCondInnerStateOutlet'
256
- outlet: 'brickPressing' | 'brickFocusing'
257
- value: any
258
- }
259
- }>
260
- }
261
- >
262
- }
@@ -1,117 +0,0 @@
1
- /* Auto generated by build script
2
- *
3
- * Generate and display QR codes from text or URL values
4
- */
5
- import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
6
- import type { Data, DataLink } from '../data'
7
- import type { Animation, AnimationBasicEvents } from '../animation'
8
- import type {
9
- Brick,
10
- EventAction,
11
- EventActionForItem,
12
- ActionWithDataParams,
13
- ActionWithParams,
14
- Action,
15
- EventProperty,
16
- } from '../common'
17
- import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
18
- import type { TemplateEventPropsMap } from '../../utils/event-props'
19
-
20
- interface BrickQrcodeDef {
21
- /*
22
- Default property:
23
- {
24
- "value": "",
25
- "positiveColor": "#1e252a",
26
- "negativeColor": "transparent",
27
- "padding": 0,
28
- "linearGradientEnabled": false,
29
- "linearGradientStart": "black",
30
- "linearGradientEnd": "black",
31
- "linearGradientDirection": [
32
- "0%",
33
- "0%",
34
- "100%",
35
- "100%"
36
- ],
37
- "logoSize": 20,
38
- "logoBackgroundColor": "transparent"
39
- }
40
- */
41
- property?: BrickBasicProperty & {
42
- /* The QRCode content */
43
- value?: string | DataLink
44
- /* The foreground color of QRCode */
45
- positiveColor?: string | DataLink
46
- /* The background color of QRCode */
47
- negativeColor?: string | DataLink
48
- /* Quiet zone around the qr */
49
- padding?: number | DataLink
50
- /* Enables or disables linear gradient */
51
- linearGradientEnabled?: boolean | DataLink
52
- /* Linear gradient start color */
53
- linearGradientStart?: string | DataLink
54
- /* Linear gradient end color */
55
- linearGradientEnd?: string | DataLink
56
- /* Linear gradient direction ('0%', '0%', '100%', '100%') */
57
- linearGradientDirection?: Array<string | DataLink> | DataLink
58
- /* Logo image source */
59
- logoPath?: string | DataLink
60
- /* The checksum of logo file */
61
- md5?: string | DataLink
62
- /* Logo image size (% of QRCode) */
63
- logoSize?: number | DataLink
64
- /* The logo gets a filled quadratic background with this color. */
65
- logoBackgroundColor?: string | DataLink
66
- }
67
- events?: BrickBasicEvents & {
68
- /* Event of the brick press */
69
- onPress?: Array<EventAction>
70
- /* Event of the brick press in */
71
- onPressIn?: Array<EventAction>
72
- /* Event of the brick press out */
73
- onPressOut?: Array<EventAction>
74
- /* Event of the brick long press */
75
- onLongPress?: Array<EventAction>
76
- /* Event of the brick focus (Use TV Device with controller) */
77
- onFocus?: Array<EventAction>
78
- /* Event of the brick blur (Use TV Device with controller) */
79
- onBlur?: Array<EventAction>
80
- }
81
- outlets?: {
82
- /* Brick is pressing */
83
- brickPressing?: () => Data<boolean>
84
- /* Brick is focusing (Use TV Device with controller) */
85
- brickFocusing?: () => Data<boolean>
86
- }
87
- animation?: AnimationBasicEvents & {
88
- onPress?: Animation
89
- onPressIn?: Animation
90
- onPressOut?: Animation
91
- onLongPress?: Animation
92
- onFocus?: Animation
93
- onBlur?: Animation
94
- }
95
- }
96
-
97
- /* Generate and display QR codes from text or URL values */
98
- export type BrickQrcode = Brick &
99
- BrickQrcodeDef & {
100
- templateKey: 'BRICK_QRCODE'
101
- switches?: Array<
102
- SwitchDef &
103
- BrickQrcodeDef & {
104
- conds?: Array<{
105
- method: '==' | '!=' | '>' | '<' | '>=' | '<='
106
- cond:
107
- | SwitchCondInnerStateCurrentCanvas
108
- | SwitchCondData
109
- | {
110
- __typename: 'SwitchCondInnerStateOutlet'
111
- outlet: 'brickPressing' | 'brickFocusing'
112
- value: any
113
- }
114
- }>
115
- }
116
- >
117
- }
@@ -1,150 +0,0 @@
1
- /* Auto generated by build script
2
- *
3
- * Rectangle shape with customizable fill, border, radius, shadow, and blur
4
- */
5
- import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
6
- import type { Data, DataLink } from '../data'
7
- import type { Animation, AnimationBasicEvents } from '../animation'
8
- import type {
9
- Brick,
10
- EventAction,
11
- EventActionForItem,
12
- ActionWithDataParams,
13
- ActionWithParams,
14
- Action,
15
- EventProperty,
16
- } from '../common'
17
- import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
18
- import type { TemplateEventPropsMap } from '../../utils/event-props'
19
-
20
- interface BrickRectDef {
21
- /*
22
- Default property:
23
- {
24
- "linearGradientEnabled": false,
25
- "linearGradientColors": [
26
- "#000000",
27
- "#FFFFFF"
28
- ],
29
- "linearGradientStart": {
30
- "x": 0,
31
- "y": 0
32
- },
33
- "linearGradientEnd": {
34
- "x": 1,
35
- "y": 1
36
- },
37
- "linearGradientLocations": [
38
- 0,
39
- 1
40
- ],
41
- "blurEnabled": false,
42
- "blurVariant": "blur",
43
- "blurType": "light",
44
- "blurAmount": 10,
45
- "blurDirection": "blurredTopClearBottom",
46
- "blurStartOffset": 0,
47
- "blurGlassType": "regular",
48
- "blurGlassOpacity": 0.5,
49
- "blurGlassInteractive": false
50
- }
51
- */
52
- property?: BrickBasicProperty & {
53
- /* Enables or disables linear gradient */
54
- linearGradientEnabled?: boolean | DataLink
55
- /* An array of at least two color values that represent gradient colors */
56
- linearGradientColors?: Array<string | DataLink> | DataLink
57
- /* An optional object of the following type: { x: number, y: number } */
58
- linearGradientStart?:
59
- | DataLink
60
- | {
61
- x?: number | DataLink
62
- y?: number | DataLink
63
- }
64
- /* Same as start, but for the end of the gradient */
65
- linearGradientEnd?:
66
- | DataLink
67
- | {
68
- x?: number | DataLink
69
- y?: number | DataLink
70
- }
71
- /* An optional array of numbers defining the location of each gradient color stop */
72
- linearGradientLocations?: Array<number | DataLink> | DataLink
73
- /* Enable blur effect.
74
- Not supported on Desktop (Electron) and Web.
75
- Avoid using opacity prop with blur — use alpha backgroundColor (e.g. rgba) instead. */
76
- blurEnabled?: boolean | DataLink
77
- /* Blur variant */
78
- blurVariant?: 'blur' | 'progressiveBlur' | 'liquidGlass' | DataLink
79
- /* Blur type (blur variant) */
80
- blurType?: 'xlight' | 'light' | 'dark' | 'regular' | 'prominent' | DataLink
81
- /* Blur amount (0 ~ 100, blur variant) */
82
- blurAmount?: number | DataLink
83
- /* Progressive blur direction (progressiveBlur variant) */
84
- blurDirection?:
85
- | 'blurredTopClearBottom'
86
- | 'blurredBottomClearTop'
87
- | 'blurredCenterClearTopAndBottom'
88
- | DataLink
89
- /* Progressive blur start offset (0 ~ 1, progressiveBlur variant) */
90
- blurStartOffset?: number | DataLink
91
- /* Glass type (liquidGlass variant, iOS 26+) */
92
- blurGlassType?: 'clear' | 'regular' | DataLink
93
- /* Glass tint color (liquidGlass variant) */
94
- blurGlassTintColor?: string | DataLink
95
- /* Glass opacity (0 ~ 1, liquidGlass variant) */
96
- blurGlassOpacity?: number | DataLink
97
- /* Enable glass interaction (liquidGlass variant) */
98
- blurGlassInteractive?: boolean | DataLink
99
- }
100
- events?: BrickBasicEvents & {
101
- /* Event of the brick press */
102
- onPress?: Array<EventAction>
103
- /* Event of the brick press in */
104
- onPressIn?: Array<EventAction>
105
- /* Event of the brick press out */
106
- onPressOut?: Array<EventAction>
107
- /* Event of the brick long press */
108
- onLongPress?: Array<EventAction>
109
- /* Event of the brick focus (Use TV Device with controller) */
110
- onFocus?: Array<EventAction>
111
- /* Event of the brick blur (Use TV Device with controller) */
112
- onBlur?: Array<EventAction>
113
- }
114
- outlets?: {
115
- /* Brick is pressing */
116
- brickPressing?: () => Data<boolean>
117
- /* Brick is focusing (Use TV Device with controller) */
118
- brickFocusing?: () => Data<boolean>
119
- }
120
- animation?: AnimationBasicEvents & {
121
- onPress?: Animation
122
- onPressIn?: Animation
123
- onPressOut?: Animation
124
- onLongPress?: Animation
125
- onFocus?: Animation
126
- onBlur?: Animation
127
- }
128
- }
129
-
130
- /* Rectangle shape with customizable fill, border, radius, shadow, and blur */
131
- export type BrickRect = Brick &
132
- BrickRectDef & {
133
- templateKey: 'BRICK_RECT'
134
- switches?: Array<
135
- SwitchDef &
136
- BrickRectDef & {
137
- conds?: Array<{
138
- method: '==' | '!=' | '>' | '<' | '>=' | '<='
139
- cond:
140
- | SwitchCondInnerStateCurrentCanvas
141
- | SwitchCondData
142
- | {
143
- __typename: 'SwitchCondInnerStateOutlet'
144
- outlet: 'brickPressing' | 'brickFocusing'
145
- value: any
146
- }
147
- }>
148
- }
149
- >
150
- }
@@ -1,128 +0,0 @@
1
- /* Auto generated by build script
2
- *
3
- * Rich text with HTML content rendering, multiple fonts, colors, heading levels (h1-h6), and inline images
4
- */
5
- import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
6
- import type { Data, DataLink } from '../data'
7
- import type { Animation, AnimationBasicEvents } from '../animation'
8
- import type {
9
- Brick,
10
- EventAction,
11
- EventActionForItem,
12
- ActionWithDataParams,
13
- ActionWithParams,
14
- Action,
15
- EventProperty,
16
- } from '../common'
17
- import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
18
- import type { TemplateEventPropsMap } from '../../utils/event-props'
19
-
20
- interface BrickRichTextDef {
21
- /*
22
- Default property:
23
- {
24
- "content": "",
25
- "renderImage": false,
26
- "color": "#000",
27
- "fontWeight": "normal",
28
- "fontStyle": "normal",
29
- "fontSizes": {
30
- "base": 3,
31
- "h1": 6.857142857142857,
32
- "h2": 5.714285714285714,
33
- "h3": 4.011428571428572,
34
- "h4": 3.428571428571429,
35
- "h5": 2.845714285714286,
36
- "h6": 2.285714285714286
37
- }
38
- }
39
- */
40
- property?: BrickBasicProperty & {
41
- /* The text content */
42
- content?: string | DataLink
43
- /* Render Image */
44
- renderImage?: boolean | DataLink
45
- /* The text color */
46
- color?: string | DataLink
47
- /* Specifies font weight. The values 'normal' and are supported for most fonts. Not all fonts have a variant for each of the numeric values, in that case the closest one is chosen. */
48
- fontWeight?:
49
- | 'normal'
50
- | 'bold'
51
- | '100'
52
- | '200'
53
- | '300'
54
- | '400'
55
- | '500'
56
- | '600'
57
- | '700'
58
- | '800'
59
- | '900'
60
- | DataLink
61
- /* The text font style */
62
- fontStyle?: 'normal' | 'italic' | DataLink
63
- /* The text font family */
64
- fontFamily?: string | DataLink
65
- /* The text font size definition (base and headers) */
66
- fontSizes?:
67
- | DataLink
68
- | {
69
- base?: number | DataLink // BRICKS Grid unit
70
- h1?: number | DataLink // BRICKS Grid unit
71
- h2?: number | DataLink // BRICKS Grid unit
72
- h3?: number | DataLink // BRICKS Grid unit
73
- h4?: number | DataLink // BRICKS Grid unit
74
- h5?: number | DataLink // BRICKS Grid unit
75
- h6?: number | DataLink // BRICKS Grid unit
76
- }
77
- }
78
- events?: BrickBasicEvents & {
79
- /* Event of the brick press */
80
- onPress?: Array<EventAction>
81
- /* Event of the brick press in */
82
- onPressIn?: Array<EventAction>
83
- /* Event of the brick press out */
84
- onPressOut?: Array<EventAction>
85
- /* Event of the brick long press */
86
- onLongPress?: Array<EventAction>
87
- /* Event of the brick focus (Use TV Device with controller) */
88
- onFocus?: Array<EventAction>
89
- /* Event of the brick blur (Use TV Device with controller) */
90
- onBlur?: Array<EventAction>
91
- }
92
- outlets?: {
93
- /* Brick is pressing */
94
- brickPressing?: () => Data<boolean>
95
- /* Brick is focusing (Use TV Device with controller) */
96
- brickFocusing?: () => Data<boolean>
97
- }
98
- animation?: AnimationBasicEvents & {
99
- onPress?: Animation
100
- onPressIn?: Animation
101
- onPressOut?: Animation
102
- onLongPress?: Animation
103
- onFocus?: Animation
104
- onBlur?: Animation
105
- }
106
- }
107
-
108
- /* Rich text with HTML content rendering, multiple fonts, colors, heading levels (h1-h6), and inline images */
109
- export type BrickRichText = Brick &
110
- BrickRichTextDef & {
111
- templateKey: 'BRICK_RICH_TEXT'
112
- switches?: Array<
113
- SwitchDef &
114
- BrickRichTextDef & {
115
- conds?: Array<{
116
- method: '==' | '!=' | '>' | '<' | '>=' | '<='
117
- cond:
118
- | SwitchCondInnerStateCurrentCanvas
119
- | SwitchCondData
120
- | {
121
- __typename: 'SwitchCondInnerStateOutlet'
122
- outlet: 'brickPressing' | 'brickFocusing'
123
- value: any
124
- }
125
- }>
126
- }
127
- >
128
- }