impact-nova 1.5.14 → 1.6.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 (149) hide show
  1. package/dist/components/ui/accordion.d.ts +4 -1
  2. package/dist/components/ui/accordion.js +28 -22
  3. package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.js +11 -11
  4. package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.js +12 -12
  5. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +13 -13
  6. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +13 -13
  7. package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.js +30 -30
  8. package/dist/components/ui/ag-grid-react/cell-renderers/editors/percent-progress-cell-editor.js +13 -13
  9. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +16 -16
  10. package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +17 -17
  11. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.js +11 -11
  12. package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +2 -2
  13. package/dist/components/ui/ag-grid-react/cell-renderers/percent-progress-display-renderer.js +11 -13
  14. package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.js +8 -8
  15. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +6 -6
  16. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.d.ts +1 -1
  17. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.js +14 -14
  18. package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.js +18 -18
  19. package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.js +6 -6
  20. package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +14 -14
  21. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +35 -35
  22. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +49 -49
  23. package/dist/components/ui/ag-grid-react/headers/components/header-info.js +29 -29
  24. package/dist/components/ui/ag-grid-react/headers/components/info-modal.js +9 -9
  25. package/dist/components/ui/ag-grid-react/headers/components/section-renderers.js +20 -20
  26. package/dist/components/ui/ag-grid-react/headers/custom-header-group.js +10 -10
  27. package/dist/components/ui/ag-grid-react/headers/custom-header.js +76 -76
  28. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +118 -118
  29. package/dist/components/ui/ag-grid-react/index.js +121 -102
  30. package/dist/components/ui/alert-dialog.js +6 -6
  31. package/dist/components/ui/alert.d.ts +4 -3
  32. package/dist/components/ui/alert.js +182 -64
  33. package/dist/components/ui/avatar.js +5 -5
  34. package/dist/components/ui/badge.d.ts +7 -2
  35. package/dist/components/ui/badge.js +105 -32
  36. package/dist/components/ui/breadcrumb.js +26 -21
  37. package/dist/components/ui/button-group.d.ts +7 -0
  38. package/dist/components/ui/button-group.js +116 -91
  39. package/dist/components/ui/button-variants.d.ts +7 -2
  40. package/dist/components/ui/button-variants.js +31 -16
  41. package/dist/components/ui/button.d.ts +2 -2
  42. package/dist/components/ui/button.js +10 -10
  43. package/dist/components/ui/calendar.js +185 -184
  44. package/dist/components/ui/card.js +24 -24
  45. package/dist/components/ui/chart/chart.js +27 -27
  46. package/dist/components/ui/chart/chart.utils.js +50 -50
  47. package/dist/components/ui/checkbox.js +22 -22
  48. package/dist/components/ui/chips.d.ts +19 -3
  49. package/dist/components/ui/chips.js +140 -41
  50. package/dist/components/ui/command-palette/command-palette-layout.d.ts +28 -0
  51. package/dist/components/ui/command-palette/command-palette-layout.js +59 -0
  52. package/dist/components/ui/command-palette/command-palette.js +254 -264
  53. package/dist/components/ui/command-palette/index.d.ts +1 -1
  54. package/dist/components/ui/command-palette/index.js +42 -41
  55. package/dist/components/ui/command-palette/kbd.js +18 -18
  56. package/dist/components/ui/command-palette/shortcut-settings.d.ts +3 -3
  57. package/dist/components/ui/command-palette/shortcut-settings.js +105 -111
  58. package/dist/components/ui/command-palette/utils.d.ts +6 -1
  59. package/dist/components/ui/command-palette/utils.js +81 -74
  60. package/dist/components/ui/data-table/data-table-column-list.js +31 -31
  61. package/dist/components/ui/data-table/data-table-constants.d.ts +6 -0
  62. package/dist/components/ui/data-table/data-table-constants.js +4 -0
  63. package/dist/components/ui/data-table/data-table-context.d.ts +4 -0
  64. package/dist/components/ui/data-table/data-table-format-options.js +35 -35
  65. package/dist/components/ui/data-table/data-table-sheet.d.ts +4 -4
  66. package/dist/components/ui/data-table/data-table-sheet.js +91 -58
  67. package/dist/components/ui/data-table/data-table-view-options.js +29 -29
  68. package/dist/components/ui/data-table/data-table.js +84 -52
  69. package/dist/components/ui/data-table/index.d.ts +1 -0
  70. package/dist/components/ui/data-table/index.js +15 -13
  71. package/dist/components/ui/date-picker/date-picker.js +35 -35
  72. package/dist/components/ui/date-picker/date-range-picker.js +166 -164
  73. package/dist/components/ui/date-picker/month-picker.js +14 -14
  74. package/dist/components/ui/date-picker/month-range-picker.js +198 -189
  75. package/dist/components/ui/date-picker/multi-date-picker.js +14 -14
  76. package/dist/components/ui/date-picker/multi-month-picker.js +1 -1
  77. package/dist/components/ui/date-picker/multi-week-picker.js +1 -1
  78. package/dist/components/ui/date-picker/week-picker.js +2 -2
  79. package/dist/components/ui/date-picker/week-range-picker.js +164 -162
  80. package/dist/components/ui/dialog.js +25 -28
  81. package/dist/components/ui/drawer.js +40 -40
  82. package/dist/components/ui/dropdown-menu.js +72 -72
  83. package/dist/components/ui/empty-container.js +73 -69
  84. package/dist/components/ui/file-upload.js +137 -135
  85. package/dist/components/ui/filter-panel/filter-panel.d.ts +2 -2
  86. package/dist/components/ui/filter-panel/filter-panel.js +175 -97
  87. package/dist/components/ui/filter-strip/filter-strip.d.ts +1 -1
  88. package/dist/components/ui/filter-strip/filter-strip.js +63 -50
  89. package/dist/components/ui/filter-strip/filter-summary.d.ts +4 -1
  90. package/dist/components/ui/filter-strip/filter-summary.js +230 -146
  91. package/dist/components/ui/filter-strip/filter-tag-list.js +125 -91
  92. package/dist/components/ui/header.d.ts +7 -3
  93. package/dist/components/ui/header.js +87 -79
  94. package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +44 -44
  95. package/dist/components/ui/hover-card.js +10 -10
  96. package/dist/components/ui/input.js +79 -70
  97. package/dist/components/ui/loader.js +16 -16
  98. package/dist/components/ui/nested-list/components/NestedListCategoryFilters.js +16 -16
  99. package/dist/components/ui/nested-list/components/NestedListHeader.js +27 -27
  100. package/dist/components/ui/nested-list/components/SortableItem.js +58 -58
  101. package/dist/components/ui/notification-panel/notification-item.js +32 -32
  102. package/dist/components/ui/notification-panel/notification-list.js +24 -24
  103. package/dist/components/ui/notification-panel/notification-panel.js +26 -26
  104. package/dist/components/ui/popover.js +22 -22
  105. package/dist/components/ui/progress.js +34 -34
  106. package/dist/components/ui/prompt.js +48 -48
  107. package/dist/components/ui/radio-group.js +63 -54
  108. package/dist/components/ui/select/components/LabelWithSequence.js +6 -6
  109. package/dist/components/ui/select/components/Submenu.js +33 -33
  110. package/dist/components/ui/select/select.js +425 -376
  111. package/dist/components/ui/sheet.js +88 -66
  112. package/dist/components/ui/sidebar.js +342 -296
  113. package/dist/components/ui/skeleton.js +6 -6
  114. package/dist/components/ui/slider.js +17 -17
  115. package/dist/components/ui/statistics-card.d.ts +86 -0
  116. package/dist/components/ui/statistics-card.hooks.d.ts +150 -0
  117. package/dist/components/ui/statistics-card.hooks.js +100 -0
  118. package/dist/components/ui/statistics-card.js +259 -0
  119. package/dist/components/ui/stepper.js +51 -51
  120. package/dist/components/ui/switch.js +7 -7
  121. package/dist/components/ui/tabs.js +70 -70
  122. package/dist/components/ui/tag-group.d.ts +1 -0
  123. package/dist/components/ui/tag-group.js +14 -13
  124. package/dist/components/ui/tag.js +43 -43
  125. package/dist/components/ui/textarea.js +86 -58
  126. package/dist/components/ui/toast.js +39 -39
  127. package/dist/components/ui/tooltip.js +23 -23
  128. package/dist/components/ui/types/date-picker.types.d.ts +1 -0
  129. package/dist/components/ui/types/filter-panel.types.d.ts +3 -0
  130. package/dist/components/ui/types/filter-strip.types.d.ts +14 -0
  131. package/dist/components/ui/types/horizontal-scroller.types.d.ts +1 -1
  132. package/dist/components/ui/types/statistics-card.types.d.ts +1 -0
  133. package/dist/i18n/defaultMessages.d.ts +8 -0
  134. package/dist/i18n/defaultMessages.js +15 -9
  135. package/dist/i18n/locales/de.js +7 -1
  136. package/dist/i18n/locales/es.js +7 -1
  137. package/dist/i18n/locales/hi.js +7 -1
  138. package/dist/i18n/locales/kn.js +7 -1
  139. package/dist/icons/assets/bulk-edit.svg.js +5 -0
  140. package/dist/icons/assets/clock.svg.js +5 -0
  141. package/dist/icons/assets/statistics.svg.js +5 -0
  142. package/dist/icons/index.d.ts +3 -0
  143. package/dist/icons/index.js +254 -206
  144. package/dist/impact-nova.css +1 -1
  145. package/dist/index.d.ts +1 -0
  146. package/dist/index.js +361 -347
  147. package/package.json +3 -2
  148. package/tailwind.config.js +259 -152
  149. /package/dist/icons/assets/{PivotMode.svg.js → pivotMode.svg.js} +0 -0
