impact-nova 0.1.13 → 1.1.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 (120) hide show
  1. package/dist/components/layout/dashboard-layout.d.ts +21 -6
  2. package/dist/components/ui/accordion-nested-list/accordion-nested-list.js +32 -33
  3. package/dist/components/ui/accordion.js +25 -23
  4. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +32 -21
  5. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.d.ts +3 -5
  6. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +57 -55
  7. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.d.ts +5 -0
  8. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +50 -52
  9. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.d.ts +1 -1
  10. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +34 -34
  11. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +8 -11
  12. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +17 -17
  13. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +3 -3
  14. package/dist/components/ui/alert-dialog.js +45 -40
  15. package/dist/components/ui/alert.d.ts +21 -4
  16. package/dist/components/ui/alert.js +45 -25
  17. package/dist/components/ui/avatar.js +19 -16
  18. package/dist/components/ui/badge.js +8 -1
  19. package/dist/components/ui/breadcrumb.js +1 -0
  20. package/dist/components/ui/button-group.d.ts +1 -1
  21. package/dist/components/ui/button-group.js +27 -32
  22. package/dist/components/ui/button-variants.d.ts +1 -1
  23. package/dist/components/ui/button.d.ts +11 -0
  24. package/dist/components/ui/button.js +11 -9
  25. package/dist/components/ui/calendar.d.ts +14 -2
  26. package/dist/components/ui/calendar.js +443 -376
  27. package/dist/components/ui/card.js +7 -6
  28. package/dist/components/ui/checkbox.js +64 -48
  29. package/dist/components/ui/chips.d.ts +1 -0
  30. package/dist/components/ui/chips.js +27 -19
  31. package/dist/components/ui/data-table/data-table-column-list.d.ts +4 -1
  32. package/dist/components/ui/data-table/data-table-column-list.js +58 -54
  33. package/dist/components/ui/data-table/data-table-sheet.d.ts +1 -1
  34. package/dist/components/ui/data-table/data-table-sheet.js +43 -40
  35. package/dist/components/ui/data-table/data-table-view-options.js +17 -17
  36. package/dist/components/ui/data-table/data-table.js +21 -20
  37. package/dist/components/ui/date-picker/date-picker.js +93 -93
  38. package/dist/components/ui/date-picker/date-range-picker.js +142 -133
  39. package/dist/components/ui/date-picker/month-picker.js +96 -93
  40. package/dist/components/ui/date-picker/month-range-picker.js +144 -134
  41. package/dist/components/ui/date-picker/multi-date-picker.js +43 -45
  42. package/dist/components/ui/date-picker/multi-month-picker.js +37 -39
  43. package/dist/components/ui/date-picker/multi-week-picker.js +56 -46
  44. package/dist/components/ui/date-picker/week-picker.js +119 -109
  45. package/dist/components/ui/date-picker/week-range-picker.js +170 -147
  46. package/dist/components/ui/dialog.js +15 -6
  47. package/dist/components/ui/drawer.js +16 -13
  48. package/dist/components/ui/dropdown-menu.js +4 -2
  49. package/dist/components/ui/dynamic-layout.d.ts +2 -2
  50. package/dist/components/ui/dynamic-layout.js +18 -15
  51. package/dist/components/ui/empty-container.js +69 -64
  52. package/dist/components/ui/file-upload.js +113 -106
  53. package/dist/components/ui/filter-panel/filter-panel.js +49 -46
  54. package/dist/components/ui/filter-strip/filter-strip.js +41 -37
  55. package/dist/components/ui/header.js +26 -25
  56. package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +43 -40
  57. package/dist/components/ui/hover-card.js +6 -5
  58. package/dist/components/ui/input.d.ts +1 -1
  59. package/dist/components/ui/input.js +79 -68
  60. package/dist/components/ui/loader.d.ts +1 -0
  61. package/dist/components/ui/loader.js +23 -13
  62. package/dist/components/ui/nested-list/components/NestedListContent.d.ts +1 -3
  63. package/dist/components/ui/nested-list/components/NestedListContent.js +16 -15
  64. package/dist/components/ui/nested-list/components/SortableItem.js +116 -80
  65. package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.d.ts +13 -1
  66. package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.js +162 -112
  67. package/dist/components/ui/nested-list/nested-list.js +182 -189
  68. package/dist/components/ui/notification-panel/notification-item.js +19 -17
  69. package/dist/components/ui/notification-panel/notification-list.js +21 -21
  70. package/dist/components/ui/notification-panel/notification-panel.js +25 -25
  71. package/dist/components/ui/popover.js +37 -34
  72. package/dist/components/ui/progress.js +12 -10
  73. package/dist/components/ui/prompt.js +29 -27
  74. package/dist/components/ui/radio-group.js +55 -46
  75. package/dist/components/ui/select/components/Submenu.d.ts +1 -2
  76. package/dist/components/ui/select/components/Submenu.js +52 -48
  77. package/dist/components/ui/select/select.js +321 -324
  78. package/dist/components/ui/sheet.js +18 -15
  79. package/dist/components/ui/sidebar.d.ts +2 -2
  80. package/dist/components/ui/sidebar.js +3 -3
  81. package/dist/components/ui/skeleton.d.ts +2 -1
  82. package/dist/components/ui/skeleton.js +12 -11
  83. package/dist/components/ui/slider.js +39 -12
  84. package/dist/components/ui/smart-input.js +44 -39
  85. package/dist/components/ui/stepper.js +33 -29
  86. package/dist/components/ui/switch.js +6 -4
  87. package/dist/components/ui/tabs.js +50 -45
  88. package/dist/components/ui/tag-group.d.ts +2 -1
  89. package/dist/components/ui/tag-group.js +29 -25
  90. package/dist/components/ui/tag.d.ts +1 -0
  91. package/dist/components/ui/tag.js +26 -20
  92. package/dist/components/ui/textarea.js +18 -17
  93. package/dist/components/ui/toast.d.ts +1 -1
  94. package/dist/components/ui/toast.js +47 -41
  95. package/dist/components/ui/toaster.js +42 -42
  96. package/dist/components/ui/tooltip.js +18 -16
  97. package/dist/components/ui/types/date-picker.types.d.ts +33 -0
  98. package/dist/components/ui/types/empty-container.types.d.ts +5 -0
  99. package/dist/components/ui/types/nested-list.types.d.ts +1 -0
  100. package/dist/components/ui/types/select.types.d.ts +0 -1
  101. package/dist/icons/assets/bookmark.svg.js +4 -0
  102. package/dist/icons/assets/bookmark.svg2.js +5 -0
  103. package/dist/icons/assets/bookmarkFilled.svg.js +4 -0
  104. package/dist/icons/assets/bookmarkFilled.svg2.js +5 -0
  105. package/dist/icons/assets/download.svg.js +4 -0
  106. package/dist/icons/assets/download.svg2.js +5 -0
  107. package/dist/icons/index.d.ts +20 -6
  108. package/dist/icons/index.js +398 -370
  109. package/dist/impact-nova.css +1 -1
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.js +318 -314
  112. package/dist/lib/fiscal-calendar.d.ts +62 -0
  113. package/dist/lib/fiscal-calendar.js +99 -0
  114. package/dist/lib/utils.d.ts +2 -1
  115. package/dist/lib/utils.js +29 -13
  116. package/package.json +5 -5
  117. package/dist/components/ui/select/hooks/useClickOutside.d.ts +0 -15
  118. package/dist/components/ui/select/hooks/useClickOutside.js +0 -43
  119. package/dist/components/ui/select/hooks/useMenuPosition.d.ts +0 -2
  120. package/dist/components/ui/select/hooks/useMenuPosition.js +0 -89
