@axos-web-dev/shared-components 1.0.100-dev.42 → 1.0.100-dev.42-enhancementvalidationcalls.1

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.
Files changed (57) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -1
  2. package/dist/Auth/SignInPassword.js +2 -2
  3. package/dist/BulletItem/BulletItem.js +1 -0
  4. package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
  5. package/dist/Calculators/BuyDownCalculator/index.js +1 -1
  6. package/dist/Calculators/Calculator.js +2 -2
  7. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
  8. package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
  9. package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
  10. package/dist/Chatbot/ChatWindow.css.js +1 -0
  11. package/dist/Chatbot/Chatbot.css.js +0 -1
  12. package/dist/Forms/ApplicationStart.js +4 -2
  13. package/dist/Forms/ApplyNow.js +1 -1
  14. package/dist/Forms/ClearingForm.js +4 -2
  15. package/dist/Forms/CommercialDeposits.js +4 -2
  16. package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
  17. package/dist/Forms/CommercialLending.js +4 -2
  18. package/dist/Forms/CommercialPremiumFinance.js +4 -2
  19. package/dist/Forms/ContactCompany.js +4 -2
  20. package/dist/Forms/ContactCompanyTitle.js +4 -2
  21. package/dist/Forms/ContactUs.js +4 -2
  22. package/dist/Forms/ContactUsAAS.js +4 -2
  23. package/dist/Forms/ContactUsBusiness.js +4 -2
  24. package/dist/Forms/ContactUsBusinessNameEmail.js +4 -2
  25. package/dist/Forms/ContactUsLVF.js +4 -2
  26. package/dist/Forms/ContactUsNMLSId.js +4 -2
  27. package/dist/Forms/CpraRequest.d.ts +1 -1
  28. package/dist/Forms/CpraRequest.js +5 -2
  29. package/dist/Forms/CraPublicFile.js +4 -2
  30. package/dist/Forms/DealerServices.js +4 -2
  31. package/dist/Forms/EmailOnly.js +4 -2
  32. package/dist/Forms/EmailUs.js +4 -2
  33. package/dist/Forms/HoneyPot/index.js +2 -1
  34. package/dist/Forms/MortgageRate/MortgageRateForm.js +4 -2
  35. package/dist/Forms/MortgageWarehouseLending.js +4 -2
  36. package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
  37. package/dist/Forms/ScheduleCall.js +4 -2
  38. package/dist/Forms/ScheduleCallPremier.js +4 -2
  39. package/dist/Forms/SuccesForm.js +2 -2
  40. package/dist/Forms/VendorQuestionnaire.js +6 -2
  41. package/dist/Forms/index.js +1 -0
  42. package/dist/ImageLink/ImageLink.js +1 -1
  43. package/dist/LoadingIndicator/index.js +1 -0
  44. package/dist/Modal/contextApi/store.js +1 -1
  45. package/dist/SetContainer/SetContainer.js +1 -1
  46. package/dist/Tab/Tab.js +1 -0
  47. package/dist/Table/Table.d.ts +1 -1
  48. package/dist/main.js +8 -1
  49. package/dist/utils/emailValidation.d.ts +1 -0
  50. package/dist/utils/emailValidation.js +31 -0
  51. package/dist/utils/index.d.ts +4 -1
  52. package/dist/utils/index.js +9 -1
  53. package/dist/utils/nmlsValidation.d.ts +1 -0
  54. package/dist/utils/nmlsValidation.js +34 -0
  55. package/dist/utils/useCachedValidators.d.ts +2 -0
  56. package/dist/utils/useCachedValidators.js +22 -0
  57. package/package.json +136 -136
