qaema-ui 0.0.32 → 0.0.36

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.
@@ -1,7 +1,7 @@
1
1
  import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as t } from "../node_modules/react-helmet-async/node_modules/react-fast-compare/index.js";
3
- var a = t();
4
- const m = /* @__PURE__ */ r(a);
2
+ import { __require as o } from "../node_modules/prop-types/index.js";
3
+ var p = /* @__PURE__ */ o();
4
+ const s = /* @__PURE__ */ r(p);
5
5
  export {
6
- m as default
6
+ s as default
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../node_modules/shallowequal/index.js";
3
- var a = o();
4
- const t = /* @__PURE__ */ r(a);
2
+ import { __require as t } from "../node_modules/react-helmet-async/node_modules/react-fast-compare/index.js";
3
+ var a = t();
4
+ const m = /* @__PURE__ */ r(a);
5
5
  export {
6
- t as default
6
+ m as default
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../node_modules/prop-types/index.js";
3
- var p = /* @__PURE__ */ o();
4
- const s = /* @__PURE__ */ r(p);
2
+ import { __require as o } from "../node_modules/shallowequal/index.js";
3
+ var a = o();
4
+ const t = /* @__PURE__ */ r(a);
5
5
  export {
6
- s as default
6
+ t as default
7
7
  };
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from 'react';
2
+ export type BannerVariant = 'primary' | 'teal' | 'green' | 'default';
3
+ export type BannerProps = {
4
+ children: ReactNode;
5
+ variant?: BannerVariant;
6
+ dismissible?: boolean;
7
+ onDismiss?: () => void;
8
+ };
9
+ declare const Banner: ({ children, variant, dismissible, onDismiss }: BannerProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default Banner;
@@ -0,0 +1,76 @@
1
+ import { j as e } from "../_virtual/jsx-runtime.js";
2
+ import { IoClose as c } from "../node_modules/react-icons/io5/index.js";
3
+ import s, { css as o } from "styled-components";
4
+ const t = s.div`
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: space-between;
8
+ gap: ${({ theme: r }) => r.spacing.sm};
9
+ padding: ${({ theme: r }) => `${r.spacing.s} ${r.spacing.m}`};
10
+ width: 100%;
11
+ min-height: 3rem;
12
+ position: relative;
13
+
14
+ ${({ $variant: r, theme: n }) => {
15
+ switch (r) {
16
+ case "primary":
17
+ return o`
18
+ background: linear-gradient(90deg, ${n.colors.primary.purple.n500} 0%, ${n.colors.primary.purple.n400} 100%);
19
+ color: ${n.colors.grey.n50};
20
+ `;
21
+ case "teal":
22
+ return o`
23
+ background: ${n.colors.primary.green.n150};
24
+ color: ${n.colors.grey.n650};
25
+ `;
26
+ case "green":
27
+ return o`
28
+ background: ${n.colors.state.success.n150};
29
+ color: ${n.colors.grey.n650};
30
+ `;
31
+ case "default":
32
+ default:
33
+ return o`
34
+ background: ${n.colors.grey.n100};
35
+ color: ${n.colors.grey.n600};
36
+ `;
37
+ }
38
+ }}
39
+ `, l = s.div`
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: space-between;
43
+ gap: ${({ theme: r }) => r.spacing.sm};
44
+ flex: 1;
45
+ `, p = s.button`
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ background: transparent;
50
+ border: none;
51
+ cursor: pointer;
52
+ padding: ${({ theme: r }) => r.spacing.xxs};
53
+ border-radius: ${({ theme: r }) => r.borderRadius.circle};
54
+ transition: all 0.2s ease-in-out;
55
+ color: currentColor;
56
+ flex-shrink: 0;
57
+
58
+ &:hover {
59
+ opacity: 0.7;
60
+ ${({ $variant: r, theme: n }) => r === "primary" ? o`
61
+ background: rgba(255, 255, 255, 0.2);
62
+ ` : o`
63
+ background: ${n.colors.grey.n200};
64
+ `}
65
+ }
66
+
67
+ &:active {
68
+ opacity: 0.5;
69
+ }
70
+ `, $ = ({ children: r, variant: n = "default", dismissible: a = !1, onDismiss: i }) => /* @__PURE__ */ e.jsxs(t, { $variant: n, children: [
71
+ /* @__PURE__ */ e.jsx(l, { children: r }),
72
+ a && /* @__PURE__ */ e.jsx(p, { $variant: n, onClick: i, "aria-label": "Dismiss banner", children: /* @__PURE__ */ e.jsx(c, { size: 20 }) })
73
+ ] });
74
+ export {
75
+ $ as default
76
+ };
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export type FeatureCardProps = {
3
+ icon?: React.ReactNode;
4
+ title?: string;
5
+ badge?: React.ReactNode;
6
+ description?: string;
7
+ CTAText?: string;
8
+ CTAAction?: () => void;
9
+ };
10
+ export declare const FeatureCard: React.FC<FeatureCardProps>;
@@ -0,0 +1,84 @@
1
+ import { j as t } from "../_virtual/jsx-runtime.js";
2
+ import "react";
3
+ import i, { useTheme as l } from "styled-components";
4
+ import c from "./Button.js";
5
+ import { Card as m } from "./Card.js";
6
+ import s from "./Typography.js";
7
+ const g = i(m)`
8
+ background-color: ${({ theme: r }) => r.colors.grey.n50};
9
+ width: 23.903rem;
10
+ min-width: 13.371rem;
11
+ display: flex;
12
+ flex-direction: column;
13
+ align-items: flex-start;
14
+ justify-content: center;
15
+ gap: ${({ theme: r }) => r.spacing.sm};
16
+ padding: ${({ theme: r }) => r.spacing.sm};
17
+ border-radius: ${({ theme: r }) => r.borderRadius.md};
18
+ box-shadow:
19
+ 0px 1.2px 2.39px 0px #0000000f,
20
+ 0px 1.2px 3.59px 0px #0000001a;
21
+ `, x = i.div`
22
+ border: 1.2px solid ${({ theme: r }) => r.colors.grey.n100};
23
+ padding: ${({ theme: r }) => r.spacing.xs};
24
+ border-radius: ${({ theme: r }) => r.borderRadius.md};
25
+ width: 2.391rem;
26
+ height: 2.391rem;
27
+ display: flex;
28
+ justify-content: center;
29
+ align-items: center;
30
+ `, h = i.div`
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: ${({ theme: r }) => r.spacing.xxs};
34
+ `, y = i.div`
35
+ display: flex;
36
+ align-items: center;
37
+ gap: ${({ theme: r }) => r.spacing.xs};
38
+ `, f = i(c)`
39
+ height: 2.391rem !important;
40
+ border-radius: ${({ theme: r }) => r.borderRadius.sm} !important;
41
+ padding: ${({ theme: r }) => r.spacing.s} !important;
42
+ gap: ${({ theme: r }) => r.spacing.xs} !important;
43
+ font-size: ${({ theme: r }) => r.typography.sizes.s3} !important;
44
+ line-height: ${({ theme: r }) => r.typography.lineHeights.s} !important;
45
+ font-weight: ${({ theme: r }) => r.typography.weights.semiBold} !important;
46
+ letter-spacing: ${({ theme: r }) => r.typography.letterSpacings.normal} !important;
47
+ box-shadow:
48
+ 0px 1.2px 2.39px 0px #0000000f,
49
+ 0px 1.2px 3.59px 0px #0000001a !important;
50
+ `, S = ({
51
+ icon: r,
52
+ title: a,
53
+ badge: e,
54
+ description: p,
55
+ CTAText: n,
56
+ CTAAction: d
57
+ }) => {
58
+ const o = l();
59
+ return /* @__PURE__ */ t.jsxs(g, { shadowVariant: "none", children: [
60
+ /* @__PURE__ */ t.jsx(x, { children: r }),
61
+ /* @__PURE__ */ t.jsxs(h, { children: [
62
+ /* @__PURE__ */ t.jsxs(y, { children: [
63
+ /* @__PURE__ */ t.jsx(
64
+ s,
65
+ {
66
+ variant: "h6-lg",
67
+ fontSize: "s7",
68
+ lineHeight: "l",
69
+ letterSpacing: "balancedNarrow",
70
+ weight: "semiBold",
71
+ color: o.colors.grey.n800,
72
+ children: a
73
+ }
74
+ ),
75
+ e && e
76
+ ] }),
77
+ /* @__PURE__ */ t.jsx(s, { fontSize: "s3", lineHeight: "s", weight: "regular", color: o.colors.grey.n400, children: p })
78
+ ] }),
79
+ n && /* @__PURE__ */ t.jsx(f, { variant: "light-primary", width: "100%", onClick: d, children: n })
80
+ ] });
81
+ };
82
+ export {
83
+ S as FeatureCard
84
+ };
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ export type PriceCardVariant = 'transparent' | 'purple';
3
+ export type FeatureVariant = 'included' | 'excluded';
4
+ export type PriceCardBadge = {
5
+ label: string;
6
+ bgColor: string;
7
+ color: string;
8
+ };
9
+ export type PriceCardFeature = {
10
+ label: string;
11
+ variant?: FeatureVariant;
12
+ };
13
+ export type PriceCardPrice = {
14
+ amount: string;
15
+ period?: string;
16
+ color?: string;
17
+ periodColor?: string;
18
+ };
19
+ export type PriceCardPrimaryAction = {
20
+ label: string;
21
+ onClick: () => void;
22
+ variant?: 'primary' | 'light-primary';
23
+ };
24
+ export type PriceCardProps = {
25
+ title: string;
26
+ price: PriceCardPrice;
27
+ description: string;
28
+ features: PriceCardFeature[];
29
+ variant?: PriceCardVariant;
30
+ badges?: PriceCardBadge[];
31
+ primaryAction?: PriceCardPrimaryAction;
32
+ featuresTitle?: string;
33
+ featuresDescription?: string;
34
+ };
35
+ declare const PriceCard: React.FC<PriceCardProps>;
36
+ export default PriceCard;
@@ -0,0 +1,201 @@
1
+ import { j as r } from "../_virtual/jsx-runtime.js";
2
+ import "react";
3
+ import { FiCheck as m, FiX as y } from "../node_modules/react-icons/fi/index.js";
4
+ import i, { css as l } from "styled-components";
5
+ import { CurrencyContainer as $ } from "../styles/Currency.styles.js";
6
+ import u from "../assets/svg/Riyal.svg.js";
7
+ import b from "./Badge.js";
8
+ import w from "./Button.js";
9
+ import s from "./Typography.js";
10
+ const j = {
11
+ transparent: l`
12
+ background: rgba(255, 255, 255, 0.72);
13
+ border: 1px solid ${({ theme: e }) => e.colors.grey.n200};
14
+ box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
15
+ `,
16
+ purple: l`
17
+ background: linear-gradient(360deg, #ffffff 63.12%, #f1eeff 100%);
18
+ border: 1px solid #e3deff;
19
+ box-shadow:
20
+ 0px 4px 6px -2px #10182808,
21
+ 0px 12px 16px -4px #10182814;
22
+ `
23
+ }, v = i.div`
24
+ width: 100%;
25
+ max-width: 28.458rem;
26
+ border-radius: ${({ theme: e }) => e.borderRadius.xl};
27
+ overflow: hidden;
28
+ display: flex;
29
+ flex-direction: column;
30
+ ${({ $variant: e }) => j[e]};
31
+ `, z = i.div`
32
+ padding: 2rem;
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: ${({ theme: e }) => e.spacing.sm};
36
+ border-bottom: 1px solid ${({ theme: e }) => e.colors.grey.n200};
37
+ `, F = i.div`
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: space-between;
41
+ gap: ${({ theme: e }) => e.spacing.m};
42
+ flex-wrap: wrap;
43
+ `, k = i(s)`
44
+ font-family: ${({ theme: e }) => e.fonts.arabic};
45
+ font-weight: 600;
46
+ font-size: ${({ theme: e }) => {
47
+ var o;
48
+ return (o = e.typography.sizes) == null ? void 0 : o.s5;
49
+ }};
50
+ line-height: 1.75rem;
51
+ color: ${({ theme: e }) => e.colors.grey.n400};
52
+ `, C = i.div`
53
+ display: flex;
54
+ flex-direction: column;
55
+ gap: 0.85rem;
56
+ `, B = i.div`
57
+ display: flex;
58
+ align-items: center;
59
+ gap: ${({ theme: e }) => e.spacing.xs};
60
+ flex-wrap: wrap;
61
+ `, R = i.div`
62
+ display: flex;
63
+ align-items: baseline;
64
+ gap: ${({ theme: e }) => e.spacing.xxs};
65
+ `, T = i.span`
66
+ font-family: ${({ theme: e }) => e.fonts.english};
67
+ font-weight: ${({ theme: e }) => e.typography.weights.semiBold};
68
+ font-size: 2.706rem;
69
+ line-height: 3.158rem;
70
+ color: ${({ $color: e, theme: o }) => e ?? o.colors.grey.n800};
71
+ `, P = i.span`
72
+ font-family: ${({ theme: e }) => e.fonts.arabic};
73
+ font-weight: ${({ theme: e }) => e.typography.weights.regular};
74
+ font-size: ${({ theme: e }) => {
75
+ var o;
76
+ return (o = e.typography.sizes) == null ? void 0 : o.s5;
77
+ }};
78
+ line-height: 1.804rem;
79
+ color: ${({ $color: e, theme: o }) => e ?? o.colors.grey.n800};
80
+ `, E = i(s)`
81
+ font-family: ${({ theme: e }) => e.fonts.arabic};
82
+ font-weight: ${({ theme: e }) => e.typography.weights.regular};
83
+ font-size: ${({ theme: e }) => {
84
+ var o;
85
+ return (o = e.typography.sizes) == null ? void 0 : o.s4;
86
+ }};
87
+ line-height: ${({ theme: e }) => e.typography.lineHeights.m};
88
+ color: ${({ theme: e }) => e.colors.grey.n400};
89
+ `, H = i.div`
90
+ padding: 2rem 2rem 2.5rem 2rem;
91
+ display: flex;
92
+ flex-direction: column;
93
+ gap: ${({ theme: e }) => e.spacing.m};
94
+ `, S = i(s)`
95
+ font-family: ${({ theme: e }) => e.fonts.arabic};
96
+ font-weight: ${({ theme: e }) => e.typography.weights.semiBold};
97
+ font-size: ${({ theme: e }) => {
98
+ var o;
99
+ return (o = e.typography.sizes) == null ? void 0 : o.s4;
100
+ }};
101
+ line-height: 0.7rem;
102
+ color: ${({ theme: e }) => e.colors.grey.n650};
103
+ text-transform: uppercase;
104
+ `, D = i(s)`
105
+ font-family: ${({ theme: e }) => e.fonts.arabic};
106
+ font-weight: 500;
107
+ font-size: ${({ theme: e }) => {
108
+ var o;
109
+ return (o = e.typography.sizes) == null ? void 0 : o.s4;
110
+ }};
111
+ line-height: ${({ theme: e }) => e.typography.lineHeights.m};
112
+ color: ${({ theme: e }) => e.colors.grey.n400};
113
+ `, I = i.ul`
114
+ list-style: none;
115
+ margin: 0;
116
+ padding: 0;
117
+ display: flex;
118
+ flex-direction: column;
119
+ gap: ${({ theme: e }) => e.spacing.s};
120
+ `, V = i.li`
121
+ display: flex;
122
+ align-items: center;
123
+ gap: ${({ theme: e }) => e.spacing.xs};
124
+ `, W = i.span`
125
+ width: 1rem;
126
+ height: 1rem;
127
+ border-radius: 50%;
128
+ display: inline-flex;
129
+ align-items: center;
130
+ justify-content: center;
131
+ flex-shrink: 0;
132
+
133
+ svg {
134
+ width: 0.7rem;
135
+ height: 0.7rem;
136
+ }
137
+
138
+ ${({ theme: e, $variant: o }) => o === "included" ? l`
139
+ border: 1px solid ${e.colors.secondary.green.n450};
140
+ color: ${e.colors.secondary.green.n450};
141
+ ` : l`
142
+ border: 1px solid ${e.colors.secondary.pink.n450};
143
+ color: ${e.colors.secondary.pink.n450};
144
+ `}
145
+ `, L = i(s)`
146
+ font-family: ${({ theme: e }) => e.fonts.arabic};
147
+ font-weight: 400;
148
+ font-size: ${({ theme: e }) => {
149
+ var o;
150
+ return (o = e.typography.sizes) == null ? void 0 : o.s3;
151
+ }};
152
+ line-height: ${({ theme: e }) => e.typography.lineHeights.m};
153
+ color: ${({ theme: e }) => e.colors.grey.n400};
154
+ `, M = i.div`
155
+ width: 100%;
156
+ margin-top: 1rem;
157
+
158
+ button {
159
+ width: 100%;
160
+ }
161
+ `, Y = ({
162
+ title: e,
163
+ price: o,
164
+ description: d,
165
+ features: g,
166
+ variant: f = "transparent",
167
+ badges: c = [],
168
+ primaryAction: t,
169
+ featuresTitle: h = "FEATURES",
170
+ featuresDescription: x = "Everything in our free plan plus....."
171
+ }) => /* @__PURE__ */ r.jsxs(v, { $variant: f, children: [
172
+ /* @__PURE__ */ r.jsxs(z, { children: [
173
+ /* @__PURE__ */ r.jsxs(F, { children: [
174
+ /* @__PURE__ */ r.jsx(k, { children: e }),
175
+ c.length > 0 && /* @__PURE__ */ r.jsx(B, { children: c.map((n, a) => /* @__PURE__ */ r.jsx(b, { label: n.label, bgColor: n.bgColor, color: n.color }, `${n.label}-${a}`)) })
176
+ ] }),
177
+ /* @__PURE__ */ r.jsxs(R, { children: [
178
+ /* @__PURE__ */ r.jsx($, { src: u, alt: "Riyal" }),
179
+ /* @__PURE__ */ r.jsx(T, { $color: o.color, children: o.amount }),
180
+ /* @__PURE__ */ r.jsx(P, { $color: o.periodColor, children: o.period ?? "/ Month" })
181
+ ] }),
182
+ /* @__PURE__ */ r.jsx(E, { children: d }),
183
+ /* @__PURE__ */ r.jsx(M, { children: t && /* @__PURE__ */ r.jsx(w, { variant: t.variant ?? "primary", onClick: t.onClick, children: t.label }) })
184
+ ] }),
185
+ /* @__PURE__ */ r.jsxs(H, { children: [
186
+ /* @__PURE__ */ r.jsxs(C, { children: [
187
+ /* @__PURE__ */ r.jsx(S, { children: h }),
188
+ /* @__PURE__ */ r.jsx(D, { children: x })
189
+ ] }),
190
+ /* @__PURE__ */ r.jsx(I, { children: g.map((n, a) => {
191
+ const p = n.variant ?? "included";
192
+ return /* @__PURE__ */ r.jsxs(V, { children: [
193
+ /* @__PURE__ */ r.jsx(W, { $variant: p, children: p === "included" ? /* @__PURE__ */ r.jsx(m, {}) : /* @__PURE__ */ r.jsx(y, {}) }),
194
+ /* @__PURE__ */ r.jsx(L, { children: n.label })
195
+ ] }, `${n.label}-${a}`);
196
+ }) })
197
+ ] })
198
+ ] });
199
+ export {
200
+ Y as default
201
+ };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export type ProductCardProps = {
3
+ image?: React.ReactNode;
4
+ category?: string;
5
+ title?: string;
6
+ description?: string;
7
+ };
8
+ export declare const ProductCard: React.FC<ProductCardProps>;
@@ -0,0 +1,65 @@
1
+ import { j as i } from "../_virtual/jsx-runtime.js";
2
+ import "react";
3
+ import r from "styled-components";
4
+ import s from "./Badge.js";
5
+ import { Card as l } from "./Card.js";
6
+ import d from "./Typography.js";
7
+ const a = r(l)`
8
+ background-color: ${({ theme: e }) => e.colors.grey.n50};
9
+ width: 23.5rem;
10
+ /* height: 25.188rem; */
11
+ border-radius: 1.875rem;
12
+ padding: 0;
13
+ overflow: hidden;
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: flex-start;
17
+ gap: ${({ theme: e }) => e.spacing.xl};
18
+ padding-bottom: ${({ theme: e }) => e.spacing.m};
19
+ `, c = r.div`
20
+ width: 100%;
21
+ height: 13.813rem;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ overflow: hidden;
26
+
27
+ & img,
28
+ & svg {
29
+ width: 100%;
30
+ height: 100%;
31
+ object-fit: cover;
32
+ display: block;
33
+ }
34
+ `, g = r.div`
35
+ display: flex;
36
+ flex-direction: column;
37
+ padding: 0 ${({ theme: e }) => e.spacing.m};
38
+ gap: ${({ theme: e }) => e.spacing.sm};
39
+ `, p = r.div`
40
+ display: inline-flex;
41
+ width: fit-content;
42
+ align-self: flex-start;
43
+ & > div {
44
+ border-radius: ${({ theme: e }) => e.borderRadius.sm};
45
+ & > span {
46
+ font-size: ${({ theme: e }) => e.typography.sizes.s3};
47
+ }
48
+ }
49
+ `, m = r.div`
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: ${({ theme: e }) => e.spacing.xs};
53
+ `, w = ({ image: e, category: t, title: n, description: o }) => /* @__PURE__ */ i.jsxs(a, { shadowVariant: "default", children: [
54
+ e && /* @__PURE__ */ i.jsx(c, { children: e }),
55
+ /* @__PURE__ */ i.jsxs(g, { children: [
56
+ t && /* @__PURE__ */ i.jsx(p, { children: /* @__PURE__ */ i.jsx(s, { label: t, weight: "semiBold" }) }),
57
+ /* @__PURE__ */ i.jsxs(m, { children: [
58
+ n && /* @__PURE__ */ i.jsx(d, { fontSize: "s7", lineHeight: "l", letterSpacing: "balancedNarrow", weight: "semiBold", children: n }),
59
+ o && /* @__PURE__ */ i.jsx(d, { fontSize: "s3", lineHeight: "s", letterSpacing: "normal", weight: "regular", children: o })
60
+ ] })
61
+ ] })
62
+ ] });
63
+ export {
64
+ w as ProductCard
65
+ };
@@ -26,6 +26,10 @@ export { default as Image } from './Image';
26
26
  export type { ImageProps } from './Image';
27
27
  export { default as Card } from './Card';
28
28
  export type { CardProps } from './Card';
29
+ export { FeatureCard } from './FeatureCard';
30
+ export type { FeatureCardProps } from './FeatureCard';
31
+ export { ProductCard } from './ProductCard';
32
+ export type { ProductCardProps } from './ProductCard';
29
33
  export { default as MethodCard } from './MethodCard';
30
34
  export type { MethodCardProps } from './MethodCard';
31
35
  export { default as RadioButton } from './Radio';
@@ -93,6 +97,8 @@ export type { QuickStartCardProps } from './QuickStartCard';
93
97
  export { default as Divider } from './Divider';
94
98
  export type { DividerProps } from './Divider';
95
99
  export { default as Badge } from './Badge';
100
+ export { default as Banner } from './Banner';
101
+ export type { BannerProps, BannerVariant } from './Banner';
96
102
  export { default as AddOnCardInput } from './AddOnCardInput';
97
103
  export type { AddOnCardInputProps } from './AddOnCardInput';
98
104
  export { default as ConfirmationPopup } from './ConfirmationPopup';
@@ -147,3 +153,5 @@ export { default as TotalsSummary } from './TotalsSummary';
147
153
  export type { TotalsSummaryProps, TotalsSummaryItem } from './TotalsSummary';
148
154
  export { default as NextActionBox } from './NextActionBox';
149
155
  export type { NextActionBoxProps, NextActionItem } from './NextActionBox';
156
+ export { default as PriceCard } from './PriceCard';
157
+ export type { PriceCardProps, PriceCardFeature, PriceCardBadge } from './PriceCard';
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
- import { default as r } from "./components/Button.js";
2
- import { default as a } from "./components/InputField.js";
1
+ import { default as o } from "./components/Button.js";
2
+ import { default as t } from "./components/InputField.js";
3
3
  import { default as d } from "./components/TextArea.js";
4
4
  import { default as u } from "./components/Typography.js";
5
- import { default as m } from "./components/DropDown.js";
5
+ import { default as l } from "./components/DropDown.js";
6
6
  import { default as x } from "./components/SearchBar.js";
7
- import { default as n } from "./components/Hint.js";
7
+ import { default as i } from "./components/Hint.js";
8
8
  import { Alert as c } from "./components/Alert.js";
9
9
  import { default as I } from "./components/Tabs.js";
10
10
  import { default as k } from "./components/InfoCard.js";
11
11
  import { default as T } from "./components/ThemeProvider.js";
12
12
  import { default as b } from "./components/PackageCard.js";
13
- import { default as D } from "./components/Draggable.js";
14
- import { default as y } from "./components/Image.js";
15
- import { Card as H } from "./components/Card.js";
13
+ import { default as B } from "./components/Draggable.js";
14
+ import { default as L } from "./components/Image.js";
15
+ import { Card as F } from "./components/Card.js";
16
16
  import { MethodCard as R } from "./components/MethodCard.js";
17
17
  import { default as w } from "./components/Radio.js";
18
18
  import { default as G } from "./components/RadioInput.js";
@@ -25,21 +25,21 @@ import { default as K } from "./components/Modal.js";
25
25
  import { default as X } from "./components/Stepper.js";
26
26
  import { default as _ } from "./components/ProgressBar.js";
27
27
  import { default as ee } from "./components/InfoItem.js";
28
- import { default as re } from "./components/AmountItem.js";
29
- import { default as ae } from "./components/Layout.js";
28
+ import { default as oe } from "./components/AmountItem.js";
29
+ import { default as te } from "./components/Layout.js";
30
30
  import { default as de } from "./components/DatePicker.js";
31
31
  import { default as ue } from "./components/PasswordInputField.js";
32
- import { default as me } from "./components/ToastNotification.js";
32
+ import { default as le } from "./components/ToastNotification.js";
33
33
  import { default as xe } from "./components/OTP.js";
34
- import { default as ne } from "./components/NumberInput.js";
34
+ import { default as ie } from "./components/NumberInput.js";
35
35
  import { default as ce } from "./components/CollapsableCard.js";
36
36
  import { default as Ie } from "./components/Toggle.js";
37
37
  import { default as ke } from "./components/Spinner.js";
38
38
  import { default as Te } from "./components/AddOnCard.js";
39
39
  import { default as be } from "./components/Legend.js";
40
- import { default as De } from "./components/HorizontalChart.js";
41
- import { default as ye } from "./components/Chart.js";
42
- import { default as He } from "./components/ActionInput.js";
40
+ import { default as Be } from "./components/HorizontalChart.js";
41
+ import { default as Le } from "./components/Chart.js";
42
+ import { default as Fe } from "./components/ActionInput.js";
43
43
  import { default as Re } from "./components/StatusFeedback.js";
44
44
  import { default as we } from "./components/StepperProcess.js";
45
45
  import { default as Ge } from "./components/Table/Table.js";
@@ -51,107 +51,115 @@ import { default as Ee } from "./components/NavItem.js";
51
51
  import { default as Ke } from "./components/QuickStartCard.js";
52
52
  import { default as Xe } from "./components/Divider.js";
53
53
  import { default as _e } from "./components/Badge.js";
54
- import { default as eo } from "./components/AddOnCardInput.js";
55
- import { default as ro } from "./components/ConfirmationPopup.js";
56
- import { default as ao } from "./components/BulletItem.js";
57
- import { default as po } from "./components/CardsList.js";
58
- import { default as lo } from "./components/StatCard.js";
59
- import { default as so } from "./components/ListToolbar.js";
60
- import { default as io } from "./components/Pagination.js";
61
- import { default as Co } from "./components/ViewItem.js";
62
- import { default as go } from "./components/NavigationPanel.js";
63
- import { default as Po } from "./components/ToggleForm.js";
64
- import { default as So } from "./components/ToggleHeader.js";
65
- import { default as ho } from "./components/QuickActionItem.js";
66
- import { default as Ao } from "./components/StatIndicator.js";
67
- import { default as Lo } from "./components/ReconciliationGroups.js";
68
- import { default as Bo } from "./components/AccordionCard.js";
69
- import { default as Fo } from "./components/FileDownloadCard.js";
70
- import { default as vo, HelpCardGroup as wo } from "./components/HelpCard.js";
71
- import { default as Go } from "./components/ConfigList.js";
72
- import { default as Oo } from "./components/RequestCard.js";
73
- import { default as Qo } from "./components/RequestSummaryCard.js";
74
- import { default as zo } from "./components/PaymentLinkDetails.js";
75
- import { default as Zo } from "./components/PaymentTooltip.js";
76
- import { default as Eo } from "./components/ModalWithRequestCard.js";
77
- import { default as Ko } from "./components/DropDownWithTable/DropDownWithTable.js";
78
- import { default as Xo } from "./components/TotalsSummary.js";
79
- import { default as _o } from "./components/NextActionBox.js";
80
- import { default as er } from "./hooks/useFormikInput.js";
81
- import { default as rr } from "./hooks/useZIndex.js";
82
- import { default as ar } from "./hooks/useBreakpointCheck.js";
83
- import { OptionSelectGroup as dr } from "./components/OptionCardGroup.js";
84
- import { defaultTheme as ur } from "./theme/theme.js";
85
- import { darkColors as mr, lightColors as sr } from "./theme/colors.js";
86
- import { setQaemaCoreLanguage as ir } from "./i18n/i18n.js";
87
- import { breakPoints as Cr, device as cr } from "./constants/breakPoints.constant.js";
54
+ import { default as er } from "./components/Banner.js";
55
+ import { default as or } from "./components/AddOnCardInput.js";
56
+ import { default as tr } from "./components/ConfirmationPopup.js";
57
+ import { default as dr } from "./components/BulletItem.js";
58
+ import { default as ur } from "./components/CardsList.js";
59
+ import { default as lr } from "./components/StatCard.js";
60
+ import { default as xr } from "./components/ListToolbar.js";
61
+ import { default as ir } from "./components/Pagination.js";
62
+ import { default as cr } from "./components/ViewItem.js";
63
+ import { default as Ir } from "./components/NavigationPanel.js";
64
+ import { default as kr } from "./components/ToggleForm.js";
65
+ import { default as Tr } from "./components/ToggleHeader.js";
66
+ import { default as br } from "./components/QuickActionItem.js";
67
+ import { default as Br } from "./components/StatIndicator.js";
68
+ import { default as Lr } from "./components/ReconciliationGroups.js";
69
+ import { default as Fr } from "./components/AccordionCard.js";
70
+ import { default as Rr } from "./components/FileDownloadCard.js";
71
+ import { default as wr, HelpCardGroup as Nr } from "./components/HelpCard.js";
72
+ import { default as Mr } from "./components/ConfigList.js";
73
+ import { default as qr } from "./components/RequestCard.js";
74
+ import { default as Wr } from "./components/RequestSummaryCard.js";
75
+ import { default as Vr } from "./components/PaymentLinkDetails.js";
76
+ import { default as jr } from "./components/PaymentTooltip.js";
77
+ import { default as Jr } from "./components/ModalWithRequestCard.js";
78
+ import { default as Ur } from "./components/DropDownWithTable/DropDownWithTable.js";
79
+ import { default as Yr } from "./components/TotalsSummary.js";
80
+ import { default as $r } from "./components/NextActionBox.js";
81
+ import { default as ro } from "./components/PriceCard.js";
82
+ import { default as ao } from "./hooks/useFormikInput.js";
83
+ import { default as fo } from "./hooks/useZIndex.js";
84
+ import { default as uo } from "./hooks/useBreakpointCheck.js";
85
+ import { FeatureCard as lo } from "./components/FeatureCard.js";
86
+ import { ProductCard as xo } from "./components/ProductCard.js";
87
+ import { OptionSelectGroup as io } from "./components/OptionCardGroup.js";
88
+ import { defaultTheme as co } from "./theme/theme.js";
89
+ import { darkColors as Io, lightColors as Po } from "./theme/colors.js";
90
+ import { setQaemaCoreLanguage as So } from "./i18n/i18n.js";
91
+ import { breakPoints as ho, device as bo } from "./constants/breakPoints.constant.js";
88
92
  export {
89
- Bo as AccordionCard,
90
- He as ActionInput,
93
+ Fr as AccordionCard,
94
+ Fe as ActionInput,
91
95
  Te as AddOnCard,
92
- eo as AddOnCardInput,
96
+ or as AddOnCardInput,
93
97
  c as Alert,
94
- re as AmountItem,
98
+ oe as AmountItem,
95
99
  _e as Badge,
96
- ao as BulletItem,
97
- r as Button,
98
- H as Card,
99
- po as CardsList,
100
- ye as Chart,
100
+ er as Banner,
101
+ dr as BulletItem,
102
+ o as Button,
103
+ F as Card,
104
+ ur as CardsList,
105
+ Le as Chart,
101
106
  O as Checkbox,
102
107
  ce as CollapsableCard,
103
- Go as ConfigList,
104
- ro as ConfirmationPopup,
108
+ Mr as ConfigList,
109
+ tr as ConfirmationPopup,
105
110
  de as DatePicker,
106
111
  Xe as Divider,
107
- D as Draggable,
108
- m as DropDown,
109
- Ko as DropDownWithTable,
110
- Fo as FileDownloadCard,
112
+ B as Draggable,
113
+ l as DropDown,
114
+ Ur as DropDownWithTable,
115
+ lo as FeatureCard,
116
+ Rr as FileDownloadCard,
111
117
  Q as Header,
112
- vo as HelpCard,
113
- wo as HelpCardGroup,
114
- n as Hint,
115
- De as HorizontalChart,
116
- y as Image,
118
+ wr as HelpCard,
119
+ Nr as HelpCardGroup,
120
+ i as Hint,
121
+ Be as HorizontalChart,
122
+ L as Image,
117
123
  k as InfoCard,
118
124
  ee as InfoItem,
119
- a as InputField,
120
- ae as Layout,
125
+ t as InputField,
126
+ te as Layout,
121
127
  be as Legend,
122
128
  Z as Link,
123
- so as ListToolbar,
129
+ xr as ListToolbar,
124
130
  R as MethodCard,
125
131
  K as Modal,
126
- Eo as ModalWithRequestCard,
132
+ Jr as ModalWithRequestCard,
127
133
  Ee as NavItem,
128
- go as NavigationPanel,
129
- _o as NextActionBox,
130
- ne as NumberInput,
131
- dr as OptionSelectGroup,
134
+ Ir as NavigationPanel,
135
+ $r as NextActionBox,
136
+ ie as NumberInput,
137
+ io as OptionSelectGroup,
132
138
  xe as OtpInput,
133
139
  b as PackageCard,
134
140
  Ze as PageHeader,
135
- io as Pagination,
141
+ ir as Pagination,
136
142
  ue as PasswordInputField,
137
- zo as PaymentLinkDetails,
138
- Zo as PaymentTooltip,
143
+ Vr as PaymentLinkDetails,
144
+ jr as PaymentTooltip,
139
145
  Qe as PhoneInputField,
140
146
  E as PriceAmount,
147
+ ro as PriceCard,
148
+ xo as ProductCard,
141
149
  _ as ProgressBar,
142
- ho as QuickActionItem,
150
+ br as QuickActionItem,
143
151
  Ke as QuickStartCard,
144
152
  w as RadioButton,
145
153
  G as RadioInput,
146
- Lo as ReconciliationGroups,
147
- Oo as RequestCard,
148
- Qo as RequestSummaryCard,
154
+ Lr as ReconciliationGroups,
155
+ qr as RequestCard,
156
+ Wr as RequestSummaryCard,
149
157
  x as SearchBar,
150
158
  ze as SectionHeader,
151
159
  Oe as SideMenuLinks,
152
160
  ke as Spinner,
153
- lo as StatCardGroup,
154
- Ao as StatIndicator,
161
+ lr as StatCardGroup,
162
+ Br as StatIndicator,
155
163
  Re as StatusFeedback,
156
164
  X as Stepper,
157
165
  we as StepperProcess,
@@ -160,20 +168,20 @@ export {
160
168
  I as Tabs,
161
169
  d as TextArea,
162
170
  T as ThemeProvider,
163
- me as ToastNotification,
171
+ le as ToastNotification,
164
172
  Ie as Toggle,
165
- Po as ToggleForm,
166
- So as ToggleHeader,
167
- Xo as TotalsSummary,
173
+ kr as ToggleForm,
174
+ Tr as ToggleHeader,
175
+ Yr as TotalsSummary,
168
176
  u as Typography,
169
- Co as ViewItem,
170
- Cr as breakPoints,
171
- mr as darkColors,
172
- ur as defaultTheme,
173
- cr as device,
174
- sr as lightColors,
175
- ir as setQaemaCoreLanguage,
176
- ar as useBreakpointCheck,
177
- er as useFormikInput,
178
- rr as useZIndex
177
+ cr as ViewItem,
178
+ ho as breakPoints,
179
+ Io as darkColors,
180
+ co as defaultTheme,
181
+ bo as device,
182
+ Po as lightColors,
183
+ So as setQaemaCoreLanguage,
184
+ uo as useBreakpointCheck,
185
+ ao as useFormikInput,
186
+ fo as useZIndex
179
187
  };
@@ -1,4 +1,4 @@
1
- import o from "../../../_virtual/index4.js";
1
+ import o from "../../../_virtual/index2.js";
2
2
  import * as p from "react";
3
3
  import n from "../../../_virtual/index.js";
4
4
  import { j as i } from "../../../_virtual/jsx-runtime.js";
@@ -1,6 +1,6 @@
1
1
  import i from "../../../_virtual/index.js";
2
2
  import * as f from "react";
3
- import e from "../../../_virtual/index4.js";
3
+ import e from "../../../_virtual/index2.js";
4
4
  import { j as l } from "../../../_virtual/jsx-runtime.js";
5
5
  const c = {
6
6
  /**
@@ -1,5 +1,5 @@
1
1
  import i from "../../../_virtual/index.js";
2
- import o from "../../../_virtual/index4.js";
2
+ import o from "../../../_virtual/index2.js";
3
3
  import * as s from "react";
4
4
  import f from "./FormCheck.js";
5
5
  import l from "./FormControl.js";
@@ -1,6 +1,6 @@
1
1
  import f from "../../../_virtual/index.js";
2
2
  import * as d from "react";
3
- import o from "../../../_virtual/index4.js";
3
+ import o from "../../../_virtual/index2.js";
4
4
  import { useBootstrapPrefix as u } from "./ThemeProvider.js";
5
5
  import { j as p } from "../../../_virtual/jsx-runtime.js";
6
6
  o.string, o.bool, o.bool, o.bool, o.bool;
@@ -2,9 +2,9 @@ var Q = Object.defineProperty;
2
2
  var X = (e, t, r) => t in e ? Q(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var h = (e, t, r) => X(e, typeof t != "symbol" ? t + "" : t, r);
4
4
  import y, { Component as R } from "react";
5
- import ee from "../../../_virtual/index2.js";
5
+ import ee from "../../../_virtual/index3.js";
6
6
  import F from "../../../_virtual/browser.js";
7
- import te from "../../../_virtual/index3.js";
7
+ import te from "../../../_virtual/index4.js";
8
8
  var Y = /* @__PURE__ */ ((e) => (e.BASE = "base", e.BODY = "body", e.HEAD = "head", e.HTML = "html", e.LINK = "link", e.META = "meta", e.NOSCRIPT = "noscript", e.SCRIPT = "script", e.STYLE = "style", e.TITLE = "title", e.FRAGMENT = "Symbol(react.fragment)", e))(Y || {}), $ = {
9
9
  link: { rel: ["amphtml", "canonical", "alternate"] },
10
10
  script: { type: ["application/ld+json"] },
@@ -1,28 +1,36 @@
1
- import { GenIcon as t } from "../lib/iconBase.js";
1
+ import { GenIcon as r } from "../lib/iconBase.js";
2
2
  import "../lib/iconContext.js";
3
- function i(r) {
4
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "6 9 12 15 18 9" }, child: [] }] })(r);
3
+ function i(t) {
4
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "20 6 9 17 4 12" }, child: [] }] })(t);
5
5
  }
