@shefing/quickfilter 1.0.0
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/README.md +0 -0
- package/dist/FilterField.d.ts +8 -0
- package/dist/FilterField.d.ts.map +1 -0
- package/dist/FilterField.js +87 -0
- package/dist/FilterField.js.map +1 -0
- package/dist/QuickFilter.d.ts +9 -0
- package/dist/QuickFilter.d.ts.map +1 -0
- package/dist/QuickFilter.js +331 -0
- package/dist/QuickFilter.js.map +1 -0
- package/dist/filters/components/checkbox-filter.d.ts +12 -0
- package/dist/filters/components/checkbox-filter.d.ts.map +1 -0
- package/dist/filters/components/checkbox-filter.js +104 -0
- package/dist/filters/components/checkbox-filter.js.map +1 -0
- package/dist/filters/components/date-filter.d.ts +11 -0
- package/dist/filters/components/date-filter.d.ts.map +1 -0
- package/dist/filters/components/date-filter.js +379 -0
- package/dist/filters/components/date-filter.js.map +1 -0
- package/dist/filters/components/select-filter.d.ts +14 -0
- package/dist/filters/components/select-filter.d.ts.map +1 -0
- package/dist/filters/components/select-filter.js +223 -0
- package/dist/filters/components/select-filter.js.map +1 -0
- package/dist/filters/components/small-select-filter.d.ts +18 -0
- package/dist/filters/components/small-select-filter.d.ts.map +1 -0
- package/dist/filters/components/small-select-filter.js +120 -0
- package/dist/filters/components/small-select-filter.js.map +1 -0
- package/dist/filters/constants/date-filter-options.d.ts +6 -0
- package/dist/filters/constants/date-filter-options.d.ts.map +1 -0
- package/dist/filters/constants/date-filter-options.js +74 -0
- package/dist/filters/constants/date-filter-options.js.map +1 -0
- package/dist/filters/types/filters-type.d.ts +99 -0
- package/dist/filters/types/filters-type.d.ts.map +1 -0
- package/dist/filters/types/filters-type.js +3 -0
- package/dist/filters/types/filters-type.js.map +1 -0
- package/dist/filters/utils/date-helpers.d.ts +23 -0
- package/dist/filters/utils/date-helpers.d.ts.map +1 -0
- package/dist/filters/utils/date-helpers.js +159 -0
- package/dist/filters/utils/date-helpers.js.map +1 -0
- package/dist/filters/utils/layout-helpers.d.ts +6 -0
- package/dist/filters/utils/layout-helpers.d.ts.map +1 -0
- package/dist/filters/utils/layout-helpers.js +73 -0
- package/dist/filters/utils/layout-helpers.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +18 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/badge.d.ts +10 -0
- package/dist/ui/badge.d.ts.map +1 -0
- package/dist/ui/badge.js +28 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/button.d.ts +12 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/button.js +45 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.d.ts +9 -0
- package/dist/ui/calendar.d.ts.map +1 -0
- package/dist/ui/calendar.js +126 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/checkbox.d.ts +5 -0
- package/dist/ui/checkbox.d.ts.map +1 -0
- package/dist/ui/checkbox.js +21 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/command.d.ts +81 -0
- package/dist/ui/command.d.ts.map +1 -0
- package/dist/ui/command.js +80 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/dialog.d.ts +20 -0
- package/dist/ui/dialog.d.ts.map +1 -0
- package/dist/ui/dialog.js +61 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/label.d.ts +6 -0
- package/dist/ui/label.d.ts.map +1 -0
- package/dist/ui/label.js +16 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/popover.d.ts +7 -0
- package/dist/ui/popover.d.ts.map +1 -0
- package/dist/ui/popover.js +20 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/separator.d.ts +5 -0
- package/dist/ui/separator.d.ts.map +1 -0
- package/dist/ui/separator.js +16 -0
- package/dist/ui/separator.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare function addDays(date: Date, days: number): Date;
|
|
2
|
+
export declare function subDays(date: Date, days: number): Date;
|
|
3
|
+
export declare function addWeeks(date: Date, weeks: number): Date;
|
|
4
|
+
export declare function subWeeks(date: Date, weeks: number): Date;
|
|
5
|
+
export declare function addMonths(date: Date, months: number): Date;
|
|
6
|
+
export declare function subMonths(date: Date, months: number): Date;
|
|
7
|
+
export declare function startOfDay(date: Date): Date;
|
|
8
|
+
export declare function endOfDay(date: Date): Date;
|
|
9
|
+
export declare function startOfWeek(date: Date, options?: {
|
|
10
|
+
weekStartsOn?: number;
|
|
11
|
+
}): Date;
|
|
12
|
+
export declare function endOfWeek(date: Date, options?: {
|
|
13
|
+
weekStartsOn?: number;
|
|
14
|
+
}): Date;
|
|
15
|
+
export declare function startOfMonth(date: Date): Date;
|
|
16
|
+
export declare function endOfMonth(date: Date): Date;
|
|
17
|
+
export declare function formatDate(date: Date, formatStr: string): string;
|
|
18
|
+
export declare function getDateRangeForOption(option: string, locale?: 'he' | 'en'): {
|
|
19
|
+
from: Date;
|
|
20
|
+
to: Date;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=date-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-helpers.d.ts","sourceRoot":"","sources":["../../../src/filters/utils/date-helpers.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAItD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAIzC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAOrF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAKnF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqBhE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,IAAI,GAAG,IAAW,GACzB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA6E/C"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
// Custom date utilities to replace date-fns
|
|
2
|
+
export function addDays(date, days) {
|
|
3
|
+
const result = new Date(date);
|
|
4
|
+
result.setDate(result.getDate() + days);
|
|
5
|
+
return result;
|
|
6
|
+
}
|
|
7
|
+
export function subDays(date, days) {
|
|
8
|
+
return addDays(date, -days);
|
|
9
|
+
}
|
|
10
|
+
export function addWeeks(date, weeks) {
|
|
11
|
+
return addDays(date, weeks * 7);
|
|
12
|
+
}
|
|
13
|
+
export function subWeeks(date, weeks) {
|
|
14
|
+
return addWeeks(date, -weeks);
|
|
15
|
+
}
|
|
16
|
+
export function addMonths(date, months) {
|
|
17
|
+
const result = new Date(date);
|
|
18
|
+
result.setMonth(result.getMonth() + months);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
export function subMonths(date, months) {
|
|
22
|
+
return addMonths(date, -months);
|
|
23
|
+
}
|
|
24
|
+
export function startOfDay(date) {
|
|
25
|
+
const result = new Date(date);
|
|
26
|
+
result.setHours(0, 0, 0, 0);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
export function endOfDay(date) {
|
|
30
|
+
const result = new Date(date);
|
|
31
|
+
result.setHours(23, 59, 59, 999);
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
export function startOfWeek(date, options = {}) {
|
|
35
|
+
const { weekStartsOn = 0 } = options;
|
|
36
|
+
const result = new Date(date);
|
|
37
|
+
const day = result.getDay();
|
|
38
|
+
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
39
|
+
result.setDate(result.getDate() - diff);
|
|
40
|
+
return startOfDay(result);
|
|
41
|
+
}
|
|
42
|
+
export function endOfWeek(date, options = {}) {
|
|
43
|
+
const { weekStartsOn = 0 } = options;
|
|
44
|
+
const result = startOfWeek(date, {
|
|
45
|
+
weekStartsOn
|
|
46
|
+
});
|
|
47
|
+
result.setDate(result.getDate() + 6);
|
|
48
|
+
return endOfDay(result);
|
|
49
|
+
}
|
|
50
|
+
export function startOfMonth(date) {
|
|
51
|
+
const result = new Date(date);
|
|
52
|
+
result.setDate(1);
|
|
53
|
+
return startOfDay(result);
|
|
54
|
+
}
|
|
55
|
+
export function endOfMonth(date) {
|
|
56
|
+
const result = new Date(date);
|
|
57
|
+
result.setMonth(result.getMonth() + 1, 0);
|
|
58
|
+
return endOfDay(result);
|
|
59
|
+
}
|
|
60
|
+
export function formatDate(date, formatStr) {
|
|
61
|
+
const day = date.getDate().toString().padStart(2, '0');
|
|
62
|
+
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
63
|
+
const year = date.getFullYear().toString();
|
|
64
|
+
switch(formatStr){
|
|
65
|
+
case 'dd/MM/yyyy':
|
|
66
|
+
return `${day}/${month}/${year}`;
|
|
67
|
+
case 'dd/MM':
|
|
68
|
+
return `${day}/${month}`;
|
|
69
|
+
case 'MM/yyyy':
|
|
70
|
+
return `${month}/${year}`;
|
|
71
|
+
case 'PPP':
|
|
72
|
+
return date.toLocaleDateString('en-US', {
|
|
73
|
+
year: 'numeric',
|
|
74
|
+
month: 'long',
|
|
75
|
+
day: 'numeric'
|
|
76
|
+
});
|
|
77
|
+
default:
|
|
78
|
+
return date.toLocaleDateString();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function getDateRangeForOption(option, locale = 'he') {
|
|
82
|
+
const now = new Date();
|
|
83
|
+
const isHebrew = locale === 'he';
|
|
84
|
+
switch(option){
|
|
85
|
+
case 'yesterday':
|
|
86
|
+
const yesterday = subDays(now, 1);
|
|
87
|
+
return {
|
|
88
|
+
from: startOfDay(yesterday),
|
|
89
|
+
to: endOfDay(yesterday),
|
|
90
|
+
description: `(${formatDate(yesterday, 'dd/MM/yyyy')})`
|
|
91
|
+
};
|
|
92
|
+
case 'lastWeek':
|
|
93
|
+
const lastWeekStart = startOfWeek(subWeeks(now, 1), {
|
|
94
|
+
weekStartsOn: 0
|
|
95
|
+
});
|
|
96
|
+
const lastWeekEnd = endOfWeek(subWeeks(now, 1), {
|
|
97
|
+
weekStartsOn: 0
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
from: lastWeekStart,
|
|
101
|
+
to: lastWeekEnd,
|
|
102
|
+
description: `(${formatDate(lastWeekStart, 'dd/MM')} - ${formatDate(lastWeekEnd, 'dd/MM/yyyy')})`
|
|
103
|
+
};
|
|
104
|
+
case 'lastMonth':
|
|
105
|
+
const lastMonthStart = startOfMonth(subMonths(now, 1));
|
|
106
|
+
const lastMonthEnd = endOfMonth(subMonths(now, 1));
|
|
107
|
+
return {
|
|
108
|
+
from: lastMonthStart,
|
|
109
|
+
to: lastMonthEnd,
|
|
110
|
+
description: `(${formatDate(lastMonthStart, 'MM/yyyy')})`
|
|
111
|
+
};
|
|
112
|
+
case 'allPast':
|
|
113
|
+
return {
|
|
114
|
+
from: new Date(1900, 0, 1),
|
|
115
|
+
to: subDays(now, 1),
|
|
116
|
+
description: isHebrew ? '(עד אתמול)' : '(until yesterday)'
|
|
117
|
+
};
|
|
118
|
+
case 'today':
|
|
119
|
+
return {
|
|
120
|
+
from: startOfDay(now),
|
|
121
|
+
to: endOfDay(now),
|
|
122
|
+
description: `(${formatDate(now, 'dd/MM/yyyy')})`
|
|
123
|
+
};
|
|
124
|
+
case 'nextWeek':
|
|
125
|
+
const thisWeekStart = startOfWeek(now, {
|
|
126
|
+
weekStartsOn: 0
|
|
127
|
+
});
|
|
128
|
+
const thisWeekEnd = endOfWeek(now, {
|
|
129
|
+
weekStartsOn: 0
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
from: thisWeekStart,
|
|
133
|
+
to: thisWeekEnd,
|
|
134
|
+
description: `(${formatDate(thisWeekStart, 'dd/MM')} - ${formatDate(thisWeekEnd, 'dd/MM/yyyy')})`
|
|
135
|
+
};
|
|
136
|
+
case 'nextMonth':
|
|
137
|
+
const thisMonthStart = startOfMonth(now);
|
|
138
|
+
const thisMonthEnd = endOfMonth(now);
|
|
139
|
+
return {
|
|
140
|
+
from: thisMonthStart,
|
|
141
|
+
to: thisMonthEnd,
|
|
142
|
+
description: `(${formatDate(thisMonthStart, 'MM/yyyy')})`
|
|
143
|
+
};
|
|
144
|
+
case 'allFuture':
|
|
145
|
+
return {
|
|
146
|
+
from: now,
|
|
147
|
+
to: new Date(2100, 11, 31),
|
|
148
|
+
description: isHebrew ? '(מהיום ואילך)' : '(from today onwards)'
|
|
149
|
+
};
|
|
150
|
+
default:
|
|
151
|
+
return {
|
|
152
|
+
from: now,
|
|
153
|
+
to: now,
|
|
154
|
+
description: ''
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=date-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/filters/utils/date-helpers.ts"],"sourcesContent":["// Custom date utilities to replace date-fns\nexport function addDays(date: Date, days: number): Date {\n const result = new Date(date)\n result.setDate(result.getDate() + days)\n return result\n}\n\nexport function subDays(date: Date, days: number): Date {\n return addDays(date, -days)\n}\n\nexport function addWeeks(date: Date, weeks: number): Date {\n return addDays(date, weeks * 7)\n}\n\nexport function subWeeks(date: Date, weeks: number): Date {\n return addWeeks(date, -weeks)\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const result = new Date(date)\n result.setMonth(result.getMonth() + months)\n return result\n}\n\nexport function subMonths(date: Date, months: number): Date {\n return addMonths(date, -months)\n}\n\nexport function startOfDay(date: Date): Date {\n const result = new Date(date)\n result.setHours(0, 0, 0, 0)\n return result\n}\n\nexport function endOfDay(date: Date): Date {\n const result = new Date(date)\n result.setHours(23, 59, 59, 999)\n return result\n}\n\nexport function startOfWeek(date: Date, options: { weekStartsOn?: number } = {}): Date {\n const { weekStartsOn = 0 } = options\n const result = new Date(date)\n const day = result.getDay()\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn\n result.setDate(result.getDate() - diff)\n return startOfDay(result)\n}\n\nexport function endOfWeek(date: Date, options: { weekStartsOn?: number } = {}): Date {\n const { weekStartsOn = 0 } = options\n const result = startOfWeek(date, { weekStartsOn })\n result.setDate(result.getDate() + 6)\n return endOfDay(result)\n}\n\nexport function startOfMonth(date: Date): Date {\n const result = new Date(date)\n result.setDate(1)\n return startOfDay(result)\n}\n\nexport function endOfMonth(date: Date): Date {\n const result = new Date(date)\n result.setMonth(result.getMonth() + 1, 0)\n return endOfDay(result)\n}\n\nexport function formatDate(date: Date, formatStr: string): string {\n const day = date.getDate().toString().padStart(2, '0')\n const month = (date.getMonth() + 1).toString().padStart(2, '0')\n const year = date.getFullYear().toString()\n\n switch (formatStr) {\n case 'dd/MM/yyyy':\n return `${day}/${month}/${year}`\n case 'dd/MM':\n return `${day}/${month}`\n case 'MM/yyyy':\n return `${month}/${year}`\n case 'PPP':\n return date.toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })\n default:\n return date.toLocaleDateString()\n }\n}\n\nexport function getDateRangeForOption(\n option: string,\n locale: 'he' | 'en' = 'he',\n): { from: Date; to: Date; description: string } {\n const now = new Date()\n const isHebrew = locale === 'he'\n\n switch (option) {\n case 'yesterday':\n const yesterday = subDays(now, 1)\n return {\n from: startOfDay(yesterday),\n to: endOfDay(yesterday),\n description: `(${formatDate(yesterday, 'dd/MM/yyyy')})`,\n }\n\n case 'lastWeek':\n const lastWeekStart = startOfWeek(subWeeks(now, 1), { weekStartsOn: 0 })\n const lastWeekEnd = endOfWeek(subWeeks(now, 1), { weekStartsOn: 0 })\n return {\n from: lastWeekStart,\n to: lastWeekEnd,\n description: `(${formatDate(lastWeekStart, 'dd/MM')} - ${formatDate(lastWeekEnd, 'dd/MM/yyyy')})`,\n }\n\n case 'lastMonth':\n const lastMonthStart = startOfMonth(subMonths(now, 1))\n const lastMonthEnd = endOfMonth(subMonths(now, 1))\n return {\n from: lastMonthStart,\n to: lastMonthEnd,\n description: `(${formatDate(lastMonthStart, 'MM/yyyy')})`,\n }\n\n case 'allPast':\n return {\n from: new Date(1900, 0, 1),\n to: subDays(now, 1),\n description: isHebrew ? '(עד אתמול)' : '(until yesterday)',\n }\n\n case 'today':\n return {\n from: startOfDay(now),\n to: endOfDay(now),\n description: `(${formatDate(now, 'dd/MM/yyyy')})`,\n }\n\n case 'nextWeek':\n const thisWeekStart = startOfWeek(now, { weekStartsOn: 0 })\n const thisWeekEnd = endOfWeek(now, { weekStartsOn: 0 })\n return {\n from: thisWeekStart,\n to: thisWeekEnd,\n description: `(${formatDate(thisWeekStart, 'dd/MM')} - ${formatDate(thisWeekEnd, 'dd/MM/yyyy')})`,\n }\n\n case 'nextMonth':\n const thisMonthStart = startOfMonth(now)\n const thisMonthEnd = endOfMonth(now)\n return {\n from: thisMonthStart,\n to: thisMonthEnd,\n description: `(${formatDate(thisMonthStart, 'MM/yyyy')})`,\n }\n\n case 'allFuture':\n return {\n from: now,\n to: new Date(2100, 11, 31),\n description: isHebrew ? '(מהיום ואילך)' : '(from today onwards)',\n }\n\n default:\n return {\n from: now,\n to: now,\n description: '',\n }\n }\n}\n"],"names":["addDays","date","days","result","Date","setDate","getDate","subDays","addWeeks","weeks","subWeeks","addMonths","months","setMonth","getMonth","subMonths","startOfDay","setHours","endOfDay","startOfWeek","options","weekStartsOn","day","getDay","diff","endOfWeek","startOfMonth","endOfMonth","formatDate","formatStr","toString","padStart","month","year","getFullYear","toLocaleDateString","getDateRangeForOption","option","locale","now","isHebrew","yesterday","from","to","description","lastWeekStart","lastWeekEnd","lastMonthStart","lastMonthEnd","thisWeekStart","thisWeekEnd","thisMonthStart","thisMonthEnd"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FilterDetaild, FilterRow } from '../types/filters-type';
|
|
2
|
+
export declare function groupFiltersByRow(filters: FilterDetaild[]): FilterRow[];
|
|
3
|
+
export declare function getFilterWidthClass(width?: string): string;
|
|
4
|
+
export declare function getGridColumnsClass(filtersCount: number): string;
|
|
5
|
+
export declare const parseColumns: (raw: unknown) => string[];
|
|
6
|
+
//# sourceMappingURL=layout-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-helpers.d.ts","sourceRoot":"","sources":["../../../src/filters/utils/layout-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEhE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAuBvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBhE;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,MAAM,EA4BjD,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export function groupFiltersByRow(filters) {
|
|
2
|
+
// Group filters by row number
|
|
3
|
+
const groupedFilters = filters.reduce((acc, filter)=>{
|
|
4
|
+
const rowNumber = filter.row ?? 0;
|
|
5
|
+
if (!acc[rowNumber]) {
|
|
6
|
+
acc[rowNumber] = [];
|
|
7
|
+
}
|
|
8
|
+
acc[rowNumber].push(filter);
|
|
9
|
+
return acc;
|
|
10
|
+
}, {});
|
|
11
|
+
// Convert to array and sort filters within each row by order
|
|
12
|
+
const rows = Object.entries(groupedFilters).map(([rowNumber, filters])=>({
|
|
13
|
+
rowNumber: Number.parseInt(rowNumber),
|
|
14
|
+
filters: filters
|
|
15
|
+
})).sort((a, b)=>a.rowNumber - b.rowNumber);
|
|
16
|
+
return rows;
|
|
17
|
+
}
|
|
18
|
+
export function getFilterWidthClass(width) {
|
|
19
|
+
switch(width){
|
|
20
|
+
case 'sm':
|
|
21
|
+
return 'w-full max-w-xs';
|
|
22
|
+
case 'md':
|
|
23
|
+
return 'w-full max-w-sm';
|
|
24
|
+
case 'lg':
|
|
25
|
+
return 'w-full max-w-md';
|
|
26
|
+
case 'xl':
|
|
27
|
+
return 'w-full max-w-lg';
|
|
28
|
+
case 'full':
|
|
29
|
+
return 'w-full';
|
|
30
|
+
case 'auto':
|
|
31
|
+
default:
|
|
32
|
+
return 'w-auto min-w-fit';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function getGridColumnsClass(filtersCount) {
|
|
36
|
+
switch(filtersCount){
|
|
37
|
+
case 1:
|
|
38
|
+
return 'grid-cols-1';
|
|
39
|
+
case 2:
|
|
40
|
+
return 'grid-cols-1 md:grid-cols-2';
|
|
41
|
+
case 3:
|
|
42
|
+
return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3';
|
|
43
|
+
case 4:
|
|
44
|
+
return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4';
|
|
45
|
+
case 5:
|
|
46
|
+
return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5';
|
|
47
|
+
case 6:
|
|
48
|
+
return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6';
|
|
49
|
+
default:
|
|
50
|
+
return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export const parseColumns = (raw)=>{
|
|
54
|
+
if (Array.isArray(raw)) {
|
|
55
|
+
return raw;
|
|
56
|
+
}
|
|
57
|
+
if (typeof raw === 'string') {
|
|
58
|
+
try {
|
|
59
|
+
const cleaned = raw.trim().replace(/^"+/, '').replace(/"+$/, '').replace(/\\"/g, '"').replace(/\\+"/g, '"').replace(/\\\\/g, '\\');
|
|
60
|
+
const parsed = JSON.parse(cleaned);
|
|
61
|
+
if (Array.isArray(parsed)) {
|
|
62
|
+
console.log('Parsed columns:', parsed);
|
|
63
|
+
console.log('row:', raw);
|
|
64
|
+
return parsed;
|
|
65
|
+
}
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.warn('Failed to parse columns string:', raw, err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return [];
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=layout-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/filters/utils/layout-helpers.ts"],"sourcesContent":["import { FilterDetaild, FilterRow } from '../types/filters-type'\n\nexport function groupFiltersByRow(filters: FilterDetaild[]): FilterRow[] {\n // Group filters by row number\n const groupedFilters = filters.reduce(\n (acc, filter) => {\n const rowNumber = filter.row ?? 0\n if (!acc[rowNumber]) {\n acc[rowNumber] = []\n }\n acc[rowNumber].push(filter)\n return acc\n },\n {} as Record<number, FilterDetaild[]>,\n )\n\n // Convert to array and sort filters within each row by order\n const rows: FilterRow[] = Object.entries(groupedFilters)\n .map(([rowNumber, filters]) => ({\n rowNumber: Number.parseInt(rowNumber),\n filters: filters,\n }))\n .sort((a, b) => a.rowNumber - b.rowNumber)\n\n return rows\n}\n\nexport function getFilterWidthClass(width?: string): string {\n switch (width) {\n case 'sm':\n return 'w-full max-w-xs'\n case 'md':\n return 'w-full max-w-sm'\n case 'lg':\n return 'w-full max-w-md'\n case 'xl':\n return 'w-full max-w-lg'\n case 'full':\n return 'w-full'\n case 'auto':\n default:\n return 'w-auto min-w-fit'\n }\n}\n\nexport function getGridColumnsClass(filtersCount: number): string {\n switch (filtersCount) {\n case 1:\n return 'grid-cols-1'\n case 2:\n return 'grid-cols-1 md:grid-cols-2'\n case 3:\n return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3'\n case 4:\n return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4'\n case 5:\n return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5'\n case 6:\n return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6'\n default:\n return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4'\n }\n}\n\nexport const parseColumns = (raw: unknown): string[] => {\n if (Array.isArray(raw)) {\n return raw\n }\n\n if (typeof raw === 'string') {\n try {\n const cleaned = raw\n .trim()\n .replace(/^\"+/, '')\n .replace(/\"+$/, '')\n .replace(/\\\\\"/g, '\"')\n .replace(/\\\\+\"/g, '\"')\n .replace(/\\\\\\\\/g, '\\\\')\n\n const parsed = JSON.parse(cleaned)\n\n if (Array.isArray(parsed)) {\n console.log('Parsed columns:', parsed)\n console.log('row:', raw)\n return parsed\n }\n } catch (err) {\n console.warn('Failed to parse columns string:', raw, err)\n }\n }\n\n return []\n}\n"],"names":["groupFiltersByRow","filters","groupedFilters","reduce","acc","filter","rowNumber","row","push","rows","Object","entries","map","Number","parseInt","sort","a","b","getFilterWidthClass","width","getGridColumnsClass","filtersCount","parseColumns","raw","Array","isArray","cleaned","trim","replace","parsed","JSON","parse","console","log","err","warn"],"mappings":"AAEA,OAAO,SAASA,kBAAkBC,OAAwB;IACxD,8BAA8B;IAC9B,MAAMC,iBAAiBD,QAAQE,MAAM,CACnC,CAACC,KAAKC;QACJ,MAAMC,YAAYD,OAAOE,GAAG,IAAI;QAChC,IAAI,CAACH,GAAG,CAACE,UAAU,EAAE;YACnBF,GAAG,CAACE,UAAU,GAAG,EAAE;QACrB;QACAF,GAAG,CAACE,UAAU,CAACE,IAAI,CAACH;QACpB,OAAOD;IACT,GACA,CAAC;IAGH,6DAA6D;IAC7D,MAAMK,OAAoBC,OAAOC,OAAO,CAACT,gBACtCU,GAAG,CAAC,CAAC,CAACN,WAAWL,QAAQ,GAAM,CAAA;YAC9BK,WAAWO,OAAOC,QAAQ,CAACR;YAC3BL,SAASA;QACX,CAAA,GACCc,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEV,SAAS,GAAGW,EAAEX,SAAS;IAE3C,OAAOG;AACT;AAEA,OAAO,SAASS,oBAAoBC,KAAc;IAChD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL;YACE,OAAO;IACX;AACF;AAEA,OAAO,SAASC,oBAAoBC,YAAoB;IACtD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AAEA,OAAO,MAAMC,eAAe,CAACC;IAC3B,IAAIC,MAAMC,OAAO,CAACF,MAAM;QACtB,OAAOA;IACT;IAEA,IAAI,OAAOA,QAAQ,UAAU;QAC3B,IAAI;YACF,MAAMG,UAAUH,IACbI,IAAI,GACJC,OAAO,CAAC,OAAO,IACfA,OAAO,CAAC,OAAO,IACfA,OAAO,CAAC,QAAQ,KAChBA,OAAO,CAAC,SAAS,KACjBA,OAAO,CAAC,SAAS;YAEpB,MAAMC,SAASC,KAAKC,KAAK,CAACL;YAE1B,IAAIF,MAAMC,OAAO,CAACI,SAAS;gBACzBG,QAAQC,GAAG,CAAC,mBAAmBJ;gBAC/BG,QAAQC,GAAG,CAAC,QAAQV;gBACpB,OAAOM;YACT;QACF,EAAE,OAAOK,KAAK;YACZF,QAAQG,IAAI,CAAC,mCAAmCZ,KAAKW;QACvD;IACF;IAEA,OAAO,EAAE;AACX,EAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Config } from 'payload';
|
|
2
|
+
import { CollectionFilterPluginConfig } from './types';
|
|
3
|
+
export declare const CollectionQuickFilterPlugin: (pluginOptions?: CollectionFilterPluginConfig) => (config: Config) => Config;
|
|
4
|
+
export default CollectionQuickFilterPlugin;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,2BAA2B,mBACtB,4BAA4B,cACnC,MAAM,KAAG,MAuDjB,CAAC;AAEJ,eAAe,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export const CollectionQuickFilterPlugin = (pluginOptions = {})=>(config)=>{
|
|
2
|
+
if (!config.collections) {
|
|
3
|
+
config.collections = [];
|
|
4
|
+
}
|
|
5
|
+
// Process each collection to add the QuickFilter component
|
|
6
|
+
config.collections = config.collections.map((collection)=>{
|
|
7
|
+
// Check if the collection has a filterList configuration
|
|
8
|
+
// or if it's specified in the plugin options
|
|
9
|
+
if (collection.custom?.filterList && Array.isArray(collection.custom.filterList)) {
|
|
10
|
+
// Clone the collection to avoid mutating the original
|
|
11
|
+
const newCollection = {
|
|
12
|
+
...collection
|
|
13
|
+
};
|
|
14
|
+
// Initialize components if not exists
|
|
15
|
+
if (!newCollection.admin) {
|
|
16
|
+
newCollection.admin = {};
|
|
17
|
+
}
|
|
18
|
+
if (!newCollection.admin.components) {
|
|
19
|
+
newCollection.admin.components = {};
|
|
20
|
+
}
|
|
21
|
+
if (!newCollection.admin.components.beforeListTable) {
|
|
22
|
+
newCollection.admin.components.beforeListTable = [];
|
|
23
|
+
} else if (!Array.isArray(newCollection.admin.components.beforeListTable)) {
|
|
24
|
+
// If it's not an array, convert it to an array
|
|
25
|
+
newCollection.admin.components.beforeListTable = [
|
|
26
|
+
newCollection.admin.components.beforeListTable
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
// Add the QuickFilter component
|
|
30
|
+
newCollection.admin.components.beforeListTable.push({
|
|
31
|
+
path: '/plugins/quickfilter/QuickFilter',
|
|
32
|
+
clientProps: {
|
|
33
|
+
filterList: collection.custom.filterList,
|
|
34
|
+
slug: collection.slug
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return newCollection;
|
|
38
|
+
}
|
|
39
|
+
return collection;
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* If the plugin is disabled, we still want to keep added collections/fields so the database schema is consistent which is important for migrations.
|
|
43
|
+
* If your plugin heavily modifies the database schema, you may want to remove this property.
|
|
44
|
+
*/ if (pluginOptions.disabled) {
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
return config;
|
|
48
|
+
};
|
|
49
|
+
export default CollectionQuickFilterPlugin;
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config } from 'payload';\nimport { CollectionFilterPluginConfig } from './types';\n\nexport const CollectionQuickFilterPlugin =\n (pluginOptions: CollectionFilterPluginConfig = {}) =>\n (config: Config): Config => {\n if (!config.collections) {\n config.collections = [];\n }\n\n // Process each collection to add the QuickFilter component\n config.collections = config.collections.map((collection) => {\n // Check if the collection has a filterList configuration\n // or if it's specified in the plugin options\n if (collection.custom?.filterList && Array.isArray(collection.custom.filterList)) {\n // Clone the collection to avoid mutating the original\n const newCollection = { ...collection };\n\n // Initialize components if not exists\n if (!newCollection.admin) {\n newCollection.admin = {};\n }\n\n if (!newCollection.admin.components) {\n newCollection.admin.components = {};\n }\n\n if (!newCollection.admin.components.beforeListTable) {\n newCollection.admin.components.beforeListTable = [];\n } else if (!Array.isArray(newCollection.admin.components.beforeListTable)) {\n // If it's not an array, convert it to an array\n newCollection.admin.components.beforeListTable = [\n newCollection.admin.components.beforeListTable,\n ];\n }\n\n // Add the QuickFilter component\n newCollection.admin.components.beforeListTable.push({\n path: '/plugins/quickfilter/QuickFilter',\n clientProps: {\n filterList: collection.custom.filterList,\n slug: collection.slug,\n },\n });\n\n return newCollection;\n }\n\n return collection;\n });\n\n /**\n * If the plugin is disabled, we still want to keep added collections/fields so the database schema is consistent which is important for migrations.\n * If your plugin heavily modifies the database schema, you may want to remove this property.\n */\n if (pluginOptions.disabled) {\n return config;\n }\n\n return config;\n };\n\nexport default CollectionQuickFilterPlugin;\n"],"names":["CollectionQuickFilterPlugin","pluginOptions","config","collections","map","collection","custom","filterList","Array","isArray","newCollection","admin","components","beforeListTable","push","path","clientProps","slug","disabled"],"mappings":"AAGA,OAAO,MAAMA,8BACX,CAACC,gBAA8C,CAAC,CAAC,GACjD,CAACC;QACC,IAAI,CAACA,OAAOC,WAAW,EAAE;YACvBD,OAAOC,WAAW,GAAG,EAAE;QACzB;QAEA,2DAA2D;QAC3DD,OAAOC,WAAW,GAAGD,OAAOC,WAAW,CAACC,GAAG,CAAC,CAACC;YAC3C,yDAAyD;YACzD,6CAA6C;YAC7C,IAAIA,WAAWC,MAAM,EAAEC,cAAcC,MAAMC,OAAO,CAACJ,WAAWC,MAAM,CAACC,UAAU,GAAG;gBAChF,sDAAsD;gBACtD,MAAMG,gBAAgB;oBAAE,GAAGL,UAAU;gBAAC;gBAEtC,sCAAsC;gBACtC,IAAI,CAACK,cAAcC,KAAK,EAAE;oBACxBD,cAAcC,KAAK,GAAG,CAAC;gBACzB;gBAEA,IAAI,CAACD,cAAcC,KAAK,CAACC,UAAU,EAAE;oBACnCF,cAAcC,KAAK,CAACC,UAAU,GAAG,CAAC;gBACpC;gBAEA,IAAI,CAACF,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe,EAAE;oBACnDH,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe,GAAG,EAAE;gBACrD,OAAO,IAAI,CAACL,MAAMC,OAAO,CAACC,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe,GAAG;oBACzE,+CAA+C;oBAC/CH,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe,GAAG;wBAC/CH,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe;qBAC/C;gBACH;gBAEA,gCAAgC;gBAChCH,cAAcC,KAAK,CAACC,UAAU,CAACC,eAAe,CAACC,IAAI,CAAC;oBAClDC,MAAM;oBACNC,aAAa;wBACXT,YAAYF,WAAWC,MAAM,CAACC,UAAU;wBACxCU,MAAMZ,WAAWY,IAAI;oBACvB;gBACF;gBAEA,OAAOP;YACT;YAEA,OAAOL;QACT;QAEA;;;KAGC,GACD,IAAIJ,cAAciB,QAAQ,EAAE;YAC1B,OAAOhB;QACT;QAEA,OAAOA;IACT,EAAE;AAEJ,eAAeF,4BAA4B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ClassValue } from 'clsx';
|
|
2
|
+
import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
3
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
export declare function handleNavigation(href: string, e: React.MouseEvent, pathname: string, router: AppRouterInstance): void;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAE3F,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,KAAK,CAAC,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,QAmB1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
export function cn(...inputs) {
|
|
4
|
+
return twMerge(clsx(inputs));
|
|
5
|
+
}
|
|
6
|
+
export function handleNavigation(href, e, pathname, router) {
|
|
7
|
+
// Check if we're on holdings page and there's a navigation handler
|
|
8
|
+
if (pathname === '/holdings' && typeof window !== 'undefined' && window.holdingsNavigationHandler) {
|
|
9
|
+
const canNavigate = window.holdingsNavigationHandler(href);
|
|
10
|
+
if (!canNavigate) {
|
|
11
|
+
e.preventDefault();
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
router.push(href);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function handleNavigation(\n href: string,\n e: React.MouseEvent,\n pathname: string,\n router: AppRouterInstance,\n) {\n // Check if we're on holdings page and there's a navigation handler\n if (\n pathname === '/holdings' &&\n typeof window !== 'undefined' &&\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler\n ) {\n const canNavigate = (\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler as (\n href: string,\n ) => boolean\n )(href);\n if (!canNavigate) {\n e.preventDefault();\n return;\n }\n }\n router.push(href);\n}\n"],"names":["clsx","twMerge","cn","inputs","handleNavigation","href","e","pathname","router","window","holdingsNavigationHandler","canNavigate","preventDefault","push"],"mappings":"AAAA,SAASA,IAAI,QAAyB,OAAO;AAC7C,SAASC,OAAO,QAAQ,iBAAiB;AAGzC,OAAO,SAASC,GAAG,GAAGC,MAAoB;IACxC,OAAOF,QAAQD,KAAKG;AACtB;AAEA,OAAO,SAASC,iBACdC,IAAY,EACZC,CAAmB,EACnBC,QAAgB,EAChBC,MAAyB;IAEzB,mEAAmE;IACnE,IACED,aAAa,eACb,OAAOE,WAAW,eAClB,AAACA,OAA8CC,yBAAyB,EACxE;QACA,MAAMC,cAAc,AAClB,AAACF,OAA8CC,yBAAyB,CAGxEL;QACF,IAAI,CAACM,aAAa;YAChBL,EAAEM,cAAc;YAChB;QACF;IACF;IACAJ,OAAOK,IAAI,CAACR;AACd"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["export type CollectionFilterPluginConfig = {\n /**\n * List of collections to add filters to\n */\n disabled?: boolean;\n};\n"],"names":[],"mappings":"AAAA,WAKE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const badgeVariants: (props?: {
|
|
4
|
+
variant?: "default" | "destructive" | "outline" | "secondary";
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) => string;
|
|
6
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
7
|
+
}
|
|
8
|
+
declare function Badge({ className, variant, ...props }: BadgeProps): React.JSX.Element;
|
|
9
|
+
export { Badge, badgeVariants };
|
|
10
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;iEAiBlB,CAAC;AAEF,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,qBAE1D;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/ui/badge.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
const badgeVariants = cva('inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',
|
|
9
|
+
secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
10
|
+
destructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',
|
|
11
|
+
outline: 'text-foreground'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: {
|
|
15
|
+
variant: 'default'
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
function Badge({ className, variant, ...props }) {
|
|
19
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
20
|
+
className: cn(badgeVariants({
|
|
21
|
+
variant
|
|
22
|
+
}), className),
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export { Badge, badgeVariants };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n"],"names":["React","cva","cn","badgeVariants","variants","variant","default","secondary","destructive","outline","defaultVariants","Badge","className","props","div"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,GAAG,QAA2B,2BAA2B;AAElE,SAASC,EAAE,QAAQ,eAAe;AAElC,MAAMC,gBAAgBF,IACpB,0KACA;IACEG,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,WACE;YACFC,aACE;YACFC,SAAS;QACX;IACF;IACAC,iBAAiB;QACfL,SAAS;IACX;AACF;AAOF,SAASM,MAAM,EAAEC,SAAS,EAAEP,OAAO,EAAE,GAAGQ,OAAmB;IACzD,qBAAO,KAACC;QAAIF,WAAWV,GAAGC,cAAc;YAAEE;QAAQ,IAAIO;QAAa,GAAGC,KAAK;;AAC7E;AAEA,SAASF,KAAK,EAAER,aAAa,GAAG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const buttonVariants: (props?: {
|
|
4
|
+
variant?: "link" | "default" | "defaultHover" | "destructive" | "outline" | "secondary" | "ghost" | "icon";
|
|
5
|
+
size?: "sm" | "lg" | "default" | "icon";
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) => string;
|
|
7
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export { Button, buttonVariants };
|
|
12
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,QAAA,MAAM,cAAc;;;iEA2BnB,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAOX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { cn } from '../lib/utils';
|
|
6
|
+
const buttonVariants = cva('inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: 'bg-primary text-primary-foreground shadow hover:bg-primary/70',
|
|
10
|
+
defaultHover: 'bg-primary text-primary-foreground shadow hover:bg-accent/70 ',
|
|
11
|
+
destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',
|
|
12
|
+
outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',
|
|
13
|
+
secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',
|
|
14
|
+
ghost: 'hover:bg-accent hover:text-accent-foreground',
|
|
15
|
+
icon: '',
|
|
16
|
+
link: 'text-primary underline-offset-4 hover:underline'
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
default: 'h-9 px-4 py-2',
|
|
20
|
+
sm: 'h-8 rounded-md px-3 text-xs',
|
|
21
|
+
lg: 'h-10 rounded-md px-8',
|
|
22
|
+
icon: 'h-9 w-9'
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
variant: 'default',
|
|
27
|
+
size: 'default'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const Button = /*#__PURE__*/ React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{
|
|
31
|
+
const Comp = asChild ? Slot : 'button';
|
|
32
|
+
return /*#__PURE__*/ _jsx(Comp, {
|
|
33
|
+
className: cn(buttonVariants({
|
|
34
|
+
variant,
|
|
35
|
+
size,
|
|
36
|
+
className
|
|
37
|
+
})),
|
|
38
|
+
ref: ref,
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
Button.displayName = 'Button';
|
|
43
|
+
export { Button, buttonVariants };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\n\n\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/70',\n defaultHover: 'bg-primary text-primary-foreground shadow hover:bg-accent/70 ',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline:\n 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n icon: '',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"names":["React","Slot","cva","cn","buttonVariants","variants","variant","default","defaultHover","destructive","outline","secondary","ghost","icon","link","size","sm","lg","defaultVariants","Button","forwardRef","className","asChild","props","ref","Comp","displayName"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,GAAG,QAA2B,2BAA2B;AAClE,SAASC,EAAE,QAAQ,eAAe;AAIlC,MAAMC,iBAAiBF,IACrB,ySACA;IACEG,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,cAAc;YACdC,aAAa;YACbC,SACE;YACFC,WAAW;YACXC,OAAO;YACPC,MAAM;YACNC,MAAM;QACR;QACAC,MAAM;YACJR,SAAS;YACTS,IAAI;YACJC,IAAI;YACJJ,MAAM;QACR;IACF;IACAK,iBAAiB;QACfZ,SAAS;QACTS,MAAM;IACR;AACF;AASF,MAAMI,uBAASnB,MAAMoB,UAAU,CAC7B,CAAC,EAAEC,SAAS,EAAEf,OAAO,EAAES,IAAI,EAAEO,UAAU,KAAK,EAAE,GAAGC,OAAO,EAAEC;IACxD,MAAMC,OAAOH,UAAUrB,OAAO;IAC9B,qBACE,KAACwB;QAAKJ,WAAWlB,GAAGC,eAAe;YAAEE;YAASS;YAAMM;QAAU;QAAKG,KAAKA;QAAM,GAAGD,KAAK;;AAE1F;AAEFJ,OAAOO,WAAW,GAAG;AAErB,SAASP,MAAM,EAAEf,cAAc,GAAG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DayButton, DayPicker } from 'react-day-picker';
|
|
3
|
+
import { Button } from './button';
|
|
4
|
+
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
|
|
5
|
+
buttonVariant?: React.ComponentProps<typeof Button>['variant'];
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): React.JSX.Element;
|
|
8
|
+
export { Calendar, CalendarDayButton };
|
|
9
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/ui/calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AAM9E,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAElD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC1C,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,qBAwHA;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,qBA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
|