@@ -0,0 +1,34 @@
1
+ function createCachedNMLSValidator(validateNMLS) {
2
+ const nmlsValidationCache = /* @__PURE__ */ new Map();
3
+ const validatingNMLS = /* @__PURE__ */ new Set();
4
+ return async (val) => {
5
+ if (!val || val.trim().length === 0 || val.trim().length < 4) {
6
+ return true;
7
+ }
8
+ if (nmlsValidationCache.has(val)) {
9
+ return nmlsValidationCache.get(val) ?? false;
10
+ }
11
+ if (validatingNMLS.has(val)) {
12
+ await new Promise((resolve) => setTimeout(resolve, 100));
13
+ if (nmlsValidationCache.has(val)) {
14
+ return nmlsValidationCache.get(val) ?? false;
15
+ }
16
+ return true;
17
+ }
18
+ validatingNMLS.add(val);
19
+ try {
20
+ const res = await validateNMLS(val);
21
+ const isValid = Boolean(res?.body?.data?.records?.length > 0);
22
+ nmlsValidationCache.set(val, isValid);
23
+ return isValid;
24
+ } catch (error) {
25
+ nmlsValidationCache.set(val, false);
26
+ return false;
27
+ } finally {
28
+ validatingNMLS.delete(val);
29
+ }
30
+ };
31
+ }
32
+ export {
33
+ createCachedNMLSValidator
34
+ };
@@ -0,0 +1,2 @@
1
+ export declare function useCachedEmailValidator(validateEmail: (email: string) => Promise<boolean>): (val: string) => Promise<boolean>;
2
+ export declare function useCachedNMLSValidator(validateNMLS: (nmls_id: string) => Promise<any>): (val: string) => Promise<boolean>;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { useRef } from "react";
3
+ import { createCachedEmailValidator } from "./emailValidation.js";
4
+ import { createCachedNMLSValidator } from "./nmlsValidation.js";
5
+ function useCachedEmailValidator(validateEmail) {
6
+ const validatorRef = useRef();
7
+ if (!validatorRef.current) {
8
+ validatorRef.current = createCachedEmailValidator(validateEmail);
9
+ }
10
+ return validatorRef.current;
11
+ }
12
+ function useCachedNMLSValidator(validateNMLS) {
13
+ const validatorRef = useRef();
14
+ if (!validatorRef.current) {
15
+ validatorRef.current = createCachedNMLSValidator(validateNMLS);
16
+ }
17
+ return validatorRef.current;
18
+ }
19
+ export {
20
+ useCachedEmailValidator,
21
+ useCachedNMLSValidator
22
+ };
package/package.json CHANGED
@@ -1,136 +1,136 @@
1
- {
2
- "name": "@axos-web-dev/shared-components",
3
- "description": "Axos shared components library for web.",
4
- "version": "1.0.100-dev.42",
5
- "type": "module",
6
- "module": "dist/main.js",
7
- "types": "dist/main.d.ts",
8
- "files": [
9
- "dist"
10
- ],
11
- "sideEffects": [
12
- "dist/assets/**/*.css"
13
- ],
14
- "scripts": {
15
- "dev": "vite",
16
- "build": "tsc --p ./tsconfig.build.json && vite build",
17
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
18
- "preview": "vite preview",
19
- "prepublishOnly": "npm run build",
20
- "check-types": "tsc --pretty --noEmit",
21
- "check-format": "prettier --check .",
22
- "check-lint": "eslint . --ext ts --ext tsx --ext js",
23
- "format": "prettier --write .",
24
- "test-all": "npm run check-format && npm run check-lint && npm run check-types && npm run build",
25
- "prepare": "husky",
26
- "storybook": "storybook dev -p 6006",
27
- "build-storybook": "storybook build",
28
- "npm:link": "npm run build && npm link"
29
- },
30
- "dependencies": {
31
- "@headlessui/react": "^2.2.0",
32
- "@hookform/resolvers": "^3.10.0",
33
- "@next-safe-action/adapter-react-hook-form": "^2.0.0",
34
- "@react-input/mask": "^1.2.15",
35
- "@react-input/number-format": "^1.1.3",
36
- "@storybook/icons": "^1.3.0",
37
- "@storybook/preview-api": "^8.4.7",
38
- "@ts-stack/markdown": "^1.5.0",
39
- "@types/iframe-resizer": "3.5.13",
40
- "@ujet/websdk-headless": "^3.41.4",
41
- "@vanilla-extract/css": "^1.16.1",
42
- "@vanilla-extract/recipes": "^0.5.1",
43
- "antd": "^5.22.5",
44
- "clsx": "^2.1.1",
45
- "framer-motion": "^12.9.2",
46
- "iframe-resizer": "^3.6.6",
47
- "lodash": "^4.17.21",
48
- "moment": "^2.30.1",
49
- "next-safe-action": "^8.0.2",
50
- "react-date-picker": "^11.0.0",
51
- "react-date-range": "^2.0.1",
52
- "react-hook-form": "^7.54.2",
53
- "react-markdown": "^9.1.0",
54
- "react-popper": "^2.3.0",
55
- "react-slick": "^0.30.2",
56
- "react-use": "^17.6.0",
57
- "react-wrap-balancer": "^1.1.1",
58
- "remark-gfm": "^4.0.1",
59
- "rsuite": "^5.75.0",
60
- "slick-carousel": "^1.8.1",
61
- "typed-css-modules": "^0.9.1",
62
- "vite-plugin-svgr": "^4.3.0",
63
- "zod": "^3.24.1",
64
- "zustand": "^4.5.5"
65
- },
66
- "peerDependencies": {
67
- "@vanilla-extract/css-utils": "^0.1.3",
68
- "@vanilla-extract/recipes": "^0.5.1",
69
- "@vanilla-extract/vite-plugin": "^4.0.3",
70
- "next": "^14.1.4",
71
- "react": "^18.2.0",
72
- "react-date-range": "^2.0.1",
73
- "react-dom": "^18.2.0",
74
- "react-popper": "^2.3.0",
75
- "react-slick": "^0.30.2",
76
- "slick-carousel": "^1.8.1"
77
- },
78
- "devDependencies": {
79
- "@chromatic-com/storybook": "^1.9.0",
80
- "@rollup/plugin-alias": "^5.1.1",
81
- "@storybook/addon-essentials": "^8.4.7",
82
- "@storybook/addon-interactions": "^8.4.7",
83
- "@storybook/addon-links": "^8.4.7",
84
- "@storybook/addon-mdx-gfm": "^8.4.7",
85
- "@storybook/addon-onboarding": "^8.4.7",
86
- "@storybook/addon-themes": "^8.4.7",
87
- "@storybook/blocks": "^8.4.7",
88
- "@storybook/react": "^8.6.14",
89
- "@storybook/react-vite": "^8.4.7",
90
- "@storybook/test": "^8.6.14",
91
- "@svgr/core": "^8.1.0",
92
- "@svgr/plugin-prettier": "^8.1.0",
93
- "@svgr/plugin-svgo": "^8.1.0",
94
- "@types/lodash": "^4.17.17",
95
- "@types/node": "^20.19.0",
96
- "@types/react": "^18.3.23",
97
- "@types/react-date-range": "^1.4.9",
98
- "@types/react-datepicker": "^6.2.0",
99
- "@types/react-dom": "^18.3.7",
100
- "@types/react-slick": "^0.23.13",
101
- "@typescript-eslint/eslint-plugin": "^7.18.0",
102
- "@typescript-eslint/parser": "^7.18.0",
103
- "@vanilla-extract/css-utils": "^0.1.4",
104
- "@vanilla-extract/recipes": "^0.5.5",
105
- "@vanilla-extract/vite-plugin": "^4.0.18",
106
- "@vitejs/plugin-react-swc": "^3.7.2",
107
- "esbuild-vanilla-image-loader": "^0.1.3",
108
- "eslint": "^8.57.1",
109
- "eslint-plugin-react-hooks": "^4.6.2",
110
- "eslint-plugin-react-refresh": "^0.4.16",
111
- "eslint-plugin-storybook": "^0.8.0",
112
- "glob": "^10.4.5",
113
- "husky": "^9.1.7",
114
- "next": "^14.1.4",
115
- "prettier": "3.2.5",
116
- "react": "^18.3.1",
117
- "react-dom": "^18.3.1",
118
- "rollup-plugin-preserve-directives": "^0.4.0",
119
- "rollup-plugin-svg-import": "^3.0.0",
120
- "rollup-plugin-svgo": "^2.0.0",
121
- "storybook": "^8.4.7",
122
- "typescript": "^5.7.2",
123
- "typescript-plugin-css-modules": "^5.1.0",
124
- "vite": "^5.4.11",
125
- "vite-plugin-dts": "^3.9.1",
126
- "vite-plugin-lib-inject-css": "^2.1.1",
127
- "vite-plugin-setting-css-module": "^1.1.4",
128
- "vite-tsconfig-paths": "^4.3.2"
129
- },
130
- "main": "index.js",
131
- "directories": {
132
- "lib": "lib"
133
- },
134
- "author": "axos-web-dev",
135
- "license": "ISC"
136
- }
1
+ {
2
+ "name": "@axos-web-dev/shared-components",
3
+ "description": "Axos shared components library for web.",
4
+ "version": "1.0.100-dev.42-enhancementvalidationcalls.1",
5
+ "type": "module",
6
+ "module": "dist/main.js",
7
+ "types": "dist/main.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "sideEffects": [
12
+ "dist/assets/**/*.css"
13
+ ],
14
+ "scripts": {
15
+ "dev": "vite",
16
+ "build": "tsc --p ./tsconfig.build.json && vite build",
17
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
18
+ "preview": "vite preview",
19
+ "prepublishOnly": "npm run build",
20
+ "check-types": "tsc --pretty --noEmit",
21
+ "check-format": "prettier --check .",
22
+ "check-lint": "eslint . --ext ts --ext tsx --ext js",
23
+ "format": "prettier --write .",
24
+ "test-all": "npm run check-format && npm run check-lint && npm run check-types && npm run build",
25
+ "prepare": "husky",
26
+ "storybook": "storybook dev -p 6006",
27
+ "build-storybook": "storybook build",
28
+ "npm:link": "npm run build && npm link"
29
+ },
30
+ "dependencies": {
31
+ "@headlessui/react": "^2.2.0",
32
+ "@hookform/resolvers": "^3.10.0",
33
+ "@next-safe-action/adapter-react-hook-form": "^2.0.0",
34
+ "@react-input/mask": "^1.2.15",
35
+ "@react-input/number-format": "^1.1.3",
36
+ "@storybook/icons": "^1.3.0",
37
+ "@storybook/preview-api": "^8.4.7",
38
+ "@ts-stack/markdown": "^1.5.0",
39
+ "@types/iframe-resizer": "3.5.13",
40
+ "@ujet/websdk-headless": "^3.41.4",
41
+ "@vanilla-extract/css": "^1.16.1",
42
+ "@vanilla-extract/recipes": "^0.5.1",
43
+ "antd": "^5.22.5",
44
+ "clsx": "^2.1.1",
45
+ "framer-motion": "^12.9.2",
46
+ "iframe-resizer": "^3.6.6",
47
+ "lodash": "^4.17.21",
48
+ "moment": "^2.30.1",
49
+ "next-safe-action": "^8.0.2",
50
+ "react-date-picker": "^11.0.0",
51
+ "react-date-range": "^2.0.1",
52
+ "react-hook-form": "^7.54.2",
53
+ "react-markdown": "^9.1.0",
54
+ "react-popper": "^2.3.0",
55
+ "react-slick": "^0.30.2",
56
+ "react-use": "^17.6.0",
57
+ "react-wrap-balancer": "^1.1.1",
58
+ "remark-gfm": "^4.0.1",
59
+ "rsuite": "^5.75.0",
60
+ "slick-carousel": "^1.8.1",
61
+ "typed-css-modules": "^0.9.1",
62
+ "vite-plugin-svgr": "^4.3.0",
63
+ "zod": "^3.24.1",
64
+ "zustand": "^4.5.5"
65
+ },
66
+ "peerDependencies": {
67
+ "@vanilla-extract/css-utils": "^0.1.3",
68
+ "@vanilla-extract/recipes": "^0.5.1",
69
+ "@vanilla-extract/vite-plugin": "^4.0.3",
70
+ "next": "^14.1.4",
71
+ "react": "^18.2.0",
72
+ "react-date-range": "^2.0.1",
73
+ "react-dom": "^18.2.0",
74
+ "react-popper": "^2.3.0",
75
+ "react-slick": "^0.30.2",
76
+ "slick-carousel": "^1.8.1"
77
+ },
78
+ "devDependencies": {
79
+ "@chromatic-com/storybook": "^1.9.0",
80
+ "@rollup/plugin-alias": "^5.1.1",
81
+ "@storybook/addon-essentials": "^8.4.7",
82
+ "@storybook/addon-interactions": "^8.4.7",
83
+ "@storybook/addon-links": "^8.4.7",
84
+ "@storybook/addon-mdx-gfm": "^8.4.7",
85
+ "@storybook/addon-onboarding": "^8.4.7",
86
+ "@storybook/addon-themes": "^8.4.7",
87
+ "@storybook/blocks": "^8.4.7",
88
+ "@storybook/react": "^8.6.14",
89
+ "@storybook/react-vite": "^8.4.7",
90
+ "@storybook/test": "^8.6.14",
91
+ "@svgr/core": "^8.1.0",
92
+ "@svgr/plugin-prettier": "^8.1.0",
93
+ "@svgr/plugin-svgo": "^8.1.0",
94
+ "@types/lodash": "^4.17.17",
95
+ "@types/node": "^20.19.0",
96
+ "@types/react": "^18.3.23",
97
+ "@types/react-date-range": "^1.4.9",
98
+ "@types/react-datepicker": "^6.2.0",
99
+ "@types/react-dom": "^18.3.7",
100
+ "@types/react-slick": "^0.23.13",
101
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
102
+ "@typescript-eslint/parser": "^7.18.0",
103
+ "@vanilla-extract/css-utils": "^0.1.4",
104
+ "@vanilla-extract/recipes": "^0.5.5",
105
+ "@vanilla-extract/vite-plugin": "^4.0.18",
106
+ "@vitejs/plugin-react-swc": "^3.7.2",
107
+ "esbuild-vanilla-image-loader": "^0.1.3",
108
+ "eslint": "^8.57.1",
109
+ "eslint-plugin-react-hooks": "^4.6.2",
110
+ "eslint-plugin-react-refresh": "^0.4.16",
111
+ "eslint-plugin-storybook": "^0.8.0",
112
+ "glob": "^10.4.5",
113
+ "husky": "^9.1.7",
114
+ "next": "^14.1.4",
115
+ "prettier": "3.2.5",
116
+ "react": "^18.3.1",
117
+ "react-dom": "^18.3.1",
118
+ "rollup-plugin-preserve-directives": "^0.4.0",
119
+ "rollup-plugin-svg-import": "^3.0.0",
120
+ "rollup-plugin-svgo": "^2.0.0",
121
+ "storybook": "^8.4.7",
122
+ "typescript": "^5.7.2",
123
+ "typescript-plugin-css-modules": "^5.1.0",
124
+ "vite": "^5.4.11",
125
+ "vite-plugin-dts": "^3.9.1",
126
+ "vite-plugin-lib-inject-css": "^2.1.1",
127
+ "vite-plugin-setting-css-module": "^1.1.4",
128
+ "vite-tsconfig-paths": "^4.3.2"
129
+ },
130
+ "main": "index.js",
131
+ "directories": {
132
+ "lib": "lib"
133
+ },
134
+ "author": "axos-web-dev",
135
+ "license": "ISC"
136
+ }