6
- function e(r) {
7
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "9 18 15 12 9 6" }, child: [] }] })(r);
6
+ function e(t) {
7
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "6 9 12 15 18 9" }, child: [] }] })(t);
8
8
  }
9
- function l(r) {
10
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" }, child: [] }] })(r);
9
+ function l(t) {
10
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "9 18 15 12 9 6" }, child: [] }] })(t);
11
11
  }
12
- function c(r) {
13
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "5", y1: "12", x2: "19", y2: "12" }, child: [] }] })(r);
12
+ function c(t) {
13
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" }, child: [] }] })(t);
14
14
  }
15
- function a(r) {
16
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "circle", attr: { cx: "12", cy: "12", r: "1" }, child: [] }, { tag: "circle", attr: { cx: "19", cy: "12", r: "1" }, child: [] }, { tag: "circle", attr: { cx: "5", cy: "12", r: "1" }, child: [] }] })(r);
15
+ function a(t) {
16
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "5", y1: "12", x2: "19", y2: "12" }, child: [] }] })(t);
17
17
  }
18
- function d(r) {
19
- return t({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "12", y1: "5", x2: "12", y2: "19" }, child: [] }, { tag: "line", attr: { x1: "5", y1: "12", x2: "19", y2: "12" }, child: [] }] })(r);
18
+ function d(t) {
19
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "circle", attr: { cx: "12", cy: "12", r: "1" }, child: [] }, { tag: "circle", attr: { cx: "19", cy: "12", r: "1" }, child: [] }, { tag: "circle", attr: { cx: "5", cy: "12", r: "1" }, child: [] }] })(t);
20
+ }
21
+ function u(t) {
22
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "12", y1: "5", x2: "12", y2: "19" }, child: [] }, { tag: "line", attr: { x1: "5", y1: "12", x2: "19", y2: "12" }, child: [] }] })(t);
23
+ }
24
+ function s(t) {
25
+ return r({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "18", y1: "6", x2: "6", y2: "18" }, child: [] }, { tag: "line", attr: { x1: "6", y1: "6", x2: "18", y2: "18" }, child: [] }] })(t);
20
26
  }
