warqadui 0.0.4 → 0.0.6

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 (179) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/apps/dev-app/.env +1 -0
  3. package/apps/dev-app/errors.log +0 -0
  4. package/apps/dev-app/index.html +12 -0
  5. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js +3254 -0
  6. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js.map +7 -0
  7. package/apps/dev-app/node_modules/.vite/deps/_metadata.json +178 -0
  8. package/apps/dev-app/node_modules/.vite/deps/antd.js +108982 -0
  9. package/apps/dev-app/node_modules/.vite/deps/antd.js.map +7 -0
  10. package/apps/dev-app/node_modules/.vite/deps/axios.js +2751 -0
  11. package/apps/dev-app/node_modules/.vite/deps/axios.js.map +7 -0
  12. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js +41 -0
  13. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js.map +7 -0
  14. package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js +7807 -0
  15. package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js.map +7 -0
  16. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js +39 -0
  17. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js.map +7 -0
  18. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js +135 -0
  19. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js.map +7 -0
  20. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js +37 -0
  21. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js.map +7 -0
  22. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js +288 -0
  23. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js.map +7 -0
  24. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js +60 -0
  25. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js.map +7 -0
  26. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js +928 -0
  27. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js.map +7 -0
  28. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js +21628 -0
  29. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js.map +7 -0
  30. package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js +14806 -0
  31. package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js.map +7 -0
  32. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js +14 -0
  33. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js.map +7 -0
  34. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js +1906 -0
  35. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js.map +7 -0
  36. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js +21 -0
  37. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js.map +7 -0
  38. package/apps/dev-app/node_modules/.vite/deps/clsx.js +10 -0
  39. package/apps/dev-app/node_modules/.vite/deps/clsx.js.map +7 -0
  40. package/apps/dev-app/node_modules/.vite/deps/dayjs.js +6 -0
  41. package/apps/dev-app/node_modules/.vite/deps/dayjs.js.map +7 -0
  42. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js +6 -0
  43. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js.map +7 -0
  44. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js +12388 -0
  45. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js.map +7 -0
  46. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js +9713 -0
  47. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js.map +7 -0
  48. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js +8 -0
  49. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js.map +7 -0
  50. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js +10392 -0
  51. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js.map +7 -0
  52. package/apps/dev-app/node_modules/.vite/deps/jspdf.js +41 -0
  53. package/apps/dev-app/node_modules/.vite/deps/jspdf.js.map +7 -0
  54. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js +31586 -0
  55. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js.map +7 -0
  56. package/apps/dev-app/node_modules/.vite/deps/package.json +3 -0
  57. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js +1029 -0
  58. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js.map +7 -0
  59. package/apps/dev-app/node_modules/.vite/deps/react-dom.js +7 -0
  60. package/apps/dev-app/node_modules/.vite/deps/react-dom.js.map +7 -0
  61. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js +8 -0
  62. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  63. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js +2233 -0
  64. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js.map +7 -0
  65. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js +9307 -0
  66. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js.map +7 -0
  67. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js +14234 -0
  68. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js.map +7 -0
  69. package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js +268 -0
  70. package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js.map +7 -0
  71. package/apps/dev-app/node_modules/.vite/deps/react.js +6 -0
  72. package/apps/dev-app/node_modules/.vite/deps/react.js.map +7 -0
  73. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js +913 -0
  74. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  75. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js +7 -0
  76. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  77. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js +2534 -0
  78. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
  79. package/apps/dev-app/node_modules/tailwindcss/LICENSE +21 -0
  80. package/apps/dev-app/node_modules/tailwindcss/README.md +36 -0
  81. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-L5IEUH3R.mjs +38 -0
  82. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-UWKE2Z6N.mjs +1 -0
  83. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
  84. package/apps/dev-app/node_modules/tailwindcss/dist/colors-C__qRT83.d.ts +347 -0
  85. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.mts +347 -0
  86. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.ts +5 -0
  87. package/apps/dev-app/node_modules/tailwindcss/dist/colors.js +1 -0
  88. package/apps/dev-app/node_modules/tailwindcss/dist/colors.mjs +1 -0
  89. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.mts +1199 -0
  90. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.ts +1199 -0
  91. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.js +1 -0
  92. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.mjs +1 -0
  93. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.mts +6 -0
  94. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.ts +6 -0
  95. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.js +3 -0
  96. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.mjs +1 -0
  97. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.mts +378 -0
  98. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.ts +3 -0
  99. package/apps/dev-app/node_modules/tailwindcss/dist/lib.js +38 -0
  100. package/apps/dev-app/node_modules/tailwindcss/dist/lib.mjs +1 -0
  101. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.mts +11 -0
  102. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.ts +134 -0
  103. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.js +1 -0
  104. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.mjs +1 -0
  105. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts +29 -0
  106. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
  107. package/apps/dev-app/node_modules/tailwindcss/dist/types-CJYAW1ql.d.mts +128 -0
  108. package/apps/dev-app/node_modules/tailwindcss/index.css +944 -0
  109. package/apps/dev-app/node_modules/tailwindcss/package.json +89 -0
  110. package/apps/dev-app/node_modules/tailwindcss/preflight.css +393 -0
  111. package/apps/dev-app/node_modules/tailwindcss/theme.css +510 -0
  112. package/apps/dev-app/node_modules/tailwindcss/utilities.css +1 -0
  113. package/apps/dev-app/package.json +35 -0
  114. package/apps/dev-app/src/App.tsx +74 -0
  115. package/apps/dev-app/src/index.css +18 -0
  116. package/apps/dev-app/src/main.tsx +18 -0
  117. package/apps/dev-app/src/pages/Buttons.tsx +122 -0
  118. package/apps/dev-app/src/pages/DataTable.tsx +208 -0
  119. package/apps/dev-app/src/pages/Fields.tsx +342 -0
  120. package/apps/dev-app/src/pages/Modals.tsx +151 -0
  121. package/apps/dev-app/src/pages/Spins.tsx +161 -0
  122. package/apps/dev-app/ts_errors.txt +0 -0
  123. package/apps/dev-app/tsconfig.json +25 -0
  124. package/apps/dev-app/tsconfig.node.json +10 -0
  125. package/apps/dev-app/vite.config.ts +11 -0
  126. package/package.json +10 -49
  127. package/packages/ui/dist/index.d.mts +356 -0
  128. package/packages/ui/dist/index.d.ts +356 -0
  129. package/packages/ui/dist/index.js +2296 -0
  130. package/packages/ui/dist/index.mjs +2249 -0
  131. package/packages/ui/dist/styles.js +26 -0
  132. package/packages/ui/dist/styles.mjs +24 -0
  133. package/packages/ui/log.txt +0 -0
  134. package/packages/ui/package.json +68 -0
  135. package/packages/ui/postcss.config.js +6 -0
  136. package/packages/ui/src/components/Button.tsx +85 -0
  137. package/packages/ui/src/components/Card.tsx +97 -0
  138. package/packages/ui/src/components/CodeBlock.tsx +53 -0
  139. package/packages/ui/src/components/DashboardLayout.tsx +442 -0
  140. package/packages/ui/src/components/Fields/Input.tsx +191 -0
  141. package/packages/ui/src/components/Fields/PhoneInput.tsx +134 -0
  142. package/packages/ui/src/components/Fields/date.tsx +165 -0
  143. package/packages/ui/src/components/Fields/index.tsx +17 -0
  144. package/packages/ui/src/components/Fields/searchApi.tsx +479 -0
  145. package/packages/ui/src/components/Fields/select.tsx +131 -0
  146. package/packages/ui/src/components/Fields/textArea.tsx +121 -0
  147. package/packages/ui/src/components/LoadingBox.tsx +11 -0
  148. package/packages/ui/src/components/PageHeader.tsx +34 -0
  149. package/packages/ui/src/components/ThemeToggle.tsx +35 -0
  150. package/packages/ui/src/components/modal/Modal.tsx +81 -0
  151. package/packages/ui/src/components/spins/ClassicSpin.tsx +18 -0
  152. package/packages/ui/src/components/spins/LoadingSpin.tsx +45 -0
  153. package/packages/ui/src/components/spins/OverlaySpin.tsx +10 -0
  154. package/packages/ui/src/components/spins/index.tsx +13 -0
  155. package/packages/ui/src/components/tables/DataTable.tsx +261 -0
  156. package/packages/ui/src/components/tables/index.ts +1 -0
  157. package/packages/ui/src/hooks/Fetches/useApis.tsx +197 -0
  158. package/packages/ui/src/hooks/ThemeContext.tsx +56 -0
  159. package/packages/ui/src/hooks/useModal.tsx +38 -0
  160. package/packages/ui/src/hooks/useTheme.ts +34 -0
  161. package/packages/ui/src/index.ts +24 -0
  162. package/packages/ui/src/providers/WarqadProvider.tsx +69 -0
  163. package/packages/ui/src/styles.css +26 -0
  164. package/packages/ui/src/utils/cn.ts +6 -0
  165. package/packages/ui/src/utils/pdf.ts +171 -0
  166. package/packages/ui/tailwind.config.js +13 -0
  167. package/packages/ui/tsconfig.json +17 -0
  168. package/packages/ui/warqad-ui-0.0.1.tgz +0 -0
  169. package/packages/ui/warqadui-0.0.3.tgz +0 -0
  170. package/warqad-ui-0.0.1.tgz +0 -0
  171. package/dist/index.d.mts +0 -35
  172. package/dist/index.d.ts +0 -35
  173. package/dist/index.js +0 -470
  174. package/dist/index.mjs +0 -440
  175. package/dist/styles.js +0 -26
  176. package/dist/styles.mjs +0 -24
  177. /package/{dist → packages/ui/dist}/index.css +0 -0
  178. /package/{dist → packages/ui/dist}/styles.d.mts +0 -0
  179. /package/{dist → packages/ui/dist}/styles.d.ts +0 -0
