@blaze-dev/ui 0.10.0 → 0.11.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/dist/data/advanced-filters-section.d.ts +10 -0
- package/dist/data/advanced-filters-section.d.ts.map +1 -0
- package/dist/data/advanced-filters-section.js +7 -0
- package/dist/data/advanced-filters-section.js.map +1 -0
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +1 -0
- package/dist/data/index.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-date-period-filter.d.ts +17 -0
- package/dist/hooks/use-date-period-filter.d.ts.map +1 -0
- package/dist/hooks/use-date-period-filter.js +171 -0
- package/dist/hooks/use-date-period-filter.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface AdvancedFiltersSectionProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
hasActiveFilters?: boolean;
|
|
5
|
+
defaultExpanded?: boolean;
|
|
6
|
+
columns?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function AdvancedFiltersSection({ children, hasActiveFilters, defaultExpanded, columns, }: AdvancedFiltersSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=advanced-filters-section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-filters-section.d.ts","sourceRoot":"","sources":["../../src/data/advanced-filters-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAEhD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,SAAS,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,gBAAwB,EACxB,eAAuB,EACvB,OAAW,GACZ,EAAE,2BAA2B,2CAuB7B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
export function AdvancedFiltersSection({ children, hasActiveFilters = false, defaultExpanded = false, columns = 4, }) {
|
|
4
|
+
const [expanded, setExpanded] = useState(defaultExpanded);
|
|
5
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { type: 'button', className: `btn btn-sm ${expanded || hasActiveFilters ? 'btn-primary' : 'btn-ghost'}`, onClick: () => setExpanded((v) => !v), children: [expanded ? 'Less' : 'More', hasActiveFilters && !expanded && ' *'] }), expanded && (_jsx("div", { className: 'col-span-full grid grid-cols-1 gap-4 items-end mt-4 pt-4 border-t border-base-300', style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: children }))] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=advanced-filters-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-filters-section.js","sourceRoot":"","sources":["../../src/data/advanced-filters-section.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAShD,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,eAAe,GAAG,KAAK,EACvB,OAAO,GAAG,CAAC,GACiB;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IAEzD,OAAO,CACL,8BACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,cAAc,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,EACrF,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAEpC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC1B,gBAAgB,IAAI,CAAC,QAAQ,IAAI,IAAI,IAC/B,EACR,QAAQ,IAAI,CACX,cACE,SAAS,EAAC,mFAAmF,EAC7F,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,OAAO,QAAQ,EAAE,YAExD,QAAQ,GACL,CACP,IACA,CACJ,CAAA;AACH,CAAC"}
|
package/dist/data/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { StatsGrid } from './stats-grid.js';
|
|
|
5
5
|
export { ResultsCount } from './results-count.js';
|
|
6
6
|
export { FilterSection, FilterLabel, FilterInput, FilterDateInput, FilterSelect } from './filter-section.js';
|
|
7
7
|
export { FilterRangeInput } from './filter-range-input.js';
|
|
8
|
+
export { AdvancedFiltersSection } from './advanced-filters-section.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/data/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA"}
|
package/dist/data/index.js
CHANGED
|
@@ -5,4 +5,5 @@ export { StatsGrid } from './stats-grid.js';
|
|
|
5
5
|
export { ResultsCount } from './results-count.js';
|
|
6
6
|
export { FilterSection, FilterLabel, FilterInput, FilterDateInput, FilterSelect } from './filter-section.js';
|
|
7
7
|
export { FilterRangeInput } from './filter-range-input.js';
|
|
8
|
+
export { AdvancedFiltersSection } from './advanced-filters-section.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/data/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ export { useTheme, DAISY_THEMES, type DaisyTheme } from './use-theme.js';
|
|
|
8
8
|
export { useClickOutside } from './use-click-outside.js';
|
|
9
9
|
export { useConfirm, type ConfirmOptions, type ConfirmModalState } from './use-confirm.js';
|
|
10
10
|
export { useInfiniteScroll } from './use-infinite-scroll.js';
|
|
11
|
+
export { useDatePeriodFilter, type DatePeriodFilter, type DefaultPeriod } from './use-date-period-filter.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export { useTheme, DAISY_THEMES } from './use-theme.js';
|
|
|
8
8
|
export { useClickOutside } from './use-click-outside.js';
|
|
9
9
|
export { useConfirm } from './use-confirm.js';
|
|
10
10
|
export { useInfiniteScroll } from './use-infinite-scroll.js';
|
|
11
|
+
export { useDatePeriodFilter } from './use-date-period-filter.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAA+C,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAA+C,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAA6C,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type DefaultPeriod = 'last-30' | 'all';
|
|
2
|
+
export interface DatePeriodFilter {
|
|
3
|
+
startDate: string | undefined;
|
|
4
|
+
endDate: string | undefined;
|
|
5
|
+
period: string;
|
|
6
|
+
periodOptions: Array<{
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
}>;
|
|
10
|
+
handlePeriodChange: (value: string) => void;
|
|
11
|
+
handleStartDateChange: (value: string) => void;
|
|
12
|
+
handleEndDateChange: (value: string) => void;
|
|
13
|
+
clearDates: () => void;
|
|
14
|
+
hasDateFilter: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function useDatePeriodFilter(defaultPeriod?: DefaultPeriod, storageKey?: string): DatePeriodFilter;
|
|
17
|
+
//# sourceMappingURL=use-date-period-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-date-period-filter.d.ts","sourceRoot":"","sources":["../../src/hooks/use-date-period-filter.ts"],"names":[],"mappings":"AA6CA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,CAAA;AAkE7C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,GAAE,aAAyB,EACxC,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,CA8FlB"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { useMemo, useState } from 'react';
|
|
2
|
+
import { formatDateForInput } from '../utils/date-utils.js';
|
|
3
|
+
function getMonthPresets() {
|
|
4
|
+
const now = new Date();
|
|
5
|
+
const formatter = new Intl.DateTimeFormat('en-US', { month: 'long', year: 'numeric' });
|
|
6
|
+
const presets = [];
|
|
7
|
+
for (let i = 0; i < 14; i++) {
|
|
8
|
+
const firstDay = new Date(now.getFullYear(), now.getMonth() - i, 1);
|
|
9
|
+
const lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);
|
|
10
|
+
presets.push({
|
|
11
|
+
value: i === 0 ? 'this-month' : i === 1 ? 'last-month' : formatDateForInput(firstDay),
|
|
12
|
+
label: formatter.format(firstDay),
|
|
13
|
+
startDate: formatDateForInput(firstDay),
|
|
14
|
+
endDate: formatDateForInput(lastDay),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return presets;
|
|
18
|
+
}
|
|
19
|
+
function detectPeriod(startDate, endDate, presets) {
|
|
20
|
+
if (startDate && !endDate) {
|
|
21
|
+
const thirtyDaysAgo = new Date();
|
|
22
|
+
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
|
|
23
|
+
if (startDate === formatDateForInput(thirtyDaysAgo))
|
|
24
|
+
return 'last-30';
|
|
25
|
+
}
|
|
26
|
+
if (startDate && endDate) {
|
|
27
|
+
const match = presets.find((p) => p.startDate === startDate && p.endDate === endDate);
|
|
28
|
+
if (match)
|
|
29
|
+
return match.value;
|
|
30
|
+
}
|
|
31
|
+
if (!startDate && !endDate)
|
|
32
|
+
return 'all';
|
|
33
|
+
return 'custom';
|
|
34
|
+
}
|
|
35
|
+
function getInitialDates(defaultPeriod) {
|
|
36
|
+
if (defaultPeriod === 'last-30') {
|
|
37
|
+
const thirtyDaysAgo = new Date();
|
|
38
|
+
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
|
|
39
|
+
return { startDate: formatDateForInput(thirtyDaysAgo), endDate: undefined };
|
|
40
|
+
}
|
|
41
|
+
return { startDate: undefined, endDate: undefined };
|
|
42
|
+
}
|
|
43
|
+
function readStoredPeriod(storageKey) {
|
|
44
|
+
try {
|
|
45
|
+
const stored = localStorage.getItem(storageKey);
|
|
46
|
+
if (stored !== null) {
|
|
47
|
+
return JSON.parse(stored);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// ignore
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
function writeStoredPeriod(storageKey, value) {
|
|
56
|
+
try {
|
|
57
|
+
localStorage.setItem(storageKey, JSON.stringify(value));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// ignore
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function computeDatesForPeriod(period, monthPresets, customDates) {
|
|
64
|
+
if (period === 'all') {
|
|
65
|
+
return { startDate: undefined, endDate: undefined };
|
|
66
|
+
}
|
|
67
|
+
if (period === 'last-30') {
|
|
68
|
+
const thirtyDaysAgo = new Date();
|
|
69
|
+
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
|
|
70
|
+
return { startDate: formatDateForInput(thirtyDaysAgo), endDate: undefined };
|
|
71
|
+
}
|
|
72
|
+
if (period === 'custom') {
|
|
73
|
+
return {
|
|
74
|
+
startDate: customDates?.startDate,
|
|
75
|
+
endDate: customDates?.endDate,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const preset = monthPresets.find((p) => p.value === period);
|
|
79
|
+
if (preset) {
|
|
80
|
+
return { startDate: preset.startDate, endDate: preset.endDate };
|
|
81
|
+
}
|
|
82
|
+
return { startDate: undefined, endDate: undefined };
|
|
83
|
+
}
|
|
84
|
+
export function useDatePeriodFilter(defaultPeriod = 'last-30', storageKey) {
|
|
85
|
+
const monthPresets = useMemo(() => getMonthPresets(), []);
|
|
86
|
+
const storedPeriod = storageKey ? readStoredPeriod(storageKey) : null;
|
|
87
|
+
const [dates, setDates] = useState(() => {
|
|
88
|
+
if (storedPeriod) {
|
|
89
|
+
return computeDatesForPeriod(storedPeriod.period, monthPresets, storedPeriod);
|
|
90
|
+
}
|
|
91
|
+
return getInitialDates(defaultPeriod);
|
|
92
|
+
});
|
|
93
|
+
const [period, setPeriod] = useState(() => {
|
|
94
|
+
if (storedPeriod)
|
|
95
|
+
return storedPeriod.period;
|
|
96
|
+
return defaultPeriod === 'all' ? 'all' : 'last-30';
|
|
97
|
+
});
|
|
98
|
+
const persist = (p, d) => {
|
|
99
|
+
if (storageKey) {
|
|
100
|
+
writeStoredPeriod(storageKey, { period: p, startDate: d.startDate, endDate: d.endDate });
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const periodOptions = useMemo(() => [
|
|
104
|
+
{ value: 'all', label: 'All Time' },
|
|
105
|
+
{ value: 'custom', label: 'Custom' },
|
|
106
|
+
{ value: 'last-30', label: 'Last 30 Days' },
|
|
107
|
+
...monthPresets.map((p) => ({ value: p.value, label: p.label })),
|
|
108
|
+
], [monthPresets]);
|
|
109
|
+
const handlePeriodChange = (value) => {
|
|
110
|
+
setPeriod(value);
|
|
111
|
+
if (value === 'all') {
|
|
112
|
+
const newDates = { startDate: undefined, endDate: undefined };
|
|
113
|
+
setDates(newDates);
|
|
114
|
+
persist(value, newDates);
|
|
115
|
+
}
|
|
116
|
+
else if (value === 'last-30') {
|
|
117
|
+
const thirtyDaysAgo = new Date();
|
|
118
|
+
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
|
|
119
|
+
const newDates = { startDate: formatDateForInput(thirtyDaysAgo), endDate: undefined };
|
|
120
|
+
setDates(newDates);
|
|
121
|
+
persist(value, newDates);
|
|
122
|
+
}
|
|
123
|
+
else if (value === 'custom') {
|
|
124
|
+
persist(value, dates);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const preset = monthPresets.find((p) => p.value === value);
|
|
128
|
+
if (preset) {
|
|
129
|
+
const newDates = { startDate: preset.startDate, endDate: preset.endDate };
|
|
130
|
+
setDates(newDates);
|
|
131
|
+
persist(value, newDates);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const handleStartDateChange = (value) => {
|
|
136
|
+
const newDates = { ...dates, startDate: value || undefined };
|
|
137
|
+
setDates(newDates);
|
|
138
|
+
const newPeriod = detectPeriod(newDates.startDate, newDates.endDate, monthPresets);
|
|
139
|
+
setPeriod(newPeriod);
|
|
140
|
+
persist(newPeriod, newDates);
|
|
141
|
+
};
|
|
142
|
+
const handleEndDateChange = (value) => {
|
|
143
|
+
const newDates = { ...dates, endDate: value || undefined };
|
|
144
|
+
setDates(newDates);
|
|
145
|
+
const newPeriod = detectPeriod(newDates.startDate, newDates.endDate, monthPresets);
|
|
146
|
+
setPeriod(newPeriod);
|
|
147
|
+
persist(newPeriod, newDates);
|
|
148
|
+
};
|
|
149
|
+
const clearDates = () => {
|
|
150
|
+
const initial = getInitialDates(defaultPeriod);
|
|
151
|
+
setDates(initial);
|
|
152
|
+
const defaultPeriodValue = defaultPeriod === 'all' ? 'all' : 'last-30';
|
|
153
|
+
setPeriod(defaultPeriodValue);
|
|
154
|
+
persist(defaultPeriodValue, initial);
|
|
155
|
+
};
|
|
156
|
+
const hasDateFilter = defaultPeriod === 'last-30'
|
|
157
|
+
? period !== 'last-30'
|
|
158
|
+
: !!(dates.startDate || dates.endDate);
|
|
159
|
+
return {
|
|
160
|
+
startDate: dates.startDate,
|
|
161
|
+
endDate: dates.endDate,
|
|
162
|
+
period,
|
|
163
|
+
periodOptions,
|
|
164
|
+
handlePeriodChange,
|
|
165
|
+
handleStartDateChange,
|
|
166
|
+
handleEndDateChange,
|
|
167
|
+
clearDates,
|
|
168
|
+
hasDateFilter,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=use-date-period-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-date-period-filter.js","sourceRoot":"","sources":["../../src/hooks/use-date-period-filter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { StatsGrid } from './data/stats-grid.js';
|
|
|
19
19
|
export { ResultsCount } from './data/results-count.js';
|
|
20
20
|
export { FilterSection, FilterLabel, FilterInput, FilterDateInput, FilterSelect } from './data/filter-section.js';
|
|
21
21
|
export { FilterRangeInput } from './data/filter-range-input.js';
|
|
22
|
+
export { AdvancedFiltersSection } from './data/advanced-filters-section.js';
|
|
22
23
|
export { ActionButton } from './action-button.js';
|
|
23
24
|
export { CopyButton } from './copy-button.js';
|
|
24
25
|
export { StatusBadge } from './status-badge.js';
|
|
@@ -32,6 +33,7 @@ export { useTheme, DAISY_THEMES, type DaisyTheme } from './hooks/use-theme.js';
|
|
|
32
33
|
export { useClickOutside } from './hooks/use-click-outside.js';
|
|
33
34
|
export { useConfirm, type ConfirmOptions, type ConfirmModalState } from './hooks/use-confirm.js';
|
|
34
35
|
export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
|
|
36
|
+
export { useDatePeriodFilter, type DatePeriodFilter, type DefaultPeriod } from './hooks/use-date-period-filter.js';
|
|
35
37
|
export { FormField } from './forms/form-field.js';
|
|
36
38
|
export { FormSelect } from './forms/form-select.js';
|
|
37
39
|
export { FormTextarea } from './forms/form-textarea.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export { StatsGrid } from './data/stats-grid.js';
|
|
|
22
22
|
export { ResultsCount } from './data/results-count.js';
|
|
23
23
|
export { FilterSection, FilterLabel, FilterInput, FilterDateInput, FilterSelect } from './data/filter-section.js';
|
|
24
24
|
export { FilterRangeInput } from './data/filter-range-input.js';
|
|
25
|
+
export { AdvancedFiltersSection } from './data/advanced-filters-section.js';
|
|
25
26
|
// Buttons
|
|
26
27
|
export { ActionButton } from './action-button.js';
|
|
27
28
|
export { CopyButton } from './copy-button.js';
|
|
@@ -37,6 +38,7 @@ export { useTheme, DAISY_THEMES } from './hooks/use-theme.js';
|
|
|
37
38
|
export { useClickOutside } from './hooks/use-click-outside.js';
|
|
38
39
|
export { useConfirm } from './hooks/use-confirm.js';
|
|
39
40
|
export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
|
|
41
|
+
export { useDatePeriodFilter } from './hooks/use-date-period-filter.js';
|
|
40
42
|
// Forms
|
|
41
43
|
export { FormField } from './forms/form-field.js';
|
|
42
44
|
export { FormSelect } from './forms/form-select.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAgC,MAAM,WAAW,CAAA;AAE9D,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAA8B,MAAM,8BAA8B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAwB,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,YAAY,EAA0B,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAEnE,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAgC,MAAM,WAAW,CAAA;AAE9D,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAA8B,MAAM,8BAA8B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAwB,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,YAAY,EAA0B,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAEnE,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAE3E,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAA6B,MAAM,+BAA+B,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAA+C,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAA6C,MAAM,mCAAmC,CAAA;AAElH,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA"}
|