@blaze-dev/ui 0.3.0 → 0.5.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 (113) hide show
  1. package/dist/action-button.d.ts +27 -0
  2. package/dist/action-button.d.ts.map +1 -0
  3. package/dist/action-button.js +18 -0
  4. package/dist/action-button.js.map +1 -0
  5. package/dist/breadcrumbs.d.ts +18 -0
  6. package/dist/breadcrumbs.d.ts.map +1 -0
  7. package/dist/breadcrumbs.js +12 -0
  8. package/dist/breadcrumbs.js.map +1 -0
  9. package/dist/context-menu.d.ts +14 -0
  10. package/dist/context-menu.d.ts.map +1 -0
  11. package/dist/context-menu.js +5 -0
  12. package/dist/context-menu.js.map +1 -0
  13. package/dist/copy-button.d.ts +8 -0
  14. package/dist/copy-button.d.ts.map +1 -0
  15. package/dist/copy-button.js +7 -0
  16. package/dist/copy-button.js.map +1 -0
  17. package/dist/danger-zone.d.ts +10 -0
  18. package/dist/danger-zone.d.ts.map +1 -0
  19. package/dist/danger-zone.js +5 -0
  20. package/dist/danger-zone.js.map +1 -0
  21. package/dist/data/index.d.ts +2 -0
  22. package/dist/data/index.d.ts.map +1 -1
  23. package/dist/data/index.js +2 -0
  24. package/dist/data/index.js.map +1 -1
  25. package/dist/data/info-row.d.ts +9 -0
  26. package/dist/data/info-row.d.ts.map +1 -0
  27. package/dist/data/info-row.js +5 -0
  28. package/dist/data/info-row.js.map +1 -0
  29. package/dist/data/stats-grid.d.ts +14 -0
  30. package/dist/data/stats-grid.d.ts.map +1 -0
  31. package/dist/data/stats-grid.js +10 -0
  32. package/dist/data/stats-grid.js.map +1 -0
  33. package/dist/feedback/app-error-boundary.d.ts +21 -0
  34. package/dist/feedback/app-error-boundary.d.ts.map +1 -0
  35. package/dist/feedback/app-error-boundary.js +80 -0
  36. package/dist/feedback/app-error-boundary.js.map +1 -0
  37. package/dist/feedback/async-state.d.ts +18 -0
  38. package/dist/feedback/async-state.d.ts.map +1 -0
  39. package/dist/feedback/async-state.js +24 -0
  40. package/dist/feedback/async-state.js.map +1 -0
  41. package/dist/feedback/confirm-modal.d.ts +14 -0
  42. package/dist/feedback/confirm-modal.d.ts.map +1 -0
  43. package/dist/feedback/confirm-modal.js +19 -0
  44. package/dist/feedback/confirm-modal.js.map +1 -0
  45. package/dist/feedback/index.d.ts +4 -0
  46. package/dist/feedback/index.d.ts.map +1 -1
  47. package/dist/feedback/index.js +4 -0
  48. package/dist/feedback/index.js.map +1 -1
  49. package/dist/feedback/info-alert.d.ts +16 -0
  50. package/dist/feedback/info-alert.d.ts.map +1 -0
  51. package/dist/feedback/info-alert.js +11 -0
  52. package/dist/feedback/info-alert.js.map +1 -0
  53. package/dist/hooks/index.d.ts +10 -0
  54. package/dist/hooks/index.d.ts.map +1 -0
  55. package/dist/hooks/index.js +10 -0
  56. package/dist/hooks/index.js.map +1 -0
  57. package/dist/hooks/use-confirm.d.ts +36 -0
  58. package/dist/hooks/use-confirm.d.ts.map +1 -0
  59. package/dist/hooks/use-confirm.js +49 -0
  60. package/dist/hooks/use-confirm.js.map +1 -0
  61. package/dist/hooks/use-copy-to-clipboard.d.ts +2 -0
  62. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  63. package/dist/hooks/use-copy-to-clipboard.js +16 -0
  64. package/dist/hooks/use-copy-to-clipboard.js.map +1 -0
  65. package/dist/hooks/use-debounced-search.d.ts +10 -0
  66. package/dist/hooks/use-debounced-search.d.ts.map +1 -0
  67. package/dist/hooks/use-debounced-search.js +18 -0
  68. package/dist/hooks/use-debounced-search.js.map +1 -0
  69. package/dist/hooks/use-infinite-scroll.d.ts +12 -0
  70. package/dist/hooks/use-infinite-scroll.d.ts.map +1 -0
  71. package/dist/hooks/use-infinite-scroll.js +22 -0
  72. package/dist/hooks/use-infinite-scroll.js.map +1 -0
  73. package/dist/hooks/use-modal-state.d.ts +20 -0
  74. package/dist/hooks/use-modal-state.d.ts.map +1 -0
  75. package/dist/hooks/use-modal-state.js +22 -0
  76. package/dist/hooks/use-modal-state.js.map +1 -0
  77. package/dist/hooks/use-mutation-toast.d.ts +25 -0
  78. package/dist/hooks/use-mutation-toast.d.ts.map +1 -0
  79. package/dist/hooks/use-mutation-toast.js +48 -0
  80. package/dist/hooks/use-mutation-toast.js.map +1 -0
  81. package/dist/hooks/use-page-title.d.ts +5 -0
  82. package/dist/hooks/use-page-title.d.ts.map +1 -0
  83. package/dist/hooks/use-page-title.js +10 -0
  84. package/dist/hooks/use-page-title.js.map +1 -0
  85. package/dist/hooks/use-persisted-state.d.ts +7 -0
  86. package/dist/hooks/use-persisted-state.d.ts.map +1 -0
  87. package/dist/hooks/use-persisted-state.js +34 -0
  88. package/dist/hooks/use-persisted-state.js.map +1 -0
  89. package/dist/hooks/use-theme.d.ts +8 -0
  90. package/dist/hooks/use-theme.d.ts.map +1 -0
  91. package/dist/hooks/use-theme.js +26 -0
  92. package/dist/hooks/use-theme.js.map +1 -0
  93. package/dist/index.d.ts +22 -0
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +24 -0
  96. package/dist/index.js.map +1 -1
  97. package/dist/status-badge.d.ts +12 -0
  98. package/dist/status-badge.d.ts.map +1 -0
  99. package/dist/status-badge.js +23 -0
  100. package/dist/status-badge.js.map +1 -0
  101. package/dist/tabs.d.ts +15 -0
  102. package/dist/tabs.d.ts.map +1 -0
  103. package/dist/tabs.js +8 -0
  104. package/dist/tabs.js.map +1 -0
  105. package/dist/utils/date-utils.d.ts +31 -0
  106. package/dist/utils/date-utils.d.ts.map +1 -0
  107. package/dist/utils/date-utils.js +78 -0
  108. package/dist/utils/date-utils.js.map +1 -0
  109. package/dist/utils/index.d.ts +2 -0
  110. package/dist/utils/index.d.ts.map +1 -0
  111. package/dist/utils/index.js +2 -0
  112. package/dist/utils/index.js.map +1 -0
  113. package/package.json +23 -2
