@customafk/lunas-ui 0.0.2 → 0.0.3-a

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 (68) hide show
  1. package/dist/Atoms/AspectRatio/index.js +2 -0
  2. package/dist/Atoms/Avatar/index.js +3 -3
  3. package/dist/Atoms/Badge/index.js +2 -0
  4. package/dist/Atoms/Breadcrumb/index.js +7 -23
  5. package/dist/Atoms/Button/index.d.ts +2 -2
  6. package/dist/Atoms/Button/index.js +2 -0
  7. package/dist/Atoms/Card/index.js +2 -0
  8. package/dist/Atoms/Checkbox/index.d.ts +6 -0
  9. package/dist/Atoms/Checkbox/index.js +276 -0
  10. package/dist/Atoms/Command/index.d.ts +7 -7
  11. package/dist/Atoms/Command/index.js +39 -50
  12. package/dist/Atoms/Dialog/index.js +16 -31
  13. package/dist/Atoms/DropdownMenu/index.js +2 -0
  14. package/dist/Atoms/Form/index.js +32 -21
  15. package/dist/Atoms/Input/index.d.ts +5 -1
  16. package/dist/Atoms/Input/index.js +45 -543
  17. package/dist/Atoms/Label/index.js +2 -0
  18. package/dist/Atoms/MenuItem/index.d.ts +14 -0
  19. package/dist/Atoms/MenuItem/index.js +287 -0
  20. package/dist/Atoms/Money/index.js +2 -0
  21. package/dist/Atoms/Navbar/index.js +2 -0
  22. package/dist/Atoms/NavigationMenu/index.js +2 -0
  23. package/dist/Atoms/NumberInput/index.d.ts +7 -0
  24. package/dist/Atoms/NumberInput/index.js +321 -0
  25. package/dist/Atoms/Popover/index.d.ts +8 -0
  26. package/dist/Atoms/Popover/index.js +286 -0
  27. package/dist/Atoms/Progress/index.js +2 -0
  28. package/dist/Atoms/QuantityBtn/index.js +2 -0
  29. package/dist/Atoms/RadioGroup/index.d.ts +7 -0
  30. package/dist/Atoms/RadioGroup/index.js +285 -0
  31. package/dist/Atoms/ScrollBar/index.js +4 -2
  32. package/dist/Atoms/Select/index.js +2 -0
  33. package/dist/Atoms/Sheet/index.d.ts +29 -0
  34. package/dist/Atoms/Sheet/index.js +422 -0
  35. package/dist/Atoms/Slider/index.d.ts +6 -0
  36. package/dist/Atoms/Slider/index.js +286 -0
  37. package/dist/Atoms/SmallQuantityBtn/index.d.ts +9 -0
  38. package/dist/Atoms/SmallQuantityBtn/index.js +110 -0
  39. package/dist/Atoms/Switch/index.d.ts +6 -0
  40. package/dist/Atoms/Switch/index.js +293 -0
  41. package/dist/Atoms/Tabs/index.d.ts +9 -0
  42. package/dist/Atoms/Tabs/index.js +304 -0
  43. package/dist/Atoms/Textarea/index.d.ts +5 -0
  44. package/dist/Atoms/Textarea/index.js +283 -0
  45. package/dist/Atoms/Tooltip/index.d.ts +10 -0
  46. package/dist/Atoms/Tooltip/index.js +289 -0
  47. package/dist/Atoms/UserAvatar/index.d.ts +2 -2
  48. package/dist/Atoms/UserAvatar/index.js +24 -28
  49. package/dist/Atoms/XButton/index.d.ts +10 -0
  50. package/dist/Atoms/XButton/index.js +309 -0
  51. package/dist/Authentication/SignIn/index.d.ts +1 -1
  52. package/dist/Authentication/SignIn/index.js +129 -74
  53. package/dist/Authentication/SignUp/index.d.ts +5 -5
  54. package/dist/Authentication/SignUp/index.js +181 -110
  55. package/dist/Authentication/ThankYou/index.js +13 -4
  56. package/dist/Ecommerce/Categories/index.d.ts +33 -0
  57. package/dist/Ecommerce/Categories/index.js +1426 -0
  58. package/dist/Icons/index.d.ts +5 -3
  59. package/dist/Icons/index.js +126 -97
  60. package/dist/Molecules/AuthenForm/index.js +30 -21
  61. package/dist/Molecules/Search/index.js +46 -57
  62. package/dist/Molecules/UserDropdown/index.js +42 -33
  63. package/dist/Organisms/Header/index.d.ts +25 -3
  64. package/dist/Organisms/Header/index.js +585 -324
  65. package/dist/hooks/index.d.ts +1 -54
  66. package/dist/hooks/index.js +3 -127
  67. package/dist/{types-BgHhiNa-.d.ts → types-BlE003QY.d.ts} +1 -1
  68. package/package.json +85 -41
