@fugood/bricks-ctor 2.25.0-beta.6 → 2.25.0-beta.61

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 (133) hide show
  1. package/package.json +4 -24
  2. package/tools/deploy.ts +19 -165
  3. package/tools/mcp-server.ts +17 -26
  4. package/tools/postinstall.ts +21 -235
  5. package/tools/pull.ts +18 -121
  6. package/tools/push-config.ts +19 -0
  7. package/tools/simulator.ts +21 -0
  8. package/compile/action-name-map.ts +0 -1015
  9. package/compile/index.ts +0 -1278
  10. package/compile/util.ts +0 -358
  11. package/index.ts +0 -6
  12. package/skills/bricks-ctor/SKILL.md +0 -32
  13. package/skills/bricks-ctor/rules/animation.md +0 -159
  14. package/skills/bricks-ctor/rules/architecture-patterns.md +0 -69
  15. package/skills/bricks-ctor/rules/automations.md +0 -221
  16. package/skills/bricks-ctor/rules/buttress.md +0 -156
  17. package/skills/bricks-ctor/rules/data-calculation.md +0 -209
  18. package/skills/bricks-ctor/rules/local-sync.md +0 -129
  19. package/skills/bricks-ctor/rules/media-flow.md +0 -158
  20. package/skills/bricks-ctor/rules/remote-data-bank.md +0 -196
  21. package/skills/bricks-ctor/rules/standby-transition.md +0 -124
  22. package/skills/bricks-design/LICENSE.txt +0 -180
  23. package/skills/bricks-design/SKILL.md +0 -66
  24. package/skills/rive-marketplace/SKILL.md +0 -99
  25. package/tools/_git-author.ts +0 -29
  26. package/tools/_shell.ts +0 -173
  27. package/tools/icons/.gitattributes +0 -1
  28. package/tools/icons/fa6pro-glyphmap.json +0 -4686
  29. package/tools/icons/fa6pro-meta.json +0 -1
  30. package/tools/mcp-tools/compile.ts +0 -92
  31. package/tools/mcp-tools/huggingface.ts +0 -762
  32. package/tools/mcp-tools/icons.ts +0 -81
  33. package/tools/mcp-tools/lottie.ts +0 -102
  34. package/tools/mcp-tools/media.ts +0 -110
  35. package/tools/preview-main.mjs +0 -293
  36. package/tools/preview.ts +0 -150
  37. package/types/animation.ts +0 -100
  38. package/types/automation.ts +0 -235
  39. package/types/brick-base.ts +0 -80
  40. package/types/bricks/Camera.ts +0 -246
  41. package/types/bricks/Chart.ts +0 -372
  42. package/types/bricks/GenerativeMedia.ts +0 -290
  43. package/types/bricks/Icon.ts +0 -98
  44. package/types/bricks/Image.ts +0 -114
  45. package/types/bricks/Items.ts +0 -476
  46. package/types/bricks/Lottie.ts +0 -168
  47. package/types/bricks/Maps.ts +0 -262
  48. package/types/bricks/QrCode.ts +0 -117
  49. package/types/bricks/Rect.ts +0 -150
  50. package/types/bricks/RichText.ts +0 -128
  51. package/types/bricks/Rive.ts +0 -220
  52. package/types/bricks/Sketch.ts +0 -254
  53. package/types/bricks/Slideshow.ts +0 -201
  54. package/types/bricks/Svg.ts +0 -99
  55. package/types/bricks/Text.ts +0 -148
  56. package/types/bricks/TextInput.ts +0 -242
  57. package/types/bricks/Video.ts +0 -175
  58. package/types/bricks/VideoStreaming.ts +0 -112
  59. package/types/bricks/WebRtcStream.ts +0 -65
  60. package/types/bricks/WebView.ts +0 -168
  61. package/types/bricks/index.ts +0 -22
  62. package/types/canvas.ts +0 -82
  63. package/types/common.ts +0 -144
  64. package/types/data-calc-command.ts +0 -7005
  65. package/types/data-calc-script.ts +0 -21
  66. package/types/data-calc.ts +0 -11
  67. package/types/data.ts +0 -95
  68. package/types/generators/AlarmClock.ts +0 -110
  69. package/types/generators/Assistant.ts +0 -621
  70. package/types/generators/BleCentral.ts +0 -247
  71. package/types/generators/BlePeripheral.ts +0 -208
  72. package/types/generators/CanvasMap.ts +0 -74
  73. package/types/generators/CastlesPay.ts +0 -87
  74. package/types/generators/DataBank.ts +0 -160
  75. package/types/generators/File.ts +0 -432
  76. package/types/generators/GraphQl.ts +0 -132
  77. package/types/generators/Http.ts +0 -222
  78. package/types/generators/HttpServer.ts +0 -176
  79. package/types/generators/Information.ts +0 -103
  80. package/types/generators/Intent.ts +0 -168
  81. package/types/generators/Iterator.ts +0 -108
  82. package/types/generators/Keyboard.ts +0 -105
  83. package/types/generators/LlmAnthropicCompat.ts +0 -212
  84. package/types/generators/LlmAppleBuiltin.ts +0 -159
  85. package/types/generators/LlmGgml.ts +0 -861
  86. package/types/generators/LlmMediaTekNeuroPilot.ts +0 -235
  87. package/types/generators/LlmMlx.ts +0 -227
  88. package/types/generators/LlmOnnx.ts +0 -213
  89. package/types/generators/LlmOpenAiCompat.ts +0 -312
  90. package/types/generators/LlmQualcommAiEngine.ts +0 -247
  91. package/types/generators/Mcp.ts +0 -637
  92. package/types/generators/McpServer.ts +0 -289
  93. package/types/generators/MediaFlow.ts +0 -170
  94. package/types/generators/MqttBroker.ts +0 -141
  95. package/types/generators/MqttClient.ts +0 -141
  96. package/types/generators/Question.ts +0 -408
  97. package/types/generators/RealtimeTranscription.ts +0 -287
  98. package/types/generators/RerankerGgml.ts +0 -191
  99. package/types/generators/SerialPort.ts +0 -151
  100. package/types/generators/SoundPlayer.ts +0 -94
  101. package/types/generators/SoundRecorder.ts +0 -130
  102. package/types/generators/SpeechToTextGgml.ts +0 -419
  103. package/types/generators/SpeechToTextOnnx.ts +0 -236
  104. package/types/generators/SpeechToTextPlatform.ts +0 -85
  105. package/types/generators/SqLite.ts +0 -159
  106. package/types/generators/Step.ts +0 -107
  107. package/types/generators/SttAppleBuiltin.ts +0 -130
  108. package/types/generators/Tcp.ts +0 -126
  109. package/types/generators/TcpServer.ts +0 -147
  110. package/types/generators/TextToSpeechAppleBuiltin.ts +0 -127
  111. package/types/generators/TextToSpeechGgml.ts +0 -221
  112. package/types/generators/TextToSpeechOnnx.ts +0 -178
  113. package/types/generators/TextToSpeechOpenAiLike.ts +0 -121
  114. package/types/generators/ThermalPrinter.ts +0 -191
  115. package/types/generators/Tick.ts +0 -83
  116. package/types/generators/Udp.ts +0 -120
  117. package/types/generators/VadGgml.ts +0 -250
  118. package/types/generators/VadOnnx.ts +0 -231
  119. package/types/generators/VadTraditional.ts +0 -138
  120. package/types/generators/VectorStore.ts +0 -257
  121. package/types/generators/Watchdog.ts +0 -107
  122. package/types/generators/WebCrawler.ts +0 -103
  123. package/types/generators/WebRtc.ts +0 -181
  124. package/types/generators/WebSocket.ts +0 -148
  125. package/types/generators/index.ts +0 -57
  126. package/types/index.ts +0 -13
  127. package/types/subspace.ts +0 -60
  128. package/types/switch.ts +0 -51
  129. package/types/system.ts +0 -707
  130. package/utils/calc.ts +0 -126
  131. package/utils/data.ts +0 -497
  132. package/utils/event-props.ts +0 -886
  133. 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
- }