sh-ui-cli 0.34.0 → 0.39.0

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.
@@ -122,6 +122,7 @@ class ShUiSpacingTokens {
122
122
  });
123
123
 
124
124
  static const tokens = ShUiSpacingTokens(
125
+ // sh-ui:theme-space-start
125
126
  s0: 0.0,
126
127
  s1: 4.0,
127
128
  s2: 8.0,
@@ -133,6 +134,7 @@ class ShUiSpacingTokens {
133
134
  s10: 40.0,
134
135
  s12: 48.0,
135
136
  s16: 64.0,
137
+ // sh-ui:theme-space-end
136
138
  );
137
139
  }
138
140
 
@@ -159,6 +161,7 @@ class ShUiTextTokens {
159
161
  });
160
162
 
161
163
  static const tokens = ShUiTextTokens(
164
+ // sh-ui:theme-text-start
162
165
  xs: 12.0,
163
166
  sm: 14.0,
164
167
  base: 16.0,
@@ -167,6 +170,7 @@ class ShUiTextTokens {
167
170
  xl2: 24.0,
168
171
  xl3: 30.0,
169
172
  xl4: 36.0,
173
+ // sh-ui:theme-text-end
170
174
  );
171
175
  }
172
176
 
@@ -185,10 +189,12 @@ class ShUiWeightTokens {
185
189
  });
186
190
 
187
191
  static const tokens = ShUiWeightTokens(
192
+ // sh-ui:theme-weight-start
188
193
  regular: FontWeight.w400,
189
194
  medium: FontWeight.w500,
190
195
  semibold: FontWeight.w600,
191
196
  bold: FontWeight.w700,
197
+ // sh-ui:theme-weight-end
192
198
  );
193
199
  }
194
200
 
@@ -207,10 +213,12 @@ class ShUiShadowTokens {
207
213
  });
208
214
 
209
215
  static const tokens = ShUiShadowTokens(
216
+ // sh-ui:theme-shadow-start
210
217
  sm: <BoxShadow>[BoxShadow(offset: Offset(0.0, 1.0), blurRadius: 2.0, spreadRadius: 0.0, color: Color(0x14000000))],
211
218
  md: <BoxShadow>[BoxShadow(offset: Offset(0.0, 4.0), blurRadius: 12.0, spreadRadius: 0.0, color: Color(0x1F000000))],
212
219
  lg: <BoxShadow>[BoxShadow(offset: Offset(0.0, 8.0), blurRadius: 24.0, spreadRadius: 0.0, color: Color(0x26000000))],
213
220
  xl: <BoxShadow>[BoxShadow(offset: Offset(0.0, 16.0), blurRadius: 48.0, spreadRadius: 0.0, color: Color(0x2E000000))],
221
+ // sh-ui:theme-shadow-end
214
222
  );
215
223
  }
216
224
 
@@ -227,9 +235,11 @@ class ShUiDurationTokens {
227
235
  });
228
236
 
229
237
  static const tokens = ShUiDurationTokens(
238
+ // sh-ui:theme-duration-start
230
239
  fast: Duration(milliseconds: 120),
231
240
  base: Duration(milliseconds: 160),
232
241
  slow: Duration(milliseconds: 200),
242
+ // sh-ui:theme-duration-end
233
243
  );
234
244
  }
235
245
 
@@ -244,8 +254,10 @@ class ShUiEaseTokens {
244
254
  });
245
255
 
246
256
  static const tokens = ShUiEaseTokens(
257
+ // sh-ui:theme-ease-start
247
258
  standard: Cubic(0.4, 0, 0.2, 1),
248
259
  emphasized: Cubic(0.2, 0, 0, 1),
260
+ // sh-ui:theme-ease-end
249
261
  );
250
262
  }
251
263
 
@@ -262,9 +274,11 @@ class ShUiControlTokens {
262
274
  });
263
275
 
264
276
  static const tokens = ShUiControlTokens(
277
+ // sh-ui:theme-control-start
265
278
  sm: 32.0,
266
279
  md: 40.0,
267
280
  lg: 48.0,
281
+ // sh-ui:theme-control-end
268
282
  );
269
283
  }
270
284
 
@@ -279,8 +293,10 @@ class ShUiBorderWidthTokens {
279
293
  });
280
294
 
281
295
  static const tokens = ShUiBorderWidthTokens(
296
+ // sh-ui:theme-border-width-start
282
297
  normal: 1.0,
283
298
  strong: 2.0,
299
+ // sh-ui:theme-border-width-end
284
300
  );
285
301
  }
286
302
 
@@ -297,6 +313,27 @@ class ShUiOpacityTokens {
297
313
  );
298
314
  }
299
315
 
