impact-nova 2.1.0-alpha.3 → 2.1.0-alpha.5

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 (137) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +3 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +6 -0
  3. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +15 -21
  4. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.js +1 -1
  5. package/dist/components/data/ag-grid-react/cell-renderers/default-text-cell-renderer.d.ts +1 -2
  6. package/dist/components/data/ag-grid-react/cell-renderers/default-text-cell-renderer.js +12 -6
  7. package/dist/components/data/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +19 -19
  8. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +1 -1
  9. package/dist/components/data/ag-grid-react/cell-renderers/switch-display-renderer.js +15 -15
  10. package/dist/components/data/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +1 -1
  11. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.js +33 -33
  12. package/dist/components/data/ag-grid-react/headers/components/header-info.js +66 -62
  13. package/dist/components/data/ag-grid-react/headers/components/info-modal.js +6 -6
  14. package/dist/components/data/ag-grid-react/headers/components/section-renderers.js +18 -18
  15. package/dist/components/data/ag-grid-react/headers/custom-header-group.js +40 -29
  16. package/dist/components/data/ag-grid-react/headers/custom-header.js +102 -98
  17. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  18. package/dist/components/data/ag-grid-react/index.js +156 -148
  19. package/dist/components/data/ag-grid-react/theme.js +3 -0
  20. package/dist/components/data/ag-grid-react/use-ag-grid-truncation-tooltip.d.ts +5 -0
  21. package/dist/components/data/ag-grid-react/use-ag-grid-truncation-tooltip.js +13 -0
  22. package/dist/components/data/ag-grid-react/useGridAutoSizeStrategyOnResize.js +8 -5
  23. package/dist/components/data/data-table/data-table-column-apply.d.ts +16 -0
  24. package/dist/components/data/data-table/data-table-column-apply.js +18 -0
  25. package/dist/components/data/data-table/data-table-column-list.d.ts +13 -3
  26. package/dist/components/data/data-table/data-table-column-list.js +198 -191
  27. package/dist/components/data/data-table/data-table-constants.d.ts +3 -4
  28. package/dist/components/data/data-table/data-table-context.d.ts +3 -6
  29. package/dist/components/data/data-table/data-table-context.js +21 -10
  30. package/dist/components/data/data-table/data-table-saved-views.js +26 -26
  31. package/dist/components/data/data-table/data-table-sheet-portal-store.d.ts +13 -0
  32. package/dist/components/data/data-table/data-table-sheet-portal-store.js +36 -0
  33. package/dist/components/data/data-table/data-table-sheet.d.ts +3 -6
  34. package/dist/components/data/data-table/data-table-sheet.js +1 -1
  35. package/dist/components/data/data-table/data-table-view-menu.js +40 -40
  36. package/dist/components/data/data-table/data-table.d.ts +8 -10
  37. package/dist/components/data/data-table/data-table.js +131 -113
  38. package/dist/components/data/data-table/data-table.types.d.ts +35 -0
  39. package/dist/components/data/data-table/index.js +28 -27
  40. package/dist/components/data/data-table/indicator-legend.js +6 -6
  41. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.d.ts +8 -0
  42. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +72 -0
  43. package/dist/components/data/expandable-list-item/expandable-list-item-context.d.ts +13 -0
  44. package/dist/components/data/expandable-list-item/expandable-list-item-context.js +25 -0
  45. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.d.ts +6 -0
  46. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +41 -0
  47. package/dist/components/data/expandable-list-item/expandable-list-item-parts.d.ts +31 -0
  48. package/dist/components/data/expandable-list-item/expandable-list-item-parts.js +233 -0
  49. package/dist/components/data/expandable-list-item/expandable-list-item-preset.d.ts +18 -0
  50. package/dist/components/data/expandable-list-item/expandable-list-item-preset.js +133 -0
  51. package/dist/components/data/expandable-list-item/expandable-list-item.d.ts +5 -0
  52. package/dist/components/data/{expandable-sku/expandable-sku.types.d.ts → expandable-list-item/expandable-list-item.types.d.ts} +7 -7
  53. package/dist/components/data/expandable-list-item/index.d.ts +5 -0
  54. package/dist/components/data/expandable-list-item/index.js +19 -0
  55. package/dist/components/data/nested-list/components/NestedListHeader.js +11 -11
  56. package/dist/components/data/nested-list/components/SortableItem.js +2 -2
  57. package/dist/components/data-display/avatar/avatar.types.d.ts +2 -0
  58. package/dist/components/data-display/badge/badge.types.d.ts +2 -0
  59. package/dist/components/data-display/calendar/calendar-day-picker-classnames.js +11 -11
  60. package/dist/components/data-display/calendar/calendar-month-picker-panel.js +7 -7
  61. package/dist/components/data-display/calendar/calendar-week-number-cell.js +31 -31
  62. package/dist/components/data-display/card/card.js +8 -8
  63. package/dist/components/data-display/chart/chart.types.d.ts +9 -0
  64. package/dist/components/data-display/skeleton/skeleton.js +6 -6
  65. package/dist/components/data-display/statistics-card/statistics-card.js +14 -14
  66. package/dist/components/feedback/alert-dialog/alert-dialog.js +19 -19
  67. package/dist/components/feedback/dialog/dialog.js +1 -1
  68. package/dist/components/feedback/drawer/drawer.js +18 -18
  69. package/dist/components/feedback/dropdown-menu/dropdown-menu.js +68 -55
  70. package/dist/components/feedback/popover/popover.js +8 -1
  71. package/dist/components/feedback/sheet/sheet.js +1 -1
  72. package/dist/components/feedback/tooltip/tooltip.js +22 -22
  73. package/dist/components/feedback/tooltip/tooltip.variants.js +1 -1
  74. package/dist/components/flows/command-palette/command-palette.js +104 -104
  75. package/dist/components/flows/command-palette/shortcut-settings.js +34 -34
  76. package/dist/components/flows/filter-strip/filter-tag-list.js +4 -4
  77. package/dist/components/flows/notification-panel/notification-list.js +17 -17
  78. package/dist/components/flows/notification-panel/notification-panel.js +4 -4
  79. package/dist/components/flows/notification-panel/notification-panel.types.d.ts +3 -0
  80. package/dist/components/flows/wizard/wizard.js +8 -8
  81. package/dist/components/forms/combobox/combobox.js +20 -20
  82. package/dist/components/forms/date-picker/date-picker.js +17 -17
  83. package/dist/components/forms/date-picker/date-range-picker.js +3 -3
  84. package/dist/components/forms/date-picker/month-picker.js +1 -1
  85. package/dist/components/forms/date-picker/month-range-picker.js +42 -42
  86. package/dist/components/forms/date-picker/week-picker.js +15 -15
  87. package/dist/components/forms/date-picker/week-range-picker.js +3 -3
  88. package/dist/components/forms/file-upload/file-upload.js +33 -33
  89. package/dist/components/forms/input/input.js +8 -8
  90. package/dist/components/forms/input/input.variants.js +3 -3
  91. package/dist/components/forms/select/components/SelectMenuPanel.d.ts +1 -2
  92. package/dist/components/forms/select/components/SelectMenuPanel.js +17 -19
  93. package/dist/components/forms/select/components/SelectTrigger.d.ts +9 -6
  94. package/dist/components/forms/select/components/SelectTrigger.js +119 -116
  95. package/dist/components/forms/select/components/Submenu.js +7 -7
  96. package/dist/components/forms/select/hooks/useSelectKeyboardHandlers.d.ts +1 -1
  97. package/dist/components/forms/select/select.js +88 -88
  98. package/dist/components/forms/select/select.variants.js +5 -5
  99. package/dist/components/layout/sidebar/sidebar.d.ts +7 -50
  100. package/dist/components/layout/sidebar/sidebar.js +12 -11
  101. package/dist/components/layout/sidebar/sidebar.types.d.ts +35 -1
  102. package/dist/components/primitives/button-group/button-group.js +32 -32
  103. package/dist/components/primitives/chips/chips.variants.js +5 -5
  104. package/dist/components/primitives/empty-container/empty-container.types.d.ts +3 -0
  105. package/dist/components/primitives/kbd/kbd.variants.js +3 -3
  106. package/dist/components/primitives/stepper/stepper.js +6 -6
  107. package/dist/components/primitives/tag/tag.variants.js +2 -2
  108. package/dist/impact-nova-components.css +97 -0
  109. package/dist/impact-nova-tokens.scss +2 -0
  110. package/dist/impact-nova.css +1 -1
  111. package/dist/index.d.ts +1 -1
  112. package/dist/index.js +446 -413
  113. package/dist/lib/compose-refs.d.ts +8 -0
  114. package/dist/lib/compose-refs.js +14 -0
  115. package/dist/lib/primitives/field.types.d.ts +8 -2
  116. package/dist/lib/virtualized/index.d.ts +3 -0
  117. package/dist/lib/virtualized/index.js +33 -16
  118. package/dist/lib/virtualized/useVirtualizedList.d.ts +2 -0
  119. package/dist/lib/virtualized/useVirtualizedList.js +115 -109
  120. package/dist/lib/virtualized/virtualized-list-context.d.ts +12 -0
  121. package/dist/lib/virtualized/virtualized-list-context.js +21 -0
  122. package/dist/lib/virtualized/virtualized-list-parts.d.ts +51 -0
  123. package/dist/lib/virtualized/virtualized-list-parts.js +175 -0
  124. package/dist/lib/virtualized/virtualized-list-utils.d.ts +5 -0
  125. package/dist/lib/virtualized/virtualized-list-utils.js +6 -0
  126. package/dist/llms/rules/installation.js +1 -1
  127. package/dist/llms/rules/migration.js +1 -1
  128. package/dist/llms/rules/real-world-patterns.js +1 -1
  129. package/dist/llms/rules/requirements.js +1 -1
  130. package/package.json +24 -15
  131. package/tailwind.config.js +1 -0
  132. package/dist/components/data/ag-grid-react/headers/components/truncated-text.d.ts +0 -15
  133. package/dist/components/data/ag-grid-react/headers/components/truncated-text.js +0 -27
  134. package/dist/components/data/expandable-sku/expandable-sku.d.ts +0 -38
  135. package/dist/components/data/expandable-sku/expandable-sku.js +0 -245
  136. package/dist/components/data/expandable-sku/index.d.ts +0 -2
  137. package/dist/components/data/expandable-sku/index.js +0 -4
