impact-nova 2.1.0-alpha.7 → 2.1.0-alpha.9

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 (108) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +6 -0
  2. package/dist/components/data/ag-grid-react/build-ag-grid-theme.d.ts +3 -0
  3. package/dist/components/data/ag-grid-react/cell-renderers/editors/input-cell-editor.js +58 -58
  4. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.d.ts +9 -0
  5. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.js +15 -0
  6. package/dist/components/data/ag-grid-react/headers/column-menu/column-settings-menu.js +78 -73
  7. package/dist/components/data/ag-grid-react/headers/custom-header.js +3 -1
  8. package/dist/components/data/ag-grid-react/headers/header-search-input.js +87 -91
  9. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  10. package/dist/components/data/ag-grid-react/index.js +109 -100
  11. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.d.ts +3 -2
  12. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.js +4 -3
  13. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.d.ts +3 -0
  14. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.js +10 -0
  15. package/dist/components/data/ag-grid-react/theme.d.ts +1 -0
  16. package/dist/components/data/ag-grid-react/theme.js +93 -21
  17. package/dist/components/data/data-table/column-indicator.d.ts +1 -1
  18. package/dist/components/data/data-table/column-indicator.js +15 -11
  19. package/dist/components/data/data-table/data-table-column-def-pin.d.ts +9 -4
  20. package/dist/components/data/data-table/data-table-column-def-pin.js +38 -38
  21. package/dist/components/data/data-table/data-table-saved-views.js +37 -37
  22. package/dist/components/data/data-table/data-table.js +78 -73
  23. package/dist/components/data/data-table/data-table.types.d.ts +7 -1
  24. package/dist/components/data/data-table/indicator-legend.d.ts +13 -2
  25. package/dist/components/data/data-table/indicator-legend.js +20 -17
  26. package/dist/components/data/data-table/pin-switch.js +9 -9
  27. package/dist/components/data/data-table/use-data-table-column-list-sync.js +92 -89
  28. package/dist/components/data/nested-list/nested-list-change-detection.d.ts +11 -0
  29. package/dist/components/data/nested-list/nested-list-change-detection.js +13 -0
  30. package/dist/components/data/nested-list/nested-list.js +107 -97
  31. package/dist/components/data-display/calendar/calendar.d.ts +1 -1
  32. package/dist/components/data-display/calendar/calendar.js +194 -189
  33. package/dist/components/data-display/chart/chart-palette.d.ts +16 -0
  34. package/dist/components/data-display/chart/chart-palette.js +28 -0
  35. package/dist/components/data-display/chart/chart.js +121 -115
  36. package/dist/components/data-display/chart/chart.utils.js +9 -6
  37. package/dist/components/data-display/chart/index.d.ts +1 -0
  38. package/dist/components/data-display/chart/index.js +15 -9
  39. package/dist/components/data-display/chart/resolve-highcharts-options.d.ts +3 -0
  40. package/dist/components/data-display/chart/resolve-highcharts-options.js +35 -0
  41. package/dist/components/data-display/statistics-card/statistics-card.color.d.ts +6 -0
  42. package/dist/components/data-display/statistics-card/statistics-card.color.js +19 -0
  43. package/dist/components/data-display/statistics-card/statistics-card.hooks.js +50 -48
  44. package/dist/components/data-display/statistics-card/statistics-card.js +127 -146
  45. package/dist/components/feedback/alert-dialog/alert-dialog.js +15 -15
  46. package/dist/components/feedback/dialog/dialog.js +3 -3
  47. package/dist/components/feedback/drawer/drawer.js +32 -32
  48. package/dist/components/feedback/sheet/sheet.js +8 -8
  49. package/dist/components/feedback/sheet/sheet.variants.js +1 -1
  50. package/dist/components/feedback/toast/toast.js +83 -92
  51. package/dist/components/flows/command-palette/command-palette-context.types.d.ts +5 -0
  52. package/dist/components/flows/command-palette/command-palette.d.ts +4 -16
  53. package/dist/components/flows/command-palette/command-palette.js +245 -258
  54. package/dist/components/flows/command-palette/command-palette.types.d.ts +9 -0
  55. package/dist/components/flows/command-palette/shortcut-overlay.js +6 -6
  56. package/dist/components/flows/filter-panel/filter-panel.d.ts +3 -2
  57. package/dist/components/flows/filter-panel/filter-panel.js +99 -104
  58. package/dist/components/flows/filter-strip/filter-summary.js +41 -41
  59. package/dist/components/flows/filter-strip/filter-tag-list.js +48 -48
  60. package/dist/components/flows/wizard/wizard.js +32 -32
  61. package/dist/components/forms/choice-card/choice-card.d.ts +2 -2
  62. package/dist/components/forms/choice-card/choice-card.js +156 -166
  63. package/dist/components/forms/combobox/combobox.js +70 -70
  64. package/dist/components/forms/date-picker/date-picker.js +31 -30
  65. package/dist/components/forms/file-upload/file-upload.js +146 -168
  66. package/dist/components/forms/prompt/prompt.js +47 -48
  67. package/dist/components/forms/select/components/SelectAllRow.js +14 -14
  68. package/dist/components/forms/select/components/SelectMenuFooter.js +12 -12
  69. package/dist/components/forms/select/components/SelectMenuHeader.js +44 -44
  70. package/dist/components/forms/select/components/SelectMenuListBody.js +22 -22
  71. package/dist/components/forms/select/components/SelectMenuPanel.js +8 -8
  72. package/dist/components/forms/select/components/SelectOptionRow.js +62 -62
  73. package/dist/components/forms/select/select.d.ts +5 -4
  74. package/dist/components/forms/select/select.js +123 -120
  75. package/dist/components/forms/select/select.types.d.ts +95 -204
  76. package/dist/components/forms/slider/slider.js +17 -17
  77. package/dist/components/forms/smart-input/smart-input.js +49 -49
  78. package/dist/components/forms/textarea/textarea.js +25 -25
  79. package/dist/components/layout/breadcrumb/breadcrumb.js +112 -118
  80. package/dist/components/layout/header/header.d.ts +5 -17
  81. package/dist/components/layout/header/header.js +113 -116
  82. package/dist/components/layout/header/header.types.d.ts +3 -0
  83. package/dist/components/layout/sidebar/sidebar.js +5 -5
  84. package/dist/components/layout/sidebar/sidebar.variants.js +1 -1
  85. package/dist/components/primitives/accordion/accordion.js +38 -41
  86. package/dist/components/primitives/kbd/kbd.variants.js +1 -1
  87. package/dist/i18n/defaultMessages.d.ts +2 -0
  88. package/dist/i18n/defaultMessages.js +6 -4
  89. package/dist/i18n/locales/de.js +2 -0
  90. package/dist/i18n/locales/es.js +2 -0
  91. package/dist/i18n/locales/hi.js +2 -0
  92. package/dist/i18n/locales/kn.js +2 -0
  93. package/dist/impact-nova-base.scss +8 -5
  94. package/dist/impact-nova-components.css +2 -2
  95. package/dist/impact-nova-tokens.scss +346 -189
  96. package/dist/impact-nova.css +1 -1
  97. package/dist/index.js +505 -499
  98. package/dist/lib/resolve-design-token-color.d.ts +5 -0
  99. package/dist/lib/resolve-design-token-color.js +12 -0
  100. package/dist/llms/rules/ag-grid.js +1 -1
  101. package/dist/llms/rules/installation.js +1 -1
  102. package/dist/llms/rules/requirements.js +1 -1
  103. package/dist/tailwind.config.js +297 -0
  104. package/dist/theme/tailwind-colors.js +199 -0
  105. package/dist/theme/tokens/chart-series-palette.json.d.ts +53 -0
  106. package/dist/theme/tokens/chart-series-palette.json.js +7 -0
  107. package/package.json +32 -259
  108. package/tailwind.config.js +0 -335
