@developer_tribe/react-builder 1.2.47 → 1.2.48

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.
@@ -73,27 +73,205 @@
73
73
  display: flex;
74
74
  flex-direction: row;
75
75
  align-items: stretch;
76
- gap: 8px;
76
+ gap: 6px;
77
77
  overflow: auto;
78
78
  height: 60px;
79
79
  padding: sizes.$spaceTight;
80
+ min-width: 0;
80
81
  }
81
82
 
82
83
  .editor-device-button {
84
+ --device-preview-height: 30px;
83
85
  position: relative;
84
- min-width: 160px;
86
+ min-width: 92px;
85
87
  height: 100%;
88
+ padding: 4px 8px 5px;
86
89
  border: 1px solid colors.$borderColor;
87
- border-radius: 6px;
90
+ border-radius: sizes.$radiusRounded;
88
91
  background: colors.$surfaceColor;
89
92
  color: colors.$textColor;
90
93
  cursor: pointer;
91
- font-size: 12px;
94
+ font-size: sizes.$fontSizeXs;
95
+ display: flex;
96
+ flex-direction: column;
97
+ align-items: center;
98
+ justify-content: flex-end;
99
+ gap: 4px;
100
+ overflow: hidden;
101
+ transition:
102
+ border-color 0.18s ease,
103
+ box-shadow 0.18s ease,
104
+ transform 0.12s ease;
105
+
106
+ &:hover {
107
+ border-color: hsl(
108
+ var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.35
109
+ );
110
+ }
111
+
112
+ &:focus-visible {
113
+ outline: none;
114
+ border-color: colors.$accentColor;
115
+ box-shadow: 0 0 0 2px
116
+ hsl(var(--primary, var(--rb-primary, 221.2 83.2% 53.3%)) / 0.2);
117
+ }
118
+
92
119
  &.editor-device-button--selected {
93
- border-color: colors.$textColor;
120
+ border-color: colors.$accentColor;
121
+ box-shadow: 0 0 0 1px
122
+ hsl(var(--primary, var(--rb-primary, 221.2 83.2% 53.3%)) / 0.4) inset;
94
123
  }
95
124
  }
96
125
 