@@ -0,0 +1,356 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import * as react_hook_form from 'react-hook-form';
5
+ import { FieldValues, Path, UseFormReturn } from 'react-hook-form';
6
+ import { ColumnDef, SortingState, ColumnFiltersState } from '@tanstack/react-table';
7
+
8
+ interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
9
+ variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | "warning";
10
+ size?: "sm" | "md" | "lg";
11
+ isLoading?: boolean;
12
+ icon?: React__default.ReactNode;
13
+ }
14
+ declare const Button: React__default.FC<ButtonProps>;
15
+
16
+ interface NavItem {
17
+ label: string;
18
+ icon?: React__default.ReactNode;
19
+ path?: string;
20
+ subItems?: (NavItem | false | null | undefined)[];
21
+ hidden?: boolean;
22
+ disabled?: boolean;
23
+ }
24
+ type NavItems = (NavItem | false | null | undefined)[];
25
+ interface DashboardLayoutProps {
26
+ children: React__default.ReactNode;
27
+ navItems: NavItems;
28
+ title?: string;
29
+ logo?: React__default.ReactNode;
30
+ userProfile?: React__default.ReactNode;
31
+ fontFamily?: string;
32
+ }
33
+ declare const DashboardLayout: React__default.FC<DashboardLayoutProps>;
34
+
35
+ declare const ThemeToggle: React__default.FC<{
36
+ className?: string;
37
+ }>;
38
+
39
+ interface ThemeContextType {
40
+ isDarkMode: boolean;
41
+ toggleTheme: () => void;
42
+ setTheme: (theme: "light" | "dark") => void;
43
+ }
44
+ declare const ThemeProvider: ({ children }: {
45
+ children: ReactNode;
46
+ }) => react_jsx_runtime.JSX.Element;
47
+ declare const useTheme: () => ThemeContextType;
48
+
49
+ declare const LoadingBox: () => react_jsx_runtime.JSX.Element;
50
+
51
+ interface LoadingSpinProps {
52
+ className?: string;
53
+ size?: "sm" | "md" | "lg";
54
+ color?: string;
55
+ }
56
+ declare const LoadingSpin: ({ className, size, color, }: LoadingSpinProps) => react_jsx_runtime.JSX.Element;
57
+
58
+ declare const ClassicSpin: ({ msg }: {
59
+ msg?: string;
60
+ }) => react_jsx_runtime.JSX.Element;
61
+
62
+ declare const OverlaySpin: ({ msg }: {
63
+ msg?: string;
64
+ }) => react_jsx_runtime.JSX.Element;
65
+
66
+ interface CodeBlockProps {
67
+ code: string;
68
+ language?: string;
69
+ className?: string;
70
+ }
71
+ declare const CodeBlock: React__default.FC<CodeBlockProps>;
72
+
73
+ interface CardProps extends React__default.HTMLAttributes<HTMLDivElement> {
74
+ children: React__default.ReactNode;
75
+ variant?: "default" | "flat" | "glass";
76
+ }
77
+ declare const Card: {
78
+ ({ children, className, variant, ...props }: CardProps): react_jsx_runtime.JSX.Element;
79
+ Header: ({ children, className, }: {
80
+ children: React__default.ReactNode;
81
+ className?: string;
82
+ }) => react_jsx_runtime.JSX.Element;
83
+ Title: ({ children, className, }: {
84
+ children: React__default.ReactNode;
85
+ className?: string;
86
+ }) => react_jsx_runtime.JSX.Element;
87
+ Description: ({ children, className, }: {
88
+ children: React__default.ReactNode;
89
+ className?: string;
90
+ }) => react_jsx_runtime.JSX.Element;
91
+ Content: ({ children, className, }: {
92
+ children: React__default.ReactNode;
93
+ className?: string;
94
+ }) => react_jsx_runtime.JSX.Element;
95
+ Footer: ({ children, className, }: {
96
+ children: React__default.ReactNode;
97
+ className?: string;
98
+ }) => react_jsx_runtime.JSX.Element;
99
+ };
100
+ declare const CardHeader: ({ children, className, }: {
101
+ children: React__default.ReactNode;
102
+ className?: string;
103
+ }) => react_jsx_runtime.JSX.Element;
104
+ declare const CardTitle: ({ children, className, }: {
105
+ children: React__default.ReactNode;
106
+ className?: string;
107
+ }) => react_jsx_runtime.JSX.Element;
108
+ declare const CardDescription: ({ children, className, }: {
109
+ children: React__default.ReactNode;
110
+ className?: string;
111
+ }) => react_jsx_runtime.JSX.Element;
112
+ declare const CardContent: ({ children, className, }: {
113
+ children: React__default.ReactNode;
114
+ className?: string;
115
+ }) => react_jsx_runtime.JSX.Element;
116
+ declare const CardFooter: ({ children, className, }: {
117
+ children: React__default.ReactNode;
118
+ className?: string;
119
+ }) => react_jsx_runtime.JSX.Element;
120
+
121
+ interface ModalProps {
122
+ isOpen: boolean;
123
+ onClose: () => void;
124
+ title: string;
125
+ children: React__default.ReactNode;
126
+ isLoading?: boolean;
127
+ width?: number;
128
+ }
129
+ declare const Modal: React__default.FC<ModalProps>;
130
+
131
+ interface PageHeaderProps {
132
+ title: string;
133
+ description?: string;
134
+ children?: React__default.ReactNode;
135
+ className?: string;
136
+ }
137
+ declare const PageHeader: ({ title, description, children, className, }: PageHeaderProps) => react_jsx_runtime.JSX.Element;
138
+
139
+ interface UseModalReturn {
140
+ isOpen: boolean;
141
+ open: () => void;
142
+ close: () => void;
143
+ toggle: () => void;
144
+ openState: (data: any) => void;
145
+ state: any;
146
+ Modal: React.FC<ModalProps>;
147
+ }
148
+ declare const useModal: (initialState?: boolean) => UseModalReturn;
149
+
150
+ interface DateInputProps<T extends FieldValues> {
151
+ label: string;
152
+ error?: string;
153
+ containerClassName?: string;
154
+ name?: Path<T>;
155
+ form?: UseFormReturn<T>;
156
+ value?: string;
157
+ onChange?: (value: string) => void;
158
+ onBlur?: () => void;
159
+ className?: string;
160
+ [key: string]: any;
161
+ }
162
+ declare const DateInput: <T extends FieldValues>(props: DateInputProps<T> & {
163
+ ref?: React.ForwardedRef<HTMLInputElement>;
164
+ }) => React.ReactElement;
165
+
166
+ interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
167
+ label?: string;
168
+ apiUrl: string;
169
+ placeholder?: string;
170
+ value?: any;
171
+ onChange?: (value: any) => void;
172
+ queryKey?: string;
173
+ labelKey?: string;
174
+ valueKey?: string;
175
+ error?: string;
176
+ containerClassName?: string;
177
+ name?: any;
178
+ form?: any;
179
+ obj?: any;
180
+ filter?: any[];
181
+ v?: number;
182
+ }
183
+ declare const SearchApi: React__default.ForwardRefExoticComponent<SearchApiProps & React__default.RefAttributes<HTMLDivElement>>;
184
+
185
+ interface TextareaProps<T extends FieldValues> extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "name" | "form"> {
186
+ label: string;
187
+ error?: string;
188
+ containerClassName?: string;
189
+ name?: Path<T>;
190
+ form?: UseFormReturn<T>;
191
+ }
192
+ declare const Textarea: <T extends FieldValues>(props: TextareaProps<T> & {
193
+ ref?: React.ForwardedRef<HTMLTextAreaElement>;
194
+ }) => React.ReactElement;
195
+
196
+ interface Option {
197
+ value: string | number | boolean;
198
+ label: string;
199
+ disabled?: boolean;
200
+ }
201
+ interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "onChange"> {
202
+ label: string;
203
+ options: Option[];
204
+ icon?: React.ReactNode;
205
+ error?: string;
206
+ containerClassName?: string;
207
+ name?: any;
208
+ form?: any;
209
+ onChange?: (value: string | number | boolean) => void;
210
+ }
211
+ declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
212
+
213
+ interface PhoneInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> {
214
+ label: string;
215
+ icon?: React.ReactNode;
216
+ error?: string;
217
+ containerClassName?: string;
218
+ name?: any;
219
+ form?: any;
220
+ onChange?: (value: string) => void;
221
+ value?: string;
222
+ }
223
+ declare const PhoneInput: React$1.ForwardRefExoticComponent<PhoneInputProps & React$1.RefAttributes<any>>;
224
+
225
+ interface InputProps<T extends FieldValues> extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "name" | "form"> {
226
+ label: string;
227
+ icon?: React.ReactNode;
228
+ error?: string;
229
+ containerClassName?: string;
230
+ name?: Path<T>;
231
+ form?: UseFormReturn<T>;
232
+ type?: "text" | "number" | "email" | "password";
233
+ }
234
+ declare const Input: <T extends FieldValues>(props: InputProps<T> & {
235
+ ref?: React.ForwardedRef<HTMLInputElement>;
236
+ }) => React.ReactElement;
237
+
238
+ declare const Fields: {
239
+ Input: <T extends react_hook_form.FieldValues>(props: InputProps<T> & {
240
+ ref?: React.ForwardedRef<HTMLInputElement>;
241
+ }) => React.ReactElement;
242
+ PhoneInput: React$1.ForwardRefExoticComponent<PhoneInputProps & React$1.RefAttributes<any>>;
243
+ Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
244
+ Textarea: <T extends react_hook_form.FieldValues>(props: TextareaProps<T> & {
245
+ ref?: React.ForwardedRef<HTMLTextAreaElement>;
246
+ }) => React.ReactElement;
247
+ SearchApi: React$1.ForwardRefExoticComponent<SearchApiProps & React$1.RefAttributes<HTMLDivElement>>;
248
+ DateInput: <T extends react_hook_form.FieldValues>(props: DateInputProps<T> & {
249
+ ref?: React.ForwardedRef<HTMLInputElement>;
250
+ }) => React.ReactElement;
251
+ };
252
+
253
+ interface DataTableProps<TData, TValue> {
254
+ columns: ColumnDef<TData, TValue>[];
255
+ data: TData[];
256
+ isLoading?: boolean;
257
+ pageRows?: number;
258
+ searchPlaceholder?: string;
259
+ className?: string;
260
+ onChange?: (state: {
261
+ pagination: {
262
+ pageIndex: number;
263
+ pageSize: number;
264
+ pageCount: number;
265
+ };
266
+ sorting: SortingState;
267
+ columnFilters: ColumnFiltersState;
268
+ globalFilter: string;
269
+ selectedRows: TData[];
270
+ filteredData: TData[];
271
+ }) => void;
272
+ }
273
+ declare function DataTable<TData, TValue>({ columns, data, isLoading, pageRows, searchPlaceholder, className, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
274
+
275
+ interface ThemeConfig {
276
+ primaryColor?: string;
277
+ }
278
+ interface WarqadConfig {
279
+ apiUrl?: string;
280
+ theme?: ThemeConfig;
281
+ }
282
+ interface WarqadConfigContextType {
283
+ config: WarqadConfig;
284
+ }
285
+ declare const useWarqadConfig: () => WarqadConfig;
286
+ interface WarqadProviderProps {
287
+ children: ReactNode;
288
+ config?: WarqadConfig;
289
+ }
290
+ declare const WarqadProvider: ({ children, config, }: WarqadProviderProps) => react_jsx_runtime.JSX.Element;
291
+
292
+ interface FetchProps {
293
+ url: string;
294
+ body?: Record<string, any>;
295
+ v?: 1 | 2;
296
+ params?: Record<string, any>;
297
+ delay?: number;
298
+ form?: {
299
+ setError: (field: string, error: {
300
+ message: string;
301
+ }) => void;
302
+ };
303
+ multipart?: boolean;
304
+ }
305
+ type FetchFunction = (props: Omit<FetchProps, "body">) => Promise<any>;
306
+ type PostFunction = (props: FetchProps) => Promise<any>;
307
+ type PutFunction = (props: FetchProps) => Promise<any>;
308
+ type DeleteFunction = (props: Omit<FetchProps, "body">) => Promise<any>;
309
+ declare const useApi: () => {
310
+ data: any;
311
+ error: string | null;
312
+ isLoading: boolean;
313
+ pdfLoading: boolean;
314
+ get: FetchFunction;
315
+ post: PostFunction;
316
+ put: PutFunction;
317
+ remove: DeleteFunction;
318
+ fetchPdf: ({ url, v, method, body, }: FetchProps & {
319
+ method: "GET" | "POST";
320
+ }) => Promise<{
321
+ ok: boolean;
322
+ message: string;
323
+ errors: never[];
324
+ data?: undefined;
325
+ } | {
326
+ ok: boolean;
327
+ data: string;
328
+ message?: undefined;
329
+ errors?: undefined;
330
+ } | {
331
+ ok: boolean;
332
+ message: any;
333
+ errors?: undefined;
334
+ data?: undefined;
335
+ }>;
336
+ };
337
+
338
+ interface PdfOptions {
339
+ orientation?: "portrait" | "landscape";
340
+ unit?: "mm" | "cm" | "in" | "px";
341
+ format?: string | number[];
342
+ filename?: string;
343
+ margin?: number;
344
+ windowWidth?: number;
345
+ scale?: number;
346
+ showPageNumbers?: boolean;
347
+ }
348
+ /**
349
+ * Generates a text-based, searchable PDF from a DOM element.
350
+ *
351
+ * @param elementId The ID of the element to capture
352
+ * @param options PDF generation options
353
+ */
354
+ declare const generatePdf: (elementId: string, options?: PdfOptions) => Promise<void>;
355
+
356
+ export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ClassicSpin, CodeBlock, DashboardLayout, DataTable, DateInput, type DateInputProps, Fields, Input, type InputProps, LoadingBox, LoadingSpin, Modal, type ModalProps, type NavItem, type NavItems, type Option, OverlaySpin, PageHeader, type PdfOptions, PhoneInput, type PhoneInputProps, SearchApi, type SearchApiProps, Select, type SelectProps, Textarea, type TextareaProps, type ThemeConfig, ThemeProvider, ThemeToggle, type UseModalReturn, type WarqadConfig, type WarqadConfigContextType, WarqadProvider, generatePdf, useApi, useModal, useTheme, useWarqadConfig };
@@ -0,0 +1,356 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import * as react_hook_form from 'react-hook-form';
5
+ import { FieldValues, Path, UseFormReturn } from 'react-hook-form';
6
+ import { ColumnDef, SortingState, ColumnFiltersState } from '@tanstack/react-table';
7
+
8
+ interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
9
+ variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | "warning";
10
+ size?: "sm" | "md" | "lg";
11
+ isLoading?: boolean;
12
+ icon?: React__default.ReactNode;
13
+ }
14
+ declare const Button: React__default.FC<ButtonProps>;
15
+
16
+ interface NavItem {
17
+ label: string;
18
+ icon?: React__default.ReactNode;
19
+ path?: string;
20
+ subItems?: (NavItem | false | null | undefined)[];
21
+ hidden?: boolean;
22
+ disabled?: boolean;
23
+ }
24
+ type NavItems = (NavItem | false | null | undefined)[];
25
+ interface DashboardLayoutProps {
26
+ children: React__default.ReactNode;
27
+ navItems: NavItems;
28
+ title?: string;
29
+ logo?: React__default.ReactNode;
30
+ userProfile?: React__default.ReactNode;
31
+ fontFamily?: string;
32
+ }
33
+ declare const DashboardLayout: React__default.FC<DashboardLayoutProps>;
34
+
35
+ declare const ThemeToggle: React__default.FC<{
36
+ className?: string;
37
+ }>;
38
+
39
+ interface ThemeContextType {
40
+ isDarkMode: boolean;
41
+ toggleTheme: () => void;
42
+ setTheme: (theme: "light" | "dark") => void;
43
+ }
44
+ declare const ThemeProvider: ({ children }: {
45
+ children: ReactNode;
46
+ }) => react_jsx_runtime.JSX.Element;
47
+ declare const useTheme: () => ThemeContextType;
48
+
49
+ declare const LoadingBox: () => react_jsx_runtime.JSX.Element;
50
+
51
+ interface LoadingSpinProps {
52
+ className?: string;
53
+ size?: "sm" | "md" | "lg";
54
+ color?: string;
55
+ }
56
+ declare const LoadingSpin: ({ className, size, color, }: LoadingSpinProps) => react_jsx_runtime.JSX.Element;
57
+
58
+ declare const ClassicSpin: ({ msg }: {
59
+ msg?: string;
60
+ }) => react_jsx_runtime.JSX.Element;
61
+
62
+ declare const OverlaySpin: ({ msg }: {
63
+ msg?: string;
64
+ }) => react_jsx_runtime.JSX.Element;
65
+
66
+ interface CodeBlockProps {
67
+ code: string;
68
+ language?: string;
69
+ className?: string;
70
+ }
71
+ declare const CodeBlock: React__default.FC<CodeBlockProps>;
72
+
73
+ interface CardProps extends React__default.HTMLAttributes<HTMLDivElement> {
74
+ children: React__default.ReactNode;
75
+ variant?: "default" | "flat" | "glass";
76
+ }
77
+ declare const Card: {
78
+ ({ children, className, variant, ...props }: CardProps): react_jsx_runtime.JSX.Element;
79
+ Header: ({ children, className, }: {
80
+ children: React__default.ReactNode;
81
+ className?: string;
82
+ }) => react_jsx_runtime.JSX.Element;
83
+ Title: ({ children, className, }: {
84
+ children: React__default.ReactNode;
85
+ className?: string;
86
+ }) => react_jsx_runtime.JSX.Element;
87
+ Description: ({ children, className, }: {
88
+ children: React__default.ReactNode;
89
+ className?: string;
90
+ }) => react_jsx_runtime.JSX.Element;
91
+ Content: ({ children, className, }: {
92
+ children: React__default.ReactNode;
93
+ className?: string;
94
+ }) => react_jsx_runtime.JSX.Element;
95
+ Footer: ({ children, className, }: {
96
+ children: React__default.ReactNode;
97
+ className?: string;
98
+ }) => react_jsx_runtime.JSX.Element;
99
+ };
100
+ declare const CardHeader: ({ children, className, }: {
101
+ children: React__default.ReactNode;
102
+ className?: string;
103
+ }) => react_jsx_runtime.JSX.Element;
104
+ declare const CardTitle: ({ children, className, }: {
105
+ children: React__default.ReactNode;
106
+ className?: string;
107
+ }) => react_jsx_runtime.JSX.Element;
108
+ declare const CardDescription: ({ children, className, }: {
109
+ children: React__default.ReactNode;
110
+ className?: string;
111
+ }) => react_jsx_runtime.JSX.Element;
112
+ declare const CardContent: ({ children, className, }: {
113
+ children: React__default.ReactNode;
114
+ className?: string;
115
+ }) => react_jsx_runtime.JSX.Element;
116
+ declare const CardFooter: ({ children, className, }: {
117
+ children: React__default.ReactNode;
118
+ className?: string;
119
+ }) => react_jsx_runtime.JSX.Element;
120
+
121
+ interface ModalProps {
122
+ isOpen: boolean;
123
+ onClose: () => void;
124
+ title: string;
125
+ children: React__default.ReactNode;
126
+ isLoading?: boolean;
127
+ width?: number;
128
+ }
129
+ declare const Modal: React__default.FC<ModalProps>;
130
+
131
+ interface PageHeaderProps {
132
+ title: string;
133
+ description?: string;
134
+ children?: React__default.ReactNode;
135
+ className?: string;
136
+ }
137
+ declare const PageHeader: ({ title, description, children, className, }: PageHeaderProps) => react_jsx_runtime.JSX.Element;
138
+
139
+ interface UseModalReturn {
140
+ isOpen: boolean;
141
+ open: () => void;
142
+ close: () => void;
143
+ toggle: () => void;
144
+ openState: (data: any) => void;
145
+ state: any;
146
+ Modal: React.FC<ModalProps>;
147
+ }
148
+ declare const useModal: (initialState?: boolean) => UseModalReturn;
149
+
150
+ interface DateInputProps<T extends FieldValues> {
151
+ label: string;
152
+ error?: string;
153
+ containerClassName?: string;
154
+ name?: Path<T>;
155
+ form?: UseFormReturn<T>;
156
+ value?: string;
157
+ onChange?: (value: string) => void;
158
+ onBlur?: () => void;
159
+ className?: string;
160
+ [key: string]: any;
161
+ }
162
+ declare const DateInput: <T extends FieldValues>(props: DateInputProps<T> & {
163
+ ref?: React.ForwardedRef<HTMLInputElement>;
164
+ }) => React.ReactElement;
165
+
166
+ interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
167
+ label?: string;
168
+ apiUrl: string;
169
+ placeholder?: string;
170
+ value?: any;
171
+ onChange?: (value: any) => void;
172
+ queryKey?: string;
173
+ labelKey?: string;
174
+ valueKey?: string;
175
+ error?: string;
176
+ containerClassName?: string;
177
+ name?: any;
178
+ form?: any;
179
+ obj?: any;
180
+ filter?: any[];
181
+ v?: number;
182
+ }
183
+ declare const SearchApi: React__default.ForwardRefExoticComponent<SearchApiProps & React__default.RefAttributes<HTMLDivElement>>;
184
+
185
+ interface TextareaProps<T extends FieldValues> extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "name" | "form"> {
186
+ label: string;
187
+ error?: string;
188
+ containerClassName?: string;
189
+ name?: Path<T>;
190
+ form?: UseFormReturn<T>;
191
+ }
192
+ declare const Textarea: <T extends FieldValues>(props: TextareaProps<T> & {
193
+ ref?: React.ForwardedRef<HTMLTextAreaElement>;
194
+ }) => React.ReactElement;
195
+
196
+ interface Option {
197
+ value: string | number | boolean;
198
+ label: string;
199
+ disabled?: boolean;
200
+ }
201
+ interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "onChange"> {
202
+ label: string;
203
+ options: Option[];
204
+ icon?: React.ReactNode;
205
+ error?: string;
206
+ containerClassName?: string;
207
+ name?: any;
208
+ form?: any;
209
+ onChange?: (value: string | number | boolean) => void;
210
+ }
211
+ declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
212
+
213
+ interface PhoneInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> {
214
+ label: string;
215
+ icon?: React.ReactNode;
216
+ error?: string;
217
+ containerClassName?: string;
218
+ name?: any;
219
+ form?: any;
220
+ onChange?: (value: string) => void;
221
+ value?: string;
222
+ }
223
+ declare const PhoneInput: React$1.ForwardRefExoticComponent<PhoneInputProps & React$1.RefAttributes<any>>;
224
+
225
+ interface InputProps<T extends FieldValues> extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "name" | "form"> {
226
+ label: string;
227
+ icon?: React.ReactNode;
228
+ error?: string;
229
+ containerClassName?: string;
230
+ name?: Path<T>;
231
+ form?: UseFormReturn<T>;
232
+ type?: "text" | "number" | "email" | "password";
233
+ }
234
+ declare const Input: <T extends FieldValues>(props: InputProps<T> & {
235
+ ref?: React.ForwardedRef<HTMLInputElement>;
236
+ }) => React.ReactElement;
237
+
238
+ declare const Fields: {
239
+ Input: <T extends react_hook_form.FieldValues>(props: InputProps<T> & {
240
+ ref?: React.ForwardedRef<HTMLInputElement>;
241
+ }) => React.ReactElement;
242
+ PhoneInput: React$1.ForwardRefExoticComponent<PhoneInputProps & React$1.RefAttributes<any>>;
243
+ Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
244
+ Textarea: <T extends react_hook_form.FieldValues>(props: TextareaProps<T> & {
245
+ ref?: React.ForwardedRef<HTMLTextAreaElement>;
246
+ }) => React.ReactElement;
247
+ SearchApi: React$1.ForwardRefExoticComponent<SearchApiProps & React$1.RefAttributes<HTMLDivElement>>;
248
+ DateInput: <T extends react_hook_form.FieldValues>(props: DateInputProps<T> & {
249
+ ref?: React.ForwardedRef<HTMLInputElement>;
250
+ }) => React.ReactElement;
251
+ };
252
+
253
+ interface DataTableProps<TData, TValue> {
254
+ columns: ColumnDef<TData, TValue>[];
255
+ data: TData[];
256
+ isLoading?: boolean;
257
+ pageRows?: number;
258
+ searchPlaceholder?: string;
259
+ className?: string;
260
+ onChange?: (state: {
261
+ pagination: {
262
+ pageIndex: number;
263
+ pageSize: number;
264
+ pageCount: number;
265
+ };
266
+ sorting: SortingState;
267
+ columnFilters: ColumnFiltersState;
268
+ globalFilter: string;
269
+ selectedRows: TData[];
270
+ filteredData: TData[];
271
+ }) => void;
272
+ }
273
+ declare function DataTable<TData, TValue>({ columns, data, isLoading, pageRows, searchPlaceholder, className, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
274
+
275
+ interface ThemeConfig {
276
+ primaryColor?: string;
277
+ }
278
+ interface WarqadConfig {
279
+ apiUrl?: string;
280
+ theme?: ThemeConfig;
281
+ }
282
+ interface WarqadConfigContextType {
283
+ config: WarqadConfig;
284
+ }
285
+ declare const useWarqadConfig: () => WarqadConfig;
286
+ interface WarqadProviderProps {
287
+ children: ReactNode;
288
+ config?: WarqadConfig;
289
+ }
290
+ declare const WarqadProvider: ({ children, config, }: WarqadProviderProps) => react_jsx_runtime.JSX.Element;
291
+
292
+ interface FetchProps {
293
+ url: string;
294
+ body?: Record<string, any>;
295
+ v?: 1 | 2;
296
+ params?: Record<string, any>;
297
+ delay?: number;
298
+ form?: {
299
+ setError: (field: string, error: {
300
+ message: string;
301
+ }) => void;
302
+ };
303
+ multipart?: boolean;
304
+ }
305
+ type FetchFunction = (props: Omit<FetchProps, "body">) => Promise<any>;
306
+ type PostFunction = (props: FetchProps) => Promise<any>;
307
+ type PutFunction = (props: FetchProps) => Promise<any>;
308
+ type DeleteFunction = (props: Omit<FetchProps, "body">) => Promise<any>;
309
+ declare const useApi: () => {
310
+ data: any;
311
+ error: string | null;
312
+ isLoading: boolean;
313
+ pdfLoading: boolean;
314
+ get: FetchFunction;
315
+ post: PostFunction;
316
+ put: PutFunction;
317
+ remove: DeleteFunction;
318
+ fetchPdf: ({ url, v, method, body, }: FetchProps & {
319
+ method: "GET" | "POST";
320
+ }) => Promise<{
321
+ ok: boolean;
322
+ message: string;
323
+ errors: never[];
324
+ data?: undefined;
325
+ } | {
326
+ ok: boolean;
327
+ data: string;
328
+ message?: undefined;
329
+ errors?: undefined;
330
+ } | {
331
+ ok: boolean;
332
+ message: any;
333
+ errors?: undefined;
334
+ data?: undefined;
335
+ }>;
336
+ };
337
+
338
+ interface PdfOptions {
339
+ orientation?: "portrait" | "landscape";
340
+ unit?: "mm" | "cm" | "in" | "px";
341
+ format?: string | number[];
342
+ filename?: string;
343
+ margin?: number;
344
+ windowWidth?: number;
345
+ scale?: number;
346
+ showPageNumbers?: boolean;
347
+ }
348
+ /**
349
+ * Generates a text-based, searchable PDF from a DOM element.
350
+ *
351
+ * @param elementId The ID of the element to capture
352
+ * @param options PDF generation options
353
+ */
354
+ declare const generatePdf: (elementId: string, options?: PdfOptions) => Promise<void>;
355
+
356
+ export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ClassicSpin, CodeBlock, DashboardLayout, DataTable, DateInput, type DateInputProps, Fields, Input, type InputProps, LoadingBox, LoadingSpin, Modal, type ModalProps, type NavItem, type NavItems, type Option, OverlaySpin, PageHeader, type PdfOptions, PhoneInput, type PhoneInputProps, SearchApi, type SearchApiProps, Select, type SelectProps, Textarea, type TextareaProps, type ThemeConfig, ThemeProvider, ThemeToggle, type UseModalReturn, type WarqadConfig, type WarqadConfigContextType, WarqadProvider, generatePdf, useApi, useModal, useTheme, useWarqadConfig };