@axos-web-dev/shared-components 1.0.100-dev.75 → 1.0.100-dev.76-feature-lp-logos

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.
@@ -41,7 +41,9 @@ const ChatWindow = ({
41
41
  showThankyouMessage,
42
42
  displayThankyouMessage,
43
43
  toggleThankyouMessage,
44
- hasEscalated
44
+ hasEscalated,
45
+ isBlockedInput,
46
+ isOpen
45
47
  } = useOpenChat();
46
48
  const [mounted, setMounted] = React.useState(false);
47
49
  const [menuOpen, setMenuOpen] = React.useState(false);
@@ -50,9 +52,6 @@ const ChatWindow = ({
50
52
  const [input, setInput] = React.useState("");
51
53
  const messagesEndRef = useRef(null);
52
54
  const inputRef = useRef(null);
53
- const isOpen = useOpenChat((state2) => state2.isOpen);
54
- const isBlockedInput = useOpenChat((state2) => state2.isBlockedInput);
55
- const blockInput = useOpenChat((state2) => state2.blockInput);
56
55
  useEffect(() => {
57
56
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
58
57
  }, [messages]);
@@ -60,10 +59,7 @@ const ChatWindow = ({
60
59
  e.preventDefault();
61
60
  const cleaned = cleanInput(input);
62
61
  if (isBlockedInput) return;
63
- if (cleaned) {
64
- if (!hasEscalated) {
65
- blockInput?.();
66
- }
62
+ if (cleaned != "") {
67
63
  onSend(cleaned);
68
64
  setInput("");
69
65
  }
@@ -457,7 +453,7 @@ const ChatWindow = ({
457
453
  style: {
458
454
  display: "flex",
459
455
  padding: "12px 16px",
460
- background: "#ffffff",
456
+ background: isBlockedInput || inputDisabled || status !== "connected" || messages.length == 0 || escalationDeflected ? "light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3))" : "#ffffff",
461
457
  borderRadius: 12
462
458
  },
463
459
  children: [
@@ -22,7 +22,7 @@ const Chatbot = ({
22
22
  hasEscalated,
23
23
  endEscalation,
24
24
  unblockInput,
25
- isBlockedInput
25
+ blockInput
26
26
  } = useOpenChat();
27
27
  const { addMessage, addMessages, clearMessages, messages } = useMessages();
28
28
  const clientRef = useRef(null);
@@ -99,31 +99,31 @@ const Chatbot = ({
99
99
  };
100
100
  const onChatMessageHandler = async (message) => {
101
101
  console.log("Received message:", message);
102
- if (["system", "virtual_agent", "user"].includes(message.$userType) && message.event === void 0) {
103
- console.log(message.$userType, "not end user");
102
+ const { event, $userType } = message;
103
+ if (["system", "virtual_agent", "user"].includes($userType) && event === void 0) {
104
104
  addMessage(message);
105
- if (!hasEscalated && isBlockedInput) {
105
+ if (!hasEscalated) {
106
106
  unblockInput?.();
107
107
  }
108
108
  return;
109
109
  }
110
- const eventName = message?.event;
111
- switch (eventName) {
110
+ switch (event) {
112
111
  case "escalationAccepted":
112
+ case "escalationStarted":
113
113
  setScalationStarted(true);
114
114
  startEscalation?.();
115
115
  addMessage(message);
116
116
  return;
117
- case "escalationStarted":
118
- setScalationStarted(true);
119
- startEscalation?.();
117
+ case "escalationEnded":
118
+ case "escalationFailed": {
119
+ endEscalation?.();
120
120
  addMessage(message);
121
121
  return;
122
+ }
122
123
  default:
123
124
  addMessage(message);
124
125
  if (["end_user"].includes(message.$userType)) {
125
126
  if (!hasEscalated) {
126
- console.log(message.$userType, "end user");
127
127
  addMessage(typingMessage);
128
128
  }
129
129
  }
@@ -294,7 +294,15 @@ const Chatbot = ({
294
294
  };
295
295
  const onSendMessage = async (msg) => {
296
296
  console.log("Sending message:", msg);
297
- await clientRef.current?.sendTextMessage(msg);
297
+ try {
298
+ await clientRef.current?.sendTextMessage(msg);
299
+ } catch (error) {
300
+ console.log(error);
301
+ } finally {
302
+ if (!hasEscalated) {
303
+ blockInput?.();
304
+ }
305
+ }
298
306
  };
299
307
  const onEndChat = async () => {
300
308
  console.log("Ending chat");
@@ -9,7 +9,7 @@ import '../assets/themes/victorie.css';import '../assets/themes/ufb.css';import
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  import clsx from "clsx";
12
- import { shimmerText, notificationStyle, endChatButtonStyle, messageStyle, user_msg, agent_msg, inline_button_wrapper, inline_button } from "./ChatWindow.css.js";
12
+ import { shimmerText, notificationStyle, messageStyle, user_msg, agent_msg, inline_button_wrapper, inline_button, endChatButtonStyle } from "./ChatWindow.css.js";
13
13
  import { useOpenChat } from "./store/chat.js";
14
14
  function timeAgo(date) {
15
15
  const seconds = Math.floor(((/* @__PURE__ */ new Date()).getTime() - date.getTime()) / 1e3);
@@ -24,7 +24,6 @@ const ChatbotMessage = ({
24
24
  showAvatar,
25
25
  showName,
26
26
  virtualAgent,
27
- onCancelEndChat,
28
27
  onEndChat,
29
28
  onSend
30
29
  }) => {
@@ -76,23 +75,20 @@ const ChatbotMessage = ({
76
75
  " ",
77
76
  msg.to_agent ? /* @__PURE__ */ jsx("strong", { children: msg?.to_agent?.name }) : "an agent"
78
77
  ] }, msg.$index),
79
- msg.type == "noti" && msg.$userType == "virtual_agent" && msg.event == "escalationDeflected" && /* @__PURE__ */ jsxs(Fragment, { children: [
80
- /* @__PURE__ */ jsxs(
81
- "div",
82
- {
83
- className: notificationStyle,
84
- style: { fontSize: 12 },
85
- children: [
86
- "Our chat team is available weekdays, 8am-5pm, except federal bank holidays. For immediate assistance you can reach out to us at",
87
- " ",
88
- /* @__PURE__ */ jsx("a", { href: "tel:1-888-502-2967", children: "1-888-502-2967" }),
89
- "."
90
- ]
91
- },
92
- msg.$index
93
- ),
94
- /* @__PURE__ */ jsx("div", { style: { textAlign: "center", marginBottom: 12 }, children: /* @__PURE__ */ jsx("button", { className: endChatButtonStyle, onClick: onCancelEndChat, children: "End Chat" }) })
95
- ] }),
78
+ msg.type == "noti" && msg.$userType == "virtual_agent" && msg.event == "escalationDeflected" && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
79
+ "div",
80
+ {
81
+ className: notificationStyle,
82
+ style: { fontSize: 12 },
83
+ children: [
84
+ "Our chat team is available weekdays, 8am-5pm, except federal bank holidays. For immediate assistance you can reach out to us at",
85
+ " ",
86
+ /* @__PURE__ */ jsx("a", { href: "tel:1-888-502-2967", children: "1-888-502-2967" }),
87
+ "."
88
+ ]
89
+ },
90
+ msg.$index
91
+ ) }),
96
92
  ["text", "markdown_template", "markdown"].includes(msg.type) && /* @__PURE__ */ jsx(
97
93
  "div",
98
94
  {
@@ -181,7 +177,28 @@ const ChatbotMessage = ({
181
177
  index
182
178
  );
183
179
  }) }),
184
- msg.event == "chatEnded" && /* @__PURE__ */ jsxs(Fragment, { children: [
180
+ " ",
181
+ msg.event == "chatEnded" && msg.status == "failed" && /* @__PURE__ */ jsxs(Fragment, { children: [
182
+ /* @__PURE__ */ jsxs(
183
+ "div",
184
+ {
185
+ title: (/* @__PURE__ */ new Date()).toLocaleString(),
186
+ style: {
187
+ fontSize: 12,
188
+ color: "#888",
189
+ marginBottom: 4,
190
+ textAlign: "center"
191
+ },
192
+ children: [
193
+ "No team members are online at the moment.",
194
+ /* @__PURE__ */ jsx("br", {}),
195
+ " Please try again later."
196
+ ]
197
+ }
198
+ ),
199
+ /* @__PURE__ */ jsx("div", { style: { textAlign: "center", marginBottom: 12 }, children: /* @__PURE__ */ jsx("button", { className: endChatButtonStyle, onClick: onEndChat, children: "End Chat" }) })
200
+ ] }),
201
+ msg.event == "chatEnded" && msg.status != "failed" && /* @__PURE__ */ jsxs(Fragment, { children: [
185
202
  /* @__PURE__ */ jsxs(
186
203
  "div",
187
204
  {
@@ -9,10 +9,28 @@ export declare const lp_theme: import('@vanilla-extract/recipes').RuntimeFn<{
9
9
  tertiary: {
10
10
  background: `var(--${string})`;
11
11
  };
12
+ quaternary: {
13
+ background: `var(--${string})`;
14
+ };
12
15
  };
13
16
  }>;
14
17
  export declare const lp_container: string;
15
18
  export declare const spb_container: string;
16
19
  export declare const lp_hover: string;
17
20
  export declare const spb_hover: string;
18
- export declare const svg_fill: string;
21
+ export declare const svg_fill: import('@vanilla-extract/recipes').RuntimeFn<{
22
+ variant: {
23
+ primary: {
24
+ fill: `var(--${string})`;
25
+ };
26
+ secondary: {
27
+ fill: `var(--${string})`;
28
+ };
29
+ tertiary: {
30
+ fill: `var(--${string})`;
31
+ };
32
+ quaternary: {
33
+ fill: `var(--${string})`;
34
+ };
35
+ };
36
+ }>;
@@ -4,12 +4,12 @@ import '../assets/LandingPageHeader/LandingPageHeader.css';import '../assets/the
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
7
- var lp_theme = createRuntimeFn({ defaultClassName: "_1o1hxre0", variantClassNames: { variant: { primary: "_1o1hxre1", secondary: "_1o1hxre2", tertiary: "_1o1hxre3" } }, defaultVariants: {}, compoundVariants: [] });
8
- var lp_container = "_1o1hxre4";
9
- var spb_container = "_1o1hxre5";
10
- var lp_hover = "_1o1hxre6";
11
- var spb_hover = "_1o1hxre7";
12
- var svg_fill = "_1o1hxre8";
7
+ var lp_theme = createRuntimeFn({ defaultClassName: "_1o1hxre0", variantClassNames: { variant: { primary: "_1o1hxre1", secondary: "_1o1hxre2", tertiary: "_1o1hxre3", quaternary: "_1o1hxre4" } }, defaultVariants: {}, compoundVariants: [] });
8
+ var lp_container = "_1o1hxre5";
9
+ var spb_container = "_1o1hxre6";
10
+ var lp_hover = "_1o1hxre7";
11
+ var spb_hover = "_1o1hxre8";
12
+ var svg_fill = createRuntimeFn({ defaultClassName: "_1o1hxre9", variantClassNames: { variant: { primary: "_1o1hxrea", secondary: "_1o1hxreb", tertiary: "_1o1hxrec", quaternary: "_1o1hxred" } }, defaultVariants: {}, compoundVariants: [] });
13
13
  export {
14
14
  lp_container,
15
15
  lp_hover,
@@ -1,9 +1,11 @@
1
1
  import { QuaternaryTypes } from '../utils/variant.types';
2
+ import { ImageInterface } from '../main';
2
3
 
3
4
  export interface LandingPageHeaderProps {
4
5
  id: string;
5
6
  variant: QuaternaryTypes;
6
7
  project?: string;
7
8
  alt?: string;
9
+ logo?: ImageInterface;
8
10
  }
9
- export declare const LandingPageHeader: ({ id, variant: fullVariant, project, alt, }: LandingPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const LandingPageHeader: ({ id, variant: fullVariant, project, alt, logo, }: LandingPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,28 +13,45 @@ import SvgComponent from "../icons/Logos/AXA.js";
13
13
  import SvgComponent$2 from "../icons/Logos/AXC.js";
14
14
  import SvgComponent$4 from "../icons/Logos/AXI.js";
15
15
  import SvgComponent$5 from "../icons/Logos/AXOS.js";
16
- import SvgComponent$7 from "../icons/Logos/GBLVF.js";
17
- import SvgComponent$6 from "../icons/Logos/LVF.js";
18
- import SvgComponent$8 from "../icons/Logos/SPB.js";
16
+ import SvgComponent$6 from "../icons/Logos/GBLVF.js";
17
+ import SvgComponent$7 from "../icons/Logos/SPB.js";
19
18
  import { getVariant } from "../utils/getVariant.js";
20
- import { lp_theme, spb_container, lp_container, spb_hover, lp_hover, svg_fill } from "./LandingPageHeader.css.js";
19
+ import { svg_fill, lp_theme, spb_container, lp_container, spb_hover, lp_hover } from "./LandingPageHeader.css.js";
21
20
  const LandingPageHeader = ({
22
21
  id,
23
22
  variant: fullVariant = "primary",
24
23
  project = "AXB",
25
- alt
24
+ alt,
25
+ logo
26
26
  }) => {
27
27
  const variant = getVariant(fullVariant);
28
28
  const website = /* @__PURE__ */ new Map([
29
- ["AXA", /* @__PURE__ */ jsx(SvgComponent, { classNameFill: svg_fill, height: 36, width: 120 })],
30
- ["AFS", /* @__PURE__ */ jsx(SvgComponent$1, { classNameFill: svg_fill, height: 36, width: 120 })],
31
- ["AXC", /* @__PURE__ */ jsx(SvgComponent$2, { classNameFill: svg_fill, height: 36, width: 120 })],
32
- ["AAS", /* @__PURE__ */ jsx(SvgComponent$3, { classNameFill: svg_fill, height: 36, width: 120 })],
33
- ["AXI", /* @__PURE__ */ jsx(SvgComponent$4, { classNameFill: svg_fill, height: 36, width: 120 })],
34
- ["AXB", /* @__PURE__ */ jsx(SvgComponent$5, { height: 30, width: 120, classNameFill: svg_fill })],
35
- ["LVF", /* @__PURE__ */ jsx(SvgComponent$6, { height: 30, width: 120, classNameFill: `${svg_fill}` })],
36
- ["GBLVF", /* @__PURE__ */ jsx(SvgComponent$7, { height: 60, width: 220 })],
37
- ["SPB", /* @__PURE__ */ jsx(SvgComponent$8, { height: "100%", width: "100%" })]
29
+ [
30
+ "AXA",
31
+ /* @__PURE__ */ jsx(SvgComponent, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
32
+ ],
33
+ [
34
+ "AFS",
35
+ /* @__PURE__ */ jsx(SvgComponent$1, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
36
+ ],
37
+ [
38
+ "AXC",
39
+ /* @__PURE__ */ jsx(SvgComponent$2, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
40
+ ],
41
+ [
42
+ "AAS",
43
+ /* @__PURE__ */ jsx(SvgComponent$3, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
44
+ ],
45
+ [
46
+ "AXI",
47
+ /* @__PURE__ */ jsx(SvgComponent$4, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
48
+ ],
49
+ [
50
+ "AXB",
51
+ /* @__PURE__ */ jsx(SvgComponent$5, { height: 30, width: 120, classNameFill: svg_fill({ variant }) })
52
+ ],
53
+ ["GBLVF", /* @__PURE__ */ jsx(SvgComponent$6, { height: 60, width: 220 })],
54
+ ["SPB", /* @__PURE__ */ jsx(SvgComponent$7, { height: "100%", width: "100%" })]
38
55
  ]);
39
56
  const isSPBPage = project === "SPB";
40
57
  return /* @__PURE__ */ jsx("header", { className: `${lp_theme({ variant })}`, id: `id_${id}`, children: /* @__PURE__ */ jsx(
@@ -46,8 +63,17 @@ const LandingPageHeader = ({
46
63
  {
47
64
  href: project == "AXI" ? "/invest" : "/",
48
65
  className: isSPBPage ? spb_hover : lp_hover,
49
- "aria-label": alt ?? "axos logo, return to homepage",
50
- children: website.get(project)
66
+ "aria-label": alt ?? "return to homepage",
67
+ children: logo ? /* @__PURE__ */ jsx(
68
+ "img",
69
+ {
70
+ src: logo.src,
71
+ alt: logo.alt ?? "",
72
+ height: Number(logo.height),
73
+ width: Number(logo.width),
74
+ className: "img_fluid"
75
+ }
76
+ ) : website.get(project)
51
77
  }
52
78
  )
53
79
  }
@@ -93,6 +93,7 @@ button:has(span:hover) ._13n1jqk6 {
93
93
  font-size: 16px;
94
94
  opacity: 0.7;
95
95
  outline: none;
96
+ background: transparent;
96
97
  resize: none;
97
98
  }
98
99
  ._13n1jqk9::placeholder {
@@ -101,21 +102,23 @@ button:has(span:hover) ._13n1jqk6 {
101
102
  ._1hpv6vm1 ._13n1jqk9::placeholder {
102
103
  color: rgba(31,31,31,.58);
103
104
  }
105
+ ._13n1jqk9:disabled {
106
+ cursor: not-allowed;
107
+ }
104
108
  ._13n1jqka {
105
109
  overflow-y: hidden;
106
110
  min-height: 20px;
107
111
  }
108
112
  ._13n1jqkb {
109
113
  padding-inline: 20px;
110
- background: #ffffff;
114
+ background: transparent;
111
115
  border: none;
112
116
  }
113
117
  ._13n1jqkb:hover {
114
- background: #ffffff;
115
118
  cursor: pointer;
116
119
  }
117
- ._1hpv6vm1 ._13n1jqkb:hover {
118
- background: #eae8e8;
120
+ ._13n1jqkb:disabled {
121
+ cursor: not-allowed;
119
122
  }
120
123
  ._13n1jqkb svg {
121
124
  fill: rgba(31,31,31,.38);
@@ -2,56 +2,68 @@
2
2
  background: var(--_1073cm81);
3
3
  }
4
4
  ._1o1hxre2 {
5
- background: var(--_1073cm81);
5
+ background: var(--_1073cm88);
6
6
  }
7
7
  ._1o1hxre3 {
8
- background: var(--_1073cm81);
8
+ background: var(--_1073cm8f);
9
9
  }
10
10
  ._1o1hxre4 {
11
- padding: 0 24px;
12
- min-height: 59px;
11
+ background: var(--_1073cm8m);
13
12
  }
14
13
  ._1o1hxre5 {
15
- padding: 32px 24px;
14
+ padding: 7px 24px;
16
15
  min-height: 59px;
17
16
  }
18
17
  ._1o1hxre6 {
18
+ padding: 32px 24px;
19
+ min-height: 59px;
20
+ }
21
+ ._1o1hxre7 {
19
22
  transition: opacity 0.35s ease;
20
23
  }
21
- ._1o1hxre6:hover {
24
+ ._1o1hxre7:hover {
22
25
  opacity: 0.6;
23
26
  }
24
- ._1o1hxre6:active {
27
+ ._1o1hxre7:active {
25
28
  opacity: 1;
26
29
  }
27
- ._1o1hxre7 {
30
+ ._1o1hxre8 {
28
31
  transition: opacity 0.35s ease;
29
32
  width: 568px;
30
33
  height: 78px;
31
34
  }
32
- ._1o1hxre7:hover {
35
+ ._1o1hxre8:hover {
33
36
  opacity: 0.6;
34
37
  }
35
- ._1o1hxre7:active {
38
+ ._1o1hxre8:active {
36
39
  opacity: 1;
37
40
  }
38
- ._1o1hxre8 {
41
+ ._1o1hxrea {
39
42
  fill: var(--_1073cm85);
40
43
  }
44
+ ._1o1hxreb {
45
+ fill: var(--_1073cm8c);
46
+ }
47
+ ._1o1hxrec {
48
+ fill: var(--_1073cm8j);
49
+ }
50
+ ._1o1hxred {
51
+ fill: var(--_1073cm8q);
52
+ }
41
53
  @media screen and (max-width: 1023px) {
42
- ._1o1hxre5 {
54
+ ._1o1hxre6 {
43
55
  padding: 28px 24px;
44
56
  }
45
- ._1o1hxre7 {
57
+ ._1o1hxre8 {
46
58
  width: 454px;
47
59
  height: 62px;
48
60
  }
49
61
  }
50
62
  @media screen and (max-width: 768px) {
51
- ._1o1hxre5 {
63
+ ._1o1hxre6 {
52
64
  padding: 24px 24px;
53
65
  }
54
- ._1o1hxre7 {
66
+ ._1o1hxre8 {
55
67
  width: 340px;
56
68
  height: 46px;
57
69
  }
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.75",
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.76-feature-lp-logos",
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
+ }