@proulr/sdui-components 0.1.25 → 0.1.27

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proulr/sdui-components",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "type": "module",
5
5
  "main": "./src/renderer/index.ts",
6
6
  "types": "./src/renderer/index.ts",
@@ -27,6 +27,7 @@ export const APP_ICON_NAMES = [
27
27
  'fire',
28
28
  'settings',
29
29
  'edit',
30
+ 'crop',
30
31
  'incognito',
31
32
  'events',
32
33
  'shield',
@@ -586,6 +586,49 @@ export function AppChromeEditGlyph({ color = m3Colors.primary, size = 24 }: AppC
586
586
  );
587
587
  }
588
588
 
589
+ /** Cortar imagem — tesoura (duas lâminas + pivô). */
590
+ export function AppChromeCropGlyph({ color = m3Colors.primary, size = 24 }: AppChromeGlyphProps) {
591
+ const bladeW = Math.max(2, size * 0.12);
592
+ const bladeH = size * 0.52;
593
+ const pivot = Math.max(4, size * 0.2);
594
+ return (
595
+ <View style={{ width: size, height: size, alignItems: 'center', justifyContent: 'center' }}>
596
+ <View
597
+ style={{
598
+ position: 'absolute',
599
+ width: bladeW,
600
+ height: bladeH,
601
+ borderRadius: bladeW,
602
+ backgroundColor: color,
603
+ transform: [{ rotate: '-28deg' }, { translateY: -size * 0.06 }],
604
+ }}
605
+ />
606
+ <View
607
+ style={{
608
+ position: 'absolute',
609
+ width: bladeW,
610
+ height: bladeH,
611
+ borderRadius: bladeW,
612
+ backgroundColor: color,
613
+ transform: [{ rotate: '28deg' }, { translateY: -size * 0.06 }],
614
+ }}
615
+ />
616
+ <View
617
+ style={{
618
+ position: 'absolute',
619
+ bottom: size * 0.18,
620
+ width: pivot,
621
+ height: pivot,
622
+ borderRadius: pivot / 2,
623
+ borderWidth: Math.max(1.5, size * 0.07),
624
+ borderColor: color,
625
+ backgroundColor: 'transparent',
626
+ }}
627
+ />
628
+ </View>
629
+ );
630
+ }
631
+
589
632
  /** Story — anel com ponto central (criar story). */
590
633
  export function AppChromeStoryGlyph({ color = m3Colors.primary, size = 24 }: AppChromeGlyphProps) {
591
634
  const stroke = strokeFor(size);
@@ -19,6 +19,7 @@ import {
19
19
  AppChromeCopyGlyph,
20
20
  AppChromeDownloadGlyph,
21
21
  AppChromeEditGlyph,
22
+ AppChromeCropGlyph,
22
23
  AppChromeEventsGlyph,
23
24
  AppChromeFireGlyph,
24
25
  AppChromeFlashGlyph,
@@ -112,6 +113,7 @@ const ICON_REGISTRY: Record<AppIconName, ComponentType<AppChromeGlyphProps>> = {
112
113
  fire: AppChromeFireGlyph,
113
114
  settings: AppChromeSettingsGlyph,
114
115
  edit: AppChromeEditGlyph,
116
+ crop: AppChromeCropGlyph,
115
117
  incognito: AppChromeIncognitoGlyph,
116
118
  events: AppChromeEventsGlyph,
117
119
  shield: AppChromeShieldGlyph,
@@ -39,6 +39,7 @@ export {
39
39
  AppChromeCopyGlyph,
40
40
  AppChromeDownloadGlyph,
41
41
  AppChromeEditGlyph,
42
+ AppChromeCropGlyph,
42
43
  AppChromeEventsGlyph,
43
44
  AppChromeFireGlyph,
44
45
  AppChromeFlashGlyph,