{
  "name": "intl-tel-input",
  "version": "27.0.9",
  "description": "A JavaScript plugin for entering and validating international telephone numbers",
  "type": "module",
  "license": "MIT",
  "author": "Jack O'Connor (http://jackocnr.com)",
  "scripts": {
    "test": "npm run test:js && npm run test:e2e",
    "test:js": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:e2e:linux": "./scripts/playwright-linux-docker.sh",
    "test:e2e:linux:update": "./scripts/playwright-linux-docker.sh --update-snapshots",
    "lint:js": "eslint . --cache --cache-location node_modules/.cache/eslint/",
    "watch": "node scripts/watch.js",
    "clean:dist:css": "rimraf dist/css/*",
    "clean:dist:img": "rimraf dist/img/*",
    "clean:dist:js": "rimraf dist/js/*",
    "clean:dist:js:keep-utils": "node scripts/clean-dist-js-keep-utils.js",
    "clean:tmp": "rimraf tmp/built.min.js tmp/one.min.js",
    "clean:utils": "rimraf dist/js/utils.js",
    "clean:react": "rimraf react/dist/*",
    "clean:vue": "rimraf vue/dist/*",
    "clean:angular": "rimraf angular/dist/*",
    "clean:all": "npm run clean:dist:css && npm run clean:dist:img && npm run clean:dist:js && npm run clean:react && npm run clean:vue && npm run clean:angular && npm run clean:tmp",
    "build:translations:gen": "node scripts/translations.js",
    "build:translations": "npm run clean:dist:js && npm run clean:tmp && npm run build:translations:gen && npm run build:js",
    "build:utils:closure": "node scripts/build-utils.js",
    "build:utils:check": "node scripts/check-lpn-metadata.js",
    "build:utils": "npm run clean:utils && npm run build:utils:closure && npm run build:utils:check",
    "ensure:utils": "node -e \"process.exit(require('node:fs').existsSync('dist/js/utils.js')?0:1)\" || npm run build:utils",
    "ensure:dts": "node -e \"process.exit(require('node:fs').existsSync('dist/js/intlTelInput.d.ts')?0:1)\" || npm run build:js:dts",
    "build:css:main": "sass --no-source-map --style=compressed src/css/intlTelInput.scss:dist/css/intlTelInput-no-assets.css src/css/intlTelInputWithAssets.scss:dist/css/intlTelInput.css",
    "build:css:demo": "sass --no-source-map --load-path=node_modules --load-path=src/css --quiet-deps demo/src/demo.scss demo/dist/demo.css",
    "build:css:min": "cleancss -o dist/css/intlTelInput.min.css dist/css/intlTelInput.css && cleancss -o dist/css/intlTelInput-no-assets.min.css dist/css/intlTelInput-no-assets.css",
    "build:css": "npm run clean:dist:css && npm run build:css:main && npm run build:css:demo && npm run build:css:min && cp src/css/styles.d.ts dist/css/",
    "build:img:sprite": "node --experimental-strip-types scripts/generate-sprite.js",
    "build:img": "npm run clean:dist:img && npm run build:img:sprite && npm run build:css",
    "build:js:dts": "node scripts/build-dts.js",
    "build:js:core": "node scripts/esbuild.js",
    "build:js": "npm run clean:dist:js && npm run clean:tmp && npm run lint:js && npm run build:utils:closure && npm run build:js:dts && npm run build:js:core && npm run build:components",
    "build:jsfast": "npm run clean:dist:js:keep-utils && npm run clean:tmp && npm run ensure:utils && npm run build:js:core",
    "build:jsfast:cmps": "npm run build:jsfast && npm run build:components",
    "build:react": "npm run ensure:dts && npm run clean:react && tsc -p react/tsconfig.json && node react/build.js",
    "build:vue": "npm run ensure:dts && npm run clean:vue && vite build --config vue/vite.config.mts",
    "build:angular": "npm run ensure:dts && npm run clean:angular && ngc -p angular/tsconfig.json && node angular/build.js",
    "build:components": "npm run build:react && npm run build:vue && npm run build:angular",
    "build": "npm run clean:all && npm run build:img && npm run build:translations:gen && npm run build:js",
    "build:test": "npm run build:jsfast:cmps && npm run test",
    "prepublishOnly": "npm run build",
    "version:bump": "node scripts/version-bump.js",
    "version:patch": "npm run build:test && npm run version:bump -- patch",
    "version:minor": "npm run build:test && npm run version:bump -- minor",
    "version:major": "npm run build:test && npm run version:bump -- major",
    "vue:demo": "vite --config vue/demo/validation/vite.config.js",
    "svelte:demo": "vite --config svelte/demo/validation/vite.config.js"
  },
  "devDependencies": {
    "@angular/common": "^21.2.7",
    "@angular/compiler": "^21.2.7",
    "@angular/compiler-cli": "^21.2.7",
    "@angular/core": "^21.2.7",
    "@angular/forms": "^21.2.7",
    "@angular/platform-browser": "^21.2.7",
    "@eslint/js": "^9.39.4",
    "@playwright/test": "^1.59.1",
    "@sveltejs/vite-plugin-svelte": "^7.0.0",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.4.6",
    "@testing-library/user-event": "^14.5.2",
    "@types/node": "^25.5.2",
    "@types/react": "^19.2.14",
    "@types/react-dom": "^19.2.3",
    "@vitejs/plugin-vue": "^6.0.5",
    "@vitest/coverage-v8": "^4.1.4",
    "@vue/tsconfig": "^0.9.1",
    "bootstrap": "^5.3.8",
    "chokidar": "^5.0.0",
    "clean-css-cli": "^5.6.3",
    "dts-bundle-generator": "^9.5.1",
    "esbuild": "^0.28.0",
    "eslint": "^9.39.4",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.0.1",
    "fast-xml-parser": "^5.2.5",
    "flag-icons": "^7.2.3",
    "globals": "^17.4.0",
    "google-closure-compiler": "^20260405.0.0",
    "google-closure-library": "^20230802.0.0",
    "http-server": "^14.1.1",
    "jsdom": "^29.0.2",
    "playwright": "^1.59.1",
    "prettier": "^3.8.1",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "rimraf": "^6.1.3",
    "rxjs": "^7.8.2",
    "sass": "^1.83.1",
    "sharp": "^0.34.5",
    "svelte": "^5.46.4",
    "typescript": "^6.0.2",
    "typescript-eslint": "^8.58.0",
    "vite": "^8.0.7",
    "vite-plugin-dts": "^4.4.0",
    "vitest": "^4.1.3",
    "vue": "^3.5.13",
    "zone.js": "^0.16.1"
  },
  "files": [
    "dist/*",
    "react/dist/*",
    "vue/dist/*",
    "angular/dist/*",
    "svelte/src/*",
    "CHANGELOG.md",
    "LICENSE",
    "package.json",
    "package-lock.json",
    "README.md"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/jackocnr/intl-tel-input.git"
  },
  "homepage": "https://intl-tel-input.com",
  "main": "./dist/js/intlTelInput.js",
  "types": "./dist/js/intlTelInput.d.ts",
  "exports": {
    ".": {
      "types": "./dist/js/intlTelInput.d.ts",
      "import": "./dist/js/intlTelInput.mjs"
    },
    "./intlTelInputWithUtils": {
      "types": "./dist/js/intlTelInput.d.ts",
      "import": "./dist/js/intlTelInputWithUtils.mjs"
    },
    "./data": {
      "types": "./dist/js/data.d.ts",
      "import": "./dist/js/data.mjs"
    },
    "./utils": {
      "types": "./dist/js/utils.d.ts",
      "import": "./dist/js/utils.js"
    },
    "./react": {
      "types": "./react/dist/IntlTelInput.d.ts",
      "import": "./react/dist/IntlTelInput.js"
    },
    "./reactWithUtils": {
      "types": "./react/dist/IntlTelInputWithUtils.d.ts",
      "import": "./react/dist/IntlTelInputWithUtils.js"
    },
    "./vue": {
      "types": "./vue/dist/index.d.ts",
      "import": "./vue/dist/IntlTelInput.js"
    },
    "./vueWithUtils": {
      "types": "./vue/dist/indexWithUtils.d.ts",
      "import": "./vue/dist/IntlTelInputWithUtils.js"
    },
    "./angular": {
      "types": "./angular/dist/IntlTelInput.d.ts",
      "import": "./angular/dist/IntlTelInput.js"
    },
    "./angularWithUtils": {
      "types": "./angular/dist/IntlTelInputWithUtils.d.ts",
      "import": "./angular/dist/IntlTelInputWithUtils.js"
    },
    "./svelte": {
      "types": "./svelte/src/IntlTelInput.svelte.d.ts",
      "svelte": "./svelte/src/IntlTelInput.svelte",
      "import": "./svelte/src/IntlTelInput.svelte"
    },
    "./svelteWithUtils": {
      "types": "./svelte/src/IntlTelInput.svelte.d.ts",
      "svelte": "./svelte/src/IntlTelInputWithUtils.svelte",
      "import": "./svelte/src/IntlTelInputWithUtils.svelte"
    },
    "./i18n": {
      "types": "./dist/js/i18n.d.ts",
      "import": "./dist/js/i18n/index.js"
    },
    "./i18n/*": {
      "types": "./dist/js/i18n.d.ts",
      "import": "./dist/js/i18n/*/index.js"
    },
    "./styles": {
      "types": "./dist/css/styles.d.ts",
      "default": "./dist/css/intlTelInput.css"
    },
    "./*": "./*"
  },
  "typesVersions": {
    "*": {
      ".": [
        "dist/js/intlTelInput.d.ts"
      ],
      "react": [
        "react/dist/IntlTelInput.d.ts"
      ],
      "angular": [
        "angular/dist/IntlTelInput.d.ts"
      ]
    }
  },
  "keywords": [
    "international",
    "country",
    "dial code",
    "telephone",
    "phone",
    "mobile",
    "input",
    "flag",
    "dropdown",
    "javascript",
    "plugin",
    "css",
    "html",
    "validation",
    "formatting",
    "react",
    "vue",
    "angular",
    "svelte",
    "component",
    "typescript"
  ],
  "workspaces": [
    "site"
  ]
}