316
+ @immutable
317
+ class ShUiGradientTokens {
318
+ final LinearGradient primary;
319
+ final LinearGradient surface;
320
+ final LinearGradient overlay;
321
+
322
+ const ShUiGradientTokens({
323
+ required this.primary,
324
+ required this.surface,
325
+ required this.overlay,
326
+ });
327
+
328
+ static const tokens = ShUiGradientTokens(
329
+ // sh-ui:theme-gradient-start
330
+ primary: LinearGradient(begin: Alignment(-0.707, 0.707), end: Alignment(0.707, -0.707), colors: <Color>[Color(0xFF171717), Color(0xFF525252)], stops: <double>[0.00, 1.00]),
331
+ surface: LinearGradient(begin: Alignment(0.0, -1.0), end: Alignment(0.0, 1.0), colors: <Color>[Color(0xFFFFFFFF), Color(0xFFF5F5F5)], stops: <double>[0.00, 1.00]),
332
+ overlay: LinearGradient(begin: Alignment(0.0, -1.0), end: Alignment(0.0, 1.0), colors: <Color>[Color(0xFF000000), Color(0xFF1F1F1F)], stops: <double>[0.00, 1.00]),
333
+ // sh-ui:theme-gradient-end
334
+ );
335
+ }
336
+
300
337
  @immutable