@@ -1,25 +1,13 @@
1
- import { BadgeProps } from '../../data-display/badge';
2
- import { KeyBinding } from '../../primitives/kbd';
1
+ import { HeaderProps, HeaderLogoProps, HeaderTitleProps, HeaderBadgeProps, HeaderBotButtonProps, NotificationIconButtonProps } from './header.types';
3
2
  import * as React from "react";
4
- declare const Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
3
+ declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
5
4
  declare const HeaderLeft: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
6
5
  declare const HeaderRight: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
6
  /** Home/logo link — pass logo content as `children` (e.g. `<img src={IAUrl} />`). No default logo. */
8
- declare const HeaderLogo: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.RefAttributes<HTMLAnchorElement>>;
7
+ declare const HeaderLogo: React.ForwardRefExoticComponent<HeaderLogoProps & React.RefAttributes<HTMLAnchorElement>>;
9
8
  declare const HeaderSeparator: React.ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-separator').SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- declare const HeaderTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
11
- declare const HeaderBadge: {
12
- ({ className, children, style, ...props }: Omit<BadgeProps, "size" | "shape">): import("react/jsx-runtime").JSX.Element;
13
- displayName: string;
14
- };
15
- type HeaderBotButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
9
+ declare const HeaderTitle: React.ForwardRefExoticComponent<HeaderTitleProps & React.RefAttributes<HTMLHeadingElement>>;
10
+ declare const HeaderBadge: React.ForwardRefExoticComponent<HeaderBadgeProps & React.RefAttributes<HTMLDivElement>>;
16
11
  declare const HeaderBotButton: React.ForwardRefExoticComponent<HeaderBotButtonProps & React.RefAttributes<HTMLButtonElement>>;
17
- interface NotificationIconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
18
- showIndicator?: boolean;
19
- /** Passed through to the underlying icon `Button` tooltip. */
20
- tooltipSide?: "top" | "bottom" | "left" | "right";
21
- /** Keyboard shortcut shown in the tooltip next to the label (requires `aria-label`). */
22
- tooltipKeybinding?: KeyBinding;
23
- }
24
12
  declare const NotificationIconButton: React.ForwardRefExoticComponent<NotificationIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
25
13
  export { Header, HeaderLeft, HeaderRight, HeaderLogo, HeaderSeparator, HeaderTitle, HeaderBadge, HeaderBotButton, NotificationIconButton, };
@@ -1,16 +1,19 @@
1
- import { jsx as o, jsxs as c, Fragment as f } from "react/jsx-runtime";
2
- import * as i from "react";
1
+ import { jsx as r, jsxs as c, Fragment as g } from "react/jsx-runtime";
2
+ import "react";
3
3
  import { cn as n } from "../../../lib/utils.js";