21
27
  export {
22
- i as FiChevronDown,
23
- e as FiChevronRight,
24
- l as FiFolder,
25
- c as FiMinus,
26
- a as FiMoreHorizontal,
27
- d as FiPlus
28
+ i as FiCheck,
29
+ e as FiChevronDown,
30
+ l as FiChevronRight,
31
+ c as FiFolder,
32
+ a as FiMinus,
33
+ d as FiMoreHorizontal,
34
+ u as FiPlus,
35
+ s as FiX
28
36
  };
@@ -1,5 +1,5 @@
1
1
  import x, { Children as w, cloneElement as z, PureComponent as F } from "react";
2
- import a from "../../../_virtual/index4.js";
2
+ import a from "../../../_virtual/index2.js";
3
3
  import { deepEqual as H } from "../../fast-equals/dist/esm/index.js";
4
4
  import L from "./AnimateManager.js";
5
5
  import { configEasing as V } from "./easing.js";
@@ -1,6 +1,6 @@
1
1
  import C from "../../@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js";
2
2
  import D from "../../@babel/runtime/helpers/esm/inheritsLoose.js";
3
- import o from "../../../_virtual/index4.js";
3
+ import o from "../../../_virtual/index2.js";
4
4
  import v from "react";
5
5
  import b from "react-dom";
6
6
  import T from "./config.js";
@@ -1,4 +1,4 @@
1
- import e from "../../../../_virtual/index4.js";
1
+ import e from "../../../../_virtual/index2.js";
2
2
  var n = process.env.NODE_ENV !== "production" ? e.oneOfType([e.number, e.shape({
3
3
  enter: e.number,
4
4
  exit: e.number,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "qaema-ui",
3
3
  "private": false,
4
- "version": "0.0.32",
4
+ "version": "0.0.36",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public"