warqadui 0.0.8 → 0.0.11

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 (170) hide show
  1. package/{packages/ui/dist → dist}/index.d.mts +100 -12
  2. package/{packages/ui/dist → dist}/index.d.ts +100 -12
  3. package/dist/index.js +3276 -0
  4. package/dist/index.mjs +3237 -0
  5. package/dist/styles.js +26 -0
  6. package/dist/styles.mjs +24 -0
  7. package/package.json +60 -10
  8. package/.vscode/settings.json +0 -3
  9. package/apps/dev-app/.env +0 -1
  10. package/apps/dev-app/errors.log +0 -0
  11. package/apps/dev-app/index.html +0 -12
  12. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js +0 -3254
  13. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js.map +0 -7
  14. package/apps/dev-app/node_modules/.vite/deps/_metadata.json +0 -166
  15. package/apps/dev-app/node_modules/.vite/deps/antd.js +0 -108982
  16. package/apps/dev-app/node_modules/.vite/deps/antd.js.map +0 -7
  17. package/apps/dev-app/node_modules/.vite/deps/axios.js +0 -2751
  18. package/apps/dev-app/node_modules/.vite/deps/axios.js.map +0 -7
  19. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js +0 -41
  20. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js.map +0 -7
  21. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js +0 -39
  22. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js.map +0 -7
  23. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js +0 -135
  24. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js.map +0 -7
  25. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js +0 -37
  26. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js.map +0 -7
  27. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js +0 -288
  28. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js.map +0 -7
  29. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js +0 -60
  30. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js.map +0 -7
  31. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js +0 -928
  32. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js.map +0 -7
  33. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js +0 -21628
  34. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js.map +0 -7
  35. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js +0 -14
  36. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js.map +0 -7
  37. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js +0 -1906
  38. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js.map +0 -7
  39. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js +0 -21
  40. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js.map +0 -7
  41. package/apps/dev-app/node_modules/.vite/deps/clsx.js +0 -10
  42. package/apps/dev-app/node_modules/.vite/deps/clsx.js.map +0 -7
  43. package/apps/dev-app/node_modules/.vite/deps/dayjs.js +0 -6
  44. package/apps/dev-app/node_modules/.vite/deps/dayjs.js.map +0 -7
  45. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js +0 -6
  46. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js.map +0 -7
  47. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js +0 -12388
  48. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js.map +0 -7
  49. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js +0 -9713
  50. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js.map +0 -7
  51. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-IYRWPPEI.js +0 -7808
  52. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-IYRWPPEI.js.map +0 -7
  53. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js +0 -10392
  54. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js.map +0 -7
  55. package/apps/dev-app/node_modules/.vite/deps/jspdf.js +0 -14806
  56. package/apps/dev-app/node_modules/.vite/deps/jspdf.js.map +0 -7
  57. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js +0 -31586
  58. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js.map +0 -7
  59. package/apps/dev-app/node_modules/.vite/deps/package.json +0 -3
  60. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js +0 -1029
  61. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js.map +0 -7
  62. package/apps/dev-app/node_modules/.vite/deps/react-dom.js +0 -7
  63. package/apps/dev-app/node_modules/.vite/deps/react-dom.js.map +0 -7
  64. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js +0 -8
  65. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js.map +0 -7
  66. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js +0 -2233
  67. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js.map +0 -7
  68. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js +0 -9307
  69. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js.map +0 -7
  70. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js +0 -14234
  71. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js.map +0 -7
  72. package/apps/dev-app/node_modules/.vite/deps/react.js +0 -6
  73. package/apps/dev-app/node_modules/.vite/deps/react.js.map +0 -7
  74. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js +0 -913
  75. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +0 -7
  76. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js +0 -7
  77. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js.map +0 -7
  78. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js +0 -2534
  79. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
  80. package/apps/dev-app/node_modules/tailwindcss/LICENSE +0 -21
  81. package/apps/dev-app/node_modules/tailwindcss/README.md +0 -36
  82. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-L5IEUH3R.mjs +0 -38
  83. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-UWKE2Z6N.mjs +0 -1
  84. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +0 -1
  85. package/apps/dev-app/node_modules/tailwindcss/dist/colors-C__qRT83.d.ts +0 -347
  86. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.mts +0 -347
  87. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.ts +0 -5
  88. package/apps/dev-app/node_modules/tailwindcss/dist/colors.js +0 -1
  89. package/apps/dev-app/node_modules/tailwindcss/dist/colors.mjs +0 -1
  90. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.mts +0 -1199
  91. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.ts +0 -1199
  92. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.js +0 -1
  93. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.mjs +0 -1
  94. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.mts +0 -6
  95. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.ts +0 -6
  96. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.js +0 -3
  97. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.mjs +0 -1
  98. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.mts +0 -378
  99. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.ts +0 -3
  100. package/apps/dev-app/node_modules/tailwindcss/dist/lib.js +0 -38
  101. package/apps/dev-app/node_modules/tailwindcss/dist/lib.mjs +0 -1
  102. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.mts +0 -11
  103. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.ts +0 -134
  104. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.js +0 -1
  105. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.mjs +0 -1
  106. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts +0 -29
  107. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts +0 -190
  108. package/apps/dev-app/node_modules/tailwindcss/dist/types-CJYAW1ql.d.mts +0 -128
  109. package/apps/dev-app/node_modules/tailwindcss/index.css +0 -944
  110. package/apps/dev-app/node_modules/tailwindcss/package.json +0 -89
  111. package/apps/dev-app/node_modules/tailwindcss/preflight.css +0 -393
  112. package/apps/dev-app/node_modules/tailwindcss/theme.css +0 -510
  113. package/apps/dev-app/node_modules/tailwindcss/utilities.css +0 -1
  114. package/apps/dev-app/package.json +0 -34
  115. package/apps/dev-app/src/App.tsx +0 -74
  116. package/apps/dev-app/src/index.css +0 -18
  117. package/apps/dev-app/src/main.tsx +0 -18
  118. package/apps/dev-app/src/pages/Buttons.tsx +0 -122
  119. package/apps/dev-app/src/pages/DataTable.tsx +0 -208
  120. package/apps/dev-app/src/pages/Fields.tsx +0 -342
  121. package/apps/dev-app/src/pages/Modals.tsx +0 -151
  122. package/apps/dev-app/src/pages/Spins.tsx +0 -161
  123. package/apps/dev-app/ts_errors.txt +0 -0
  124. package/apps/dev-app/tsconfig.json +0 -25
  125. package/apps/dev-app/tsconfig.node.json +0 -10
  126. package/apps/dev-app/vite.config.ts +0 -11
  127. package/packages/ui/dist/index.js +0 -2296
  128. package/packages/ui/dist/index.mjs +0 -2249
  129. package/packages/ui/dist/styles.js +0 -26
  130. package/packages/ui/dist/styles.mjs +0 -24
  131. package/packages/ui/log.txt +0 -0
  132. package/packages/ui/package.json +0 -70
  133. package/packages/ui/postcss.config.js +0 -6
  134. package/packages/ui/src/components/Button.tsx +0 -85
  135. package/packages/ui/src/components/Card.tsx +0 -97
  136. package/packages/ui/src/components/CodeBlock.tsx +0 -53
  137. package/packages/ui/src/components/DashboardLayout.tsx +0 -442
  138. package/packages/ui/src/components/Fields/Input.tsx +0 -191
  139. package/packages/ui/src/components/Fields/PhoneInput.tsx +0 -134
  140. package/packages/ui/src/components/Fields/date.tsx +0 -165
  141. package/packages/ui/src/components/Fields/index.tsx +0 -17
  142. package/packages/ui/src/components/Fields/searchApi.tsx +0 -479
  143. package/packages/ui/src/components/Fields/select.tsx +0 -131
  144. package/packages/ui/src/components/Fields/textArea.tsx +0 -121
  145. package/packages/ui/src/components/LoadingBox.tsx +0 -11
  146. package/packages/ui/src/components/PageHeader.tsx +0 -34
  147. package/packages/ui/src/components/ThemeToggle.tsx +0 -35
  148. package/packages/ui/src/components/modal/Modal.tsx +0 -81
  149. package/packages/ui/src/components/spins/ClassicSpin.tsx +0 -18
  150. package/packages/ui/src/components/spins/LoadingSpin.tsx +0 -45
  151. package/packages/ui/src/components/spins/OverlaySpin.tsx +0 -10
  152. package/packages/ui/src/components/spins/index.tsx +0 -13
  153. package/packages/ui/src/components/tables/DataTable.tsx +0 -261
  154. package/packages/ui/src/components/tables/index.ts +0 -1
  155. package/packages/ui/src/hooks/Fetches/useApis.tsx +0 -197
  156. package/packages/ui/src/hooks/ThemeContext.tsx +0 -56
  157. package/packages/ui/src/hooks/useModal.tsx +0 -38
  158. package/packages/ui/src/hooks/useTheme.ts +0 -34
  159. package/packages/ui/src/index.ts +0 -24
  160. package/packages/ui/src/providers/WarqadProvider.tsx +0 -69
  161. package/packages/ui/src/styles.css +0 -26
  162. package/packages/ui/src/utils/cn.ts +0 -6
  163. package/packages/ui/src/utils/pdf.ts +0 -171
  164. package/packages/ui/tailwind.config.js +0 -13
  165. package/packages/ui/tsconfig.json +0 -17
  166. package/packages/ui/warqad-ui-0.0.1.tgz +0 -0
  167. package/packages/ui/warqadui-0.0.3.tgz +0 -0
  168. package/warqad-ui-0.0.1.tgz +0 -0
  169. /package/{packages/ui/dist → dist}/styles.d.mts +0 -0
  170. /package/{packages/ui/dist → dist}/styles.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode } from 'react';