4
- import { Button as p } from "../../primitives/button/button.js";
5
- import { Badge as u } from "../../data-display/badge/badge.js";
4
+ import { createComponent as i } from "../../../lib/primitives/create-component.js";
5
+ import { createCompoundPart as m } from "../../../lib/primitives/create-compound.js";
6
+ import { Button as h } from "../../primitives/button/button.js";
7
+ import { Badge as b } from "../../data-display/badge/badge.js";
6
8
  import { Separator as x } from "../../data-display/separator/separator.js";
7
- import { Alan as h, Bell as g } from "impact-nova-icons";
8
- import { useImpactNovaI18n as m } from "../../../i18n/use-impact-nova-i18n.js";
9
- const b = i.forwardRef(
10
- ({ className: a, children: e, ...t }, r) => /* @__PURE__ */ o(
9
+ import { Alan as v, Bell as N } from "impact-nova-icons";
10
+ import { useImpactNovaI18n as p } from "../../../i18n/use-impact-nova-i18n.js";
11
+ const I = i(
12
+ "Header",
13
+ ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
11
14
  "header",
12
15
  {
13
- ref: r,
16
+ ref: o,
14
17
  "data-component": "header",
15
18
  className: n(
16
19
  "sticky top-0 z-40 flex h-14 w-full items-center justify-between bg-canvas-elevated px-6 shadow-elevation-header",
@@ -20,47 +23,34 @@ const b = i.forwardRef(
20
23
  children: e
21
24
  }
22
25
  )
23
- );
24
- b.displayName = "Header";
25
- const N = i.forwardRef(({ className: a, children: e, ...t }, r) => /* @__PURE__ */ o(
26
- "div",
27
- {
28
- ref: r,
29
- className: n("flex flex-row items-center justify-start", a),
30
- ...t,
31
- children: e
32
- }
33
- ));
34
- N.displayName = "HeaderLeft";
35
- const v = i.forwardRef(({ className: a, children: e, ...t }, r) => /* @__PURE__ */ o(
36
- "div",
37
- {
38
- ref: r,
39
- className: n("flex flex-row items-center justify-start gap-5", a),
40
- ...t,
41
- children: e
26
+ ), _ = m("header", {
27
+ part: "left",
28
+ displayName: "HeaderLeft",
29
+ className: "flex flex-row items-center justify-start"
30
+ }), C = m("header", {
31
+ part: "right",
32
+ displayName: "HeaderRight",
33
+ className: "flex flex-row items-center justify-start gap-5"
34
+ }), P = i(
35
+ "HeaderLogo",
36
+ ({ className: a, children: e, href: t = "/", "aria-label": o, ...s }, d) => {
37
+ const { t: l } = p();
38
+ return /* @__PURE__ */ r(
39
+ "a",
40
+ {
41
+ href: t,
42
+ ref: d,
43
+ "aria-label": o ?? l("aria.home"),
44
+ className: n(
45
+ "h-9 flex items-center justify-center cursor-pointer [&_img]:dark:brightness-0 [&_img]:dark:invert",
46
+ a
47
+ ),
48
+ ...s,
49
+ children: e
50
+ }
51
+ );
42
52
  }
43
- ));
44
- v.displayName = "HeaderRight";
45
- const y = i.forwardRef(({ className: a, children: e, href: t = "/", "aria-label": r, ...s }, d) => {
46
- const { t: l } = m();
47
- return /* @__PURE__ */ o(
48
- "a",
49
- {
50
- href: t,
51
- ref: d,
52
- "aria-label": r ?? l("aria.home"),
53
- className: n(
54
- "h-9 flex items-center justify-center cursor-pointer",
55
- a
56
- ),
57
- ...s,
58
- children: e
59
- }
60
- );
61
- });
62
- y.displayName = "HeaderLogo";
63
- const w = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ o(
53
+ ), R = i("HeaderSeparator", ({ className: a, ...e }, t) => /* @__PURE__ */ r(
64
54
  x,
65
55
  {
66
56
  ref: t,
@@ -68,90 +58,97 @@ const w = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ o(
68
58
  className: n("h-6 mx-3", a),
69
59
  ...e
70
60
  }
71
- ));
72
- w.displayName = "HeaderSeparator";
73
- const H = i.forwardRef(({ className: a, children: e, ...t }, r) => /* @__PURE__ */ o(
74
- "h1",
75
- {
76
- ref: r,
77
- className: n("text-base font-extrabold leading-6 text-content", a),
78
- ...t,
79
- children: e
80
- }
81
- )), R = ({ className: a, children: e, style: t, ...r }) => /* @__PURE__ */ o(
82
- u,
83
- {
84
- size: "sm",
85
- shape: "circle",
86
- className: n("border-none header-badge-gradient text-white", a),
87
- style: t,
88
- ...r,
89
- children: e
90
- }
91
- );
92
- R.displayName = "HeaderBadge";
93
- H.displayName = "HeaderTitle";
94
- const T = i.forwardRef(({ className: a, children: e, ...t }, r) => /* @__PURE__ */ o(
95
- "button",
96
- {
97
- ref: r,
98
- type: "button",
99
- className: n(
100
- "relative flex items-center justify-center w-[106px] h-[34px] gap-[7px] px-[11px] py-0 rounded-lg cursor-pointer border-0 outline-none",
101
- "header-bot-button-gradient",
102
- "animate-header-bot-gradient hover:animate-header-bot-gradient-fast motion-reduce:animate-none",
103
- a
104
- ),
105
- ...t,
106
- children: e || /* @__PURE__ */ c(f, { children: [
107
- /* @__PURE__ */ o(h, { size: 20, className: "text-brand-foreground" }),
108
- /* @__PURE__ */ o("span", { className: "text-sm font-semibold leading-[20px] text-brand-foreground whitespace-nowrap", children: "Ask Alan" })
109
- ] })
110
- }
111
- )), z = i.forwardRef(
61
+ )), T = i(
62
+ "HeaderTitle",
63
+ ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
64
+ "h1",
65
+ {
66
+ ref: o,
67
+ className: n("text-base font-extrabold leading-6 text-content", a),
68
+ ...t,
69
+ children: e
70
+ }
71
+ )
72
+ ), F = i(
73
+ "HeaderBadge",
74
+ ({ className: a, children: e, style: t, ...o }, s) => /* @__PURE__ */ r(
75
+ b,
76
+ {
77
+ ref: s,
78
+ size: "sm",
79
+ shape: "circle",
80
+ className: n("border-none header-badge-gradient text-brand-foreground", a),
81
+ style: t,
82
+ ...o,
83
+ children: e
84
+ }
85
+ )
86
+ ), q = i(
87
+ "HeaderBotButton",
88
+ ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
89
+ "button",
90
+ {
91
+ ref: o,
92
+ type: "button",
93
+ className: n(
94
+ "relative flex items-center justify-center w-[106px] h-[34px] gap-[7px] px-[11px] py-0 rounded-lg cursor-pointer border-0 outline-none",
95
+ "header-bot-button-gradient",
96
+ "animate-header-bot-gradient hover:animate-header-bot-gradient-fast motion-reduce:animate-none",
97
+ a
98
+ ),
99
+ ...t,
100
+ children: e || /* @__PURE__ */ c(g, { children: [
101
+ /* @__PURE__ */ r(v, { size: 20, className: "text-brand-foreground" }),
102
+ /* @__PURE__ */ r("span", { className: "text-sm font-semibold leading-[20px] text-brand-foreground whitespace-nowrap", children: "Ask Alan" })
103
+ ] })
104
+ }
105
+ )
106
+ ), D = i(
107
+ "NotificationIconButton",
112
108
  ({
113
109
  className: a,
114
110
  showIndicator: e,
115
- tooltipSide: t = "top",
116
- tooltipKeybinding: r,
117
- ...s
118
- }, d) => {
119
- const { t: l } = m();
111
+ indicatorVariant: t = "unread",
112
+ tooltipSide: o = "top",
113
+ tooltipKeybinding: s,
114
+ ...d
115
+ }, l) => {
116
+ const { t: f } = p(), u = t === "stale";
120
117
  return /* @__PURE__ */ c(
121
- p,
118
+ h,
122
119
  {
123
120
  variant: "ghost",
124
121
  size: "icon",
125
- ref: d,
126
- "aria-label": l("notificationPanel.title"),
127
- tooltipSide: t,
128
- tooltipKeybinding: r,
122
+ ref: l,
123
+ "aria-label": f("notificationPanel.title"),
124
+ tooltipSide: o,
125
+ tooltipKeybinding: s,
129
126
  "data-indicator": e ? "" : void 0,
127
+ "data-indicator-variant": e ? t : void 0,
130
128
  className: n(
131
129
  "relative text-content-header-notification [&_svg]:size-6 hover:text-content",
132
130
  a
133
131
  ),
134
- ...s,
132
+ ...d,
135
133
  children: [
136
- /* @__PURE__ */ o(g, { size: 24 }),
137
- e && /* @__PURE__ */ c("div", { className: "absolute top-1.5 right-1.5 size-2.5 pointer-events-none z-10", children: [
138
- /* @__PURE__ */ o("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2.5 rounded-full bg-feedback-error-surface animate-notification-waves motion-reduce:animate-none" }),
139
- /* @__PURE__ */ o("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2 rounded-full bg-destructive" })
140
- ] })
134
+ /* @__PURE__ */ r(N, { size: 24 }),
135
+ e && (u ? /* @__PURE__ */ r("div", { className: "absolute top-1.5 right-1.5 size-2 pointer-events-none z-10 rounded-full bg-content-tertiary" }) : /* @__PURE__ */ c("div", { className: "absolute top-1.5 right-1.5 size-2.5 pointer-events-none z-10", children: [
136
+ /* @__PURE__ */ r("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2.5 rounded-full bg-feedback-error-surface animate-notification-waves motion-reduce:animate-none" }),
137
+ /* @__PURE__ */ r("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2 rounded-full bg-destructive" })
138
+ ] }))
141
139
  ]
142
140
  }
