@scripso-homepad/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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/icons/arrowUpRightPath.ts","../src/icons/ArrowUpRightIcon.tsx","../src/components/Button.tsx","../src/data/countries.ts","../src/icons/chevronDownPath.ts","../src/icons/ChevronDownIcon.tsx","../src/utils/countryFlag.ts","../src/utils/countryDropdownScrollStyles.ts","../src/components/CountryCodeSelector.tsx","../src/components/PhoneInput.tsx"],"names":["jsx","Svg","Path","Platform","useRef","jsxs","styles","Text","View","StyleSheet","useState"],"mappings":"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","file":"index.js","sourcesContent":["export const ARROW_UP_RIGHT_PATH =\n \"M14.1667 14.1668V5.8335H5.83333M14.1667 5.8335L5.83333 14.1668\";\n","import Svg, { Path } from \"react-native-svg\";\nimport { ARROW_UP_RIGHT_PATH } from \"./arrowUpRightPath\";\n\nexport { ARROW_UP_RIGHT_PATH } from \"./arrowUpRightPath\";\n\ninterface ArrowUpRightIconProps {\n size?: number;\n color?: string;\n strokeWidth?: number;\n}\n\n/** Native — react-native-svg (peer dependency). */\nexport function ArrowUpRightIcon({\n size = 20,\n color = \"#08275d\",\n strokeWidth = 2,\n}: ArrowUpRightIconProps) {\n return (\n <Svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\">\n <Path\n d={ARROW_UP_RIGHT_PATH}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n}\n","import { useRef, type ComponentRef, type ReactNode } from \"react\";\nimport {\n Platform,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n type GestureResponderEvent,\n type StyleProp,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { ArrowUpRightIcon } from \"../icons/ArrowUpRightIcon\";\nimport { colors, buttonTypography } from \"../theme/tokens\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nexport type ButtonVariant = \"white\" | \"primary\" | \"green\" | \"gray\";\nexport type ButtonSize = \"lg\" | \"sm\";\n\nexport interface ButtonProps {\n title?: string;\n children?: ReactNode;\n onPress: (event: GestureResponderEvent) => void;\n disabled?: boolean;\n variant?: ButtonVariant;\n size?: ButtonSize;\n showIcon?: boolean;\n /** Custom icon inside the badge. Defaults to `ArrowUpRightIcon` when `showIcon` is true. */\n icon?: ReactNode;\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n className?: string;\n textClassName?: string;\n}\n\ntype VariantStyleSet = {\n backgroundColor: string;\n textColor: string;\n iconBadgeBackgroundColor: string;\n iconColor: string;\n};\n\nconst variantConfig: Record<ButtonVariant, VariantStyleSet> = {\n white: {\n backgroundColor: colors.white,\n textColor: colors.slateBlue,\n iconBadgeBackgroundColor: colors.stormGray150,\n iconColor: colors.navy,\n },\n primary: {\n backgroundColor: colors.navy,\n textColor: colors.stormGray0,\n iconBadgeBackgroundColor: colors.white,\n iconColor: colors.navy,\n },\n green: {\n backgroundColor: colors.green,\n textColor: colors.stormGray0,\n iconBadgeBackgroundColor: colors.white,\n iconColor: colors.green,\n },\n gray: {\n backgroundColor: colors.stormGray50,\n textColor: colors.slateBlue,\n iconBadgeBackgroundColor: colors.stormGray150,\n iconColor: colors.navy,\n },\n};\n\nconst sizeConfig = {\n lg: {\n borderRadius: 16,\n paddingTop: 8,\n paddingRight: 8,\n paddingBottom: 8,\n paddingLeft: 24,\n paddingHorizontalCentered: 24,\n minHeight: 52,\n text: buttonTypography.lg,\n iconContainerSize: 36,\n iconContainerRadius: 12,\n iconContainerPadding: 8,\n iconSize: 20,\n },\n sm: {\n borderRadius: 12,\n paddingTop: 8,\n paddingRight: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingHorizontalCentered: 16,\n minHeight: 48,\n text: buttonTypography.sm,\n iconContainerSize: 32,\n iconContainerRadius: 8,\n iconContainerPadding: 8,\n iconSize: 16,\n },\n} as const;\n\nexport function Button({\n title,\n children,\n onPress,\n disabled = false,\n variant = \"primary\",\n size = \"lg\",\n showIcon = false,\n icon,\n style,\n textStyle,\n className,\n textClassName,\n}: ButtonProps) {\n const containerRef = useRef<ComponentRef<typeof TouchableOpacity>>(null);\n const textRef = useRef<ComponentRef<typeof Text>>(null);\n const preset = variantConfig[variant];\n const metrics = sizeConfig[size];\n\n useApplyWebClassName(containerRef, className);\n useApplyWebClassName(textRef, textClassName);\n\n const label = typeof children !== \"undefined\" ? children : title;\n const hasCustomChildren = typeof children !== \"undefined\";\n const customIcon =\n icon != null && typeof icon !== \"boolean\" ? icon : undefined;\n const hasIcon = showIcon || icon === true || customIcon != null;\n const iconNode =\n customIcon ?? (\n <ArrowUpRightIcon size={metrics.iconSize} color={preset.iconColor} />\n );\n\n const containerStyle = [\n styles.base,\n {\n borderRadius: metrics.borderRadius,\n backgroundColor: preset.backgroundColor,\n minHeight: metrics.minHeight,\n paddingTop: metrics.paddingTop,\n paddingBottom: metrics.paddingBottom,\n paddingLeft: hasIcon ? metrics.paddingLeft : metrics.paddingHorizontalCentered,\n paddingRight: hasIcon ? metrics.paddingRight : metrics.paddingHorizontalCentered,\n },\n hasIcon ? styles.withIcon : styles.centered,\n disabled && styles.disabled,\n style,\n ];\n\n const labelStyle = [\n styles.label,\n metrics.text,\n { color: preset.textColor },\n Platform.OS === \"android\" ? styles.labelAndroid : null,\n !hasIcon && styles.labelCentered,\n hasIcon && styles.labelWithIcon,\n textStyle,\n ];\n\n return (\n <TouchableOpacity\n ref={containerRef}\n style={containerStyle}\n onPress={onPress}\n disabled={disabled}\n activeOpacity={0.7}\n accessibilityRole=\"button\"\n accessibilityState={{ disabled }}\n >\n {hasCustomChildren ? (\n children\n ) : (\n <Text ref={textRef} style={labelStyle}>\n {label}\n </Text>\n )}\n\n {hasIcon ? (\n <View\n style={[\n styles.iconContainer,\n {\n width: metrics.iconContainerSize,\n height: metrics.iconContainerSize,\n borderRadius: metrics.iconContainerRadius,\n padding: metrics.iconContainerPadding,\n backgroundColor: preset.iconBadgeBackgroundColor,\n },\n ]}\n >\n {iconNode}\n </View>\n ) : null}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n flexDirection: \"row\",\n alignItems: \"center\",\n borderWidth: 0,\n },\n centered: {\n justifyContent: \"center\",\n },\n withIcon: {\n justifyContent: \"space-between\",\n },\n disabled: {\n opacity: 0.6,\n },\n label: {},\n labelAndroid: {\n includeFontPadding: false,\n },\n labelCentered: {\n textAlign: \"center\",\n },\n labelWithIcon: {\n flex: 1,\n flexShrink: 1,\n marginRight: 8,\n },\n iconContainer: {\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n },\n});\n","export type Country = {\n code: string;\n name: string;\n dialCode: string;\n};\n\nexport const defaultCountry: Country = {\n code: \"AM\",\n name: \"Armenia\",\n dialCode: \"+374\",\n};\n\nexport const countries: Country[] = [\n defaultCountry,\n { code: \"AF\", name: \"Afghanistan\", dialCode: \"+93\" },\n { code: \"AL\", name: \"Albania\", dialCode: \"+355\" },\n { code: \"DZ\", name: \"Algeria\", dialCode: \"+213\" },\n { code: \"AR\", name: \"Argentina\", dialCode: \"+54\" },\n { code: \"AU\", name: \"Australia\", dialCode: \"+61\" },\n { code: \"AT\", name: \"Austria\", dialCode: \"+43\" },\n { code: \"AZ\", name: \"Azerbaijan\", dialCode: \"+994\" },\n { code: \"BH\", name: \"Bahrain\", dialCode: \"+973\" },\n { code: \"BY\", name: \"Belarus\", dialCode: \"+375\" },\n { code: \"BE\", name: \"Belgium\", dialCode: \"+32\" },\n { code: \"BR\", name: \"Brazil\", dialCode: \"+55\" },\n { code: \"BG\", name: \"Bulgaria\", dialCode: \"+359\" },\n { code: \"CA\", name: \"Canada\", dialCode: \"+1\" },\n { code: \"CL\", name: \"Chile\", dialCode: \"+56\" },\n { code: \"CN\", name: \"China\", dialCode: \"+86\" },\n { code: \"CO\", name: \"Colombia\", dialCode: \"+57\" },\n { code: \"HR\", name: \"Croatia\", dialCode: \"+385\" },\n { code: \"CY\", name: \"Cyprus\", dialCode: \"+357\" },\n { code: \"CZ\", name: \"Czech Republic\", dialCode: \"+420\" },\n { code: \"DK\", name: \"Denmark\", dialCode: \"+45\" },\n { code: \"EG\", name: \"Egypt\", dialCode: \"+20\" },\n { code: \"EE\", name: \"Estonia\", dialCode: \"+372\" },\n { code: \"FI\", name: \"Finland\", dialCode: \"+358\" },\n { code: \"FR\", name: \"France\", dialCode: \"+33\" },\n { code: \"GE\", name: \"Georgia\", dialCode: \"+995\" },\n { code: \"DE\", name: \"Germany\", dialCode: \"+49\" },\n { code: \"GR\", name: \"Greece\", dialCode: \"+30\" },\n { code: \"HK\", name: \"Hong Kong\", dialCode: \"+852\" },\n { code: \"HU\", name: \"Hungary\", dialCode: \"+36\" },\n { code: \"IN\", name: \"India\", dialCode: \"+91\" },\n { code: \"ID\", name: \"Indonesia\", dialCode: \"+62\" },\n { code: \"IR\", name: \"Iran\", dialCode: \"+98\" },\n { code: \"IQ\", name: \"Iraq\", dialCode: \"+964\" },\n { code: \"IE\", name: \"Ireland\", dialCode: \"+353\" },\n { code: \"IL\", name: \"Israel\", dialCode: \"+972\" },\n { code: \"IT\", name: \"Italy\", dialCode: \"+39\" },\n { code: \"JP\", name: \"Japan\", dialCode: \"+81\" },\n { code: \"JO\", name: \"Jordan\", dialCode: \"+962\" },\n { code: \"KZ\", name: \"Kazakhstan\", dialCode: \"+7\" },\n { code: \"KW\", name: \"Kuwait\", dialCode: \"+965\" },\n { code: \"LV\", name: \"Latvia\", dialCode: \"+371\" },\n { code: \"LB\", name: \"Lebanon\", dialCode: \"+961\" },\n { code: \"LT\", name: \"Lithuania\", dialCode: \"+370\" },\n { code: \"LU\", name: \"Luxembourg\", dialCode: \"+352\" },\n { code: \"MY\", name: \"Malaysia\", dialCode: \"+60\" },\n { code: \"MX\", name: \"Mexico\", dialCode: \"+52\" },\n { code: \"MD\", name: \"Moldova\", dialCode: \"+373\" },\n { code: \"NL\", name: \"Netherlands\", dialCode: \"+31\" },\n { code: \"NZ\", name: \"New Zealand\", dialCode: \"+64\" },\n { code: \"NG\", name: \"Nigeria\", dialCode: \"+234\" },\n { code: \"NO\", name: \"Norway\", dialCode: \"+47\" },\n { code: \"PK\", name: \"Pakistan\", dialCode: \"+92\" },\n { code: \"PS\", name: \"Palestine\", dialCode: \"+970\" },\n { code: \"PH\", name: \"Philippines\", dialCode: \"+63\" },\n { code: \"PL\", name: \"Poland\", dialCode: \"+48\" },\n { code: \"PT\", name: \"Portugal\", dialCode: \"+351\" },\n { code: \"QA\", name: \"Qatar\", dialCode: \"+974\" },\n { code: \"RO\", name: \"Romania\", dialCode: \"+40\" },\n { code: \"RU\", name: \"Russia\", dialCode: \"+7\" },\n { code: \"SA\", name: \"Saudi Arabia\", dialCode: \"+966\" },\n { code: \"RS\", name: \"Serbia\", dialCode: \"+381\" },\n { code: \"SG\", name: \"Singapore\", dialCode: \"+65\" },\n { code: \"SK\", name: \"Slovakia\", dialCode: \"+421\" },\n { code: \"SI\", name: \"Slovenia\", dialCode: \"+386\" },\n { code: \"ZA\", name: \"South Africa\", dialCode: \"+27\" },\n { code: \"KR\", name: \"South Korea\", dialCode: \"+82\" },\n { code: \"ES\", name: \"Spain\", dialCode: \"+34\" },\n { code: \"SE\", name: \"Sweden\", dialCode: \"+46\" },\n { code: \"CH\", name: \"Switzerland\", dialCode: \"+41\" },\n { code: \"SY\", name: \"Syria\", dialCode: \"+963\" },\n { code: \"TW\", name: \"Taiwan\", dialCode: \"+886\" },\n { code: \"TH\", name: \"Thailand\", dialCode: \"+66\" },\n { code: \"TR\", name: \"Turkey\", dialCode: \"+90\" },\n { code: \"UA\", name: \"Ukraine\", dialCode: \"+380\" },\n { code: \"AE\", name: \"United Arab Emirates\", dialCode: \"+971\" },\n { code: \"GB\", name: \"United Kingdom\", dialCode: \"+44\" },\n { code: \"US\", name: \"United States\", dialCode: \"+1\" },\n { code: \"UZ\", name: \"Uzbekistan\", dialCode: \"+998\" },\n { code: \"VN\", name: \"Vietnam\", dialCode: \"+84\" },\n];\n\nexport function findCountry(code: string): Country {\n return countries.find((country) => country.code === code) ?? defaultCountry;\n}\n","export const CHEVRON_DOWN_PATH = \"M4 6L8 10L12 6\";\n","import Svg, { Path } from \"react-native-svg\";\nimport { CHEVRON_DOWN_PATH } from \"./chevronDownPath\";\n\nexport { CHEVRON_DOWN_PATH } from \"./chevronDownPath\";\n\ninterface ChevronDownIconProps {\n size?: number;\n color?: string;\n strokeWidth?: number;\n}\n\n/** Native — react-native-svg (peer dependency). */\nexport function ChevronDownIcon({\n size = 16,\n color = \"#dadde0\",\n strokeWidth = 2,\n}: ChevronDownIconProps) {\n return (\n <Svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\">\n <Path\n d={CHEVRON_DOWN_PATH}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n}\n","/** ISO 3166-1 alpha-2 country code → flag emoji (cross-platform). */\nexport function countryCodeToFlagEmoji(code: string): string {\n const upper = code.trim().toUpperCase();\n if (upper.length !== 2) return \"\";\n\n return String.fromCodePoint(\n ...upper.split(\"\").map((char) => 0x1f1e6 - 65 + char.charCodeAt(0)),\n );\n}\n","import { Platform } from \"react-native\";\nimport { colors } from \"../theme/tokens\";\n\nexport const COUNTRY_DROPDOWN_SCROLL_CLASS = \"hp-country-dropdown-scroll\";\n\nconst STYLE_ID = \"hp-country-dropdown-scroll-styles\";\n\nexport const countryDropdownScrollCss = `\n .${COUNTRY_DROPDOWN_SCROLL_CLASS} {\n scrollbar-width: thin;\n scrollbar-color: ${colors.stormGray300} transparent;\n overflow-y: auto;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar {\n width: 4px;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-corner {\n background: transparent;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:single-button,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:vertical:start:decrement,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:vertical:end:increment {\n display: none;\n width: 0;\n height: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-track {\n background: transparent;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-thumb {\n background-color: ${colors.stormGray300};\n border-radius: 9999px;\n }\n`;\n\nexport function ensureCountryDropdownScrollStyles(): void {\n if (Platform.OS !== \"web\" || typeof document === \"undefined\") return;\n if (document.getElementById(STYLE_ID)) return;\n\n const style = document.createElement(\"style\");\n style.id = STYLE_ID;\n style.textContent = countryDropdownScrollCss;\n document.head.appendChild(style);\n}\n","import { useRef, useState, useLayoutEffect, type ComponentRef } from \"react\";\nimport {\n Dimensions,\n Modal,\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text,\n View,\n type StyleProp,\n type ViewStyle,\n} from \"react-native\";\nimport {\n countries,\n defaultCountry,\n findCountry,\n type Country,\n} from \"../data/countries\";\nimport { ChevronDownIcon } from \"../icons/ChevronDownIcon\";\nimport { colors, fontSize, fontWeight, radii, spacing, fonts } from \"../theme/tokens\";\nimport { countryCodeToFlagEmoji } from \"../utils/countryFlag\";\nimport {\n COUNTRY_DROPDOWN_SCROLL_CLASS,\n ensureCountryDropdownScrollStyles,\n} from \"../utils/countryDropdownScrollStyles\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nconst DROPDOWN_GAP = 10;\nconst DROPDOWN_HEIGHT = 186;\nconst DROPDOWN_PADDING = 8;\nconst OPTION_GAP = 10;\nconst OPTION_HEIGHT = 35;\nconst TRIGGER_HEIGHT = 52;\nconst CHEVRON_SIZE = 16;\n\nexport interface CountryCodeSelectorProps {\n value?: string;\n onValueChange?: (countryCode: string) => void;\n /** Country list (defaults to built-in list). */\n options?: Country[];\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n className?: string;\n}\n\ntype AnchorLayout = {\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\nfunction resolveDropdownTop(anchor: AnchorLayout): number {\n const windowHeight = Dimensions.get(\"window\").height;\n const topBelow = anchor.y + anchor.height + DROPDOWN_GAP;\n const topAbove = anchor.y - DROPDOWN_GAP - DROPDOWN_HEIGHT;\n const fitsBelow = topBelow + DROPDOWN_HEIGHT <= windowHeight;\n\n if (fitsBelow) return topBelow;\n if (topAbove >= 0) return topAbove;\n\n return Math.max(0, Math.min(topBelow, windowHeight - DROPDOWN_HEIGHT));\n}\n\nexport function CountryCodeSelector({\n value = defaultCountry.code,\n onValueChange,\n options = countries,\n disabled = false,\n style,\n className,\n}: CountryCodeSelectorProps) {\n const wrapperRef = useRef<ComponentRef<typeof View>>(null);\n const triggerRef = useRef<ComponentRef<typeof Pressable>>(null);\n const scrollRef = useRef<ComponentRef<typeof ScrollView>>(null);\n const [open, setOpen] = useState(false);\n const [anchor, setAnchor] = useState<AnchorLayout | null>(null);\n\n useApplyWebClassName(wrapperRef, className);\n useApplyWebClassName(\n scrollRef,\n COUNTRY_DROPDOWN_SCROLL_CLASS,\n open && Boolean(anchor),\n );\n\n useLayoutEffect(() => {\n ensureCountryDropdownScrollStyles();\n }, []);\n\n const selected = findCountry(value);\n const textColor = disabled ? colors.stormGray200 : colors.slateBlue;\n\n function closeDropdown() {\n setOpen(false);\n setAnchor(null);\n }\n\n function handleOpen() {\n if (disabled) return;\n\n triggerRef.current?.measureInWindow((x, y, width, height) => {\n setAnchor({ x, y, width, height });\n setOpen(true);\n });\n }\n\n function handleSelect(code: string) {\n onValueChange?.(code);\n closeDropdown();\n }\n\n const dropdownTop = anchor ? resolveDropdownTop(anchor) : 0;\n\n const optionList = options.map((item, index) => {\n const isSelected = item.code === selected.code;\n const isLast = index === options.length - 1;\n return (\n <Pressable\n key={item.code}\n accessibilityRole=\"button\"\n onPress={() => handleSelect(item.code)}\n style={[\n styles.option,\n isSelected && styles.optionSelected,\n !isLast && styles.optionSpacing,\n ]}\n >\n <Text style={styles.flag}>{countryCodeToFlagEmoji(item.code)}</Text>\n <Text style={styles.optionDialCode}>{item.dialCode}</Text>\n </Pressable>\n );\n });\n\n const dropdownList = (\n <ScrollView\n ref={scrollRef}\n style={styles.dropdownScroll}\n contentContainerStyle={styles.dropdownContent}\n keyboardShouldPersistTaps=\"handled\"\n showsVerticalScrollIndicator\n bounces={false}\n nestedScrollEnabled\n >\n {optionList}\n </ScrollView>\n );\n\n return (\n <View ref={wrapperRef} style={[styles.root, style]}>\n <Pressable\n ref={triggerRef}\n accessibilityRole=\"button\"\n disabled={disabled}\n onPress={handleOpen}\n style={[\n styles.trigger,\n disabled ? styles.triggerDisabled : styles.triggerEnabled,\n Platform.OS === \"web\" ? styles.triggerWeb : null,\n ]}\n >\n <Text style={styles.flag}>{countryCodeToFlagEmoji(selected.code)}</Text>\n <Text style={[styles.dialCode, { color: textColor }]}>{selected.dialCode}</Text>\n <ChevronDownIcon size={CHEVRON_SIZE} color={colors.stormGray100} />\n </Pressable>\n\n <Modal\n visible={open}\n transparent\n animationType=\"fade\"\n onRequestClose={closeDropdown}\n >\n <Pressable style={styles.overlay} onPress={closeDropdown}>\n {anchor ? (\n <View\n style={[\n styles.dropdown,\n {\n top: dropdownTop,\n left: anchor.x,\n width: anchor.width,\n },\n ]}\n >\n {dropdownList}\n </View>\n ) : null}\n </Pressable>\n </Modal>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n root: {\n alignSelf: \"flex-start\",\n flexShrink: 0,\n },\n trigger: {\n flexDirection: \"row\",\n alignItems: \"center\",\n alignSelf: \"flex-start\",\n flexGrow: 0,\n flexShrink: 0,\n height: TRIGGER_HEIGHT,\n borderRadius: radii.lg,\n borderWidth: 1,\n padding: spacing.lg,\n gap: spacing.sm,\n },\n triggerEnabled: {\n borderColor: colors.stormGray50,\n backgroundColor: colors.white,\n },\n triggerDisabled: {\n borderColor: colors.stormGray50,\n backgroundColor: colors.stormGray50,\n },\n triggerWeb: {\n width: \"max-content\" as ViewStyle[\"width\"],\n },\n flag: {\n fontSize: 18,\n lineHeight: 22,\n },\n dialCode: {\n fontSize: fontSize.md,\n fontWeight: fontWeight.medium,\n },\n overlay: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n dropdown: {\n position: \"absolute\",\n height: DROPDOWN_HEIGHT,\n borderRadius: radii.lg,\n borderWidth: 1,\n borderColor: colors.stormGray50,\n backgroundColor: colors.white,\n padding: DROPDOWN_PADDING,\n overflow: \"hidden\",\n },\n dropdownScroll: {\n flex: 1,\n },\n dropdownContent: {\n flexGrow: 1,\n },\n option: {\n flexDirection: \"row\",\n alignItems: \"center\",\n height: OPTION_HEIGHT,\n borderRadius: radii.sm,\n padding: spacing.sm,\n gap: spacing.sm,\n },\n optionSpacing: {\n marginBottom: OPTION_GAP,\n },\n optionSelected: {\n backgroundColor: colors.countrySelectorSelectedBg,\n },\n optionDialCode: {\n fontFamily: fonts.sans,\n fontSize: fontSize.md,\n fontWeight: fontWeight.regular,\n lineHeight: fontSize.md,\n letterSpacing: 0,\n textAlign: \"center\",\n color: colors.slateBlue,\n },\n});\n","import { useRef, useState, type ComponentRef } from \"react\";\nimport {\n StyleSheet,\n Text,\n TextInput,\n View,\n type NativeSyntheticEvent,\n type StyleProp,\n type TextInputFocusEventData,\n type TextInputProps,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { CountryCodeSelector } from \"./CountryCodeSelector\";\nimport { Label } from \"./Label\";\nimport {\n getInputFieldStyles,\n inputFieldMetrics,\n INPUT_ICON_GAP,\n resolveInputVisualState,\n} from \"../theme/input\";\nimport { colors, spacing } from \"../theme/tokens\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nexport interface PhoneInputProps extends Omit<TextInputProps, \"style\"> {\n label?: string;\n countryCode?: string;\n onCountryCodeChange?: (countryCode: string) => void;\n error?: string;\n hint?: string;\n containerStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<TextStyle>;\n className?: string;\n labelClassName?: string;\n inputClassName?: string;\n errorClassName?: string;\n hintClassName?: string;\n}\n\nexport function PhoneInput({\n label,\n countryCode,\n onCountryCodeChange,\n error,\n hint,\n containerStyle,\n style,\n className,\n labelClassName,\n inputClassName,\n errorClassName,\n hintClassName,\n editable = true,\n onFocus,\n onBlur,\n ...props\n}: PhoneInputProps) {\n const wrapperRef = useRef<ComponentRef<typeof View>>(null);\n const inputRef = useRef<ComponentRef<typeof TextInput>>(null);\n const helperRef = useRef<ComponentRef<typeof Text>>(null);\n const [focused, setFocused] = useState(false);\n\n useApplyWebClassName(wrapperRef, className);\n useApplyWebClassName(inputRef, inputClassName);\n useApplyWebClassName(helperRef, error ? errorClassName : hintClassName);\n\n const isDisabled = editable === false;\n const phoneVisualState = resolveInputVisualState({\n focused,\n error: Boolean(error),\n disabled: isDisabled,\n });\n const phoneFieldStyles = getInputFieldStyles(phoneVisualState);\n\n function handleFocus(event: NativeSyntheticEvent<TextInputFocusEventData>) {\n setFocused(true);\n onFocus?.(event);\n }\n\n function handleBlur(event: NativeSyntheticEvent<TextInputFocusEventData>) {\n setFocused(false);\n onBlur?.(event);\n }\n\n const helperMessage = error ?? hint;\n\n return (\n <View ref={wrapperRef} style={[styles.wrapper, containerStyle]}>\n {label ? (\n <Label disabled={isDisabled} className={labelClassName}>\n {label}\n </Label>\n ) : null}\n <View style={styles.row}>\n <CountryCodeSelector\n value={countryCode}\n onValueChange={onCountryCodeChange}\n disabled={isDisabled}\n style={styles.countrySelector}\n />\n <View style={styles.phoneColumn}>\n <View style={[phoneFieldStyles.outline, styles.phoneOutline]}>\n <View\n style={[\n inputFieldMetrics.container,\n phoneFieldStyles.container,\n styles.phoneField,\n ]}\n >\n <TextInput\n ref={inputRef}\n style={[\n inputFieldMetrics.input,\n phoneFieldStyles.text,\n style,\n ]}\n keyboardType=\"phone-pad\"\n placeholderTextColor={phoneFieldStyles.placeholder}\n editable={editable}\n onFocus={handleFocus}\n onBlur={handleBlur}\n accessibilityState={{ disabled: isDisabled }}\n {...props}\n />\n </View>\n </View>\n {helperMessage ? (\n <Text ref={helperRef} style={error ? styles.error : styles.hint}>\n {helperMessage}\n </Text>\n ) : null}\n </View>\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n wrapper: {\n width: \"100%\",\n gap: spacing.sm,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"flex-start\",\n gap: INPUT_ICON_GAP,\n },\n countrySelector: {\n flexShrink: 0,\n alignSelf: \"flex-start\",\n },\n phoneColumn: {\n flex: 1,\n gap: spacing.sm,\n },\n phoneOutline: {\n width: \"100%\",\n },\n phoneField: {\n flex: 1,\n },\n error: {\n fontSize: 12,\n lineHeight: 16,\n color: colors.inputError,\n },\n hint: {\n fontSize: 12,\n lineHeight: 16,\n color: colors.stormGray300,\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/icons/arrowUpRightPath.ts","../src/icons/ArrowUpRightIcon.tsx","../src/components/Button.tsx","../src/data/countries.ts","../src/icons/chevronDownPath.ts","../src/icons/ChevronDownIcon.tsx","../src/utils/countryFlag.ts","../src/utils/countryDropdownScrollStyles.ts","../src/components/CountryCodeSelector.tsx","../src/components/PhoneInput.tsx","../src/icons/lockIconPaths.ts","../src/icons/LockIcon.tsx"],"names":["jsx","Svg","Path","Platform","useRef","jsxs","styles","Text","View","StyleSheet","useState"],"mappings":"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","file":"index.js","sourcesContent":["export const ARROW_UP_RIGHT_PATH =\n \"M14.1667 14.1668V5.8335H5.83333M14.1667 5.8335L5.83333 14.1668\";\n","import Svg, { Path } from \"react-native-svg\";\nimport { ARROW_UP_RIGHT_PATH } from \"./arrowUpRightPath\";\n\nexport { ARROW_UP_RIGHT_PATH } from \"./arrowUpRightPath\";\n\ninterface ArrowUpRightIconProps {\n size?: number;\n color?: string;\n strokeWidth?: number;\n}\n\n/** Native — react-native-svg (peer dependency). */\nexport function ArrowUpRightIcon({\n size = 20,\n color = \"#08275d\",\n strokeWidth = 2,\n}: ArrowUpRightIconProps) {\n return (\n <Svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\">\n <Path\n d={ARROW_UP_RIGHT_PATH}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n}\n","import { useRef, type ComponentRef, type ReactNode } from \"react\";\nimport {\n Platform,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n type GestureResponderEvent,\n type StyleProp,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { ArrowUpRightIcon } from \"../icons/ArrowUpRightIcon\";\nimport { colors, buttonTypography } from \"../theme/tokens\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nexport type ButtonVariant = \"white\" | \"primary\" | \"green\" | \"gray\";\nexport type ButtonSize = \"lg\" | \"sm\";\n\nexport interface ButtonProps {\n title?: string;\n children?: ReactNode;\n onPress: (event: GestureResponderEvent) => void;\n disabled?: boolean;\n variant?: ButtonVariant;\n size?: ButtonSize;\n showIcon?: boolean;\n /** Custom icon inside the badge. Defaults to `ArrowUpRightIcon` when `showIcon` is true. */\n icon?: ReactNode;\n style?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n className?: string;\n textClassName?: string;\n}\n\ntype VariantStyleSet = {\n backgroundColor: string;\n textColor: string;\n iconBadgeBackgroundColor: string;\n iconColor: string;\n};\n\nconst variantConfig: Record<ButtonVariant, VariantStyleSet> = {\n white: {\n backgroundColor: colors.white,\n textColor: colors.slateBlue,\n iconBadgeBackgroundColor: colors.stormGray150,\n iconColor: colors.navy,\n },\n primary: {\n backgroundColor: colors.navy,\n textColor: colors.stormGray0,\n iconBadgeBackgroundColor: colors.white,\n iconColor: colors.navy,\n },\n green: {\n backgroundColor: colors.green,\n textColor: colors.stormGray0,\n iconBadgeBackgroundColor: colors.white,\n iconColor: colors.green,\n },\n gray: {\n backgroundColor: colors.stormGray50,\n textColor: colors.slateBlue,\n iconBadgeBackgroundColor: colors.stormGray150,\n iconColor: colors.navy,\n },\n};\n\nconst sizeConfig = {\n lg: {\n borderRadius: 16,\n paddingTop: 8,\n paddingRight: 8,\n paddingBottom: 8,\n paddingLeft: 24,\n paddingHorizontalCentered: 24,\n minHeight: 52,\n text: buttonTypography.lg,\n iconContainerSize: 36,\n iconContainerRadius: 12,\n iconContainerPadding: 8,\n iconSize: 20,\n },\n sm: {\n borderRadius: 12,\n paddingTop: 8,\n paddingRight: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingHorizontalCentered: 16,\n minHeight: 48,\n text: buttonTypography.sm,\n iconContainerSize: 32,\n iconContainerRadius: 8,\n iconContainerPadding: 8,\n iconSize: 16,\n },\n} as const;\n\nexport function Button({\n title,\n children,\n onPress,\n disabled = false,\n variant = \"primary\",\n size = \"lg\",\n showIcon = false,\n icon,\n style,\n textStyle,\n className,\n textClassName,\n}: ButtonProps) {\n const containerRef = useRef<ComponentRef<typeof TouchableOpacity>>(null);\n const textRef = useRef<ComponentRef<typeof Text>>(null);\n const preset = variantConfig[variant];\n const metrics = sizeConfig[size];\n\n useApplyWebClassName(containerRef, className);\n useApplyWebClassName(textRef, textClassName);\n\n const label = typeof children !== \"undefined\" ? children : title;\n const hasCustomChildren = typeof children !== \"undefined\";\n const customIcon =\n icon != null && typeof icon !== \"boolean\" ? icon : undefined;\n const hasIcon = showIcon || icon === true || customIcon != null;\n const iconNode =\n customIcon ?? (\n <ArrowUpRightIcon size={metrics.iconSize} color={preset.iconColor} />\n );\n\n const containerStyle = [\n styles.base,\n {\n borderRadius: metrics.borderRadius,\n backgroundColor: preset.backgroundColor,\n minHeight: metrics.minHeight,\n paddingTop: metrics.paddingTop,\n paddingBottom: metrics.paddingBottom,\n paddingLeft: hasIcon ? metrics.paddingLeft : metrics.paddingHorizontalCentered,\n paddingRight: hasIcon ? metrics.paddingRight : metrics.paddingHorizontalCentered,\n },\n hasIcon ? styles.withIcon : styles.centered,\n disabled && styles.disabled,\n style,\n ];\n\n const labelStyle = [\n styles.label,\n metrics.text,\n { color: preset.textColor },\n Platform.OS === \"android\" ? styles.labelAndroid : null,\n !hasIcon && styles.labelCentered,\n hasIcon && styles.labelWithIcon,\n textStyle,\n ];\n\n return (\n <TouchableOpacity\n ref={containerRef}\n style={containerStyle}\n onPress={onPress}\n disabled={disabled}\n activeOpacity={0.7}\n accessibilityRole=\"button\"\n accessibilityState={{ disabled }}\n >\n {hasCustomChildren ? (\n children\n ) : (\n <Text ref={textRef} style={labelStyle}>\n {label}\n </Text>\n )}\n\n {hasIcon ? (\n <View\n style={[\n styles.iconContainer,\n {\n width: metrics.iconContainerSize,\n height: metrics.iconContainerSize,\n borderRadius: metrics.iconContainerRadius,\n padding: metrics.iconContainerPadding,\n backgroundColor: preset.iconBadgeBackgroundColor,\n },\n ]}\n >\n {iconNode}\n </View>\n ) : null}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n flexDirection: \"row\",\n alignItems: \"center\",\n borderWidth: 0,\n },\n centered: {\n justifyContent: \"center\",\n },\n withIcon: {\n justifyContent: \"space-between\",\n },\n disabled: {\n opacity: 0.6,\n },\n label: {},\n labelAndroid: {\n includeFontPadding: false,\n },\n labelCentered: {\n textAlign: \"center\",\n },\n labelWithIcon: {\n flex: 1,\n flexShrink: 1,\n marginRight: 8,\n },\n iconContainer: {\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n },\n});\n","export type Country = {\n code: string;\n name: string;\n dialCode: string;\n};\n\nexport const defaultCountry: Country = {\n code: \"AM\",\n name: \"Armenia\",\n dialCode: \"+374\",\n};\n\nexport const countries: Country[] = [\n defaultCountry,\n { code: \"AF\", name: \"Afghanistan\", dialCode: \"+93\" },\n { code: \"AL\", name: \"Albania\", dialCode: \"+355\" },\n { code: \"DZ\", name: \"Algeria\", dialCode: \"+213\" },\n { code: \"AR\", name: \"Argentina\", dialCode: \"+54\" },\n { code: \"AU\", name: \"Australia\", dialCode: \"+61\" },\n { code: \"AT\", name: \"Austria\", dialCode: \"+43\" },\n { code: \"AZ\", name: \"Azerbaijan\", dialCode: \"+994\" },\n { code: \"BH\", name: \"Bahrain\", dialCode: \"+973\" },\n { code: \"BY\", name: \"Belarus\", dialCode: \"+375\" },\n { code: \"BE\", name: \"Belgium\", dialCode: \"+32\" },\n { code: \"BR\", name: \"Brazil\", dialCode: \"+55\" },\n { code: \"BG\", name: \"Bulgaria\", dialCode: \"+359\" },\n { code: \"CA\", name: \"Canada\", dialCode: \"+1\" },\n { code: \"CL\", name: \"Chile\", dialCode: \"+56\" },\n { code: \"CN\", name: \"China\", dialCode: \"+86\" },\n { code: \"CO\", name: \"Colombia\", dialCode: \"+57\" },\n { code: \"HR\", name: \"Croatia\", dialCode: \"+385\" },\n { code: \"CY\", name: \"Cyprus\", dialCode: \"+357\" },\n { code: \"CZ\", name: \"Czech Republic\", dialCode: \"+420\" },\n { code: \"DK\", name: \"Denmark\", dialCode: \"+45\" },\n { code: \"EG\", name: \"Egypt\", dialCode: \"+20\" },\n { code: \"EE\", name: \"Estonia\", dialCode: \"+372\" },\n { code: \"FI\", name: \"Finland\", dialCode: \"+358\" },\n { code: \"FR\", name: \"France\", dialCode: \"+33\" },\n { code: \"GE\", name: \"Georgia\", dialCode: \"+995\" },\n { code: \"DE\", name: \"Germany\", dialCode: \"+49\" },\n { code: \"GR\", name: \"Greece\", dialCode: \"+30\" },\n { code: \"HK\", name: \"Hong Kong\", dialCode: \"+852\" },\n { code: \"HU\", name: \"Hungary\", dialCode: \"+36\" },\n { code: \"IN\", name: \"India\", dialCode: \"+91\" },\n { code: \"ID\", name: \"Indonesia\", dialCode: \"+62\" },\n { code: \"IR\", name: \"Iran\", dialCode: \"+98\" },\n { code: \"IQ\", name: \"Iraq\", dialCode: \"+964\" },\n { code: \"IE\", name: \"Ireland\", dialCode: \"+353\" },\n { code: \"IL\", name: \"Israel\", dialCode: \"+972\" },\n { code: \"IT\", name: \"Italy\", dialCode: \"+39\" },\n { code: \"JP\", name: \"Japan\", dialCode: \"+81\" },\n { code: \"JO\", name: \"Jordan\", dialCode: \"+962\" },\n { code: \"KZ\", name: \"Kazakhstan\", dialCode: \"+7\" },\n { code: \"KW\", name: \"Kuwait\", dialCode: \"+965\" },\n { code: \"LV\", name: \"Latvia\", dialCode: \"+371\" },\n { code: \"LB\", name: \"Lebanon\", dialCode: \"+961\" },\n { code: \"LT\", name: \"Lithuania\", dialCode: \"+370\" },\n { code: \"LU\", name: \"Luxembourg\", dialCode: \"+352\" },\n { code: \"MY\", name: \"Malaysia\", dialCode: \"+60\" },\n { code: \"MX\", name: \"Mexico\", dialCode: \"+52\" },\n { code: \"MD\", name: \"Moldova\", dialCode: \"+373\" },\n { code: \"NL\", name: \"Netherlands\", dialCode: \"+31\" },\n { code: \"NZ\", name: \"New Zealand\", dialCode: \"+64\" },\n { code: \"NG\", name: \"Nigeria\", dialCode: \"+234\" },\n { code: \"NO\", name: \"Norway\", dialCode: \"+47\" },\n { code: \"PK\", name: \"Pakistan\", dialCode: \"+92\" },\n { code: \"PS\", name: \"Palestine\", dialCode: \"+970\" },\n { code: \"PH\", name: \"Philippines\", dialCode: \"+63\" },\n { code: \"PL\", name: \"Poland\", dialCode: \"+48\" },\n { code: \"PT\", name: \"Portugal\", dialCode: \"+351\" },\n { code: \"QA\", name: \"Qatar\", dialCode: \"+974\" },\n { code: \"RO\", name: \"Romania\", dialCode: \"+40\" },\n { code: \"RU\", name: \"Russia\", dialCode: \"+7\" },\n { code: \"SA\", name: \"Saudi Arabia\", dialCode: \"+966\" },\n { code: \"RS\", name: \"Serbia\", dialCode: \"+381\" },\n { code: \"SG\", name: \"Singapore\", dialCode: \"+65\" },\n { code: \"SK\", name: \"Slovakia\", dialCode: \"+421\" },\n { code: \"SI\", name: \"Slovenia\", dialCode: \"+386\" },\n { code: \"ZA\", name: \"South Africa\", dialCode: \"+27\" },\n { code: \"KR\", name: \"South Korea\", dialCode: \"+82\" },\n { code: \"ES\", name: \"Spain\", dialCode: \"+34\" },\n { code: \"SE\", name: \"Sweden\", dialCode: \"+46\" },\n { code: \"CH\", name: \"Switzerland\", dialCode: \"+41\" },\n { code: \"SY\", name: \"Syria\", dialCode: \"+963\" },\n { code: \"TW\", name: \"Taiwan\", dialCode: \"+886\" },\n { code: \"TH\", name: \"Thailand\", dialCode: \"+66\" },\n { code: \"TR\", name: \"Turkey\", dialCode: \"+90\" },\n { code: \"UA\", name: \"Ukraine\", dialCode: \"+380\" },\n { code: \"AE\", name: \"United Arab Emirates\", dialCode: \"+971\" },\n { code: \"GB\", name: \"United Kingdom\", dialCode: \"+44\" },\n { code: \"US\", name: \"United States\", dialCode: \"+1\" },\n { code: \"UZ\", name: \"Uzbekistan\", dialCode: \"+998\" },\n { code: \"VN\", name: \"Vietnam\", dialCode: \"+84\" },\n];\n\nexport function findCountry(code: string): Country {\n return countries.find((country) => country.code === code) ?? defaultCountry;\n}\n","export const CHEVRON_DOWN_PATH = \"M4 6L8 10L12 6\";\n","import Svg, { Path } from \"react-native-svg\";\nimport { CHEVRON_DOWN_PATH } from \"./chevronDownPath\";\n\nexport { CHEVRON_DOWN_PATH } from \"./chevronDownPath\";\n\ninterface ChevronDownIconProps {\n size?: number;\n color?: string;\n strokeWidth?: number;\n}\n\n/** Native — react-native-svg (peer dependency). */\nexport function ChevronDownIcon({\n size = 16,\n color = \"#dadde0\",\n strokeWidth = 2,\n}: ChevronDownIconProps) {\n return (\n <Svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\">\n <Path\n d={CHEVRON_DOWN_PATH}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n}\n","/** ISO 3166-1 alpha-2 country code → flag emoji (cross-platform). */\nexport function countryCodeToFlagEmoji(code: string): string {\n const upper = code.trim().toUpperCase();\n if (upper.length !== 2) return \"\";\n\n return String.fromCodePoint(\n ...upper.split(\"\").map((char) => 0x1f1e6 - 65 + char.charCodeAt(0)),\n );\n}\n","import { Platform } from \"react-native\";\nimport { colors } from \"../theme/tokens\";\n\nexport const COUNTRY_DROPDOWN_SCROLL_CLASS = \"hp-country-dropdown-scroll\";\n\nconst STYLE_ID = \"hp-country-dropdown-scroll-styles\";\n\nexport const countryDropdownScrollCss = `\n .${COUNTRY_DROPDOWN_SCROLL_CLASS} {\n scrollbar-width: thin;\n scrollbar-color: ${colors.stormGray300} transparent;\n overflow-y: auto;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar {\n width: 4px;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-corner {\n background: transparent;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:single-button,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:vertical:start:decrement,\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-button:vertical:end:increment {\n display: none;\n width: 0;\n height: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-track {\n background: transparent;\n }\n\n .${COUNTRY_DROPDOWN_SCROLL_CLASS}::-webkit-scrollbar-thumb {\n background-color: ${colors.stormGray300};\n border-radius: 9999px;\n }\n`;\n\nexport function ensureCountryDropdownScrollStyles(): void {\n if (Platform.OS !== \"web\" || typeof document === \"undefined\") return;\n if (document.getElementById(STYLE_ID)) return;\n\n const style = document.createElement(\"style\");\n style.id = STYLE_ID;\n style.textContent = countryDropdownScrollCss;\n document.head.appendChild(style);\n}\n","import { useRef, useState, useLayoutEffect, type ComponentRef } from \"react\";\nimport {\n Dimensions,\n Modal,\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text,\n View,\n type StyleProp,\n type ViewStyle,\n} from \"react-native\";\nimport {\n countries,\n defaultCountry,\n findCountry,\n type Country,\n} from \"../data/countries\";\nimport { ChevronDownIcon } from \"../icons/ChevronDownIcon\";\nimport { colors, fontSize, fontWeight, radii, spacing, fonts } from \"../theme/tokens\";\nimport { countryCodeToFlagEmoji } from \"../utils/countryFlag\";\nimport {\n COUNTRY_DROPDOWN_SCROLL_CLASS,\n ensureCountryDropdownScrollStyles,\n} from \"../utils/countryDropdownScrollStyles\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nconst DROPDOWN_GAP = 10;\nconst DROPDOWN_HEIGHT = 186;\nconst DROPDOWN_PADDING = 8;\nconst OPTION_GAP = 10;\nconst OPTION_HEIGHT = 35;\nconst TRIGGER_HEIGHT = 52;\nconst CHEVRON_SIZE = 16;\n\nexport interface CountryCodeSelectorProps {\n value?: string;\n onValueChange?: (countryCode: string) => void;\n /** Country list (defaults to built-in list). */\n options?: Country[];\n disabled?: boolean;\n style?: StyleProp<ViewStyle>;\n className?: string;\n}\n\ntype AnchorLayout = {\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\nfunction resolveDropdownTop(anchor: AnchorLayout): number {\n const windowHeight = Dimensions.get(\"window\").height;\n const topBelow = anchor.y + anchor.height + DROPDOWN_GAP;\n const topAbove = anchor.y - DROPDOWN_GAP - DROPDOWN_HEIGHT;\n const fitsBelow = topBelow + DROPDOWN_HEIGHT <= windowHeight;\n\n if (fitsBelow) return topBelow;\n if (topAbove >= 0) return topAbove;\n\n return Math.max(0, Math.min(topBelow, windowHeight - DROPDOWN_HEIGHT));\n}\n\nexport function CountryCodeSelector({\n value = defaultCountry.code,\n onValueChange,\n options = countries,\n disabled = false,\n style,\n className,\n}: CountryCodeSelectorProps) {\n const wrapperRef = useRef<ComponentRef<typeof View>>(null);\n const triggerRef = useRef<ComponentRef<typeof Pressable>>(null);\n const scrollRef = useRef<ComponentRef<typeof ScrollView>>(null);\n const [open, setOpen] = useState(false);\n const [anchor, setAnchor] = useState<AnchorLayout | null>(null);\n\n useApplyWebClassName(wrapperRef, className);\n useApplyWebClassName(\n scrollRef,\n COUNTRY_DROPDOWN_SCROLL_CLASS,\n open && Boolean(anchor),\n );\n\n useLayoutEffect(() => {\n ensureCountryDropdownScrollStyles();\n }, []);\n\n const selected = findCountry(value);\n const textColor = disabled ? colors.stormGray200 : colors.slateBlue;\n\n function closeDropdown() {\n setOpen(false);\n setAnchor(null);\n }\n\n function handleOpen() {\n if (disabled) return;\n\n triggerRef.current?.measureInWindow((x, y, width, height) => {\n setAnchor({ x, y, width, height });\n setOpen(true);\n });\n }\n\n function handleSelect(code: string) {\n onValueChange?.(code);\n closeDropdown();\n }\n\n const dropdownTop = anchor ? resolveDropdownTop(anchor) : 0;\n\n const optionList = options.map((item, index) => {\n const isSelected = item.code === selected.code;\n const isLast = index === options.length - 1;\n return (\n <Pressable\n key={item.code}\n accessibilityRole=\"button\"\n onPress={() => handleSelect(item.code)}\n style={[\n styles.option,\n isSelected && styles.optionSelected,\n !isLast && styles.optionSpacing,\n ]}\n >\n <Text style={styles.flag}>{countryCodeToFlagEmoji(item.code)}</Text>\n <Text style={styles.optionDialCode}>{item.dialCode}</Text>\n </Pressable>\n );\n });\n\n const dropdownList = (\n <ScrollView\n ref={scrollRef}\n style={styles.dropdownScroll}\n contentContainerStyle={styles.dropdownContent}\n keyboardShouldPersistTaps=\"handled\"\n showsVerticalScrollIndicator\n bounces={false}\n nestedScrollEnabled\n >\n {optionList}\n </ScrollView>\n );\n\n return (\n <View ref={wrapperRef} style={[styles.root, style]}>\n <Pressable\n ref={triggerRef}\n accessibilityRole=\"button\"\n disabled={disabled}\n onPress={handleOpen}\n style={[\n styles.trigger,\n disabled ? styles.triggerDisabled : styles.triggerEnabled,\n Platform.OS === \"web\" ? styles.triggerWeb : null,\n ]}\n >\n <Text style={styles.flag}>{countryCodeToFlagEmoji(selected.code)}</Text>\n <Text style={[styles.dialCode, { color: textColor }]}>{selected.dialCode}</Text>\n <ChevronDownIcon size={CHEVRON_SIZE} color={colors.stormGray100} />\n </Pressable>\n\n <Modal\n visible={open}\n transparent\n animationType=\"fade\"\n onRequestClose={closeDropdown}\n >\n <Pressable style={styles.overlay} onPress={closeDropdown}>\n {anchor ? (\n <View\n style={[\n styles.dropdown,\n {\n top: dropdownTop,\n left: anchor.x,\n width: anchor.width,\n },\n ]}\n >\n {dropdownList}\n </View>\n ) : null}\n </Pressable>\n </Modal>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n root: {\n alignSelf: \"flex-start\",\n flexShrink: 0,\n },\n trigger: {\n flexDirection: \"row\",\n alignItems: \"center\",\n alignSelf: \"flex-start\",\n flexGrow: 0,\n flexShrink: 0,\n height: TRIGGER_HEIGHT,\n borderRadius: radii.lg,\n borderWidth: 1,\n padding: spacing.lg,\n gap: spacing.sm,\n },\n triggerEnabled: {\n borderColor: colors.stormGray50,\n backgroundColor: colors.white,\n },\n triggerDisabled: {\n borderColor: colors.stormGray50,\n backgroundColor: colors.stormGray50,\n },\n triggerWeb: {\n width: \"max-content\" as ViewStyle[\"width\"],\n },\n flag: {\n fontSize: 18,\n lineHeight: 22,\n },\n dialCode: {\n fontSize: fontSize.md,\n fontWeight: fontWeight.medium,\n },\n overlay: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n dropdown: {\n position: \"absolute\",\n height: DROPDOWN_HEIGHT,\n borderRadius: radii.lg,\n borderWidth: 1,\n borderColor: colors.stormGray50,\n backgroundColor: colors.white,\n padding: DROPDOWN_PADDING,\n overflow: \"hidden\",\n },\n dropdownScroll: {\n flex: 1,\n },\n dropdownContent: {\n flexGrow: 1,\n },\n option: {\n flexDirection: \"row\",\n alignItems: \"center\",\n height: OPTION_HEIGHT,\n borderRadius: radii.sm,\n padding: spacing.sm,\n gap: spacing.sm,\n },\n optionSpacing: {\n marginBottom: OPTION_GAP,\n },\n optionSelected: {\n backgroundColor: colors.countrySelectorSelectedBg,\n },\n optionDialCode: {\n fontFamily: fonts.sans,\n fontSize: fontSize.md,\n fontWeight: fontWeight.regular,\n lineHeight: fontSize.md,\n letterSpacing: 0,\n textAlign: \"center\",\n color: colors.slateBlue,\n },\n});\n","import { useRef, useState, type ComponentRef } from \"react\";\nimport {\n StyleSheet,\n Text,\n TextInput,\n View,\n type NativeSyntheticEvent,\n type StyleProp,\n type TextInputFocusEventData,\n type TextInputProps,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { CountryCodeSelector } from \"./CountryCodeSelector\";\nimport { Label } from \"./Label\";\nimport {\n getInputFieldStyles,\n inputFieldMetrics,\n INPUT_ICON_GAP,\n resolveInputVisualState,\n} from \"../theme/input\";\nimport { colors, spacing } from \"../theme/tokens\";\nimport { useApplyWebClassName } from \"../utils/useApplyWebClassName\";\n\nexport interface PhoneInputProps extends Omit<TextInputProps, \"style\"> {\n label?: string;\n countryCode?: string;\n onCountryCodeChange?: (countryCode: string) => void;\n error?: string;\n hint?: string;\n containerStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<TextStyle>;\n className?: string;\n labelClassName?: string;\n inputClassName?: string;\n errorClassName?: string;\n hintClassName?: string;\n}\n\nexport function PhoneInput({\n label,\n countryCode,\n onCountryCodeChange,\n error,\n hint,\n containerStyle,\n style,\n className,\n labelClassName,\n inputClassName,\n errorClassName,\n hintClassName,\n editable = true,\n onFocus,\n onBlur,\n ...props\n}: PhoneInputProps) {\n const wrapperRef = useRef<ComponentRef<typeof View>>(null);\n const inputRef = useRef<ComponentRef<typeof TextInput>>(null);\n const helperRef = useRef<ComponentRef<typeof Text>>(null);\n const [focused, setFocused] = useState(false);\n\n useApplyWebClassName(wrapperRef, className);\n useApplyWebClassName(inputRef, inputClassName);\n useApplyWebClassName(helperRef, error ? errorClassName : hintClassName);\n\n const isDisabled = editable === false;\n const phoneVisualState = resolveInputVisualState({\n focused,\n error: Boolean(error),\n disabled: isDisabled,\n });\n const phoneFieldStyles = getInputFieldStyles(phoneVisualState);\n\n function handleFocus(event: NativeSyntheticEvent<TextInputFocusEventData>) {\n setFocused(true);\n onFocus?.(event);\n }\n\n function handleBlur(event: NativeSyntheticEvent<TextInputFocusEventData>) {\n setFocused(false);\n onBlur?.(event);\n }\n\n const helperMessage = error ?? hint;\n\n return (\n <View ref={wrapperRef} style={[styles.wrapper, containerStyle]}>\n {label ? (\n <Label disabled={isDisabled} className={labelClassName}>\n {label}\n </Label>\n ) : null}\n <View style={styles.row}>\n <CountryCodeSelector\n value={countryCode}\n onValueChange={onCountryCodeChange}\n disabled={isDisabled}\n style={styles.countrySelector}\n />\n <View style={styles.phoneColumn}>\n <View style={[phoneFieldStyles.outline, styles.phoneOutline]}>\n <View\n style={[\n inputFieldMetrics.container,\n phoneFieldStyles.container,\n styles.phoneField,\n ]}\n >\n <TextInput\n ref={inputRef}\n style={[\n inputFieldMetrics.input,\n phoneFieldStyles.text,\n style,\n ]}\n keyboardType=\"phone-pad\"\n placeholderTextColor={phoneFieldStyles.placeholder}\n editable={editable}\n onFocus={handleFocus}\n onBlur={handleBlur}\n accessibilityState={{ disabled: isDisabled }}\n {...props}\n />\n </View>\n </View>\n {helperMessage ? (\n <Text ref={helperRef} style={error ? styles.error : styles.hint}>\n {helperMessage}\n </Text>\n ) : null}\n </View>\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n wrapper: {\n width: \"100%\",\n gap: spacing.sm,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"flex-start\",\n gap: INPUT_ICON_GAP,\n },\n countrySelector: {\n flexShrink: 0,\n alignSelf: \"flex-start\",\n },\n phoneColumn: {\n flex: 1,\n gap: spacing.sm,\n },\n phoneOutline: {\n width: \"100%\",\n },\n phoneField: {\n flex: 1,\n },\n error: {\n fontSize: 12,\n lineHeight: 16,\n color: colors.inputError,\n },\n hint: {\n fontSize: 12,\n lineHeight: 16,\n color: colors.stormGray300,\n },\n});\n","export const LOCK_ICON_PATH =\n \"M5.83333 8.33317V5.83317C5.83333 4.7281 6.27232 3.66829 7.05372 2.88689C7.83512 2.10549 8.89493 1.6665 10 1.6665C11.1051 1.6665 12.1649 2.10549 12.9463 2.88689C13.7277 3.66829 14.1667 4.7281 14.1667 5.83317V8.33317M10.8333 13.3332C10.8333 13.7934 10.4602 14.1665 10 14.1665C9.53976 14.1665 9.16667 13.7934 9.16667 13.3332C9.16667 12.8729 9.53976 12.4998 10 12.4998C10.4602 12.4998 10.8333 12.8729 10.8333 13.3332ZM4.16667 8.33317H15.8333C16.7538 8.33317 17.5 9.07936 17.5 9.99984V16.6665C17.5 17.587 16.7538 18.3332 15.8333 18.3332H4.16667C3.24619 18.3332 2.5 17.587 2.5 16.6665V9.99984C2.5 9.07936 3.24619 8.33317 4.16667 8.33317Z\";\n","import Svg, { Path } from \"react-native-svg\";\n\nimport { LOCK_ICON_PATH } from \"./lockIconPaths\";\n\nexport { LOCK_ICON_PATH } from \"./lockIconPaths\";\n\ninterface LockIconProps {\n size?: number;\n color?: string;\n strokeWidth?: number;\n}\n\n/** Native — react-native-svg (peer dependency). */\nexport function LockIcon({\n size = 20,\n color = \"#c7cdd1\",\n strokeWidth = 2,\n}: LockIconProps) {\n return (\n <Svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\">\n <Path\n d={LOCK_ICON_PATH}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n}\n"]}
@@ -123,6 +123,9 @@ var INPUT_HEIGHT = 52;
123
123
  var INPUT_ICON_SIZE = 20;
124
124
  var INPUT_ICON_GAP = 10;
125
125
  var INPUT_OUTLINE_WIDTH = 2;
126
+ var INPUT_INNER_LINE_HEIGHT = 20;
127
+ var INPUT_WEB_INNER_LINE_HEIGHT = 22;
128
+ var INPUT_WEB_VERTICAL_PADDING = 14;
126
129
  function resolveInputVisualState({
127
130
  focused = false,
128
131
  error = false,
@@ -216,15 +219,19 @@ var inputFieldMetrics = reactNative.StyleSheet.create({
216
219
  borderRadius: radii.lg,
217
220
  padding: 16,
218
221
  gap: INPUT_ICON_GAP,
219
- ...reactNative.Platform.OS === "web" ? { boxSizing: "border-box" } : null
222
+ ...reactNative.Platform.OS === "web" ? {
223
+ boxSizing: "border-box",
224
+ paddingVertical: INPUT_WEB_VERTICAL_PADDING,
225
+ paddingHorizontal: 16
226
+ } : null
220
227
  },
221
228
  input: {
222
229
  flex: 1,
223
- alignSelf: "stretch",
230
+ minWidth: 0,
224
231
  fontFamily: fonts.sans,
225
232
  fontSize: fontSize.md,
226
233
  fontWeight: fontWeight.medium,
227
- lineHeight: reactNative.Platform.OS === "web" ? fontSize.md : 20,
234
+ lineHeight: INPUT_INNER_LINE_HEIGHT,
228
235
  paddingVertical: 0,
229
236
  paddingHorizontal: 0,
230
237
  margin: 0,
@@ -232,10 +239,12 @@ var inputFieldMetrics = reactNative.StyleSheet.create({
232
239
  backgroundColor: colors.transparent,
233
240
  ...reactNative.Platform.OS === "android" ? { includeFontPadding: false } : null,
234
241
  ...reactNative.Platform.OS === "web" ? {
235
- height: "100%",
236
- minHeight: 0,
242
+ alignSelf: "center",
243
+ lineHeight: INPUT_WEB_INNER_LINE_HEIGHT,
237
244
  outlineStyle: "none"
238
- } : null
245
+ } : {
246
+ alignSelf: "stretch"
247
+ }
239
248
  }
240
249
  });
241
250
  function hasClassList(node) {
@@ -316,6 +325,7 @@ function Input({
316
325
  leftIcon,
317
326
  rightIcon,
318
327
  error,
328
+ invalid,
319
329
  hint,
320
330
  containerStyle,
321
331
  style,
@@ -344,11 +354,12 @@ function Input({
344
354
  useApplyWebClassName(inputRef, inputClassName);
345
355
  useApplyWebClassName(helperRef, error ? errorClassName : hintClassName);
346
356
  const isDisabled = editable === false;
357
+ const hasError = Boolean(error) || Boolean(invalid);
347
358
  const passwordToggleEnabled = secureTextEntry === true && showPasswordToggle !== false && rightIcon == null;
348
359
  const effectiveSecureTextEntry = passwordToggleEnabled ? !passwordVisible : secureTextEntry;
349
360
  const visualState = resolveInputVisualState({
350
361
  focused,
351
- error: Boolean(error),
362
+ error: hasError,
352
363
  disabled: isDisabled
353
364
  });
354
365
  const fieldStyles = getInputFieldStyles(visualState);
@@ -1163,8 +1174,8 @@ function DashboardLayout({
1163
1174
  className,
1164
1175
  mainClassName
1165
1176
  }) {
1166
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: className ?? "flex min-h-screen bg-storm-gray-0", children: [
1167
- /* @__PURE__ */ jsxRuntime.jsx(Sidebar, { ...sidebar }),
1177
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex min-h-screen flex-row bg-storm-gray-0", className), children: [
1178
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Sidebar, { ...sidebar }) }),
1168
1179
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
1169
1180
  /* @__PURE__ */ jsxRuntime.jsx(SidebarMobileHeader, { ...mobileHeader }),
1170
1181
  /* @__PURE__ */ jsxRuntime.jsx(AppHeader, { ...header }),