2
+ import React__default, { ReactNode, HTMLAttributes } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react_hook_form from 'react-hook-form';
5
5
  import { FieldValues, Path, UseFormReturn } from 'react-hook-form';
6
- import { ColumnDef, SortingState, ColumnFiltersState } from '@tanstack/react-table';
6
+ import { ColumnDef, SortingState, ColumnFiltersState, RowData } from '@tanstack/react-table';
7
7
 
8
8
  interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
9
9
  variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | "warning";
@@ -26,9 +26,10 @@ interface DashboardLayoutProps {
26
26
  children: React__default.ReactNode;
27
27
  navItems: NavItems;
28
28
  title?: string;
29
- logo?: React__default.ReactNode;
29
+ logo?: React__default.ReactNode | string;
30
30
  userProfile?: React__default.ReactNode;
31
31
  fontFamily?: string;
32
+ sidebarFooter?: React__default.ReactNode;
32
33
  }
33
34
  declare const DashboardLayout: React__default.FC<DashboardLayoutProps>;
34
35
 
@@ -165,7 +166,7 @@ declare const DateInput: <T extends FieldValues>(props: DateInputProps<T> & {
165
166
 
166
167
  interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
167
168
  label?: string;
168
- apiUrl: string;
169
+ api: string;
169
170
  placeholder?: string;
170
171
  value?: any;
171
172
  onChange?: (value: any) => void;
@@ -179,6 +180,7 @@ interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInp
179
180
  obj?: any;
180
181
  filter?: any[];
181
182
  v?: number;
183
+ variant?: "ghost" | "default";
182
184
  }
183
185
  declare const SearchApi: React__default.ForwardRefExoticComponent<SearchApiProps & React__default.RefAttributes<HTMLDivElement>>;
184
186
 
@@ -198,17 +200,19 @@ interface Option {
198
200
  label: string;
199
201
  disabled?: boolean;
200
202
  }
201
- interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "onChange"> {
202
- label: string;
203
+ interface SelectProps extends Omit<React__default.SelectHTMLAttributes<HTMLSelectElement>, "onChange" | "value"> {
204
+ label?: string;
203
205
  options: Option[];
204
- icon?: React.ReactNode;
206
+ icon?: React__default.ReactNode;
205
207
  error?: string;
206
208
  containerClassName?: string;
207
209
  name?: any;
208
210
  form?: any;
209
211
  onChange?: (value: string | number | boolean) => void;
212
+ value?: string | number | boolean;
213
+ variant?: "ghost" | "default";
210
214
  }
211
- declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
215
+ declare const Select: React__default.ForwardRefExoticComponent<SelectProps & React__default.RefAttributes<HTMLSelectElement>>;
212
216
 
213
217
  interface PhoneInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> {
214
218
  label: string;
@@ -230,6 +234,7 @@ interface InputProps<T extends FieldValues> extends Omit<React.InputHTMLAttribut
230
234
  name?: Path<T>;
231
235
  form?: UseFormReturn<T>;
232
236
  type?: "text" | "number" | "email" | "password";
237
+ variant?: "ghost" | "default";
233
238
  }
234
239
  declare const Input: <T extends FieldValues>(props: InputProps<T> & {
235
240
  ref?: React.ForwardedRef<HTMLInputElement>;
@@ -251,12 +256,23 @@ declare const Fields: {
251
256
  };
252
257
 
253
258
  interface DataTableProps<TData, TValue> {
254
- columns: ColumnDef<TData, TValue>[];
259
+ columns: (ColumnDef<TData, TValue> & {
260
+ key?: string;
261
+ })[];
255
262
  data: TData[];
256
263
  isLoading?: boolean;
257
264
  pageRows?: number;
258
265
  searchPlaceholder?: string;
259
266
  className?: string;
267
+ verticalLines?: boolean;
268
+ rowPadding?: string;
269
+ index?: boolean;
270
+ renderSubComponent?: (props: {
271
+ row: TData;
272
+ index: number;
273
+ }) => React__default.ReactNode;
274
+ hasSubComponent?: (row: TData) => boolean;
275
+ defaultExpanded?: boolean;
260
276
  onChange?: (state: {
261
277
  pagination: {
262
278
  pageIndex: number;
@@ -270,13 +286,85 @@ interface DataTableProps<TData, TValue> {
270
286
  filteredData: TData[];
271
287
  }) => void;
272
288
  }
273
- declare function DataTable<TData, TValue>({ columns, data, isLoading, pageRows, searchPlaceholder, className, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
289
+ declare function DataTable<TData, TValue>({ columns: userColumns, data, isLoading, pageRows, searchPlaceholder, className, verticalLines, rowPadding, index, renderSubComponent, hasSubComponent, // default to true
290
+ defaultExpanded, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
291
+
292
+ declare module "@tanstack/react-table" {
293
+ interface ColumnMeta<TData extends RowData, TValue> {
294
+ field?: (props: {
295
+ value: any;
296
+ onChange: (value: any) => void;
297
+ rowData: Partial<TData>;
298
+ setRowData: (data: Partial<TData>) => void;
299
+ }) => React__default.ReactNode;
300
+ }
301
+ }
302
+ interface PostTableActions {
303
+ focus: (columnId: string) => void;
304
+ setError: (columnId: string, hasError: boolean) => void;
305
+ }
306
+ interface PostTableProps<TData> {
307
+ columns: (ColumnDef<TData, any> & {
308
+ key?: string;
309
+ })[];
310
+ data?: TData[];
311
+ onChange?: (entryData: Partial<TData>, actions: PostTableActions, actionType: "add" | "edit" | "delete", fullData: TData[]) => void | Promise<void | boolean>;
312
+ isLoading?: boolean;
313
+ className?: string;
314
+ verticalLines?: boolean;
315
+ rowPadding?: string;
316
+ index?: boolean;
317
+ renderAddButton?: (entryData: Partial<TData>, handleSaveField: () => void, isSaving: boolean) => React__default.ReactNode;
318
+ renderSubComponent?: (props: {
319
+ row: TData;
320
+ index: number;
321
+ }) => React__default.ReactNode;
322
+ hasSubComponent?: (row: TData) => boolean;
323
+ defaultExpanded?: boolean;
324
+ }
325
+ declare function PostTable<TData extends Record<string, any>>({ columns: userColumns, data: controlledData, onChange, isLoading, className, verticalLines, rowPadding, index, renderAddButton, renderSubComponent, hasSubComponent, // default to true if renderSubComponent is provided
326
+ defaultExpanded, }: PostTableProps<TData>): react_jsx_runtime.JSX.Element;
327
+
328
+ interface SimpleTableProps<TData> {
329
+ columns: (ColumnDef<TData, any> & {
330
+ key?: string;
331
+ })[];
332
+ data: TData[];
333
+ className?: string;
334
+ renderFooter?: () => React__default.ReactNode;
335
+ rowPadding?: string;
336
+ verticalLines?: boolean;
337
+ }
338
+ declare function SimpleTable<TData>({ columns: userColumns, data, className, renderFooter, rowPadding, verticalLines, }: SimpleTableProps<TData>): react_jsx_runtime.JSX.Element;
339
+
340
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
341
+ variant?: "primary" | "danger" | "warning" | "success";
342
+ size?: "sm" | "md" | "lg";
343
+ outline?: boolean;
344
+ }
345
+ declare const Badge: React__default.ForwardRefExoticComponent<BadgeProps & React__default.RefAttributes<HTMLSpanElement>>;
346
+
347
+ interface BrandingProps {
348
+ /**
349
+ * The text to display.
350
+ */
351
+ text: string;
352
+ /**
353
+ * Whether the component is disabled.
354
+ */
355
+ disabled?: boolean;
356
+ /**
357
+ * Additional class names.
358
+ */
359
+ className?: string;
360
+ }
361
+ declare const Branding: React__default.FC<BrandingProps>;
274
362
 
275
363
  interface ThemeConfig {
276
364
  primaryColor?: string;
277
365
  }
278
366
  interface WarqadConfig {
279
- apiUrl?: string;
367
+ api?: string;
280
368
  theme?: ThemeConfig;
281
369
  }
282
370
  interface WarqadConfigContextType {
@@ -353,4 +441,4 @@ interface PdfOptions {
353
441
  */
354
442
  declare const generatePdf: (elementId: string, options?: PdfOptions) => Promise<void>;
355
443
 
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 };
444
+ export { Badge, type BadgeProps, Branding, type BrandingProps, 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, PostTable, type PostTableActions, SearchApi, type SearchApiProps, Select, type SelectProps, SimpleTable, Textarea, type TextareaProps, type ThemeConfig, ThemeProvider, ThemeToggle, type UseModalReturn, type WarqadConfig, type WarqadConfigContextType, WarqadProvider, generatePdf, useApi, useModal, useTheme, useWarqadConfig };
@@ -1,9 +1,9 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode } from 'react';
2
+ import React__default, { ReactNode, HTMLAttributes } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react_hook_form from 'react-hook-form';
5
5
  import { FieldValues, Path, UseFormReturn } from 'react-hook-form';
6
- import { ColumnDef, SortingState, ColumnFiltersState } from '@tanstack/react-table';
6
+ import { ColumnDef, SortingState, ColumnFiltersState, RowData } from '@tanstack/react-table';
7
7
 
8
8
  interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
9
9
  variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | "warning";
@@ -26,9 +26,10 @@ interface DashboardLayoutProps {
26
26
  children: React__default.ReactNode;
27
27
  navItems: NavItems;
28
28
  title?: string;
29
- logo?: React__default.ReactNode;
29
+ logo?: React__default.ReactNode | string;
30
30
  userProfile?: React__default.ReactNode;
31
31
  fontFamily?: string;
32
+ sidebarFooter?: React__default.ReactNode;
32
33
  }
33
34
  declare const DashboardLayout: React__default.FC<DashboardLayoutProps>;
34
35
 
@@ -165,7 +166,7 @@ declare const DateInput: <T extends FieldValues>(props: DateInputProps<T> & {
165
166
 
166
167
  interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
167
168
  label?: string;
168
- apiUrl: string;
169
+ api: string;
169
170
  placeholder?: string;
170
171
  value?: any;
171
172
  onChange?: (value: any) => void;
@@ -179,6 +180,7 @@ interface SearchApiProps extends Omit<React__default.InputHTMLAttributes<HTMLInp
179
180
  obj?: any;
180
181
  filter?: any[];
181
182
  v?: number;
183
+ variant?: "ghost" | "default";
182
184
  }
183
185
  declare const SearchApi: React__default.ForwardRefExoticComponent<SearchApiProps & React__default.RefAttributes<HTMLDivElement>>;
184
186
 
@@ -198,17 +200,19 @@ interface Option {
198
200
  label: string;
199
201
  disabled?: boolean;
200
202
  }
201
- interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "onChange"> {
202
- label: string;
203
+ interface SelectProps extends Omit<React__default.SelectHTMLAttributes<HTMLSelectElement>, "onChange" | "value"> {
204
+ label?: string;
203
205
  options: Option[];
204
- icon?: React.ReactNode;
206
+ icon?: React__default.ReactNode;
205
207
  error?: string;
206
208
  containerClassName?: string;
207
209
  name?: any;
208
210
  form?: any;
209
211
  onChange?: (value: string | number | boolean) => void;
212
+ value?: string | number | boolean;
213
+ variant?: "ghost" | "default";
210
214
  }
211
- declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
215
+ declare const Select: React__default.ForwardRefExoticComponent<SelectProps & React__default.RefAttributes<HTMLSelectElement>>;
212
216
 
213
217
  interface PhoneInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> {
214
218
  label: string;
@@ -230,6 +234,7 @@ interface InputProps<T extends FieldValues> extends Omit<React.InputHTMLAttribut
230
234
  name?: Path<T>;
231
235
  form?: UseFormReturn<T>;
232
236
  type?: "text" | "number" | "email" | "password";
237
+ variant?: "ghost" | "default";
233
238
  }
234
239
  declare const Input: <T extends FieldValues>(props: InputProps<T> & {
235
240
  ref?: React.ForwardedRef<HTMLInputElement>;
@@ -251,12 +256,23 @@ declare const Fields: {
251
256
  };
252
257
 
253
258
  interface DataTableProps<TData, TValue> {
254
- columns: ColumnDef<TData, TValue>[];
259
+ columns: (ColumnDef<TData, TValue> & {
260
+ key?: string;
261
+ })[];
255
262
  data: TData[];
256
263
  isLoading?: boolean;
257
264
  pageRows?: number;
258
265
  searchPlaceholder?: string;
259
266
  className?: string;
267
+ verticalLines?: boolean;
268
+ rowPadding?: string;
269
+ index?: boolean;
270
+ renderSubComponent?: (props: {
271
+ row: TData;
272
+ index: number;
273
+ }) => React__default.ReactNode;
274
+ hasSubComponent?: (row: TData) => boolean;
275
+ defaultExpanded?: boolean;
260
276
  onChange?: (state: {
261
277
  pagination: {
262
278
  pageIndex: number;
@@ -270,13 +286,85 @@ interface DataTableProps<TData, TValue> {
270
286
  filteredData: TData[];
271
287
  }) => void;
272
288
  }
273
- declare function DataTable<TData, TValue>({ columns, data, isLoading, pageRows, searchPlaceholder, className, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
289
+ declare function DataTable<TData, TValue>({ columns: userColumns, data, isLoading, pageRows, searchPlaceholder, className, verticalLines, rowPadding, index, renderSubComponent, hasSubComponent, // default to true
290
+ defaultExpanded, onChange, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
291
+
292
+ declare module "@tanstack/react-table" {
293
+ interface ColumnMeta<TData extends RowData, TValue> {
294
+ field?: (props: {
295
+ value: any;
296
+ onChange: (value: any) => void;
297
+ rowData: Partial<TData>;
298
+ setRowData: (data: Partial<TData>) => void;
299
+ }) => React__default.ReactNode;
300
+ }
301
+ }
302
+ interface PostTableActions {
303
+ focus: (columnId: string) => void;
304
+ setError: (columnId: string, hasError: boolean) => void;
305
+ }
306
+ interface PostTableProps<TData> {
307
+ columns: (ColumnDef<TData, any> & {
308
+ key?: string;
309
+ })[];
310
+ data?: TData[];
311
+ onChange?: (entryData: Partial<TData>, actions: PostTableActions, actionType: "add" | "edit" | "delete", fullData: TData[]) => void | Promise<void | boolean>;
312
+ isLoading?: boolean;
313
+ className?: string;
314
+ verticalLines?: boolean;
315
+ rowPadding?: string;
316
+ index?: boolean;
317
+ renderAddButton?: (entryData: Partial<TData>, handleSaveField: () => void, isSaving: boolean) => React__default.ReactNode;
318
+ renderSubComponent?: (props: {
319
+ row: TData;
320
+ index: number;
321
+ }) => React__default.ReactNode;
322
+ hasSubComponent?: (row: TData) => boolean;
323
+ defaultExpanded?: boolean;
324
+ }
325
+ declare function PostTable<TData extends Record<string, any>>({ columns: userColumns, data: controlledData, onChange, isLoading, className, verticalLines, rowPadding, index, renderAddButton, renderSubComponent, hasSubComponent, // default to true if renderSubComponent is provided
326
+ defaultExpanded, }: PostTableProps<TData>): react_jsx_runtime.JSX.Element;
327
+
328
+ interface SimpleTableProps<TData> {
329
+ columns: (ColumnDef<TData, any> & {
330
+ key?: string;
331
+ })[];
332
+ data: TData[];
333
+ className?: string;
334
+ renderFooter?: () => React__default.ReactNode;
335
+ rowPadding?: string;
336
+ verticalLines?: boolean;
337
+ }
338
+ declare function SimpleTable<TData>({ columns: userColumns, data, className, renderFooter, rowPadding, verticalLines, }: SimpleTableProps<TData>): react_jsx_runtime.JSX.Element;
339
+
340
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
341
+ variant?: "primary" | "danger" | "warning" | "success";
342
+ size?: "sm" | "md" | "lg";
343
+ outline?: boolean;
344
+ }
345
+ declare const Badge: React__default.ForwardRefExoticComponent<BadgeProps & React__default.RefAttributes<HTMLSpanElement>>;
346
+
347
+ interface BrandingProps {
348
+ /**
349
+ * The text to display.
350
+ */
351
+ text: string;
352
+ /**
353
+ * Whether the component is disabled.
354
+ */
355
+ disabled?: boolean;
356
+ /**
357
+ * Additional class names.
358
+ */
359
+ className?: string;
360
+ }
361
+ declare const Branding: React__default.FC<BrandingProps>;
274
362
 
275
363
  interface ThemeConfig {
276
364
  primaryColor?: string;
277
365
  }
278
366
  interface WarqadConfig {
279
- apiUrl?: string;
367
+ api?: string;
280
368
  theme?: ThemeConfig;
281
369
  }
282
370
  interface WarqadConfigContextType {
@@ -353,4 +441,4 @@ interface PdfOptions {
353
441
  */
354
442
  declare const generatePdf: (elementId: string, options?: PdfOptions) => Promise<void>;
355
443
 
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 };
444
+ export { Badge, type BadgeProps, Branding, type BrandingProps, 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, PostTable, type PostTableActions, SearchApi, type SearchApiProps, Select, type SelectProps, SimpleTable, Textarea, type TextareaProps, type ThemeConfig, ThemeProvider, ThemeToggle, type UseModalReturn, type WarqadConfig, type WarqadConfigContextType, WarqadProvider, generatePdf, useApi, useModal, useTheme, useWarqadConfig };