143
141
  );
144
142
  }
145
143
  );
146
- z.displayName = "NotificationIconButton";
147
144
  export {
148
- b as Header,
149
- R as HeaderBadge,
150
- T as HeaderBotButton,
151
- N as HeaderLeft,
152
- y as HeaderLogo,
153
- v as HeaderRight,
154
- w as HeaderSeparator,
155
- H as HeaderTitle,
156
- z as NotificationIconButton
145
+ I as Header,
146
+ F as HeaderBadge,
147
+ q as HeaderBotButton,
148
+ _ as HeaderLeft,
149
+ P as HeaderLogo,
150
+ C as HeaderRight,
151
+ R as HeaderSeparator,
152
+ T as HeaderTitle,
153
+ D as NotificationIconButton
157
154
  };
@@ -11,8 +11,11 @@ export type HeaderSeparatorProps = React.ComponentPropsWithoutRef<typeof Separat
11
11
  export type HeaderTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
12
12
  export type HeaderBadgeProps = Omit<BadgeProps, "size" | "shape">;
13
13
  export type HeaderBotButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
14
+ export type NotificationIndicatorVariant = "unread" | "stale";
14
15
  export interface NotificationIconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
15
16
  showIndicator?: boolean;
17
+ /** `unread` — live count (destructive). `stale` — offline / unverified count (muted). */
18
+ indicatorVariant?: NotificationIndicatorVariant;
16
19
  /** Passed through to the underlying icon `Button` tooltip. */