@@ -1,37 +1,35 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import * as n from "@radix-ui/react-popover";
2
+ import * as i from "@radix-ui/react-popover";
3
3
  import { cn as r } from "../../../../lib/utils.js";
4
- function x({
5
- menuRef: l,
4
+ function v({
5
+ menuRef: n,
6
6
  menuMinHeight: t,
7
- menuWidth: s,
7
+ menuWidth: l,
8
8
  isReadOnly: a,
9
9
  id: d,
10
- menuLabel: p,
11
- onClose: i,
12
- children: c
10
+ menuLabel: s,
11
+ children: p
13
12
  }) {
14
- return /* @__PURE__ */ o(n.Portal, { children: /* @__PURE__ */ o(
15
- n.Content,
13
+ return /* @__PURE__ */ o(i.Portal, { children: /* @__PURE__ */ o(
14
+ i.Content,
16
15
  {
17
- ref: l,
16
+ ref: n,
18
17
  side: "bottom",
19
18
  sideOffset: 4,
20
19
  align: "start",
21
20
  avoidCollisions: !0,
22
21
  collisionPadding: 8,
23
- "aria-label": p,
22
+ "aria-label": s,
24
23
  onOpenAutoFocus: (e) => e.preventDefault(),
25
- onInteractOutside: i,
26
- onFocusOutside: i,
27
24
  onWheel: (e) => e.stopPropagation(),
28
25
  style: {
29
- width: s || "var(--radix-popover-trigger-width)",
30
- maxHeight: "var(--radix-popover-content-available-height)"
26
+ width: l ?? "var(--radix-popover-trigger-width)",
27
+ minWidth: "var(--radix-popover-trigger-width)",
28
+ maxHeight: "min(320px, var(--radix-popover-content-available-height, 320px))"
31
29
  },
32
30
  className: r(
33
31
  "z-50 flex flex-col overflow-hidden rounded-[12px] p-0 text-base shadow-[0px_1px_6px_0px_rgba(26,39,124,0.14)] focus:outline-none sm:text-sm border-none pointer-events-auto",
34
- a ? "bg-disabled-surface" : "bg-canvas"
32
+ a ? "bg-disabled-surface" : "bg-canvas-elevated"
35
33
  ),
36
34
  "data-testid": `select-menu-${d || "default"}`,
37
35
  "data-component": "select-menu",
@@ -40,17 +38,17 @@ function x({
40
38
  {
41
39
  className: r(
42
40
  "flex min-h-0 flex-1 flex-col overflow-hidden rounded-[12px]",
43
- a ? "bg-disabled-surface" : "bg-canvas"
41
+ a ? "bg-disabled-surface" : "bg-canvas-elevated"
44
42
  ),
45
43
  style: {
46
44
  minHeight: t ? `${t}px` : void 0
47
45
  },
48
- children: c
46
+ children: p
49
47
  }
50
48
  )
51
49
  }
52
50
  ) });
53
51
  }
54
52
  export {
55
- x as SelectMenuPanel
53
+ v as SelectMenuPanel
56
54
  };
@@ -1,7 +1,8 @@
1
1
  import { FocusEvent, KeyboardEvent, MouseEvent, ReactNode, RefObject } from 'react';
2
2
  import { MultiValue, Option, SingleValue } from '../select.types';
3
+ import * as React from "react";
3
4
  export interface SelectTriggerProps<OptionType extends Option = Option> {
4
- triggerRef: RefObject<HTMLDivElement | null>;
5
+ triggerRef: RefObject<HTMLButtonElement | null>;
5
6
  inputRef: RefObject<HTMLInputElement | null>;
6
7
  selectFieldId: string;
7
8
  listboxId: string;
@@ -31,10 +32,12 @@ export interface SelectTriggerProps<OptionType extends Option = Option> {
31
32
  formatSelectedCount: (count: number) => string;
32
33
  resolveOptionLabel: (option: OptionType | Option) => ReactNode;
33
34
  isMulti?: boolean;
34
- onFocus?: (event: FocusEvent<HTMLDivElement>) => void;
35
- onBlur?: (event: FocusEvent<HTMLDivElement>) => void;
36
- onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
37
- onOpenChange: (open: boolean) => void;
35
+ onFocus?: (event: FocusEvent<HTMLButtonElement>) => void;
36
+ onBlur?: (event: FocusEvent<HTMLButtonElement>) => void;
37
+ onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => void;
38
+ onToggle: () => void;
38
39
  onClear: (event: MouseEvent) => void;
39
40
  }
40
- export declare function SelectTrigger<OptionType extends Option = Option>({ triggerRef, inputRef, selectFieldId, listboxId, id, className, size, error, isDisabled, isReadOnly, isOpen, isLoading, isProcessing, isClearable, isSearchable, searchPosition, searchValue, setSearchValue, autoFocus, name, label, placeholder, leftContent, activeDescendantId, internalValue, totalCount, totalOptionsCount, formatSelectedCount, resolveOptionLabel, isMulti, onFocus, onBlur, onKeyDown, onOpenChange, onClear, }: SelectTriggerProps<OptionType>): import("react/jsx-runtime").JSX.Element;
41
+ export declare const SelectTrigger: <OptionType extends Option = Option>(props: SelectTriggerProps<OptionType> & {
42
+ ref?: React.ForwardedRef<HTMLButtonElement>;
43
+ }) => React.ReactElement | null;
@@ -1,161 +1,162 @@
1
- import { jsx as t, jsxs as n, Fragment as H } from "react/jsx-runtime";
2
- import { LoadingSpinner as J, Cross as K, ChevronRight as Q } from "impact-nova-icons";
3
- import { cn as u } from "../../../../lib/utils.js";
4
- import { selectTriggerVariants as U } from "../select.variants.js";
5
- import { hasClearableSelectValue as W } from "../utils/hasClearableSelectValue.js";
6
- import { SelectTriggerValue as X } from "./SelectTriggerValue.js";
7
- function ee({
8
- triggerRef: f,
9
- inputRef: x,
10
- selectFieldId: g,
11
- listboxId: h,
12
- id: l,
13
- className: b,
14
- size: v = "default",
15
- error: w,
16
- isDisabled: r,
17
- isReadOnly: o,
18
- isOpen: a,
19
- isLoading: N,
20
- isProcessing: C,
21
- isClearable: P,
22
- isSearchable: k,
23
- searchPosition: y,
24
- searchValue: z,
25
- setSearchValue: S,
26
- autoFocus: j,
27
- name: T,
28
- label: c,
29
- placeholder: i,
30
- leftContent: s,
31
- activeDescendantId: V,
32
- internalValue: d,
33
- totalCount: $,
34
- totalOptionsCount: F,
35
- formatSelectedCount: I,
36
- resolveOptionLabel: L,
37
- isMulti: m,
38
- onFocus: q,
39
- onBlur: A,
40
- onKeyDown: B,
41
- onOpenChange: D,
42
- onClear: E
43
- }) {
44
- const G = P && !o && !r && W(m, d);
1
+ import { jsx as t, jsxs as c, Fragment as H } from "react/jsx-runtime";
2
+ import * as J from "react";
3
+ import { LoadingSpinner as K, Cross as Q, ChevronRight as U } from "impact-nova-icons";
4
+ import { cn as g } from "../../../../lib/utils.js";
5
+ import { selectTriggerVariants as W } from "../select.variants.js";
6
+ import { hasClearableSelectValue as X } from "../utils/hasClearableSelectValue.js";
7
+ import { SelectTriggerValue as Y } from "./SelectTriggerValue.js";
8
+ function Z(...i) {
9
+ return (n) => {
10
+ for (const r of i)
11
+ r && (typeof r == "function" ? r(n) : r.current = n);
12
+ };
13
+ }
14
+ function _({
15
+ triggerRef: i,
16
+ inputRef: n,
17
+ selectFieldId: r,
18
+ listboxId: x,
19
+ id: s,
20
+ className: h,
21
+ size: w = "default",
22
+ error: b,
23
+ isDisabled: a,
24
+ isReadOnly: l,
25
+ isOpen: o,
26
+ isLoading: v,
27
+ isProcessing: N,
28
+ isClearable: C,
29
+ isSearchable: S,
30
+ searchPosition: k,
31
+ searchValue: P,
32
+ setSearchValue: T,
33
+ autoFocus: y,
34
+ name: z,
35
+ label: f,
36
+ placeholder: d,
37
+ leftContent: m,
38
+ activeDescendantId: j,
39
+ internalValue: p,
40
+ totalCount: V,
41
+ totalOptionsCount: $,
42
+ formatSelectedCount: F,
43
+ resolveOptionLabel: I,
44
+ isMulti: u,
45
+ onFocus: L,
46
+ onBlur: R,
47
+ onKeyDown: q,
48
+ onToggle: A,
49
+ onClear: B
50
+ }, D) {
51
+ const E = C && !l && !a && X(u, p);
45
52
  return /* @__PURE__ */ t(
46
- "div",
53
+ "button",
47
54
  {
48
- ref: f,
49
- className: u(
50
- U({
51
- size: v,
52
- error: !!w,
53
- disabled: !!r,
54
- readOnly: o,
55
- open: a
55
+ type: "button",
56
+ ref: Z(D, i),
57
+ disabled: a,
58
+ className: g(
59
+ W({
60
+ size: w,
61
+ error: !!b,
62
+ disabled: !!a,
63
+ readOnly: l,
64
+ open: o
56
65
  }),
57
- b
66
+ h
58
67
  ),
59
- id: g,
60
- tabIndex: r ? -1 : 0,
61
- onFocus: q,
62
- onBlur: A,
68
+ id: r,
69
+ onFocus: L,
70
+ onBlur: R,
63
71
  role: "combobox",
64
- "aria-expanded": a,
72
+ "aria-expanded": o,
65
73
  "aria-haspopup": "listbox",
66
- "aria-controls": h,
67
- "aria-activedescendant": V,
68
- "aria-label": c ? String(c) : i,
69
- "aria-disabled": r || void 0,
74
+ "aria-controls": x,
75
+ "aria-activedescendant": j,
76
+ "aria-label": f ? String(f) : d,
70
77
  "data-component": "select-trigger",
71
- "data-disabled": r || void 0,
72
- "data-state": a ? "open" : "closed",
73
- onKeyDown: B,
78
+ "data-disabled": a || void 0,
79
+ "data-state": o ? "open" : "closed",
80
+ onKeyDown: q,
74
81
  onClick: (e) => {
75
- const p = e.target;
76
- (p.closest("[data-chevron-button]") || p.closest("[data-clear-button]")) && (e.preventDefault(), e.stopPropagation());
82
+ if (e.target.closest("[data-clear-button]")) {
83
+ e.preventDefault(), e.stopPropagation();
84
+ return;
85
+ }
86
+ a || l || A();
87
+ },
88
+ onPointerDown: (e) => {
89
+ e.target.closest("[data-clear-button]") && (e.preventDefault(), e.stopPropagation());
77
90
  },
78
- children: /* @__PURE__ */ n("div", { className: "flex items-center justify-between w-full min-w-0 max-w-full", children: [
79
- s ? /* @__PURE__ */ t("div", { className: "flex items-center text-content-muted shrink-0", children: s }) : null,
80
- /* @__PURE__ */ n(
91
+ children: /* @__PURE__ */ c("div", { className: "flex items-center justify-between w-full min-w-0 max-w-full", children: [
92
+ m ? /* @__PURE__ */ t("div", { className: "flex items-center text-content-icon shrink-0", children: m }) : null,
93
+ /* @__PURE__ */ c(
81
94
  "div",
82
95
  {
83
- className: "flex-1 flex items-center overflow-hidden min-w-0 max-w-full",
84
- "data-testid": `select-value-${l || "default"}`,
96
+ className: "flex-1 flex items-center overflow-hidden min-w-0 max-w-full text-left",
97
+ "data-testid": `select-value-${s || "default"}`,
85
98
  children: [
86
99
  /* @__PURE__ */ t(
87
- X,
100
+ Y,
88
101
  {
89
- isMulti: m,
90
- isDisabled: r,
91
- internalValue: d,
92
- totalCount: $,
93
- totalOptionsCount: F,
94
- formatSelectedCount: I,
95
- resolveOptionLabel: L,
102
+ isMulti: u,
103
+ isDisabled: a,
104
+ internalValue: p,
105
+ totalCount: V,
106
+ totalOptionsCount: $,
107
+ formatSelectedCount: F,
108
+ resolveOptionLabel: I,
96
109
  placeholder: /* @__PURE__ */ t(
97
110
  "span",
98
111
  {
99
112
  className: "text-content-placeholder font-normal text-[14px] truncate min-w-0 block",
100
- "data-testid": `select-placeholder-${l || "default"}`,
113
+ "data-testid": `select-placeholder-${s || "default"}`,
101
114
  "data-has-value": !1,
102
- children: i
115
+ children: d
103
116
  }
104
117
  )
105
118
  }
106
119
  ),
107
- k && a && y === "trigger" && !o ? /* @__PURE__ */ t(
120
+ S && o && k === "trigger" && !l ? /* @__PURE__ */ t(
108
121
  "input",
109
122
  {
110
- ref: x,
123
+ ref: n,
111
124
  type: "text",
112
- className: "flex-1 min-w-[50px] border-none p-0 focus:ring-0 text-sm outline-none h-full",
113
- value: z,
125
+ className: "flex-1 min-w-[50px] border-none p-0 focus:ring-0 text-sm outline-none h-full bg-transparent",
126
+ value: P,
114
127
  onChange: (e) => {
115
- S(e.target.value);
128
+ T(e.target.value);
116
129
  },
117
130
  onClick: (e) => e.stopPropagation(),
118
- autoFocus: j,
119
- name: T || void 0
131
+ autoFocus: y,
132
+ name: z || void 0
120
133
  }
121
134
  ) : null
122
135
  ]
123
136
  }
124
137
  ),
125
- /* @__PURE__ */ t("div", { className: "flex items-center gap-1 text-content-muted shrink-0", children: !a && (N || C) ? /* @__PURE__ */ t(J, { size: "14px" }) : /* @__PURE__ */ n(H, { children: [
126
- G ? /* @__PURE__ */ t(
127
- "button",
138
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-1 text-content-icon shrink-0", children: !o && (v || N) ? /* @__PURE__ */ t(K, { size: "14px" }) : /* @__PURE__ */ c(H, { children: [
139
+ E ? /* @__PURE__ */ t(
140
+ "span",
128
141
  {
129
- type: "button",
142
+ role: "presentation",
130
143
  "data-clear-button": !0,
131
144
  "aria-label": "Clear selection",
145
+ className: "hover:text-content-secondary p-0.5 cursor-pointer z-10 relative inline-flex",
132
146
  onPointerDown: (e) => {
133
- e.preventDefault(), e.stopPropagation(), E(e);
147
+ e.preventDefault(), e.stopPropagation(), B(e);
134
148
  },
135
- className: "hover:text-content-secondary p-0.5 cursor-pointer z-10 relative border-0 bg-transparent",
136
- children: /* @__PURE__ */ t(K, { size: "11px", className: "text-content-muted" })
149
+ children: /* @__PURE__ */ t(Q, { size: "11px", className: "text-content-icon" })
137
150
  }
138
151
  ) : null,
139
152
  /* @__PURE__ */ t(
140
- "button",
153
+ U,
141
154
  {
142
- type: "button",
143
- "data-chevron-button": !0,
144
- "aria-label": a ? "Close dropdown" : "Open dropdown",
145
- "aria-expanded": a,
146
- onPointerDown: (e) => {
147
- e.preventDefault(), e.stopPropagation(), D(!a);
148
- },
149
- className: "hover:text-content-secondary p-0.5 cursor-pointer z-10 relative border-0 bg-transparent",
150
- children: /* @__PURE__ */ t(
151
- Q,
152
- {
153
- size: "16px",
154
- className: u(
155
- "transition-transform duration-200",
156
- a ? "-rotate-90" : "rotate-90"
157
- )
158
- }
155
+ size: "16px",
156
+ "aria-hidden": !0,
157
+ className: g(
158
+ "transition-transform duration-200 shrink-0",
159
+ o ? "-rotate-90" : "rotate-90"
159
160
  )
160
161
  }
161
162
  )
@@ -164,6 +165,8 @@ function ee({
164
165
  }
165
166
  );
166
167
  }
168
+ const M = J.forwardRef(_);
169
+ M.displayName = "SelectTrigger";
167
170
  export {
168
- ee as SelectTrigger
171
+ M as SelectTrigger
169
172
  };
@@ -5,15 +5,15 @@ import { ChevronRight as N, Checkmark as S } from "impact-nova-icons";
5
5
  import { cn as w } from "../../../../lib/utils.js";
6
6
  const $ = ({
7
7
  parentOption: n,
8
- isMulti: u,
8
+ isMulti: d,
9
9
  isReadOnly: c,
10
10
  isSelected: f,
11
11
  getIndeterminateState: x,
12
12
  getSelectedCount: v,
13
13
  handleSelect: h
14
14
  }) => {
15
- const d = "children" in n && Array.isArray(n.children) ? n.children : null;
16
- if (!d) return null;
15
+ const u = "children" in n && Array.isArray(n.children) ? n.children : null;
16
+ if (!u) return null;
17
17
  const i = String(n.value || "");
18
18
  return /* @__PURE__ */ r(l.Root, { open: !0, children: [
19
19
  /* @__PURE__ */ t(l.Anchor, { className: "absolute inset-0 pointer-events-none" }),
@@ -31,7 +31,7 @@ const $ = ({
31
31
  onFocusOutside: (e) => e.preventDefault(),
32
32
  className: "select-submenu-container z-50 min-w-[180px] max-h-[300px] overflow-auto rounded-xl bg-canvas-elevated py-1 shadow-elevation-floating",
33
33
  "data-component": "select-menu",
34
- children: d.map((e) => {
34
+ children: u.map((e) => {
35
35
  const a = f(e), g = x(e), o = e.isDisabled, m = v(e), s = "children" in e && Array.isArray(e.children) && e.children.length > 0, p = e.isParentSelectable !== !1, b = String(e.value || "");
36
36
  return /* @__PURE__ */ r(
37
37
  "div",
@@ -50,7 +50,7 @@ const $ = ({
50
50
  "data-component": "select-option",
51
51
  children: [
52
52
  /* @__PURE__ */ r("div", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [
53
- u && p && /* @__PURE__ */ t(
53
+ d && p && /* @__PURE__ */ t(
54
54
  C,
55
55
  {
56
56
  checked: g ? "indeterminate" : a,
@@ -69,14 +69,14 @@ const $ = ({
69
69
  children: e.label
70
70
  }
71
71
  ),
72
- s && m > 0 && /* @__PURE__ */ r("span", { className: "text-xs text-content-muted font-medium", children: [
72
+ s && m > 0 && /* @__PURE__ */ r("span", { className: "text-xs text-secondary-foreground font-medium", children: [
73
73
  "(",
74
74
  m,
75
75
  ")"
76
76
  ] })
77
77
  ] }),
78
78
  s && /* @__PURE__ */ t(N, { size: "sm", className: "text-content-icon" }),
79
- !u && a && !s && /* @__PURE__ */ t(S, { className: "h-4 w-4 text-brand" })
79
+ !d && a && !s && /* @__PURE__ */ t(S, { className: "h-4 w-4 text-brand" })
80
80
  ]
81
81
  },
82
82
  e.value
@@ -18,7 +18,7 @@ export interface UseSelectKeyboardHandlersParams {
18
18
  handleSelectAll: () => void | Promise<void>;
19
19
  openedViaKeyboardRef: MutableRefObject<boolean>;
20
20
  searchInputRef: RefObject<HTMLInputElement | null>;
21
- triggerRef: RefObject<HTMLDivElement | null>;
21
+ triggerRef: RefObject<HTMLButtonElement | null>;
22
22
  }
23
23
  export declare function useSelectKeyboardHandlers(params: UseSelectKeyboardHandlersParams): {
24
24
  handleTriggerKeyDown: (e: ReactKeyboardEvent) => void;