package/dist/tabs.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface TabItem {
3
+ id: string;
4
+ label: ReactNode;
5
+ content: ReactNode;
6
+ }
7
+ export interface TabsProps {
8
+ tabs: TabItem[];
9
+ defaultTab?: string;
10
+ variant?: 'bordered' | 'lifted' | 'boxed';
11
+ size?: 'xs' | 'sm' | 'md' | 'lg';
12
+ className?: string;
13
+ }
14
+ export declare function Tabs({ tabs, defaultTab, variant, size, className }: TabsProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,2CAuB1F"}
package/dist/tabs.js ADDED
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ export function Tabs({ tabs, defaultTab, variant = 'bordered', size, className }) {
4
+ const [activeTab, setActiveTab] = useState(defaultTab ?? tabs[0]?.id ?? '');
5
+ const sizeClass = size ? `tabs-${size}` : '';
6
+ return (_jsxs("div", { className: className, children: [_jsx("div", { role: 'tablist', className: `tabs tabs-${variant} ${sizeClass}`, children: tabs.map((tab) => (_jsx("button", { type: 'button', role: 'tab', className: `tab ${activeTab === tab.id ? 'tab-active' : ''}`, onClick: () => setActiveTab(tab.id), children: tab.label }, tab.id))) }), tabs.find((t) => t.id === activeTab)?.content] }));
7
+ }
8
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAgBhD,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAa;IACzF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5C,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,cAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,aAAa,OAAO,IAAI,SAAS,EAAE,YAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,EACV,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,YAElC,GAAG,CAAC,KAAK,IANL,GAAG,CAAC,EAAE,CAOJ,CACV,CAAC,GACE,EACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,IAC1C,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ /** "Jan 5, 2025" */
2
+ export declare function formatDateShort(date: string | Date): string;
3
+ /** "January 5, 2025" */
4
+ export declare function formatDateLong(date: string | Date): string;
5
+ /** "Jan 5, 2025, 14:30" */
6
+ export declare function formatDateTime(date: string | Date): string;
7
+ /** "14:30" */
8
+ export declare function formatTime(date: string | Date): string;
9
+ /** "2 hours ago" */
10
+ export declare function formatRelativeTime(date: string | Date): string;
11
+ /** "2 hours" */
12
+ export declare function formatTimeBetween(dateLeft: string | Date, dateRight: string | Date): string;
13
+ /** "2025-01-05" */
14
+ export declare function formatDateForInput(date: string | Date): string;
15
+ /** "2025-01-05T14:30" */
16
+ export declare function formatDateTimeForInput(date: string | Date): string;
17
+ /** "Jan 5, 2025, 14:30:45" */
18
+ export declare function formatFullTimestamp(date: string | Date): string;
19
+ /** "01/05/25 14:30" */
20
+ export declare function formatCompactTimestamp(date: string | Date): string;
21
+ /** "Jan 5" */
22
+ export declare function formatMonthDay(date: string | Date): string;
23
+ /** "Jan 5 - Jan 12, 2025" (collapses year when same) */
24
+ export declare function formatDateRange(start: string | Date, end: string | Date): string;
25
+ /** "Friday, January 3, 2025" */
26
+ export declare function formatWeekdayLong(date: string | Date): string;
27
+ /** "14:30:05" */
28
+ export declare function formatTimeWithSeconds(date: string | Date): string;
29
+ /** 1.5 -> "1h 30m", 0.5 -> "30m", 6 -> "6h" */
30
+ export declare function formatDuration(hours: number): string;
31
+ //# sourceMappingURL=date-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../src/utils/date-utils.ts"],"names":[],"mappings":"AAMA,oBAAoB;AACpB,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3D;AAED,wBAAwB;AACxB,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE1D;AAED,2BAA2B;AAC3B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE1D;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEtD;AAED,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9D;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3F;AAED,mBAAmB;AACnB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9D;AAED,yBAAyB;AACzB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAElE;AAED,8BAA8B;AAC9B,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE/D;AAED,uBAAuB;AACvB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAElE;AAED,cAAc;AACd,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE1D;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMhF;AAED,gCAAgC;AAChC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE7D;AAED,iBAAiB;AACjB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEjE;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpD"}
@@ -0,0 +1,78 @@
1
+ import { format, formatDistance, formatDistanceToNow, parseISO } from 'date-fns';
2
+ function toDate(date) {
3
+ return typeof date === 'string' ? parseISO(date) : date;
4
+ }
5
+ /** "Jan 5, 2025" */
6
+ export function formatDateShort(date) {
7
+ return format(toDate(date), 'MMM d, yyyy');
8
+ }
9
+ /** "January 5, 2025" */
10
+ export function formatDateLong(date) {
11
+ return format(toDate(date), 'MMMM d, yyyy');
12
+ }
13
+ /** "Jan 5, 2025, 14:30" */
14
+ export function formatDateTime(date) {
15
+ return format(toDate(date), 'MMM d, yyyy, HH:mm');
16
+ }
17
+ /** "14:30" */
18
+ export function formatTime(date) {
19
+ return format(toDate(date), 'HH:mm');
20
+ }
21
+ /** "2 hours ago" */
22
+ export function formatRelativeTime(date) {
23
+ return formatDistanceToNow(toDate(date), { addSuffix: true });
24
+ }
25
+ /** "2 hours" */
26
+ export function formatTimeBetween(dateLeft, dateRight) {
27
+ return formatDistance(toDate(dateLeft), toDate(dateRight));
28
+ }
29
+ /** "2025-01-05" */
30
+ export function formatDateForInput(date) {
31
+ return format(toDate(date), 'yyyy-MM-dd');
32
+ }
33
+ /** "2025-01-05T14:30" */
34
+ export function formatDateTimeForInput(date) {
35
+ return format(toDate(date), "yyyy-MM-dd'T'HH:mm");
36
+ }
37
+ /** "Jan 5, 2025, 14:30:45" */
38
+ export function formatFullTimestamp(date) {
39
+ return format(toDate(date), 'MMM d, yyyy, HH:mm:ss');
40
+ }
41
+ /** "01/05/25 14:30" */
42
+ export function formatCompactTimestamp(date) {
43
+ return format(toDate(date), 'MM/dd/yy HH:mm');
44
+ }
45
+ /** "Jan 5" */
46
+ export function formatMonthDay(date) {
47
+ return format(toDate(date), 'MMM d');
48
+ }
49
+ /** "Jan 5 - Jan 12, 2025" (collapses year when same) */
50
+ export function formatDateRange(start, end) {
51
+ const s = toDate(start);
52
+ const e = toDate(end);
53
+ if (s.getTime() === e.getTime())
54
+ return format(e, 'MMM d, yyyy');
55
+ if (s.getFullYear() === e.getFullYear())
56
+ return `${format(s, 'MMM d')} - ${format(e, 'MMM d, yyyy')}`;
57
+ return `${format(s, 'MMM d, yyyy')} - ${format(e, 'MMM d, yyyy')}`;
58
+ }
59
+ /** "Friday, January 3, 2025" */
60
+ export function formatWeekdayLong(date) {
61
+ return format(toDate(date), 'EEEE, MMMM d, yyyy');
62
+ }
63
+ /** "14:30:05" */
64
+ export function formatTimeWithSeconds(date) {
65
+ return format(toDate(date), 'HH:mm:ss');
66
+ }
67
+ /** 1.5 -> "1h 30m", 0.5 -> "30m", 6 -> "6h" */
68
+ export function formatDuration(hours) {
69
+ const totalMinutes = Math.round(hours * 60);
70
+ const h = Math.floor(totalMinutes / 60);
71
+ const m = totalMinutes % 60;
72
+ if (h === 0)
73
+ return `${m}m`;
74
+ if (m === 0)
75
+ return `${h}h`;
76
+ return `${h}h ${m}m`;
77
+ }
78
+ //# sourceMappingURL=date-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../../src/utils/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEhF,SAAS,MAAM,CAAC,IAAmB;IACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACzD,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAA;AAC5C,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;AAC7C,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,QAAuB,EAAE,SAAwB;IACjF,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;AAC3C,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAA;AACtD,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC/C,CAAC;AAED,cAAc;AACd,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,KAAoB,EAAE,GAAkB;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACrB,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAA;IACrG,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAA;AACpE,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AACzC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;IACvC,MAAM,CAAC,GAAG,YAAY,GAAG,EAAE,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAA;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAA;AACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { formatDateShort, formatDateLong, formatDateTime, formatTime, formatRelativeTime, formatTimeBetween, formatDateForInput, formatDateTimeForInput, formatFullTimestamp, formatCompactTimestamp, formatMonthDay, formatDateRange, formatWeekdayLong, formatTimeWithSeconds, formatDuration, } from './date-utils.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,GACf,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { formatDateShort, formatDateLong, formatDateTime, formatTime, formatRelativeTime, formatTimeBetween, formatDateForInput, formatDateTimeForInput, formatFullTimestamp, formatCompactTimestamp, formatMonthDay, formatDateRange, formatWeekdayLong, formatTimeWithSeconds, formatDuration, } from './date-utils.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,GACf,MAAM,iBAAiB,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.3.0",
7
+ "version": "0.5.0",
8
8
  "private": false,
9
9
  "description": "Shared React + DaisyUI component library for Blaze projects",
10
10
  "type": "module",
@@ -24,6 +24,14 @@
24
24
  "./data": {
25
25
  "types": "./dist/data/index.d.ts",
26
26
  "default": "./dist/data/index.js"
27
+ },
28
+ "./hooks": {
29
+ "types": "./dist/hooks/index.d.ts",
30
+ "default": "./dist/hooks/index.js"
31
+ },
32
+ "./utils": {
33
+ "types": "./dist/utils/index.d.ts",
34
+ "default": "./dist/utils/index.js"
27
35
  }
28
36
  },
29
37
  "types": "./dist/index.d.ts",
@@ -34,11 +42,24 @@
34
42
  "react": ">=18.0.0",
35
43
  "react-dom": ">=18.0.0",
36
44
  "@tanstack/react-table": ">=8.0.0",
37
- "react-hook-form": ">=7.0.0"
45
+ "react-hook-form": ">=7.0.0",
46
+ "date-fns": ">=3.0.0"
47
+ },
48
+ "peerDependenciesMeta": {
49
+ "@tanstack/react-table": {
50
+ "optional": true
51
+ },
52
+ "react-hook-form": {
53
+ "optional": true
54
+ },
55
+ "date-fns": {
56
+ "optional": true
57
+ }
38
58
  },
39
59
  "devDependencies": {
40
60
  "@tanstack/react-table": "^8.21.0",
41
61
  "@types/react": "^19.0.0",
62
+ "date-fns": "^4.0.0",
42
63
  "react": "^19.0.0",
43
64
  "react-dom": "^19.0.0",
44
65
  "react-hook-form": "^7.54.0",