pillardash-ui-react 0.1.28 → 0.1.30

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.
package/dist/index.d.ts CHANGED
@@ -174,12 +174,32 @@ declare const alert: {
174
174
  show: (props: Omit<AlertProps, "onClose">) => void;
175
175
  };
176
176
 
177
+ type ConfirmationType = "default" | "danger" | "warning" | "success" | "info";
178
+ interface ConfirmationPopupProps {
179
+ isOpen: boolean;
180
+ onConfirm: () => void;
181
+ onCancel: () => void;
182
+ title?: string;
183
+ message?: string;
184
+ confirmText?: string;
185
+ cancelText?: string;
186
+ type?: ConfirmationType;
187
+ showIcon?: boolean;
188
+ showCloseButton?: boolean;
189
+ closeOnOverlayClick?: boolean;
190
+ closeOnEscape?: boolean;
191
+ isLoading?: boolean;
192
+ className?: string;
193
+ overlayClassName?: string;
194
+ maxWidth?: "sm" | "md" | "lg";
195
+ }
196
+
177
197
  type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
178
198
  type ModalPosition = 'left' | 'right' | 'center';
179
199
  interface ModalProps {
180
200
  isOpen: boolean;
181
201
  onClose: () => void;
182
- title?: string;
202
+ title?: React$1.ReactNode;
183
203
  children: React$1.ReactNode;
184
204
  size?: ModalSize;
185
205
  position?: ModalPosition;
@@ -198,5 +218,171 @@ declare const Modal: React$1.FC<ModalProps>;
198
218
 
199
219
  declare const ModalExample: React$1.FC;
200
220
 
201
- export { AlertContext, AlertProvider, Button, Card, CheckBox, EmptyStateCard, ExportButton, ExportFormatEnum, FileUpload, Input, Modal, ModalExample, Search, Select, SelectButton, TextEditor, alert, useAlert };
202
- export type { AlertContextProps, AlertItem, AlertProps, AlertType, ButtonProps, CheckBoxProps, EmptyStateProps, FileUploadProps, InputProps, ModalProps, SearchProps, SelectButtonOption, SelectButtonProps, SelectOption, SelectProps, TextEditorProps };
221
+ interface TableProps<T> {
222
+ data: T[];
223
+ columns: Column<T>[];
224
+ title?: string;
225
+ subtitle?: string;
226
+ itemsPerPage?: number;
227
+ currentView?: string;
228
+ onViewChange?: (view: string) => void;
229
+ totalItems?: number;
230
+ currentPage?: number;
231
+ onPageChange?: (page: number) => void;
232
+ loading?: boolean;
233
+ showPagination?: boolean;
234
+ }
235
+ interface Column<T> {
236
+ title: string;
237
+ value: keyof T | ((data: T) => React$1.ReactNode);
238
+ width?: string;
239
+ }
240
+ interface PaginationProps {
241
+ currentPage: number;
242
+ totalPages: number;
243
+ totalItems: number;
244
+ itemsPerPage: number;
245
+ onPageChange?: (page: number) => void;
246
+ onViewChange?: (itemsPerPage: string) => void;
247
+ loading?: boolean;
248
+ }
249
+ type TableDropdownProps = {
250
+ actions: {
251
+ label: string;
252
+ onClick: () => void;
253
+ icon?: React$1.ReactNode;
254
+ disabled?: boolean;
255
+ variant?: "default" | "danger";
256
+ }[];
257
+ trigger?: React$1.ReactNode;
258
+ className?: string;
259
+ dropdownClassName?: string;
260
+ };
261
+
262
+ declare function Table<T>({ data, columns, itemsPerPage, onViewChange, totalItems, currentPage, onPageChange, loading, showPagination, }: TableProps<T>): react_jsx_runtime.JSX.Element;
263
+
264
+ declare function Pagination({ currentPage, totalPages, totalItems, itemsPerPage, onPageChange, onViewChange, loading, }: PaginationProps): react_jsx_runtime.JSX.Element;
265
+
266
+ declare function TableSkeleton({ columns, rows }: {
267
+ columns: number;
268
+ rows: number;
269
+ }): react_jsx_runtime.JSX.Element;
270
+
271
+ type SkeletonVariant = 'text' | 'rectangular' | 'circular' | 'rounded' | 'card' | 'avatar' | 'button' | 'image' | 'line';
272
+ type SkeletonAnimation = 'pulse' | 'wave' | 'none';
273
+ type SkeletonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
274
+ interface SkeletonLoaderProps {
275
+ /** Variant of the skeleton */
276
+ variant?: SkeletonVariant;
277
+ /** Animation type */
278
+ animation?: SkeletonAnimation;
279
+ /** Predefined size (overridden by width/height if provided) */
280
+ size?: SkeletonSize;
281
+ /** Custom width */
282
+ width?: string | number;
283
+ /** Custom height */
284
+ height?: string | number;
285
+ /** Number of skeleton items to render */
286
+ count?: number;
287
+ /** Additional CSS classes */
288
+ className?: string;
289
+ /** Whether to show shimmer effect */
290
+ shimmer?: boolean;
291
+ /** Custom border radius */
292
+ borderRadius?: string;
293
+ /** Background color intensity */
294
+ intensity?: 'light' | 'medium' | 'dark';
295
+ /** Delay before showing skeleton (in ms) */
296
+ delay?: number;
297
+ }
298
+ declare const SkeletonLoader: React$1.FC<SkeletonLoaderProps>;
299
+
300
+ declare const SkeletonText: React$1.FC<Omit<SkeletonLoaderProps, 'variant'>>;
301
+ declare const SkeletonAvatar: React$1.FC<Omit<SkeletonLoaderProps, 'variant'>>;
302
+ declare const SkeletonButton: React$1.FC<Omit<SkeletonLoaderProps, 'variant'>>;
303
+ declare const SkeletonCard: React$1.FC<Omit<SkeletonLoaderProps, 'variant'>>;
304
+ declare const SkeletonImage: React$1.FC<Omit<SkeletonLoaderProps, 'variant'>>;
305
+ declare const SkeletonProfile: React$1.FC<{
306
+ showBio?: boolean;
307
+ }>;
308
+ declare const SkeletonList: React$1.FC<{
309
+ itemCount?: number;
310
+ showAvatar?: boolean;
311
+ showMeta?: boolean;
312
+ }>;
313
+ declare const SkeletonTable: React$1.FC<{
314
+ rows?: number;
315
+ columns?: number;
316
+ showHeader?: boolean;
317
+ }>;
318
+ declare const SkeletonLoaderExample: () => react_jsx_runtime.JSX.Element;
319
+
320
+ declare const SKELETON_LOADER_VERSION = "1.0.0";
321
+ interface SkeletonLoaderModule {
322
+ SkeletonLoader: typeof SkeletonLoader;
323
+ SkeletonText: typeof SkeletonText;
324
+ SkeletonAvatar: typeof SkeletonAvatar;
325
+ SkeletonButton: typeof SkeletonButton;
326
+ SkeletonCard: typeof SkeletonCard;
327
+ SkeletonImage: typeof SkeletonImage;
328
+ SkeletonProfile: typeof SkeletonProfile;
329
+ SkeletonList: typeof SkeletonList;
330
+ SkeletonTable: typeof SkeletonTable;
331
+ }
332
+ declare const SKELETON_PRESETS: {
333
+ readonly sizes: {
334
+ readonly xs: {
335
+ readonly width: "4rem";
336
+ readonly height: "1rem";
337
+ };
338
+ readonly sm: {
339
+ readonly width: "6rem";
340
+ readonly height: "1.25rem";
341
+ };
342
+ readonly md: {
343
+ readonly width: "8rem";
344
+ readonly height: "1.5rem";
345
+ };
346
+ readonly lg: {
347
+ readonly width: "12rem";
348
+ readonly height: "2rem";
349
+ };
350
+ readonly xl: {
351
+ readonly width: "16rem";
352
+ readonly height: "2.5rem";
353
+ };
354
+ };
355
+ readonly variants: readonly ["text", "rectangular", "circular", "rounded", "card", "avatar", "button", "image", "line"];
356
+ readonly animations: readonly ["pulse", "wave", "none"];
357
+ readonly intensities: readonly ["light", "medium", "dark"];
358
+ };
359
+ declare const SKELETON_PATTERNS: {
360
+ readonly userProfile: {
361
+ readonly variant: "avatar";
362
+ readonly size: "lg";
363
+ readonly animation: "pulse";
364
+ };
365
+ readonly cardTitle: {
366
+ readonly variant: "text";
367
+ readonly width: "75%";
368
+ readonly height: "1.5rem";
369
+ };
370
+ readonly cardDescription: {
371
+ readonly variant: "text";
372
+ readonly count: 2;
373
+ readonly width: "100%";
374
+ readonly height: "1rem";
375
+ readonly intensity: "light";
376
+ };
377
+ readonly button: {
378
+ readonly variant: "button";
379
+ readonly animation: "wave";
380
+ };
381
+ readonly image: {
382
+ readonly variant: "image";
383
+ readonly shimmer: true;
384
+ };
385
+ };
386
+
387
+ export { AlertContext, AlertProvider, Button, Card, CheckBox, EmptyStateCard, ExportButton, ExportFormatEnum, FileUpload, Input, Modal, ModalExample, Pagination, SKELETON_LOADER_VERSION, SKELETON_PATTERNS, SKELETON_PRESETS, Search, Select, SelectButton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonImage, SkeletonList, SkeletonLoader, SkeletonLoaderExample, SkeletonProfile, SkeletonTable, SkeletonText, Table, TableSkeleton, TextEditor, alert, useAlert };
388
+ export type { AlertContextProps, AlertItem, AlertProps, AlertType, ButtonProps, CheckBoxProps, Column, ConfirmationPopupProps, ConfirmationType, EmptyStateProps, FileUploadProps, InputProps, ModalProps, PaginationProps, SearchProps, SelectButtonOption, SelectButtonProps, SelectOption, SelectProps, SkeletonAnimation, SkeletonLoaderModule, SkeletonLoaderProps, SkeletonSize, SkeletonVariant, TableDropdownProps, TableProps, TextEditorProps };