@@ -1,47 +1,47 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import f from "react";
3
- import { Sheet as m, SheetContent as p, SheetDescription as u, SheetTitle as b, SheetClose as g } from "../sheet.js";
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import m from "react";
3
+ import { Sheet as x, SheetContent as p, SheetDescription as u, SheetTitle as b, SheetClose as g } from "../sheet.js";
4
4
  import { cn as i } from "../../../lib/utils.js";
5
- import { MultiColorFilter as w, Cross as v, Info as d } from "../../../icons/index.js";
5
+ import { MultiColorFilter as v, Cross as w, Info as d } from "../../../icons/index.js";
6
6
  import { Button as N } from "../button.js";
7
- const y = ({ title: l, children: a, className: s }) => /* @__PURE__ */ t("div", { className: i("flex shrink-0 flex-row items-center justify-between border-b px-4 py-3 bg-white", s), children: [
8
- /* @__PURE__ */ t("div", { className: "flex items-center gap-3", children: [
9
- /* @__PURE__ */ e("div", { className: "flex h-6 w-6 items-center justify-center", children: /* @__PURE__ */ e(w, { className: "h-5 w-5" }) }),
7
+ const y = ({ title: l, children: a, className: n }) => /* @__PURE__ */ r("div", { "data-component": "filter-panel-header", className: i("flex shrink-0 flex-row items-center justify-between border-b px-4 py-3 bg-white", n), children: [
8
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-3", children: [
9
+ /* @__PURE__ */ e("div", { className: "flex h-6 w-6 items-center justify-center", children: /* @__PURE__ */ e(v, { className: "h-5 w-5" }) }),
10
10
  /* @__PURE__ */ e(b, { className: "text-lg font-bold text-[#1f2b4d]", children: l })
11
11
  ] }),
12
- /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
12
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
13
13
  a,
14
- /* @__PURE__ */ e(g, { asChild: !0, children: /* @__PURE__ */ e(N, { variant: "secondary", size: "icon", "aria-label": "Close", children: /* @__PURE__ */ e(v, { className: "h-3 w-3" }) }) })
14
+ /* @__PURE__ */ e(g, { asChild: !0, children: /* @__PURE__ */ e(N, { variant: "secondary", size: "icon", "aria-label": "Close", "data-component": "filter-panel-close", children: /* @__PURE__ */ e(w, { className: "h-3 w-3" }) }) })
15
15
  ] })
16
16
  ] }), D = ({
17
17
  open: l,
18
18
  onOpenChange: a,
19
- title: s = "Filter panel",
19
+ title: n = "Filter panel",
20
20
  children: c,
21
- header: r,
22
- sidebar: n,
23
- className: x,
24
- preventClose: h = !1
25
- }) => /* @__PURE__ */ e(m, { open: l, onOpenChange: a, children: /* @__PURE__ */ t(
21
+ header: t,
22
+ sidebar: s,
23
+ className: h,
24
+ preventClose: f = !1
25
+ }) => /* @__PURE__ */ e(x, { open: l, onOpenChange: a, children: /* @__PURE__ */ r(
26
26
  p,
27
27
  {
28
28
  side: "right",
29
29
  className: i(
30
30
  "w-full !max-w-[840px] p-0 sm:!max-w-[840px] gap-0 border-l shadow-xl transition-all duration-300 ease-in-out bg-white",
31
- x
31
+ h
32
32
  ),
33
33
  onInteractOutside: (o) => {
34
- h && o.preventDefault();
34
+ f && o.preventDefault();
35
35
  },
36
36
  onEscapeKeyDown: (o) => {
37
- h && o.preventDefault();
37
+ f && o.preventDefault();
38
38
  },
39
39
  children: [
40
40
  /* @__PURE__ */ e(u, { className: "sr-only", children: "Select filters to apply to the current view." }),
41
- /* @__PURE__ */ t("div", { className: "flex h-full flex-col bg-white", children: [
42
- r || /* @__PURE__ */ e(y, { title: s }),
43
- /* @__PURE__ */ t("div", { className: "flex flex-1 overflow-hidden", children: [
44
- n,
41
+ /* @__PURE__ */ r("div", { className: "flex h-full flex-col bg-white", children: [
42
+ t || /* @__PURE__ */ e(y, { title: n }),
43
+ /* @__PURE__ */ r("div", { className: "flex flex-1 overflow-hidden", children: [
44
+ s,
45
45
  /* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-hidden", children: c })
46
46
  ] })
47
47
  ] })
@@ -50,46 +50,49 @@ const y = ({ title: l, children: a, className: s }) => /* @__PURE__ */ t("div",
50
50
  ) }), I = ({
51
51
  items: l,
52
52
  activeTab: a,
53
- onTabChange: s,
53
+ onTabChange: n,
54
54
  className: c
55
- }) => /* @__PURE__ */ e("div", { className: i("flex w-[200px] shrink-0 flex-col border-r bg-sidebar-light", c), children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: l.map((r) => {
56
- const n = a === r.id;
57
- return /* @__PURE__ */ t(f.Fragment, { children: [
58
- r.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-gray-200" }),
59
- /* @__PURE__ */ t(
55
+ }) => /* @__PURE__ */ e("div", { "data-component": "filter-panel-sidebar", className: i("flex w-[200px] shrink-0 flex-col border-r bg-sidebar-light", c), children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: l.map((t) => {
56
+ const s = a === t.id;
57
+ return /* @__PURE__ */ r(m.Fragment, { children: [
58
+ t.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-gray-200" }),
59
+ /* @__PURE__ */ r(
60
60
  "button",
61
61
  {
62
- onClick: () => s(r.id),
62
+ onClick: () => n(t.id),
63
+ "data-component": "filter-panel-sidebar-item",
64
+ "data-active": s ? "true" : "false",
65
+ "data-tab": t.id,
63
66
  className: i(
64
67
  "group flex items-center justify-between px-3 py-[6px] mx-2 rounded-lg text-left text-sm font-medium transition-colors",
65
- n ? "bg-active-blue text-primary" : "text-text-secondary hover:bg-active-blue"
68
+ s ? "bg-active-blue text-primary" : "text-text-secondary hover:bg-active-blue"
66
69
  ),
67
70
  children: [
68
- /* @__PURE__ */ t("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
71
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
69
72
  /* @__PURE__ */ e("span", { className: i(
70
73
  "shrink-0",
71
- n ? "text-primary" : "text-text-secondary"
72
- ), children: r.icon }),
73
- /* @__PURE__ */ t("div", { className: "flex items-center gap-1 min-w-0", children: [
74
- /* @__PURE__ */ e("span", { className: "truncate font-['Manrope']", children: r.label }),
75
- r.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-error", children: "*" })
74
+ s ? "text-primary" : "text-text-secondary"
75
+ ), children: t.icon }),
76
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-1 min-w-0", children: [
77
+ /* @__PURE__ */ e("span", { className: "truncate font-['Manrope']", children: t.label }),
78
+ t.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-error", children: "*" })
76
79
  ] })
77
80
  ] }),
78
- /* @__PURE__ */ t("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
79
- r.count !== void 0 && r.count > 0 && /* @__PURE__ */ e("span", { className: i(
81
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
82
+ t.count !== void 0 && t.count > 0 && /* @__PURE__ */ e("span", { className: i(
80
83
  "flex h-5 items-center justify-center rounded-full px-2 text-[11px]",
81
- n ? "bg-white text-[#4259ee] border border-gray-100" : "bg-white border border-gray-100"
82
- ), children: r.count }),
83
- r.hasError && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-destructive" }),
84
- r.hasWarning && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-warning" }),
85
- r.hasInfo && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-icon-gray" })
84
+ s ? "bg-white text-[#4259ee] border border-gray-100" : "bg-white border border-gray-100"
85
+ ), children: t.count }),
86
+ t.hasError && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-destructive" }),
87
+ t.hasWarning && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-warning" }),
88
+ t.hasInfo && /* @__PURE__ */ e(d, { className: "h-4 w-4 text-icon-gray" })
86
89
  ] })
87
90
  ]
88
91
  }
89
92
  )
90
- ] }, r.id);
91
- }) }) }), B = ({ children: l, className: a }) => /* @__PURE__ */ e("div", { className: i("flex flex-1 flex-col overflow-auto bg-white p-4", a), children: l }), E = ({ children: l, className: a, leftAction: s }) => /* @__PURE__ */ t("div", { className: i("flex items-center justify-between border-t bg-white px-4 py-3 shrink-0", a), children: [
92
- /* @__PURE__ */ e("div", { children: s && s }),
93
+ ] }, t.id);
94
+ }) }) }), B = ({ children: l, className: a }) => /* @__PURE__ */ e("div", { "data-component": "filter-panel-body", className: i("flex flex-1 flex-col overflow-auto bg-white p-4", a), children: l }), E = ({ children: l, className: a, leftAction: n }) => /* @__PURE__ */ r("div", { "data-component": "filter-panel-footer", className: i("flex items-center justify-between border-t bg-white px-4 py-3 shrink-0", a), children: [
95
+ /* @__PURE__ */ e("div", { children: n && n }),
93
96
  /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: l })
94
97
  ] });
95
98
  export {
@@ -1,68 +1,71 @@
1
- import { jsx as e, jsxs as i } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import { ListFilter as k } from "lucide-react";
3
3
  import { cn as a } from "../../../lib/utils.js";
4
4
  import { Button as v } from "../button.js";
5
- import { Skeleton as s } from "../skeleton.js";
5
+ import { Skeleton as i } from "../skeleton.js";
6
6
  import { FilterSummary as u } from "./filter-summary.js";
7
7
  import { FilterTagList as b } from "./filter-tag-list.js";
8
8
  const C = ({
9
- filters: l,
10
- onFilterRemove: m,
11
- onAllFiltersClick: t,
9
+ filters: r,
10
+ onFilterRemove: l,
11
+ onAllFiltersClick: m,
12
12
  savedFilters: n,
13
13
  recentFilters: c,
14
- onApplySavedFilter: h,
15
- onSavedFilterSearch: p,
16
- onSavedFiltersScroll: f,
17
- onViewAll: o,
18
- selectedFilter: w,
19
- onSelectedFilterChange: x,
20
- onDropdownOpenChange: d,
14
+ onApplySavedFilter: p,
15
+ onSavedFilterSearch: o,
16
+ onSavedFiltersScroll: h,
17
+ onViewAll: f,
18
+ selectedFilter: d,
19
+ onSelectedFilterChange: w,
20
+ onDropdownOpenChange: x,
21
21
  isLoadingFilterPreferencesList: N,
22
22
  isLoading: g,
23
- className: r
23
+ className: s
24
24
  }) => g ? /* @__PURE__ */ e(
25
25
  "div",
26
26
  {
27
+ "data-component": "filter-strip",
28
+ "data-loading": "true",
27
29
  className: a(
28
30
  "flex w-full h-12 items-center gap-3 bg-white px-6 py-2",
29
- r
31
+ s
30
32
  ),
31
- children: /* @__PURE__ */ i("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
33
+ children: /* @__PURE__ */ t("div", { className: "flex items-center gap-2 flex-1 min-w-0", "data-component": "filter-strip-loading", children: [
32
34
  /* @__PURE__ */ e("span", { className: "text-sm font-medium text-[#60697d] font-['Manrope'] shrink-0", children: "Filters Applied" }),
33
- /* @__PURE__ */ e(s, { className: "h-6 w-20 shrink-0" }),
35
+ /* @__PURE__ */ e(i, { className: "h-6 w-20 shrink-0" }),
34
36
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] shrink-0" }),
35
- /* @__PURE__ */ i("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
36
- /* @__PURE__ */ e(s, { className: "h-6 w-32" }),
37
- /* @__PURE__ */ e(s, { className: "h-6 w-28" }),
38
- /* @__PURE__ */ e(s, { className: "h-6 w-24" }),
39
- /* @__PURE__ */ e(s, { className: "h-6 w-36" }),
40
- /* @__PURE__ */ e(s, { className: "h-6 w-20" }),
41
- /* @__PURE__ */ e(s, { className: "h-6 w-30" })
37
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
38
+ /* @__PURE__ */ e(i, { className: "h-6 w-32" }),
39
+ /* @__PURE__ */ e(i, { className: "h-6 w-28" }),
40
+ /* @__PURE__ */ e(i, { className: "h-6 w-24" }),
41
+ /* @__PURE__ */ e(i, { className: "h-6 w-36" }),
42
+ /* @__PURE__ */ e(i, { className: "h-6 w-20" }),
43
+ /* @__PURE__ */ e(i, { className: "h-6 w-30" })
42
44
  ] }),
43
45
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] shrink-0" }),
44
- /* @__PURE__ */ e(s, { className: "h-8 w-24 shrink-0" })
46
+ /* @__PURE__ */ e(i, { className: "h-8 w-24 shrink-0" })
45
47
  ] })
46
48
  }
47
- ) : /* @__PURE__ */ i(
49
+ ) : /* @__PURE__ */ t(
48
50
  "div",
49
51
  {
52
+ "data-component": "filter-strip",
50
53
  className: a(
51
54
  "flex w-full h-12 items-center gap-3 bg-white px-6 py-2",
52
- r
55
+ s
53
56
  ),
54
57
  children: [
55
58
  /* @__PURE__ */ e(
56
59
  u,
57
60
  {
58
- selectedFilter: w,
59
- onSelectedFilterChange: x,
61
+ selectedFilter: d,
62
+ onSelectedFilterChange: w,
60
63
  savedFilters: n,
61
64
  recentFilters: c,
62
- onApplySavedFilter: h,
63
- onSavedFilterSearch: p,
64
- onSavedFiltersScroll: f,
65
- onDropdownOpenChange: d,
65
+ onApplySavedFilter: p,
66
+ onSavedFilterSearch: o,
67
+ onSavedFiltersScroll: h,
68
+ onDropdownOpenChange: x,
66
69
  isLoadingFilterPreferencesList: N
67
70
  }
68
71
  ),
@@ -70,17 +73,18 @@ const C = ({
70
73
  /* @__PURE__ */ e(
71
74
  b,
72
75
  {
73
- filters: l,
74
- onFilterRemove: m,
75
- onViewAll: o
76
+ filters: r,
77
+ onFilterRemove: l,
78
+ onViewAll: f
76
79
  }
77
80
  ),
78
81
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] mx-1 shrink-0" }),
79
- /* @__PURE__ */ i(
82
+ /* @__PURE__ */ t(
80
83
  v,
81
84
  {
82
85
  variant: "tertiary",
83
- onClick: t,
86
+ onClick: m,
87
+ "data-component": "filter-strip-all-filters",
84
88
  children: [
85
89
  /* @__PURE__ */ e(k, { className: "h-4 w-4" }),
86
90
  "All Filters"
@@ -1,110 +1,111 @@
1
- import { jsx as i, jsxs as c, Fragment as d } from "react/jsx-runtime";
1
+ import { jsx as i, jsxs as d, Fragment as c } from "react/jsx-runtime";
2
2
  import * as o from "react";
3
3
  import { cn as s } from "../../lib/utils.js";
4
4
  import { Button as l } from "./button.js";
5
5
  import { Separator as f } from "./separator.js";
6
6
  import { Alan as m, IA as p, Bell as x } from "../../icons/index.js";
7
7
  /* empty css */
8
- const h = o.forwardRef(({ className: e, children: t, ...a }, r) => /* @__PURE__ */ i(
8
+ const h = o.forwardRef(({ className: t, children: e, ...a }, r) => /* @__PURE__ */ i(
9
9
  "header",
10
10
  {
11
11
  ref: r,
12
12
  className: s(
13
13
  "sticky top-0 z-40 flex h-14 w-full items-center justify-between bg-white px-6 shadow-[0px_0px_16px_2px_rgba(0,0,0,0.0588)]",
14
- e
14
+ t
15
15
  ),
16
16
  ...a,
17
- children: t
17
+ children: e
18
18
  }
19
19
  ));
20
20
  h.displayName = "Header";
21
- const N = o.forwardRef(({ className: e, children: t, ...a }, r) => /* @__PURE__ */ i(
21
+ const N = o.forwardRef(({ className: t, children: e, ...a }, r) => /* @__PURE__ */ i(
22
22
  "div",
23
23
  {
24
24
  ref: r,
25
- className: s("flex flex-row items-center justify-start", e),
25
+ className: s("flex flex-row items-center justify-start", t),
26
26
  ...a,
27
- children: t
27
+ children: e
28
28
  }
29
29
  ));
30
30
  N.displayName = "HeaderLeft";
31
- const u = o.forwardRef(({ className: e, children: t, ...a }, r) => /* @__PURE__ */ i(
31
+ const u = o.forwardRef(({ className: t, children: e, ...a }, r) => /* @__PURE__ */ i(
32
32
  "div",
33
33
  {
34
34
  ref: r,
35
- className: s("flex flex-row items-center justify-start gap-5", e),
35
+ className: s("flex flex-row items-center justify-start gap-5", t),
36
36
  ...a,
37
- children: t
37
+ children: e
38
38
  }
39
39
  ));
40
40
  u.displayName = "HeaderRight";
41
- const w = o.forwardRef(({ className: e, children: t, href: a = "/", ...r }, n) => /* @__PURE__ */ i(
41
+ const w = o.forwardRef(({ className: t, children: e, href: a = "/", ...r }, n) => /* @__PURE__ */ i(
42
42
  "a",
43
43
  {
44
44
  href: a,
45
45
  ref: n,
46
- className: s("h-9 flex items-center justify-center cursor-pointer", e),
46
+ className: s("h-9 flex items-center justify-center cursor-pointer", t),
47
47
  ...r,
48
- children: t || /* @__PURE__ */ i(p, { width: 91, height: 36 })
48
+ children: e || /* @__PURE__ */ i(p, { width: 91, height: 36 })
49
49
  }
50
50
  ));
51
51
  w.displayName = "HeaderLogo";
52
- const g = o.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ i(
52
+ const g = o.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ i(
53
53
  f,
54
54
  {
55
55
  ref: a,
56
56
  orientation: "vertical",
57
- className: s("h-6 mx-3", e),
58
- ...t
57
+ className: s("h-6 mx-3", t),
58
+ ...e
59
59
  }
60
60
  ));
61
61
  g.displayName = "HeaderSeparator";
62
- const y = o.forwardRef(({ className: e, children: t, ...a }, r) => /* @__PURE__ */ i(
62
+ const y = o.forwardRef(({ className: t, children: e, ...a }, r) => /* @__PURE__ */ i(
63
63
  "h1",
64
64
  {
65
65
  ref: r,
66
66
  className: s(
67
67
  "text-base font-extrabold leading-6 text-foreground",
68
- e
68
+ t
69
69
  ),
70
70
  ...a,
71
- children: t
71
+ children: e
72
72
  }
73
73
  ));
74
74
  y.displayName = "HeaderTitle";
75
75
  const _ = o.forwardRef(
76
- ({ className: e, children: t, ...a }, r) => /* @__PURE__ */ i(
76
+ ({ className: t, children: e, ...a }, r) => /* @__PURE__ */ i(
77
77
  "button",
78
78
  {
79
79
  ref: r,
80
80
  type: "button",
81
81
  className: s(
82
82
  "impact-header-bot-container relative flex items-center justify-center w-[106px] h-[34px] gap-[7px] px-[11px] py-0 rounded-lg cursor-pointer border-0 outline-none",
83
- e
83
+ t
84
84
  ),
85
85
  ...a,
86
- children: t || /* @__PURE__ */ c(d, { children: [
86
+ children: e || /* @__PURE__ */ d(c, { children: [
87
87
  /* @__PURE__ */ i(m, { size: 20, className: "text-white" }),
88
88
  /* @__PURE__ */ i("span", { className: "text-sm font-semibold leading-[20px] text-white whitespace-nowrap", children: "Ask Alan" })
89
89
  ] })
90
90
  }
91
91
  )
92
92
  ), H = o.forwardRef(
93
- ({ className: e, showIndicator: t, children: a, ...r }, n) => /* @__PURE__ */ c(
93
+ ({ className: t, showIndicator: e, children: a, ...r }, n) => /* @__PURE__ */ d(
94
94
  l,
95
95
  {
96
96
  variant: "ghost",
97
97
  size: "icon",
98
98
  ref: n,
99
99
  "aria-label": "Notifications",
100
+ "data-indicator": e ? "" : void 0,
100
101
  className: s(
101
102
  "text-gray-500 relative [&_svg]:size-6 hover:text-gray-900",
102
- e
103
+ t
103
104
  ),
104
105
  ...r,
105
106
  children: [
106
107
  /* @__PURE__ */ i(x, { size: 24 }),
107
- t && /* @__PURE__ */ c("div", { className: "notification-indicator", children: [
108
+ e && /* @__PURE__ */ d("div", { className: "notification-indicator", children: [
108
109
  /* @__PURE__ */ i("div", { className: "notification-pulse" }),
109
110
  /* @__PURE__ */ i("div", { className: "notification-dot" })
110
111
  ] })
@@ -1,17 +1,17 @@
1
- import { jsxs as o, jsx as r, Fragment as $ } from "react/jsx-runtime";
2
- import * as a from "react";
1
+ import { jsxs as a, jsx as r, Fragment as $ } from "react/jsx-runtime";
2
+ import * as s from "react";
3
3
  import { ChevronRight as j } from "lucide-react";
4
4
  import { useVirtualizer as O } from "@tanstack/react-virtual";
5
- import { cn as u } from "../../../lib/utils.js";
5
+ import { cn as h } from "../../../lib/utils.js";
6
6
  import { Button as T } from "../button.js";
7
- const A = a.forwardRef(
7
+ const A = s.forwardRef(
8
8
  ({
9
- className: S,
10
- items: h,
11
- renderItem: z,
9
+ className: z,
10
+ items: u,
11
+ renderItem: S,
12
12
  scrollStep: g = 200,
13
13
  hideScrollbar: p = !1,
14
- controlsPosition: i = "right",
14
+ controlsPosition: c = "right",
15
15
  renderPrevious: v,
16
16
  renderNext: x,
17
17
  maxWidth: N = "100%",
@@ -19,19 +19,19 @@ const A = a.forwardRef(
19
19
  overscan: R = 5,
20
20
  ...k
21
21
  }, C) => {
22
- const l = a.useRef(null), [n, L] = a.useState(!1), [s, B] = a.useState(!1);
23
- a.useImperativeHandle(C, () => l.current);
24
- const c = O({
25
- count: h.length,
22
+ const l = s.useRef(null), [n, L] = s.useState(!1), [o, B] = s.useState(!1);
23
+ s.useImperativeHandle(C, () => l.current);
24
+ const i = O({
25
+ count: u.length,
26
26
  getScrollElement: () => l.current,
27
27
  estimateSize: typeof m == "function" ? m : () => m,
28
28
  horizontal: !0,
29
29
  overscan: R
30
- }), E = c.getTotalSize(), d = a.useCallback(() => {
30
+ }), E = i.getTotalSize(), d = s.useCallback(() => {
31
31
  const e = l.current;
32
32
  e && (L(e.scrollLeft > 0), B(Math.ceil(e.scrollLeft + e.clientWidth) < e.scrollWidth));
33
33
  }, []);
34
- a.useEffect(() => {
34
+ s.useEffect(() => {
35
35
  const e = l.current;
36
36
  if (!e) return;
37
37
  d();
@@ -43,34 +43,35 @@ const A = a.forwardRef(
43
43
  return f.observe(e), () => {
44
44
  e.removeEventListener("scroll", t), f.disconnect();
45
45
  };
46
- }, [d, h, E]);
46
+ }, [d, u, E]);
47
47
  const b = () => {
48
48
  l.current?.scrollBy({ left: -g, behavior: "smooth" });
49
- }, y = () => {
49
+ }, w = () => {
50
50
  l.current?.scrollBy({ left: g, behavior: "smooth" });
51
- }, w = ({
51
+ }, y = ({
52
52
  direction: e,
53
53
  onClick: t,
54
54
  disabled: f
55
- }) => f ? null : /* @__PURE__ */ o(
55
+ }) => f ? null : /* @__PURE__ */ a(
56
56
  T,
57
57
  {
58
58
  variant: "ghost",
59
59
  size: "icon",
60
- className: u(
60
+ className: h(
61
61
  "h-8 w-8 rounded-md bg-[#f5f6fa] text-[#60697d] hover:bg-[#eceefd] hover:text-[#4259ee]"
62
62
  ),
63
63
  onClick: t,
64
64
  disabled: f,
65
65
  "aria-label": `Scroll ${e}`,
66
+ "data-component": e === "left" ? "horizontal-scroller-prev" : "horizontal-scroller-next",
66
67
  children: [
67
68
  /* @__PURE__ */ r(
68
69
  j,
69
70
  {
70
- className: u("h-4 w-4", e === "left" && "rotate-180")
71
+ className: h("h-4 w-4", e === "left" && "rotate-180")
71
72
  }
72
73
  ),
73
- /* @__PURE__ */ o("span", { className: "sr-only", children: [
74
+ /* @__PURE__ */ a("span", { className: "sr-only", children: [
74
75
  "Scroll ",
75
76
  e
76
77
  ] })
@@ -78,41 +79,42 @@ const A = a.forwardRef(
78
79
  }
79
80
  ), H = () => {
80
81
  const e = v ? v({ onClick: b, disabled: !n }) : /* @__PURE__ */ r(
81
- w,
82
+ y,
82
83
  {
83
84
  direction: "left",
84
85
  onClick: b,
85
86
  disabled: !n
86
87
  }
87
- ), t = x ? x({ onClick: y, disabled: !s }) : /* @__PURE__ */ r(
88
- w,
88
+ ), t = x ? x({ onClick: w, disabled: !o }) : /* @__PURE__ */ r(
89
+ y,
89
90
  {
90
91
  direction: "right",
91
- onClick: y,
92
- disabled: !s
92
+ onClick: w,
93
+ disabled: !o
93
94
  }
94
95
  );
95
- return i === "split" ? /* @__PURE__ */ o($, { children: [
96
+ return c === "split" ? /* @__PURE__ */ a($, { children: [
96
97
  /* @__PURE__ */ r("div", { className: "absolute left-0 top-1/2 z-20 -translate-y-1/2", children: e }),
97
98
  /* @__PURE__ */ r("div", { className: "absolute right-0 top-1/2 z-20 -translate-y-1/2", children: t })
98
- ] }) : i === "left" ? /* @__PURE__ */ o("div", { className: "absolute left-0 top-1/2 z-20 flex -translate-y-1/2 items-center gap-1", children: [
99
+ ] }) : c === "left" ? /* @__PURE__ */ a("div", { className: "absolute left-0 top-1/2 z-20 flex -translate-y-1/2 items-center gap-1", children: [
99
100
  e,
100
101
  t
101
- ] }) : /* @__PURE__ */ o("div", { className: "absolute right-0 top-1/2 z-20 flex -translate-y-1/2 items-center gap-1", children: [
102
+ ] }) : /* @__PURE__ */ a("div", { className: "absolute right-0 top-1/2 z-20 flex -translate-y-1/2 items-center gap-1", children: [
102
103
  e,
103
104
  t
104
105
  ] });
105
- }, V = () => i === "left" ? n && s ? "pl-20" : n || s ? "pl-12" : "" : i === "split" && n ? "pl-12" : "", W = () => i === "right" ? n && s ? "pr-20" : n || s ? "pr-12" : "" : i === "split" && s ? "pr-12" : "";
106
- return /* @__PURE__ */ o(
106
+ }, V = () => c === "left" ? n && o ? "pl-20" : n || o ? "pl-12" : "" : c === "split" && n ? "pl-12" : "", W = () => c === "right" ? n && o ? "pr-20" : n || o ? "pr-12" : "" : c === "split" && o ? "pr-12" : "";
107
+ return /* @__PURE__ */ a(
107
108
  "div",
108
109
  {
109
- className: u(
110
+ className: h(
110
111
  "relative group min-w-0 w-full overflow-hidden bg-transparent",
111
112
  V(),
112
113
  W(),
113
- S
114
+ z
114
115
  ),
115
116
  style: { maxWidth: N },
117
+ "data-component": "horizontal-scroller",
116
118
  ...k,
117
119
  children: [
118
120
  H(),
@@ -120,7 +122,7 @@ const A = a.forwardRef(
120
122
  "div",
121
123
  {
122
124
  ref: l,
123
- className: u(
125
+ className: h(
124
126
  "flex w-full overflow-x-auto overflow-y-hidden whitespace-nowrap",
125
127
  p && "scrollbar-hide",
126
128
  "scroll-smooth"
@@ -129,23 +131,24 @@ const A = a.forwardRef(
129
131
  scrollbarWidth: p ? "none" : "auto",
130
132
  msOverflowStyle: p ? "none" : "auto"
131
133
  },
132
- children: /* @__PURE__ */ o(
134
+ "data-component": "horizontal-scroller-viewport",
135
+ children: /* @__PURE__ */ a(
133
136
  "div",
134
137
  {
135
138
  style: {
136
- width: `${c.getTotalSize()}px`,
139
+ width: `${i.getTotalSize()}px`,
137
140
  display: "flex",
138
141
  position: "relative"
139
142
  },
140
143
  children: [
141
- /* @__PURE__ */ r("div", { style: { width: `${c.getVirtualItems()[0]?.start ?? 0}px`, flexShrink: 0 } }),
142
- c.getVirtualItems().map((e) => /* @__PURE__ */ r(
144
+ /* @__PURE__ */ r("div", { style: { width: `${i.getVirtualItems()[0]?.start ?? 0}px`, flexShrink: 0 } }),
145
+ i.getVirtualItems().map((e) => /* @__PURE__ */ r(
143
146
  "div",
144
147
  {
145
- ref: c.measureElement,
148
+ ref: i.measureElement,
146
149
  "data-index": e.index,
147
150
  className: "flex-shrink-0",
148
- children: z(h[e.index], e.index)
151
+ children: S(u[e.index], e.index)
149
152
  },
150
153
  e.key
151
154
  ))
@@ -1,13 +1,14 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import * as n from "react";
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import * as i from "react";
3
3
  import * as o from "@radix-ui/react-hover-card";
4
4
  import { cn as s } from "../../lib/utils.js";
5
- const l = o.Root, c = o.Trigger, m = n.forwardRef(({ className: t, align: e = "center", sideOffset: a = 4, ...r }, d) => /* @__PURE__ */ i(
5
+ const c = o.Root, l = o.Trigger, m = i.forwardRef(({ className: t, align: e = "center", sideOffset: a = 4, ...r }, d) => /* @__PURE__ */ n(
6
6
  o.Content,
7
7
  {
8
8
  ref: d,
9
9
  align: e,
10
10
  sideOffset: a,
11
+ "data-component": "hover-card-content",
11
12
  className: s(
12
13
  "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
13
14
  t
@@ -17,7 +18,7 @@ const l = o.Root, c = o.Trigger, m = n.forwardRef(({ className: t, align: e = "c
17
18
  ));
18
19
  m.displayName = o.Content.displayName;
19
20
  export {
20
- l as HoverCard,
21
+ c as HoverCard,
21
22
  m as HoverCardContent,
22
- c as HoverCardTrigger
23
+ l as HoverCardTrigger
23
24
  };
@@ -2,7 +2,7 @@ import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  declare const inputVariants: (props?: {
4
4
  isError?: boolean;
5
- size?: "default" | "sm" | "md";
5
+ size?: "sm" | "md" | "lg" | "default";
6
6
  disabled?: boolean;
7
7
  } & import('class-variance-authority/types').ClassProp) => string;
8
8
  export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "prefix" | "disabled">, VariantProps<typeof inputVariants> {