@blaze-dev/ui 0.10.0 → 0.12.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/connection-badge.d.ts +7 -0
- package/dist/connection-badge.d.ts.map +1 -0
- package/dist/connection-badge.js +25 -0
- package/dist/connection-badge.js.map +1 -0
- 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 +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-apex-chart.d.ts +6 -0
- package/dist/hooks/use-apex-chart.d.ts.map +1 -0
- package/dist/hooks/use-apex-chart.js +31 -0
- package/dist/hooks/use-apex-chart.js.map +1 -0
- 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/hooks/use-integration-status.d.ts +23 -0
- package/dist/hooks/use-integration-status.d.ts.map +1 -0
- package/dist/hooks/use-integration-status.js +24 -0
- package/dist/hooks/use-integration-status.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-card.d.ts +15 -0
- package/dist/integration-card.d.ts.map +1 -0
- package/dist/integration-card.js +11 -0
- package/dist/integration-card.js.map +1 -0
- package/dist/label-badge.d.ts +8 -0
- package/dist/label-badge.d.ts.map +1 -0
- package/dist/label-badge.js +10 -0
- package/dist/label-badge.js.map +1 -0
- package/dist/utils/currency-utils.d.ts +11 -0
- package/dist/utils/currency-utils.d.ts.map +1 -0
- package/dist/utils/currency-utils.js +31 -0
- package/dist/utils/currency-utils.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ConnectionStatus = 'connected' | 'error' | 'not-connected';
|
|
2
|
+
interface ConnectionBadgeProps {
|
|
3
|
+
status: ConnectionStatus;
|
|
4
|
+
}
|
|
5
|
+
export declare function ConnectionBadge({ status }: ConnectionBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=connection-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-badge.d.ts","sourceRoot":"","sources":["../src/connection-badge.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAA;AAEtE,UAAU,oBAAoB;IAC5B,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAgCD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAyB/D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
const CheckCircleIcon = () => (_jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 20 20', fill: 'currentColor', className: 'w-3.5 h-3.5', children: _jsx("path", { fillRule: 'evenodd', d: 'M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z', clipRule: 'evenodd' }) }));
|
|
3
|
+
const XCircleIcon = () => (_jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 20 20', fill: 'currentColor', className: 'w-3.5 h-3.5', children: _jsx("path", { fillRule: 'evenodd', d: 'M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM8.28 7.22a.75.75 0 0 0-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 1 0 1.06 1.06L10 11.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L11.06 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L10 8.94 8.28 7.22Z', clipRule: 'evenodd' }) }));
|
|
4
|
+
const MinusCircleIcon = () => (_jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 20 20', fill: 'currentColor', className: 'w-3.5 h-3.5', children: _jsx("path", { fillRule: 'evenodd', d: 'M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM6.75 9.25a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z', clipRule: 'evenodd' }) }));
|
|
5
|
+
export function ConnectionBadge({ status }) {
|
|
6
|
+
const config = {
|
|
7
|
+
connected: {
|
|
8
|
+
label: 'Connected',
|
|
9
|
+
classes: 'badge-success',
|
|
10
|
+
icon: _jsx(CheckCircleIcon, {}),
|
|
11
|
+
},
|
|
12
|
+
error: {
|
|
13
|
+
label: 'Error',
|
|
14
|
+
classes: 'badge-error',
|
|
15
|
+
icon: _jsx(XCircleIcon, {}),
|
|
16
|
+
},
|
|
17
|
+
'not-connected': {
|
|
18
|
+
label: 'Not Connected',
|
|
19
|
+
classes: 'badge-ghost',
|
|
20
|
+
icon: _jsx(MinusCircleIcon, {}),
|
|
21
|
+
},
|
|
22
|
+
}[status];
|
|
23
|
+
return (_jsxs("div", { className: `badge ${config.classes} gap-1.5 font-medium px-2.5 py-2.5 flex items-center`, children: [config.icon, _jsx("span", { className: 'leading-none', children: config.label })] }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=connection-badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-badge.js","sourceRoot":"","sources":["../src/connection-badge.tsx"],"names":[],"mappings":";AAMA,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,YACrG,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,gKAAgK,EAClK,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAA;AAED,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACxB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,YACrG,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,yNAAyN,EAC3N,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,YACrG,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,iGAAiG,EACnG,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,MAAM,EAAwB;IAC9D,MAAM,MAAM,GAAG;QACb,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,KAAC,eAAe,KAAG;SAC1B;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,KAAC,WAAW,KAAG;SACtB;QACD,eAAe,EAAE;YACf,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,KAAC,eAAe,KAAG;SAC1B;KACF,CAAC,MAAM,CAAC,CAAA;IAET,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,MAAM,CAAC,OAAO,sDAAsD,aAC1F,MAAM,CAAC,IAAI,EACZ,eAAM,SAAS,EAAC,cAAc,YAAE,MAAM,CAAC,KAAK,GAAQ,IAChD,CACP,CAAA;AACH,CAAC"}
|
|
@@ -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,7 @@ 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';
|
|
12
|
+
export { useApexChart } from './use-apex-chart.js';
|
|
13
|
+
export { useIntegrationStatus, checkConnectedField, checkIsConnectedField, type IntegrationStatus, type UseIntegrationStatusOptions, type IntegrationStatusResult, } from './use-integration-status.js';
|
|
11
14
|
//# 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;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,GAC7B,MAAM,6BAA6B,CAAA"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -8,4 +8,7 @@ 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';
|
|
12
|
+
export { useApexChart } from './use-apex-chart.js';
|
|
13
|
+
export { useIntegrationStatus, checkConnectedField, checkIsConnectedField, } from './use-integration-status.js';
|
|
11
14
|
//# 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;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GAItB,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type ApexCharts from 'apexcharts';
|
|
2
|
+
export declare function useApexChart(options: ApexCharts.ApexOptions | null, dependencies?: unknown[]): {
|
|
3
|
+
chartRef: import("react").RefObject<HTMLDivElement | null>;
|
|
4
|
+
chartInstance: import("react").RefObject<ApexCharts | null>;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=use-apex-chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-apex-chart.d.ts","sourceRoot":"","sources":["../../src/hooks/use-apex-chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAA;AAGxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,GAAG,IAAI,EAAE,YAAY,GAAE,OAAO,EAAO;;;EAmChG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
export function useApexChart(options, dependencies = []) {
|
|
3
|
+
const chartRef = useRef(null);
|
|
4
|
+
const chartInstance = useRef(null);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!chartRef.current || !options) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const initChart = async () => {
|
|
10
|
+
const ApexChartsModule = await import('apexcharts');
|
|
11
|
+
const ApexChartsClass = ApexChartsModule.default;
|
|
12
|
+
if (!chartRef.current)
|
|
13
|
+
return;
|
|
14
|
+
if (chartInstance.current) {
|
|
15
|
+
chartInstance.current.destroy();
|
|
16
|
+
}
|
|
17
|
+
chartInstance.current = new ApexChartsClass(chartRef.current, options);
|
|
18
|
+
chartInstance.current.render();
|
|
19
|
+
};
|
|
20
|
+
initChart();
|
|
21
|
+
return () => {
|
|
22
|
+
if (chartInstance.current) {
|
|
23
|
+
chartInstance.current.destroy();
|
|
24
|
+
chartInstance.current = null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
+
}, [options, ...dependencies]);
|
|
29
|
+
return { chartRef, chartInstance };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=use-apex-chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-apex-chart.js","sourceRoot":"","sources":["../../src/hooks/use-apex-chart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,UAAU,YAAY,CAAC,OAAsC,EAAE,eAA0B,EAAE;IAC/F,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC7C,MAAM,aAAa,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;YACnD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAA;YAEhD,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAM;YAE7B,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YACjC,CAAC;YAED,aAAa,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAChC,CAAC,CAAA;QAED,SAAS,EAAE,CAAA;QAEX,OAAO,GAAG,EAAE;YACV,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;gBAC/B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAA;YAC9B,CAAC;QACH,CAAC,CAAA;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAA;IAE9B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AACpC,CAAC"}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type IntegrationStatus = 'connected' | 'error' | 'not-connected';
|
|
2
|
+
export interface UseIntegrationStatusOptions<TData> {
|
|
3
|
+
data: TData | undefined;
|
|
4
|
+
error: {
|
|
5
|
+
message: string;
|
|
6
|
+
} | null;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
isConnected: (data: TData) => boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface IntegrationStatusResult {
|
|
11
|
+
status: IntegrationStatus;
|
|
12
|
+
isConnected: boolean;
|
|
13
|
+
errorMessage: string | null;
|
|
14
|
+
isLoading: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function useIntegrationStatus<TData>(options: UseIntegrationStatusOptions<TData>): IntegrationStatusResult;
|
|
17
|
+
export declare const checkConnectedField: (data: {
|
|
18
|
+
connected?: boolean;
|
|
19
|
+
}) => boolean;
|
|
20
|
+
export declare const checkIsConnectedField: (data: {
|
|
21
|
+
isConnected?: boolean;
|
|
22
|
+
}) => boolean;
|
|
23
|
+
//# sourceMappingURL=use-integration-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-integration-status.d.ts","sourceRoot":"","sources":["../../src/hooks/use-integration-status.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAA;AAEvE,MAAM,WAAW,2BAA2B,CAAC,KAAK;IAChD,IAAI,EAAE,KAAK,GAAG,SAAS,CAAA;IACvB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACjC,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,iBAAiB,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAqBzB;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,OAC3C,CAAA;AAEzB,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,OAC7C,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function useIntegrationStatus(options) {
|
|
2
|
+
const { data, error, isLoading, isConnected: checkConnected } = options;
|
|
3
|
+
const isConnected = data ? checkConnected(data) : false;
|
|
4
|
+
const errorMessage = error ? error.message : null;
|
|
5
|
+
let status;
|
|
6
|
+
if (error) {
|
|
7
|
+
status = 'error';
|
|
8
|
+
}
|
|
9
|
+
else if (isConnected) {
|
|
10
|
+
status = 'connected';
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
status = 'not-connected';
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
status,
|
|
17
|
+
isConnected,
|
|
18
|
+
errorMessage,
|
|
19
|
+
isLoading,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export const checkConnectedField = (data) => data.connected ?? false;
|
|
23
|
+
export const checkIsConnectedField = (data) => data.isConnected ?? false;
|
|
24
|
+
//# sourceMappingURL=use-integration-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-integration-status.js","sourceRoot":"","sources":["../../src/hooks/use-integration-status.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,oBAAoB,CAClC,OAA2C;IAE3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAEjD,IAAI,MAAyB,CAAA;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,MAAM,GAAG,WAAW,CAAA;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,eAAe,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW;QACX,YAAY;QACZ,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAA6B,EAAW,EAAE,CAC5E,IAAI,CAAC,SAAS,IAAI,KAAK,CAAA;AAEzB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAA+B,EAAW,EAAE,CAChF,IAAI,CAAC,WAAW,IAAI,KAAK,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,9 +19,13 @@ 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';
|
|
26
|
+
export { LabelBadge } from './label-badge.js';
|
|
27
|
+
export { ConnectionBadge, type ConnectionStatus } from './connection-badge.js';
|
|
28
|
+
export { IntegrationCard } from './integration-card.js';
|
|
25
29
|
export { useCopyToClipboard } from './hooks/use-copy-to-clipboard.js';
|
|
26
30
|
export { useMutationToast, type MutationToastOptions } from './hooks/use-mutation-toast.js';
|
|
27
31
|
export { useModalState, useItemModal } from './hooks/use-modal-state.js';
|
|
@@ -32,6 +36,10 @@ export { useTheme, DAISY_THEMES, type DaisyTheme } from './hooks/use-theme.js';
|
|
|
32
36
|
export { useClickOutside } from './hooks/use-click-outside.js';
|
|
33
37
|
export { useConfirm, type ConfirmOptions, type ConfirmModalState } from './hooks/use-confirm.js';
|
|
34
38
|
export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
|
|
39
|
+
export { useDatePeriodFilter, type DatePeriodFilter, type DefaultPeriod } from './hooks/use-date-period-filter.js';
|
|
40
|
+
export { useApexChart } from './hooks/use-apex-chart.js';
|
|
41
|
+
export { useIntegrationStatus, checkConnectedField, checkIsConnectedField, type IntegrationStatus, type UseIntegrationStatusOptions, type IntegrationStatusResult, } from './hooks/use-integration-status.js';
|
|
42
|
+
export { formatUsd, formatCurrencyValue } from './utils/currency-utils.js';
|
|
35
43
|
export { FormField } from './forms/form-field.js';
|
|
36
44
|
export { FormSelect } from './forms/form-select.js';
|
|
37
45
|
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,10 +22,15 @@ 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';
|
|
28
29
|
export { StatusBadge } from './status-badge.js';
|
|
30
|
+
// Labels & Status
|
|
31
|
+
export { LabelBadge } from './label-badge.js';
|
|
32
|
+
export { ConnectionBadge } from './connection-badge.js';
|
|
33
|
+
export { IntegrationCard } from './integration-card.js';
|
|
29
34
|
// Hooks
|
|
30
35
|
export { useCopyToClipboard } from './hooks/use-copy-to-clipboard.js';
|
|
31
36
|
export { useMutationToast } from './hooks/use-mutation-toast.js';
|
|
@@ -37,6 +42,11 @@ export { useTheme, DAISY_THEMES } from './hooks/use-theme.js';
|
|
|
37
42
|
export { useClickOutside } from './hooks/use-click-outside.js';
|
|
38
43
|
export { useConfirm } from './hooks/use-confirm.js';
|
|
39
44
|
export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
|
|
45
|
+
export { useDatePeriodFilter } from './hooks/use-date-period-filter.js';
|
|
46
|
+
export { useApexChart } from './hooks/use-apex-chart.js';
|
|
47
|
+
export { useIntegrationStatus, checkConnectedField, checkIsConnectedField, } from './hooks/use-integration-status.js';
|
|
48
|
+
// Utils (re-exported for convenience)
|
|
49
|
+
export { formatUsd, formatCurrencyValue } from './utils/currency-utils.js';
|
|
40
50
|
// Forms
|
|
41
51
|
export { FormField } from './forms/form-field.js';
|
|
42
52
|
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":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type ConnectionStatus } from './connection-badge.js';
|
|
3
|
+
interface IntegrationCardProps {
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
icon: ReactNode;
|
|
7
|
+
status: ConnectionStatus;
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
error?: string | null;
|
|
10
|
+
onRetry?: () => void;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare function IntegrationCard({ title, description, icon, status, isLoading, error, onRetry, children, }: IntegrationCardProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=integration-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-card.d.ts","sourceRoot":"","sources":["../src/integration-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE9E,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,oBAAoB,2CAuCtB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ErrorBox } from './feedback/error-box.js';
|
|
3
|
+
import { LoadingSpinner } from './feedback/loading-spinner.js';
|
|
4
|
+
import { ConnectionBadge } from './connection-badge.js';
|
|
5
|
+
export function IntegrationCard({ title, description, icon, status, isLoading, error, onRetry, children, }) {
|
|
6
|
+
if (isLoading) {
|
|
7
|
+
return (_jsx("div", { className: 'card bg-base-200 border border-base-300', children: _jsx("div", { className: 'card-body', children: _jsx(LoadingSpinner, { size: 'sm', text: `Loading ${title} connection...` }) }) }));
|
|
8
|
+
}
|
|
9
|
+
return (_jsx("div", { className: 'card bg-base-200 border border-base-300', children: _jsxs("div", { className: 'card-body', children: [_jsxs("div", { className: 'flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 mb-4', children: [_jsxs("div", { className: 'flex items-start gap-3 flex-1 min-w-0', children: [_jsx("div", { className: 'w-10 h-10 bg-base-100 rounded-lg flex items-center justify-center shrink-0', children: icon }), _jsxs("div", { className: 'flex-1 min-w-0', children: [_jsx("h3", { className: 'text-base font-semibold text-left', children: title }), _jsx("p", { className: 'mt-1 text-sm opacity-60 text-left', children: description })] })] }), _jsx("div", { className: 'shrink-0', children: _jsx(ConnectionBadge, { status: status }) })] }), error && (_jsx("div", { className: 'mb-4', children: _jsx(ErrorBox, { error: error, onRetry: onRetry }) })), children] }) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=integration-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-card.js","sourceRoot":"","sources":["../src/integration-card.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAA;AAa9E,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACa;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACtD,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAI,GAChE,GACF,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACtD,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,yEAAyE,aACtF,eAAK,SAAS,EAAC,uCAAuC,aACpD,cAAK,SAAS,EAAC,4EAA4E,YACxF,IAAI,GACD,EACN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,mCAAmC,YAAE,KAAK,GAAM,EAC9D,YAAG,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAK,IAC9D,IACF,EACN,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,GAC/B,IACF,EAEL,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,GACxC,CACP,EAEA,QAAQ,IACL,GACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface LabelBadgeProps {
|
|
2
|
+
name: string;
|
|
3
|
+
color: string;
|
|
4
|
+
onRemove?: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function LabelBadge({ name, color, onRemove }: LabelBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=label-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-badge.d.ts","sourceRoot":"","sources":["../src/label-badge.tsx"],"names":[],"mappings":"AAEA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAuBpE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isLightHexColor } from './utils/color-utils.js';
|
|
3
|
+
export function LabelBadge({ name, color, onRemove }) {
|
|
4
|
+
const textColor = isLightHexColor(color) ? '#000000' : '#ffffff';
|
|
5
|
+
return (_jsxs("span", { className: 'badge badge-sm gap-1', style: { backgroundColor: color, color: textColor, borderColor: color }, children: [name, onRemove && (_jsx("button", { type: 'button', onClick: (e) => {
|
|
6
|
+
e.stopPropagation();
|
|
7
|
+
onRemove();
|
|
8
|
+
}, className: 'hover:opacity-70', children: "\u00D7" }))] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=label-badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-badge.js","sourceRoot":"","sources":["../src/label-badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAQxD,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAmB;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhE,OAAO,CACL,gBACE,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,aAEtE,IAAI,EACJ,QAAQ,IAAI,CACX,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,QAAQ,EAAE,CAAA;gBACZ,CAAC,EACD,SAAS,EAAC,kBAAkB,uBAGrB,CACV,IACI,CACR,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a value as USD currency.
|
|
3
|
+
* Example: formatUsd(1234.56) → "$1,234.56"
|
|
4
|
+
*/
|
|
5
|
+
export declare function formatUsd(value: string | number | null): string;
|
|
6
|
+
/**
|
|
7
|
+
* Format a value in any currency.
|
|
8
|
+
* Example: formatCurrencyValue("1234.56", "EUR") → "€1,234.56"
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatCurrencyValue(value: string | number | null, currency: string): string;
|
|
11
|
+
//# sourceMappingURL=currency-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-utils.d.ts","sourceRoot":"","sources":["../../src/utils/currency-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAQ/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ3F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a value as USD currency.
|
|
3
|
+
* Example: formatUsd(1234.56) → "$1,234.56"
|
|
4
|
+
*/
|
|
5
|
+
export function formatUsd(value) {
|
|
6
|
+
if (value === null || value === undefined)
|
|
7
|
+
return '-';
|
|
8
|
+
const num = typeof value === 'string' ? Number.parseFloat(value) : value;
|
|
9
|
+
if (Number.isNaN(num))
|
|
10
|
+
return '-';
|
|
11
|
+
return new Intl.NumberFormat('en-US', {
|
|
12
|
+
style: 'currency',
|
|
13
|
+
currency: 'USD',
|
|
14
|
+
}).format(num);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Format a value in any currency.
|
|
18
|
+
* Example: formatCurrencyValue("1234.56", "EUR") → "€1,234.56"
|
|
19
|
+
*/
|
|
20
|
+
export function formatCurrencyValue(value, currency) {
|
|
21
|
+
if (value === null || value === undefined)
|
|
22
|
+
return '-';
|
|
23
|
+
const num = typeof value === 'string' ? Number.parseFloat(value) : value;
|
|
24
|
+
if (Number.isNaN(num))
|
|
25
|
+
return '-';
|
|
26
|
+
return new Intl.NumberFormat('en-US', {
|
|
27
|
+
style: 'currency',
|
|
28
|
+
currency: currency || 'USD',
|
|
29
|
+
}).format(num);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=currency-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-utils.js","sourceRoot":"","sources":["../../src/utils/currency-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACrD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACjC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA6B,EAAE,QAAgB;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACrD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACjC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,QAAQ,IAAI,KAAK;KAC5B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAChB,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { formatDateShort, formatDateLong, formatDateTime, formatTime, formatRela
|
|
|
2
2
|
export { fuzzySearch, getHighlightSegments, type SearchableItem, type SearchResult, type HighlightSegment, } from './fuzzy-search.js';
|
|
3
3
|
export { readImageAsDataUrl } from './image-upload.js';
|
|
4
4
|
export { isLightHexColor } from './color-utils.js';
|
|
5
|
+
export { formatUsd, formatCurrencyValue } from './currency-utils.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/utils/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export { formatDateShort, formatDateLong, formatDateTime, formatTime, formatRela
|
|
|
2
2
|
export { fuzzySearch, getHighlightSegments, } from './fuzzy-search.js';
|
|
3
3
|
export { readImageAsDataUrl } from './image-upload.js';
|
|
4
4
|
export { isLightHexColor } from './color-utils.js';
|
|
5
|
+
export { formatUsd, formatCurrencyValue } from './currency-utils.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,WAAW,EACX,oBAAoB,GAIrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,WAAW,EACX,oBAAoB,GAIrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,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.
|
|
7
|
+
"version": "0.12.0",
|
|
8
8
|
"private": false,
|
|
9
9
|
"description": "Shared React + DaisyUI component library for Blaze projects",
|
|
10
10
|
"type": "module",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"react-dom": ">=18.0.0",
|
|
44
44
|
"@tanstack/react-table": ">=8.0.0",
|
|
45
45
|
"react-hook-form": ">=7.0.0",
|
|
46
|
-
"date-fns": ">=3.0.0"
|
|
46
|
+
"date-fns": ">=3.0.0",
|
|
47
|
+
"apexcharts": ">=3.0.0"
|
|
47
48
|
},
|
|
48
49
|
"peerDependenciesMeta": {
|
|
49
50
|
"@tanstack/react-table": {
|
|
@@ -54,9 +55,13 @@
|
|
|
54
55
|
},
|
|
55
56
|
"date-fns": {
|
|
56
57
|
"optional": true
|
|
58
|
+
},
|
|
59
|
+
"apexcharts": {
|
|
60
|
+
"optional": true
|
|
57
61
|
}
|
|
58
62
|
},
|
|
59
63
|
"devDependencies": {
|
|
64
|
+
"apexcharts": "^4.0.0",
|
|
60
65
|
"@tanstack/react-table": "^8.21.0",
|
|
61
66
|
"@types/react": "^19.0.0",
|
|
62
67
|
"date-fns": "^4.0.0",
|