@@ -1,10 +1,10 @@
1
- import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
- import * as h from "react";
3
- import { cva as m } from "class-variance-authority";
1
+ import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
+ import * as v from "react";
3
+ import { cva as u } from "class-variance-authority";
4
4
  import { Check as V } from "lucide-react";
5
- import { cn as a } from "../../lib/utils.js";
6
- import { useImpactNovaI18n as j } from "../../i18n/ImpactNovaI18nContext.js";
7
- const I = m("flex w-full gap-0", {
5
+ import { cn as r } from "../../lib/utils.js";
6
+ import { useImpactNovaI18n as k } from "../../i18n/ImpactNovaI18nContext.js";
7
+ const j = u("flex w-full gap-0", {
8
8
  variants: {
9
9
  orientation: {
10
10
  horizontal: "flex-row items-center",
@@ -14,12 +14,12 @@ const I = m("flex w-full gap-0", {
14
14
  defaultVariants: {
15
15
  orientation: "horizontal"
16
16
  }
17
- }), _ = m(
17
+ }), I = u(
18
18
  "relative flex items-center transition-all duration-200",
19
19
  {
20
20
  variants: {
21
21
  orientation: {
22
- horizontal: "h-[44px] px-3 rounded-lg border-b-2 bg-white shadow-[0px_2px_8px_0px_rgba(0,0,0,0.05)] flex-none",
22
+ horizontal: "h-[44px] px-3 rounded-lg border-b-2 bg-canvas-elevated shadow-elevation-card flex-none",
23
23
  vertical: "w-full py-4 px-3 mb-2 rounded-lg border-none"
24
24
  },
25
25
  status: {
@@ -33,33 +33,33 @@ const I = m("flex w-full gap-0", {
33
33
  {
34
34
  orientation: "horizontal",
35
35
  status: "active",
36
- className: "border-primary after:absolute after:bottom-[-9.5px] after:left-[18px] after:h-0 after:w-0 after:border-l-[6.5px] after:border-r-[6.5px] after:border-t-[10px] after:border-l-transparent after:border-r-transparent after:border-t-primary after:content-['']"
36
+ className: "border-brand after:absolute after:bottom-[-9.5px] after:left-[18px] after:h-0 after:w-0 after:border-l-[6.5px] after:border-r-[6.5px] after:border-t-[10px] after:border-l-transparent after:border-r-transparent after:border-t-brand after:content-['']"
37
37
  },
38
38
  {
39
39
  orientation: "horizontal",
40
40
  status: "completed",
41
- className: "border-[#108431]"
41
+ className: "border-success"
42
42
  },
43
43
  {
44
44
  orientation: "horizontal",
45
45
  status: "default",
46
- className: "border-[#d9dde7]"
46
+ className: "border-stroke-hairline"
47
47
  },
48
48
  // Vertical Orientation Status
49
49
  {
50
50
  orientation: "vertical",
51
51
  status: "active",
52
- className: "bg-[#eff2fa] before:absolute before:left-[-8px] before:top-1/2 before:h-8 before:w-[4px] before:-translate-y-1/2 before:bg-primary before:rounded-full before:content-['']"
52
+ className: "bg-canvas-tint before:absolute before:left-[-8px] before:top-1/2 before:h-8 before:w-[4px] before:-translate-y-1/2 before:bg-brand before:rounded-full before:content-['']"
53
53
  },
54
54
  {
55
55
  orientation: "vertical",
56
56
  status: "completed",
57
- className: "bg-[#ecf7ef]"
57
+ className: "bg-feedback-success-surface"
58
58
  },
59
59
  {
60
60
  orientation: "vertical",
61
61
  status: "default",
62
- className: "bg-[#f4f6f9]"
62
+ className: "bg-secondary"
63
63
  }
64
64
  ],
65
65
  defaultVariants: {
@@ -67,74 +67,74 @@ const I = m("flex w-full gap-0", {
67
67
  status: "default"
68
68
  }
69
69
  }
70
- ), D = m(
70
+ ), D = u(
71
71
  "flex h-6 w-6 shrink-0 items-center justify-center rounded-[8px] text-xs font-extrabold transition-all",
72
72
  {
73
73
  variants: {
74
74
  status: {
75
- default: "bg-[#d9dde7] text-[#7a8294]",
76
- active: "bg-primary text-primary-foreground",
77
- completed: "bg-[#3bb273] text-white"
75
+ default: "bg-muted text-navigation-muted",
76
+ active: "bg-brand text-brand-foreground",
77
+ completed: "bg-success text-success-foreground"
78
78
  }
79
79
  },
80
80
  defaultVariants: {
81
81
  status: "default"
82
82
  }
83
83
  }
84
- ), k = h.forwardRef(
85
- ({ className: v, currentStep: b, steps: d, orientation: e = "horizontal", onStepClick: o, ...g }, w) => {
86
- const { t: y } = j(), N = d.length;
84
+ ), A = v.forwardRef(
85
+ ({ className: h, currentStep: p, steps: c, orientation: e = "horizontal", onStepClick: o, ...g }, w) => {
86
+ const { t: N } = k(), y = c.length;
87
87
  return /* @__PURE__ */ t(
88
88
  "div",
89
89
  {
90
90
  ref: w,
91
- className: a(I({ orientation: e }), v),
91
+ className: r(j({ orientation: e }), h),
92
92
  "data-orientation": e,
93
93
  role: "list",
94
94
  ...g,
95
- children: d.map((c, s) => {
96
- const i = typeof c == "string" ? { label: c } : c, l = s + 1, u = l === b, x = l < b, n = i.disabled, r = x ? "completed" : u ? "active" : "default", z = y("stepper.stepOfTotal", { current: l, total: N });
97
- return /* @__PURE__ */ p(h.Fragment, { children: [
98
- /* @__PURE__ */ p(
95
+ children: c.map((d, s) => {
96
+ const n = typeof d == "string" ? { label: d } : d, l = s + 1, b = l === p, x = l < p, i = n.disabled, a = x ? "completed" : b ? "active" : "default", z = N("stepper.stepOfTotal", { current: l, total: y });
97
+ return /* @__PURE__ */ m(v.Fragment, { children: [
98
+ /* @__PURE__ */ m(
99
99
  "div",
100
100
  {
101
101
  role: "listitem",
102
- onClick: () => !n && o?.(s),
102
+ onClick: () => !i && o?.(s),
103
103
  "aria-label": z,
104
- "aria-current": u ? "step" : void 0,
105
- tabIndex: o && !n ? 0 : void 0,
106
- onKeyDown: o && !n ? (f) => {
104
+ "aria-current": b ? "step" : void 0,
105
+ tabIndex: o && !i ? 0 : void 0,
106
+ onKeyDown: o && !i ? (f) => {
107
107
  (f.key === "Enter" || f.key === " ") && (f.preventDefault(), o(s));
108
108
  } : void 0,
109
109
  "data-step": l,
110
- "data-status": r,
111
- "data-disabled": n || void 0,
112
- className: a(
113
- _({ orientation: e, status: r }),
110
+ "data-status": a,
111
+ "data-disabled": i || void 0,
112
+ className: r(
113
+ I({ orientation: e, status: a }),
114
114
  e === "horizontal" && "min-w-[140px]",
115
- n ? "opacity-80 cursor-not-allowed" : o ? "cursor-pointer" : "cursor-default"
115
+ i ? "opacity-80 cursor-not-allowed" : o ? "cursor-pointer" : "cursor-default"
116
116
  ),
117
117
  children: [
118
- /* @__PURE__ */ t("div", { className: a(D({ status: r }), "mr-2"), children: x ? /* @__PURE__ */ t(V, { className: "h-4 w-4 stroke-[3px]" }) : /* @__PURE__ */ t("span", { children: i.icon || l }) }),
119
- /* @__PURE__ */ p("div", { className: "flex flex-col justify-center overflow-hidden", children: [
120
- /* @__PURE__ */ t("div", { className: a(
118
+ /* @__PURE__ */ t("div", { className: r(D({ status: a }), "mr-2"), children: x ? /* @__PURE__ */ t(V, { className: "h-4 w-4 stroke-[3px]" }) : /* @__PURE__ */ t("span", { children: n.icon || l }) }),
119
+ /* @__PURE__ */ m("div", { className: "flex flex-col justify-center overflow-hidden", children: [
120
+ /* @__PURE__ */ t("div", { className: r(
121
121
  "text-[14px] leading-tight font-medium truncate max-w-[200px]",
122
- r === "completed" ? "text-[#3bb273]" : "text-foreground",
123
- r === "active" && e === "vertical" ? "text-primary" : ""
124
- ), children: i.label }),
125
- i.description && /* @__PURE__ */ t("div", { className: a(
122
+ a === "completed" ? "text-success" : "text-content",
123
+ a === "active" && e === "vertical" ? "text-brand" : ""
124
+ ), children: n.label }),
125
+ n.description && /* @__PURE__ */ t("div", { className: r(
126
126
  "text-[12px] leading-tight mt-0.5 truncate max-w-[200px]",
127
- r === "completed" ? "text-[#3bb273]" : "text-muted-foreground"
128
- ), children: i.description })
127
+ a === "completed" ? "text-success" : "text-content-muted"
128
+ ), children: n.description })
129
129
  ] })
130
130
  ]
131
131
  }
132
132
  ),
133
- s < d.length - 1 && /* @__PURE__ */ t(
133
+ s < c.length - 1 && /* @__PURE__ */ t(
134
134
  "div",
135
135
  {
136
- className: a(
137
- "border-t border-dashed border-[#d9dde7] transition-colors",
136
+ className: r(
137
+ "border-t border-dashed border-stroke-hairline transition-colors",
138
138
  e === "horizontal" ? "flex-1 min-w-[24px] mx-1 self-center" : "h-6 w-0 border-l ml-[12px] my-[-4px]"
139
139
  )
140
140
  }
@@ -145,9 +145,9 @@ const I = m("flex w-full gap-0", {
145
145
  );
146
146
  }
147
147
  );
148
- k.displayName = "Stepper";
148
+ A.displayName = "Stepper";
149
149
  export {
150
- k as Stepper,
151
- _ as stepVariants,
152
- I as stepperVariants
150
+ A as Stepper,
151
+ I as stepVariants,
152
+ j as stepperVariants
153
153
  };
@@ -1,29 +1,29 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import * as s from "react";
2
+ import * as n from "react";
3
3
  import * as e from "@radix-ui/react-switch";
4
4
  import { cn as a } from "../../lib/utils.js";
5
- const c = s.forwardRef(({ className: o, ...r }, i) => /* @__PURE__ */ t(
5
+ const r = n.forwardRef(({ className: o, ...s }, i) => /* @__PURE__ */ t(
6
6
  e.Root,
7
7
  {
8
8
  className: a(
9
- "peer inline-flex h-[16px] w-[24px] shrink-0 cursor-pointer items-center rounded-full border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-[#eceefd] data-[state=checked]:border-accordion-bg data-[state=unchecked]:bg-white data-[state=unchecked]:border-light-blue",
9
+ "peer inline-flex h-[16px] w-[24px] shrink-0 cursor-pointer items-center rounded-full border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-canvas disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-brand-tint data-[state=checked]:border-canvas-accordion data-[state=unchecked]:bg-canvas-elevated data-[state=unchecked]:border-canvas-tint",
10
10
  o
11
11
  ),
12
- ...r,
12
+ ...s,
13
13
  ref: i,
14
14
  "data-component": "switch-root",
15
15
  children: /* @__PURE__ */ t(
16
16
  e.Thumb,
17
17
  {
18
18
  className: a(
19
- "pointer-events-none block h-[10px] w-[10px] rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[10px] data-[state=unchecked]:translate-x-[2px] data-[state=checked]:bg-primary data-[state=unchecked]:bg-tertiary-border"
19
+ "pointer-events-none block h-[10px] w-[10px] rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[10px] data-[state=unchecked]:translate-x-[2px] data-[state=checked]:bg-brand data-[state=unchecked]:bg-stroke-field"
20
20
  ),
21
21
  "data-component": "switch-thumb"
22
22
  }
23
23
  )
24
24
  }
25
25
  ));
26
- c.displayName = e.Root.displayName;
26
+ r.displayName = e.Root.displayName;
27
27
  export {
28
- c as Switch
28
+ r as Switch
29
29
  };
@@ -1,60 +1,60 @@
1
1
  import { jsx as r, jsxs as u, Fragment as j } from "react/jsx-runtime";
2
- import * as i from "react";
2
+ import * as s from "react";
3
3
  import * as c from "@radix-ui/react-tabs";
4
4
  import { cn as p } from "../../lib/utils.js";
5
- import { Tooltip as W, TooltipTrigger as z, TooltipContent as D } from "./tooltip.js";
6
- const N = i.createContext({
5
+ import { Tooltip as W, TooltipTrigger as z, TooltipContent as I } from "./tooltip.js";
6
+ const N = s.createContext({
7
7
  variant: "line",
8
8
  size: "default"
9
- }), I = (t, a) => {
10
- const e = t.split(/\s+/);
11
- return e.length <= a ? t : e.slice(0, a).join(" ") + "...";
12
- }, L = i.forwardRef(({ variant: t = "line", size: a = "default", hideInactiveLabel: e = !1, tooltipClassName: s, maxWords: o, value: n, defaultValue: x, onValueChange: g, ...l }, v) => {
13
- const [y, b] = i.useState(n || x);
14
- i.useEffect(() => {
15
- n !== void 0 && b(n);
16
- }, [n]);
9
+ }), L = (e, a) => {
10
+ const t = e.split(/\s+/);
11
+ return t.length <= a ? e : t.slice(0, a).join(" ") + "...";
12
+ }, S = s.forwardRef(({ variant: e = "line", size: a = "default", hideInactiveLabel: t = !1, tooltipClassName: n, maxWords: o, value: i, defaultValue: x, onValueChange: g, ...d }, h) => {
13
+ const [y, b] = s.useState(i || x);
14
+ s.useEffect(() => {
15
+ i !== void 0 && b(i);
16
+ }, [i]);
17
17
  const w = (f) => {
18
- n === void 0 && b(f), g?.(f);
18
+ i === void 0 && b(f), g?.(f);
19
19
  };
20
- return /* @__PURE__ */ r(N.Provider, { value: { variant: t, size: a, activeValue: y, hideInactiveLabel: e, tooltipClassName: s, maxWords: o }, children: /* @__PURE__ */ r(
20
+ return /* @__PURE__ */ r(N.Provider, { value: { variant: e, size: a, activeValue: y, hideInactiveLabel: t, tooltipClassName: n, maxWords: o }, children: /* @__PURE__ */ r(
21
21
  c.Root,
22
22
  {
23
- ref: v,
24
- value: n,
23
+ ref: h,
24
+ value: i,
25
25
  defaultValue: x,
26
26
  onValueChange: w,
27
27
  "data-component": "tabs",
28
- "data-variant": t,
29
- ...l
28
+ "data-variant": e,
29
+ ...d
30
30
  }
31
31
  ) });
32
32
  });
33
- L.displayName = c.Root.displayName;
34
- const E = i.forwardRef(({ className: t, ...a }, e) => {
35
- const { variant: s } = i.useContext(N);
33
+ S.displayName = c.Root.displayName;
34
+ const F = s.forwardRef(({ className: e, ...a }, t) => {
35
+ const { variant: n } = s.useContext(N);
36
36
  return /* @__PURE__ */ r(
37
37
  c.List,
38
38
  {
39
- ref: e,
39
+ ref: t,
40
40
  "data-tabs": "list",
41
41
  className: p(
42
42
  "inline-flex items-center justify-center rounded-lg",
43
- s === "line" && "h-10 bg-white border w-full justify-start gap-2 px-2 shrink-0 py-0",
44
- s === "pill" && "h-10 p-1 bg-[#eceefd] text-[#4259ee] gap-1",
45
- s === "outline" && "bg-transparent gap-2 p-0 w-full justify-start",
46
- s === "box" && "h-auto bg-transparent border-0 w-full justify-start gap-[16px] p-0 shrink-0",
47
- t
43
+ n === "line" && "h-[38px] bg-canvas-elevated border w-full justify-start gap-2 px-2 shrink-0 py-0",
44
+ n === "pill" && "h-[38px] p-1 bg-brand-tint text-brand gap-1",
45
+ n === "outline" && "bg-transparent gap-2 p-0 w-full justify-start",
46
+ n === "box" && "h-auto bg-transparent border-0 w-full justify-start gap-[16px] p-0 shrink-0",
47
+ e
48
48
  ),
49
49
  ...a
50
50
  }
51
51
  );
52
- }), S = i.forwardRef(({ className: t, icon: a, children: e, maxWords: s, activeColor: o, style: n, ...x }, g) => {
53
- const { variant: l, size: v, activeValue: y, hideInactiveLabel: b, tooltipClassName: w, maxWords: f } = i.useContext(N), m = s ?? f, h = y === x.value, T = typeof e == "string", R = T && m ? I(e, m) : e, k = T && m && e.split(/\s+/).length > m, V = b && !h || k, d = { ...n };
54
- l === "box" && o && (d["--tab-border"] = o.border, d["--tab-bg"] = o.bg, d["--tab-text"] = o.text, d["--tab-hover-border"] = `color-mix(in srgb, ${o.border} 40%, transparent)`, d["--tab-hover-bg"] = `color-mix(in srgb, ${o.bg} 50%, white)`, d["--tab-hover-text"] = `color-mix(in srgb, ${o.text} 60%, #60697D)`);
55
- const C = l === "box" ? /* @__PURE__ */ u(j, { children: [
56
- e,
57
- h && /* @__PURE__ */ r(
52
+ }), $ = s.forwardRef(({ className: e, icon: a, children: t, maxWords: n, activeColor: o, style: i, ...x }, g) => {
53
+ const { variant: d, size: h, activeValue: y, hideInactiveLabel: b, tooltipClassName: w, maxWords: f } = s.useContext(N), v = n ?? f, m = y === x.value, T = typeof t == "string", R = T && v ? L(t, v) : t, k = T && v && t.split(/\s+/).length > v, V = b && !m || k, l = { ...i };
54
+ d === "box" && o && (l["--tab-border"] = o.border, l["--tab-bg"] = o.bg, l["--tab-text"] = o.text, l["--tab-hover-border"] = `color-mix(in srgb, ${o.border} 40%, transparent)`, l["--tab-hover-bg"] = `color-mix(in srgb, ${o.bg} 50%, white)`, l["--tab-hover-text"] = `color-mix(in srgb, ${o.text} 60%, var(--color-foreground-tertiary))`);
55
+ const C = d === "box" ? /* @__PURE__ */ u(j, { children: [
56
+ t,
57
+ m && /* @__PURE__ */ r(
58
58
  "span",
59
59
  {
60
60
  className: "absolute -bottom-[5.5px] left-1/2 -translate-x-1/2 w-[11px] h-[11px] rotate-45 border-b border-r",
@@ -62,8 +62,8 @@ const E = i.forwardRef(({ className: t, ...a }, e) => {
62
62
  }
63
63
  )
64
64
  ] }) : /* @__PURE__ */ u(j, { children: [
65
- a && /* @__PURE__ */ r("span", { className: p("h-4 w-4 shrink-0", !b || h ? "mr-2" : "mr-0"), children: a }),
66
- /* @__PURE__ */ r("span", { className: p(b && !h && "sr-only"), children: R })
65
+ a && /* @__PURE__ */ r("span", { className: p("h-4 w-4 shrink-0", !b || m ? "mr-2" : "mr-0"), children: a }),
66
+ /* @__PURE__ */ r("span", { className: p(b && !m && "sr-only"), children: R })
67
67
  ] });
68
68
  return /* @__PURE__ */ r(
69
69
  c.Trigger,
@@ -72,65 +72,65 @@ const E = i.forwardRef(({ className: t, ...a }, e) => {
72
72
  "data-tabs": "trigger",
73
73
  className: p(
74
74
  "relative inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
75
- l === "line" && [
76
- "h-full rounded-none border-b-2 border-transparent px-1 text-[13px] font-medium capitalize text-[#60697d] -mb-[1px]",
77
- "data-[state=active]:border-[#4259ee] data-[state=active]:text-[#4259ee] data-[state=active]:shadow-none",
78
- "hover:text-[#4259ee] py-1.5 px-3"
75
+ d === "line" && [
76
+ "h-full rounded-none border-b-2 border-transparent px-1 text-[13px] font-medium capitalize text-content-tertiary -mb-[1px]",
77
+ "data-[state=active]:border-brand data-[state=active]:text-brand data-[state=active]:shadow-none",
78
+ "hover:text-brand py-1.5 px-3"
79
79
  ],
80
- l === "pill" && [
81
- "rounded-md text-[#4259ee]/70 text-[13px]",
82
- "data-[state=active]:bg-white data-[state=active]:text-[#4259ee] data-[state=active]:shadow-sm",
80
+ d === "pill" && [
81
+ "rounded-md text-brand/70 text-[13px]",
82
+ "data-[state=active]:bg-canvas-elevated data-[state=active]:text-brand data-[state=active]:shadow-sm",
83
83
  "py-1.5 px-3"
84
84
  ],
85
- l === "outline" && [
86
- "rounded-full border border-[#5f6673] bg-white text-[#5f6673] font-['Manrope']",
87
- "hover:bg-slate-50 hover:text-[#1f2b4d]",
88
- "data-[state=active]:border-[#4259ee] data-[state=active]:text-[#4259ee]",
89
- v === "sm" ? "h-[24px] px-[8px] py-[2px] text-xs" : "h-9 px-4 py-2"
85
+ d === "outline" && [
86
+ "rounded-full border border-content-badge bg-canvas-elevated text-content-badge font-['Manrope']",
87
+ "hover:bg-canvas-muted hover:text-content",
88
+ "data-[state=active]:border-brand data-[state=active]:text-brand",
89
+ h === "sm" ? "h-[24px] px-[8px] py-[2px] text-xs" : "h-9 px-4 py-2"
90
90
  ],
91
- l === "box" && [
92
- "group flex flex-row items-center justify-between min-w-[231px] w-fit gap-4 min-h-[45px] h-auto py-2 px-[16px] rounded-[8px] bg-white text-[#60697D] transition-none overflow-visible",
93
- "border border-[#C3C8D4]",
91
+ d === "box" && [
92
+ "group flex flex-row items-center justify-between min-w-[231px] w-fit gap-4 min-h-[45px] h-auto py-2 px-[16px] rounded-[8px] bg-canvas-elevated text-content-tertiary transition-none overflow-visible",
93
+ "border border-stroke-field",
94
94
  "text-[16px]",
95
- "hover:border-[color:var(--tab-hover-border,#c5cbee)] hover:bg-[color:var(--tab-hover-bg,#f0f1fd)] hover:text-[color:var(--tab-hover-text,#7a84b8)]",
96
- "data-[state=active]:border-[color:var(--tab-border,#4259ee)]",
97
- "data-[state=active]:bg-[color:var(--tab-bg,#f8f9fb)]",
98
- "data-[state=active]:text-[color:var(--tab-text,#3649c6)]"
95
+ "hover:border-[color:var(--tab-hover-border,var(--color-tab-hover-border))] hover:bg-[color:var(--tab-hover-bg,var(--color-tab-hover-surface))] hover:text-[color:var(--tab-hover-text,var(--color-tab-hover-foreground))]",
96
+ "data-[state=active]:border-[color:var(--tab-border,var(--color-tab-active-border))]",
97
+ "data-[state=active]:bg-[color:var(--tab-bg,var(--color-tab-active-surface))]",
98
+ "data-[state=active]:text-[color:var(--tab-text,var(--color-tab-active-foreground))]"
99
99
  ],
100
- t
100
+ e
101
101
  ),
102
- style: d,
102
+ style: l,
103
103
  ...x,
104
104
  children: V ? /* @__PURE__ */ u(W, { children: [
105
105
  /* @__PURE__ */ r(z, { asChild: !0, children: /* @__PURE__ */ r("span", { className: "inline-flex items-center justify-center h-full w-full", children: C }) }),
106
- /* @__PURE__ */ r(D, { variant: "tertiary", className: w, children: e })
106
+ /* @__PURE__ */ r(I, { variant: "tertiary", className: w, children: t })
107
107
  ] }) : C
108
108
  }
109
109
  );
110
110
  });
111
- S.displayName = c.Trigger.displayName;
112
- const $ = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
111
+ $.displayName = c.Trigger.displayName;
112
+ const M = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r(
113
113
  c.Content,
114
114
  {
115
- ref: e,
115
+ ref: t,
116
116
  "data-tabs": "content",
117
117
  className: p(
118
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
119
- t
118
+ "mt-2 ring-offset-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2",
119
+ e
120
120
  ),
121
121
  ...a
122
122
  }
123
123
  ));
124
- $.displayName = c.Content.displayName;
125
- const M = i.forwardRef(({ className: t, activeImage: a, inactiveImage: e, ...s }, o) => /* @__PURE__ */ u("div", { ref: o, className: p("relative flex items-center justify-center shrink-0", t), ...s, children: [
126
- /* @__PURE__ */ r("div", { className: "flex group-data-[state=active]:hidden", children: e }),
124
+ M.displayName = c.Content.displayName;
125
+ const P = s.forwardRef(({ className: e, activeImage: a, inactiveImage: t, ...n }, o) => /* @__PURE__ */ u("div", { ref: o, className: p("relative flex items-center justify-center shrink-0", e), ...n, children: [
126
+ /* @__PURE__ */ r("div", { className: "flex group-data-[state=active]:hidden", children: t }),
127
127
  /* @__PURE__ */ r("div", { className: "hidden group-data-[state=active]:flex", children: a })
128
128
  ] }));
129
- M.displayName = "TabsImage";
129
+ P.displayName = "TabsImage";
130
130
  export {
131
- L as Tabs,
132
- $ as TabsContent,
133
- M as TabsImage,
134
- E as TabsList,
135
- S as TabsTrigger
131
+ S as Tabs,
132
+ M as TabsContent,
133
+ P as TabsImage,
134
+ F as TabsList,
135
+ $ as TabsTrigger
136
136
  };
@@ -16,6 +16,7 @@ export interface TagGroupProps extends React.HTMLAttributes<HTMLDivElement>, Var
16
16
  rightIcon?: TagProps["rightIcon"];
17
17
  removable?: TagProps["removable"];
18
18
  onRemove?: TagProps["onRemove"];
19
+ className?: TagProps["className"];
19
20
  }>;
20
21
  asChild?: boolean;
21
22
  }
@@ -27,26 +27,27 @@ const w = d("flex", {
27
27
  wrap: "nowrap"
28
28
  }
29
29
  }), g = c.forwardRef(
30
- ({ className: n, spacing: a, orientation: r, wrap: p, tags: t, asChild: i = !1, ...m }, l) => /* @__PURE__ */ e(
31
- i ? f : "div",
30
+ ({ className: n, spacing: o, orientation: r, wrap: p, tags: i, asChild: t = !1, ...m }, l) => /* @__PURE__ */ e(
31
+ t ? f : "div",
32
32
  {
33
33
  ref: l,
34
- className: v(w({ spacing: a, orientation: r, wrap: p }), n),
34
+ className: v(w({ spacing: o, orientation: r, wrap: p }), n),
35
35
  "data-component": "tag-group",
36
- "data-spacing": a ?? "md",
36
+ "data-spacing": o ?? "md",
37
37
  "data-orientation": r ?? "horizontal",
38
38
  ...m,
39
- children: t.map((o, s) => /* @__PURE__ */ e(
39
+ children: i.map((a, s) => /* @__PURE__ */ e(
40
40
  h,
41
41
  {
42
- variant: o.variant,
43
- size: o.size,
44
- shape: o.shape,
45
- leftIcon: o.leftIcon,
46
- rightIcon: o.rightIcon,
47
- removable: o.removable,
48
- onRemove: o.onRemove,
49
- children: o.label
42
+ variant: a.variant,
43
+ size: a.size,
44
+ shape: a.shape,
45
+ leftIcon: a.leftIcon,
46
+ rightIcon: a.rightIcon,
47
+ removable: a.removable,
48
+ onRemove: a.onRemove,
49
+ className: a.className,
50
+ children: a.label
50
51
  },
51
52
  s
52
53
  ))
@@ -1,26 +1,26 @@
1
- import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
- import * as x from "react";
3
- import { Slot as h } from "@radix-ui/react-slot";
4
- import { cva as u } from "class-variance-authority";
5
- import { X as v } from "lucide-react";
6
- import { Button as w } from "./button.js";
7
- import { cn as y } from "../../lib/utils.js";
8
- import { useImpactNovaI18n as N } from "../../i18n/ImpactNovaI18nContext.js";
9
- const j = u(
10
- "inline-flex items-center justify-center rounded-full transition-colors whitespace-nowrap focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
+ import * as f from "react";
3
+ import { Slot as v } from "@radix-ui/react-slot";
4
+ import { cva as h } from "class-variance-authority";
5
+ import { X as x } from "lucide-react";
6
+ import { Button as y } from "./button.js";
7
+ import { cn as k } from "../../lib/utils.js";
8
+ import { useImpactNovaI18n as w } from "../../i18n/ImpactNovaI18nContext.js";
9
+ const N = h(
10
+ "inline-flex items-center justify-center rounded-full transition-colors whitespace-nowrap focus:outline-none focus:ring-2 focus:ring-focus-ring focus:ring-offset-2",
11
11
  {
12
12
  variants: {
13
13
  variant: {
14
- default: "bg-primary text-white hover:bg-primary/90",
15
- secondary: "bg-[#eceefd] text-[#1f2b4d] hover:bg-[#dfe4fd]",
16
- outline: "border border-[#b3bdf8] bg-white text-[#60697d] hover:bg-slate-50",
17
- tertiary: "bg-[#f1f2f4] text-[#1f2b4d] hover:bg-[#e2e4e9]",
18
- ghost: "bg-transparent text-[#60697d] hover:bg-slate-100",
19
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
20
- success: "bg-green-100 text-green-700 hover:bg-green-200 border border-green-200",
21
- warning: "bg-yellow-100 text-yellow-700 hover:bg-yellow-200 border border-yellow-200",
22
- info: "bg-[#eceefd] text-[#4259ee] hover:bg-[#dfe4fd] border border-[#b3bdf8]",
23
- choice: "bg-[#00000014] text-[#60697d] border border-[#b3bdf8] hover:bg-white hover:shadow-[0px_0px_4px_0px_rgba(0,0,0,0.12)]"
14
+ default: "bg-brand text-brand-foreground hover:bg-brand/90",
15
+ secondary: "bg-accent text-content hover:bg-brand-tint-hover",
16
+ outline: "border border-stroke-accent bg-canvas-elevated text-content-tertiary hover:bg-canvas-muted",
17
+ tertiary: "bg-secondary text-content hover:bg-muted",
18
+ ghost: "bg-transparent text-content-tertiary hover:bg-muted",
19
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive-hover",
20
+ success: "bg-feedback-success-surface text-success hover:bg-success/15 border border-success-border",
21
+ warning: "bg-feedback-warning-surface text-content hover:bg-warning/15 border border-warning-border",
22
+ info: "bg-brand-tint text-brand hover:bg-brand-tint-hover border border-stroke-accent",
23
+ choice: "bg-content/[0.08] text-content-tertiary border border-stroke-accent hover:bg-canvas-elevated hover:shadow-elevation-floating"
24
24
  },
25
25
  size: {
26
26
  sm: "h-[22px] px-2 text-[12px] leading-[15px]",
@@ -39,36 +39,36 @@ const j = u(
39
39
  shape: "pill"
40
40
  }
41
41
  }
42
- ), k = x.forwardRef(
43
- ({ className: i, variant: r, size: t, shape: o, leftIcon: a, rightIcon: n, removable: s, onRemove: d, asChild: l = !1, children: p, ...f }, g) => {
44
- const { t: b } = N();
45
- return /* @__PURE__ */ m(
46
- l ? h : "span",
42
+ ), j = f.forwardRef(
43
+ ({ className: s, variant: t, size: r, shape: n, leftIcon: o, rightIcon: a, removable: i, onRemove: c, asChild: d = !1, children: l, ...b }, g) => {
44
+ const { t: m } = w();
45
+ return /* @__PURE__ */ p(
46
+ d ? v : "span",
47
47
  {
48
48
  ref: g,
49
- className: y(j({ variant: r, size: t, shape: o }), i),
49
+ className: k(N({ variant: t, size: r, shape: n }), s),
50
50
  "data-component": "tag",
51
- "data-variant": r ?? "default",
52
- "data-size": t ?? "md",
53
- "data-shape": o ?? "pill",
54
- ...f,
51
+ "data-variant": t ?? "default",
52
+ "data-size": r ?? "md",
53
+ "data-shape": n ?? "pill",
54
+ ...b,
55
55
  children: [
56
- a && /* @__PURE__ */ e("span", { className: "mr-1.5 flex shrink-0 items-center justify-center", children: a }),
57
- p,
58
- n && /* @__PURE__ */ e("span", { className: "ml-1.5 flex shrink-0 items-center justify-center", children: n }),
59
- s && /* @__PURE__ */ e(
60
- w,
56
+ o && /* @__PURE__ */ e("span", { className: "mr-1.5 flex shrink-0 items-center justify-center", children: o }),
57
+ l,
58
+ a && /* @__PURE__ */ e("span", { className: "ml-1.5 flex shrink-0 items-center justify-center", children: a }),
59
+ i && /* @__PURE__ */ e(
60
+ y,
61
61
  {
62
62
  type: "button",
63
63
  variant: "ghost",
64
64
  size: "icon",
65
- "aria-label": b("aria.remove"),
66
- onClick: (c) => {
67
- c.stopPropagation(), d?.();
65
+ "aria-label": m("aria.remove"),
66
+ onClick: (u) => {
67
+ u.stopPropagation(), c?.();
68
68
  },
69
- className: "ml-1.5 h-4 w-4 shrink-0 rounded-full hover:bg-black/10 transition-colors p-0 [&_svg]:size-3",
69
+ className: "ml-1.5 h-4 w-4 shrink-0 rounded-full hover:bg-content/10 transition-colors p-0 [&_svg]:size-3",
70
70
  "data-component": "tag-remove",
71
- children: /* @__PURE__ */ e(v, {})
71
+ children: /* @__PURE__ */ e(x, {})
72
72
  }
73
73
  )
74
74
  ]
@@ -76,8 +76,8 @@ const j = u(
76
76
  );
77
77
  }
78
78
  );
79
- k.displayName = "Tag";
79
+ j.displayName = "Tag";
80
80
  export {
81
- k as Tag,
82
- j as tagVariants
81
+ j as Tag,
82
+ N as tagVariants
83
83
  };