@blaze-dev/ui 0.11.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.
Files changed (37) hide show
  1. package/dist/connection-badge.d.ts +7 -0
  2. package/dist/connection-badge.d.ts.map +1 -0
  3. package/dist/connection-badge.js +25 -0
  4. package/dist/connection-badge.js.map +1 -0
  5. package/dist/hooks/index.d.ts +2 -0
  6. package/dist/hooks/index.d.ts.map +1 -1
  7. package/dist/hooks/index.js +2 -0
  8. package/dist/hooks/index.js.map +1 -1
  9. package/dist/hooks/use-apex-chart.d.ts +6 -0
  10. package/dist/hooks/use-apex-chart.d.ts.map +1 -0
  11. package/dist/hooks/use-apex-chart.js +31 -0
  12. package/dist/hooks/use-apex-chart.js.map +1 -0
  13. package/dist/hooks/use-integration-status.d.ts +23 -0
  14. package/dist/hooks/use-integration-status.d.ts.map +1 -0
  15. package/dist/hooks/use-integration-status.js +24 -0
  16. package/dist/hooks/use-integration-status.js.map +1 -0
  17. package/dist/index.d.ts +6 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +8 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/integration-card.d.ts +15 -0
  22. package/dist/integration-card.d.ts.map +1 -0
  23. package/dist/integration-card.js +11 -0
  24. package/dist/integration-card.js.map +1 -0
  25. package/dist/label-badge.d.ts +8 -0
  26. package/dist/label-badge.d.ts.map +1 -0
  27. package/dist/label-badge.js +10 -0
  28. package/dist/label-badge.js.map +1 -0
  29. package/dist/utils/currency-utils.d.ts +11 -0
  30. package/dist/utils/currency-utils.d.ts.map +1 -0
  31. package/dist/utils/currency-utils.js +31 -0
  32. package/dist/utils/currency-utils.js.map +1 -0
  33. package/dist/utils/index.d.ts +1 -0
  34. package/dist/utils/index.d.ts.map +1 -1
  35. package/dist/utils/index.js +1 -0
  36. package/dist/utils/index.js.map +1 -1
  37. 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"}
@@ -9,4 +9,6 @@ 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
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';
12
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;AAC5D,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,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"}
@@ -9,4 +9,6 @@ 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
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';
12
14
  //# 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;AAC5D,OAAO,EAAE,mBAAmB,EAA6C,MAAM,6BAA6B,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,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
@@ -23,6 +23,9 @@ export { AdvancedFiltersSection } from './data/advanced-filters-section.js';
23
23
  export { ActionButton } from './action-button.js';
24
24
  export { CopyButton } from './copy-button.js';
25
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';
26
29
  export { useCopyToClipboard } from './hooks/use-copy-to-clipboard.js';
27
30
  export { useMutationToast, type MutationToastOptions } from './hooks/use-mutation-toast.js';
28
31
  export { useModalState, useItemModal } from './hooks/use-modal-state.js';
@@ -34,6 +37,9 @@ export { useClickOutside } from './hooks/use-click-outside.js';
34
37
  export { useConfirm, type ConfirmOptions, type ConfirmModalState } from './hooks/use-confirm.js';
35
38
  export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
36
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';
37
43
  export { FormField } from './forms/form-field.js';
38
44
  export { FormSelect } from './forms/form-select.js';
39
45
  export { FormTextarea } from './forms/form-textarea.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -27,6 +27,10 @@ export { AdvancedFiltersSection } from './data/advanced-filters-section.js';
27
27
  export { ActionButton } from './action-button.js';
28
28
  export { CopyButton } from './copy-button.js';
29
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';
30
34
  // Hooks
31
35
  export { useCopyToClipboard } from './hooks/use-copy-to-clipboard.js';
32
36
  export { useMutationToast } from './hooks/use-mutation-toast.js';
@@ -39,6 +43,10 @@ export { useClickOutside } from './hooks/use-click-outside.js';
39
43
  export { useConfirm } from './hooks/use-confirm.js';
40
44
  export { useInfiniteScroll } from './hooks/use-infinite-scroll.js';
41
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';
42
50
  // Forms
43
51
  export { FormField } from './forms/form-field.js';
44
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;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"}
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"}
@@ -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"}
@@ -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
@@ -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.11.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",