17
20
  tooltipSide?: "top" | "bottom" | "left" | "right";
18
21
  /** Keyboard shortcut shown in the tooltip next to the label (requires `aria-label`). */
@@ -120,7 +120,7 @@ const ee = o.forwardRef(
120
120
  className: l(
121
121
  "absolute inset-y-0 left-0 z-[45] duration-200 ease-linear md:flex h-full w-[--sidebar-width] flex-col bg-navigation group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-navigation-border group-data-[variant=floating]:shadow",
122
122
  "group-data-[state=collapsed]:w-[--sidebar-width-icon]",
123
- r === "left" ? "border-e group-data-[variant=floating]:border-e-0" : "border-s group-data-[variant=floating]:border-s-0",
123
+ r === "left" ? "border-e border-navigation-border group-data-[variant=floating]:border-e-0" : "border-s border-navigation-border group-data-[variant=floating]:border-s-0",
124
124
  i
125
125
  ),
126
126
  ...d,
@@ -151,7 +151,7 @@ const ae = o.forwardRef(({ className: r, onClick: t, ...e }, i) => {
151
151
  variant: "ghost",
152
152
  size: "icon",
153
153
  className: l(
154
- "rounded-lg p-0 hover:bg-transparent h-10 w-10 min-h-10 min-w-10 [&_svg]:size-10",
154
+ "h-10 w-10 min-h-10 min-w-10 rounded-lg p-0 hover:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 [&_svg]:size-10",
155
155
  r
156
156
  ),
157
157
  onClick: (b) => {
@@ -250,7 +250,7 @@ const se = o.forwardRef(({ className: r, ...t }, e) => /* @__PURE__ */ a(
250
250
  ref: e,
251
251
  "data-sidebar": "separator",
252
252
  className: l(
253
- "mx-5 w-auto bg-sidebar-border group-data-[state=collapsed]:mx-0 group-data-[state=collapsed]:w-full",
253
+ "mx-5 w-auto bg-navigation-border group-data-[state=collapsed]:mx-0 group-data-[state=collapsed]:w-full",
254
254
  r
255
255
  ),
256
256
  ...t
@@ -299,12 +299,12 @@ const de = o.forwardRef(
299
299
  },
300
300
  children: [
301
301
  s.icon,
302
- /* @__PURE__ */ a("span", { children: s.label })
302
+ /* @__PURE__ */ a("span", { "data-sidebar": "menu-label", children: s.label })
303
303
  ]
304
304
  }
305
305
  ) : /* @__PURE__ */ g(C, { children: [
306
306
  s.icon,
307
- /* @__PURE__ */ a("span", { children: s.label })
307
+ /* @__PURE__ */ a("span", { "data-sidebar": "menu-label", children: s.label })
308
308
  ] })
309
309
  }
310
310
  ),
@@ -1,6 +1,6 @@
1
1
  import { cva as e } from "class-variance-authority";
2
2
  const t = e(
3
- "peer/menu-button flex w-full items-center gap-[22px] overflow-visible py-[14px] px-[20px] text-start text-[14px] outline-none ring-navigation-ring transition-[width,height,padding,background-color] hover:bg-navigation-item-active hover:text-navigation-on-hover focus-visible:ring-2 disabled:pointer-events-none disabled:text-navigation-muted group-has-[[data-sidebar=menu-action]]/menu-item:pe-8 aria-disabled:pointer-events-none aria-disabled:text-navigation-muted aria-disabled:opacity-50 hover:aria-disabled:bg-transparent data-[active=true]:bg-navigation-item-active data-[active=true]:font-medium data-[active=true]:text-navigation-on-hover cursor-pointer group-data-[state=collapsed]:!w-[var(--sidebar-width-icon)] group-data-[state=collapsed]:!h-12 group-data-[state=collapsed]:!p-0 group-data-[state=collapsed]:!ps-[20px] [&>[data-sidebar=menu-label]]:truncate [&>svg]:size-5 [&>img]:size-5 [&>svg]:shrink-0 [&>svg]:text-inherit group-data-[state=collapsed]:[&>[data-sidebar=menu-label]]:sr-only group-data-[state=collapsed]:[&>svg:not(:first-of-type)]:hidden [&>[data-sidebar=menu-button-chevron]]:ms-auto [&>[data-sidebar=menu-button-chevron]]:size-4 [&>[data-sidebar=menu-button-chevron]]:transition-transform [&>[data-sidebar=menu-button-chevron]]:duration-200 [&>[data-sidebar=menu-button-chevron]]:rotate-90 data-[state=open]:[&>[data-sidebar=menu-button-chevron]]:rotate-[270deg] before:absolute before:start-0 before:top-0 before:w-1 before:bg-success before:rounded-e-[4px] before:transition-[height] before:duration-200 before:linear before:z-20 data-[active=false]:before:h-0 data-[active=true]:before:h-full",
3
+ "peer/menu-button flex w-full items-center gap-[22px] overflow-hidden py-[14px] px-[20px] text-start text-[14px] outline-none ring-navigation-ring transition-[width,height,padding,background-color] hover:bg-navigation-item-active hover:text-navigation-on-hover focus-visible:ring-2 disabled:pointer-events-none disabled:text-navigation-muted group-has-[[data-sidebar=menu-action]]/menu-item:pe-8 aria-disabled:pointer-events-none aria-disabled:text-navigation-muted aria-disabled:opacity-50 hover:aria-disabled:bg-transparent data-[active=true]:bg-navigation-item-active data-[active=true]:font-medium data-[active=true]:text-navigation-on-hover cursor-pointer group-data-[state=collapsed]:!w-[var(--sidebar-width-icon)] group-data-[state=collapsed]:!h-12 group-data-[state=collapsed]:!p-0 group-data-[state=collapsed]:!ps-[20px] [&>[data-sidebar=menu-label]]:truncate [&>svg]:size-5 [&>img]:size-5 [&>svg]:shrink-0 [&>svg]:text-inherit group-data-[state=collapsed]:[&>[data-sidebar=menu-label]]:sr-only group-data-[state=collapsed]:[&>svg:not(:first-of-type)]:hidden [&>[data-sidebar=menu-button-chevron]]:ms-auto [&>[data-sidebar=menu-button-chevron]]:size-4 [&>[data-sidebar=menu-button-chevron]]:transition-transform [&>[data-sidebar=menu-button-chevron]]:duration-200 [&>[data-sidebar=menu-button-chevron]]:rotate-90 data-[state=open]:[&>[data-sidebar=menu-button-chevron]]:rotate-[270deg] before:absolute before:start-0 before:top-0 before:w-1 before:bg-success before:rounded-e-[4px] before:transition-[height] before:duration-200 before:linear before:z-20 data-[active=false]:before:h-0 data-[active=true]:before:h-full",
4
4
  {
5
5
  variants: {
6
6
  variant: {
@@ -1,44 +1,44 @@
1
1
  import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import * as l from "react";
3
- import * as t from "@radix-ui/react-accordion";
4
- import { ChevronRight as N } from "impact-nova-icons";
2
+ import "react";
3
+ import * as o from "@radix-ui/react-accordion";
4
+ import { ChevronRight as b } from "impact-nova-icons";
5
+ import { createComponent as l } from "../../../lib/primitives/create-component.js";
5
6
  import { cn as i } from "../../../lib/utils.js";
6
- import { useImpactNovaI18n as b } from "../../../i18n/use-impact-nova-i18n.js";
7
- const d = "motion-reduce:animate-none motion-reduce:transition-none", O = (n) => /* @__PURE__ */ e(t.Root, { "data-component": "accordion", ...n }), y = {
7
+ import { useImpactNovaI18n as N } from "../../../i18n/use-impact-nova-i18n.js";
8
+ const d = "motion-reduce:animate-none motion-reduce:transition-none", O = (n) => /* @__PURE__ */ e(o.Root, { "data-component": "accordion", ...n }), A = {
8
9
  2: "h2",
9
10
  3: "h3",
10
11
  4: "h4",
11
12
  5: "h5",
12
13
  6: "h6"
13
- }, p = "m-0 p-0 text-inherit font-inherit", w = l.forwardRef(({ className: n, ...o }, a) => /* @__PURE__ */ e(
14
- t.Item,
14
+ }, x = "m-0 p-0 text-inherit font-inherit", R = l("AccordionItem", ({ className: n, ...t }, r) => /* @__PURE__ */ e(
15
+ o.Item,
15
16
  {
16
- ref: a,
17
+ ref: r,
17
18
  "data-component": "accordion-item",
18
- "data-item": o.value,
19
- "data-disabled": o.disabled ? "" : void 0,
19
+ "data-item": t.value,
20
+ "data-disabled": t.disabled ? "" : void 0,
20
21
  className: i(
21
22
  "ia-accordion-item border-b rounded-lg bg-canvas-elevated border-border-subtle",
22
23
  n
23
24
  ),
24
- ...o
25
+ ...t
25
26
  }
26
- ));
27
- w.displayName = "AccordionItem";
28
- const C = l.forwardRef(
27
+ )), j = l(
28
+ "AccordionTrigger",
29
29
  ({
30
30
  className: n,
31
- children: o,
32
- badge: a,
33
- rightActions: r,
31
+ children: t,
32
+ badge: r,
33
+ rightActions: a,
34
34
  headingLevel: s = 2,
35
- variant: x = "default",
35
+ variant: h = "default",
36
36
  renderChevronTooltip: m,
37
37
  ...f
38
38
  }, u) => {
39
- const { t: h } = b(), g = y[s];
40
- return x === "plain" ? /* @__PURE__ */ e(t.Header, { asChild: !0, className: "flex flex-1", children: /* @__PURE__ */ e(g, { className: i("flex flex-1", p), children: /* @__PURE__ */ e(
41
- t.Trigger,
39
+ const { t: p } = N(), g = A[s];
40
+ return h === "plain" ? /* @__PURE__ */ e(o.Header, { asChild: !0, className: "flex flex-1", children: /* @__PURE__ */ e(g, { className: i("flex flex-1", x), children: /* @__PURE__ */ e(
41
+ o.Trigger,
42
42
  {
43
43
  ref: u,
44
44
  className: i(
@@ -47,19 +47,19 @@ const C = l.forwardRef(
47
47
  n
48
48
  ),
49
49
  ...f,
50
- children: o
50
+ children: t
51
51
  }
52
- ) }) }) : /* @__PURE__ */ e(t.Header, { asChild: !0, children: /* @__PURE__ */ c(
52
+ ) }) }) : /* @__PURE__ */ e(o.Header, { asChild: !0, children: /* @__PURE__ */ c(
53
53
  g,
54
54
  {
55
55
  className: i(
56
56
  "flex items-center",
57
- p
57
+ x
58
58
  ),
59
59
  style: { overflow: "visible" },
60
60
  children: [
61
61
  /* @__PURE__ */ c(
62
- t.Trigger,
62
+ o.Trigger,
63
63
  {
64
64
  ref: u,
65
65
  className: i(
@@ -75,7 +75,7 @@ const C = l.forwardRef(
75
75
  {
76
76
  className: `flex items-center justify-center h-8 w-8 shrink-0 rounded-lg bg-secondary text-secondary-foreground transition-transform duration-200 ${d}`,
77
77
  children: /* @__PURE__ */ e(
78
- N,
78
+ b,
79
79
  {
80
80
  size: 19,
81
81
  className: `transition-transform duration-200 ${d}`
@@ -83,38 +83,35 @@ const C = l.forwardRef(
83
83
  )
84
84
  }
85
85
  );
86
- return m ? m(v, h("aria.toggle")) : v;
86
+ return m ? m(v, p("aria.toggle")) : v;
87
87
  })(),
88
88
  /* @__PURE__ */ c("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
89
- o,
90
- a
89
+ t,
90
+ r
91
91
  ] })
92
92
  ]
93
93
  }
94
94
  ),
95
- r ? /* @__PURE__ */ e("div", { className: "flex shrink-0 items-center pe-4", children: r }) : null
95
+ a ? /* @__PURE__ */ e("div", { className: "flex shrink-0 items-center pe-4", children: a }) : null
96
96
  ]
97
97
  }
98
98
  ) });
99
99
  }
100
- );
101
- C.displayName = t.Trigger.displayName;
102
- const A = l.forwardRef(({ className: n, children: o, surfaceClassName: a, ...r }, s) => /* @__PURE__ */ e(
103
- t.Content,
100
+ ), D = l("AccordionContent", ({ className: n, children: t, surfaceClassName: r, ...a }, s) => /* @__PURE__ */ e(
101
+ o.Content,
104
102
  {
105
103
  ref: s,
106
104
  className: i(
107
105
  `overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down data-[state=open]:overflow-visible ${d}`,
108
- a
106
+ r
109
107
  ),
110
- ...r,
111
- children: /* @__PURE__ */ e("div", { className: i("px-4 pb-4 pt-2", n), children: o })
108
+ ...a,
109
+ children: /* @__PURE__ */ e("div", { className: i("px-4 pb-4 pt-2", n), children: t })
112
110
  }
113
111
  ));
114
- A.displayName = t.Content.displayName;
115
112
  export {
116
113
  O as Accordion,
117
- A as AccordionContent,
118
- w as AccordionItem,
119
- C as AccordionTrigger
114
+ D as AccordionContent,
115
+ R as AccordionItem,
116
+ j as AccordionTrigger
120
117
  };
@@ -11,7 +11,7 @@ const r = e(
11
11
  variant: {
12
12
  default: "bg-canvas-muted border-stroke-hairline text-content-charcoal shadow-[0_1px_0_0_var(--color-border-hairline)]",
13
13
  muted: "bg-stroke-hairline border-stroke-hairline text-secondary-foreground",
14
- dark: "bg-content text-canvas border-stroke shadow-[0_1px_0_0_hsl(0_0%_0%_/_0.25)]"
14
+ dark: "bg-content text-canvas border-stroke shadow-elevation-kbd-dark"
15
15
  }
16
16
  },
17
17
  defaultVariants: {
@@ -124,8 +124,10 @@ export interface DataTableMessages {
124
124
  /** Column indicator labels */
125
125
  indicatorSort: string;
126
126
  indicatorSearch: string;
127
+ indicatorNonSavable: string;
127
128
  indicatorSortedAriaLabel: string;
128
129
  indicatorFilteredAriaLabel: string;
130
+ indicatorNonSavableAriaLabel: string;
129
131
  /** Pin switch accessibility labels */
130
132
  pinSwitchPinnedLeft: string;
131
133
  pinSwitchPinnedRight: string;
@@ -47,7 +47,7 @@ const e = {
47
47
  between: "Between",
48
48
  inSet: "In Set",
49
49
  notInSet: "Not In Set"
50
- }, o = {
50
+ }, a = {
51
51
  search: "Search",
52
52
  searchPlaceholder: "Search...",
53
53
  select: "Select...",
@@ -62,7 +62,7 @@ const e = {
62
62
  logicAll: "all",
63
63
  logicAny: "any",
64
64
  operators: l
65
- }, a = {
65
+ }, o = {
66
66
  placeholder: "Select...",
67
67
  searchHere: "Search here...",
68
68
  selectAll: "Select All",
@@ -107,8 +107,10 @@ const e = {
107
107
  numericFullPrecision: "Full Precision (Decimal)",
108
108
  indicatorSort: "Sort",
109
109
  indicatorSearch: "Search",
110
+ indicatorNonSavable: "Non Savable",
110
111
  indicatorSortedAriaLabel: "Column is sorted",
111
112
  indicatorFilteredAriaLabel: "Column has active filter",
113
+ indicatorNonSavableAriaLabel: "Column is not saved with views",
112
114
  pinSwitchPinnedLeft: "Pinned left, click to pin right",
113
115
  pinSwitchPinnedRight: "Pinned right, click to pin left",
114
116
  pinSwitchNotPinned: "Not pinned, click to pin left",
@@ -244,8 +246,8 @@ const e = {
244
246
  }, v = {
245
247
  calendar: e,
246
248
  datePicker: t,
247
- filter: o,
248
- select: a,
249
+ filter: a,
250
+ select: o,
249
251
  nestedList: i,
250
252
  dataTable: n,
251
253
  aria: r,
@@ -113,8 +113,10 @@ const e = {
113
113
  numericFullPrecision: "Volle Präzision (Dezimal)",
114
114
  indicatorSort: "Sortierung",
115
115
  indicatorSearch: "Suche",
116
+ indicatorNonSavable: "Nicht speicherbar",
116
117
  indicatorSortedAriaLabel: "Spalte ist sortiert",
117
118
  indicatorFilteredAriaLabel: "Spalte hat aktiven Filter",
119
+ indicatorNonSavableAriaLabel: "Spalte wird nicht mit Ansichten gespeichert",
118
120
  pinSwitchPinnedLeft: "Links fixiert, klicken um rechts zu fixieren",
119
121
  pinSwitchPinnedRight: "Rechts fixiert, klicken um links zu fixieren",
120
122
  pinSwitchNotPinned: "Nicht fixiert, klicken um links zu fixieren",
@@ -113,8 +113,10 @@ const e = {
113
113
  numericFullPrecision: "Precisión completa (decimal)",
114
114
  indicatorSort: "Ordenar",
115
115
  indicatorSearch: "Buscar",
116
+ indicatorNonSavable: "No guardable",
116
117
  indicatorSortedAriaLabel: "Columna ordenada",
117
118
  indicatorFilteredAriaLabel: "Columna con filtro activo",
119
+ indicatorNonSavableAriaLabel: "La columna no se guarda con las vistas",
118
120
  pinSwitchPinnedLeft: "Fijado a la izquierda, clic para fijar a la derecha",
119
121
  pinSwitchPinnedRight: "Fijado a la derecha, clic para fijar a la izquierda",
120
122
  pinSwitchNotPinned: "No fijado, clic para fijar a la izquierda",
@@ -113,8 +113,10 @@ const e = {
113
113
  numericFullPrecision: "पूर्ण परिशुद्धता (दशमलव)",
114
114
  indicatorSort: "क्रमबद्ध",
115
115
  indicatorSearch: "खोज",
116
+ indicatorNonSavable: "गैर-सहेजने योग्य",
116
117
  indicatorSortedAriaLabel: "कॉलम क्रमबद्ध है",
117
118
  indicatorFilteredAriaLabel: "कॉलम में सक्रिय फ़िल्टर है",
119
+ indicatorNonSavableAriaLabel: "कॉलम व्यू के साथ सहेजा नहीं जाता",
118
120
  pinSwitchPinnedLeft: "बाएं पिन किया गया, दाएं पिन करने के लिए क्लिक करें",
119
121
  pinSwitchPinnedRight: "दाएं पिन किया गया, बाएं पिन करने के लिए क्लिक करें",
120
122
  pinSwitchNotPinned: "पिन नहीं किया गया, बाएं पिन करने के लिए क्लिक करें",
@@ -113,8 +113,10 @@ const e = {
113
113
  numericFullPrecision: "ಪೂರ್ಣ ನಿಖರತೆ (ದಶಮಾಂಶ)",
114
114
  indicatorSort: "ವಿಂಗಡಿಸು",
115
115
  indicatorSearch: "ಹುಡುಕು",
116
+ indicatorNonSavable: "ಉಳಿಸಲಾಗದ",
116
117
  indicatorSortedAriaLabel: "ಕಾಲಮ್ ವಿಂಗಡಿಸಲಾಗಿದೆ",
117
118
  indicatorFilteredAriaLabel: "ಕಾಲಮ್‌ನಲ್ಲಿ ಸಕ್ರಿಯ ಫಿಲ್ಟರ್ ಇದೆ",
119
+ indicatorNonSavableAriaLabel: "ಕಾಲಮ್ ವೀಕ್ಷಣೆಗಳೊಂದಿಗೆ ಉಳಿಸಲಾಗುವುದಿಲ್ಲ",
118
120
  pinSwitchPinnedLeft: "ಎಡಕ್ಕೆ ಪಿನ್ ಮಾಡಲಾಗಿದೆ, ಬಲಕ್ಕೆ ಪಿನ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
119
121
  pinSwitchPinnedRight: "ಬಲಕ್ಕೆ ಪಿನ್ ಮಾಡಲಾಗಿದೆ, ಎಡಕ್ಕೆ ಪಿನ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
120
122
  pinSwitchNotPinned: "ಪಿನ್ ಮಾಡಲಾಗಿಲ್ಲ, ಎಡಕ್ಕೆ ಪಿನ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ",