[
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  extends: ['universe/native', 'universe/web'],\n  ignorePatterns: ['build'],\n};\n"
  },
  {
    "path": ".gitignore",
    "content": "# OSX\n#\n.DS_Store\n\n# VSCode\n.vscode/\njsconfig.json\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\nproject.xcworkspace\n\n# Android/IJ\n#\n.classpath\n.cxx\n.gradle\n.idea\n.project\n.settings\nlocal.properties\nandroid.iml\nandroid/app/libs\nandroid/keystores/debug.keystore\n\n# Cocoapods\n#\nexample/ios/Pods\n\n# Ruby\nexample/vendor/\n\n# node.js\n#\nnode_modules/\nnpm-debug.log\nyarn-debug.log\nyarn-error.log\n\n# Expo\n.expo/*\n\n\npackage-lock.json\n"
  },
  {
    "path": ".npmignore",
    "content": "# Exclude all top-level hidden directories by convention\n/.*/\n\n# Exclude tarballs generated by `npm pack`\n/*.tgz\n\n__mocks__\n__tests__\n\n/babel.config.js\n/android/src/androidTest/\n/android/src/test/\n/android/build/\n/example/\n/src/\npackage-lock.json\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n\n### [0.1.7](https://github.com/rit3zh/expo-liquid-glass-view/compare/v0.1.6...v0.1.7) (2025-09-19)\n\n\n### Features\n\n* **glass:** add ExpoLiquidGlassContainer with layout direction support ([decc813](https://github.com/rit3zh/expo-liquid-glass-view/commit/decc8130854ad783da6f61488541dfba54309f67))\n* **glass:** add ExpoLiquidGlassContainer with layout direction support ([2c33ac5](https://github.com/rit3zh/expo-liquid-glass-view/commit/2c33ac5a8df5350e8e959ede2f4f1437686f1879))\n\n### [0.1.6](https://github.com/rit3zh/expo-liquid-glass-view/compare/v0.1.5...v0.1.6) (2025-08-04)\n"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\">\n  <img src=\"./assets/liquid-glass.jpg\" alt=\"Expo Liquid Glass View\" style=\"width:100%; max-width:800px;\" />\n</p>\n\n<h1 align=\"center\">🧊 expo-liquid-glass-view</h1>\n\n<p align=\"center\">\n  A beautiful, SwiftUI-powered glass effect view for React Native built with Expo\n</p>\n\n---\n\n## ✨ Features\n\n- 🧊 Native **glassEffect** on iOS\n- 🍏 Powered by **SwiftUI** for ultra-smooth performance\n- 🧱 Configurable corner radius and style (continuous or circular)\n- 🌈 Custom **tint overlays** and **blur strength types**\n- 🧩 Supports nesting **React Native children**\n\n---\n\n## 🚀 Installation\n\n### 1. Add the package\n\n```bash\nnpx expo install expo-liquid-glass-view\n```\n\n### 2. Install CocoaPods\n\n```bash\ncd ios && pod install\n```\n\n### 3. Prebuild the iOS project\n\n```bash\nnpx expo prebuild --platform ios\n```\n\n### 4. Run your app\n\n```bash\nnpx expo run:ios\n```\n\n> ⚠️ **iOS only** — This view uses SwiftUI and does not support Android.\n\n---\n\n## 📦 Usage\n\n```tsx\nimport { ExpoLiquidGlassView } from \"expo-liquid-glass-view\";\n\nexport default function App() {\n  return (\n    <ExpoLiquidGlassView\n      cornerStyle={CornerStyle.Circular}\n      type={LiquidGlassType.Tint}\n      tint=\"#000000\"\n      cornerRadius={24}\n      style={{ width: 200, height: 200, alignSelf: \"center\", marginTop: 100 }}\n      containerStyle={{ padding: 16, alignItems: \"center\" }}\n    >\n      <Text style={{ color: \"#fff\", textAlign: \"center\" }}>\n        Liquid Glass ✨\n      </Text>\n    </ExpoLiquidGlassView>\n  );\n}\n```\n\n---\n\n## ⚙️ Props\n\n| Prop           | Type                                                            | Default        | Description                                                                |\n| -------------- | --------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------- |\n| `type`         | `\"clear\" \\| \"tint\" \\| \"regular\" \\| \"interactive\" \\| \"identity\"` | `\"regular\"`    | Defines the glass blur intensity and system effect                         |\n| `tint`         | `string`                                                        | `undefined`    | Optional iOS system tint, like `\"systemUltraThinMaterial\"` or custom color |\n| `cornerRadius` | `number`                                                        | `12`           | Border radius in points                                                    |\n| `cornerStyle`  | `\"continuous\"` \\| `\"circular\"`                                  | `\"continuous\"` | Defines the curvature style of the corners                                 |\n| `style`        | `StyleProp<ViewStyle>`                                          | `undefined`    | Style for the outer native glass view                                      |\n| `containerStyle` | `StyleProp<ViewStyle>`                                        | `undefined`    | Style for the inner content container that wraps `children`                |\n| `children`     | `React.ReactNode`                                               | `undefined`    | Optional React children to render inside the glass                         |\n\n---\n\n## 🧪 Types\n\n```ts\nexport enum CornerStyle {\n  Continuous = \"continuous\",\n  Circular = \"circular\",\n}\n\nexport enum LiquidGlassType {\n  Clear = \"clear\",\n  Tint = \"tint\",\n  Regular = \"regular\",\n  Interactive = \"interactive\",\n  Identity = \"identity\",\n}\n\nexport interface ExpoLiquidGlassViewProps {\n  type?: LiquidGlassType;\n  tint?: string;\n  cornerRadius?: number;\n  cornerStyle?: CornerStyle;\n  style?: StyleProp<ViewStyle>;\n  containerStyle?: StyleProp<ViewStyle>;\n  children?: React.ReactNode;\n}\n```\n\n---\n\n## 📱 Platform Support\n\n- ✅ iOS _(SwiftUI)_\n- ❌ Android _(not supported)_\n\n---\n\n## 🛠 Built With\n\n- ⚛️ [Expo Modules](https://docs.expo.dev/modules/overview/)\n- 🍎 [SwiftUI](https://developer.apple.com/documentation/swiftui/)\n- 📱 [React Native](https://reactnative.dev/)\n\n---\n\n## 🧩 Related Ideas\n\nIf you're building glassmorphic UIs, try pairing this with:\n\n- `expo-blur`\n- `expo-symbols`\n- `react-native-skia`\n\n---\n\n## 🎥 Preview\n\nhttps://github.com/user-attachments/assets/a08878fb-6a90-474b-8f21-1b46fe990177\n\n## ❤️ Contributing\n\n###### PRs and issues are welcome! Let’s keep building beautiful native UIs with React Native + SwiftUI!\n\n## 📄 License\n\nMIT © [rit3zh](https://github.com/rit3zh)\n"
  },
  {
    "path": "example/.gitignore",
    "content": "# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files\n\n# dependencies\nnode_modules/\n\n# Expo\n.expo/\ndist/\nweb-build/\nexpo-env.d.ts\n\n# Native\n.kotlin/\n*.orig.*\n*.jks\n*.p8\n*.p12\n*.key\n*.mobileprovision\n\n# Metro\n.metro-health-check*\n\n# debug\nnpm-debug.*\nyarn-debug.*\nyarn-error.*\n\n# macOS\n.DS_Store\n*.pem\n\n# local env files\n.env*.local\n\n# typescript\n*.tsbuildinfo\n"
  },
  {
    "path": "example/App.tsx",
    "content": "import {\n  View,\n  Text,\n  StyleSheet,\n  SafeAreaView,\n  TouchableOpacity,\n  ImageBackground,\n} from \"react-native\";\nimport React, { useState, useEffect } from \"react\";\n\nimport { ExpoLiquidGlassView } from \"expo-liquid-glass-view\";\n\nconst WIDTH: number = 300;\nconst HEIGHT: number = 300;\nconst BORDER_RADIUS: number = 999;\n\nconst App = () => {\n  const [videoLoaded, setVideoLoaded] = useState(false);\n  const [forceUpdate, setForceUpdate] = useState(0);\n\n  useEffect(() => {\n    const timer = setTimeout(() => {\n      setForceUpdate((prev) => prev + 1);\n    }, 100);\n    return () => clearTimeout(timer);\n  }, [videoLoaded]);\n\n  useEffect(() => {\n    const interval = setInterval(() => {\n      setForceUpdate((prev) => prev + 1);\n    }, 1000);\n\n    const cleanup = setTimeout(() => {\n      clearInterval(interval);\n    }, 3000);\n\n    return () => {\n      clearInterval(interval);\n      clearTimeout(cleanup);\n    };\n  }, []);\n\n  return (\n    <ImageBackground\n      style={styles.container}\n      source={{\n        uri: \"https://i.pinimg.com/736x/eb/b4/68/ebb4685cc02c29730294e9c6ecdbec9f.jpg\",\n      }}\n    >\n      <View>\n        <ExpoLiquidGlassView style={{ borderRadius: 100 }} cornerRadius={300}>\n          <View\n            style={{\n              width: 400,\n              height: 400,\n              justifyContent: \"center\",\n              alignItems: \"center\",\n              borderRadius: 100,\n            }}\n          >\n            <Text style={{ color: \"black\" }}>Hello, from liquid glass!</Text>\n          </View>\n        </ExpoLiquidGlassView>\n      </View>\n    </ImageBackground>\n  );\n};\n\nexport default App;\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    backgroundColor: \"black\",\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  overlay: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  videoContainer: {\n    position: \"relative\",\n    width: WIDTH,\n    height: HEIGHT,\n    borderRadius: BORDER_RADIUS,\n    overflow: \"hidden\",\n    bottom: 100,\n  },\n  video: {\n    width: WIDTH,\n    height: HEIGHT,\n    position: \"absolute\",\n    top: 0,\n    left: 0,\n  },\n  glassOverlay: {\n    height: HEIGHT,\n    width: WIDTH,\n  },\n  glassContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  innerView: {\n    overflow: \"hidden\",\n    width: WIDTH,\n    height: HEIGHT,\n    borderRadius: BORDER_RADIUS,\n  },\n  bottomContent: {\n    width: \"90%\",\n    alignItems: \"center\",\n    justifyContent: \"flex-end\",\n    height: \"90%\",\n    position: \"absolute\",\n  },\n  statsCard: {\n    width: \"80%\",\n    height: 80,\n    marginBottom: 40,\n  },\n  statsContent: {\n    flex: 1,\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    justifyContent: \"space-around\",\n    paddingHorizontal: 20,\n  },\n  statItem: {\n    alignItems: \"center\",\n  },\n  statValue: {\n    fontSize: 20,\n    fontWeight: \"600\",\n    color: \"#ffffff\",\n    marginBottom: 4,\n  },\n  statLabel: {\n    fontSize: 12,\n    color: \"#888888\",\n    fontWeight: \"400\",\n  },\n  statDivider: {\n    width: 1,\n    height: 40,\n    backgroundColor: \"#333333\",\n  },\n  controls: {\n    flexDirection: \"row\",\n    justifyContent: \"center\",\n    alignItems: \"center\",\n    gap: 40,\n    marginBottom: 40,\n  },\n  controlButton: {\n    alignItems: \"center\",\n  },\n  controlGlass: {\n    width: 50,\n    height: 50,\n    marginBottom: 12,\n  },\n  controlContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  controlIcon: {\n    fontSize: 20,\n  },\n  controlText: {\n    fontSize: 14,\n    color: \"#cccccc\",\n    fontWeight: \"400\",\n  },\n});\n"
  },
  {
    "path": "example/app.json",
    "content": "{\n  \"expo\": {\n    \"name\": \"expo-liquid-glass-example\",\n    \"slug\": \"expo-liquid-glass-example\",\n    \"version\": \"1.0.0\",\n    \"orientation\": \"portrait\",\n    \"icon\": \"./assets/icon.png\",\n    \"userInterfaceStyle\": \"light\",\n    \"newArchEnabled\": true,\n    \"splash\": {\n      \"image\": \"./assets/splash-icon.png\",\n      \"resizeMode\": \"contain\",\n      \"backgroundColor\": \"#ffffff\"\n    },\n    \"ios\": {\n      \"supportsTablet\": true,\n      \"bundleIdentifier\": \"expo.modules.liquidglass.example\"\n    },\n    \"android\": {\n      \"adaptiveIcon\": {\n        \"foregroundImage\": \"./assets/adaptive-icon.png\",\n        \"backgroundColor\": \"#ffffff\"\n      },\n      \"edgeToEdgeEnabled\": true,\n      \"package\": \"expo.modules.liquidglass.example\"\n    },\n    \"web\": {\n      \"favicon\": \"./assets/favicon.png\"\n    }\n  }\n}\n"
  },
  {
    "path": "example/babel.config.js",
    "content": "module.exports = function (api) {\n  api.cache(true);\n  return {\n    presets: ['babel-preset-expo'],\n  };\n};\n"
  },
  {
    "path": "example/constants.ts",
    "content": "export const BACKGROUND_URL: string = `https://i.pinimg.com/736x/79/ab/04/79ab04ae66154a34c2518a69bf6c6a23.jpg`;\nexport const backgroundImages = [\n  BACKGROUND_URL,\n  \"https://i.pinimg.com/736x/88/95/f2/8895f231b18c8b2f48a0c26d2f5d048e.jpg\",\n  \"https://images.unsplash.com/photo-1518837695005-2083093ee35b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80\", // Ocean sunset\n  \"https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2071&q=80\", // Forest\n  \"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80\", // City skyline\n];\n"
  },
  {
    "path": "example/index.ts",
    "content": "import { registerRootComponent } from 'expo';\n\nimport App from './App';\n\n// registerRootComponent calls AppRegistry.registerComponent('main', () => App);\n// It also ensures that whether you load the app in Expo Go or in a native build,\n// the environment is set up appropriately\nregisterRootComponent(App);\n"
  },
  {
    "path": "example/ios/.gitignore",
    "content": "# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\nproject.xcworkspace\n.xcode.env.local\n\n# Bundle artifacts\n*.jsbundle\n\n# CocoaPods\n/Pods/\n"
  },
  {
    "path": "example/ios/.spm.pods/packages/.umbrella/.build/workspace-state.json",
    "content": "{\n  \"object\" : {\n    \"artifacts\" : [\n\n    ],\n    \"dependencies\" : [\n\n    ],\n    \"prebuilts\" : [\n\n    ]\n  },\n  \"version\" : 7\n}"
  },
  {
    "path": "example/ios/.spm.pods/packages/.umbrella/Package.swift",
    "content": "// swift-tools-version:5.7\nimport PackageDescription\n\nlet package = Package(\n  name: \"_umbrella_\",\n  dependencies: [\n    \n  ]\n)\n"
  },
  {
    "path": "example/ios/.xcode.env",
    "content": "# This `.xcode.env` file is versioned and is used to source the environment\n# used when running script phases inside Xcode.\n# To customize your local environment, you can create an `.xcode.env.local`\n# file that is not versioned.\n\n# NODE_BINARY variable contains the PATH to the node executable.\n#\n# Customize the NODE_BINARY variable here.\n# For example, to use nvm with brew, add the following line\n# . \"$(brew --prefix nvm)/nvm.sh\" --no-use\nexport NODE_BINARY=$(command -v node)\n"
  },
  {
    "path": "example/ios/Podfile",
    "content": "require File.join(File.dirname(`node --print \"require.resolve('expo/package.json')\"`), \"scripts/autolinking\")\nrequire File.join(File.dirname(`node --print \"require.resolve('react-native/package.json')\"`), \"scripts/react_native_pods\")\n\nrequire 'json'\npodfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}\n\nENV['RCT_NEW_ARCH_ENABLED'] = '0' if podfile_properties['newArchEnabled'] == 'false'\nENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']\n\nplatform :ios, podfile_properties['ios.deploymentTarget'] || '15.1'\ninstall! 'cocoapods',\n  :deterministic_uuids => false\n\nprepare_react_native_project!\n\ntarget 'expoliquidglassexample' do\n  use_expo_modules!\n\n  if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1'\n    config_command = ['node', '-e', \"process.argv=['', '', 'config'];require('@react-native-community/cli').run()\"];\n  else\n    config_command = [\n      'npx',\n      'expo-modules-autolinking',\n      'react-native-config',\n      '--json',\n      '--platform',\n      'ios'\n    ]\n  end\n\n  config = use_native_modules!(config_command)\n\n  use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']\n  use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']\n\n  use_react_native!(\n    :path => config[:reactNativePath],\n    :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',\n    # An absolute path to your application root.\n    :app_path => \"#{Pod::Config.instance.installation_root}/..\",\n    :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] != 'false',\n  )\n\n  post_install do |installer|\n    react_native_post_install(\n      installer,\n      config[:reactNativePath],\n      :mac_catalyst_enabled => false,\n      :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true',\n    )\n\n    # This is necessary for Xcode 14, because it signs resource bundles by default\n    # when building for devices.\n    installer.target_installation_results.pod_target_installation_results\n      .each do |pod_name, target_installation_result|\n      target_installation_result.resource_bundle_targets.each do |resource_bundle_target|\n        resource_bundle_target.build_configurations.each do |config|\n          config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'\n        end\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "example/ios/Podfile.properties.json",
    "content": "{\n  \"expo.jsEngine\": \"hermes\",\n  \"EX_DEV_CLIENT_NETWORK_INSPECTOR\": \"true\",\n  \"newArchEnabled\": \"true\"\n}\n"
  },
  {
    "path": "example/ios/expoliquidglassexample/AppDelegate.swift",
    "content": "import Expo\nimport React\nimport ReactAppDependencyProvider\n\n@UIApplicationMain\npublic class AppDelegate: ExpoAppDelegate {\n  var window: UIWindow?\n\n  var reactNativeDelegate: ExpoReactNativeFactoryDelegate?\n  var reactNativeFactory: RCTReactNativeFactory?\n\n  public override func application(\n    _ application: UIApplication,\n    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil\n  ) -> Bool {\n    let delegate = ReactNativeDelegate()\n    let factory = ExpoReactNativeFactory(delegate: delegate)\n    delegate.dependencyProvider = RCTAppDependencyProvider()\n\n    reactNativeDelegate = delegate\n    reactNativeFactory = factory\n    bindReactNativeFactory(factory)\n\n#if os(iOS) || os(tvOS)\n    window = UIWindow(frame: UIScreen.main.bounds)\n    factory.startReactNative(\n      withModuleName: \"main\",\n      in: window,\n      launchOptions: launchOptions)\n#endif\n\n    return super.application(application, didFinishLaunchingWithOptions: launchOptions)\n  }\n\n  // Linking API\n  public override func application(\n    _ app: UIApplication,\n    open url: URL,\n    options: [UIApplication.OpenURLOptionsKey: Any] = [:]\n  ) -> Bool {\n    return super.application(app, open: url, options: options) || RCTLinkingManager.application(app, open: url, options: options)\n  }\n\n  // Universal Links\n  public override func application(\n    _ application: UIApplication,\n    continue userActivity: NSUserActivity,\n    restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void\n  ) -> Bool {\n    let result = RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)\n    return super.application(application, continue: userActivity, restorationHandler: restorationHandler) || result\n  }\n}\n\nclass ReactNativeDelegate: ExpoReactNativeFactoryDelegate {\n  // Extension point for config-plugins\n\n  override func sourceURL(for bridge: RCTBridge) -> URL? {\n    // needed to return the correct URL for expo-dev-client.\n    bridge.bundleURL ?? bundleURL()\n  }\n\n  override func bundleURL() -> URL? {\n#if DEBUG\n    return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: \".expo/.virtual-metro-entry\")\n#else\n    return Bundle.main.url(forResource: \"main\", withExtension: \"jsbundle\")\n#endif\n  }\n}\n"
  },
  {
    "path": "example/ios/expoliquidglassexample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\": [\n    {\n      \"filename\": \"App-Icon-1024x1024@1x.png\",\n      \"idiom\": \"universal\",\n      \"platform\": \"ios\",\n      \"size\": \"1024x1024\"\n    }\n  ],\n  \"info\": {\n    \"version\": 1,\n    \"author\": \"expo\"\n  }\n}"
  },
  {
    "path": "example/ios/expoliquidglassexample/Images.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"expo\"\n  }\n}\n"
  },
  {
    "path": "example/ios/expoliquidglassexample/Images.xcassets/SplashScreenBackground.colorset/Contents.json",
    "content": "{\n  \"colors\": [\n    {\n      \"color\": {\n        \"components\": {\n          \"alpha\": \"1.000\",\n          \"blue\": \"1.00000000000000\",\n          \"green\": \"1.00000000000000\",\n          \"red\": \"1.00000000000000\"\n        },\n        \"color-space\": \"srgb\"\n      },\n      \"idiom\": \"universal\"\n    }\n  ],\n  \"info\": {\n    \"version\": 1,\n    \"author\": \"expo\"\n  }\n}"
  },
  {
    "path": "example/ios/expoliquidglassexample/Images.xcassets/SplashScreenLogo.imageset/Contents.json",
    "content": "{\n  \"images\": [\n    {\n      \"idiom\": \"universal\",\n      \"filename\": \"image.png\",\n      \"scale\": \"1x\"\n    },\n    {\n      \"idiom\": \"universal\",\n      \"filename\": \"image@2x.png\",\n      \"scale\": \"2x\"\n    },\n    {\n      \"idiom\": \"universal\",\n      \"filename\": \"image@3x.png\",\n      \"scale\": \"3x\"\n    }\n  ],\n  \"info\": {\n    \"version\": 1,\n    \"author\": \"expo\"\n  }\n}"
  },
  {
    "path": "example/ios/expoliquidglassexample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n  <dict>\n    <key>CADisableMinimumFrameDurationOnPhone</key>\n    <true/>\n    <key>CFBundleDevelopmentRegion</key>\n    <string>$(DEVELOPMENT_LANGUAGE)</string>\n    <key>CFBundleDisplayName</key>\n    <string>expo-liquid-glass-example</string>\n    <key>CFBundleExecutable</key>\n    <string>$(EXECUTABLE_NAME)</string>\n    <key>CFBundleIdentifier</key>\n    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n    <key>CFBundleInfoDictionaryVersion</key>\n    <string>6.0</string>\n    <key>CFBundleName</key>\n    <string>$(PRODUCT_NAME)</string>\n    <key>CFBundlePackageType</key>\n    <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>\n    <key>CFBundleShortVersionString</key>\n    <string>1.0.0</string>\n    <key>CFBundleSignature</key>\n    <string>????</string>\n    <key>CFBundleURLTypes</key>\n    <array>\n      <dict>\n        <key>CFBundleURLSchemes</key>\n        <array>\n          <string>expo.modules.liquidglass.example</string>\n        </array>\n      </dict>\n    </array>\n    <key>CFBundleVersion</key>\n    <string>1</string>\n    <key>LSMinimumSystemVersion</key>\n    <string>12.0</string>\n    <key>LSRequiresIPhoneOS</key>\n    <true/>\n    <key>NSAppTransportSecurity</key>\n    <dict>\n      <key>NSAllowsArbitraryLoads</key>\n      <false/>\n      <key>NSAllowsLocalNetworking</key>\n      <true/>\n    </dict>\n    <key>UILaunchStoryboardName</key>\n    <string>SplashScreen</string>\n    <key>UIRequiredDeviceCapabilities</key>\n    <array>\n      <string>arm64</string>\n    </array>\n    <key>UIRequiresFullScreen</key>\n    <false/>\n    <key>UIStatusBarStyle</key>\n    <string>UIStatusBarStyleDefault</string>\n    <key>UISupportedInterfaceOrientations</key>\n    <array>\n      <string>UIInterfaceOrientationPortrait</string>\n      <string>UIInterfaceOrientationPortraitUpsideDown</string>\n    </array>\n    <key>UISupportedInterfaceOrientations~ipad</key>\n    <array>\n      <string>UIInterfaceOrientationPortrait</string>\n      <string>UIInterfaceOrientationPortraitUpsideDown</string>\n      <string>UIInterfaceOrientationLandscapeLeft</string>\n      <string>UIInterfaceOrientationLandscapeRight</string>\n    </array>\n    <key>UIUserInterfaceStyle</key>\n    <string>Light</string>\n    <key>UIViewControllerBasedStatusBarAppearance</key>\n    <false/>\n  </dict>\n</plist>"
  },
  {
    "path": "example/ios/expoliquidglassexample/PrivacyInfo.xcprivacy",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>NSPrivacyAccessedAPITypes</key>\n\t<array>\n\t\t<dict>\n\t\t\t<key>NSPrivacyAccessedAPIType</key>\n\t\t\t<string>NSPrivacyAccessedAPICategoryUserDefaults</string>\n\t\t\t<key>NSPrivacyAccessedAPITypeReasons</key>\n\t\t\t<array>\n\t\t\t\t<string>CA92.1</string>\n\t\t\t</array>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>NSPrivacyAccessedAPIType</key>\n\t\t\t<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>\n\t\t\t<key>NSPrivacyAccessedAPITypeReasons</key>\n\t\t\t<array>\n\t\t\t\t<string>0A2A.1</string>\n\t\t\t\t<string>3B52.1</string>\n\t\t\t\t<string>C617.1</string>\n\t\t\t</array>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>NSPrivacyAccessedAPIType</key>\n\t\t\t<string>NSPrivacyAccessedAPICategoryDiskSpace</string>\n\t\t\t<key>NSPrivacyAccessedAPITypeReasons</key>\n\t\t\t<array>\n\t\t\t\t<string>E174.1</string>\n\t\t\t\t<string>85F4.1</string>\n\t\t\t</array>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>NSPrivacyAccessedAPIType</key>\n\t\t\t<string>NSPrivacyAccessedAPICategorySystemBootTime</string>\n\t\t\t<key>NSPrivacyAccessedAPITypeReasons</key>\n\t\t\t<array>\n\t\t\t\t<string>35F9.1</string>\n\t\t\t</array>\n\t\t</dict>\n\t</array>\n\t<key>NSPrivacyCollectedDataTypes</key>\n\t<array/>\n\t<key>NSPrivacyTracking</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/expoliquidglassexample/SplashScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"32700.99.1234\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"EXPO-VIEWCONTROLLER-1\">\n    <device id=\"retina6_12\" orientation=\"portrait\" appearance=\"light\"/>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"22685\"/>\n        <capability name=\"Named colors\" minToolsVersion=\"9.0\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <scene sceneID=\"EXPO-SCENE-1\">\n            <objects>\n                <viewController storyboardIdentifier=\"SplashScreenViewController\" id=\"EXPO-VIEWCONTROLLER-1\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"EXPO-ContainerView\" userLabel=\"ContainerView\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"393\" height=\"852\"/>\n                        <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                        <subviews>\n                            <imageView id=\"EXPO-SplashScreen\" userLabel=\"SplashScreenLogo\" image=\"SplashScreenLogo\" contentMode=\"scaleAspectFit\" clipsSubviews=\"true\" userInteractionEnabled=\"false\" translatesAutoresizingMaskIntoConstraints=\"false\">\n                                <rect key=\"frame\" x=\"0\" y=\"0\" width=\"414\" height=\"736\"/>\n                            </imageView>\n                        </subviews>\n                        <viewLayoutGuide key=\"safeArea\" id=\"Rmq-lb-GrQ\"/>\n                        <constraints>\n                            <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"top\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"top\" id=\"83fcb9b545b870ba44c24f0feeb116490c499c52\"/>\n                            <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"leading\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"leading\" id=\"61d16215e44b98e39d0a2c74fdbfaaa22601b12c\"/>\n                            <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"trailing\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"trailing\" id=\"f934da460e9ab5acae3ad9987d5b676a108796c1\"/>\n                            <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"bottom\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"bottom\" id=\"d6a0be88096b36fb132659aa90203d39139deda9\"/>\n                        </constraints>\n                        <color key=\"backgroundColor\" name=\"SplashScreenBackground\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"EXPO-PLACEHOLDER-1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"0.0\" y=\"0.0\"/>\n        </scene>\n    </scenes>\n    <resources>\n        <image name=\"SplashScreenLogo\" width=\"414\" height=\"736\"/>\n        <namedColor name=\"SplashScreenBackground\">\n            <color alpha=\"1.000\" blue=\"1.00000000000000\" green=\"1.00000000000000\" red=\"1.00000000000000\" customColorSpace=\"sRGB\" colorSpace=\"custom\"/>\n        </namedColor>\n    </resources>\n</document>"
  },
  {
    "path": "example/ios/expoliquidglassexample/Supporting/Expo.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n  <dict>\n    <key>EXUpdatesCheckOnLaunch</key>\n    <string>ALWAYS</string>\n    <key>EXUpdatesEnabled</key>\n    <false/>\n    <key>EXUpdatesLaunchWaitMs</key>\n    <integer>0</integer>\n  </dict>\n</plist>"
  },
  {
    "path": "example/ios/expoliquidglassexample/expoliquidglassexample-Bridging-Header.h",
    "content": "//\n// Use this file to import your target's public headers that you would like to expose to Swift.\n//\n"
  },
  {
    "path": "example/ios/expoliquidglassexample/expoliquidglassexample.entitlements",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n  <dict/>\n</plist>"
  },
  {
    "path": "example/ios/expoliquidglassexample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };\n\t\t273E81AD0335CBEF96B896C6 /* libPods-expoliquidglassexample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 51F6C847FB2D4930BE9940B2 /* libPods-expoliquidglassexample.a */; };\n\t\t3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };\n\t\t6A9133C881153F765327B585 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD87AAED3D97A13C324569A /* ExpoModulesProvider.swift */; };\n\t\t6EE0FC273F935368C199F33A /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = C762BBF9BCCCC89ED572CFC1 /* PrivacyInfo.xcprivacy */; };\n\t\tBB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };\n\t\tF11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11748412D0307B40044C1D9 /* AppDelegate.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t13B07F961A680F5B00A75B9A /* expoliquidglassexample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = expoliquidglassexample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = expoliquidglassexample/Images.xcassets; sourceTree = \"<group>\"; };\n\t\t13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = expoliquidglassexample/Info.plist; sourceTree = \"<group>\"; };\n\t\t51F6C847FB2D4930BE9940B2 /* libPods-expoliquidglassexample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-expoliquidglassexample.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t94770A3A0E8E6E2756728920 /* Pods-expoliquidglassexample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-expoliquidglassexample.release.xcconfig\"; path = \"Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tAA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = expoliquidglassexample/SplashScreen.storyboard; sourceTree = \"<group>\"; };\n\t\tBB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = \"<group>\"; };\n\t\tBBD87AAED3D97A13C324569A /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = \"Pods/Target Support Files/Pods-expoliquidglassexample/ExpoModulesProvider.swift\"; sourceTree = \"<group>\"; };\n\t\tBFB54A0A553C92C1BA2AEA9B /* Pods-expoliquidglassexample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-expoliquidglassexample.debug.xcconfig\"; path = \"Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tC762BBF9BCCCC89ED572CFC1 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = expoliquidglassexample/PrivacyInfo.xcprivacy; sourceTree = \"<group>\"; };\n\t\tED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };\n\t\tF11748412D0307B40044C1D9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = expoliquidglassexample/AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tF11748442D0722820044C1D9 /* expoliquidglassexample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"expoliquidglassexample-Bridging-Header.h\"; path = \"expoliquidglassexample/expoliquidglassexample-Bridging-Header.h\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t273E81AD0335CBEF96B896C6 /* libPods-expoliquidglassexample.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t13B07FAE1A68108700A75B9A /* expoliquidglassexample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF11748412D0307B40044C1D9 /* AppDelegate.swift */,\n\t\t\t\tF11748442D0722820044C1D9 /* expoliquidglassexample-Bridging-Header.h */,\n\t\t\t\tBB2F792B24A3F905000567C9 /* Supporting */,\n\t\t\t\t13B07FB51A68108700A75B9A /* Images.xcassets */,\n\t\t\t\t13B07FB61A68108700A75B9A /* Info.plist */,\n\t\t\t\tAA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,\n\t\t\t\tC762BBF9BCCCC89ED572CFC1 /* PrivacyInfo.xcprivacy */,\n\t\t\t);\n\t\t\tname = expoliquidglassexample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDF3FEE1C95528445000776 /* ExpoModulesProviders */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0BBAE60C308C81C63F05CD4 /* expoliquidglassexample */,\n\t\t\t);\n\t\t\tname = ExpoModulesProviders;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tED297162215061F000B7C4FE /* JavaScriptCore.framework */,\n\t\t\t\t51F6C847FB2D4930BE9940B2 /* libPods-expoliquidglassexample.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t832341AE1AAA6A7D00B99B32 /* Libraries */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t);\n\t\t\tname = Libraries;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t83CBB9F61A601CBA00E9B192 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07FAE1A68108700A75B9A /* expoliquidglassexample */,\n\t\t\t\t832341AE1AAA6A7D00B99B32 /* Libraries */,\n\t\t\t\t83CBBA001A601CBA00E9B192 /* Products */,\n\t\t\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */,\n\t\t\t\tF3269B31D3DCC28BBDACC4B3 /* Pods */,\n\t\t\t\t1DDF3FEE1C95528445000776 /* ExpoModulesProviders */,\n\t\t\t);\n\t\t\tindentWidth = 2;\n\t\t\tsourceTree = \"<group>\";\n\t\t\ttabWidth = 2;\n\t\t\tusesTabs = 0;\n\t\t};\n\t\t83CBBA001A601CBA00E9B192 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07F961A680F5B00A75B9A /* expoliquidglassexample.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0BBAE60C308C81C63F05CD4 /* expoliquidglassexample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBBD87AAED3D97A13C324569A /* ExpoModulesProvider.swift */,\n\t\t\t);\n\t\t\tname = expoliquidglassexample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tBB2F792B24A3F905000567C9 /* Supporting */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBB2F792C24A3F905000567C9 /* Expo.plist */,\n\t\t\t);\n\t\t\tname = Supporting;\n\t\t\tpath = expoliquidglassexample/Supporting;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF3269B31D3DCC28BBDACC4B3 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBFB54A0A553C92C1BA2AEA9B /* Pods-expoliquidglassexample.debug.xcconfig */,\n\t\t\t\t94770A3A0E8E6E2756728920 /* Pods-expoliquidglassexample.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tpath = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t13B07F861A680F5B00A75B9A /* expoliquidglassexample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"expoliquidglassexample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t23E98009D95118211293BEED /* [Expo] Configure project */,\n\t\t\t\t13B07F871A680F5B00A75B9A /* Sources */,\n\t\t\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */,\n\t\t\t\t13B07F8E1A680F5B00A75B9A /* Resources */,\n\t\t\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,\n\t\t\t\t800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,\n\t\t\t\t47747F1187DB8FCC013763D0 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = expoliquidglassexample;\n\t\t\tproductName = expoliquidglassexample;\n\t\t\tproductReference = 13B07F961A680F5B00A75B9A /* expoliquidglassexample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t83CBB9F71A601CBA00E9B192 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 1130;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t13B07F861A680F5B00A75B9A = {\n\t\t\t\t\t\tLastSwiftMigration = 1250;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"expoliquidglassexample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 83CBB9F61A601CBA00E9B192;\n\t\t\tproductRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t13B07F861A680F5B00A75B9A /* expoliquidglassexample */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t13B07F8E1A680F5B00A75B9A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tBB2F792D24A3F905000567C9 /* Expo.plist in Resources */,\n\t\t\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,\n\t\t\t\t3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,\n\t\t\t\t6EE0FC273F935368C199F33A /* PrivacyInfo.xcprivacy in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\talwaysOutOfDate = 1;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Bundle React Native code and images\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"if [[ -f \\\"$PODS_ROOT/../.xcode.env\\\" ]]; then\\n  source \\\"$PODS_ROOT/../.xcode.env\\\"\\nfi\\nif [[ -f \\\"$PODS_ROOT/../.xcode.env.local\\\" ]]; then\\n  source \\\"$PODS_ROOT/../.xcode.env.local\\\"\\nfi\\n\\n# The project root by default is one level up from the ios directory\\nexport PROJECT_ROOT=\\\"$PROJECT_DIR\\\"/..\\n\\nif [[ \\\"$CONFIGURATION\\\" = *Debug* ]]; then\\n  export SKIP_BUNDLING=1\\nfi\\nif [[ -z \\\"$ENTRY_FILE\\\" ]]; then\\n  # Set the entry JS file using the bundler's entry resolution.\\n  export ENTRY_FILE=\\\"$(\\\"$NODE_BINARY\\\" -e \\\"require('expo/scripts/resolveAppEntry')\\\" \\\"$PROJECT_ROOT\\\" ios absolute | tail -n 1)\\\"\\nfi\\n\\nif [[ -z \\\"$CLI_PATH\\\" ]]; then\\n  # Use Expo CLI\\n  export CLI_PATH=\\\"$(\\\"$NODE_BINARY\\\" --print \\\"require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })\\\")\\\"\\nfi\\nif [[ -z \\\"$BUNDLE_COMMAND\\\" ]]; then\\n  # Default Expo CLI command for bundling\\n  export BUNDLE_COMMAND=\\\"export:embed\\\"\\nfi\\n\\n# Source .xcode.env.updates if it exists to allow\\n# SKIP_BUNDLING to be unset if needed\\nif [[ -f \\\"$PODS_ROOT/../.xcode.env.updates\\\" ]]; then\\n  source \\\"$PODS_ROOT/../.xcode.env.updates\\\"\\nfi\\n# Source local changes to allow overrides\\n# if needed\\nif [[ -f \\\"$PODS_ROOT/../.xcode.env.local\\\" ]]; then\\n  source \\\"$PODS_ROOT/../.xcode.env.local\\\"\\nfi\\n\\n`\\\"$NODE_BINARY\\\" --print \\\"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\\\"`\\n\\n\";\n\t\t};\n\t\t08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-expoliquidglassexample-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t23E98009D95118211293BEED /* [Expo] Configure project */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\talwaysOutOfDate = 1;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[Expo] Configure project\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"# This script configures Expo modules and generates the modules provider file.\\nbash -l -c \\\"./Pods/Target\\\\ Support\\\\ Files/Pods-expoliquidglassexample/expo-configure-project.sh\\\"\\n\";\n\t\t};\n\t\t47747F1187DB8FCC013763D0 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_ROOT}/Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample-frameworks.sh\",\n\t\t\t\t\"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${PODS_ROOT}/Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_ROOT}/Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample-resources.sh\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle\",\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${PODS_ROOT}/Target Support Files/Pods-expoliquidglassexample/Pods-expoliquidglassexample-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t13B07F871A680F5B00A75B9A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */,\n\t\t\t\t6A9133C881153F765327B585 /* ExpoModulesProvider.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t13B07F941A680F5B00A75B9A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = BFB54A0A553C92C1BA2AEA9B /* Pods-expoliquidglassexample.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = expoliquidglassexample/expoliquidglassexample.entitlements;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"FB_SONARKIT_ENABLED=1\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = expoliquidglassexample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 15.1;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"@executable_path/Frameworks\",\n\t\t\t\t);\n\t\t\t\tMARKETING_VERSION = 1.0;\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tOTHER_SWIFT_FLAGS = \"$(inherited) -D EXPO_CONFIGURATION_DEBUG\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = expo.modules.liquidglass.example;\n\t\t\t\tPRODUCT_NAME = expoliquidglassexample;\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"expoliquidglassexample/expoliquidglassexample-Bridging-Header.h\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t13B07F951A680F5B00A75B9A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 94770A3A0E8E6E2756728920 /* Pods-expoliquidglassexample.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = expoliquidglassexample/expoliquidglassexample.entitlements;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tINFOPLIST_FILE = expoliquidglassexample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 15.1;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"@executable_path/Frameworks\",\n\t\t\t\t);\n\t\t\t\tMARKETING_VERSION = 1.0;\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tOTHER_SWIFT_FLAGS = \"$(inherited) -D EXPO_CONFIGURATION_RELEASE\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = expo.modules.liquidglass.example;\n\t\t\t\tPRODUCT_NAME = expoliquidglassexample;\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"expoliquidglassexample/expoliquidglassexample-Bridging-Header.h\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t83CBBA201A601CBA00E9B192 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"c++20\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 15.1;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t/usr/lib/swift,\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tLIBRARY_SEARCH_PATHS = \"$(SDKROOT)/usr/lib/swift\\\"$(inherited)\\\"\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\" \",\n\t\t\t\t);\n\t\t\t\tREACT_NATIVE_PATH = \"${PODS_ROOT}/../../node_modules/react-native\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = \"$(inherited) DEBUG\";\n\t\t\t\tUSE_HERMES = true;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t83CBBA211A601CBA00E9B192 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"c++20\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 15.1;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t/usr/lib/swift,\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tLIBRARY_SEARCH_PATHS = \"$(SDKROOT)/usr/lib/swift\\\"$(inherited)\\\"\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\" \",\n\t\t\t\t);\n\t\t\t\tREACT_NATIVE_PATH = \"${PODS_ROOT}/../../node_modules/react-native\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tUSE_HERMES = true;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"expoliquidglassexample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t13B07F941A680F5B00A75B9A /* Debug */,\n\t\t\t\t13B07F951A680F5B00A75B9A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"expoliquidglassexample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t83CBBA201A601CBA00E9B192 /* Debug */,\n\t\t\t\t83CBBA211A601CBA00E9B192 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;\n}\n"
  },
  {
    "path": "example/ios/expoliquidglassexample.xcodeproj/xcshareddata/xcschemes/expoliquidglassexample.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1130\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n               BuildableName = \"expoliquidglassexample.app\"\n               BlueprintName = \"expoliquidglassexample\"\n               ReferencedContainer = \"container:expoliquidglassexample.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"00E356ED1AD99517003FC87E\"\n               BuildableName = \"expoliquidglassexampleTests.xctest\"\n               BlueprintName = \"expoliquidglassexampleTests\"\n               ReferencedContainer = \"container:expoliquidglassexample.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"expoliquidglassexample.app\"\n            BlueprintName = \"expoliquidglassexample\"\n            ReferencedContainer = \"container:expoliquidglassexample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"expoliquidglassexample.app\"\n            BlueprintName = \"expoliquidglassexample\"\n            ReferencedContainer = \"container:expoliquidglassexample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "example/ios/expoliquidglassexample.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:expoliquidglassexample.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "example/metro.config.js",
    "content": "// Learn more https://docs.expo.io/guides/customizing-metro\nconst { getDefaultConfig } = require('expo/metro-config');\nconst path = require('path');\n\nconst config = getDefaultConfig(__dirname);\n\n// npm v7+ will install ../node_modules/react and ../node_modules/react-native because of peerDependencies.\n// To prevent the incompatible react-native between ./node_modules/react-native and ../node_modules/react-native,\n// excludes the one from the parent folder when bundling.\nconfig.resolver.blockList = [\n  ...Array.from(config.resolver.blockList ?? []),\n  new RegExp(path.resolve('..', 'node_modules', 'react')),\n  new RegExp(path.resolve('..', 'node_modules', 'react-native')),\n];\n\nconfig.resolver.nodeModulesPaths = [\n  path.resolve(__dirname, './node_modules'),\n  path.resolve(__dirname, '../node_modules'),\n];\n\nconfig.resolver.extraNodeModules = {\n  'expo-liquid-glass': '..',\n};\n\nconfig.watchFolders = [path.resolve(__dirname, '..')];\n\nconfig.transformer.getTransformOptions = async () => ({\n  transform: {\n    experimentalImportSupport: false,\n    inlineRequires: true,\n  },\n});\n\nmodule.exports = config;\n"
  },
  {
    "path": "example/package.json",
    "content": "{\n  \"name\": \"expo-liquid-glass-example\",\n  \"version\": \"1.0.1\",\n  \"main\": \"index.ts\",\n  \"scripts\": {\n    \"start\": \"expo start\",\n    \"android\": \"expo run:android\",\n    \"ios\": \"expo run:ios\",\n    \"web\": \"expo start --web\"\n  },\n  \"dependencies\": {\n    \"@expo/ui\": \"0.1.1-alpha.10\",\n    \"@expo/vector-icons\": \"^14.1.0\",\n    \"expo\": \"~53.0.20\",\n    \"expo-linear-gradient\": \"^14.1.5\",\n    \"expo-symbols\": \"^0.4.5\",\n    \"react\": \"19.0.0\",\n    \"react-native\": \"0.79.5\",\n    \"react-native-animated-pagination-dots\": \"^0.1.73\",\n    \"react-native-video\": \"^6.16.1\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.25.2\",\n    \"@types/react\": \"~19.0.10\",\n    \"typescript\": \"~5.8.3\"\n  },\n  \"private\": true,\n  \"expo\": {\n    \"autolinking\": {\n      \"nativeModulesDir\": \"..\"\n    }\n  }\n}\n"
  },
  {
    "path": "example/screens/ComplexVideo.tsx",
    "content": "import {\n  View,\n  Text,\n  StyleSheet,\n  ImageBackground,\n  ScrollView,\n  StatusBar,\n  TouchableOpacity,\n  Button,\n  Animated,\n} from \"react-native\";\nimport React, { useState, useRef } from \"react\";\nimport {\n  CornerStyle,\n  ExpoLiquidGlassView,\n  LiquidGlassType,\n} from \"expo-liquid-glass-view\";\nimport { SymbolView } from \"expo-symbols\";\nimport {\n  Ionicons,\n  MaterialCommunityIcons,\n  Feather,\n  AntDesign,\n  FontAwesome,\n} from \"@expo/vector-icons\";\nimport * as constants from \"../constants\";\nimport Video from \"react-native-video\";\n\nexport default function App() {\n  const [showEye, setShowEye] = useState<boolean>(true);\n  const [currentVideoIndex, setCurrentVideoIndex] = useState(0);\n  const [isTransitioning, setIsTransitioning] = useState(false);\n  const overlayOpacity = useRef(new Animated.Value(0)).current;\n\n  const videoSources = [\n    require(\"./video/liquid-background.mp4\"),\n    require(\"./video/abstract.mp4\"),\n    require(\"./video/sunny-beach.mp4\"),\n  ];\n\n  const handleVideoChange = () => {\n    if (isTransitioning) return;\n\n    setIsTransitioning(true);\n\n    Animated.sequence([\n      Animated.timing(overlayOpacity, {\n        toValue: 1,\n        duration: 300,\n        useNativeDriver: true,\n      }),\n\n      Animated.delay(50),\n\n      Animated.timing(overlayOpacity, {\n        toValue: 0,\n        duration: 300,\n        useNativeDriver: true,\n      }),\n    ]).start(() => {\n      setIsTransitioning(false);\n    });\n\n    setTimeout(() => {\n      const nextIndex = (currentVideoIndex + 1) % videoSources.length;\n      setCurrentVideoIndex(nextIndex);\n    }, 350);\n  };\n\n  const onEyePress = () => {\n    setShowEye(!showEye);\n  };\n\n  return (\n    <View style={styles.container}>\n      <Video\n        source={videoSources[currentVideoIndex]}\n        style={StyleSheet.absoluteFill}\n        resizeMode=\"cover\"\n        muted={true}\n        repeat={true}\n        paused={false}\n        playInBackground={false}\n        playWhenInactive={false}\n      />\n\n      <Animated.View\n        style={[\n          StyleSheet.absoluteFill,\n          {\n            opacity: overlayOpacity,\n            backgroundColor: \"rgba(0,0,0,0.8)\",\n            zIndex: 1,\n          },\n        ]}\n        pointerEvents=\"none\"\n      />\n\n      <View style={[StyleSheet.absoluteFill, { zIndex: 2 }]}>\n        <StatusBar barStyle=\"light-content\" />\n\n        <ScrollView\n          contentInsetAdjustmentBehavior=\"always\"\n          contentContainerStyle={styles.scrollContainer}\n          showsVerticalScrollIndicator={false}\n        >\n          <View style={styles.header}>\n            <ExpoLiquidGlassView\n              cornerRadius={25}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={styles.headerGlass}\n            >\n              <View style={styles.headerContent}>\n                <View style={styles.headerTop}>\n                  <View style={styles.profileSection}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={25}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.profileAvatar}\n                    >\n                      <View style={styles.avatarContent}>\n                        <Ionicons name=\"person\" size={20} color=\"white\" />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <View style={styles.greetingSection}>\n                      <Text style={styles.greeting}>Good Evening</Text>\n                      <Text style={styles.userName}>rit3zh</Text>\n                    </View>\n                  </View>\n                  <TouchableOpacity>\n                    <ExpoLiquidGlassView\n                      cornerRadius={20}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.notificationIcon}\n                    >\n                      <View style={styles.iconContent}>\n                        <Ionicons\n                          name=\"notifications-outline\"\n                          size={18}\n                          color=\"white\"\n                        />\n                        <View style={styles.notificationBadge} />\n                      </View>\n                    </ExpoLiquidGlassView>\n                  </TouchableOpacity>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n          </View>\n\n          <View style={styles.quickActionsSection}>\n            <View style={styles.quickActionsGrid}>\n              <TouchableOpacity style={styles.quickActionItem}>\n                <ExpoLiquidGlassView\n                  cornerRadius={30}\n                  cornerStyle={CornerStyle.Circular}\n                  type={LiquidGlassType.Clear}\n                  style={styles.quickActionGlass}\n                >\n                  <View style={styles.quickActionContent}>\n                    <SymbolView\n                      name=\"creditcard\"\n                      size={24}\n                      type=\"monochrome\"\n                      tintColor=\"white\"\n                    />\n                    <Text style={styles.quickActionText}>Pay</Text>\n                  </View>\n                </ExpoLiquidGlassView>\n              </TouchableOpacity>\n\n              <TouchableOpacity style={styles.quickActionItem}>\n                <ExpoLiquidGlassView\n                  cornerRadius={30}\n                  cornerStyle={CornerStyle.Circular}\n                  type={LiquidGlassType.Clear}\n                  style={styles.quickActionGlass}\n                >\n                  <View style={styles.quickActionContent}>\n                    <SymbolView\n                      name=\"arrow.up.arrow.down\"\n                      size={24}\n                      type=\"monochrome\"\n                      tintColor=\"white\"\n                    />\n                    <Text style={styles.quickActionText}>Transfer</Text>\n                  </View>\n                </ExpoLiquidGlassView>\n              </TouchableOpacity>\n\n              <TouchableOpacity style={styles.quickActionItem}>\n                <ExpoLiquidGlassView\n                  cornerRadius={30}\n                  cornerStyle={CornerStyle.Circular}\n                  type={LiquidGlassType.Clear}\n                  style={styles.quickActionGlass}\n                >\n                  <View style={styles.quickActionContent}>\n                    <SymbolView\n                      name=\"plus\"\n                      size={24}\n                      type=\"monochrome\"\n                      tintColor=\"white\"\n                    />\n                    <Text style={styles.quickActionText}>Top Up</Text>\n                  </View>\n                </ExpoLiquidGlassView>\n              </TouchableOpacity>\n\n              <TouchableOpacity style={styles.quickActionItem}>\n                <ExpoLiquidGlassView\n                  cornerRadius={30}\n                  cornerStyle={CornerStyle.Circular}\n                  type={LiquidGlassType.Clear}\n                  style={styles.quickActionGlass}\n                >\n                  <View style={styles.quickActionContent}>\n                    <SymbolView\n                      name=\"chart.bar\"\n                      size={24}\n                      type=\"monochrome\"\n                      tintColor=\"white\"\n                    />\n                    <Text style={styles.quickActionText}>Analytics</Text>\n                  </View>\n                </ExpoLiquidGlassView>\n              </TouchableOpacity>\n            </View>\n          </View>\n\n          <View style={styles.balanceSection}>\n            <ExpoLiquidGlassView\n              cornerRadius={20}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={styles.balanceOverviewGlass}\n            >\n              <View style={styles.balanceOverviewContent}>\n                <View style={styles.balanceHeader}>\n                  <Text style={styles.balanceTitle}>Total Balance</Text>\n                  <TouchableOpacity onPress={onEyePress}>\n                    <Feather\n                      name={showEye ? \"eye\" : \"eye-off\"}\n                      size={18}\n                      color=\"rgba(255,255,255,0.7)\"\n                    />\n                  </TouchableOpacity>\n                </View>\n                <Text style={styles.totalBalance}>\n                  {showEye ? \"$12,547.85\" : \"**********\"}\n                </Text>\n                <View style={styles.balanceChange}>\n                  <AntDesign name=\"arrowup\" size={12} color=\"#4ECDC4\" />\n                  <Text style={styles.changeText}>+2.5% from last month</Text>\n                </View>\n\n                <View style={styles.balanceBreakdown}>\n                  <View style={styles.breakdownItem}>\n                    <Text style={styles.breakdownLabel}>Checking</Text>\n                    <Text style={styles.breakdownAmount}>$8,247.85</Text>\n                  </View>\n                  <View style={styles.breakdownItem}>\n                    <Text style={styles.breakdownLabel}>Savings</Text>\n                    <Text style={styles.breakdownAmount}>$4,300.00</Text>\n                  </View>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n          </View>\n\n          <View style={styles.cardSection}>\n            <View style={styles.sectionHeader}>\n              <Text\n                style={{\n                  fontSize: 22,\n                  fontWeight: \"bold\",\n                  color: \"white\",\n                  marginBottom: 10,\n                }}\n              >\n                My Cards\n              </Text>\n              <TouchableOpacity>\n                <Text style={styles.seeAllText}>See All</Text>\n              </TouchableOpacity>\n            </View>\n\n            <ScrollView\n              horizontal\n              showsHorizontalScrollIndicator={false}\n              style={styles.cardsScroll}\n            >\n              <ExpoLiquidGlassView\n                cornerRadius={20}\n                cornerStyle={CornerStyle.Circular}\n                type={LiquidGlassType.Clear}\n                style={styles.creditCardGlass}\n              >\n                <View style={styles.creditCardContent}>\n                  <View style={styles.cardHeader}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={8}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.cardChip}\n                    >\n                      <View style={styles.chipContent}>\n                        <MaterialCommunityIcons\n                          name=\"chip\"\n                          size={20}\n                          color=\"rgba(255,255,255,0.8)\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <FontAwesome name=\"cc-visa\" size={24} color=\"white\" />\n                  </View>\n\n                  <Text style={styles.cardNumber}>2566 8478 8974 2135</Text>\n                  <Text style={styles.cardHolder}>FIDAN PARAJULLAYEVA</Text>\n\n                  <View style={styles.cardFooter}>\n                    <Text style={styles.expiryDate}>10/27</Text>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.contactlessIcon}\n                    >\n                      <View style={styles.contactlessContent}>\n                        <MaterialCommunityIcons\n                          name=\"contactless-payment\"\n                          size={16}\n                          color=\"white\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                  </View>\n                </View>\n              </ExpoLiquidGlassView>\n\n              <ExpoLiquidGlassView\n                cornerRadius={20}\n                cornerStyle={CornerStyle.Circular}\n                type={LiquidGlassType.Clear}\n                style={[styles.creditCardGlass, styles.secondaryCard]}\n              >\n                <View style={styles.creditCardContent}>\n                  <View style={styles.cardHeader}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={8}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.cardChip}\n                    >\n                      <View style={styles.chipContent}>\n                        <MaterialCommunityIcons\n                          name=\"chip\"\n                          size={20}\n                          color=\"rgba(255,255,255,0.8)\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <FontAwesome name=\"cc-mastercard\" size={24} color=\"white\" />\n                  </View>\n\n                  <Text style={styles.cardNumber}>4521 •••• •••• 8901</Text>\n                  <Text style={styles.cardHolder}>BUSINESS CARD</Text>\n\n                  <View style={styles.cardFooter}>\n                    <Text style={styles.expiryDate}>08/26</Text>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.contactlessIcon}\n                    >\n                      <View style={styles.contactlessContent}>\n                        <MaterialCommunityIcons\n                          name=\"contactless-payment\"\n                          size={16}\n                          color=\"white\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                  </View>\n                </View>\n              </ExpoLiquidGlassView>\n            </ScrollView>\n          </View>\n\n          <View style={styles.analyticsSection}>\n            <Text\n              style={{\n                fontSize: 22,\n                fontWeight: \"bold\",\n                color: \"white\",\n                marginBottom: 30,\n                marginTop: 20,\n              }}\n            >\n              This Month's Spending\n            </Text>\n\n            <ExpoLiquidGlassView\n              cornerRadius={20}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={{\n                width: \"100%\",\n                height: 250,\n              }}\n            >\n              <View style={styles.analyticsContent}>\n                <View style={styles.spendingHeader}>\n                  <Text style={styles.spentAmount}>$2,847.32</Text>\n                  <Text style={styles.spentLabel}>of $5,000 budget</Text>\n                </View>\n\n                <View style={styles.progressBar}>\n                  <View style={styles.progressFill} />\n                </View>\n\n                <View style={styles.categoriesGrid}>\n                  <View style={styles.categoryItem}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.categoryIcon}\n                    >\n                      <View style={styles.categoryIconContent}>\n                        <SymbolView\n                          name=\"fork.knife\"\n                          size={16}\n                          type=\"monochrome\"\n                          tintColor=\"#FF6B6B\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <Text style={styles.categoryLabel}>Food</Text>\n                    <Text style={styles.categoryAmount}>$847</Text>\n                  </View>\n\n                  <View style={styles.categoryItem}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.categoryIcon}\n                    >\n                      <View style={styles.categoryIconContent}>\n                        <SymbolView\n                          name=\"car\"\n                          size={16}\n                          type=\"monochrome\"\n                          tintColor=\"#4ECDC4\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <Text style={styles.categoryLabel}>Transport</Text>\n                    <Text style={styles.categoryAmount}>$234</Text>\n                  </View>\n\n                  <View style={styles.categoryItem}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.categoryIcon}\n                    >\n                      <View style={styles.categoryIconContent}>\n                        <SymbolView\n                          name=\"bag\"\n                          size={16}\n                          type=\"monochrome\"\n                          tintColor=\"#FFD93D\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <Text style={styles.categoryLabel}>Shopping</Text>\n                    <Text style={styles.categoryAmount}>$1,245</Text>\n                  </View>\n\n                  <View style={styles.categoryItem}>\n                    <ExpoLiquidGlassView\n                      cornerRadius={15}\n                      cornerStyle={CornerStyle.Circular}\n                      type={LiquidGlassType.Clear}\n                      style={styles.categoryIcon}\n                    >\n                      <View style={styles.categoryIconContent}>\n                        <SymbolView\n                          name=\"gamecontroller\"\n                          size={16}\n                          type=\"monochrome\"\n                          tintColor=\"#A8E6CF\"\n                        />\n                      </View>\n                    </ExpoLiquidGlassView>\n                    <Text style={styles.categoryLabel}>Entertainment</Text>\n                    <Text style={styles.categoryAmount}>$521</Text>\n                  </View>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n          </View>\n\n          <View style={styles.transactionsSection}>\n            <View style={styles.sectionHeader}>\n              <Text\n                style={{\n                  fontSize: 22,\n                  fontWeight: \"bold\",\n                  color: \"white\",\n                  marginBottom: 3,\n                }}\n              >\n                Recent Transactions\n              </Text>\n            </View>\n\n            <ExpoLiquidGlassView\n              cornerRadius={18}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={{\n                width: \"100%\",\n                height: 125,\n              }}\n            >\n              <View style={styles.transactionContent}>\n                <View style={{ flexDirection: \"row\", bottom: 10 }}>\n                  <ExpoLiquidGlassView\n                    cornerRadius={22}\n                    cornerStyle={CornerStyle.Circular}\n                    type={LiquidGlassType.Clear}\n                    style={styles.transactionIcon}\n                  >\n                    <View style={styles.transactionIconContent}>\n                      <SymbolView\n                        name=\"cup.and.saucer\"\n                        size={20}\n                        type=\"monochrome\"\n                        tintColor=\"#FF6B6B\"\n                      />\n                    </View>\n                  </ExpoLiquidGlassView>\n                  <View style={styles.transactionDetails}>\n                    <Text style={styles.transactionName}>Friends Cafe</Text>\n                    <Text style={styles.transactionLocation}>\n                      182 9th Ave, New York\n                    </Text>\n                    <Text style={styles.transactionTime}>Today, 2:30 PM</Text>\n                  </View>\n                  <View style={styles.transactionRight}>\n                    <Text style={styles.transactionAmount}>-$64.00</Text>\n                    <MaterialCommunityIcons\n                      name=\"contactless-payment\"\n                      size={14}\n                      color=\"rgba(255,255,255,0.6)\"\n                    />\n                  </View>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n\n            <ExpoLiquidGlassView\n              cornerRadius={18}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={{\n                width: \"100%\",\n                height: 125,\n              }}\n            >\n              <View style={styles.transactionContent}>\n                <View style={{ flexDirection: \"row\", bottom: 10 }}>\n                  <ExpoLiquidGlassView\n                    cornerRadius={22}\n                    cornerStyle={CornerStyle.Circular}\n                    type={LiquidGlassType.Clear}\n                    style={styles.transactionIcon}\n                  >\n                    <View style={styles.transactionIconContent}>\n                      <SymbolView\n                        name=\"house\"\n                        size={20}\n                        type=\"monochrome\"\n                        tintColor=\"#4ECDC4\"\n                      />\n                    </View>\n                  </ExpoLiquidGlassView>\n                  <View style={styles.transactionDetails}>\n                    <Text style={styles.transactionName}>House Rent</Text>\n                    <Text style={styles.transactionLocation}>\n                      Monthly Payment\n                    </Text>\n                    <Text style={styles.transactionTime}>Dec 19, 9:00 AM</Text>\n                  </View>\n                  <View style={styles.transactionRight}>\n                    <Text style={styles.transactionAmountLarge}>\n                      -$1,685.00\n                    </Text>\n                    <Feather\n                      name=\"repeat\"\n                      size={14}\n                      color=\"rgba(255,255,255,0.6)\"\n                    />\n                  </View>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n\n            <ExpoLiquidGlassView\n              cornerRadius={18}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={{\n                width: \"100%\",\n                height: 125,\n              }}\n            >\n              <View style={styles.transactionContent}>\n                <View style={{ flexDirection: \"row\", bottom: 10 }}>\n                  <ExpoLiquidGlassView\n                    cornerRadius={22}\n                    cornerStyle={CornerStyle.Circular}\n                    type={LiquidGlassType.Clear}\n                    style={styles.transactionIcon}\n                  >\n                    <View style={styles.transactionIconContent}>\n                      <SymbolView\n                        name=\"arrow.down\"\n                        size={20}\n                        type=\"monochrome\"\n                        tintColor=\"#A8E6CF\"\n                      />\n                    </View>\n                  </ExpoLiquidGlassView>\n                  <View style={styles.transactionDetails}>\n                    <Text style={styles.transactionName}>Salary Deposit</Text>\n                    <Text style={styles.transactionLocation}>\n                      Monthly Salary\n                    </Text>\n                    <Text style={styles.transactionTime}>Dec 15, 8:00 AM</Text>\n                  </View>\n                  <View style={styles.transactionRight}>\n                    <Text style={styles.transactionAmountPositive}>\n                      +$5,200.00\n                    </Text>\n                    <AntDesign name=\"checkcircle\" size={14} color=\"#A8E6CF\" />\n                  </View>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n          </View>\n\n          <View style={styles.goalsSection}>\n            <Text\n              style={{\n                fontSize: 22,\n                fontWeight: \"bold\",\n                color: \"white\",\n                marginBottom: 30,\n              }}\n            >\n              Savings Goals\n            </Text>\n\n            <ExpoLiquidGlassView\n              cornerRadius={20}\n              cornerStyle={CornerStyle.Circular}\n              type={LiquidGlassType.Clear}\n              style={styles.goalGlass}\n            >\n              <View style={styles.goalContent}>\n                <View style={styles.goalHeader}>\n                  <ExpoLiquidGlassView\n                    cornerRadius={20}\n                    cornerStyle={CornerStyle.Circular}\n                    type={LiquidGlassType.Clear}\n                    style={styles.goalIcon}\n                  >\n                    <View style={styles.goalIconContent}>\n                      <SymbolView\n                        name=\"airplane\"\n                        size={20}\n                        type=\"monochrome\"\n                        tintColor=\"#FFD93D\"\n                      />\n                    </View>\n                  </ExpoLiquidGlassView>\n                  <View style={styles.goalInfo}>\n                    <Text style={styles.goalTitle}>Vacation Fund</Text>\n                    <Text style={styles.goalDescription}>Trip to Japan</Text>\n                  </View>\n                  <Text style={styles.goalPercentage}>68%</Text>\n                </View>\n\n                <View style={styles.goalProgress}>\n                  <View style={styles.goalProgressBar}>\n                    <View style={styles.goalProgressFill} />\n                  </View>\n                  <Text style={styles.goalAmount}>$3,400 of $5,000</Text>\n                </View>\n              </View>\n            </ExpoLiquidGlassView>\n\n            <Button\n              title=\"Change Background Video\"\n              color={\"white\"}\n              onPress={handleVideoChange}\n            />\n          </View>\n        </ScrollView>\n      </View>\n    </View>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n  },\n  scrollContainer: {\n    flexGrow: 1,\n    padding: 20,\n    paddingTop: 60,\n    paddingBottom: 40,\n  },\n  header: {\n    marginBottom: 25,\n  },\n  headerGlass: {\n    width: \"100%\",\n    height: 90,\n  },\n  headerContent: {\n    flex: 1,\n    padding: 20,\n    justifyContent: \"center\",\n  },\n  headerTop: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n  },\n  profileSection: {\n    flexDirection: \"row\",\n    alignItems: \"center\",\n  },\n  profileAvatar: {\n    width: 50,\n    height: 50,\n    marginRight: 15,\n  },\n  avatarContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  greetingSection: {\n    flex: 1,\n  },\n  greeting: {\n    fontSize: 14,\n    color: \"rgba(255, 255, 255, 0.7)\",\n    marginBottom: 2,\n  },\n  userName: {\n    fontSize: 18,\n    fontWeight: \"600\",\n    color: \"white\",\n  },\n  notificationIcon: {\n    width: 40,\n    height: 40,\n    right: 40,\n  },\n  iconContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  notificationBadge: {\n    position: \"absolute\",\n    top: 8,\n    right: 8,\n    width: 8,\n    height: 8,\n    borderRadius: 4,\n    backgroundColor: \"#FF6B6B\",\n  },\n  quickActionsSection: {\n    marginBottom: 25,\n  },\n  quickActionsGrid: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n  },\n  quickActionItem: {\n    flex: 1,\n    marginHorizontal: 5,\n  },\n  quickActionGlass: {\n    width: \"100%\",\n    height: 80,\n  },\n  quickActionContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  quickActionText: {\n    fontSize: 12,\n    color: \"white\",\n    marginTop: 8,\n    fontWeight: \"500\",\n  },\n  balanceSection: {\n    marginBottom: 25,\n  },\n  balanceOverviewGlass: {\n    width: \"100%\",\n    height: 200,\n  },\n  balanceOverviewContent: {\n    flex: 1,\n    padding: 25,\n  },\n  balanceHeader: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n    marginBottom: 15,\n  },\n  balanceTitle: {\n    fontSize: 16,\n    color: \"rgba(255, 255, 255, 0.8)\",\n  },\n  totalBalance: {\n    fontSize: 36,\n    fontWeight: \"bold\",\n    color: \"white\",\n    marginBottom: 8,\n  },\n  balanceChange: {\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    marginBottom: 20,\n  },\n  changeText: {\n    fontSize: 14,\n    color: \"#4ECDC4\",\n    marginLeft: 5,\n  },\n  balanceBreakdown: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n  },\n  breakdownItem: {\n    flex: 1,\n  },\n  breakdownLabel: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.6)\",\n    marginBottom: 4,\n  },\n  breakdownAmount: {\n    fontSize: 16,\n    fontWeight: \"600\",\n    color: \"white\",\n  },\n  cardSection: {\n    marginBottom: 25,\n  },\n  sectionHeader: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n    marginBottom: 15,\n  },\n  sectionTitle: {\n    fontSize: 22,\n    fontWeight: \"bold\",\n    color: \"white\",\n    marginBottom: 40,\n  },\n  seeAllText: {\n    fontSize: 14,\n    color: \"#4ECDC4\",\n    fontWeight: \"500\",\n  },\n  cardsScroll: {\n    flexDirection: \"row\",\n  },\n  creditCardGlass: {\n    width: 280,\n    height: 180,\n    marginRight: 15,\n  },\n  secondaryCard: {\n    backgroundColor: \"rgba(0, 0, 0, 0.2)\",\n  },\n  creditCardContent: {\n    flex: 1,\n    padding: 20,\n    justifyContent: \"space-between\",\n  },\n  cardHeader: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n  },\n  cardChip: {\n    width: 40,\n    height: 32,\n  },\n  chipContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  visaText: {\n    fontSize: 18,\n    fontWeight: \"bold\",\n    color: \"white\",\n    fontStyle: \"italic\",\n  },\n  mastercardText: {\n    fontSize: 14,\n    fontWeight: \"bold\",\n    color: \"white\",\n  },\n  cardNumber: {\n    fontSize: 20,\n    fontWeight: \"600\",\n    color: \"white\",\n    letterSpacing: 2,\n    marginTop: 20,\n  },\n  cardHolder: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.9)\",\n    fontWeight: \"500\",\n  },\n  cardFooter: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n  },\n  expiryDate: {\n    fontSize: 14,\n    color: \"rgba(255, 255, 255, 0.9)\",\n  },\n  contactlessIcon: {\n    width: 30,\n    height: 30,\n  },\n  contactlessContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  analyticsSection: {\n    marginBottom: 25,\n  },\n  analyticsGlass: {\n    width: \"100%\",\n    height: 240,\n  },\n  analyticsContent: {\n    flex: 1,\n    padding: 25,\n  },\n  spendingHeader: {\n    marginBottom: 15,\n  },\n  spentAmount: {\n    fontSize: 28,\n    fontWeight: \"bold\",\n    color: \"white\",\n    marginBottom: 5,\n  },\n  spentLabel: {\n    fontSize: 14,\n    color: \"rgba(255, 255, 255, 0.7)\",\n  },\n  progressBar: {\n    height: 8,\n    backgroundColor: \"rgba(255, 255, 255, 0.2)\",\n    borderRadius: 4,\n    marginBottom: 20,\n    overflow: \"hidden\",\n  },\n  progressFill: {\n    height: \"100%\",\n    width: \"57%\",\n    backgroundColor: \"#4ECDC4\",\n    borderRadius: 4,\n  },\n  categoriesGrid: {\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n  },\n  categoryItem: {\n    alignItems: \"center\",\n    flex: 1,\n  },\n  categoryIcon: {\n    width: 30,\n    height: 30,\n    marginBottom: 8,\n  },\n  categoryIconContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  categoryLabel: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.7)\",\n    marginBottom: 4,\n  },\n  categoryAmount: {\n    fontSize: 14,\n    fontWeight: \"600\",\n    color: \"white\",\n  },\n  transactionsSection: {\n    marginBottom: 25,\n    gap: 12,\n  },\n  transactionGlass: {\n    width: \"100%\",\n    height: 85,\n  },\n  transactionContent: {\n    flex: 1,\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    paddingHorizontal: 20,\n  },\n  transactionIcon: {\n    width: 44,\n    height: 44,\n    marginRight: 15,\n  },\n  transactionIconContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  transactionDetails: {\n    flex: 1,\n  },\n  transactionName: {\n    fontSize: 16,\n    fontWeight: \"600\",\n    color: \"white\",\n    marginBottom: 2,\n  },\n  transactionLocation: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.6)\",\n    marginBottom: 2,\n  },\n  transactionTime: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.5)\",\n  },\n  transactionRight: {\n    alignItems: \"flex-end\",\n  },\n  transactionAmount: {\n    fontSize: 16,\n    fontWeight: \"bold\",\n    color: \"#FF6B6B\",\n    marginBottom: 4,\n  },\n  transactionAmountLarge: {\n    fontSize: 16,\n    fontWeight: \"bold\",\n    color: \"#FF6B6B\",\n    marginBottom: 4,\n  },\n  transactionAmountPositive: {\n    fontSize: 16,\n    fontWeight: \"bold\",\n    color: \"#A8E6CF\",\n    marginBottom: 4,\n  },\n  goalsSection: {\n    marginBottom: 25,\n  },\n  goalGlass: {\n    width: \"100%\",\n    height: 170,\n  },\n  goalContent: {\n    flex: 1,\n    padding: 20,\n  },\n  goalHeader: {\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    marginBottom: 15,\n  },\n  goalIcon: {\n    width: 40,\n    height: 40,\n    marginRight: 15,\n  },\n  goalIconContent: {\n    flex: 1,\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  goalInfo: {\n    flex: 1,\n  },\n  goalTitle: {\n    fontSize: 16,\n    fontWeight: \"600\",\n    color: \"white\",\n    marginBottom: 2,\n  },\n  goalDescription: {\n    fontSize: 12,\n    color: \"rgba(255, 255, 255, 0.6)\",\n  },\n  goalPercentage: {\n    fontSize: 18,\n    fontWeight: \"bold\",\n    color: \"#FFD93D\",\n  },\n  goalProgress: {\n    gap: 8,\n  },\n  goalProgressBar: {\n    height: 8,\n    backgroundColor: \"rgba(255, 255, 255, 0.2)\",\n    borderRadius: 4,\n    overflow: \"hidden\",\n  },\n  goalProgressFill: {\n    height: \"100%\",\n    width: \"68%\",\n    backgroundColor: \"#FFD93D\",\n    borderRadius: 4,\n  },\n  goalAmount: {\n    fontSize: 14,\n    color: \"rgba(255, 255, 255, 0.8)\",\n    fontWeight: \"500\",\n  },\n});\n"
  },
  {
    "path": "example/tsconfig.json",
    "content": "{\n  \"extends\": \"expo/tsconfig.base\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"paths\": {\n      \"expo-liquid-glass-view\": [\"../src/index\"],\n      \"expo-liquid-glass-view/*\": [\"../src/*\"]\n    }\n  }\n}\n"
  },
  {
    "path": "example/webpack.config.js",
    "content": "const createConfigAsync = require('@expo/webpack-config');\nconst path = require('path');\n\nmodule.exports = async (env, argv) => {\n  const config = await createConfigAsync(\n    {\n      ...env,\n      babel: {\n        dangerouslyAddModulePathsToTranspile: ['expo-liquid-glass'],\n      },\n    },\n    argv\n  );\n  config.resolve.modules = [\n    path.resolve(__dirname, './node_modules'),\n    path.resolve(__dirname, '../node_modules'),\n  ];\n\n  return config;\n};\n"
  },
  {
    "path": "expo-module.config.json",
    "content": "{\n  \"platforms\": [\"apple\"],\n  \"apple\": {\n    \"modules\": [\"ExpoLiquidGlassModule\"]\n  }\n}\n"
  },
  {
    "path": "ios/ExpoLiquidGlass.podspec",
    "content": "require 'json'\n\npackage = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))\n\nPod::Spec.new do |s|\n  s.name           = 'ExpoLiquidGlass'\n  s.version        = package['version']\n  s.summary        = package['description']\n  s.description    = package['description']\n  s.license        = package['license']\n  s.author         = package['author']\n  s.homepage       = package['homepage']\n  s.platforms      = {\n    :ios => '15.1',\n    :tvos => '15.1'\n  }\n  s.swift_version  = '5.4'\n  s.source         = { git: 'https://github.com/rit3zh/expo-liquid-glass' }\n  s.static_framework = true\n\n  s.dependency 'ExpoModulesCore'\n\n  # Swift/Objective-C compatibility\n  s.pod_target_xcconfig = {\n    'DEFINES_MODULE' => 'YES',\n  }\n\n  s.source_files = \"**/*.{h,m,mm,swift,hpp,cpp}\"\nend\n"
  },
  {
    "path": "ios/ExpoLiquidGlassContainer.swift",
    "content": "//\n//  ExpoLiquidGlassContainer.swift\n//  Pods\n//\n//  Created by rit3zh CX on 9/19/25.\n//\n\nimport ExpoModulesCore\nimport SwiftUI\n\nclass ExpoLiquidGlassContainerProps: ExpoSwiftUI.ViewProps {\n    @Field var spacing: CGFloat = 0\n    @Field var horizontal: Bool\n    \n}\n\nstruct ExpoLiquidGlassContainer: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {\n  @ObservedObject var props: ExpoLiquidGlassContainerProps\n  \n    var body: some View {\n        if #available(iOS 26.0, *) {\n            GlassEffectContainer(spacing: props.spacing) {\n                if props.horizontal {\n                    HStack(spacing: props.spacing){\n                        Children()\n                    }\n                } else {\n                    VStack(spacing: props.spacing){\n                        Children()\n                    }\n                }\n                \n            }\n        \n        } else  {\n            Children()\n        }\n    }\n}\n"
  },
  {
    "path": "ios/ExpoLiquidGlassModule.swift",
    "content": "import ExpoModulesCore\n\npublic class ExpoLiquidGlassModule: Module {\n\n    public func definition() -> ModuleDefinition {\n        Name(\"ExpoLiquidGlass\")\n        View(ExpoLiquidGlassView.self)\n        View(ExpoLiquidGlassContainer.self)\n        \n    }\n}\n"
  },
  {
    "path": "ios/ExpoLiquidGlassView.swift",
    "content": "import ExpoModulesCore\nimport SwiftUI\n\nclass ExpoLiquidGlassViewProps: ExpoSwiftUI.ViewProps {\n    @Field var cornerRadius: CGFloat = 5\n    @Field var type: String\n    @Field var cornerStyle: String\n    @Field var tint: String\n    @Field var isInteractive: Bool\n}\n\nstruct ExpoLiquidGlassView: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {\n    @ObservedObject var props: ExpoLiquidGlassViewProps\n    \n    var body: some View {\n        if #available(iOS 26.0, *) {\n            if hasChildren {\n                Children()\n                    .glassEffect(\n                        getGlassEffect(\n                            from: props.type,\n                            color: props.tint,\n                            interactive: props.isInteractive\n                        ),\n                        in: .rect(\n                            cornerRadius: props.cornerRadius,\n                            style: getCornerRadiusStyle(from: props.cornerStyle)\n                        )\n                    )\n            } else {\n                RoundedRectangle(\n                    cornerRadius: props.cornerRadius,\n                    style: getCornerRadiusStyle(from: props.cornerStyle)\n                )\n                .fill(Color.clear)\n                .frame(width: 100, height: 100)\n                .glassEffect(\n                    getGlassEffect(\n                        from: props.type,\n                        color: props.tint,\n                        interactive: props.isInteractive\n                    ),\n                    in: .rect(\n                        cornerRadius: props.cornerRadius,\n                        style: getCornerRadiusStyle(from: props.cornerStyle)\n                    )\n                )\n            }\n        } else {\n            if hasChildren {\n                Children()\n            } else {\n                RoundedRectangle(\n                    cornerRadius: props.cornerRadius,\n                    style: getCornerRadiusStyle(from: props.cornerStyle)\n                )\n                .fill(Color.clear)\n                .frame(width: 100, height: 100)\n            }\n        }\n    }\n    \n    \n    private var hasChildren: Bool {\n        \n        !(Children().data.isEmpty)\n    }\n}\n\nprivate func getCornerRadiusStyle(from style: String) -> RoundedCornerStyle {\n    switch style.lowercased() {\n    case \"continuous\":\n        return .continuous\n    case \"circular\":\n        return .circular\n    default:\n        return .continuous\n    }\n}\n\n@available(iOS 26.0, *)\nprivate func getGlassEffect(from type: String, color: String, interactive: Bool) -> Glass {\n    var glass: Glass\n    switch type.lowercased() {\n    case \"clear\":\n        glass = .clear\n    case \"identity\":\n        glass = .identity\n    case \"regular\":\n        glass = .regular\n    case \"tint\":\n        glass = .regular.tint(Color(hex: color))\n    default:\n        glass = .clear\n    }\n    \n    if interactive {\n        return glass.interactive()\n    }\n    \n    return glass\n}\n\nextension Color {\n    init(hex: String) {\n        let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)\n        var int: UInt64 = 0\n        Scanner(string: hex).scanHexInt64(&int)\n        let a, r, g, b: UInt64\n        switch hex.count {\n        case 3:\n            (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)\n        case 6:\n            (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)\n        case 8:\n            (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)\n        default:\n            (a, r, g, b) = (1, 1, 1, 0)\n        }\n\n        self.init(\n            .sRGB,\n            red: Double(r) / 255,\n            green: Double(g) / 255,\n            blue:  Double(b) / 255,\n            opacity: Double(a) / 255\n        )\n    }\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"expo-liquid-glass-view\",\n  \"version\": \"0.1.10\",\n  \"description\": \" 🚀 Native liquid glass 🧊 views for Expo. Powered by SwiftUI + expo-modules-core \",\n  \"main\": \"build/index.js\",\n  \"types\": \"build/index.d.ts\",\n  \"scripts\": {\n    \"build\": \"expo-module build\",\n    \"clean\": \"expo-module clean\",\n    \"lint\": \"expo-module lint\",\n    \"test\": \"expo-module test\",\n    \"prepare\": \"expo-module prepare\",\n    \"release\": \"standard-version\",\n    \"prepublishOnly\": \"expo-module prepublishOnly\",\n    \"expo-module\": \"expo-module\",\n    \"open:ios\": \"xed example/ios\",\n    \"open:android\": \"open -a \\\"Android Studio\\\" example/android\"\n  },\n  \"keywords\": [\n    \"react-native\",\n    \"expo\",\n    \"expo-liquid-glass\",\n    \"ExpoLiquidGlass\"\n  ],\n  \"repository\": \"https://github.com/rit3zh/expo-liquid-glass-view\",\n  \"bugs\": {\n    \"url\": \"https://github.com/rit3zh/expo-liquid-glass-view/issues\"\n  },\n  \"author\": \"Ritesh. <119659853+rit3zh@users.noreply.github.com> (https://github.com/rit3zh)\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/rit3zh/expo-liquid-glass-view#readme\",\n  \"devDependencies\": {\n    \"@types/react\": \"~19.0.0\",\n    \"expo\": \"~53.0.0\",\n    \"expo-module-scripts\": \"^4.1.9\",\n    \"react-native\": \"0.79.1\",\n    \"standard-version\": \"^9.5.0\"\n  },\n  \"peerDependencies\": {\n    \"expo\": \"*\",\n    \"react\": \"*\",\n    \"react-native\": \"*\"\n  }\n}\n"
  },
  {
    "path": "src/ExpoLiquidGlassContainer.tsx",
    "content": "import { requireNativeView } from \"expo\";\nimport * as React from \"react\";\nimport { StyleProp, StyleSheet, View, ViewStyle } from \"react-native\";\n\ninterface ExpoLiquidGlassContainerProps {\n  morph?: number;\n  style?: StyleProp<ViewStyle>;\n  children?: React.ReactNode;\n}\n\nconst NativeView: React.ComponentType<any> = requireNativeView<any>(\n  \"ExpoLiquidGlass\",\n  \"ExpoLiquidGlassContainer\"\n);\nexport function ExpoLiquidGlassContainer(props: ExpoLiquidGlassContainerProps) {\n  return (\n    <NativeView\n      {...props}\n      spacing={props.morph ?? 200}\n      style={[styles.wrapper, props.style]}\n      key={Math.random().toString()}\n    >\n      <View style={styles.container}>{props.children}</View>\n    </NativeView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrapper: {\n    // alignSelf: \"flex-start\",\n  },\n  container: {\n    alignSelf: \"flex-start\",\n    flexShrink: 1,\n  },\n});\n"
  },
  {
    "path": "src/ExpoLiquidGlassView.tsx",
    "content": "import { requireNativeView } from \"expo\";\nimport * as React from \"react\";\nimport { StyleSheet, View } from \"react-native\";\nimport type { ExpoLiquidGlassViewProps } from \"./ExpoLiquidGlassView.types\";\n\nconst NativeView: React.ComponentType<ExpoLiquidGlassViewProps> =\n  requireNativeView<ExpoLiquidGlassViewProps>(\n    \"ExpoLiquidGlass\",\n    \"ExpoLiquidGlassView\"\n  );\n\nexport function ExpoLiquidGlassView(props: ExpoLiquidGlassViewProps) {\n  const { children, containerStyle, style, ...nativeProps } = props;\n\n  return (\n    <NativeView\n      {...nativeProps}\n      style={[styles.wrapper, style]}\n    >\n      {children ? (\n        <View style={[styles.container, containerStyle]}>{children}</View>\n      ) : null}\n    </NativeView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrapper: {\n    alignSelf: \"flex-start\",\n  },\n  container: {\n    alignSelf: \"flex-start\",\n    flexShrink: 1,\n  },\n});\n"
  },
  {
    "path": "src/ExpoLiquidGlassView.types.ts",
    "content": "import * as React from \"react\";\nimport type { StyleProp, ViewStyle } from \"react-native\";\n\nexport enum CornerStyle {\n  Continuous = \"continuous\",\n  Circular = \"circular\",\n}\n\nexport enum LiquidGlassType {\n  Clear = \"clear\",\n  Tint = \"tint\",\n  Regular = \"regular\",\n  Interactive = \"interactive\",\n  Identity = \"identity\",\n}\n\nexport interface ExpoLiquidGlassViewProps {\n  type?: LiquidGlassType;\n  tint?: string;\n  cornerRadius?: number;\n  isInteractive?: boolean;\n  cornerStyle?: CornerStyle;\n  style?: StyleProp<ViewStyle>;\n  containerStyle?: StyleProp<ViewStyle>;\n  children?: React.ReactNode;\n}\n"
  },
  {
    "path": "src/index.ts",
    "content": "export * from \"./ExpoLiquidGlassView\";\nexport * from \"./ExpoLiquidGlassContainer\";\nexport { CornerStyle, LiquidGlassType } from \"./ExpoLiquidGlassView.types\";\n"
  },
  {
    "path": "tsconfig.json",
    "content": "// @generated by expo-module-scripts\n{\n  \"extends\": \"expo-module-scripts/tsconfig.base\",\n  \"compilerOptions\": {\n    \"outDir\": \"./build\"\n  },\n  \"include\": [\"./src\"],\n  \"exclude\": [\"**/__mocks__/*\", \"**/__tests__/*\", \"**/__rsc_tests__/*\"]\n}\n"
  }
]