301
338
  class ShUiBreakpointTokens {
302
339
  final double sm;
@@ -330,6 +367,7 @@ class ShUiTheme extends ThemeExtension<ShUiTheme> {
330
367
  final ShUiEaseTokens ease;
331
368
  final ShUiControlTokens control;
332
369
  final ShUiBorderWidthTokens borderWidth;
370
+ final ShUiGradientTokens gradient;
333
371
  final ShUiOpacityTokens opacity;
334
372
  final ShUiBreakpointTokens breakpoint;
335
373
 
@@ -344,6 +382,7 @@ class ShUiTheme extends ThemeExtension<ShUiTheme> {
344
382
  required this.ease,
345
383
  required this.control,
346
384
  required this.borderWidth,
385
+ required this.gradient,
347
386
  required this.opacity,
348
387
  required this.breakpoint,
349
388
  });
@@ -359,6 +398,7 @@ class ShUiTheme extends ThemeExtension<ShUiTheme> {
359
398
  ease: ShUiEaseTokens.tokens,
360
399
  control: ShUiControlTokens.tokens,
361
400
  borderWidth: ShUiBorderWidthTokens.tokens,
401
+ gradient: ShUiGradientTokens.tokens,
362
402
  opacity: ShUiOpacityTokens.tokens,
363
403
  breakpoint: ShUiBreakpointTokens.tokens,
364
404
  );
@@ -373,13 +413,14 @@ class ShUiTheme extends ThemeExtension<ShUiTheme> {
373
413
  ease: ShUiEaseTokens.tokens,
374
414
  control: ShUiControlTokens.tokens,
375
415
  borderWidth: ShUiBorderWidthTokens.tokens,
416
+ gradient: ShUiGradientTokens.tokens,
376
417
  opacity: ShUiOpacityTokens.tokens,
377
418
  breakpoint: ShUiBreakpointTokens.tokens,
378
419
  );
379
420
 
380
421
  @override
381
- ShUiTheme copyWith({ShUiColorTokens? colors, ShUiRadiusTokens? radius, ShUiSpacingTokens? spacing, ShUiTextTokens? text, ShUiWeightTokens? weight, ShUiShadowTokens? shadow, ShUiDurationTokens? duration, ShUiEaseTokens? ease, ShUiControlTokens? control, ShUiBorderWidthTokens? borderWidth, ShUiOpacityTokens? opacity, ShUiBreakpointTokens? breakpoint}) =>
382
- ShUiTheme(colors: colors ?? this.colors, radius: radius ?? this.radius, spacing: spacing ?? this.spacing, text: text ?? this.text, weight: weight ?? this.weight, shadow: shadow ?? this.shadow, duration: duration ?? this.duration, ease: ease ?? this.ease, control: control ?? this.control, borderWidth: borderWidth ?? this.borderWidth, opacity: opacity ?? this.opacity, breakpoint: breakpoint ?? this.breakpoint);
422
+ ShUiTheme copyWith({ShUiColorTokens? colors, ShUiRadiusTokens? radius, ShUiSpacingTokens? spacing, ShUiTextTokens? text, ShUiWeightTokens? weight, ShUiShadowTokens? shadow, ShUiDurationTokens? duration, ShUiEaseTokens? ease, ShUiControlTokens? control, ShUiBorderWidthTokens? borderWidth, ShUiGradientTokens? gradient, ShUiOpacityTokens? opacity, ShUiBreakpointTokens? breakpoint}) =>
423
+ ShUiTheme(colors: colors ?? this.colors, radius: radius ?? this.radius, spacing: spacing ?? this.spacing, text: text ?? this.text, weight: weight ?? this.weight, shadow: shadow ?? this.shadow, duration: duration ?? this.duration, ease: ease ?? this.ease, control: control ?? this.control, borderWidth: borderWidth ?? this.borderWidth, gradient: gradient ?? this.gradient, opacity: opacity ?? this.opacity, breakpoint: breakpoint ?? this.breakpoint);
383
424
 
384
425
  @override
385
426
  ShUiTheme lerp(ThemeExtension<ShUiTheme>? other, double t) {
@@ -42,6 +42,7 @@
42
42
  /* sh-ui:theme-radius-start */
43
43
  --radius: 0.5rem;
44
44
  /* sh-ui:theme-radius-end */
45
+ /* sh-ui:theme-space-start */
45
46
  --space-0: 0px;
46
47
  --space-1: 4px;
47
48
  --space-2: 8px;
@@ -53,6 +54,8 @@
53
54
  --space-10: 40px;
54
55
  --space-12: 48px;
55
56
  --space-16: 64px;
57
+ /* sh-ui:theme-space-end */
58
+ /* sh-ui:theme-text-start */
56
59
  --text-xs: 12px;
57
60
  --text-sm: 14px;
58
61
  --text-base: 16px;
@@ -61,24 +64,42 @@
61
64
  --text-2xl: 24px;
62
65
  --text-3xl: 30px;
63
66
  --text-4xl: 36px;
67
+ /* sh-ui:theme-text-end */
68
+ /* sh-ui:theme-weight-start */
64
69
  --weight-regular: 400;
65
70
  --weight-medium: 500;
66
71
  --weight-semibold: 600;
67
72
  --weight-bold: 700;
73
+ /* sh-ui:theme-weight-end */
74
+ /* sh-ui:theme-shadow-start */
68
75
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
69
76
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
70
77
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
71
78
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.18);
79
+ /* sh-ui:theme-shadow-end */
80
+ /* sh-ui:theme-duration-start */
72
81
  --duration-fast: 120ms;
73
82
  --duration-base: 160ms;
74
83
  --duration-slow: 200ms;
84
+ /* sh-ui:theme-duration-end */
85
+ /* sh-ui:theme-ease-start */
75
86
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
76
87
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
88
+ /* sh-ui:theme-ease-end */
89
+ /* sh-ui:theme-control-start */
77
90
  --control-sm: 32px;
78
91
  --control-md: 40px;
79
92
  --control-lg: 48px;
93
+ /* sh-ui:theme-control-end */
94
+ /* sh-ui:theme-border-width-start */
80
95
  --border-width: 1px;
81
96
  --border-width-strong: 2px;
97
+ /* sh-ui:theme-border-width-end */
98
+ /* sh-ui:theme-gradient-start */
99
+ --gradient-primary: linear-gradient(135deg, #171717 0%, #525252 100%);
100
+ --gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F5F5F5 100%);
101
+ --gradient-overlay: linear-gradient(180deg, #000000 0%, #1F1F1F 100%);
102
+ /* sh-ui:theme-gradient-end */
82
103
  --opacity-disabled: 0.5;
83
104
  --z-base: 0;
84
105
  --z-sticky: 100;
@@ -42,6 +42,7 @@
42
42
  /* sh-ui:theme-radius-start */
43
43
  --radius: 0.5rem;
44
44
  /* sh-ui:theme-radius-end */
45
+ /* sh-ui:theme-space-start */
45
46
  --space-0: 0px;
46
47
  --space-1: 4px;
47
48
  --space-2: 8px;
@@ -53,6 +54,8 @@
53
54
  --space-10: 40px;
54
55
  --space-12: 48px;
55
56
  --space-16: 64px;
57
+ /* sh-ui:theme-space-end */
58
+ /* sh-ui:theme-text-start */
56
59
  --text-xs: 12px;
57
60
  --text-sm: 14px;
58
61
  --text-base: 16px;
@@ -61,24 +64,42 @@
61
64
  --text-2xl: 24px;
62
65
  --text-3xl: 30px;
63
66
  --text-4xl: 36px;
67
+ /* sh-ui:theme-text-end */
68
+ /* sh-ui:theme-weight-start */
64
69
  --weight-regular: 400;
65
70
  --weight-medium: 500;
66
71
  --weight-semibold: 600;
67
72
  --weight-bold: 700;
73
+ /* sh-ui:theme-weight-end */
74
+ /* sh-ui:theme-shadow-start */
68
75
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
69
76
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
70
77
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
71
78
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.18);
79
+ /* sh-ui:theme-shadow-end */
80
+ /* sh-ui:theme-duration-start */
72
81
  --duration-fast: 120ms;
73
82
  --duration-base: 160ms;
74
83
  --duration-slow: 200ms;
84
+ /* sh-ui:theme-duration-end */
85
+ /* sh-ui:theme-ease-start */
75
86
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
76
87
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
88
+ /* sh-ui:theme-ease-end */
89
+ /* sh-ui:theme-control-start */
77
90
  --control-sm: 32px;
78
91
  --control-md: 40px;
79
92
  --control-lg: 48px;
93
+ /* sh-ui:theme-control-end */
94
+ /* sh-ui:theme-border-width-start */
80
95
  --border-width: 1px;
81
96
  --border-width-strong: 2px;
97
+ /* sh-ui:theme-border-width-end */
98
+ /* sh-ui:theme-gradient-start */
99
+ --gradient-primary: linear-gradient(135deg, #171717 0%, #525252 100%);
100
+ --gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F5F5F5 100%);
101
+ --gradient-overlay: linear-gradient(180deg, #000000 0%, #1F1F1F 100%);
102
+ /* sh-ui:theme-gradient-end */
82
103
  --opacity-disabled: 0.5;
83
104
  --z-base: 0;
84
105
  --z-sticky: 100;