@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.
@@ -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"}
@@ -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
@@ -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"}
@@ -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
@@ -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"}
@@ -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"}
@@ -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
@@ -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';
@@ -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;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,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,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,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"}
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;AAE/D,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;AAElE,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"}
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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/blaze-it/ui"
6
6
  },
7
- "version": "0.10.0",
7
+ "version": "0.11.0",
8
8
  "private": false,
9
9
  "description": "Shared React + DaisyUI component library for Blaze projects",
10
10
  "type": "module",