126
+ .editor-device-button--header {
127
+ min-width: 94px;
128
+ max-width: 112px;
129
+ }
130
+
131
+ .editor-device-button--modal {
132
+ --device-preview-height: 58px;
133
+ min-width: 152px;
134
+ min-height: 136px;
135
+ height: 136px;
136
+ padding: 10px 10px 8px;
137
+ gap: 8px;
138
+ }
139
+
140
+ .editor-device-button__preview {
141
+ flex: 1 1 auto;
142
+ min-height: 0;
143
+ width: 100%;
144
+ display: flex;
145
+ align-items: flex-end;
146
+ justify-content: center;
147
+ }
148
+
149
+ .editor-device-button__frame {
150
+ position: relative;
151
+ height: var(--device-preview-height);
152
+ aspect-ratio: 9 / 19.5;
153
+ min-width: 10px;
154
+ max-width: calc(var(--device-preview-height) * 1.85);
155
+ border-radius: clamp(6px, calc(var(--device-preview-height) * 0.3), 16px);
156
+ border: 1px solid
157
+ hsl(var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.28);
158
+ background: linear-gradient(
159
+ 160deg,
160
+ hsl(var(--muted, var(--rb-muted, 220 14.3% 95.9%))),
161
+ hsl(var(--background, var(--rb-background, 220 14.3% 95.9%)))
162
+ );
163
+ box-shadow:
164
+ 0 2px 6px hsl(var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.18),
165
+ inset 0 1px 0 hsl(var(--background, var(--rb-background, 220 14.3% 95.9%)));
166
+ overflow: hidden;
167
+ }
168
+
169
+ .editor-device-button__frame[data-type='tablet'] {
170
+ border-radius: clamp(4px, calc(var(--device-preview-height) * 0.16), 10px);
171
+ }
172
+
173
+ .editor-device-button__frame[data-platform='ios'] {
174
+ background: linear-gradient(
175
+ 160deg,
176
+ hsl(var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.18),
177
+ hsl(var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.06)
178
+ );
179
+ }
180
+
181
+ .editor-device-button__frame[data-platform='android'] {
182
+ background: linear-gradient(
183
+ 160deg,
184
+ hsl(var(--primary, var(--rb-primary, 221.2 83.2% 53.3%)) / 0.2),
185
+ hsl(var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.07)
186
+ );
187
+ }
188
+
189
+ .editor-device-button__screen {
190
+ position: absolute;
191
+ inset: 2px;
192
+ border-radius: inherit;
193
+ background: linear-gradient(
194
+ 180deg,
195
+ hsl(var(--background, var(--rb-background, 220 14.3% 95.9%)) / 0.95),
196
+ hsl(var(--muted, var(--rb-muted, 220 14.3% 95.9%)) / 0.85)
197
+ );
198
+ }
199
+
200
+ .editor-device-button__notch {
201
+ position: absolute;
202
+ top: 2px;
203
+ left: 50%;
204
+ transform: translateX(-50%);
205
+ width: 34%;
206
+ max-width: 14px;
207
+ height: 3px;
208
+ border-radius: 0 0 4px 4px;
209
+ background: hsl(
210
+ var(--foreground, var(--rb-foreground, 220.9 39.3% 11%)) / 0.35
211
+ );
212
+ }
213
+
214
+ .editor-device-button--modal .editor-device-button__notch {
215
+ height: 4px;
216
+ }
217
+
218
+ .editor-device-button__frame[data-type='tablet'] .editor-device-button__notch {
219
+ display: none;
220
+ }
221
+
222
+ .editor-device-button__name {
223
+ width: 100%;
224
+ padding: 0 16px 0 12px;
225
+ text-align: center;
226
+ font-size: sizes.$fontSizeXs;
227
+ font-weight: 600;
228
+ line-height: 1.05;
229
+ white-space: nowrap;
230
+ overflow: hidden;
231
+ text-overflow: ellipsis;
232
+ }
233
+
234
+ .editor-device-button__popover {
235
+ position: absolute;
236
+ top: 6px;
237
+ left: 50%;
238
+ transform: translate(-50%, -6px) scale(0.98);
239
+ width: calc(100% - 12px);
240
+ padding: 4px 6px;
241
+ border-radius: sizes.$radiusMid;
242
+ border: 1px solid colors.$borderColor;
243
+ background: hsl(var(--card, var(--rb-card, 0 0% 100%)) / 0.98);
244
+ box-shadow: sizes.$shadowTooltip;
245
+ opacity: 0;
246
+ pointer-events: none;
247
+ z-index: 2;
248
+ transition:
249
+ opacity 0.16s ease,
250
+ transform 0.16s ease;
251
+ }
252
+
253
+ .editor-device-button:hover .editor-device-button__popover,
254
+ .editor-device-button:focus-visible .editor-device-button__popover {
255
+ opacity: 1;
256
+ transform: translate(-50%, 0) scale(1);
257
+ }
258
+
259
+ .editor-device-button__popover-title {
260
+ display: block;
261
+ font-size: 10px;
262
+ font-weight: 700;
263
+ white-space: nowrap;
264
+ overflow: hidden;
265
+ text-overflow: ellipsis;
266
+ }
267
+
268
+ .editor-device-button__popover-meta {
269
+ display: block;
270
+ margin-top: 1px;
271
+ font-size: 10px;
272
+ color: colors.$mutedTextColor;
273
+ }
274
+
97
275
  .editor-device-button__platform {
98
276
  position: absolute;
99
277
  bottom: 4px;
@@ -101,9 +279,10 @@
101
279
  background-color: colors.$muted;
102
280
  border-radius: 50%;
103
281
  display: block;
104
- width: 22px;
105
- height: 22px;
282
+ width: 16px;
283
+ height: 16px;
106
284
  overflow: hidden;
285
+ z-index: 3;
107
286
  }
108
287
 
109
288
  .editor-device-button__platform img {
@@ -111,13 +290,40 @@
111
290
  top: 50%;
112
291
  left: 50%;
113
292
  transform: translate(-50%, -50%);
114
- max-width: 11px;
115
- max-height: 11px;
293
+ max-width: 9px;
294
+ max-height: 9px;
116
295
  width: auto;
117
296
  height: auto;
118
297
  }
119
298
 
299
+ .editor-device-button--modal .editor-device-button__platform {
300
+ width: 18px;
301
+ height: 18px;
302
+ }
303
+
304
+ .editor-device-button--modal .editor-device-button__platform img {
305
+ max-width: 10px;
306
+ max-height: 10px;
307
+ }
308
+
309
+ .editor-device-button__favorite {
310
+ position: absolute;
311
+ top: 4px;
312
+ right: 4px;
313
+ cursor: pointer;
314
+ z-index: 3;
315
+ display: inline-flex;
316
+ line-height: 0;
317
+ }
318
+
120
319
  .editor-device-button__edit {
320
+ position: absolute;
321
+ top: 4px;
322
+ left: 4px;
323
+ cursor: pointer;
324
+ z-index: 3;
325
+ display: inline-flex;
326
+ line-height: 0;
121
327
  transition:
122
328
  opacity 0.2s ease,
123
329
  transform 0.2s ease;
@@ -127,6 +333,26 @@
127
333
  }
128
334
  }
129
335
 
