@stfrigerio/sito-template 0.1.24 → 0.1.26
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/components/atoms/NumberStepper/NumberStepper.d.ts +24 -1
- package/dist/components/atoms/NumberStepper/NumberStepper.d.ts.map +1 -1
- package/dist/components/organisms/Table/Table.d.ts +31 -1
- package/dist/components/organisms/Table/Table.d.ts.map +1 -1
- package/dist/components/organisms/Table/Table.stories.d.ts +2 -0
- package/dist/components/organisms/Table/Table.stories.d.ts.map +1 -1
- package/dist/components/organisms/Table/index.d.ts +1 -1
- package/dist/components/organisms/Table/index.d.ts.map +1 -1
- package/dist/components/organisms/index.d.ts +1 -1
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/index.esm.js +36 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +36 -7
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
|
@@ -23,13 +23,36 @@ export interface NumberStepperProps {
|
|
|
23
23
|
/** Size variant */
|
|
24
24
|
size?: 'small' | 'medium' | 'large';
|
|
25
25
|
/** Visual variant */
|
|
26
|
-
variant?: 'default' | 'outlined' | 'filled';
|
|
26
|
+
variant?: 'default' | 'outlined' | 'filled' | 'minimal' | 'custom';
|
|
27
27
|
/** Show plus/minus icons instead of arrows */
|
|
28
28
|
showPlusMinus?: boolean;
|
|
29
29
|
/** Allow keyboard navigation */
|
|
30
30
|
allowKeyboard?: boolean;
|
|
31
31
|
/** Custom className */
|
|
32
32
|
className?: string;
|
|
33
|
+
/** Custom styles for different parts of the component */
|
|
34
|
+
customStyles?: {
|
|
35
|
+
container?: React.CSSProperties;
|
|
36
|
+
header?: React.CSSProperties;
|
|
37
|
+
icon?: React.CSSProperties;
|
|
38
|
+
label?: React.CSSProperties;
|
|
39
|
+
stepper?: React.CSSProperties;
|
|
40
|
+
button?: React.CSSProperties;
|
|
41
|
+
buttonHover?: React.CSSProperties;
|
|
42
|
+
buttonIcon?: React.CSSProperties;
|
|
43
|
+
value?: React.CSSProperties;
|
|
44
|
+
valueContainer?: React.CSSProperties;
|
|
45
|
+
limits?: React.CSSProperties;
|
|
46
|
+
};
|
|
47
|
+
/** Custom button content (overrides default icons) */
|
|
48
|
+
customButtons?: {
|
|
49
|
+
increment?: React.ReactNode;
|
|
50
|
+
decrement?: React.ReactNode;
|
|
51
|
+
};
|
|
52
|
+
/** Hide the limits display */
|
|
53
|
+
hideLimits?: boolean;
|
|
54
|
+
/** Layout direction */
|
|
55
|
+
layout?: 'horizontal' | 'vertical';
|
|
33
56
|
}
|
|
34
57
|
/**
|
|
35
58
|
* NumberStepper Component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberStepper.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/NumberStepper/NumberStepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberStepper.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/NumberStepper/NumberStepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC,CAAC;IACF,sDAAsD;IACtD,aAAa,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KAC/B,CAAC;IACF,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgOtD,CAAC"}
|
|
@@ -62,6 +62,32 @@ export interface RowAction<T = any> {
|
|
|
62
62
|
/** Override button styling for this specific action */
|
|
63
63
|
buttonStyles?: ActionButtonStyles;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Configuration for bulk action buttons that appear when rows are selected
|
|
67
|
+
* @template T - The type of data objects in the table
|
|
68
|
+
*/
|
|
69
|
+
export interface BulkAction<T = any> {
|
|
70
|
+
/** Icon to display in the bulk action button */
|
|
71
|
+
icon: ReactNode;
|
|
72
|
+
/** Label for the bulk action button */
|
|
73
|
+
label: string;
|
|
74
|
+
/** Function called when bulk action is clicked with selected items */
|
|
75
|
+
onClick: (selectedItems: T[]) => void | Promise<void>;
|
|
76
|
+
/** Visual variant of the bulk action button */
|
|
77
|
+
variant?: 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'custom';
|
|
78
|
+
/** Function to determine if bulk action should be disabled based on selected items */
|
|
79
|
+
disabled?: (selectedItems: T[]) => boolean;
|
|
80
|
+
/** Minimum number of selected items required to enable this action */
|
|
81
|
+
minSelection?: number;
|
|
82
|
+
/** Maximum number of selected items allowed for this action */
|
|
83
|
+
maxSelection?: number;
|
|
84
|
+
/** Custom CSS class for this bulk action button */
|
|
85
|
+
className?: string;
|
|
86
|
+
/** Custom inline styles for this bulk action button */
|
|
87
|
+
style?: React.CSSProperties;
|
|
88
|
+
/** Confirm message before executing action (optional) */
|
|
89
|
+
confirmMessage?: string | ((selectedItems: T[]) => string);
|
|
90
|
+
}
|
|
65
91
|
/**
|
|
66
92
|
* Props for the Table component
|
|
67
93
|
* @template T - The type of data objects in the table
|
|
@@ -88,7 +114,9 @@ export interface TableProps<T = any> {
|
|
|
88
114
|
onRowClick?: (item: T, index: number) => void;
|
|
89
115
|
/** Function called when row selection changes (only when selectable=true) */
|
|
90
116
|
onSelectionChange?: (selectedItems: T[]) => void;
|
|
91
|
-
/**
|
|
117
|
+
/** Array of bulk actions available when rows are selected */
|
|
118
|
+
bulkActions?: BulkAction<T>[];
|
|
119
|
+
/** @deprecated Use bulkActions instead. Function that returns action buttons for selected rows */
|
|
92
120
|
actions?: (selectedItems: T[]) => ReactNode;
|
|
93
121
|
/** Configuration for action buttons displayed in each row */
|
|
94
122
|
rowActions?: RowAction<T>[];
|
|
@@ -108,6 +136,8 @@ export interface TableProps<T = any> {
|
|
|
108
136
|
stickyHeader?: boolean;
|
|
109
137
|
/** Enable Framer Motion animations (disable for better performance with large datasets) */
|
|
110
138
|
animated?: boolean;
|
|
139
|
+
/** Enable horizontal scrolling for tables with many columns */
|
|
140
|
+
horizontalScroll?: boolean;
|
|
111
141
|
/** Additional CSS class for the table container */
|
|
112
142
|
className?: string;
|
|
113
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/Table.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -40,4 +40,6 @@ export declare const WithSimpleActions: Story;
|
|
|
40
40
|
export declare const CustomStyledActions: Story;
|
|
41
41
|
export declare const WithRowActions: Story;
|
|
42
42
|
export declare const CustomRendering: Story;
|
|
43
|
+
export declare const WithBulkActions: Story;
|
|
44
|
+
export declare const HorizontalScrolling: Story;
|
|
43
45
|
//# sourceMappingURL=Table.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/Table.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAkDtD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAaoB,CAAA;AAE9B,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KA6B3B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAe1B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAA;AAwCD,eAAO,MAAM,YAAY,EAAE,KAkB1B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KA+CjC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA4D5B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAyG7B,CAAA"}
|
|
1
|
+
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/Table.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAkDtD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAaoB,CAAA;AAE9B,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KA6B3B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAe1B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAA;AAwCD,eAAO,MAAM,YAAY,EAAE,KAkB1B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KA+CjC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA4D5B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAyG7B,CAAA;AA2BD,eAAO,MAAM,eAAe,EAAE,KA0C7B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAuCjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -15,6 +15,6 @@ export { PieChart } from './charts/PieChart/PieChart';
|
|
|
15
15
|
export { ImageSlideshow } from './ImageSlideshow';
|
|
16
16
|
export type { ImageSlideshowProps, SlideshowImage } from './ImageSlideshow';
|
|
17
17
|
export { Table } from './Table';
|
|
18
|
-
export type { Column, TableProps, RowAction, ActionButtonStyles } from './Table';
|
|
18
|
+
export type { Column, TableProps, RowAction, BulkAction, ActionButtonStyles } from './Table';
|
|
19
19
|
export * from './charts';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/organisms/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,YAAY,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/organisms/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,YAAY,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7F,cAAc,UAAU,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -791,7 +791,7 @@ function Toggle(props) {
|
|
|
791
791
|
return (jsxs("div", { className: `${styles$j.toggleContainer} ${className || ''}`, children: [jsxs("button", { className: `${styles$j.toggleButton} ${!isOn ? styles$j.active : ''}`, onClick: () => onToggle(false), style: buttonStyle, children: [leftIcon, leftLabel] }), jsxs("button", { className: `${styles$j.toggleButton} ${isOn ? styles$j.active : ''}`, onClick: () => onToggle(true), style: buttonStyle, children: [rightIcon, rightLabel] })] }));
|
|
792
792
|
}
|
|
793
793
|
|
|
794
|
-
var styles$i = {"container":"NumberStepper-module_container__WSGlU","header":"NumberStepper-module_header__qXI1Y","icon":"NumberStepper-module_icon__vHgsw","label":"NumberStepper-module_label__AYr3g","stepper":"NumberStepper-module_stepper__oQhTp","disabled":"NumberStepper-module_disabled__kGB-g","button":"NumberStepper-module_button__YcjRt","buttonIcon":"NumberStepper-module_buttonIcon__odXec","valueContainer":"NumberStepper-module_valueContainer__87w2D","valueWrapper":"NumberStepper-module_valueWrapper__TH65N","value":"NumberStepper-module_value__BxJeD","limits":"NumberStepper-module_limits__-UrRE","limit":"NumberStepper-module_limit__7nbIP","small":"NumberStepper-module_small__P-k96","large":"NumberStepper-module_large__Lz6lk","outlined":"NumberStepper-module_outlined__CIXv7","filled":"NumberStepper-module_filled__IxOg-","pulse":"NumberStepper-module_pulse__51oUo"};
|
|
794
|
+
var styles$i = {"container":"NumberStepper-module_container__WSGlU","header":"NumberStepper-module_header__qXI1Y","icon":"NumberStepper-module_icon__vHgsw","label":"NumberStepper-module_label__AYr3g","stepper":"NumberStepper-module_stepper__oQhTp","disabled":"NumberStepper-module_disabled__kGB-g","button":"NumberStepper-module_button__YcjRt","buttonIcon":"NumberStepper-module_buttonIcon__odXec","valueContainer":"NumberStepper-module_valueContainer__87w2D","valueWrapper":"NumberStepper-module_valueWrapper__TH65N","value":"NumberStepper-module_value__BxJeD","limits":"NumberStepper-module_limits__-UrRE","limit":"NumberStepper-module_limit__7nbIP","small":"NumberStepper-module_small__P-k96","large":"NumberStepper-module_large__Lz6lk","outlined":"NumberStepper-module_outlined__CIXv7","filled":"NumberStepper-module_filled__IxOg-","minimal":"NumberStepper-module_minimal__y47-W","custom":"NumberStepper-module_custom__XGSVg","vertical":"NumberStepper-module_vertical__nBcL7","pulse":"NumberStepper-module_pulse__51oUo"};
|
|
795
795
|
|
|
796
796
|
/**
|
|
797
797
|
* NumberStepper Component
|
|
@@ -825,7 +825,7 @@ var styles$i = {"container":"NumberStepper-module_container__WSGlU","header":"Nu
|
|
|
825
825
|
* @param {NumberStepperProps} props - The props for the NumberStepper component
|
|
826
826
|
* @returns {JSX.Element} The rendered NumberStepper component
|
|
827
827
|
*/
|
|
828
|
-
const NumberStepper = ({ value, onChange, min = -Infinity, max = Infinity, step = 1, label, icon, disabled = false, size = 'medium', variant = 'default', showPlusMinus = false, allowKeyboard = true, className = '', }) => {
|
|
828
|
+
const NumberStepper = ({ value, onChange, min = -Infinity, max = Infinity, step = 1, label, icon, disabled = false, size = 'medium', variant = 'default', showPlusMinus = false, allowKeyboard = true, className = '', customStyles = {}, customButtons = {}, hideLimits = false, layout = 'horizontal', }) => {
|
|
829
829
|
const [isIncrementing, setIsIncrementing] = useState(false);
|
|
830
830
|
const [isDecrementing, setIsDecrementing] = useState(false);
|
|
831
831
|
const [displayValue, setDisplayValue] = useState(value);
|
|
@@ -911,12 +911,21 @@ const NumberStepper = ({ value, onChange, min = -Infinity, max = Infinity, step
|
|
|
911
911
|
styles$i.container,
|
|
912
912
|
styles$i[size],
|
|
913
913
|
styles$i[variant],
|
|
914
|
+
layout === 'vertical' && styles$i.vertical,
|
|
914
915
|
disabled && styles$i.disabled,
|
|
915
916
|
className
|
|
916
917
|
].filter(Boolean).join(' ');
|
|
918
|
+
// Merge custom styles with hover states
|
|
919
|
+
const [isButtonHovered, setIsButtonHovered] = useState(null);
|
|
917
920
|
const isDecrementDisabled = disabled || value <= min;
|
|
918
921
|
const isIncrementDisabled = disabled || value >= max;
|
|
919
|
-
return (jsxs("div", { className: containerClasses, children: [(label || icon) && (jsxs("div", { className: styles$i.header,
|
|
922
|
+
return (jsxs("div", { className: containerClasses, style: customStyles.container, children: [(label || icon) && (jsxs("div", { className: styles$i.header, style: customStyles.header, children: [icon && jsx("span", { className: styles$i.icon, style: customStyles.icon, children: icon }), label && jsx("label", { className: styles$i.label, style: customStyles.label, children: label })] })), jsxs("div", { className: styles$i.stepper, style: customStyles.stepper, onKeyDown: handleKeyDown, tabIndex: disabled ? -1 : 0, children: [jsx(motion.button, { className: styles$i.button, style: {
|
|
923
|
+
...customStyles.button,
|
|
924
|
+
...(isButtonHovered === 'decrement' && customStyles.buttonHover)
|
|
925
|
+
}, onMouseEnter: () => setIsButtonHovered('decrement'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleDecrement, disabled: isDecrementDisabled, whileTap: !isDecrementDisabled ? { scale: 0.9 } : undefined, animate: isDecrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Decrease value", children: customButtons.decrement || (showPlusMinus ? (jsx("span", { className: styles$i.buttonIcon, style: customStyles.buttonIcon, children: "\u2212" })) : (jsx("svg", { className: styles$i.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M15 18L9 12L15 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) }), jsx("div", { className: styles$i.valueContainer, style: customStyles.valueContainer, children: jsx(AnimatePresence, { mode: "wait", children: jsx(motion.div, { initial: { y: isIncrementing ? 10 : isDecrementing ? -10 : 0, opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: isIncrementing ? -10 : isDecrementing ? 10 : 0, opacity: 0 }, transition: { duration: 0.15 }, className: styles$i.valueWrapper, children: jsx("input", { type: "text", className: styles$i.value, style: customStyles.value, value: displayValue, onChange: handleInputChange, onBlur: handleInputBlur, disabled: disabled, "aria-label": label || "Number input", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value }) }, value) }) }), jsx(motion.button, { className: styles$i.button, style: {
|
|
926
|
+
...customStyles.button,
|
|
927
|
+
...(isButtonHovered === 'increment' && customStyles.buttonHover)
|
|
928
|
+
}, onMouseEnter: () => setIsButtonHovered('increment'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleIncrement, disabled: isIncrementDisabled, whileTap: !isIncrementDisabled ? { scale: 0.9 } : undefined, animate: isIncrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Increase value", children: customButtons.increment || (showPlusMinus ? (jsx("span", { className: styles$i.buttonIcon, style: customStyles.buttonIcon, children: "+" })) : (jsx("svg", { className: styles$i.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M9 18L15 12L9 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) })] }), !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxs("div", { className: styles$i.limits, style: customStyles.limits, children: [jsx("span", { className: styles$i.limit, children: min !== -Infinity && `Min: ${min}` }), jsx("span", { className: styles$i.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
|
|
920
929
|
};
|
|
921
930
|
|
|
922
931
|
var styles$h = {"button":"ToggleButton-module_button__DTuyY","background":"ToggleButton-module_background__NwfTp","content":"ToggleButton-module_content__NHqIN","iconWrapper":"ToggleButton-module_iconWrapper__yN4sP","icon":"ToggleButton-module_icon__r8juX","label":"ToggleButton-module_label__4mPJP","hideMobile":"ToggleButton-module_hideMobile__GFAc3","checkmark":"ToggleButton-module_checkmark__ZJwf-","ripple":"ToggleButton-module_ripple__2-faB","small":"ToggleButton-module_small__MhfoN","large":"ToggleButton-module_large__A3naL","default":"ToggleButton-module_default__q8QaZ","active":"ToggleButton-module_active__4DjlR","outlined":"ToggleButton-module_outlined__OtqJB","filled":"ToggleButton-module_filled__LySNn","ghost":"ToggleButton-module_ghost__9KXcb","active-primary":"ToggleButton-module_active-primary__vXMP7","active-secondary":"ToggleButton-module_active-secondary__9Ttdx","active-success":"ToggleButton-module_active-success__oi0rr","active-danger":"ToggleButton-module_active-danger__VUdxr","active-warning":"ToggleButton-module_active-warning__77nSu","animation-scale":"ToggleButton-module_animation-scale__j-3mJ","scaleAnimation":"ToggleButton-module_scaleAnimation__Ms1j2","animation-rotate":"ToggleButton-module_animation-rotate__pBmfc","rotateAnimation":"ToggleButton-module_rotateAnimation__xWZJ5","animation-flip":"ToggleButton-module_animation-flip__ErAbm","flipAnimation":"ToggleButton-module_flipAnimation__qwDTb","disabled":"ToggleButton-module_disabled__Gv5ji"};
|
|
@@ -3864,7 +3873,7 @@ const ImageSlideshow = ({ images, autoPlay = false, autoPlayInterval = 3000, sho
|
|
|
3864
3873
|
} }), lazyLoading && !isImageLoaded && (jsx("div", { className: styles$1.imageLoader, children: jsx("div", { className: styles$1.spinner }) }))] }, currentIndex) }), showControls && imageOrder.length > 1 && (jsxs(Fragment, { children: [jsx("button", { className: `${styles$1.control} ${styles$1.controlPrev}`, onClick: goToPrevious, disabled: !loop && currentIndex === 0, "aria-label": "Previous image", children: jsx(FiChevronLeft, {}) }), jsx("button", { className: `${styles$1.control} ${styles$1.controlNext}`, onClick: goToNext, disabled: !loop && currentIndex === imageOrder.length - 1, "aria-label": "Next image", children: jsx(FiChevronRight, {}) })] })), jsxs("div", { className: styles$1.topControls, children: [enableFullscreen && (jsx("button", { className: `${styles$1.control} ${styles$1.controlAction}`, onClick: toggleFullscreen, "aria-label": isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen', title: isFullscreen ? 'Exit fullscreen (F)' : 'Enter fullscreen (F)', children: jsx("span", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', width: '100%', height: '100%' }, children: jsx(FiMaximize, {}) }) })), enableDownload && (jsx("button", { className: `${styles$1.control} ${styles$1.controlAction}`, onClick: handleDownload, "aria-label": "Download image", title: "Download image", children: jsx("span", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', width: '100%', height: '100%' }, children: jsx(FiDownload, {}) }) })), enableShare && (jsx("button", { className: `${styles$1.control} ${styles$1.controlAction}`, onClick: handleShare, "aria-label": "Share image", title: "Share image", children: jsx("span", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', width: '100%', height: '100%' }, children: jsx(FiShare2, {}) }) }))] }), autoPlay && imageOrder.length > 1 && (jsx("button", { className: `${styles$1.control} ${styles$1.controlPlay}`, onClick: togglePlayPause, "aria-label": isPlaying ? 'Pause slideshow' : 'Play slideshow', title: isPlaying ? 'Pause slideshow (Space)' : 'Play slideshow (Space)', children: isPlaying ? jsx(FiPause, {}) : jsx(FiPlay, {}) })), showCaptions && (currentImage.caption || currentImage.title) && (jsxs(motion.div, { className: styles$1.caption, initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.3 }, children: [currentImage.title && (jsx("h3", { className: styles$1.captionTitle, children: currentImage.title })), currentImage.caption && (jsx("p", { className: styles$1.captionText, children: currentImage.caption })), currentImage.metadata && (jsxs("div", { className: styles$1.imageMetadata, children: [currentImage.metadata.photographer && (jsxs("span", { className: styles$1.metadataItem, children: ["\uD83D\uDCF7 ", currentImage.metadata.photographer] })), currentImage.metadata.location && (jsxs("span", { className: styles$1.metadataItem, children: ["\uD83D\uDCCD ", currentImage.metadata.location] })), currentImage.metadata.camera && (jsxs("span", { className: styles$1.metadataItem, children: ["\uD83D\uDCF9 ", currentImage.metadata.camera] }))] }))] }))] }), showIndicators && imageOrder.length > 1 && (jsx("div", { className: styles$1.indicators, children: imageOrder.map((_, index) => (jsx(motion.button, { className: `${styles$1.indicator} ${index === currentIndex ? styles$1.indicatorActive : ''}`, onClick: () => goToSlide(index), whileHover: { scale: 1.2 }, whileTap: { scale: 0.8 }, "aria-label": `Go to slide ${index + 1}` }, index))) })), showThumbnails && imageOrder.length > 1 && (jsx("div", { className: `${styles$1.thumbnails} ${isDragging ? styles$1.thumbnailsDragging : ''}`, children: imageOrder.map((image, index) => (jsx(motion.button, { className: `${styles$1.thumbnail} ${index === currentIndex ? styles$1.thumbnailActive : ''} ${draggedIndex === index ? styles$1.thumbnailDragged : ''}`, onClick: () => goToSlide(index), whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, "aria-label": `Go to ${image.alt}`, draggable: enableDragReorder, onDragStart: (e) => handleDragStart(e, index), onDragOver: handleDragOver, onDrop: (e) => handleDrop(e, index), title: image.title || image.alt, children: jsx("img", { src: image.src, alt: image.alt, className: styles$1.thumbnailImage, draggable: false }) }, image.id))) }))] }));
|
|
3865
3874
|
};
|
|
3866
3875
|
|
|
3867
|
-
var styles = {"container":"Table-module_container__CH3T9","header":"Table-module_header__qVoF2","title":"Table-module_title__DSZgm","actions":"Table-module_actions__2J1i0","controls":"Table-module_controls__3WToN","searchBox":"Table-module_searchBox__bh3f3","searchIcon":"Table-module_searchIcon__1pQ5l","searchInput":"Table-module_searchInput__SrK6l","clearButton":"Table-module_clearButton__4Fysz","clearFiltersButton":"Table-module_clearFiltersButton__yFLI9","resultCount":"Table-module_resultCount__RR7Z6","loading":"Table-module_loading__xxSIa","spinner":"Table-module_spinner__T8mdH","empty":"Table-module_empty__-qPi2","emptyIcon":"Table-module_emptyIcon__FLViS","tableWrapper":"Table-module_tableWrapper__LvHGH","stickyHeader":"Table-module_stickyHeader__Dz0O8","table":"Table-module_table__4T9xo","striped":"Table-module_striped__TBcT6","compact":"Table-module_compact__w-QVs","th":"Table-module_th__bpKfX","td":"Table-module_td__HaytM","hoverable":"Table-module_hoverable__4aHgq","headerCell":"Table-module_headerCell__WUy2w","headerText":"Table-module_headerText__WGAqz","sortButton":"Table-module_sortButton__CJwYq","sortIcon":"Table-module_sortIcon__G48h1","columnFilter":"Table-module_columnFilter__hwNd2","tr":"Table-module_tr__-j8Fa","selected":"Table-module_selected__pjiMr","clickable":"Table-module_clickable__9R5oq","checkboxColumn":"Table-module_checkboxColumn__SpbCr","actionsColumn":"Table-module_actionsColumn__7x--N","actionButtons":"Table-module_actionButtons__8JQhr","actionButton":"Table-module_actionButton__9EQZu","actionButtonPrimary":"Table-module_actionButtonPrimary__Xyzgu","actionButtonSecondary":"Table-module_actionButtonSecondary__RiR1E","actionButtonDanger":"Table-module_actionButtonDanger__7aX-2","actionButtonWarning":"Table-module_actionButtonWarning__2s73k","actionButtonSuccess":"Table-module_actionButtonSuccess__DvbtN","checkbox":"Table-module_checkbox__9LC-f","nullValue":"Table-module_nullValue__TVTmT","badge":"Table-module_badge__OO-UL","badgeSuccess":"Table-module_badgeSuccess__uIJVY","badgeDanger":"Table-module_badgeDanger__Y6RPD","code":"Table-module_code__SIFLQ","pagination":"Table-module_pagination__UVcSr","pageInfo":"Table-module_pageInfo__e-k17","pageControls":"Table-module_pageControls__htKNN","pageButton":"Table-module_pageButton__9ukDT","pageNumber":"Table-module_pageNumber__qpnbj","pageSizeSelect":"Table-module_pageSizeSelect__GbSKL"};
|
|
3876
|
+
var styles = {"container":"Table-module_container__CH3T9","header":"Table-module_header__qVoF2","title":"Table-module_title__DSZgm","actions":"Table-module_actions__2J1i0","controls":"Table-module_controls__3WToN","searchBox":"Table-module_searchBox__bh3f3","searchIcon":"Table-module_searchIcon__1pQ5l","searchInput":"Table-module_searchInput__SrK6l","clearButton":"Table-module_clearButton__4Fysz","clearFiltersButton":"Table-module_clearFiltersButton__yFLI9","resultCount":"Table-module_resultCount__RR7Z6","loading":"Table-module_loading__xxSIa","spinner":"Table-module_spinner__T8mdH","empty":"Table-module_empty__-qPi2","emptyIcon":"Table-module_emptyIcon__FLViS","tableWrapper":"Table-module_tableWrapper__LvHGH","stickyHeader":"Table-module_stickyHeader__Dz0O8","table":"Table-module_table__4T9xo","striped":"Table-module_striped__TBcT6","compact":"Table-module_compact__w-QVs","th":"Table-module_th__bpKfX","td":"Table-module_td__HaytM","hoverable":"Table-module_hoverable__4aHgq","headerCell":"Table-module_headerCell__WUy2w","headerText":"Table-module_headerText__WGAqz","sortButton":"Table-module_sortButton__CJwYq","sortIcon":"Table-module_sortIcon__G48h1","columnFilter":"Table-module_columnFilter__hwNd2","tr":"Table-module_tr__-j8Fa","selected":"Table-module_selected__pjiMr","clickable":"Table-module_clickable__9R5oq","checkboxColumn":"Table-module_checkboxColumn__SpbCr","actionsColumn":"Table-module_actionsColumn__7x--N","actionButtons":"Table-module_actionButtons__8JQhr","actionButton":"Table-module_actionButton__9EQZu","actionButtonPrimary":"Table-module_actionButtonPrimary__Xyzgu","actionButtonSecondary":"Table-module_actionButtonSecondary__RiR1E","actionButtonDanger":"Table-module_actionButtonDanger__7aX-2","actionButtonWarning":"Table-module_actionButtonWarning__2s73k","actionButtonSuccess":"Table-module_actionButtonSuccess__DvbtN","checkbox":"Table-module_checkbox__9LC-f","nullValue":"Table-module_nullValue__TVTmT","badge":"Table-module_badge__OO-UL","badgeSuccess":"Table-module_badgeSuccess__uIJVY","badgeDanger":"Table-module_badgeDanger__Y6RPD","code":"Table-module_code__SIFLQ","pagination":"Table-module_pagination__UVcSr","pageInfo":"Table-module_pageInfo__e-k17","pageControls":"Table-module_pageControls__htKNN","pageButton":"Table-module_pageButton__9ukDT","pageNumber":"Table-module_pageNumber__qpnbj","pageSizeSelect":"Table-module_pageSizeSelect__GbSKL","bulkActions":"Table-module_bulkActions__7Rz-X","bulkActionButtons":"Table-module_bulkActionButtons__pb8M2","bulkActionButton":"Table-module_bulkActionButton__UOTDm","selectionCount":"Table-module_selectionCount__ZwGuQ","bulkPrimary":"Table-module_bulkPrimary__qx71n","bulkSecondary":"Table-module_bulkSecondary__WNEOF","bulkDanger":"Table-module_bulkDanger__Aqmye","bulkWarning":"Table-module_bulkWarning__jEkYC","bulkSuccess":"Table-module_bulkSuccess__VQd5s","bulkCustom":"Table-module_bulkCustom__BP47V","horizontalScroll":"Table-module_horizontalScroll__Cgx7N"};
|
|
3868
3877
|
|
|
3869
3878
|
/**
|
|
3870
3879
|
* A comprehensive table component with sorting, filtering, pagination, selection, and row actions.
|
|
@@ -3907,7 +3916,7 @@ var styles = {"container":"Table-module_container__CH3T9","header":"Table-module
|
|
|
3907
3916
|
* />
|
|
3908
3917
|
* ```
|
|
3909
3918
|
*/
|
|
3910
|
-
const TableComponent = function Table({ data, columns, keyField = 'id', title, searchable = false, selectable = false, pagination = false, onRowClick, onSelectionChange, actions, rowActions, actionButtonStyles, emptyMessage = 'No data available', loading = false, striped = false, hoverable = true, compact = false, stickyHeader = false, animated = true, className = '' }) {
|
|
3919
|
+
const TableComponent = function Table({ data, columns, keyField = 'id', title, searchable = false, selectable = false, pagination = false, onRowClick, onSelectionChange, actions, bulkActions, rowActions, actionButtonStyles, emptyMessage = 'No data available', loading = false, striped = false, hoverable = true, compact = false, stickyHeader = false, animated = true, horizontalScroll = false, className = '' }) {
|
|
3911
3920
|
// State
|
|
3912
3921
|
const [selectedRows, setSelectedRows] = useState(new Set());
|
|
3913
3922
|
const [searchQuery, setSearchQuery] = useState('');
|
|
@@ -4094,10 +4103,30 @@ const TableComponent = function Table({ data, columns, keyField = 'id', title, s
|
|
|
4094
4103
|
if (data.length === 0) {
|
|
4095
4104
|
return (jsxs("div", { className: `${styles.container} ${className}`, children: [title && jsx("h2", { className: styles.title, children: title }), jsxs("div", { className: styles.empty, children: [jsx("span", { className: styles.emptyIcon, children: "\uD83D\uDCCA" }), jsx("p", { children: emptyMessage })] })] }));
|
|
4096
4105
|
}
|
|
4097
|
-
return (jsxs("div", { className: `${styles.container} ${className}`, children: [(title || actions) && (jsxs("div", { className: styles.header, children: [title && jsx("h2", { className: styles.title, children: title }), actions
|
|
4106
|
+
return (jsxs("div", { className: `${styles.container} ${className}`, children: [(title || actions || bulkActions) && (jsxs("div", { className: styles.header, children: [title && jsx("h2", { className: styles.title, children: title }), (actions || bulkActions) && (jsxs("div", { className: styles.bulkActions, children: [actions && selectedItems.length > 0 && (jsx("div", { className: styles.actions, children: actions(selectedItems) })), bulkActions && bulkActions.length > 0 && selectedItems.length > 0 && (jsx("div", { className: styles.bulkActionButtons, children: bulkActions.map((bulkAction, index) => {
|
|
4107
|
+
const isDisabled = (bulkAction.disabled && bulkAction.disabled(selectedItems)) ||
|
|
4108
|
+
(bulkAction.minSelection && selectedItems.length < bulkAction.minSelection) ||
|
|
4109
|
+
(bulkAction.maxSelection && selectedItems.length > bulkAction.maxSelection);
|
|
4110
|
+
return (jsxs("button", { className: `${styles.bulkActionButton} ${bulkAction.variant === 'primary' ? styles.bulkPrimary :
|
|
4111
|
+
bulkAction.variant === 'secondary' ? styles.bulkSecondary :
|
|
4112
|
+
bulkAction.variant === 'danger' ? styles.bulkDanger :
|
|
4113
|
+
bulkAction.variant === 'warning' ? styles.bulkWarning :
|
|
4114
|
+
bulkAction.variant === 'success' ? styles.bulkSuccess :
|
|
4115
|
+
bulkAction.variant === 'custom' ? styles.bulkCustom :
|
|
4116
|
+
styles.bulkPrimary} ${bulkAction.className || ''}`, style: bulkAction.style, disabled: !!isDisabled, onClick: async () => {
|
|
4117
|
+
if (bulkAction.confirmMessage) {
|
|
4118
|
+
const message = typeof bulkAction.confirmMessage === 'function'
|
|
4119
|
+
? bulkAction.confirmMessage(selectedItems)
|
|
4120
|
+
: bulkAction.confirmMessage;
|
|
4121
|
+
if (!confirm(message))
|
|
4122
|
+
return;
|
|
4123
|
+
}
|
|
4124
|
+
await bulkAction.onClick(selectedItems);
|
|
4125
|
+
}, title: bulkAction.label, "aria-label": bulkAction.label, children: [bulkAction.icon, jsx("span", { children: bulkAction.label }), jsxs("span", { className: styles.selectionCount, children: ["(", selectedItems.length, ")"] })] }, index));
|
|
4126
|
+
}) }))] }))] })), (searchable || hasActiveFilters) && (jsxs("div", { className: styles.controls, children: [searchable && (jsxs("div", { className: styles.searchBox, children: [jsx("span", { className: styles.searchIcon, children: "\uD83D\uDD0D" }), jsx("input", { type: "text", placeholder: "Search...", value: searchQuery, onChange: e => {
|
|
4098
4127
|
setSearchQuery(e.target.value);
|
|
4099
4128
|
setCurrentPage(1);
|
|
4100
|
-
}, className: styles.searchInput }), searchQuery && (jsx("button", { className: styles.clearButton, onClick: () => setSearchQuery(''), children: "\u2715" }))] })), hasActiveFilters && (jsx("button", { className: styles.clearFiltersButton, onClick: clearFilters, children: "Clear All Filters" })), jsxs("div", { className: styles.resultCount, children: [filteredData.length, " ", filteredData.length === 1 ? 'result' : 'results'] })] })), jsx("div", { className: `${styles.tableWrapper} ${stickyHeader ? styles.stickyHeader : ''}`, children: jsxs("table", { className: `
|
|
4129
|
+
}, className: styles.searchInput }), searchQuery && (jsx("button", { className: styles.clearButton, onClick: () => setSearchQuery(''), children: "\u2715" }))] })), hasActiveFilters && (jsx("button", { className: styles.clearFiltersButton, onClick: clearFilters, children: "Clear All Filters" })), jsxs("div", { className: styles.resultCount, children: [filteredData.length, " ", filteredData.length === 1 ? 'result' : 'results'] })] })), jsx("div", { className: `${styles.tableWrapper} ${stickyHeader ? styles.stickyHeader : ''} ${horizontalScroll ? styles.horizontalScroll : ''}`, children: jsxs("table", { className: `
|
|
4101
4130
|
${styles.table}
|
|
4102
4131
|
${striped ? styles.striped : ''}
|
|
4103
4132
|
${hoverable ? styles.hoverable : ''}
|