@bigbinary/neeto-atoms 1.0.52 → 1.0.54

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 (63) hide show
  1. package/dist/{Alert-bS5M631u.js → Alert-e3-iV-6f.js} +2 -2
  2. package/dist/{Alert-bS5M631u.js.map → Alert-e3-iV-6f.js.map} +1 -1
  3. package/dist/{Button-BCWJgHDy.js → Button-DwiKU1ab.js} +24 -3
  4. package/dist/Button-DwiKU1ab.js.map +1 -0
  5. package/dist/{DataTable-1-31X8Kf.js → DataTable-DuHFwJj9.js} +2 -2
  6. package/dist/{DataTable-1-31X8Kf.js.map → DataTable-DuHFwJj9.js.map} +1 -1
  7. package/dist/{Empty-DdthjwJz.js → Empty-CfakG-QT.js} +2 -2
  8. package/dist/{Empty-DdthjwJz.js.map → Empty-CfakG-QT.js.map} +1 -1
  9. package/dist/{Label-CS8ErCaf.js → Label-Vpj3xsO2.js} +2 -2
  10. package/dist/{Label-CS8ErCaf.js.map → Label-Vpj3xsO2.js.map} +1 -1
  11. package/dist/{Sheet-DVoy6if3.js → Sheet-Bw8GVQPS.js} +7 -3
  12. package/dist/{Sheet-DVoy6if3.js.map → Sheet-Bw8GVQPS.js.map} +1 -1
  13. package/dist/cjs/{Alert-_TPuVqa5.js → Alert-Bo3a2nZt.js} +2 -2
  14. package/dist/cjs/{Alert-_TPuVqa5.js.map → Alert-Bo3a2nZt.js.map} +1 -1
  15. package/dist/cjs/{Button-BlNtYr1w.js → Button-DiBYVj5m.js} +25 -2
  16. package/dist/cjs/Button-DiBYVj5m.js.map +1 -0
  17. package/dist/cjs/{DataTable-CT2pgEhZ.js → DataTable-DjQJLAya.js} +2 -2
  18. package/dist/cjs/{DataTable-CT2pgEhZ.js.map → DataTable-DjQJLAya.js.map} +1 -1
  19. package/dist/cjs/{Empty-AEIH-jLF.js → Empty-D8g97TNM.js} +2 -2
  20. package/dist/cjs/{Empty-AEIH-jLF.js.map → Empty-D8g97TNM.js.map} +1 -1
  21. package/dist/cjs/{Label-OpNoSl0F.js → Label-DFLFi0tH.js} +2 -2
  22. package/dist/cjs/{Label-OpNoSl0F.js.map → Label-DFLFi0tH.js.map} +1 -1
  23. package/dist/cjs/{Sheet-mJ7pJHrn.js → Sheet-By1W1pFD.js} +7 -3
  24. package/dist/cjs/{Sheet-mJ7pJHrn.js.map → Sheet-By1W1pFD.js.map} +1 -1
  25. package/dist/cjs/components/Alert.js +2 -2
  26. package/dist/cjs/components/Button.js +3 -1
  27. package/dist/cjs/components/Button.js.map +1 -1
  28. package/dist/cjs/components/DataTable.js +2 -2
  29. package/dist/cjs/components/DropdownMenu.js +34 -72
  30. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  31. package/dist/cjs/components/Empty.js +2 -2
  32. package/dist/cjs/components/Label.js +2 -2
  33. package/dist/cjs/components/Sheet.js +1 -1
  34. package/dist/cjs/components/index.js +11 -9
  35. package/dist/cjs/components/index.js.map +1 -1
  36. package/dist/cjs/formik/ActionBlock.js +1 -1
  37. package/dist/cjs/formik/BlockNavigation.js +1 -1
  38. package/dist/cjs/formik/Button.js +1 -1
  39. package/dist/cjs/formik/index.js +1 -1
  40. package/dist/cjs/index.js +7 -7
  41. package/dist/components/Alert.js +2 -2
  42. package/dist/components/Button/Button.d.ts +10 -2
  43. package/dist/components/Button/index.d.ts +2 -2
  44. package/dist/components/Button.js +1 -1
  45. package/dist/components/DataTable.js +2 -2
  46. package/dist/components/DropdownMenu/DropdownBase.d.ts +1 -1
  47. package/dist/components/DropdownMenu/constants.d.ts +0 -5
  48. package/dist/components/DropdownMenu/types.d.ts +32 -16
  49. package/dist/components/DropdownMenu.js +34 -72
  50. package/dist/components/DropdownMenu.js.map +1 -1
  51. package/dist/components/Empty.js +2 -2
  52. package/dist/components/Label.js +2 -2
  53. package/dist/components/Sheet.js +1 -1
  54. package/dist/components/Typography/Typography.d.ts +2 -2
  55. package/dist/components/index.js +8 -8
  56. package/dist/formik/ActionBlock.js +1 -1
  57. package/dist/formik/BlockNavigation.js +1 -1
  58. package/dist/formik/Button.js +1 -1
  59. package/dist/formik/index.js +1 -1
  60. package/dist/index.js +7 -7
  61. package/package.json +1 -1
  62. package/dist/Button-BCWJgHDy.js.map +0 -1
  63. package/dist/cjs/Button-BlNtYr1w.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Empty = require('../Empty-AEIH-jLF.js');
