@krpkg/ui 0.4.1 → 0.4.2
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/dist/index.js +67 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -27
- package/dist/index.mjs.map +1 -1
- package/dist/native.d.mts +2 -2
- package/dist/native.d.ts +2 -2
- package/dist/native.js +4 -4
- package/dist/native.js.map +1 -1
- package/dist/native.mjs +4 -4
- package/dist/native.mjs.map +1 -1
- package/package.json +1 -1
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/native/index.ts","../src/native/Button.tsx","../src/tokens.ts","../src/native/BracketCard.tsx","../src/native/Badge.tsx","../src/native/Dot.tsx","../src/native/TechLabel.tsx","../src/native/CyberSwitch.tsx","../src/native/ColorPicker.tsx"],"sourcesContent":["export * from './Button';\nexport * from './BracketCard';\nexport * from './Badge';\nexport * from './Dot';\nexport * from './TechLabel';\nexport * from './CyberSwitch';\nexport * from './ColorPicker';\n","import React from 'react';\nimport {\n Pressable,\n Text,\n StyleSheet,\n type PressableProps,\n type StyleProp,\n type ViewStyle,\n type TextStyle,\n} from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeButtonProps extends Omit<PressableProps, 'style'> {\n label?: string;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n variant?: 'primary' | 'outline' | 'ghost' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n}\n\nexport function Button({\n label,\n icon,\n children,\n variant = 'outline',\n size = 'md',\n style,\n textStyle,\n disabled,\n ...props\n}: NativeButtonProps) {\n return (\n <Pressable\n disabled={disabled}\n style={({ pressed }) => [\n styles.base,\n styles[variant],\n styles[`size_${size}`],\n pressed && !disabled && styles.pressed,\n disabled && styles.disabled,\n style,\n ]}\n {...props}\n >\n {icon && <>{icon}</>}\n {children ? (\n children\n ) : label ? (\n <Text\n style={[\n styles.text,\n styles[`text_${variant}`],\n styles[`textSize_${size}`],\n disabled && styles.textDisabled,\n icon ? styles.textWithIcon : null,\n textStyle,\n ]}\n >\n {label}\n </Text>\n ) : null}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n borderRadius: borderRadius.sm,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row',\n gap: spacing.xs,\n },\n size_sm: {\n paddingVertical: spacing.xs,\n paddingHorizontal: spacing.sm,\n },\n size_md: {\n paddingVertical: spacing.sm,\n paddingHorizontal: spacing.lg,\n },\n size_lg: {\n paddingVertical: spacing.md,\n paddingHorizontal: spacing.xl,\n },\n primary: {\n backgroundColor: colors.accent,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.accent,\n backgroundColor: 'transparent',\n },\n ghost: {\n backgroundColor: 'transparent',\n },\n danger: {\n backgroundColor: colors.danger,\n },\n pressed: {\n opacity: 0.75,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n fontFamily: 'monospace',\n fontWeight: '600',\n },\n textWithIcon: {\n marginLeft: 2,\n },\n textSize_sm: {\n fontSize: 12,\n },\n textSize_md: {\n fontSize: 14,\n },\n textSize_lg: {\n fontSize: 16,\n },\n text_primary: {\n color: colors.bg0,\n },\n text_outline: {\n color: colors.accent,\n },\n text_ghost: {\n color: colors.text0,\n },\n text_danger: {\n color: '#ffffff',\n },\n textDisabled: {\n color: colors.textMuted,\n },\n});\n","/**\n * Raw design tokens - source of truth across Web, Tauri Desktop, and React Native\n */\n\nexport const colors = {\n // Baseline / Obsidian Dark\n bg: '#0a0a0c',\n bg0: '#0a0a0c',\n bg1: '#111114',\n bg2: '#18181c',\n bg3: '#1f1f24',\n bgCard: '#121215',\n bgCardHover: '#18181d',\n bgCardActive: '#222228',\n border: '#2a2a30',\n borderSubtle: '#1e1e24',\n borderLight: '#3f3f46',\n text: '#f4f4f5',\n text0: '#e2ded6',\n text1: '#b0aca4',\n text2: '#706c66',\n text3: '#4a4844',\n textMuted: '#a1a1aa',\n textDim: '#71717a',\n\n // Accents & Signals\n accent: '#c49368',\n accentHover: '#d4a478',\n accentDim: 'rgba(196, 147, 104, 0.12)',\n accentMuted: 'rgba(224, 169, 109, 0.15)',\n teal: '#6a9e9e',\n tealDim: 'rgba(106, 158, 158, 0.12)',\n warm: '#a08060',\n redSoft: '#b05050',\n greenSoft: '#6a9a6a',\n danger: '#ef4444',\n success: '#22c55e',\n blue: '#3b82f6',\n purple: '#a855f7',\n\n // Sticky Note Themes\n sticky1: '#e8e0b8',\n sticky2: '#e0c8c0',\n sticky3: '#c0d0d8',\n sticky4: '#c8d8c0',\n} as const;\n\nexport const themePalettes = {\n default: {\n name: 'Amber Baseline',\n accent: '#c49368',\n bg0: '#0a0a0c',\n bg1: '#111114',\n bg2: '#18181c',\n border: '#2a2a30',\n },\n citlali: {\n name: 'Citlali Star-Gaze',\n accent: '#f2a9c8',\n bg0: '#090d1d',\n bg1: '#10172d',\n bg2: '#172343',\n border: '#334879',\n },\n furina: {\n name: 'Furina Hydro-Overture',\n accent: '#5ab2ff',\n bg0: '#060d16',\n bg1: '#0b1624',\n bg2: '#122238',\n border: '#1f3c5e',\n },\n alley: {\n name: 'Alley Neon-Noir',\n accent: '#b066ff',\n bg0: '#050409',\n bg1: '#0b0914',\n bg2: '#141021',\n border: '#382c54',\n },\n} as const;\n\nexport const typography = {\n fontMono: 'IBMPlexMono_400Regular',\n fontMonoLight: 'IBMPlexMono_300Light',\n fontMonoMedium: 'IBMPlexMono_500Medium',\n fontMonoBold: 'IBMPlexMono_600SemiBold',\n fontSans: 'IBMPlexSans_400Regular',\n fontSansLight: 'IBMPlexSans_300Light',\n fontSansMedium: 'IBMPlexSans_500Medium',\n fontSansBold: 'IBMPlexSans_600SemiBold',\n fontJp: 'NotoSansJP_400Regular',\n fontJpMedium: 'NotoSansJP_500Medium',\n fontJpBold: 'NotoSansJP_700Bold',\n\n webMono: \"'IBM Plex Mono', monospace\",\n webSans: \"'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n webJp: \"'Noto Sans JP', sans-serif\",\n} as const;\n\nexport const spacing = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 12,\n lg: 16,\n xl: 24,\n xxl: 32,\n xxxl: 48,\n} as const;\n\nexport const borderRadius = {\n none: 0,\n sm: 4,\n md: 6,\n lg: 10,\n full: 9999,\n} as const;\n\n/**\n * CSS Variable references for DOM & Tauri Webview contexts\n */\nexport const cssTokens = {\n colors: {\n bg0: 'var(--kz-bg-0)',\n bg1: 'var(--kz-bg-1)',\n bg2: 'var(--kz-bg-2)',\n bg3: 'var(--kz-bg-3)',\n border: 'var(--kz-border)',\n borderSubtle: 'var(--kz-border-subtle)',\n borderLight: 'var(--kz-border-light)',\n text0: 'var(--kz-text-0)',\n text1: 'var(--kz-text-1)',\n text2: 'var(--kz-text-2)',\n text3: 'var(--kz-text-3)',\n accent: 'var(--kz-accent)',\n accentHover: 'var(--kz-accent-hover)',\n accentDim: 'var(--kz-accent-dim)',\n teal: 'var(--kz-teal)',\n tealDim: 'var(--kz-teal-dim)',\n warm: 'var(--kz-warm)',\n redSoft: 'var(--kz-red-soft)',\n greenSoft: 'var(--kz-green-soft)',\n blue: 'var(--kz-blue)',\n purple: 'var(--kz-purple)',\n },\n typography: {\n mono: 'var(--kz-mono)',\n sans: 'var(--kz-sans)',\n jp: 'var(--kz-jp)',\n },\n radius: {\n sm: 'var(--kz-radius-sm)',\n md: 'var(--kz-radius-md)',\n lg: 'var(--kz-radius-lg)',\n },\n} as const;\n\nexport const tokens = cssTokens;\n\nexport type ThemeName = 'default' | 'citlali' | 'furina' | 'alley';\n","import React from 'react';\nimport { View, StyleSheet, type ViewProps, type StyleProp, type ViewStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBracketCardProps extends ViewProps {\n active?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function BracketCard({\n active = false,\n style,\n children,\n ...props\n}: NativeBracketCardProps) {\n return (\n <View\n style={[\n styles.card,\n active && styles.active,\n style,\n ]}\n {...props}\n >\n <View style={[styles.corner, styles.cornerTL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerTR, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBR, active && styles.cornerActive]} />\n {children}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n card: {\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderColor: colors.borderSubtle,\n borderRadius: borderRadius.md,\n padding: spacing.md,\n position: 'relative',\n },\n active: {\n borderColor: colors.accent,\n },\n corner: {\n position: 'absolute',\n width: 6,\n height: 6,\n borderColor: colors.textDim,\n },\n cornerActive: {\n borderColor: colors.accent,\n },\n cornerTL: {\n top: -1,\n left: -1,\n borderTopWidth: 2,\n borderLeftWidth: 2,\n },\n cornerTR: {\n top: -1,\n right: -1,\n borderTopWidth: 2,\n borderRightWidth: 2,\n },\n cornerBL: {\n bottom: -1,\n left: -1,\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n },\n cornerBR: {\n bottom: -1,\n right: -1,\n borderBottomWidth: 2,\n borderRightWidth: 2,\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBadgeProps {\n label: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Badge({ label, variant = 'default', style }: NativeBadgeProps) {\n return (\n <View style={[styles.badge, styles[variant], style]}>\n <Text style={[styles.text, styles[`text_${variant}`]]}>{label}</Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n badge: {\n paddingHorizontal: spacing.sm,\n paddingVertical: 2,\n borderRadius: borderRadius.sm,\n alignSelf: 'flex-start',\n },\n default: {\n backgroundColor: colors.borderSubtle,\n },\n accent: {\n backgroundColor: colors.accentDim,\n borderWidth: 1,\n borderColor: colors.accent,\n },\n teal: {\n backgroundColor: colors.tealDim,\n borderWidth: 1,\n borderColor: colors.teal,\n },\n purple: {\n backgroundColor: 'rgba(168, 85, 247, 0.15)',\n borderWidth: 1,\n borderColor: colors.purple,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.borderLight,\n backgroundColor: 'transparent',\n },\n text: {\n fontSize: 11,\n fontFamily: 'monospace',\n fontWeight: '700',\n textTransform: 'uppercase',\n },\n text_default: {\n color: colors.text1,\n },\n text_accent: {\n color: colors.accent,\n },\n text_teal: {\n color: colors.teal,\n },\n text_purple: {\n color: colors.purple,\n },\n text_outline: {\n color: colors.textDim,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors } from '../tokens';\n\nexport interface NativeDotProps {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Dot({ color = 'accent', size = 6, style }: NativeDotProps) {\n const colorMap = {\n accent: colors.accent,\n green: colors.success,\n red: colors.danger,\n teal: colors.teal,\n purple: colors.purple,\n };\n\n return (\n <View\n style={[\n styles.dot,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: colorMap[color],\n },\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n dot: {\n alignSelf: 'center',\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeTechLabelProps {\n label: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function TechLabel({ label, jp, coord, style }: NativeTechLabelProps) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.label}>{label}</Text>\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 12,\n color: colors.text0,\n fontWeight: '700',\n letterSpacing: 0.5,\n },\n jp: {\n fontSize: 11,\n color: colors.text2,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 10,\n color: colors.accent,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeCyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: string;\n sublabel?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n style,\n}: NativeCyberSwitchProps) {\n return (\n <Pressable\n disabled={disabled}\n onPress={() => onChange(!checked)}\n style={[styles.container, disabled && styles.disabled, style]}\n >\n <View style={[styles.track, checked && styles.trackChecked]}>\n <Text style={[styles.bitText, styles.bitLeft]}>{checked ? '1' : ''}</Text>\n <View style={[styles.thumb, checked ? styles.thumbChecked : styles.thumbUnchecked]} />\n <Text style={[styles.bitText, styles.bitRight]}>{!checked ? '0' : ''}</Text>\n </View>\n {(label || sublabel) && (\n <View style={styles.textGroup}>\n {label && <Text style={styles.label}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n </View>\n )}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.sm,\n },\n disabled: {\n opacity: 0.4,\n },\n track: {\n width: 48,\n height: 24,\n borderRadius: borderRadius.sm,\n backgroundColor: colors.bg1,\n borderWidth: 1,\n borderColor: colors.border,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 3,\n position: 'relative',\n },\n trackChecked: {\n borderColor: colors.accent,\n backgroundColor: colors.accentDim,\n },\n thumb: {\n width: 18,\n height: 18,\n borderRadius: borderRadius.sm - 2,\n backgroundColor: colors.borderLight,\n position: 'absolute',\n },\n thumbUnchecked: {\n left: 2,\n },\n thumbChecked: {\n right: 2,\n backgroundColor: colors.accent,\n },\n bitText: {\n fontFamily: 'monospace',\n fontSize: 9,\n fontWeight: '700',\n color: colors.text2,\n },\n bitLeft: {\n marginLeft: 3,\n },\n bitRight: {\n marginRight: 3,\n },\n textGroup: {\n flexDirection: 'column',\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 13,\n color: colors.text0,\n fontWeight: '600',\n },\n sublabel: {\n fontSize: 11,\n color: colors.text2,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, StyleProp, ViewStyle, TextStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeColorPickerProps {\n value: string;\n onChange: (color: string) => void;\n presets?: string[];\n label?: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n presets = [\n '#000000', '#ffffff', '#c49368', '#6a9e9e', '#a855f7',\n '#3b82f6', '#22c55e', '#ef4444', '#eab308', '#ec4899',\n '#64748b', '#1e293b'\n ],\n label,\n jp,\n coord,\n style,\n labelStyle,\n}: NativeColorPickerProps) {\n return (\n <View style={[styles.container, style]}>\n {(label || jp || coord) && (\n <View style={styles.header}>\n <View style={styles.labelGroup}>\n {label && <Text style={[styles.label, labelStyle]}>{label}</Text>}\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n <Text style={styles.hexValue}>{value.toUpperCase()}</Text>\n </View>\n )}\n\n <View style={styles.palette}>\n {presets.map((color) => {\n const isSelected = value.toLowerCase() === color.toLowerCase();\n return (\n <Pressable\n key={color}\n onPress={() => onChange(color)}\n style={[\n styles.swatch,\n { backgroundColor: color },\n isSelected && styles.swatchSelected,\n ]}\n />\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n marginVertical: spacing.sm,\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'baseline',\n marginBottom: spacing.xs,\n },\n labelGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 11,\n fontWeight: '700',\n color: colors.text1,\n textTransform: 'uppercase',\n },\n jp: {\n fontSize: 10,\n color: colors.text3,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 9,\n color: colors.accent,\n },\n hexValue: {\n fontFamily: 'monospace',\n fontSize: 11,\n color: colors.accent,\n fontWeight: '700',\n },\n palette: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: spacing.xs,\n },\n swatch: {\n width: 28,\n height: 28,\n borderRadius: borderRadius.sm,\n borderWidth: 1,\n borderColor: 'rgba(255, 255, 255, 0.2)',\n },\n swatchSelected: {\n borderColor: '#ffffff',\n borderWidth: 2,\n transform: [{ scale: 1.1 }],\n },\n});\n"],"mappings":"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","names":["import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles"]}
|
|
1
|
+
{"version":3,"sources":["../src/native/index.ts","../src/native/Button.tsx","../src/tokens.ts","../src/native/BracketCard.tsx","../src/native/Badge.tsx","../src/native/Dot.tsx","../src/native/TechLabel.tsx","../src/native/CyberSwitch.tsx","../src/native/ColorPicker.tsx"],"sourcesContent":["export * from './Button';\nexport * from './BracketCard';\nexport * from './Badge';\nexport * from './Dot';\nexport * from './TechLabel';\nexport * from './CyberSwitch';\nexport * from './ColorPicker';\n","import React from 'react';\nimport {\n Pressable,\n Text,\n StyleSheet,\n type PressableProps,\n type StyleProp,\n type ViewStyle,\n type TextStyle,\n} from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeButtonProps extends Omit<PressableProps, 'style'> {\n label?: string;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n variant?: 'primary' | 'outline' | 'ghost' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n}\n\nexport function Button({\n label,\n icon,\n children,\n variant = 'outline',\n size = 'md',\n style,\n textStyle,\n disabled,\n ...props\n}: NativeButtonProps) {\n return (\n <Pressable\n disabled={disabled}\n style={({ pressed }) => [\n styles.base,\n styles[variant],\n styles[`size_${size}`],\n pressed && !disabled && styles.pressed,\n disabled && styles.disabled,\n style,\n ]}\n {...props}\n >\n {icon && <>{icon}</>}\n {children ? (\n children\n ) : label ? (\n <Text\n style={[\n styles.text,\n styles[`text_${variant}`],\n styles[`textSize_${size}`],\n disabled && styles.textDisabled,\n icon ? styles.textWithIcon : null,\n textStyle,\n ]}\n >\n {label}\n </Text>\n ) : null}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n borderRadius: borderRadius.sm,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row',\n gap: spacing.xs,\n },\n size_sm: {\n paddingVertical: spacing.xs,\n paddingHorizontal: spacing.sm,\n },\n size_md: {\n paddingVertical: spacing.sm,\n paddingHorizontal: spacing.lg,\n },\n size_lg: {\n paddingVertical: spacing.md,\n paddingHorizontal: spacing.xl,\n },\n primary: {\n backgroundColor: colors.accent,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.accent,\n backgroundColor: 'transparent',\n },\n ghost: {\n backgroundColor: 'transparent',\n },\n danger: {\n backgroundColor: colors.danger,\n },\n pressed: {\n opacity: 0.75,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n fontFamily: 'monospace',\n fontWeight: '600',\n },\n textWithIcon: {\n marginLeft: 2,\n },\n textSize_sm: {\n fontSize: 12,\n },\n textSize_md: {\n fontSize: 14,\n },\n textSize_lg: {\n fontSize: 16,\n },\n text_primary: {\n color: colors.bg0,\n },\n text_outline: {\n color: colors.accent,\n },\n text_ghost: {\n color: colors.text0,\n },\n text_danger: {\n color: '#ffffff',\n },\n textDisabled: {\n color: colors.textMuted,\n },\n});\n","/**\n * Raw design tokens - source of truth across Web, Tauri Desktop, and React Native\n */\n\nexport const colors = {\n // Baseline / Obsidian Dark\n bg: '#0a0a0c',\n bg0: '#0a0a0c',\n bg1: '#111114',\n bg2: '#18181c',\n bg3: '#1f1f24',\n bgCard: '#121215',\n bgCardHover: '#18181d',\n bgCardActive: '#222228',\n border: '#2a2a30',\n borderSubtle: '#1e1e24',\n borderLight: '#3f3f46',\n text: '#f4f4f5',\n text0: '#e2ded6',\n text1: '#b0aca4',\n text2: '#706c66',\n text3: '#4a4844',\n textMuted: '#a1a1aa',\n textDim: '#71717a',\n\n // Accents & Signals\n accent: '#c49368',\n accentHover: '#d4a478',\n accentDim: 'rgba(196, 147, 104, 0.12)',\n accentMuted: 'rgba(224, 169, 109, 0.15)',\n teal: '#6a9e9e',\n tealDim: 'rgba(106, 158, 158, 0.12)',\n warm: '#a08060',\n redSoft: '#b05050',\n greenSoft: '#6a9a6a',\n danger: '#ef4444',\n success: '#22c55e',\n blue: '#3b82f6',\n purple: '#a855f7',\n\n // Sticky Note Themes\n sticky1: '#e8e0b8',\n sticky2: '#e0c8c0',\n sticky3: '#c0d0d8',\n sticky4: '#c8d8c0',\n} as const;\n\nexport const themePalettes = {\n default: {\n name: 'Amber Baseline',\n accent: '#c49368',\n bg0: '#0a0a0c',\n bg1: '#111114',\n bg2: '#18181c',\n border: '#2a2a30',\n },\n citlali: {\n name: 'Citlali Star-Gaze',\n accent: '#f2a9c8',\n bg0: '#090d1d',\n bg1: '#10172d',\n bg2: '#172343',\n border: '#334879',\n },\n furina: {\n name: 'Furina Hydro-Overture',\n accent: '#5ab2ff',\n bg0: '#060d16',\n bg1: '#0b1624',\n bg2: '#122238',\n border: '#1f3c5e',\n },\n alley: {\n name: 'Alley Neon-Noir',\n accent: '#b066ff',\n bg0: '#050409',\n bg1: '#0b0914',\n bg2: '#141021',\n border: '#382c54',\n },\n} as const;\n\nexport const typography = {\n fontMono: 'IBMPlexMono_400Regular',\n fontMonoLight: 'IBMPlexMono_300Light',\n fontMonoMedium: 'IBMPlexMono_500Medium',\n fontMonoBold: 'IBMPlexMono_600SemiBold',\n fontSans: 'IBMPlexSans_400Regular',\n fontSansLight: 'IBMPlexSans_300Light',\n fontSansMedium: 'IBMPlexSans_500Medium',\n fontSansBold: 'IBMPlexSans_600SemiBold',\n fontJp: 'NotoSansJP_400Regular',\n fontJpMedium: 'NotoSansJP_500Medium',\n fontJpBold: 'NotoSansJP_700Bold',\n\n webMono: \"'IBM Plex Mono', monospace\",\n webSans: \"'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n webJp: \"'Noto Sans JP', sans-serif\",\n} as const;\n\nexport const spacing = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 12,\n lg: 16,\n xl: 24,\n xxl: 32,\n xxxl: 48,\n} as const;\n\nexport const borderRadius = {\n none: 0,\n sm: 4,\n md: 6,\n lg: 10,\n full: 9999,\n} as const;\n\n/**\n * CSS Variable references for DOM & Tauri Webview contexts\n */\nexport const cssTokens = {\n colors: {\n bg0: 'var(--kz-bg-0)',\n bg1: 'var(--kz-bg-1)',\n bg2: 'var(--kz-bg-2)',\n bg3: 'var(--kz-bg-3)',\n border: 'var(--kz-border)',\n borderSubtle: 'var(--kz-border-subtle)',\n borderLight: 'var(--kz-border-light)',\n text0: 'var(--kz-text-0)',\n text1: 'var(--kz-text-1)',\n text2: 'var(--kz-text-2)',\n text3: 'var(--kz-text-3)',\n accent: 'var(--kz-accent)',\n accentHover: 'var(--kz-accent-hover)',\n accentDim: 'var(--kz-accent-dim)',\n teal: 'var(--kz-teal)',\n tealDim: 'var(--kz-teal-dim)',\n warm: 'var(--kz-warm)',\n redSoft: 'var(--kz-red-soft)',\n greenSoft: 'var(--kz-green-soft)',\n blue: 'var(--kz-blue)',\n purple: 'var(--kz-purple)',\n },\n typography: {\n mono: 'var(--kz-mono)',\n sans: 'var(--kz-sans)',\n jp: 'var(--kz-jp)',\n },\n radius: {\n sm: 'var(--kz-radius-sm)',\n md: 'var(--kz-radius-md)',\n lg: 'var(--kz-radius-lg)',\n },\n} as const;\n\nexport const tokens = cssTokens;\n\nexport type ThemeName = 'default' | 'citlali' | 'furina' | 'alley';\n","import React from 'react';\nimport { View, StyleSheet, type ViewProps, type StyleProp, type ViewStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBracketCardProps extends ViewProps {\n active?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function BracketCard({\n active = false,\n style,\n children,\n ...props\n}: NativeBracketCardProps) {\n return (\n <View\n style={[\n styles.card,\n active && styles.active,\n style,\n ]}\n {...props}\n >\n <View style={[styles.corner, styles.cornerTL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerTR, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBR, active && styles.cornerActive]} />\n {children}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n card: {\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderColor: colors.borderSubtle,\n borderRadius: borderRadius.md,\n padding: spacing.md,\n position: 'relative',\n },\n active: {\n borderColor: colors.accent,\n },\n corner: {\n position: 'absolute',\n width: 6,\n height: 6,\n borderColor: colors.textDim,\n },\n cornerActive: {\n borderColor: colors.accent,\n },\n cornerTL: {\n top: -1,\n left: -1,\n borderTopWidth: 2,\n borderLeftWidth: 2,\n },\n cornerTR: {\n top: -1,\n right: -1,\n borderTopWidth: 2,\n borderRightWidth: 2,\n },\n cornerBL: {\n bottom: -1,\n left: -1,\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n },\n cornerBR: {\n bottom: -1,\n right: -1,\n borderBottomWidth: 2,\n borderRightWidth: 2,\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBadgeProps {\n label: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Badge({ label, variant = 'default', style }: NativeBadgeProps) {\n return (\n <View style={[styles.badge, styles[variant], style]}>\n <Text style={[styles.text, styles[`text_${variant}`]]}>{label}</Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n badge: {\n paddingHorizontal: spacing.sm,\n paddingVertical: 2,\n borderRadius: borderRadius.sm,\n alignSelf: 'flex-start',\n },\n default: {\n backgroundColor: colors.borderSubtle,\n },\n accent: {\n backgroundColor: colors.accentDim,\n borderWidth: 1,\n borderColor: colors.accent,\n },\n teal: {\n backgroundColor: colors.tealDim,\n borderWidth: 1,\n borderColor: colors.teal,\n },\n purple: {\n backgroundColor: 'rgba(168, 85, 247, 0.15)',\n borderWidth: 1,\n borderColor: colors.purple,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.borderLight,\n backgroundColor: 'transparent',\n },\n text: {\n fontSize: 11,\n fontFamily: 'monospace',\n fontWeight: '700',\n textTransform: 'uppercase',\n },\n text_default: {\n color: colors.text1,\n },\n text_accent: {\n color: colors.accent,\n },\n text_teal: {\n color: colors.teal,\n },\n text_purple: {\n color: colors.purple,\n },\n text_outline: {\n color: colors.textDim,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors } from '../tokens';\n\nexport interface NativeDotProps {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Dot({ color = 'accent', size = 6, style }: NativeDotProps) {\n const colorMap = {\n accent: colors.accent,\n green: colors.success,\n red: colors.danger,\n teal: colors.teal,\n purple: colors.purple,\n };\n\n return (\n <View\n style={[\n styles.dot,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: colorMap[color],\n },\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n dot: {\n alignSelf: 'center',\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeTechLabelProps {\n label: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function TechLabel({ label, jp, coord, style }: NativeTechLabelProps) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.label}>{label}</Text>\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 12,\n color: colors.text0,\n fontWeight: '700',\n letterSpacing: 0.5,\n },\n jp: {\n fontSize: 11,\n color: colors.text2,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 10,\n color: colors.accent,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeCyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: string;\n sublabel?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n style,\n}: NativeCyberSwitchProps) {\n return (\n <Pressable\n disabled={disabled}\n onPress={() => onChange(!checked)}\n style={[styles.container, disabled && styles.disabled, style]}\n >\n <View style={[styles.track, checked && styles.trackChecked]}>\n <Text style={[styles.bitText, styles.bitLeft]}>{checked ? '1' : ''}</Text>\n <View style={[styles.thumb, checked ? styles.thumbChecked : styles.thumbUnchecked]} />\n <Text style={[styles.bitText, styles.bitRight]}>{!checked ? '0' : ''}</Text>\n </View>\n {(label || sublabel) && (\n <View style={styles.textGroup}>\n {label && <Text style={styles.label}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n </View>\n )}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.sm,\n },\n disabled: {\n opacity: 0.4,\n },\n track: {\n width: 48,\n height: 24,\n borderRadius: borderRadius.sm,\n backgroundColor: colors.bg1,\n borderWidth: 1,\n borderColor: colors.border,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 3,\n position: 'relative',\n },\n trackChecked: {\n borderColor: colors.accent,\n backgroundColor: colors.accentDim,\n },\n thumb: {\n width: 18,\n height: 18,\n borderRadius: borderRadius.sm - 2,\n backgroundColor: colors.borderLight,\n position: 'absolute',\n },\n thumbUnchecked: {\n left: 2,\n },\n thumbChecked: {\n right: 2,\n backgroundColor: colors.accent,\n },\n bitText: {\n fontFamily: 'monospace',\n fontSize: 9,\n fontWeight: '700',\n color: colors.text2,\n },\n bitLeft: {\n marginLeft: 3,\n },\n bitRight: {\n marginRight: 3,\n },\n textGroup: {\n flexDirection: 'column',\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 13,\n color: colors.text0,\n fontWeight: '600',\n },\n sublabel: {\n fontSize: 11,\n color: colors.text2,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, StyleProp, ViewStyle, TextStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeColorPickerProps {\n value: string;\n onChange: (color: string) => void;\n presets?: string[];\n label?: string;\n sublabel?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n presets = [\n '#000000', '#ffffff', '#c49368', '#6a9e9e', '#a855f7',\n '#3b82f6', '#22c55e', '#ef4444', '#eab308', '#ec4899',\n '#64748b', '#1e293b'\n ],\n label,\n sublabel,\n coord,\n style,\n labelStyle,\n}: NativeColorPickerProps) {\n return (\n <View style={[styles.container, style]}>\n {(label || sublabel || coord) && (\n <View style={styles.header}>\n <View style={styles.labelGroup}>\n {label && <Text style={[styles.label, labelStyle]}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n <Text style={styles.hexValue}>{value.toUpperCase()}</Text>\n </View>\n )}\n\n <View style={styles.palette}>\n {presets.map((color) => {\n const isSelected = value.toLowerCase() === color.toLowerCase();\n return (\n <Pressable\n key={color}\n onPress={() => onChange(color)}\n style={[\n styles.swatch,\n { backgroundColor: color },\n isSelected && styles.swatchSelected,\n ]}\n />\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n marginVertical: spacing.sm,\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'baseline',\n marginBottom: spacing.xs,\n },\n labelGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 11,\n fontWeight: '700',\n color: colors.text1,\n textTransform: 'uppercase',\n },\n sublabel: {\n fontSize: 10,\n color: colors.text3,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 9,\n color: colors.accent,\n },\n hexValue: {\n fontFamily: 'monospace',\n fontSize: 11,\n color: colors.accent,\n fontWeight: '700',\n },\n palette: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: spacing.xs,\n },\n swatch: {\n width: 28,\n height: 28,\n borderRadius: borderRadius.sm,\n borderWidth: 1,\n borderColor: 'rgba(255, 255, 255, 0.2)',\n },\n swatchSelected: {\n borderColor: '#ffffff',\n borderWidth: 2,\n transform: [{ scale: 1.1 }],\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,0BAQO;;;ACLA,IAAM,SAAS;AAAA;AAAA,EAEpB,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,aAAa;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA;AAAA,EAGT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA;AAAA,EAGR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAuDO,IAAM,UAAU;AAAA,EACrB,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AACR;AAEO,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AACR;;;ADnFI;AAZG,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO,CAAC,EAAE,QAAQ,MAAM;AAAA,QACtB,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,OAAO,QAAQ,IAAI,EAAE;AAAA,QACrB,WAAW,CAAC,YAAY,OAAO;AAAA,QAC/B,YAAY,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,gBAAQ,2EAAG,gBAAK;AAAA,QAChB,WACC,WACE,QACF;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO;AAAA,cACP,OAAO,QAAQ,OAAO,EAAE;AAAA,cACxB,OAAO,YAAY,IAAI,EAAE;AAAA,cACzB,YAAY,OAAO;AAAA,cACnB,OAAO,OAAO,eAAe;AAAA,cAC7B;AAAA,YACF;AAAA,YAEC;AAAA;AAAA,QACH,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,SAAS,+BAAW,OAAO;AAAA,EAC/B,MAAM;AAAA,IACJ,cAAc,aAAa;AAAA,IAC3B,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB,QAAQ;AAAA,IACzB,mBAAmB,QAAQ;AAAA,EAC7B;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB,QAAQ;AAAA,IACzB,mBAAmB,QAAQ;AAAA,EAC7B;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB,QAAQ;AAAA,IACzB,mBAAmB,QAAQ;AAAA,EAC7B;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,iBAAiB;AAAA,EACnB;AAAA,EACA,OAAO;AAAA,IACL,iBAAiB;AAAA,EACnB;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,cAAc;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AACF,CAAC;;;AEzID,IAAAA,uBAAiF;AAe7E,IAAAC,sBAAA;AAPG,SAAS,YAAY;AAAA,EAC1B,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2B;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACLC,QAAO;AAAA,QACP,UAAUA,QAAO;AAAA,QACjB;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,qDAAC,6BAAK,OAAO,CAACA,QAAO,QAAQA,QAAO,UAAU,UAAUA,QAAO,YAAY,GAAG;AAAA,QAC9E,6CAAC,6BAAK,OAAO,CAACA,QAAO,QAAQA,QAAO,UAAU,UAAUA,QAAO,YAAY,GAAG;AAAA,QAC9E,6CAAC,6BAAK,OAAO,CAACA,QAAO,QAAQA,QAAO,UAAU,UAAUA,QAAO,YAAY,GAAG;AAAA,QAC9E,6CAAC,6BAAK,OAAO,CAACA,QAAO,QAAQA,QAAO,UAAU,UAAUA,QAAO,YAAY,GAAG;AAAA,QAC7E;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,MAAM;AAAA,IACJ,iBAAiB,OAAO;AAAA,IACxB,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,cAAc,aAAa;AAAA,IAC3B,SAAS,QAAQ;AAAA,IACjB,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,cAAc;AAAA,IACZ,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,EACnB;AAAA,EACA,UAAU;AAAA,IACR,KAAK;AAAA,IACL,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,EACnB;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,EACpB;AACF,CAAC;;;AC7ED,IAAAC,uBAAuE;AAYjE,IAAAC,sBAAA;AAHC,SAAS,MAAM,EAAE,OAAO,UAAU,WAAW,MAAM,GAAqB;AAC7E,SACE,6CAAC,6BAAK,OAAO,CAACC,QAAO,OAAOA,QAAO,OAAO,GAAG,KAAK,GAChD,uDAAC,6BAAK,OAAO,CAACA,QAAO,MAAMA,QAAO,QAAQ,OAAO,EAAE,CAAC,GAAI,iBAAM,GAChE;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,OAAO;AAAA,IACL,mBAAmB,QAAQ;AAAA,IAC3B,iBAAiB;AAAA,IACjB,cAAc,aAAa;AAAA,IAC3B,WAAW;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB,OAAO;AAAA,IACxB,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,MAAM;AAAA,IACJ,iBAAiB,OAAO;AAAA,IACxB,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,EACtB;AAAA,EACA,SAAS;AAAA,IACP,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,iBAAiB;AAAA,EACnB;AAAA,EACA,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,aAAa;AAAA,IACX,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,aAAa;AAAA,IACX,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,cAAc;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AACF,CAAC;;;ACpED,IAAAC,uBAAiE;AAmB7D,IAAAC,sBAAA;AAVG,SAAS,IAAI,EAAE,QAAQ,UAAU,OAAO,GAAG,MAAM,GAAmB;AACzE,QAAM,WAAW;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,OAAO,OAAO;AAAA,IACd,KAAK,OAAO;AAAA,IACZ,MAAM,OAAO;AAAA,IACb,QAAQ,OAAO;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACLC,QAAO;AAAA,QACP;AAAA,UACE,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc,OAAO;AAAA,UACrB,iBAAiB,SAAS,KAAK;AAAA,QACjC;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,KAAK;AAAA,IACH,WAAW;AAAA,EACb;AACF,CAAC;;;ACtCD,IAAAC,uBAAuE;AAajE,IAAAC,sBAAA;AAHC,SAAS,UAAU,EAAE,OAAO,IAAI,OAAO,MAAM,GAAyB;AAC3E,SACE,8CAAC,6BAAK,OAAO,CAACC,QAAO,WAAW,KAAK,GACnC;AAAA,iDAAC,6BAAK,OAAOA,QAAO,OAAQ,iBAAM;AAAA,IACjC,MAAM,6CAAC,6BAAK,OAAOA,QAAO,IAAK,cAAG;AAAA,IAClC,SAAS,8CAAC,6BAAK,OAAOA,QAAO,OAAO;AAAA;AAAA,MAAE;AAAA,MAAM;AAAA,OAAC;AAAA,KAChD;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,IACd,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AACF,CAAC;;;AC1CD,IAAAC,uBAAkF;AA0B5E,IAAAC,sBAAA;AAdC,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAA2B;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAS,MAAM,SAAS,CAAC,OAAO;AAAA,MAChC,OAAO,CAACC,QAAO,WAAW,YAAYA,QAAO,UAAU,KAAK;AAAA,MAE5D;AAAA,sDAAC,6BAAK,OAAO,CAACA,QAAO,OAAO,WAAWA,QAAO,YAAY,GACxD;AAAA,uDAAC,6BAAK,OAAO,CAACA,QAAO,SAASA,QAAO,OAAO,GAAI,oBAAU,MAAM,IAAG;AAAA,UACnE,6CAAC,6BAAK,OAAO,CAACA,QAAO,OAAO,UAAUA,QAAO,eAAeA,QAAO,cAAc,GAAG;AAAA,UACpF,6CAAC,6BAAK,OAAO,CAACA,QAAO,SAASA,QAAO,QAAQ,GAAI,WAAC,UAAU,MAAM,IAAG;AAAA,WACvE;AAAA,SACE,SAAS,aACT,8CAAC,6BAAK,OAAOA,QAAO,WACjB;AAAA,mBAAS,6CAAC,6BAAK,OAAOA,QAAO,OAAQ,iBAAM;AAAA,UAC3C,YAAY,6CAAC,6BAAK,OAAOA,QAAO,UAAW,oBAAS;AAAA,WACvD;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,cAAc,aAAa;AAAA,IAC3B,iBAAiB,OAAO;AAAA,IACxB,aAAa;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,UAAU;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,IACZ,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,cAAc,aAAa,KAAK;AAAA,IAChC,iBAAiB,OAAO;AAAA,IACxB,UAAU;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,EACR;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,iBAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,SAAS;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACR,aAAa;AAAA,EACf;AAAA,EACA,WAAW;AAAA,IACT,eAAe;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AACF,CAAC;;;AC1GD,IAAAC,uBAAmF;AAiC7D,IAAAC,sBAAA;AAnBf,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,UAAU;AAAA,IACR;AAAA,IAAW;AAAA,IAAW;AAAA,IAAW;AAAA,IAAW;AAAA,IAC5C;AAAA,IAAW;AAAA,IAAW;AAAA,IAAW;AAAA,IAAW;AAAA,IAC5C;AAAA,IAAW;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,SACE,8CAAC,6BAAK,OAAO,CAACC,QAAO,WAAW,KAAK,GACjC;AAAA,cAAS,YAAY,UACrB,8CAAC,6BAAK,OAAOA,QAAO,QAClB;AAAA,oDAAC,6BAAK,OAAOA,QAAO,YACjB;AAAA,iBAAS,6CAAC,6BAAK,OAAO,CAACA,QAAO,OAAO,UAAU,GAAI,iBAAM;AAAA,QACzD,YAAY,6CAAC,6BAAK,OAAOA,QAAO,UAAW,oBAAS;AAAA,QACpD,SAAS,8CAAC,6BAAK,OAAOA,QAAO,OAAO;AAAA;AAAA,UAAE;AAAA,UAAM;AAAA,WAAC;AAAA,SAChD;AAAA,MACA,6CAAC,6BAAK,OAAOA,QAAO,UAAW,gBAAM,YAAY,GAAE;AAAA,OACrD;AAAA,IAGF,6CAAC,6BAAK,OAAOA,QAAO,SACjB,kBAAQ,IAAI,CAAC,UAAU;AACtB,YAAM,aAAa,MAAM,YAAY,MAAM,MAAM,YAAY;AAC7D,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,SAAS,MAAM,SAAS,KAAK;AAAA,UAC7B,OAAO;AAAA,YACLA,QAAO;AAAA,YACP,EAAE,iBAAiB,MAAM;AAAA,YACzB,cAAcA,QAAO;AAAA,UACvB;AAAA;AAAA,QANK;AAAA,MAOP;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;AAEA,IAAMA,UAAS,gCAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,gBAAgB,QAAQ;AAAA,EAC1B;AAAA,EACA,QAAQ;AAAA,IACN,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,cAAc,QAAQ;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,OAAO,OAAO;AAAA,IACd,eAAe;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AAAA,IACf,UAAU;AAAA,IACV,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,cAAc,aAAa;AAAA,IAC3B,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA,gBAAgB;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,WAAW,CAAC,EAAE,OAAO,IAAI,CAAC;AAAA,EAC5B;AACF,CAAC;","names":["import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles","import_react_native","import_jsx_runtime","styles"]}
|
package/dist/native.mjs
CHANGED
|
@@ -452,16 +452,16 @@ function ColorPicker({
|
|
|
452
452
|
"#1e293b"
|
|
453
453
|
],
|
|
454
454
|
label,
|
|
455
|
-
|
|
455
|
+
sublabel,
|
|
456
456
|
coord,
|
|
457
457
|
style,
|
|
458
458
|
labelStyle
|
|
459
459
|
}) {
|
|
460
460
|
return /* @__PURE__ */ jsxs5(View6, { style: [styles7.container, style], children: [
|
|
461
|
-
(label ||
|
|
461
|
+
(label || sublabel || coord) && /* @__PURE__ */ jsxs5(View6, { style: styles7.header, children: [
|
|
462
462
|
/* @__PURE__ */ jsxs5(View6, { style: styles7.labelGroup, children: [
|
|
463
463
|
label && /* @__PURE__ */ jsx7(Text5, { style: [styles7.label, labelStyle], children: label }),
|
|
464
|
-
|
|
464
|
+
sublabel && /* @__PURE__ */ jsx7(Text5, { style: styles7.sublabel, children: sublabel }),
|
|
465
465
|
coord && /* @__PURE__ */ jsxs5(Text5, { style: styles7.coord, children: [
|
|
466
466
|
"[",
|
|
467
467
|
coord,
|
|
@@ -509,7 +509,7 @@ var styles7 = StyleSheet7.create({
|
|
|
509
509
|
color: colors.text1,
|
|
510
510
|
textTransform: "uppercase"
|
|
511
511
|
},
|
|
512
|
-
|
|
512
|
+
sublabel: {
|
|
513
513
|
fontSize: 10,
|
|
514
514
|
color: colors.text3
|
|
515
515
|
},
|
package/dist/native.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/native/Button.tsx","../src/native/BracketCard.tsx","../src/native/Badge.tsx","../src/native/Dot.tsx","../src/native/TechLabel.tsx","../src/native/CyberSwitch.tsx","../src/native/ColorPicker.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Pressable,\n Text,\n StyleSheet,\n type PressableProps,\n type StyleProp,\n type ViewStyle,\n type TextStyle,\n} from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeButtonProps extends Omit<PressableProps, 'style'> {\n label?: string;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n variant?: 'primary' | 'outline' | 'ghost' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n}\n\nexport function Button({\n label,\n icon,\n children,\n variant = 'outline',\n size = 'md',\n style,\n textStyle,\n disabled,\n ...props\n}: NativeButtonProps) {\n return (\n <Pressable\n disabled={disabled}\n style={({ pressed }) => [\n styles.base,\n styles[variant],\n styles[`size_${size}`],\n pressed && !disabled && styles.pressed,\n disabled && styles.disabled,\n style,\n ]}\n {...props}\n >\n {icon && <>{icon}</>}\n {children ? (\n children\n ) : label ? (\n <Text\n style={[\n styles.text,\n styles[`text_${variant}`],\n styles[`textSize_${size}`],\n disabled && styles.textDisabled,\n icon ? styles.textWithIcon : null,\n textStyle,\n ]}\n >\n {label}\n </Text>\n ) : null}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n borderRadius: borderRadius.sm,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row',\n gap: spacing.xs,\n },\n size_sm: {\n paddingVertical: spacing.xs,\n paddingHorizontal: spacing.sm,\n },\n size_md: {\n paddingVertical: spacing.sm,\n paddingHorizontal: spacing.lg,\n },\n size_lg: {\n paddingVertical: spacing.md,\n paddingHorizontal: spacing.xl,\n },\n primary: {\n backgroundColor: colors.accent,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.accent,\n backgroundColor: 'transparent',\n },\n ghost: {\n backgroundColor: 'transparent',\n },\n danger: {\n backgroundColor: colors.danger,\n },\n pressed: {\n opacity: 0.75,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n fontFamily: 'monospace',\n fontWeight: '600',\n },\n textWithIcon: {\n marginLeft: 2,\n },\n textSize_sm: {\n fontSize: 12,\n },\n textSize_md: {\n fontSize: 14,\n },\n textSize_lg: {\n fontSize: 16,\n },\n text_primary: {\n color: colors.bg0,\n },\n text_outline: {\n color: colors.accent,\n },\n text_ghost: {\n color: colors.text0,\n },\n text_danger: {\n color: '#ffffff',\n },\n textDisabled: {\n color: colors.textMuted,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewProps, type StyleProp, type ViewStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBracketCardProps extends ViewProps {\n active?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function BracketCard({\n active = false,\n style,\n children,\n ...props\n}: NativeBracketCardProps) {\n return (\n <View\n style={[\n styles.card,\n active && styles.active,\n style,\n ]}\n {...props}\n >\n <View style={[styles.corner, styles.cornerTL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerTR, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBR, active && styles.cornerActive]} />\n {children}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n card: {\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderColor: colors.borderSubtle,\n borderRadius: borderRadius.md,\n padding: spacing.md,\n position: 'relative',\n },\n active: {\n borderColor: colors.accent,\n },\n corner: {\n position: 'absolute',\n width: 6,\n height: 6,\n borderColor: colors.textDim,\n },\n cornerActive: {\n borderColor: colors.accent,\n },\n cornerTL: {\n top: -1,\n left: -1,\n borderTopWidth: 2,\n borderLeftWidth: 2,\n },\n cornerTR: {\n top: -1,\n right: -1,\n borderTopWidth: 2,\n borderRightWidth: 2,\n },\n cornerBL: {\n bottom: -1,\n left: -1,\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n },\n cornerBR: {\n bottom: -1,\n right: -1,\n borderBottomWidth: 2,\n borderRightWidth: 2,\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBadgeProps {\n label: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Badge({ label, variant = 'default', style }: NativeBadgeProps) {\n return (\n <View style={[styles.badge, styles[variant], style]}>\n <Text style={[styles.text, styles[`text_${variant}`]]}>{label}</Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n badge: {\n paddingHorizontal: spacing.sm,\n paddingVertical: 2,\n borderRadius: borderRadius.sm,\n alignSelf: 'flex-start',\n },\n default: {\n backgroundColor: colors.borderSubtle,\n },\n accent: {\n backgroundColor: colors.accentDim,\n borderWidth: 1,\n borderColor: colors.accent,\n },\n teal: {\n backgroundColor: colors.tealDim,\n borderWidth: 1,\n borderColor: colors.teal,\n },\n purple: {\n backgroundColor: 'rgba(168, 85, 247, 0.15)',\n borderWidth: 1,\n borderColor: colors.purple,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.borderLight,\n backgroundColor: 'transparent',\n },\n text: {\n fontSize: 11,\n fontFamily: 'monospace',\n fontWeight: '700',\n textTransform: 'uppercase',\n },\n text_default: {\n color: colors.text1,\n },\n text_accent: {\n color: colors.accent,\n },\n text_teal: {\n color: colors.teal,\n },\n text_purple: {\n color: colors.purple,\n },\n text_outline: {\n color: colors.textDim,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors } from '../tokens';\n\nexport interface NativeDotProps {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Dot({ color = 'accent', size = 6, style }: NativeDotProps) {\n const colorMap = {\n accent: colors.accent,\n green: colors.success,\n red: colors.danger,\n teal: colors.teal,\n purple: colors.purple,\n };\n\n return (\n <View\n style={[\n styles.dot,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: colorMap[color],\n },\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n dot: {\n alignSelf: 'center',\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeTechLabelProps {\n label: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function TechLabel({ label, jp, coord, style }: NativeTechLabelProps) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.label}>{label}</Text>\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 12,\n color: colors.text0,\n fontWeight: '700',\n letterSpacing: 0.5,\n },\n jp: {\n fontSize: 11,\n color: colors.text2,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 10,\n color: colors.accent,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeCyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: string;\n sublabel?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n style,\n}: NativeCyberSwitchProps) {\n return (\n <Pressable\n disabled={disabled}\n onPress={() => onChange(!checked)}\n style={[styles.container, disabled && styles.disabled, style]}\n >\n <View style={[styles.track, checked && styles.trackChecked]}>\n <Text style={[styles.bitText, styles.bitLeft]}>{checked ? '1' : ''}</Text>\n <View style={[styles.thumb, checked ? styles.thumbChecked : styles.thumbUnchecked]} />\n <Text style={[styles.bitText, styles.bitRight]}>{!checked ? '0' : ''}</Text>\n </View>\n {(label || sublabel) && (\n <View style={styles.textGroup}>\n {label && <Text style={styles.label}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n </View>\n )}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.sm,\n },\n disabled: {\n opacity: 0.4,\n },\n track: {\n width: 48,\n height: 24,\n borderRadius: borderRadius.sm,\n backgroundColor: colors.bg1,\n borderWidth: 1,\n borderColor: colors.border,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 3,\n position: 'relative',\n },\n trackChecked: {\n borderColor: colors.accent,\n backgroundColor: colors.accentDim,\n },\n thumb: {\n width: 18,\n height: 18,\n borderRadius: borderRadius.sm - 2,\n backgroundColor: colors.borderLight,\n position: 'absolute',\n },\n thumbUnchecked: {\n left: 2,\n },\n thumbChecked: {\n right: 2,\n backgroundColor: colors.accent,\n },\n bitText: {\n fontFamily: 'monospace',\n fontSize: 9,\n fontWeight: '700',\n color: colors.text2,\n },\n bitLeft: {\n marginLeft: 3,\n },\n bitRight: {\n marginRight: 3,\n },\n textGroup: {\n flexDirection: 'column',\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 13,\n color: colors.text0,\n fontWeight: '600',\n },\n sublabel: {\n fontSize: 11,\n color: colors.text2,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, StyleProp, ViewStyle, TextStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeColorPickerProps {\n value: string;\n onChange: (color: string) => void;\n presets?: string[];\n label?: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n presets = [\n '#000000', '#ffffff', '#c49368', '#6a9e9e', '#a855f7',\n '#3b82f6', '#22c55e', '#ef4444', '#eab308', '#ec4899',\n '#64748b', '#1e293b'\n ],\n label,\n jp,\n coord,\n style,\n labelStyle,\n}: NativeColorPickerProps) {\n return (\n <View style={[styles.container, style]}>\n {(label || jp || coord) && (\n <View style={styles.header}>\n <View style={styles.labelGroup}>\n {label && <Text style={[styles.label, labelStyle]}>{label}</Text>}\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n <Text style={styles.hexValue}>{value.toUpperCase()}</Text>\n </View>\n )}\n\n <View style={styles.palette}>\n {presets.map((color) => {\n const isSelected = value.toLowerCase() === color.toLowerCase();\n return (\n <Pressable\n key={color}\n onPress={() => onChange(color)}\n style={[\n styles.swatch,\n { backgroundColor: color },\n isSelected && styles.swatchSelected,\n ]}\n />\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n marginVertical: spacing.sm,\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'baseline',\n marginBottom: spacing.xs,\n },\n labelGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 11,\n fontWeight: '700',\n color: colors.text1,\n textTransform: 'uppercase',\n },\n jp: {\n fontSize: 10,\n color: colors.text3,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 9,\n color: colors.accent,\n },\n hexValue: {\n fontFamily: 'monospace',\n fontSize: 11,\n color: colors.accent,\n fontWeight: '700',\n },\n palette: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: spacing.xs,\n },\n swatch: {\n width: 28,\n height: 28,\n borderRadius: borderRadius.sm,\n borderWidth: 1,\n borderColor: 'rgba(255, 255, 255, 0.2)',\n },\n swatchSelected: {\n borderColor: '#ffffff',\n borderWidth: 2,\n transform: [{ scale: 1.1 }],\n },\n});\n"],"mappings":"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","names":["StyleSheet","jsx","jsxs","styles","StyleSheet","View","Text","StyleSheet","jsx","View","styles","Text","StyleSheet","View","StyleSheet","jsx","View","styles","StyleSheet","View","Text","StyleSheet","jsx","jsxs","View","styles","Text","StyleSheet","View","Text","Pressable","StyleSheet","jsx","jsxs","Pressable","styles","View","Text","StyleSheet","View","Text","Pressable","StyleSheet","jsx","jsxs","View","styles","Text","Pressable","StyleSheet"]}
|
|
1
|
+
{"version":3,"sources":["../src/native/Button.tsx","../src/native/BracketCard.tsx","../src/native/Badge.tsx","../src/native/Dot.tsx","../src/native/TechLabel.tsx","../src/native/CyberSwitch.tsx","../src/native/ColorPicker.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Pressable,\n Text,\n StyleSheet,\n type PressableProps,\n type StyleProp,\n type ViewStyle,\n type TextStyle,\n} from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeButtonProps extends Omit<PressableProps, 'style'> {\n label?: string;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n variant?: 'primary' | 'outline' | 'ghost' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n}\n\nexport function Button({\n label,\n icon,\n children,\n variant = 'outline',\n size = 'md',\n style,\n textStyle,\n disabled,\n ...props\n}: NativeButtonProps) {\n return (\n <Pressable\n disabled={disabled}\n style={({ pressed }) => [\n styles.base,\n styles[variant],\n styles[`size_${size}`],\n pressed && !disabled && styles.pressed,\n disabled && styles.disabled,\n style,\n ]}\n {...props}\n >\n {icon && <>{icon}</>}\n {children ? (\n children\n ) : label ? (\n <Text\n style={[\n styles.text,\n styles[`text_${variant}`],\n styles[`textSize_${size}`],\n disabled && styles.textDisabled,\n icon ? styles.textWithIcon : null,\n textStyle,\n ]}\n >\n {label}\n </Text>\n ) : null}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n borderRadius: borderRadius.sm,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row',\n gap: spacing.xs,\n },\n size_sm: {\n paddingVertical: spacing.xs,\n paddingHorizontal: spacing.sm,\n },\n size_md: {\n paddingVertical: spacing.sm,\n paddingHorizontal: spacing.lg,\n },\n size_lg: {\n paddingVertical: spacing.md,\n paddingHorizontal: spacing.xl,\n },\n primary: {\n backgroundColor: colors.accent,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.accent,\n backgroundColor: 'transparent',\n },\n ghost: {\n backgroundColor: 'transparent',\n },\n danger: {\n backgroundColor: colors.danger,\n },\n pressed: {\n opacity: 0.75,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n fontFamily: 'monospace',\n fontWeight: '600',\n },\n textWithIcon: {\n marginLeft: 2,\n },\n textSize_sm: {\n fontSize: 12,\n },\n textSize_md: {\n fontSize: 14,\n },\n textSize_lg: {\n fontSize: 16,\n },\n text_primary: {\n color: colors.bg0,\n },\n text_outline: {\n color: colors.accent,\n },\n text_ghost: {\n color: colors.text0,\n },\n text_danger: {\n color: '#ffffff',\n },\n textDisabled: {\n color: colors.textMuted,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewProps, type StyleProp, type ViewStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBracketCardProps extends ViewProps {\n active?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function BracketCard({\n active = false,\n style,\n children,\n ...props\n}: NativeBracketCardProps) {\n return (\n <View\n style={[\n styles.card,\n active && styles.active,\n style,\n ]}\n {...props}\n >\n <View style={[styles.corner, styles.cornerTL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerTR, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBL, active && styles.cornerActive]} />\n <View style={[styles.corner, styles.cornerBR, active && styles.cornerActive]} />\n {children}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n card: {\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderColor: colors.borderSubtle,\n borderRadius: borderRadius.md,\n padding: spacing.md,\n position: 'relative',\n },\n active: {\n borderColor: colors.accent,\n },\n corner: {\n position: 'absolute',\n width: 6,\n height: 6,\n borderColor: colors.textDim,\n },\n cornerActive: {\n borderColor: colors.accent,\n },\n cornerTL: {\n top: -1,\n left: -1,\n borderTopWidth: 2,\n borderLeftWidth: 2,\n },\n cornerTR: {\n top: -1,\n right: -1,\n borderTopWidth: 2,\n borderRightWidth: 2,\n },\n cornerBL: {\n bottom: -1,\n left: -1,\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n },\n cornerBR: {\n bottom: -1,\n right: -1,\n borderBottomWidth: 2,\n borderRightWidth: 2,\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeBadgeProps {\n label: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Badge({ label, variant = 'default', style }: NativeBadgeProps) {\n return (\n <View style={[styles.badge, styles[variant], style]}>\n <Text style={[styles.text, styles[`text_${variant}`]]}>{label}</Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n badge: {\n paddingHorizontal: spacing.sm,\n paddingVertical: 2,\n borderRadius: borderRadius.sm,\n alignSelf: 'flex-start',\n },\n default: {\n backgroundColor: colors.borderSubtle,\n },\n accent: {\n backgroundColor: colors.accentDim,\n borderWidth: 1,\n borderColor: colors.accent,\n },\n teal: {\n backgroundColor: colors.tealDim,\n borderWidth: 1,\n borderColor: colors.teal,\n },\n purple: {\n backgroundColor: 'rgba(168, 85, 247, 0.15)',\n borderWidth: 1,\n borderColor: colors.purple,\n },\n outline: {\n borderWidth: 1,\n borderColor: colors.borderLight,\n backgroundColor: 'transparent',\n },\n text: {\n fontSize: 11,\n fontFamily: 'monospace',\n fontWeight: '700',\n textTransform: 'uppercase',\n },\n text_default: {\n color: colors.text1,\n },\n text_accent: {\n color: colors.accent,\n },\n text_teal: {\n color: colors.teal,\n },\n text_purple: {\n color: colors.purple,\n },\n text_outline: {\n color: colors.textDim,\n },\n});\n","import React from 'react';\nimport { View, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors } from '../tokens';\n\nexport interface NativeDotProps {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Dot({ color = 'accent', size = 6, style }: NativeDotProps) {\n const colorMap = {\n accent: colors.accent,\n green: colors.success,\n red: colors.danger,\n teal: colors.teal,\n purple: colors.purple,\n };\n\n return (\n <View\n style={[\n styles.dot,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: colorMap[color],\n },\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n dot: {\n alignSelf: 'center',\n },\n});\n","import React from 'react';\nimport { View, Text, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeTechLabelProps {\n label: string;\n jp?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function TechLabel({ label, jp, coord, style }: NativeTechLabelProps) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.label}>{label}</Text>\n {jp && <Text style={styles.jp}>{jp}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 12,\n color: colors.text0,\n fontWeight: '700',\n letterSpacing: 0.5,\n },\n jp: {\n fontSize: 11,\n color: colors.text2,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 10,\n color: colors.accent,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, type ViewStyle, type StyleProp } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeCyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: string;\n sublabel?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n style,\n}: NativeCyberSwitchProps) {\n return (\n <Pressable\n disabled={disabled}\n onPress={() => onChange(!checked)}\n style={[styles.container, disabled && styles.disabled, style]}\n >\n <View style={[styles.track, checked && styles.trackChecked]}>\n <Text style={[styles.bitText, styles.bitLeft]}>{checked ? '1' : ''}</Text>\n <View style={[styles.thumb, checked ? styles.thumbChecked : styles.thumbUnchecked]} />\n <Text style={[styles.bitText, styles.bitRight]}>{!checked ? '0' : ''}</Text>\n </View>\n {(label || sublabel) && (\n <View style={styles.textGroup}>\n {label && <Text style={styles.label}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n </View>\n )}\n </Pressable>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.sm,\n },\n disabled: {\n opacity: 0.4,\n },\n track: {\n width: 48,\n height: 24,\n borderRadius: borderRadius.sm,\n backgroundColor: colors.bg1,\n borderWidth: 1,\n borderColor: colors.border,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 3,\n position: 'relative',\n },\n trackChecked: {\n borderColor: colors.accent,\n backgroundColor: colors.accentDim,\n },\n thumb: {\n width: 18,\n height: 18,\n borderRadius: borderRadius.sm - 2,\n backgroundColor: colors.borderLight,\n position: 'absolute',\n },\n thumbUnchecked: {\n left: 2,\n },\n thumbChecked: {\n right: 2,\n backgroundColor: colors.accent,\n },\n bitText: {\n fontFamily: 'monospace',\n fontSize: 9,\n fontWeight: '700',\n color: colors.text2,\n },\n bitLeft: {\n marginLeft: 3,\n },\n bitRight: {\n marginRight: 3,\n },\n textGroup: {\n flexDirection: 'column',\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 13,\n color: colors.text0,\n fontWeight: '600',\n },\n sublabel: {\n fontSize: 11,\n color: colors.text2,\n },\n});\n","import React from 'react';\nimport { View, Text, Pressable, StyleSheet, StyleProp, ViewStyle, TextStyle } from 'react-native';\nimport { colors, spacing, borderRadius } from '../tokens';\n\nexport interface NativeColorPickerProps {\n value: string;\n onChange: (color: string) => void;\n presets?: string[];\n label?: string;\n sublabel?: string;\n coord?: string;\n style?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n presets = [\n '#000000', '#ffffff', '#c49368', '#6a9e9e', '#a855f7',\n '#3b82f6', '#22c55e', '#ef4444', '#eab308', '#ec4899',\n '#64748b', '#1e293b'\n ],\n label,\n sublabel,\n coord,\n style,\n labelStyle,\n}: NativeColorPickerProps) {\n return (\n <View style={[styles.container, style]}>\n {(label || sublabel || coord) && (\n <View style={styles.header}>\n <View style={styles.labelGroup}>\n {label && <Text style={[styles.label, labelStyle]}>{label}</Text>}\n {sublabel && <Text style={styles.sublabel}>{sublabel}</Text>}\n {coord && <Text style={styles.coord}>[{coord}]</Text>}\n </View>\n <Text style={styles.hexValue}>{value.toUpperCase()}</Text>\n </View>\n )}\n\n <View style={styles.palette}>\n {presets.map((color) => {\n const isSelected = value.toLowerCase() === color.toLowerCase();\n return (\n <Pressable\n key={color}\n onPress={() => onChange(color)}\n style={[\n styles.swatch,\n { backgroundColor: color },\n isSelected && styles.swatchSelected,\n ]}\n />\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n marginVertical: spacing.sm,\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'baseline',\n marginBottom: spacing.xs,\n },\n labelGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: spacing.xs,\n },\n label: {\n fontFamily: 'monospace',\n fontSize: 11,\n fontWeight: '700',\n color: colors.text1,\n textTransform: 'uppercase',\n },\n sublabel: {\n fontSize: 10,\n color: colors.text3,\n },\n coord: {\n fontFamily: 'monospace',\n fontSize: 9,\n color: colors.accent,\n },\n hexValue: {\n fontFamily: 'monospace',\n fontSize: 11,\n color: colors.accent,\n fontWeight: '700',\n },\n palette: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: spacing.xs,\n },\n swatch: {\n width: 28,\n height: 28,\n borderRadius: borderRadius.sm,\n borderWidth: 1,\n borderColor: 'rgba(255, 255, 255, 0.2)',\n },\n swatchSelected: {\n borderColor: '#ffffff',\n borderWidth: 2,\n transform: [{ scale: 1.1 }],\n },\n});\n"],"mappings":"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","names":["StyleSheet","jsx","jsxs","styles","StyleSheet","View","Text","StyleSheet","jsx","View","styles","Text","StyleSheet","View","StyleSheet","jsx","View","styles","StyleSheet","View","Text","StyleSheet","jsx","jsxs","View","styles","Text","StyleSheet","View","Text","Pressable","StyleSheet","jsx","jsxs","Pressable","styles","View","Text","StyleSheet","View","Text","Pressable","StyleSheet","jsx","jsxs","View","styles","Text","Pressable","StyleSheet"]}
|
package/package.json
CHANGED