336
+ .editor-device-button--more {
337
+ min-width: 88px;
338
+ max-width: 102px;
339
+ justify-content: center;
340
+ gap: 0;
341
+ border-style: dashed;
342
+ background: hsl(var(--muted, var(--rb-muted, 220 14.3% 95.9%)) / 0.35);
343
+ }
344
+
345
+ .editor-device-button__more-label {
346
+ font-size: sizes.$fontSizeXs;
347
+ font-weight: 600;
348
+ line-height: 1.2;
349
+ color: colors.$mutedTextColor;
350
+ }
351
+
352
+ .editor-device-button--more:hover .editor-device-button__more-label {
353
+ color: colors.$textColor;
354
+ }
355
+
130
356
  .editor-header__actions {
131
357
  margin-left: auto; /* push actions to the far right */
132
358
  display: flex;
@@ -7,12 +7,12 @@
7
7
  .device-selector-modal__grid {
8
8
  padding: sizes.$spaceRoomy;
9
9
  display: grid;
10
- grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
10
+ grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
11
11
  gap: sizes.$spaceCozy;
12
12
  overflow: auto;
13
13
  }
14
14
 
15
15
  .device-selector-modal__grid .editor-device-button {
16
- height: 80px;
16
+ height: 136px;
17
17
  min-width: unset;
18
18
  }
@@ -3,15 +3,22 @@
3
3
  @use '../foundation/typography' as typography;
4
4
 
5
5
  .prompt-manager-modal__content {
6
- width: calc(100vw - 32px);
7
- height: calc(100vh - 32px);
8
- max-width: 1400px;
9
- max-height: calc(100vh - 32px);
6
+ width: calc(100vw - 48px);
7
+ height: calc(100vh - 48px);
8
+ max-width: 1240px;
9
+ max-height: calc(100vh - 48px);
10
10
  padding: 0;
11
11
  display: flex;
12
12
  flex-direction: column;
13
13
  }
14
14
 
15
+ .prompt-manager-modal__content--ai-layout {
16
+ width: min(1320px, calc(100vw - 36px));
17
+ height: min(860px, calc(100vh - 28px));
18
+ max-height: calc(100vh - 28px);
19
+ border-radius: 14px;
20
+ }
21
+
15
22
  .prompt-manager-modal__header {
16
23
  padding: sizes.$spaceComfy sizes.$spaceRoomy;
17
24
  border-bottom: 1px solid colors.$borderColor;
@@ -54,7 +61,11 @@
54
61
  padding: sizes.$spaceRoomy;
55
62
  display: flex;
56
63
  flex-direction: column;
57
- overflow: hidden;
64
+ overflow: auto;
65
+ }
66
+
67
+ .prompt-manager-modal__body--ai-layout {
68
+ padding: sizes.$spaceComfy;
58
69
  }
59
70
 
60
71
  .prompt-manager-modal__editor-wrap {
@@ -71,6 +82,65 @@
71
82
  justify-content: space-between;
72
83
  }
73
84
 
85
+ .prompt-manager-modal__toolbar--stack {
86
+ flex-direction: column;
87
+ align-items: stretch;
88
+ gap: sizes.$spaceComfy;
89
+ }
90
+
91
+ .prompt-manager-modal__inline-row {
92
+ display: flex;
93
+ align-items: flex-end;
94
+ gap: sizes.$spaceComfy;
95
+ flex-wrap: wrap;
96
+ }
97
+
98
+ .prompt-manager-modal__inline-row--end {
99
+ justify-content: flex-end;
100
+ }
101
+
102
+ .prompt-manager-modal__label {
103
+ display: flex;
104
+ flex-direction: column;
105
+ gap: 6px;
106
+ font-size: 12px;
107
+ color: colors.$mutedTextColor;
108
+ }
109
+
110
+ .prompt-manager-modal__select {
111
+ min-width: 170px;
112
+ border: 1px solid colors.$borderColor;
113
+ border-radius: sizes.$radiusRounded;
114
+ background: colors.$surfaceColor;
115
+ color: colors.$textColor;
116
+ padding: 8px 10px;
117
+ font-size: 13px;
118
+ outline: none;
119
+
120
+ &:focus {
121
+ border-color: colors.$primary;
122
+ box-shadow: 0 0 0 2px color-mix(in srgb, colors.$primary, transparent 90%);
123
+ }
124
+ }
125
+
126
+ .prompt-manager-modal__prompt-input {
127
+ min-height: 90px;
128
+ resize: vertical;
129
+ border: 1px solid colors.$borderColor;
130
+ border-radius: sizes.$radiusRounded;
131
+ background: colors.$surfaceColor;
132
+ color: colors.$textColor;
133
+ padding: sizes.$spaceComfy;
134
+ font-size: 13px;
135
+ line-height: 1.45;
136
+ outline: none;
137
+
138
+ &:focus {
139
+ border-color: colors.$primary;
140
+ box-shadow: 0 0 0 2px color-mix(in srgb, colors.$primary, transparent 90%);
141
+ }
142
+ }
143
+
74
144
  .prompt-manager-modal__editor {
75
145
  flex: 1;
76
146
  width: 100%;