3
+ var Empty = require('../Empty-D8g97TNM.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.js');
@@ -27,7 +27,7 @@ require('../index-CB9xFokC.js');
27
27
  require('../renderIcon-BRrpZu9a.js');
28
28
  require('../Typography-BW6xEk10.js');
29
29
  require('../index-DuNgWCXZ.js');
30
- require('../Button-BlNtYr1w.js');
30
+ require('../Button-DiBYVj5m.js');
31
31
  require('react-router-dom');
32
32
  require('../primitives/Button.js');
33
33
  require('../button-CMl9rLXi.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Label = require('../Label-OpNoSl0F.js');
3
+ var Label = require('../Label-DFLFi0tH.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.js');
@@ -31,7 +31,7 @@ require('../index-vioSzJOw.js');
31
31
  require('../primitives/HoverCard.js');
32
32
  require('../Typography-BW6xEk10.js');
33
33
  require('../index-DuNgWCXZ.js');
34
- require('../Button-BlNtYr1w.js');
34
+ require('../Button-DiBYVj5m.js');
35
35
  require('react-router-dom');
36
36
  require('../primitives/Button.js');
37
37
  require('../button-CMl9rLXi.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Sheet = require('../Sheet-mJ7pJHrn.js');
3
+ var Sheet = require('../Sheet-By1W1pFD.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.js');
@@ -2,27 +2,27 @@
2
2
 
3
3
  var components_DropdownMenu = require('./DropdownMenu.js');
4
4
  var Accordion = require('../Accordion-D75SDnkY.js');
5
- var Alert = require('../Alert-_TPuVqa5.js');
5
+ var Alert = require('../Alert-Bo3a2nZt.js');
6
6
  var Avatar = require('../Avatar-nG7vhAUS.js');
7
+ var Button = require('../Button-DiBYVj5m.js');
7
8
  var Badge = require('../Badge-Dz_Kb49L.js');
8
- var Button = require('../Button-BlNtYr1w.js');
9
9
  var Callout = require('../Callout-CYIrflF1.js');
10
10
  var Checkbox = require('../Checkbox-CxqWOvFN.js');
11
11
  var ColorPicker = require('../ColorPicker-rhCnblTv.js');
12
- var DataTable = require('../DataTable-CT2pgEhZ.js');
12
+ var DataTable = require('../DataTable-DjQJLAya.js');
13
13
  var DatePicker = require('../DatePicker-JhQ7D2bu.js');
14
14
  var Dialog = require('../Dialog-CBSuKeu_.js');
15
- var Empty = require('../Empty-AEIH-jLF.js');
15
+ var Empty = require('../Empty-D8g97TNM.js');
16
16
  var Input = require('../Input-BQh-GS_w.js');
17
17
  var Kbd = require('../Kbd-BvC3VSNb.js');
18
- var Label = require('../Label-OpNoSl0F.js');
18
+ var Label = require('../Label-DFLFi0tH.js');
19
19
  var MultiEmailInput = require('../MultiEmailInput-KmN2BSaX.js');
20
20
  var Pagination = require('../Pagination-DeWfLAq5.js');
21
21
  var Popover = require('../Popover-DuRSsDHz.js');
22
22
  var Progress = require('../Progress-yBpMAzIU.js');
23
23
  var RadioGroup = require('../RadioGroup-CkKlLHnR.js');
24
24
  var Select = require('../Select-DC23xcMU.js');
25
- var Sheet = require('../Sheet-mJ7pJHrn.js');
25
+ var Sheet = require('../Sheet-By1W1pFD.js');
26
26
  var Slider = require('../Slider-ICf2eQ6p.js');
27
27
  var Spinner = require('../Spinner-DzNBz8al.js');
28
28
  var Stepper = require('../Stepper-DZb25oBH.js');
@@ -66,7 +66,6 @@ require('../index-Df-Ffa3s.js');
66
66
  require('../index-DcCSSgb7.js');
67
67
  require('../index-DoVhdseB.js');
68
68
  require('react-i18next');
69
- require('../renderIcon-BRrpZu9a.js');
70
69
  require('../primitives/Button.js');
71
70
  require('../button-CMl9rLXi.js');
72
71
  require('../index-vioSzJOw.js');
@@ -74,6 +73,7 @@ require('../index-DuNgWCXZ.js');
74
73
  require('../primitives/ButtonGroup.js');
75
74
  require('../separator-DSL-aG1J.js');
76
75
  require('../chevron-down-CPsWSS51.js');
76
+ require('../renderIcon-BRrpZu9a.js');
77
77
  require('../primitives/Accordion.js');
78
78
  require('../chevron-up-BpwpBnZU.js');
79
79
  require('../index-BiGm7NEA.js');
@@ -87,10 +87,10 @@ require('../index-BrpkRQoS.js');
87
87
  require('../primitives/Tooltip.js');
88
88
  require('../tooltip-BYCcUMZn.js');
89
89
  require('../index-CB9xFokC.js');
90
- require('../primitives/Badge.js');
91
90
  require('react-router-dom');
92
91
  require('../primitives/Spinner.js');
93
92
  require('../loader-circle-Bw7zP2Gn.js');
93
+ require('../primitives/Badge.js');
94
94
  require('../primitives/Alert.js');
95
95
  require('../triangle-alert-CC-cck8p.js');
96
96
  require('../info-DGfDptn1.js');
@@ -140,8 +140,10 @@ exports.DropdownMenu = components_DropdownMenu.DropdownMenu;
140
140
  exports.Accordion = Accordion.Accordion;
141
141
  exports.Alert = Alert.Alert;
142
142
  exports.Avatar = Avatar.AvatarNamespace;
143
- exports.Badge = Badge.Badge;
143
+ exports.BUTTON_SIZES = Button.BUTTON_SIZES;
144
+ exports.BUTTON_VARIANTS = Button.BUTTON_VARIANTS;
144
145
  exports.Button = Button.Button;
146
+ exports.Badge = Badge.Badge;
145
147
  exports.Callout = Callout.Callout;
146
148
  exports.Checkbox = Checkbox.Checkbox;
147
149
  exports.ColorPicker = ColorPicker.ColorPicker;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var formik = require('formik');
6
6
  var utils = require('../utils-BhM0B89p.js');
7
7
  var formik_Button = require('./Button.js');
8
- var Button = require('../Button-BlNtYr1w.js');
8
+ var Button = require('../Button-DiBYVj5m.js');
9
9
  require('ramda');
10
10
  require('react-router-dom');
11
11
  require('../renderIcon-BRrpZu9a.js');
@@ -5,7 +5,7 @@ var formik = require('formik');
5
5
  var React = require('react');
6
6
  var reactRouterDom = require('react-router-dom');
7
7
  var Dialog = require('../Dialog-CBSuKeu_.js');
8
- var Button = require('../Button-BlNtYr1w.js');
8
+ var Button = require('../Button-DiBYVj5m.js');
9
9
  require('../utils-BhM0B89p.js');
10
10
  require('../primitives/Dialog.js');
11
11
  require('../button-CMl9rLXi.js');
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var formik = require('formik');
6
6
  var ramda = require('ramda');
7
- var Button = require('../Button-BlNtYr1w.js');
7
+ var Button = require('../Button-DiBYVj5m.js');
8
8
  require('react-router-dom');
9
9
  require('../utils-BhM0B89p.js');
10
10
  require('../renderIcon-BRrpZu9a.js');
@@ -81,7 +81,7 @@ require('../Tree-DAyVPLnJ.js');
81
81
  require('../chevron-right-0jNdwX2Q.js');
82
82
  require('../redux-DEF7lAd1.js');
83
83
  require('../MultiEmailInput-KmN2BSaX.js');
84
- require('../Button-BlNtYr1w.js');
84
+ require('../Button-DiBYVj5m.js');
85
85
  require('react-router-dom');
86
86
  require('../renderIcon-BRrpZu9a.js');
87
87
  require('../primitives/Button.js');
package/dist/cjs/index.js CHANGED
@@ -6,28 +6,28 @@ var components_DropdownMenu = require('./components/DropdownMenu.js');
6
6
  var useMobile = require('./use-mobile-Be9CI6km.js');
7
7
  var utils = require('./utils-BhM0B89p.js');
8
8
  var Accordion = require('./Accordion-D75SDnkY.js');
9
- var Alert = require('./Alert-_TPuVqa5.js');
9
+ var Alert = require('./Alert-Bo3a2nZt.js');
10
10
  var Avatar = require('./Avatar-nG7vhAUS.js');
11
11
  var Badge = require('./Badge-Dz_Kb49L.js');
12
- var Button = require('./Button-BlNtYr1w.js');
12
+ var Button = require('./Button-DiBYVj5m.js');
13
13
  var Callout = require('./Callout-CYIrflF1.js');
14
14
  var Checkbox = require('./Checkbox-CxqWOvFN.js');
15
15
  var ColorPicker = require('./ColorPicker-rhCnblTv.js');
16
- var DataTable = require('./DataTable-CT2pgEhZ.js');
16
+ var DataTable = require('./DataTable-DjQJLAya.js');
17
17
  var DatePicker = require('./DatePicker-JhQ7D2bu.js');
18
18
  var Dialog = require('./Dialog-CBSuKeu_.js');
19
19
  var DirectionProvider = require('./DirectionProvider-BTtE4FcN.js');
20
- var Empty = require('./Empty-AEIH-jLF.js');
20
+ var Empty = require('./Empty-D8g97TNM.js');
21
21
  var Input = require('./Input-BQh-GS_w.js');
22
22
  var Kbd = require('./Kbd-BvC3VSNb.js');
23
- var Label = require('./Label-OpNoSl0F.js');
23
+ var Label = require('./Label-DFLFi0tH.js');
24
24
  var MultiEmailInput = require('./MultiEmailInput-KmN2BSaX.js');
25
25
  var Pagination = require('./Pagination-DeWfLAq5.js');
26
26
  var Popover = require('./Popover-DuRSsDHz.js');
27
27
  var Progress = require('./Progress-yBpMAzIU.js');
28
28
  var RadioGroup = require('./RadioGroup-CkKlLHnR.js');
29
29
  var Select = require('./Select-DC23xcMU.js');
30
- var Sheet = require('./Sheet-mJ7pJHrn.js');
30
+ var Sheet = require('./Sheet-By1W1pFD.js');
31
31
  var Slider = require('./Slider-ICf2eQ6p.js');
32
32
  var Spinner = require('./Spinner-DzNBz8al.js');
33
33
  var Stepper = require('./Stepper-DZb25oBH.js');
@@ -68,7 +68,6 @@ require('./index-Bf0WsHta.js');
68
68
  require('./index-Df-Ffa3s.js');
69
69
  require('./index-DcCSSgb7.js');
70
70
  require('./index-DoVhdseB.js');
71
- require('./renderIcon-BRrpZu9a.js');
72
71
  require('./primitives/Button.js');
73
72
  require('./button-CMl9rLXi.js');
74
73
  require('./index-vioSzJOw.js');
@@ -76,6 +75,7 @@ require('./index-DuNgWCXZ.js');
76
75
  require('./primitives/ButtonGroup.js');
77
76
  require('./separator-DSL-aG1J.js');
78
77
  require('./chevron-down-CPsWSS51.js');
78
+ require('./renderIcon-BRrpZu9a.js');
79
79
  require('./primitives/Accordion.js');
80
80
  require('./chevron-up-BpwpBnZU.js');
81
81
  require('./index-BiGm7NEA.js');
@@ -1,4 +1,4 @@
1
- export { A as Alert } from '../Alert-bS5M631u.js';
1
+ export { A as Alert } from '../Alert-e3-iV-6f.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import 'react-i18next';
@@ -24,7 +24,7 @@ import '../index-CSUSJzOJ.js';
24
24
  import '../index-Jr4soqx3.js';
25
25
  import '../index-fV_U4ZJM.js';
26
26
  import '../index-yFgkK_AM.js';
27
- import '../Button-BCWJgHDy.js';
27
+ import '../Button-DwiKU1ab.js';
28
28
  import 'react-router-dom';
29
29
  import '../renderIcon-C6twJSqH.js';
30
30
  import '../primitives/Button.js';
@@ -1,7 +1,9 @@
1
1
  import React, { type ReactNode, type MouseEvent } from "react";
2
2
  import { type IconProp } from "src/lib/renderIcon";
3
- type ButtonVariant = "default" | "secondary" | "destructive" | "destructive-soft" | "outline" | "ghost" | "link";
4
- type ButtonSize = "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg";
3
+ export declare const BUTTON_VARIANTS: readonly ["default", "secondary", "destructive", "destructive-soft", "outline", "ghost", "link"];
4
+ export declare const BUTTON_SIZES: readonly ["default", "xs", "sm", "lg", "icon", "icon-xs", "icon-sm", "icon-lg"];
5
+ export type ButtonVariant = (typeof BUTTON_VARIANTS)[number];
6
+ export type ButtonSize = (typeof BUTTON_SIZES)[number];
5
7
  type IconPosition = "left" | "right";
6
8
  type ButtonType = "button" | "reset" | "submit";
7
9
  interface ButtonTooltipProps {
@@ -40,6 +42,12 @@ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonE
40
42
  tooltipProps?: ButtonTooltipProps | null;
41
43
  /** Render as a custom element (polymorphic). */
42
44
  asChild?: boolean;
45
+ /**
46
+ * Content rendered after the label and any right-side icon (e.g., a trailing
47
+ * chevron, badge, or shortcut indicator). Auto-wrapped with
48
+ * `data-icon="inline-end"` so the button's compact end-padding kicks in.
49
+ */
50
+ trailing?: ReactNode;
43
51
  /** Children rendered inside the button (fallback for `label`). */
44
52
  children?: ReactNode;
45
53
  }
@@ -1,2 +1,2 @@
1
- export { Button } from "./Button";
2
- export type { ButtonProps } from "./Button";
1
+ export { Button, BUTTON_VARIANTS, BUTTON_SIZES } from "./Button";
2
+ export type { ButtonProps, ButtonVariant, ButtonSize } from "./Button";
@@ -1,4 +1,4 @@
1
- export { B as Button } from '../Button-BCWJgHDy.js';
1
+ export { B as BUTTON_SIZES, a as BUTTON_VARIANTS, b as Button } from '../Button-DwiKU1ab.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import 'react-router-dom';
@@ -1,4 +1,4 @@
1
- export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-1-31X8Kf.js';
1
+ export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-DuHFwJj9.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import '../primitives/Table.js';
@@ -39,7 +39,7 @@ import '../index-C3hByjk3.js';
39
39
  import '../floating-ui.react-dom-D8_f_WWh.js';
40
40
  import '../index-fV_U4ZJM.js';
41
41
  import '../index-DT56XkyA.js';
42
- import '../Button-BCWJgHDy.js';
42
+ import '../Button-DwiKU1ab.js';
43
43
  import 'react-router-dom';
44
44
  import '../renderIcon-C6twJSqH.js';
45
45
  import '../primitives/Tooltip.js';
@@ -1,3 +1,3 @@
1
1
  import { type DropdownProps } from "./types";
2
- declare const DropdownBase: ({ label, icon, buttonStyle, buttonSize, buttonProps, customTarget, disabled, children, position, closeOnEsc, closeOnSelect, closeOnOutsideClick, isOpen: isOpenProp, onClose, onClick, className, triggerRef, dropdownProps, }: DropdownProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const DropdownBase: ({ label, icon, buttonProps, customTarget, disabled, children, position, closeOnEsc, closeOnSelect, closeOnOutsideClick, isOpen: isOpenProp, onClose, onClick, className, triggerRef, dropdownProps, }: DropdownProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export { DropdownBase };
@@ -1,7 +1,2 @@
1
- import type { ButtonSize, ButtonStyle } from "./types";
2
1
  export declare const SIDE_MAP: Record<string, "top" | "right" | "bottom" | "left">;
3
2
  export declare const ALIGN_MAP: Record<string, "start" | "center" | "end">;
4
- export declare const BUTTON_STYLE_MAP: Record<ButtonStyle, "default" | "secondary" | "destructive" | "outline" | "ghost" | "link">;
5
- export declare const BUTTON_SIZE_MAP: Record<ButtonSize, "sm" | "default" | "lg">;
6
- export declare const MENU_ITEM_STYLE_MAP: Record<"default" | "danger", "default" | "destructive">;
7
- export declare const CHEVRON_SIZE_MAP: Record<ButtonSize, string>;
@@ -1,17 +1,31 @@
1
1
  import { type ReactNode, type Ref } from "react";
2
- import { Button as PrimitiveButton } from "src/primitives/Button";
3
2
  import { DropdownMenuContent, DropdownMenuItem as PrimitiveDropdownMenuItem } from "src/primitives/DropdownMenu";
3
+ import type { ButtonProps } from "src/components/Button";
4
4
  import type { IconProp } from "src/lib/renderIcon";
5
5
  export type DropdownPosition = "top" | "bottom" | "left" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "auto";
6
- export type ButtonStyle = "primary" | "secondary" | "tertiary" | "text" | "danger" | "danger-text" | "link";
7
- export type ButtonSize = "small" | "medium" | "large";
8
- export type MenuItemButtonStyle = "default" | "danger";
6
+ /**
7
+ * Mirrors the primitive `DropdownMenuItem`'s `variant` vocabulary so the
8
+ * wrapper speaks the same language. Keep in sync with Radix primitive.
9
+ */
10
+ export type MenuItemVariant = "default" | "destructive";
11
+ /**
12
+ * Props forwarded to the trigger button. Sourced from the `Button` wrapper,
13
+ * so consumers can pass `variant`, `size`, `loading`, `tooltipProps`,
14
+ * `fullWidth`, `iconPosition`, etc.
15
+ *
16
+ * The dropdown owns these and so they are excluded:
17
+ * - `label`/`icon`: top-level props on `DropdownMenu`
18
+ * - `trailing`: the chevron
19
+ * - `disabled`: `DropdownMenu`'s own `disabled` prop is authoritative
20
+ * - `onClick`: use `DropdownMenu`'s `onClick` (drives split-button mode)
21
+ * - `to`/`href`: a navigating trigger doesn't open a menu
22
+ * - `asChild`/`children`: use `customTarget` / `label` instead
23
+ */
24
+ export type DropdownButtonProps = Omit<ButtonProps, "label" | "icon" | "trailing" | "disabled" | "onClick" | "to" | "href" | "asChild" | "children">;
9
25
  export interface BaseTriggerProps {
10
26
  label?: string;
11
27
  icon?: IconProp;
12
- buttonStyle: ButtonStyle;
13
- buttonSize: ButtonSize;
14
- buttonProps?: Omit<React.ComponentProps<typeof PrimitiveButton>, "variant" | "size" | "disabled">;
28
+ buttonProps?: DropdownButtonProps;
15
29
  disabled: boolean;
16
30
  isOpen: boolean;
17
31
  onClick?: (e: React.MouseEvent) => void;
@@ -21,12 +35,14 @@ export interface DropdownProps {
21
35
  label?: string;
22
36
  /** Icon rendered inside the trigger button. */
23
37
  icon?: IconProp;
24
- /** Visual style of the trigger button(s). */
25
- buttonStyle?: ButtonStyle;
26
- /** Size of the trigger button(s). */
27
- buttonSize?: ButtonSize;
28
- /** Extra props forwarded to the trigger button. In split-button mode, forwarded to the action button. */
29
- buttonProps?: Omit<React.ComponentProps<typeof PrimitiveButton>, "variant" | "size" | "disabled">;
38
+ /**
39
+ * Props forwarded to the trigger button (variant, size, className,
40
+ * loading, tooltipProps, fullWidth, iconPosition, ). In split-button
41
+ * mode, forwarded to the action button; the chevron half visually mirrors
42
+ * `variant`/`size`. Accepts the full `Button` prop type minus the props
43
+ * the dropdown controls.
44
+ */
45
+ buttonProps?: DropdownButtonProps;
30
46
  /** Custom trigger element. Overrides the default button trigger. */
31
47
  customTarget?: ReactNode | ((props: {
32
48
  isOpen: boolean;
@@ -61,13 +77,13 @@ export interface DropdownProps {
61
77
  /** Extra props forwarded to the DropdownMenuContent. */
62
78
  dropdownProps?: Omit<React.ComponentProps<typeof DropdownMenuContent>, "side" | "align">;
63
79
  }
64
- export interface MenuItemProps extends Omit<React.ComponentProps<typeof PrimitiveDropdownMenuItem>, "prefix" | "style" | "onClick"> {
80
+ export interface MenuItemProps extends Omit<React.ComponentProps<typeof PrimitiveDropdownMenuItem>, "prefix" | "variant" | "onClick"> {
65
81
  /** Highlight as active. */
66
82
  isActive?: boolean;
67
83
  /** Disable the menu item. */
68
84
  isDisabled?: boolean;
69
- /** Visual style of the menu item. */
70
- style?: MenuItemButtonStyle;
85
+ /** Visual variant of the menu item. */
86
+ variant?: MenuItemVariant;
71
87
  /** Content rendered before the label. */
72
88
  prefix?: ReactNode;
73
89
  /** Content rendered after the label. */
@@ -3,10 +3,11 @@ import { forwardRef, createContext, useState, useCallback, useContext, useMemo }
3
3
  import { DropdownMenuTrigger, DropdownMenu as DropdownMenu$1, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuLabel, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from '../primitives/DropdownMenu.js';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { c as cn } from '../utils-BJnb9o5c.js';
6
- import { r as renderIcon } from '../renderIcon-C6twJSqH.js';
7
- import { Button } from '../primitives/Button.js';
6
+ import { Button as Button$1 } from '../primitives/Button.js';
8
7
  import { ButtonGroup } from '../primitives/ButtonGroup.js';
8
+ import { b as Button } from '../Button-DwiKU1ab.js';
9
9
  import { C as ChevronDown } from '../chevron-down-BNi0ntys.js';
10
+ import { r as renderIcon } from '../renderIcon-C6twJSqH.js';
10
11
  import '../chevron-right-DQnrO-ek.js';
11
12
  import '../createLucideIcon-C8ycilSN.js';
12
13
  import '../check-Cpkv29p1.js';
@@ -34,6 +35,12 @@ import '../button-CrEMzWKw.js';
34
35
  import '../index-Bo3AAQJp.js';
35
36
  import '../index-CfriMyrd.js';
36
37
  import '../separator-ByRsc-y-.js';
38
+ import 'react-router-dom';
39
+ import '../primitives/Spinner.js';
40
+ import '../loader-circle-DycHUAWN.js';
41
+ import '../primitives/Tooltip.js';
42
+ import '../tooltip-ChQ9xD1j.js';
43
+ import '../index-CSggBaQF.js';
37
44
 
38
45
  const SIDE_MAP = {
39
46
  top: "top",
@@ -65,36 +72,11 @@ const ALIGN_MAP = {
65
72
  "right-end": "end",
66
73
  auto: "end"
67
74
  };
68
- const BUTTON_STYLE_MAP = {
69
- primary: "default",
70
- secondary: "secondary",
71
- tertiary: "outline",
72
- text: "ghost",
73
- danger: "destructive",
74
- "danger-text": "ghost",
75
- link: "link"
76
- };
77
- const BUTTON_SIZE_MAP = {
78
- small: "sm",
79
- medium: "default",
80
- large: "lg"
81
- };
82
- const MENU_ITEM_STYLE_MAP = {
83
- default: "default",
84
- danger: "destructive"
85
- };
86
- const CHEVRON_SIZE_MAP = {
87
- small: "size-3.5",
88
- medium: "size-4",
89
- large: "size-4"
90
- };
91
75
 
92
76
  const SplitTrigger = forwardRef(
93
77
  ({
94
78
  label,
95
79
  icon,
96
- buttonStyle,
97
- buttonSize,
98
80
  buttonProps,
99
81
  disabled,
100
82
  isOpen,
@@ -104,8 +86,8 @@ const SplitTrigger = forwardRef(
104
86
  ...otherProps
105
87
  }, ref) => {
106
88
  const { t } = useTranslation();
107
- const variant = BUTTON_STYLE_MAP[buttonStyle];
108
- const size = BUTTON_SIZE_MAP[buttonSize];
89
+ const variant = buttonProps?.variant;
90
+ const size = buttonProps?.size;
109
91
  return /* @__PURE__ */ jsxs(
110
92
  ButtonGroup,
111
93
  {
@@ -113,25 +95,22 @@ const SplitTrigger = forwardRef(
113
95
  className: cn("neeto-ui-action-dropdown", className),
114
96
  ...otherProps,
115
97
  children: [
116
- /* @__PURE__ */ jsxs(
98
+ /* @__PURE__ */ jsx(
117
99
  Button,
118
100
  {
119
101
  ref: actionButtonRef,
120
102
  type: "button",
121
- variant,
122
- size,
103
+ label,
104
+ icon,
105
+ iconPosition: "left",
123
106
  disabled,
124
- onClick,
125
- "data-testid": "action-dropdown-btn",
126
107
  ...buttonProps,
127
- children: [
128
- icon && renderIcon(icon, "size-4"),
129
- label && /* @__PURE__ */ jsx("span", { children: label })
130
- ]
108
+ onClick,
109
+ "data-testid": "action-dropdown-btn"
131
110
  }
132
111
  ),
133
112
  /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsx(
134
- Button,
113
+ Button$1,
135
114
  {
136
115
  type: "button",
137
116
  variant,
@@ -147,7 +126,6 @@ const SplitTrigger = forwardRef(
147
126
  {
148
127
  "aria-hidden": "true",
149
128
  className: cn(
150
- CHEVRON_SIZE_MAP[buttonSize],
151
129
  "shrink-0 transition-transform duration-200",
152
130
  isOpen && "rotate-180"
153
131
  )
@@ -166,8 +144,6 @@ const TriggerButton = forwardRef(
166
144
  ({
167
145
  label,
168
146
  icon,
169
- buttonStyle,
170
- buttonSize,
171
147
  buttonProps,
172
148
  disabled,
173
149
  isOpen,
@@ -179,32 +155,24 @@ const TriggerButton = forwardRef(
179
155
  {
180
156
  ref,
181
157
  type: "button",
182
- variant: BUTTON_STYLE_MAP[buttonStyle],
183
- size: BUTTON_SIZE_MAP[buttonSize],
184
- disabled,
185
- className: cn(
186
- buttonStyle === "danger-text" && "text-destructive hover:text-destructive",
187
- "gap-1.5",
188
- className
158
+ label,
159
+ icon,
160
+ iconPosition: "left",
161
+ trailing: /* @__PURE__ */ jsx(
162
+ ChevronDown,
163
+ {
164
+ "aria-hidden": "true",
165
+ className: cn(
166
+ "shrink-0 transition-transform duration-200",
167
+ isOpen && "rotate-180"
168
+ )
169
+ }
189
170
  ),
190
- onClick,
171
+ disabled,
191
172
  ...otherProps,
192
173
  ...buttonProps,
193
- children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
194
- icon && renderIcon(icon, "size-4"),
195
- label && /* @__PURE__ */ jsx("span", { children: label }),
196
- /* @__PURE__ */ jsx(
197
- ChevronDown,
198
- {
199
- "aria-hidden": "true",
200
- className: cn(
201
- CHEVRON_SIZE_MAP[buttonSize],
202
- "shrink-0 transition-transform duration-200",
203
- isOpen && "rotate-180"
204
- )
205
- }
206
- )
207
- ] })
174
+ onClick,
175
+ className: cn(className, buttonProps?.className)
208
176
  }
209
177
  )
210
178
  );
@@ -215,8 +183,6 @@ const DropdownContext = createContext({ closeOnSelect: true });
215
183
  const DropdownBase = ({
216
184
  label,
217
185
  icon,
218
- buttonStyle = "primary",
219
- buttonSize = "medium",
220
186
  buttonProps,
221
187
  customTarget,
222
188
  disabled = false,
@@ -248,8 +214,6 @@ const DropdownBase = ({
248
214
  const sharedTriggerProps = {
249
215
  label,
250
216
  icon,
251
- buttonStyle,
252
- buttonSize,
253
217
  buttonProps,
254
218
  disabled,
255
219
  isOpen: open,
@@ -313,21 +277,19 @@ const MenuItem = forwardRef(
313
277
  children,
314
278
  isActive = false,
315
279
  isDisabled = false,
316
- style = "default",
280
+ variant = "default",
317
281
  prefix,
318
282
  suffix,
319
283
  to,
320
284
  href,
321
285
  className,
322
286
  onClick,
323
- variant: _variant,
324
287
  disabled: _disabled,
325
288
  asChild: _asChild,
326
289
  onSelect: _onSelect,
327
290
  ...otherProps
328
291
  }, ref) => {
329
292
  const { closeOnSelect } = useContext(DropdownContext);
330
- const variant = MENU_ITEM_STYLE_MAP[style];
331
293
  const linkHref = to ?? href;
332
294
  const handleSelect = useCallback(
333
295
  (e) => {