svelte-tel-input 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # svelte-tel-input
2
2
 
3
+ ## 2.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - feat: support event driven behavior ([#150](https://github.com/gyurielf/svelte-tel-input/pull/150))
8
+
9
+ ## 2.0.1
10
+
11
+ ### Patch Changes
12
+
13
+ - fix: component export ([#147](https://github.com/gyurielf/svelte-tel-input/pull/147))
14
+
3
15
  ## 2.0.0
4
16
 
5
17
  ### Major Changes
package/README.md CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
  > Lightweight svelte tel/phone input standardizer.
8
8
 
9
+ <img src="https://raw.githubusercontent.com/gyurielf/svelte-tel-input/main/static/demo.gif" width="600px" align="center">
10
+
11
+ 🔥 Check it out live [here](https://svelte-tel-input.vercel.app/)
12
+
9
13
  ## Installation
10
14
 
11
15
  Svelte Tel Input is distributed via [npm](https://www.npmjs.com/package/svelte-tel-input).
@@ -101,16 +101,32 @@ const initialize = () => {
101
101
  onMount(() => {
102
102
  initialize();
103
103
  });
104
- let initRun = true;
105
- const watchFunction = () => {
106
- if (!initRun) {
104
+ let countryWatchInitRun = true;
105
+ const countryChangeWatchFunction = () => {
106
+ if (!countryWatchInitRun) {
107
107
  handleParsePhoneNumber(null, country);
108
108
  }
109
- initRun = false;
109
+ countryWatchInitRun = false;
110
110
  };
111
- const countryChangeWatch = watcher(null, watchFunction);
111
+ let resetValueWatchInitRun = true;
112
+ const resetValueWatchFunction = () => {
113
+ if (!resetValueWatchInitRun) {
114
+ inputValue = "";
115
+ updateCountry(null);
116
+ valid = true;
117
+ parsedTelInput = null;
118
+ dispatch("parseInput", parsedTelInput);
119
+ }
120
+ resetValueWatchInitRun = false;
121
+ };
122
+ const countryChangeWatch = watcher(null, countryChangeWatchFunction);
112
123
  $:
113
124
  $countryChangeWatch = country;
125
+ const resetValueWatch = watcher(null, resetValueWatchFunction);
126
+ $:
127
+ if (value === null && inputValue !== "") {
128
+ $resetValueWatch = value;
129
+ }
114
130
  $:
115
131
  getPlaceholder = combinedOptions.autoPlaceholder ? country ? generatePlaceholder(country) : null : placeholder;
116
132
  </script>
@@ -22,9 +22,11 @@ declare const __propDef: {
22
22
  keypress: KeyboardEvent;
23
23
  keyup: KeyboardEvent;
24
24
  paste: ClipboardEvent;
25
- parseError: CustomEvent<any>;
26
- valid: CustomEvent<any>;
27
- parseInput: CustomEvent<any>;
25
+ country: CustomEvent<CountryCode | null>;
26
+ parseError: CustomEvent<string>;
27
+ parseInput: CustomEvent<NormalizedTelNumber | Partial<NormalizedTelNumber> | null>;
28
+ valid: CustomEvent<boolean>;
29
+ value: CustomEvent<E164Number | null>;
28
30
  } & {
29
31
  [evt: string]: CustomEvent<any>;
30
32
  };
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { default } from './components/Input/TelInput.svelte';
1
+ export { default as TelInput } from './components/Input/TelInput.svelte';
2
2
  export { getCurrentCountry, isSelected, inputParser, inspectAllowedChars, normalizeTelInput, getCountryForPartialE164Number } from './utils/helpers';
3
3
  export { parsePhoneNumberWithError, ParseError } from 'libphonenumber-js/max';
4
4
  export { clickOutsideAction } from './utils/directives/clickOutsideAction';
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { default } from './components/Input/TelInput.svelte';
1
+ export { default as TelInput } from './components/Input/TelInput.svelte';
2
2
  export { getCurrentCountry, isSelected, inputParser, inspectAllowedChars, normalizeTelInput, getCountryForPartialE164Number } from './utils/helpers';
3
3
  export { parsePhoneNumberWithError, ParseError } from 'libphonenumber-js/max';
4
4
  export { clickOutsideAction } from './utils/directives/clickOutsideAction';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "svelte-tel-input",
3
3
  "description": "svelte-tel-input",
4
- "version": "2.0.0",
4
+ "version": "2.1.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/gyurielf/svelte-tel-input.git"
@@ -22,43 +22,43 @@
22
22
  "pnpm": ">= 7"
23
23
  },
24
24
  "dependencies": {
25
- "libphonenumber-js": "^1.10.28",
25
+ "libphonenumber-js": "^1.10.30",
26
26
  "svelte": "^3.58.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@changesets/cli": "^2.26.1",
30
30
  "@changesets/get-github-info": "^0.5.2",
31
31
  "@changesets/types": "^5.2.1",
32
- "@macfja/svelte-persistent-store": "^2.2.1",
33
- "@playwright/test": "^1.32.3",
32
+ "@macfja/svelte-persistent-store": "^2.3.0",
33
+ "@playwright/test": "^1.33.0",
34
34
  "@sveltejs/adapter-static": "^2.0.2",
35
- "@sveltejs/kit": "^1.15.7",
35
+ "@sveltejs/kit": "^1.16.2",
36
36
  "@sveltejs/package": "^1.0.2",
37
37
  "@testing-library/svelte": "^3.2.2",
38
38
  "@testing-library/user-event": "^14.4.3",
39
- "@typescript-eslint/eslint-plugin": "^5.59.0",
40
- "@typescript-eslint/parser": "^5.59.0",
39
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
40
+ "@typescript-eslint/parser": "^5.59.2",
41
41
  "autoprefixer": "^10.4.14",
42
- "cssnano": "^6.0.0",
42
+ "cssnano": "^6.0.1",
43
43
  "dotenv": "^16.0.3",
44
44
  "edit-package-json": "^0.8.12",
45
- "eslint": "^8.39.0",
45
+ "eslint": "^8.40.0",
46
46
  "eslint-config-prettier": "^8.8.0",
47
47
  "eslint-plugin-svelte3": "^4.0.0",
48
48
  "husky": "^8.0.3",
49
- "jsdom": "^21.1.1",
49
+ "jsdom": "^22.0.0",
50
50
  "micromatch": "^4.0.5",
51
51
  "postcss": "^8.4.23",
52
- "prettier": "^2.8.7",
52
+ "prettier": "^2.8.8",
53
53
  "prettier-plugin-svelte": "^2.10.0",
54
54
  "schema-dts": "^1.1.2",
55
- "svelte-check": "^3.2.0",
56
- "svelte2tsx": "^0.6.11",
57
- "tailwindcss": "^3.3.1",
55
+ "svelte-check": "^3.3.1",
56
+ "svelte2tsx": "^0.6.13",
57
+ "tailwindcss": "^3.3.2",
58
58
  "tslib": "^2.5.0",
59
59
  "typescript": "^5.0.4",
60
- "vite": "^4.3.1",
61
- "vitest": "^0.30.1"
60
+ "vite": "^4.3.5",
61
+ "vitest": "^0.31.0"
62
62
  },
63
63
  "type": "module",
64
64
  "license": "MIT",
package/types/index.d.ts CHANGED
@@ -67,14 +67,6 @@ export interface TelInputValidity {
67
67
  errorMessage?: string;
68
68
  }
69
69
 
70
- export type TelInputDispatchEvents = {
71
- country: CountryCode | null;
72
- parseError: string;
73
- parseInput: Partial<NormalizedTelNumber> | null;
74
- valid: boolean;
75
- value: E164Number | null;
76
- };
77
-
78
70
  export interface TelInputOptions {
79
71
  /**
80
72
  * It generates a placeholder into your input for the selected country. E.g. if the country is `US`, the placeholder will be `201 555 0123` by default.