@@ -0,0 +1,309 @@
1
+ "use client";
2
+
3
+ // packages/Atoms/XButton/index.tsx
4
+ import { memo } from "react";
5
+
6
+ // packages/utils/constants.ts
7
+ var DEFAULT_ICON_SIZE = 24;
8
+
9
+ // packages/Icons/Lucide2XIcon.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ var Lucide2XIcon = (props) => {
12
+ const { color, size } = props;
13
+ return /* @__PURE__ */ jsx(
14
+ "svg",
15
+ {
16
+ xmlns: "http://www.w3.org/2000/svg",
17
+ width: size ?? DEFAULT_ICON_SIZE,
18
+ height: size ?? DEFAULT_ICON_SIZE,
19
+ viewBox: "0 0 16 16",
20
+ fill: "none",
21
+ ...props,
22
+ children: /* @__PURE__ */ jsx(
23
+ "path",
24
+ {
25
+ d: "M12 4L4 12M4 4L12 12",
26
+ stroke: color ?? "#434349",
27
+ strokeWidth: "1.5",
28
+ strokeLinecap: "round",
29
+ strokeLinejoin: "round"
30
+ }
31
+ )
32
+ }
33
+ );
34
+ };
35
+ Lucide2XIcon.displayName = "Lucide2XIcon";
36
+ var Lucide2XIcon_default = Lucide2XIcon;
37
+
38
+ // packages/tailwindTheme.ts
39
+ var themes = {
40
+ spacing: {
41
+ 30: "7.5rem",
42
+ // 120px
43
+ 33: "8.25rem"
44
+ // 132px
45
+ },
46
+ colors: {
47
+ ui: {
48
+ white: "#ffffff",
49
+ "white-primary": "#ffffff",
50
+ "black-primary": "#111315",
51
+ "bg-white": "#FAFAFA",
52
+ primary: {
53
+ default: "#6C70F0",
54
+ 50: "#EEF2FF",
55
+ 100: "#E0E7FF",
56
+ 200: "#C8D2FD",
57
+ 300: "#A6B6FB",
58
+ 400: "#828EF7",
59
+ 500: "#6C70F0",
60
+ 600: "#5048E3",
61
+ 700: "#443AC8",
62
+ 800: "#3731A2",
63
+ 900: "#312F80",
64
+ 950: "#1F1C4A"
65
+ },
66
+ secondary: {
67
+ default: "#C170FF",
68
+ 50: "#F9F1FF",
69
+ 100: "#F3E2FF",
70
+ 200: "#ECD4FF",
71
+ 300: "#E0B8FF",
72
+ 400: "#D49BFF",
73
+ 500: "#C170FF",
74
+ 600: "#AE65E6",
75
+ 700: "#9A5ACC",
76
+ 800: "#874EB3",
77
+ 900: "#613880",
78
+ 950: "#3A224C"
79
+ },
80
+ tertiary: {
81
+ default: "#5B8CFF",
82
+ 50: "#EFF4FF",
83
+ 100: "#DEE8FF",
84
+ 200: "#CEDDFF",
85
+ 300: "#BDD1FF",
86
+ 400: "#7CA3FF",
87
+ 500: "#5B8CFF",
88
+ 600: "#527EE6",
89
+ 700: "#4062B3",
90
+ 800: "#2E4680",
91
+ 900: "#243866",
92
+ 950: "#1B2A4C"
93
+ },
94
+ destructive: {
95
+ default: "#EF4444",
96
+ 50: "#FEF2F2",
97
+ 100: "#FEE2E2",
98
+ 200: "#FECACA",
99
+ 300: "#FCA5A5",
100
+ 400: "#F87171",
101
+ 500: "#EF4444",
102
+ 600: "#DC2626",
103
+ 700: "#B91C1C",
104
+ 800: "#991B1B",
105
+ 900: "#7F1D1D",
106
+ 950: "#450A0A"
107
+ },
108
+ success: {
109
+ default: "#22c55e",
110
+ 50: "#f0fdf4",
111
+ 100: "#dcfce7",
112
+ 200: "#bbf7d0",
113
+ 300: "#86efac",
114
+ 400: "#4ade80",
115
+ 500: "#22c55e",
116
+ 600: "#16a34a",
117
+ 700: "#15803d",
118
+ 800: "#166534",
119
+ 900: "#14532d",
120
+ 950: "#052e16"
121
+ },
122
+ warn: {
123
+ default: "#f59e0b",
124
+ 50: "#fffbeb",
125
+ 100: "#fef3c7",
126
+ 200: "#fde68a",
127
+ 300: "#fcd34d",
128
+ 400: "#fbbf24",
129
+ 500: "#f59e0b",
130
+ 600: "#d97706",
131
+ 700: "#b45309",
132
+ 800: "#92400e",
133
+ 900: "#78350f",
134
+ 950: "#451a03"
135
+ },
136
+ text: {
137
+ black: "#09090b",
138
+ white: "#fafafa",
139
+ 50: "#fafafa",
140
+ 100: "#f4f4f5",
141
+ 200: "#e4e4e7",
142
+ 300: "#d4d4d8",
143
+ 400: "#a1a1aa",
144
+ 500: "#71717a",
145
+ 600: "#52525b",
146
+ 700: "#3f3f46",
147
+ 800: "#27272a",
148
+ 900: "#18181b",
149
+ 950: "#09090b"
150
+ },
151
+ surface: {
152
+ default: "#ffffff",
153
+ 50: "#ffffff",
154
+ 100: "#f5f5f5",
155
+ 200: "#e5e5e5",
156
+ 300: "#d4d4d4",
157
+ 400: "#a3a3a3",
158
+ 500: "#737373",
159
+ 600: "#525252",
160
+ 700: "#404040",
161
+ 800: "#262626",
162
+ 900: "#171717",
163
+ 950: "#0a0a0a"
164
+ },
165
+ border: {
166
+ default: "#64748B",
167
+ 50: "#f9fafb",
168
+ 100: "#f3f4f6",
169
+ 200: "#e5e7eb",
170
+ 300: "#d1d5db",
171
+ 400: "#9ca3af",
172
+ 500: "#64748B",
173
+ 600: "#475569",
174
+ 700: "#334155",
175
+ 800: "#1E293B",
176
+ 900: "#0F172A",
177
+ 950: "#020817"
178
+ },
179
+ // TEXT COLOR
180
+ "text-primary": "#111315",
181
+ "text-secondary": "#30353C",
182
+ "text-third": "#30353CCC",
183
+ "text-placeholder": "#11131566",
184
+ "text-white-placeholder": "#FDFDFD99",
185
+ "text-black": {
186
+ primary: "#19191B",
187
+ secondary: "#222325",
188
+ third: "#292A2E",
189
+ fourth: "#5F606A",
190
+ placeholder: "#B2B3BD"
191
+ },
192
+ "text-white": {
193
+ primary: "#FCFCFC",
194
+ secondary: "#F9F9F9",
195
+ third: "#D9D9D9"
196
+ },
197
+ // COLOR SPECIAL
198
+ "positive-flat": "#4ADE80",
199
+ "destruction-flat": "#EF4444",
200
+ "neutral-flat": "#BFDBFE",
201
+ rating: "#FDE047",
202
+ input: {
203
+ border: {
204
+ active: "#71717A",
205
+ disabled: "#D4D4D8"
206
+ },
207
+ bg: {
208
+ default: "#FDFDFD",
209
+ error: "#FEF2F2"
210
+ }
211
+ }
212
+ }
213
+ },
214
+ backgroundImage: {
215
+ "ui-bg-color": "linear-gradient(110deg, #9CD5F5 3.09%, #B1B8E6 33.47%, rgba(185, 155, 215, 0.90) 62.82%, #A293DF 84.45%, #878AEA 106.08%)",
216
+ "ui-bg-page": "radial-gradient(70.47% 70.47% at 50% 50%, #FDFDFD 0%, #F3F1FF 50%, #F1FCFF 100%)",
217
+ "ui-btn-primary": "linear-gradient(180deg, #828EF7 0%, #6C70F0 100%)",
218
+ "ui-btn-secondary": "linear-gradient(180deg, #4277EF 0%, #669BF4 100%)",
219
+ "ui-btn-accept": "linear-gradient(282deg, #30C36D 6.81%, #6BCD8A 93.19%)",
220
+ "ui-btn-destructive": "linear-gradient(282deg, #FF384A 7.07%, #FF5463 92.93%)",
221
+ "ui-status-bg-positive": "linear-gradient(0deg, #C4FFD8 0%, #68FF9D 100%)",
222
+ "ui-status-bg-negative": "linear-gradient(0deg, #FECACA 0%, #FF8F8F 100%)",
223
+ "ui-status-bg-neutral": "linear-gradient(0deg, #E1EBFF 0%, #C7E8FF 100%)",
224
+ "ui-status-order": "linear-gradient(282deg, #30C36D 6.81%, #6BCD8A 93.19%)",
225
+ "ui-status-out-of-stock": "linear-gradient(282deg, #FF384A 7.07%, #FF5463 92.93%)",
226
+ "ui-status-in-stock": "linear-gradient(282deg, #30A8FF 6.81%, #73BAED 93.19%)",
227
+ "ui-line": "linear-gradient(90deg, #D3D4FF 0%, #7587EA 50%, #AEC0FF 100%)"
228
+ },
229
+ boxShadow: {
230
+ "ui-sd-primary": "0 4px 20px 0 rgba(104, 109, 224, 0.5)",
231
+ "ui-sd-base": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
232
+ "ui-sd-destructive": "0 10px 10px 0 rgba(255, 56, 74, 0.15)",
233
+ "ui-sd-accept": "0 10px 10px 0 rgba(46, 213, 115, 0.15)",
234
+ "ui-xl": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
235
+ "ui-soft": "0px 5px 12px 0px rgba(0, 67, 101, 0.08)",
236
+ "ui-muli": "0px 5px 50px 0px rgba(0, 67, 101, 0.08), 0px 2px 6px 0px rgba(130, 169, 188, 0.08)",
237
+ "ui-category-effect": "0px 4px 50px 0px rgba(0, 67, 101, 0.08)",
238
+ "ui-flat": "0px 0.25rem 0.625rem 0px rgba(99, 102, 241, 0.07)",
239
+ "ui-overlay": "0px 4px 4px 1px rgba(99, 102, 241, 0.04)",
240
+ "ui-sticky-nav": "0px 3px 12px -1px rgba(151, 71, 255, 0.07)",
241
+ "ui-dialog": "0px 8px 12px 0px rgba(99, 102, 241, 0.15)"
242
+ },
243
+ fontSize: {
244
+ "ui-h1": ["1.5rem", "2rem"],
245
+ "ui-h2": ["1.25rem", "1.75rem"],
246
+ "ui-h3": ["1.125rem", "1.75rem"],
247
+ "ui-p": ["1rem", "1.5rem"],
248
+ "ui-note": ["0.875rem", "1.25rem"],
249
+ "ui-small-note": ["0.75rem", "1rem"]
250
+ },
251
+ keyframes: {
252
+ "accordion-down": {
253
+ from: { height: "0" },
254
+ to: { height: "var(--radix-accordion-content-height)" }
255
+ },
256
+ "accordion-up": {
257
+ from: { height: "var(--radix-accordion-content-height)" },
258
+ to: { height: "0" }
259
+ }
260
+ },
261
+ animation: {
262
+ "accordion-down": "accordion-down 0.2s ease-out",
263
+ "accordion-up": "accordion-up 0.2s ease-out"
264
+ }
265
+ };
266
+ var tailwindTheme_default = themes;
267
+
268
+ // packages/libs/utils.ts
269
+ import clsx from "clsx";
270
+ import { extendTailwindMerge } from "tailwind-merge";
271
+ var customTailwindMerge = () => {
272
+ return extendTailwindMerge({
273
+ ...tailwindTheme_default,
274
+ prefix: ""
275
+ });
276
+ };
277
+ var cn = (...inputs) => {
278
+ const customTwMerge = customTailwindMerge();
279
+ return customTwMerge(clsx(inputs));
280
+ };
281
+
282
+ // packages/Atoms/XButton/index.tsx
283
+ import { jsx as jsx2 } from "react/jsx-runtime";
284
+ var XButton = ({ isButton = true, isDisabled, onClick }) => {
285
+ const Comp = isButton ? "button" : "div";
286
+ return /* @__PURE__ */ jsx2(
287
+ Comp,
288
+ {
289
+ disabled: isDisabled,
290
+ className: cn(
291
+ "flex size-5 items-center justify-center",
292
+ "rounded-full",
293
+ "text-ui-text-500",
294
+ "enabled:hover:bg-ui-surface-100",
295
+ "enabled:hover:text-ui-text-700",
296
+ "enabled:active:bg-ui-surface-200",
297
+ "enabled:active:text-ui-text-900",
298
+ "disabled:cursor-not-allowed disabled:opacity-30",
299
+ "transition-colors duration-200"
300
+ ),
301
+ onClick,
302
+ children: /* @__PURE__ */ jsx2(Lucide2XIcon_default, { size: 14, color: "currentColor" })
303
+ }
304
+ );
305
+ };
306
+ var XButton_default = memo(XButton);
307
+ export {
308
+ XButton_default as default
309
+ };
@@ -13,7 +13,7 @@ declare const formSchema: z.ZodObject<{
13
13
  }>;
14
14
 
15
15
  interface IProps {
16
- onSubmit: (values: z.infer<typeof formSchema>) => void;
16
+ onSubmit: (values: z.infer<typeof formSchema>) => Promise<void>;
17
17
  onForgotPassword?: () => void;
18
18
  onSignUp?: () => void;
19
19
  }