@bigbinary/neeto-atoms 1.0.51 → 1.0.53

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 (155) 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/{Callout-ClNFeMbn.js → Callout-NVYmCwJL.js} +3 -2
  6. package/dist/{Callout-ClNFeMbn.js.map → Callout-NVYmCwJL.js.map} +1 -1
  7. package/dist/{DataTable-CHxdhAU2.js → DataTable-DuHFwJj9.js} +47 -9
  8. package/dist/DataTable-DuHFwJj9.js.map +1 -0
  9. package/dist/{Empty-DdthjwJz.js → Empty-CfakG-QT.js} +2 -2
  10. package/dist/{Empty-DdthjwJz.js.map → Empty-CfakG-QT.js.map} +1 -1
  11. package/dist/{Input-C_aFPEXD.js → Input-Bxs8n6xp.js} +2 -2
  12. package/dist/Input-Bxs8n6xp.js.map +1 -0
  13. package/dist/{Kbd-CJOM9x4C.js → Kbd-CAIAs4OO.js} +11 -4
  14. package/dist/Kbd-CAIAs4OO.js.map +1 -0
  15. package/dist/{Label-CS8ErCaf.js → Label-Vpj3xsO2.js} +2 -2
  16. package/dist/{Label-CS8ErCaf.js.map → Label-Vpj3xsO2.js.map} +1 -1
  17. package/dist/{MultiEmailInput-DhjSEXbS.js → MultiEmailInput-Du1964Ka.js} +2 -2
  18. package/dist/{MultiEmailInput-DhjSEXbS.js.map → MultiEmailInput-Du1964Ka.js.map} +1 -1
  19. package/dist/Toastr-tmAtpmwv.js +182 -0
  20. package/dist/Toastr-tmAtpmwv.js.map +1 -0
  21. package/dist/cjs/{Alert-_TPuVqa5.js → Alert-Bo3a2nZt.js} +2 -2
  22. package/dist/cjs/{Alert-_TPuVqa5.js.map → Alert-Bo3a2nZt.js.map} +1 -1
  23. package/dist/cjs/{Button-BlNtYr1w.js → Button-DiBYVj5m.js} +25 -2
  24. package/dist/cjs/Button-DiBYVj5m.js.map +1 -0
  25. package/dist/cjs/{Callout-_XBx1JHL.js → Callout-CYIrflF1.js} +4 -3
  26. package/dist/cjs/{Callout-_XBx1JHL.js.map → Callout-CYIrflF1.js.map} +1 -1
  27. package/dist/cjs/{DataTable-CgQRfaIc.js → DataTable-DjQJLAya.js} +47 -9
  28. package/dist/cjs/DataTable-DjQJLAya.js.map +1 -0
  29. package/dist/cjs/{Empty-AEIH-jLF.js → Empty-D8g97TNM.js} +2 -2
  30. package/dist/cjs/{Empty-AEIH-jLF.js.map → Empty-D8g97TNM.js.map} +1 -1
  31. package/dist/cjs/{Input-BngZja62.js → Input-BQh-GS_w.js} +2 -2
  32. package/dist/cjs/Input-BQh-GS_w.js.map +1 -0
  33. package/dist/cjs/{Kbd-D2nELu5m.js → Kbd-BvC3VSNb.js} +11 -4
  34. package/dist/cjs/Kbd-BvC3VSNb.js.map +1 -0
  35. package/dist/cjs/{Label-OpNoSl0F.js → Label-DFLFi0tH.js} +2 -2
  36. package/dist/cjs/{Label-OpNoSl0F.js.map → Label-DFLFi0tH.js.map} +1 -1
  37. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js → MultiEmailInput-KmN2BSaX.js} +2 -2
  38. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js.map → MultiEmailInput-KmN2BSaX.js.map} +1 -1
  39. package/dist/cjs/Toastr-CQ-R8VcZ.js +184 -0
  40. package/dist/cjs/Toastr-CQ-R8VcZ.js.map +1 -0
  41. package/dist/cjs/components/Alert.js +2 -2
  42. package/dist/cjs/components/Button.js +3 -1
  43. package/dist/cjs/components/Button.js.map +1 -1
  44. package/dist/cjs/components/Callout.js +3 -2
  45. package/dist/cjs/components/Callout.js.map +1 -1
  46. package/dist/cjs/components/DataTable.js +6 -2
  47. package/dist/cjs/components/DataTable.js.map +1 -1
  48. package/dist/cjs/components/DropdownMenu.js +34 -72
  49. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  50. package/dist/cjs/components/Empty.js +2 -2
  51. package/dist/cjs/components/Input.js +2 -2
  52. package/dist/cjs/components/Kbd.js +1 -1
  53. package/dist/cjs/components/Label.js +2 -2
  54. package/dist/cjs/components/MultiEmailInput.js +2 -2
  55. package/dist/cjs/components/Toastr.js +8 -2
  56. package/dist/cjs/components/Toastr.js.map +1 -1
  57. package/dist/cjs/components/index.js +19 -16
  58. package/dist/cjs/components/index.js.map +1 -1
  59. package/dist/cjs/formik/ActionBlock.js +1 -1
  60. package/dist/cjs/formik/BlockNavigation.js +1 -1
  61. package/dist/cjs/formik/Button.js +1 -1
  62. package/dist/cjs/formik/Input.js +2 -2
  63. package/dist/cjs/formik/MultiEmailInput.js +2 -2
  64. package/dist/cjs/formik/index.js +4 -4
  65. package/dist/cjs/{index-Vlwnyfvs.js → index-CPmGpPzg.js} +39 -1
  66. package/dist/cjs/index-CPmGpPzg.js.map +1 -0
  67. package/dist/cjs/index.js +15 -14
  68. package/dist/cjs/index.js.map +1 -1
  69. package/dist/cjs/info-DGfDptn1.js +21 -0
  70. package/dist/cjs/info-DGfDptn1.js.map +1 -0
  71. package/dist/cjs/primitives/Kbd.js +39 -10
  72. package/dist/cjs/primitives/Kbd.js.map +1 -1
  73. package/dist/cjs/primitives/Sonner.js +7 -41
  74. package/dist/cjs/primitives/Sonner.js.map +1 -1
  75. package/dist/cjs/primitives/index.js +3 -2
  76. package/dist/cjs/primitives/index.js.map +1 -1
  77. package/dist/cjs/{triangle-alert-ZUMRpmzW.js → triangle-alert-CC-cck8p.js} +1 -17
  78. package/dist/cjs/triangle-alert-CC-cck8p.js.map +1 -0
  79. package/dist/cjs/{withIconSize-BKUwVY6t.js → withIconSize-C6LP0R7o.js} +5 -1
  80. package/dist/cjs/withIconSize-C6LP0R7o.js.map +1 -0
  81. package/dist/components/Alert.js +2 -2
  82. package/dist/components/Button/Button.d.ts +10 -2
  83. package/dist/components/Button/index.d.ts +2 -2
  84. package/dist/components/Button.js +1 -1
  85. package/dist/components/Callout.js +3 -2
  86. package/dist/components/Callout.js.map +1 -1
  87. package/dist/components/DataTable/components/HeaderDescription.d.ts +6 -0
  88. package/dist/components/DataTable.js +6 -2
  89. package/dist/components/DataTable.js.map +1 -1
  90. package/dist/components/DropdownMenu/DropdownBase.d.ts +1 -1
  91. package/dist/components/DropdownMenu/constants.d.ts +0 -5
  92. package/dist/components/DropdownMenu/types.d.ts +32 -16
  93. package/dist/components/DropdownMenu.js +34 -72
  94. package/dist/components/DropdownMenu.js.map +1 -1
  95. package/dist/components/Empty.js +2 -2
  96. package/dist/components/Input/Input.d.ts +7 -4
  97. package/dist/components/Input.js +2 -2
  98. package/dist/components/Kbd/Kbd.d.ts +1 -1
  99. package/dist/components/Kbd.js +1 -1
  100. package/dist/components/Label.js +2 -2
  101. package/dist/components/MultiEmailInput/types.d.ts +7 -4
  102. package/dist/components/MultiEmailInput.js +2 -2
  103. package/dist/components/Toastr/Toastr.d.ts +3 -1
  104. package/dist/components/Toastr/ToastrBody.d.ts +12 -0
  105. package/dist/components/Toastr/utils.d.ts +1 -3
  106. package/dist/components/Toastr.js +8 -2
  107. package/dist/components/Toastr.js.map +1 -1
  108. package/dist/components/Typography/Typography.d.ts +2 -2
  109. package/dist/components/index.js +16 -15
  110. package/dist/components/index.js.map +1 -1
  111. package/dist/formik/ActionBlock.js +1 -1
  112. package/dist/formik/BlockNavigation.js +1 -1
  113. package/dist/formik/Button.js +1 -1
  114. package/dist/formik/Input.js +2 -2
  115. package/dist/formik/MultiEmailInput.js +2 -2
  116. package/dist/formik/index.js +4 -4
  117. package/dist/{index-D_roZz8G.js → index-CDo_esrR.js} +38 -2
  118. package/dist/index-CDo_esrR.js.map +1 -0
  119. package/dist/index.css +3 -0
  120. package/dist/index.js +15 -14
  121. package/dist/index.js.map +1 -1
  122. package/dist/info-BlwkmMZr.js +19 -0
  123. package/dist/info-BlwkmMZr.js.map +1 -0
  124. package/dist/primitives/Kbd.d.ts +3 -4
  125. package/dist/primitives/Kbd.js +20 -10
  126. package/dist/primitives/Kbd.js.map +1 -1
  127. package/dist/primitives/Sonner.js +4 -38
  128. package/dist/primitives/Sonner.js.map +1 -1
  129. package/dist/primitives/index.js +3 -2
  130. package/dist/primitives/index.js.map +1 -1
  131. package/dist/shadcn/components/kbd.d.ts +3 -2
  132. package/dist/{triangle-alert-PXnNWQy_.js → triangle-alert-C434HydH.js} +2 -17
  133. package/dist/triangle-alert-C434HydH.js.map +1 -0
  134. package/dist/utils/withIconSize.d.ts +10 -6
  135. package/dist/{withIconSize-Czt1EelO.js → withIconSize-BonoFXeH.js} +5 -1
  136. package/dist/withIconSize-BonoFXeH.js.map +1 -0
  137. package/package.json +1 -1
  138. package/dist/Button-BCWJgHDy.js.map +0 -1
  139. package/dist/DataTable-CHxdhAU2.js.map +0 -1
  140. package/dist/Input-C_aFPEXD.js.map +0 -1
  141. package/dist/Kbd-CJOM9x4C.js.map +0 -1
  142. package/dist/Toastr-BimwuEnS.js +0 -95
  143. package/dist/Toastr-BimwuEnS.js.map +0 -1
  144. package/dist/cjs/Button-BlNtYr1w.js.map +0 -1
  145. package/dist/cjs/DataTable-CgQRfaIc.js.map +0 -1
  146. package/dist/cjs/Input-BngZja62.js.map +0 -1
  147. package/dist/cjs/Kbd-D2nELu5m.js.map +0 -1
  148. package/dist/cjs/Toastr-DYWd66L7.js +0 -97
  149. package/dist/cjs/Toastr-DYWd66L7.js.map +0 -1
  150. package/dist/cjs/index-Vlwnyfvs.js.map +0 -1
  151. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +0 -1
  152. package/dist/cjs/withIconSize-BKUwVY6t.js.map +0 -1
  153. package/dist/index-D_roZz8G.js.map +0 -1
  154. package/dist/triangle-alert-PXnNWQy_.js.map +0 -1
  155. package/dist/withIconSize-Czt1EelO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Callout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var DataTable = require('../DataTable-CgQRfaIc.js');
3
+ var DataTable = require('../DataTable-DjQJLAya.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../primitives/Table.js');
@@ -41,12 +41,16 @@ require('../index-C9ICrOhM.js');
41
41
  require('../floating-ui.react-dom-B4Aw6O7R.js');
42
42
  require('../index-Df-Ffa3s.js');
43
43
  require('../index-DoVhdseB.js');
44
- require('../Button-BlNtYr1w.js');
44
+ require('../Button-DiBYVj5m.js');
45
45
  require('react-router-dom');
46
46
  require('../renderIcon-BRrpZu9a.js');
47
47
  require('../primitives/Tooltip.js');
48
48
  require('../tooltip-BYCcUMZn.js');
49
49
  require('../index-CB9xFokC.js');
50
+ require('../Popover-DuRSsDHz.js');
51
+ require('../primitives/HoverCard.js');
52
+ require('../Typography-BW6xEk10.js');
53
+ require('../info-DGfDptn1.js');
50
54
 
51
55
 
52
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,10 +5,11 @@ var React = require('react');
5
5
  var primitives_DropdownMenu = require('../primitives/DropdownMenu.js');
6
6
  var reactI18next = require('react-i18next');
7
7
  var utils = require('../utils-BhM0B89p.js');
8
- var renderIcon = require('../renderIcon-BRrpZu9a.js');
9
8
  var primitives_Button = require('../primitives/Button.js');
10
9
  var primitives_ButtonGroup = require('../primitives/ButtonGroup.js');
10
+ var Button = require('../Button-DiBYVj5m.js');
11
11
  var chevronDown = require('../chevron-down-CPsWSS51.js');
12
+ var renderIcon = require('../renderIcon-BRrpZu9a.js');
12
13
  require('../chevron-right-0jNdwX2Q.js');
13
14
  require('../createLucideIcon-D0tRgV6l.js');
14
15
  require('../check-BQgcDXys.js');
@@ -36,6 +37,12 @@ require('../button-CMl9rLXi.js');
36
37
  require('../index-vioSzJOw.js');
37
38
  require('../index-DuNgWCXZ.js');
38
39
  require('../separator-DSL-aG1J.js');
40
+ require('react-router-dom');
41
+ require('../primitives/Spinner.js');
42
+ require('../loader-circle-Bw7zP2Gn.js');
43
+ require('../primitives/Tooltip.js');
44
+ require('../tooltip-BYCcUMZn.js');
45
+ require('../index-CB9xFokC.js');
39
46
 
40
47
  const SIDE_MAP = {
41
48
  top: "top",
@@ -67,36 +74,11 @@ const ALIGN_MAP = {
67
74
  "right-end": "end",
68
75
  auto: "end"
69
76
  };
70
- const BUTTON_STYLE_MAP = {
71
- primary: "default",
72
- secondary: "secondary",
73
- tertiary: "outline",
74
- text: "ghost",
75
- danger: "destructive",
76
- "danger-text": "ghost",
77
- link: "link"
78
- };
79
- const BUTTON_SIZE_MAP = {
80
- small: "sm",
81
- medium: "default",
82
- large: "lg"
83
- };
84
- const MENU_ITEM_STYLE_MAP = {
85
- default: "default",
86
- danger: "destructive"
87
- };
88
- const CHEVRON_SIZE_MAP = {
89
- small: "size-3.5",
90
- medium: "size-4",
91
- large: "size-4"
92
- };
93
77
 
94
78
  const SplitTrigger = React.forwardRef(
95
79
  ({
96
80
  label,
97
81
  icon,
98
- buttonStyle,
99
- buttonSize,
100
82
  buttonProps,
101
83
  disabled,
102
84
  isOpen,
@@ -106,8 +88,8 @@ const SplitTrigger = React.forwardRef(
106
88
  ...otherProps
107
89
  }, ref) => {
108
90
  const { t } = reactI18next.useTranslation();
109
- const variant = BUTTON_STYLE_MAP[buttonStyle];
110
- const size = BUTTON_SIZE_MAP[buttonSize];
91
+ const variant = buttonProps?.variant;
92
+ const size = buttonProps?.size;
111
93
  return /* @__PURE__ */ jsxRuntime.jsxs(
112
94
  primitives_ButtonGroup.ButtonGroup,
113
95
  {
@@ -115,21 +97,18 @@ const SplitTrigger = React.forwardRef(
115
97
  className: utils.cn("neeto-ui-action-dropdown", className),
116
98
  ...otherProps,
117
99
  children: [
118
- /* @__PURE__ */ jsxRuntime.jsxs(
119
- primitives_Button.Button,
100
+ /* @__PURE__ */ jsxRuntime.jsx(
101
+ Button.Button,
120
102
  {
121
103
  ref: actionButtonRef,
122
104
  type: "button",
123
- variant,
124
- size,
105
+ label,
106
+ icon,
107
+ iconPosition: "left",
125
108
  disabled,
126
- onClick,
127
- "data-testid": "action-dropdown-btn",
128
109
  ...buttonProps,
129
- children: [
130
- icon && renderIcon.renderIcon(icon, "size-4"),
131
- label && /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
132
- ]
110
+ onClick,
111
+ "data-testid": "action-dropdown-btn"
133
112
  }
134
113
  ),
135
114
  /* @__PURE__ */ jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -149,7 +128,6 @@ const SplitTrigger = React.forwardRef(
149
128
  {
150
129
  "aria-hidden": "true",
151
130
  className: utils.cn(
152
- CHEVRON_SIZE_MAP[buttonSize],
153
131
  "shrink-0 transition-transform duration-200",
154
132
  isOpen && "rotate-180"
155
133
  )
@@ -168,8 +146,6 @@ const TriggerButton = React.forwardRef(
168
146
  ({
169
147
  label,
170
148
  icon,
171
- buttonStyle,
172
- buttonSize,
173
149
  buttonProps,
174
150
  disabled,
175
151
  isOpen,
@@ -177,36 +153,28 @@ const TriggerButton = React.forwardRef(
177
153
  className,
178
154
  ...otherProps
179
155
  }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
180
- primitives_Button.Button,
156
+ Button.Button,
181
157
  {
182
158
  ref,
183
159
  type: "button",
184
- variant: BUTTON_STYLE_MAP[buttonStyle],
185
- size: BUTTON_SIZE_MAP[buttonSize],
186
- disabled,
187
- className: utils.cn(
188
- buttonStyle === "danger-text" && "text-destructive hover:text-destructive",
189
- "gap-1.5",
190
- className
160
+ label,
161
+ icon,
162
+ iconPosition: "left",
163
+ trailing: /* @__PURE__ */ jsxRuntime.jsx(
164
+ chevronDown.ChevronDown,
165
+ {
166
+ "aria-hidden": "true",
167
+ className: utils.cn(
168
+ "shrink-0 transition-transform duration-200",
169
+ isOpen && "rotate-180"
170
+ )
171
+ }
191
172
  ),
192
- onClick,
173
+ disabled,
193
174
  ...otherProps,
194
175
  ...buttonProps,
195
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
196
- icon && renderIcon.renderIcon(icon, "size-4"),
197
- label && /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
198
- /* @__PURE__ */ jsxRuntime.jsx(
199
- chevronDown.ChevronDown,
200
- {
201
- "aria-hidden": "true",
202
- className: utils.cn(
203
- CHEVRON_SIZE_MAP[buttonSize],
204
- "shrink-0 transition-transform duration-200",
205
- isOpen && "rotate-180"
206
- )
207
- }
208
- )
209
- ] })
176
+ onClick,
177
+ className: utils.cn(className, buttonProps?.className)
210
178
  }
211
179
  )
212
180
  );
@@ -217,8 +185,6 @@ const DropdownContext = React.createContext({ closeOnSelect: true });
217
185
  const DropdownBase = ({
218
186
  label,
219
187
  icon,
220
- buttonStyle = "primary",
221
- buttonSize = "medium",
222
188
  buttonProps,
223
189
  customTarget,
224
190
  disabled = false,
@@ -250,8 +216,6 @@ const DropdownBase = ({
250
216
  const sharedTriggerProps = {
251
217
  label,
252
218
  icon,
253
- buttonStyle,
254
- buttonSize,
255
219
  buttonProps,
256
220
  disabled,
257
221
  isOpen: open,
@@ -315,21 +279,19 @@ const MenuItem = React.forwardRef(
315
279
  children,
316
280
  isActive = false,
317
281
  isDisabled = false,
318
- style = "default",
282
+ variant = "default",
319
283
  prefix,
320
284
  suffix,
321
285
  to,
322
286
  href,
323
287
  className,
324
288
  onClick,
325
- variant: _variant,
326
289
  disabled: _disabled,
327
290
  asChild: _asChild,
328
291
  onSelect: _onSelect,
329
292
  ...otherProps
330
293
  }, ref) => {
331
294
  const { closeOnSelect } = React.useContext(DropdownContext);
332
- const variant = MENU_ITEM_STYLE_MAP[style];
333
295
  const linkHref = to ?? href;
334
296
  const handleSelect = React.useCallback(
335
297
  (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../../src/components/DropdownMenu/constants.ts","../../../src/components/DropdownMenu/SplitTrigger.tsx","../../../src/components/DropdownMenu/TriggerButton.tsx","../../../src/components/DropdownMenu/types.ts","../../../src/components/DropdownMenu/DropdownBase.tsx","../../../src/components/DropdownMenu/Divider.tsx","../../../src/components/DropdownMenu/Label.tsx","../../../src/components/DropdownMenu/Menu.tsx","../../../src/components/DropdownMenu/MenuItem.tsx","../../../src/components/DropdownMenu/SubMenu.tsx","../../../src/components/DropdownMenu/index.tsx"],"sourcesContent":["import type { ButtonSize, ButtonStyle } from \"./types\";\n\nexport const SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n auto: \"bottom\",\n};\n\nexport const ALIGN_MAP: Record<string, \"start\" | \"center\" | \"end\"> = {\n top: \"center\",\n bottom: \"center\",\n left: \"center\",\n right: \"center\",\n \"top-start\": \"start\",\n \"top-end\": \"end\",\n \"bottom-start\": \"start\",\n \"bottom-end\": \"end\",\n \"left-start\": \"start\",\n \"left-end\": \"end\",\n \"right-start\": \"start\",\n \"right-end\": \"end\",\n auto: \"end\",\n};\n\nexport const BUTTON_STYLE_MAP: Record<\n ButtonStyle,\n \"default\" | \"secondary\" | \"destructive\" | \"outline\" | \"ghost\" | \"link\"\n> = {\n primary: \"default\",\n secondary: \"secondary\",\n tertiary: \"outline\",\n text: \"ghost\",\n danger: \"destructive\",\n \"danger-text\": \"ghost\",\n link: \"link\",\n};\n\nexport const BUTTON_SIZE_MAP: Record<ButtonSize, \"sm\" | \"default\" | \"lg\"> = {\n small: \"sm\",\n medium: \"default\",\n large: \"lg\",\n};\n\nexport const MENU_ITEM_STYLE_MAP: Record<\n \"default\" | \"danger\",\n \"default\" | \"destructive\"\n> = {\n default: \"default\",\n danger: \"destructive\",\n};\n\nexport const CHEVRON_SIZE_MAP: Record<ButtonSize, string> = {\n small: \"size-3.5\",\n medium: \"size-4\",\n large: \"size-4\",\n};\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon } from \"src/lib/renderIcon\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { ButtonGroup } from \"src/primitives/ButtonGroup\";\nimport { DropdownMenuTrigger } from \"src/primitives/DropdownMenu\";\n\nimport {\n BUTTON_SIZE_MAP,\n BUTTON_STYLE_MAP,\n CHEVRON_SIZE_MAP,\n} from \"./constants\";\nimport type { BaseTriggerProps } from \"./types\";\n\ninterface SplitTriggerOwnProps extends BaseTriggerProps {\n /** Ref forwarded to the action button (left side). */\n actionButtonRef?: React.Ref<HTMLButtonElement>;\n}\n\n/**\n * Radix injects extra props (aria-expanded, data-state, …) via Slot on the\n * DropdownMenuTrigger child. We capture them with a rest-spread.\n */\ntype SplitTriggerProps = SplitTriggerOwnProps &\n Omit<React.ComponentProps<\"div\">, keyof SplitTriggerOwnProps>;\n\nconst SplitTrigger = forwardRef<HTMLDivElement, SplitTriggerProps>(\n (\n {\n label,\n icon,\n buttonStyle,\n buttonSize,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n actionButtonRef,\n className,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const variant = BUTTON_STYLE_MAP[buttonStyle];\n const size = BUTTON_SIZE_MAP[buttonSize];\n\n return (\n <ButtonGroup\n ref={ref}\n className={cn(\"neeto-ui-action-dropdown\", className)}\n {...otherProps}\n >\n {/* Action button — fires the primary onClick */}\n <PrimitiveButton\n ref={actionButtonRef}\n type=\"button\"\n variant={variant}\n size={size}\n disabled={disabled}\n onClick={onClick}\n data-testid=\"action-dropdown-btn\"\n {...buttonProps}\n >\n {icon && renderIcon(icon, \"size-4\")}\n {label && <span>{label}</span>}\n </PrimitiveButton>\n\n {/* Chevron trigger — opens the dropdown menu */}\n <DropdownMenuTrigger asChild disabled={disabled}>\n <PrimitiveButton\n type=\"button\"\n variant={variant}\n size={size}\n disabled={disabled}\n aria-label={t(\n \"neetoatoms.dropdownMenu.openMenu\",\n \"Open dropdown menu\"\n )}\n className=\"px-1.5\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n CHEVRON_SIZE_MAP[buttonSize],\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </PrimitiveButton>\n </DropdownMenuTrigger>\n </ButtonGroup>\n );\n }\n);\nSplitTrigger.displayName = \"Dropdown.SplitTrigger\";\n\nexport { SplitTrigger };\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon } from \"src/lib/renderIcon\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\n\nimport { BUTTON_SIZE_MAP, BUTTON_STYLE_MAP, CHEVRON_SIZE_MAP } from \"./constants\";\nimport type { BaseTriggerProps } from \"./types\";\n\n/**\n * Extra props that Radix's Slot injects when the parent Trigger uses\n * `asChild` (aria-expanded, aria-haspopup, data-state, id, …).\n * We capture them with a rest-spread so they reach the DOM button.\n */\ntype TriggerButtonProps = BaseTriggerProps &\n Omit<React.ComponentProps<\"button\">, keyof BaseTriggerProps>;\n\nconst TriggerButton = forwardRef<HTMLButtonElement, TriggerButtonProps>(\n (\n {\n label,\n icon,\n buttonStyle,\n buttonSize,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n className,\n ...otherProps\n },\n ref\n ) => (\n <PrimitiveButton\n ref={ref}\n type=\"button\"\n variant={BUTTON_STYLE_MAP[buttonStyle]}\n size={BUTTON_SIZE_MAP[buttonSize]}\n disabled={disabled}\n className={cn(\n buttonStyle === \"danger-text\" &&\n \"text-destructive hover:text-destructive\",\n \"gap-1.5\",\n className\n )}\n onClick={onClick}\n {...otherProps}\n {...buttonProps}\n >\n <span className=\"inline-flex items-center gap-1.5\">\n {icon && renderIcon(icon, \"size-4\")}\n {label && <span>{label}</span>}\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n CHEVRON_SIZE_MAP[buttonSize],\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </span>\n </PrimitiveButton>\n )\n);\nTriggerButton.displayName = \"Dropdown.TriggerButton\";\n\nexport { TriggerButton };\n","import { createContext, type ReactNode, type Ref } from \"react\";\n\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport {\n DropdownMenuContent,\n DropdownMenuItem as PrimitiveDropdownMenuItem,\n} from \"src/primitives/DropdownMenu\";\nimport type { IconProp } from \"src/lib/renderIcon\";\n\nexport type DropdownPosition =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left-end\"\n | \"right-start\"\n | \"right-end\"\n | \"auto\";\n\nexport type ButtonStyle =\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"text\"\n | \"danger\"\n | \"danger-text\"\n | \"link\";\n\nexport type ButtonSize = \"small\" | \"medium\" | \"large\";\n\nexport type MenuItemButtonStyle = \"default\" | \"danger\";\n\nexport interface BaseTriggerProps {\n label?: string;\n icon?: IconProp;\n buttonStyle: ButtonStyle;\n buttonSize: ButtonSize;\n buttonProps?: Omit<\n React.ComponentProps<typeof PrimitiveButton>,\n \"variant\" | \"size\" | \"disabled\"\n >;\n disabled: boolean;\n isOpen: boolean;\n onClick?: (e: React.MouseEvent) => void;\n}\n\nexport interface DropdownProps {\n /** Text label displayed inside the trigger button. */\n label?: string;\n /** Icon rendered inside the trigger button. */\n icon?: IconProp;\n /** Visual style of the trigger button(s). */\n buttonStyle?: ButtonStyle;\n /** Size of the trigger button(s). */\n buttonSize?: ButtonSize;\n /** Extra props forwarded to the trigger button. In split-button mode, forwarded to the action button. */\n buttonProps?: Omit<\n React.ComponentProps<typeof PrimitiveButton>,\n \"variant\" | \"size\" | \"disabled\"\n >;\n /** Custom trigger element. Overrides the default button trigger. */\n customTarget?: ReactNode | ((props: { isOpen: boolean }) => ReactNode);\n /** Whether the dropdown is disabled. */\n disabled?: boolean;\n /** Dropdown menu content. */\n children?: ReactNode;\n /** Position of the dropdown menu relative to the trigger. */\n position?: DropdownPosition;\n /** Whether pressing Escape closes the dropdown. */\n closeOnEsc?: boolean;\n /** Whether selecting an item closes the dropdown. */\n closeOnSelect?: boolean;\n /** Whether clicking outside closes the dropdown. */\n closeOnOutsideClick?: boolean;\n /** Controlled open state. */\n isOpen?: boolean;\n /** Callback fired when the dropdown closes. */\n onClose?: () => void;\n /**\n * Callback fired when the trigger button is clicked.\n * When provided (without `customTarget`), renders a **split-button**:\n * a primary action button (fires `onClick`) paired with a separate\n * chevron that opens the dropdown menu.\n */\n onClick?: (e: React.MouseEvent) => void;\n /** Additional CSS class names for the trigger wrapper. */\n className?: string;\n /** Ref forwarded to the trigger button. In split-button mode, forwarded to the action button. */\n triggerRef?: Ref<HTMLButtonElement>;\n /** Extra props forwarded to the DropdownMenuContent. */\n dropdownProps?: Omit<\n React.ComponentProps<typeof DropdownMenuContent>,\n \"side\" | \"align\"\n >;\n}\n\nexport interface MenuItemProps extends Omit<\n React.ComponentProps<typeof PrimitiveDropdownMenuItem>,\n \"prefix\" | \"style\" | \"onClick\"\n> {\n /** Highlight as active. */\n isActive?: boolean;\n /** Disable the menu item. */\n isDisabled?: boolean;\n /** Visual style of the menu item. */\n style?: MenuItemButtonStyle;\n /** Content rendered before the label. */\n prefix?: ReactNode;\n /** Content rendered after the label. */\n suffix?: ReactNode;\n /** Internal route (renders as anchor). */\n to?: string;\n /** External link (renders as anchor). */\n href?: string;\n /** Callback fired when the item is selected. */\n onClick?: (e: Event) => void;\n /** Children / label text. */\n children?: ReactNode;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport const DropdownContext = createContext({ closeOnSelect: true });\n","import { useCallback, useState } from \"react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"src/primitives/DropdownMenu\";\n\nimport { ALIGN_MAP, SIDE_MAP } from \"./constants\";\nimport { SplitTrigger } from \"./SplitTrigger\";\nimport { TriggerButton } from \"./TriggerButton\";\nimport { DropdownContext, type DropdownProps } from \"./types\";\n\nconst DropdownBase = ({\n label,\n icon,\n buttonStyle = \"primary\",\n buttonSize = \"medium\",\n buttonProps,\n customTarget,\n disabled = false,\n children,\n position = \"bottom-end\",\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n isOpen: isOpenProp,\n onClose,\n onClick,\n className,\n triggerRef,\n dropdownProps,\n}: DropdownProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isOpenProp !== undefined;\n const open = isControlled ? isOpenProp : internalOpen;\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n if (!isControlled) setInternalOpen(isOpen);\n if (!isOpen) onClose?.();\n },\n [isControlled, onClose]\n );\n\n const side = SIDE_MAP[position] ?? \"bottom\";\n const align = ALIGN_MAP[position] ?? \"end\";\n\n // Split-button mode: onClick provided without a customTarget.\n const isSplit = !!onClick && !customTarget;\n\n const sharedTriggerProps = {\n label,\n icon,\n buttonStyle,\n buttonSize,\n buttonProps,\n disabled,\n isOpen: open,\n onClick,\n };\n\n const triggerNode = isSplit ? (\n <SplitTrigger\n {...sharedTriggerProps}\n actionButtonRef={triggerRef}\n className={className}\n />\n ) : (\n <DropdownMenuTrigger asChild disabled={disabled} className={className}>\n {customTarget ? (\n typeof customTarget === \"function\" ? (\n customTarget({ isOpen: open })\n ) : (\n customTarget\n )\n ) : (\n <TriggerButton ref={triggerRef} {...sharedTriggerProps} />\n )}\n </DropdownMenuTrigger>\n );\n\n return (\n <DropdownContext.Provider value={{ closeOnSelect }}>\n <DropdownMenu\n open={open}\n onOpenChange={handleOpenChange}\n modal={closeOnOutsideClick}\n >\n {triggerNode}\n <DropdownMenuContent\n side={side}\n align={align}\n onEscapeKeyDown={closeOnEsc ? undefined : e => e.preventDefault()}\n onInteractOutside={\n closeOnOutsideClick ? undefined : e => e.preventDefault()\n }\n {...dropdownProps}\n >\n {children}\n </DropdownMenuContent>\n </DropdownMenu>\n </DropdownContext.Provider>\n );\n};\n\nexport { DropdownBase };\n","import React, { forwardRef } from \"react\";\n\nimport { DropdownMenuSeparator } from \"src/primitives/DropdownMenu\";\n\nconst Divider = forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof DropdownMenuSeparator>\n>((props, ref) => <DropdownMenuSeparator ref={ref} {...props} />);\nDivider.displayName = \"Dropdown.Divider\";\n\nexport { Divider };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { DropdownMenuLabel } from \"src/primitives/DropdownMenu\";\n\ninterface MenuLabelProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Label = forwardRef<HTMLDivElement, MenuLabelProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuLabel ref={ref} className={className} {...otherProps}>\n {children}\n </DropdownMenuLabel>\n )\n);\nLabel.displayName = \"Dropdown.Label\";\n\nexport { Label };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuGroup } from \"src/primitives/DropdownMenu\";\n\ninterface MenuProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuGroup\n ref={ref}\n className={cn(\"flex flex-col\", className)}\n {...otherProps}\n >\n {children}\n </DropdownMenuGroup>\n )\n);\nMenu.displayName = \"Dropdown.Menu\";\n\nexport { Menu };\n","import { forwardRef, useCallback, useContext, useMemo } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuItem as PrimitiveDropdownMenuItem } from \"src/primitives/DropdownMenu\";\n\nimport { MENU_ITEM_STYLE_MAP } from \"./constants\";\nimport { DropdownContext, type MenuItemProps } from \"./types\";\n\nconst MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n (\n {\n children,\n isActive = false,\n isDisabled = false,\n style = \"default\",\n prefix,\n suffix,\n to,\n href,\n className,\n onClick,\n variant: _variant,\n disabled: _disabled,\n asChild: _asChild,\n onSelect: _onSelect,\n ...otherProps\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(DropdownContext);\n const variant = MENU_ITEM_STYLE_MAP[style];\n const linkHref = to ?? href;\n\n const handleSelect = useCallback(\n (e: Event) => {\n if (!closeOnSelect) e.preventDefault();\n onClick?.(e);\n },\n [closeOnSelect, onClick]\n );\n\n const itemContent = useMemo(\n () => (\n <>\n {prefix && (\n <span data-slot=\"menu-item-prefix\" className=\"shrink-0\">\n {prefix}\n </span>\n )}\n <span className=\"flex-1 truncate\">{children}</span>\n {suffix && (\n <span\n data-slot=\"menu-item-suffix\"\n className=\"ms-auto shrink-0 text-muted-foreground\"\n >\n {suffix}\n </span>\n )}\n </>\n ),\n [prefix, children, suffix]\n );\n\n return (\n <PrimitiveDropdownMenuItem\n ref={ref}\n variant={variant}\n disabled={isDisabled}\n data-active={isActive || undefined}\n className={cn(\n isActive && \"bg-accent text-accent-foreground\",\n className\n )}\n asChild={!!linkHref}\n onSelect={handleSelect}\n {...otherProps}\n >\n {linkHref ? <a href={linkHref}>{itemContent}</a> : itemContent}\n </PrimitiveDropdownMenuItem>\n );\n }\n);\nMenuItem.displayName = \"Dropdown.MenuItem\";\n\nexport { MenuItem };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"src/primitives/DropdownMenu\";\n\ninterface SubMenuProps {\n label?: string;\n icon?: IconProp;\n children?: ReactNode;\n className?: string;\n triggerProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubTrigger>,\n \"ref\" | \"className\" | \"children\"\n >;\n contentProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubContent>,\n \"children\"\n >;\n}\n\nconst SubMenu = forwardRef<HTMLDivElement, SubMenuProps>(\n ({ label, icon, children, className, triggerProps, contentProps }, ref) => (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger ref={ref} className={className} {...triggerProps}>\n {icon && <span className=\"shrink-0\">{renderIcon(icon, \"size-4\")}</span>}\n {label && <span>{label}</span>}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent {...contentProps}>\n {children}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n);\nSubMenu.displayName = \"Dropdown.SubMenu\";\n\nexport { SubMenu };\n","import { DropdownBase } from \"./DropdownBase\";\nimport { Divider } from \"./Divider\";\nimport { Label } from \"./Label\";\nimport { Menu } from \"./Menu\";\nimport { MenuItem } from \"./MenuItem\";\nimport { SubMenu } from \"./SubMenu\";\n\nexport type { DropdownProps, DropdownPosition } from \"./types\";\n\ntype DropdownComponent = typeof DropdownBase & {\n displayName?: string;\n Menu: typeof Menu;\n MenuItem: typeof MenuItem;\n Divider: typeof Divider;\n Label: typeof Label;\n SubMenu: typeof SubMenu;\n};\n\nconst DropdownMenu = DropdownBase as DropdownComponent;\nDropdownMenu.displayName = \"DropdownMenu\";\nDropdownMenu.Menu = Menu;\nDropdownMenu.MenuItem = MenuItem;\nDropdownMenu.Divider = Divider;\nDropdownMenu.Label = Label;\nDropdownMenu.SubMenu = SubMenu;\n\nexport { DropdownMenu };\n"],"names":["forwardRef","useTranslation","jsxs","ButtonGroup","cn","PrimitiveButton","renderIcon","jsx","DropdownMenuTrigger","ChevronDown","createContext","useState","useCallback","DropdownMenu","DropdownMenuContent","DropdownMenuSeparator","DropdownMenuLabel","DropdownMenuGroup","useContext","useMemo","Fragment","PrimitiveDropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","DropdownMenuSubContent"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../../src/components/DropdownMenu/constants.ts","../../../src/components/DropdownMenu/SplitTrigger.tsx","../../../src/components/DropdownMenu/TriggerButton.tsx","../../../src/components/DropdownMenu/types.ts","../../../src/components/DropdownMenu/DropdownBase.tsx","../../../src/components/DropdownMenu/Divider.tsx","../../../src/components/DropdownMenu/Label.tsx","../../../src/components/DropdownMenu/Menu.tsx","../../../src/components/DropdownMenu/MenuItem.tsx","../../../src/components/DropdownMenu/SubMenu.tsx","../../../src/components/DropdownMenu/index.tsx"],"sourcesContent":["export const SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n auto: \"bottom\",\n};\n\nexport const ALIGN_MAP: Record<string, \"start\" | \"center\" | \"end\"> = {\n top: \"center\",\n bottom: \"center\",\n left: \"center\",\n right: \"center\",\n \"top-start\": \"start\",\n \"top-end\": \"end\",\n \"bottom-start\": \"start\",\n \"bottom-end\": \"end\",\n \"left-start\": \"start\",\n \"left-end\": \"end\",\n \"right-start\": \"start\",\n \"right-end\": \"end\",\n auto: \"end\",\n};\n\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Button } from \"src/components/Button\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { ButtonGroup } from \"src/primitives/ButtonGroup\";\nimport { DropdownMenuTrigger } from \"src/primitives/DropdownMenu\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\ninterface SplitTriggerOwnProps extends BaseTriggerProps {\n /** Ref forwarded to the action button (left side). */\n actionButtonRef?: React.Ref<HTMLButtonElement>;\n}\n\n/**\n * Radix injects extra props (aria-expanded, data-state, …) via Slot on the\n * DropdownMenuTrigger child. We capture them with a rest-spread.\n */\ntype SplitTriggerProps = SplitTriggerOwnProps &\n Omit<React.ComponentProps<\"div\">, keyof SplitTriggerOwnProps>;\n\nconst SplitTrigger = forwardRef<HTMLDivElement, SplitTriggerProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n actionButtonRef,\n className,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const variant = buttonProps?.variant;\n const size = buttonProps?.size;\n\n return (\n <ButtonGroup\n ref={ref}\n className={cn(\"neeto-ui-action-dropdown\", className)}\n {...otherProps}\n >\n {/* Action button — fires the primary onClick */}\n <Button\n ref={actionButtonRef}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n disabled={disabled}\n {...buttonProps}\n onClick={onClick}\n data-testid=\"action-dropdown-btn\"\n />\n\n {/* Chevron trigger — opens the dropdown menu */}\n <DropdownMenuTrigger asChild disabled={disabled}>\n <PrimitiveButton\n type=\"button\"\n variant={variant}\n size={size}\n disabled={disabled}\n aria-label={t(\n \"neetoatoms.dropdownMenu.openMenu\",\n \"Open dropdown menu\"\n )}\n className=\"px-1.5\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </PrimitiveButton>\n </DropdownMenuTrigger>\n </ButtonGroup>\n );\n }\n);\nSplitTrigger.displayName = \"Dropdown.SplitTrigger\";\n\nexport { SplitTrigger };\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Button } from \"src/components/Button\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\n/**\n * Extra props that Radix's Slot injects when the parent Trigger uses\n * `asChild` (aria-expanded, aria-haspopup, data-state, id, …).\n * We capture them with a rest-spread so they reach the DOM button.\n */\ntype TriggerButtonProps = BaseTriggerProps &\n Omit<React.ComponentProps<\"button\">, keyof BaseTriggerProps>;\n\nconst TriggerButton = forwardRef<HTMLButtonElement, TriggerButtonProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n className,\n ...otherProps\n },\n ref\n ) => (\n <Button\n ref={ref}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n trailing={\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n }\n disabled={disabled}\n {...otherProps}\n {...buttonProps}\n onClick={onClick}\n className={cn(className, buttonProps?.className)}\n />\n )\n);\nTriggerButton.displayName = \"Dropdown.TriggerButton\";\n\nexport { TriggerButton };\n","import { createContext, type ReactNode, type Ref } from \"react\";\n\nimport {\n DropdownMenuContent,\n DropdownMenuItem as PrimitiveDropdownMenuItem,\n} from \"src/primitives/DropdownMenu\";\nimport type { ButtonProps } from \"src/components/Button\";\nimport type { IconProp } from \"src/lib/renderIcon\";\n\nexport type DropdownPosition =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left-end\"\n | \"right-start\"\n | \"right-end\"\n | \"auto\";\n\n/**\n * Mirrors the primitive `DropdownMenuItem`'s `variant` vocabulary so the\n * wrapper speaks the same language. Keep in sync with Radix primitive.\n */\nexport type MenuItemVariant = \"default\" | \"destructive\";\n\n/**\n * Props forwarded to the trigger button. Sourced from the `Button` wrapper,\n * so consumers can pass `variant`, `size`, `loading`, `tooltipProps`,\n * `fullWidth`, `iconPosition`, etc.\n *\n * The dropdown owns these and so they are excluded:\n * - `label`/`icon`: top-level props on `DropdownMenu`\n * - `trailing`: the chevron\n * - `disabled`: `DropdownMenu`'s own `disabled` prop is authoritative\n * - `onClick`: use `DropdownMenu`'s `onClick` (drives split-button mode)\n * - `to`/`href`: a navigating trigger doesn't open a menu\n * - `asChild`/`children`: use `customTarget` / `label` instead\n */\nexport type DropdownButtonProps = Omit<\n ButtonProps,\n | \"label\"\n | \"icon\"\n | \"trailing\"\n | \"disabled\"\n | \"onClick\"\n | \"to\"\n | \"href\"\n | \"asChild\"\n | \"children\"\n>;\n\nexport interface BaseTriggerProps {\n label?: string;\n icon?: IconProp;\n buttonProps?: DropdownButtonProps;\n disabled: boolean;\n isOpen: boolean;\n onClick?: (e: React.MouseEvent) => void;\n}\n\nexport interface DropdownProps {\n /** Text label displayed inside the trigger button. */\n label?: string;\n /** Icon rendered inside the trigger button. */\n icon?: IconProp;\n /**\n * Props forwarded to the trigger button (variant, size, className,\n * loading, tooltipProps, fullWidth, iconPosition, …). In split-button\n * mode, forwarded to the action button; the chevron half visually mirrors\n * `variant`/`size`. Accepts the full `Button` prop type minus the props\n * the dropdown controls.\n */\n buttonProps?: DropdownButtonProps;\n /** Custom trigger element. Overrides the default button trigger. */\n customTarget?: ReactNode | ((props: { isOpen: boolean }) => ReactNode);\n /** Whether the dropdown is disabled. */\n disabled?: boolean;\n /** Dropdown menu content. */\n children?: ReactNode;\n /** Position of the dropdown menu relative to the trigger. */\n position?: DropdownPosition;\n /** Whether pressing Escape closes the dropdown. */\n closeOnEsc?: boolean;\n /** Whether selecting an item closes the dropdown. */\n closeOnSelect?: boolean;\n /** Whether clicking outside closes the dropdown. */\n closeOnOutsideClick?: boolean;\n /** Controlled open state. */\n isOpen?: boolean;\n /** Callback fired when the dropdown closes. */\n onClose?: () => void;\n /**\n * Callback fired when the trigger button is clicked.\n * When provided (without `customTarget`), renders a **split-button**:\n * a primary action button (fires `onClick`) paired with a separate\n * chevron that opens the dropdown menu.\n */\n onClick?: (e: React.MouseEvent) => void;\n /** Additional CSS class names for the trigger wrapper. */\n className?: string;\n /** Ref forwarded to the trigger button. In split-button mode, forwarded to the action button. */\n triggerRef?: Ref<HTMLButtonElement>;\n /** Extra props forwarded to the DropdownMenuContent. */\n dropdownProps?: Omit<\n React.ComponentProps<typeof DropdownMenuContent>,\n \"side\" | \"align\"\n >;\n}\n\nexport interface MenuItemProps extends Omit<\n React.ComponentProps<typeof PrimitiveDropdownMenuItem>,\n \"prefix\" | \"variant\" | \"onClick\"\n> {\n /** Highlight as active. */\n isActive?: boolean;\n /** Disable the menu item. */\n isDisabled?: boolean;\n /** Visual variant of the menu item. */\n variant?: MenuItemVariant;\n /** Content rendered before the label. */\n prefix?: ReactNode;\n /** Content rendered after the label. */\n suffix?: ReactNode;\n /** Internal route (renders as anchor). */\n to?: string;\n /** External link (renders as anchor). */\n href?: string;\n /** Callback fired when the item is selected. */\n onClick?: (e: Event) => void;\n /** Children / label text. */\n children?: ReactNode;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport const DropdownContext = createContext({ closeOnSelect: true });\n","import { useCallback, useState } from \"react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"src/primitives/DropdownMenu\";\n\nimport { ALIGN_MAP, SIDE_MAP } from \"./constants\";\nimport { SplitTrigger } from \"./SplitTrigger\";\nimport { TriggerButton } from \"./TriggerButton\";\nimport { DropdownContext, type DropdownProps } from \"./types\";\n\nconst DropdownBase = ({\n label,\n icon,\n buttonProps,\n customTarget,\n disabled = false,\n children,\n position = \"bottom-end\",\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n isOpen: isOpenProp,\n onClose,\n onClick,\n className,\n triggerRef,\n dropdownProps,\n}: DropdownProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isOpenProp !== undefined;\n const open = isControlled ? isOpenProp : internalOpen;\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n if (!isControlled) setInternalOpen(isOpen);\n if (!isOpen) onClose?.();\n },\n [isControlled, onClose]\n );\n\n const side = SIDE_MAP[position] ?? \"bottom\";\n const align = ALIGN_MAP[position] ?? \"end\";\n\n // Split-button mode: onClick provided without a customTarget.\n const isSplit = !!onClick && !customTarget;\n\n const sharedTriggerProps = {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen: open,\n onClick,\n };\n\n const triggerNode = isSplit ? (\n <SplitTrigger\n {...sharedTriggerProps}\n actionButtonRef={triggerRef}\n className={className}\n />\n ) : (\n <DropdownMenuTrigger asChild disabled={disabled} className={className}>\n {customTarget ? (\n typeof customTarget === \"function\" ? (\n customTarget({ isOpen: open })\n ) : (\n customTarget\n )\n ) : (\n <TriggerButton ref={triggerRef} {...sharedTriggerProps} />\n )}\n </DropdownMenuTrigger>\n );\n\n return (\n <DropdownContext.Provider value={{ closeOnSelect }}>\n <DropdownMenu\n open={open}\n onOpenChange={handleOpenChange}\n modal={closeOnOutsideClick}\n >\n {triggerNode}\n <DropdownMenuContent\n side={side}\n align={align}\n onEscapeKeyDown={closeOnEsc ? undefined : e => e.preventDefault()}\n onInteractOutside={\n closeOnOutsideClick ? undefined : e => e.preventDefault()\n }\n {...dropdownProps}\n >\n {children}\n </DropdownMenuContent>\n </DropdownMenu>\n </DropdownContext.Provider>\n );\n};\n\nexport { DropdownBase };\n","import React, { forwardRef } from \"react\";\n\nimport { DropdownMenuSeparator } from \"src/primitives/DropdownMenu\";\n\nconst Divider = forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof DropdownMenuSeparator>\n>((props, ref) => <DropdownMenuSeparator ref={ref} {...props} />);\nDivider.displayName = \"Dropdown.Divider\";\n\nexport { Divider };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { DropdownMenuLabel } from \"src/primitives/DropdownMenu\";\n\ninterface MenuLabelProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Label = forwardRef<HTMLDivElement, MenuLabelProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuLabel ref={ref} className={className} {...otherProps}>\n {children}\n </DropdownMenuLabel>\n )\n);\nLabel.displayName = \"Dropdown.Label\";\n\nexport { Label };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuGroup } from \"src/primitives/DropdownMenu\";\n\ninterface MenuProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuGroup\n ref={ref}\n className={cn(\"flex flex-col\", className)}\n {...otherProps}\n >\n {children}\n </DropdownMenuGroup>\n )\n);\nMenu.displayName = \"Dropdown.Menu\";\n\nexport { Menu };\n","import { forwardRef, useCallback, useContext, useMemo } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuItem as PrimitiveDropdownMenuItem } from \"src/primitives/DropdownMenu\";\n\nimport { DropdownContext, type MenuItemProps } from \"./types\";\n\nconst MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n (\n {\n children,\n isActive = false,\n isDisabled = false,\n variant = \"default\",\n prefix,\n suffix,\n to,\n href,\n className,\n onClick,\n disabled: _disabled,\n asChild: _asChild,\n onSelect: _onSelect,\n ...otherProps\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(DropdownContext);\n const linkHref = to ?? href;\n\n const handleSelect = useCallback(\n (e: Event) => {\n if (!closeOnSelect) e.preventDefault();\n onClick?.(e);\n },\n [closeOnSelect, onClick]\n );\n\n const itemContent = useMemo(\n () => (\n <>\n {prefix && (\n <span data-slot=\"menu-item-prefix\" className=\"shrink-0\">\n {prefix}\n </span>\n )}\n <span className=\"flex-1 truncate\">{children}</span>\n {suffix && (\n <span\n data-slot=\"menu-item-suffix\"\n className=\"ms-auto shrink-0 text-muted-foreground\"\n >\n {suffix}\n </span>\n )}\n </>\n ),\n [prefix, children, suffix]\n );\n\n return (\n <PrimitiveDropdownMenuItem\n ref={ref}\n variant={variant}\n disabled={isDisabled}\n data-active={isActive || undefined}\n className={cn(\n isActive && \"bg-accent text-accent-foreground\",\n className\n )}\n asChild={!!linkHref}\n onSelect={handleSelect}\n {...otherProps}\n >\n {linkHref ? <a href={linkHref}>{itemContent}</a> : itemContent}\n </PrimitiveDropdownMenuItem>\n );\n }\n);\nMenuItem.displayName = \"Dropdown.MenuItem\";\n\nexport { MenuItem };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"src/primitives/DropdownMenu\";\n\ninterface SubMenuProps {\n label?: string;\n icon?: IconProp;\n children?: ReactNode;\n className?: string;\n triggerProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubTrigger>,\n \"ref\" | \"className\" | \"children\"\n >;\n contentProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubContent>,\n \"children\"\n >;\n}\n\nconst SubMenu = forwardRef<HTMLDivElement, SubMenuProps>(\n ({ label, icon, children, className, triggerProps, contentProps }, ref) => (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger ref={ref} className={className} {...triggerProps}>\n {icon && <span className=\"shrink-0\">{renderIcon(icon, \"size-4\")}</span>}\n {label && <span>{label}</span>}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent {...contentProps}>\n {children}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n);\nSubMenu.displayName = \"Dropdown.SubMenu\";\n\nexport { SubMenu };\n","import { DropdownBase } from \"./DropdownBase\";\nimport { Divider } from \"./Divider\";\nimport { Label } from \"./Label\";\nimport { Menu } from \"./Menu\";\nimport { MenuItem } from \"./MenuItem\";\nimport { SubMenu } from \"./SubMenu\";\n\nexport type { DropdownProps, DropdownPosition } from \"./types\";\n\ntype DropdownComponent = typeof DropdownBase & {\n displayName?: string;\n Menu: typeof Menu;\n MenuItem: typeof MenuItem;\n Divider: typeof Divider;\n Label: typeof Label;\n SubMenu: typeof SubMenu;\n};\n\nconst DropdownMenu = DropdownBase as DropdownComponent;\nDropdownMenu.displayName = \"DropdownMenu\";\nDropdownMenu.Menu = Menu;\nDropdownMenu.MenuItem = MenuItem;\nDropdownMenu.Divider = Divider;\nDropdownMenu.Label = Label;\nDropdownMenu.SubMenu = SubMenu;\n\nexport { DropdownMenu };\n"],"names":["forwardRef","useTranslation","jsxs","ButtonGroup","cn","jsx","Button","DropdownMenuTrigger","PrimitiveButton","ChevronDown","createContext","useState","useCallback","DropdownMenu","DropdownMenuContent","DropdownMenuSeparator","DropdownMenuLabel","DropdownMenuGroup","useContext","useMemo","Fragment","PrimitiveDropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","renderIcon","DropdownMenuSubContent"],"mappings":"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"}
@@ -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 Input = require('../Input-BngZja62.js');
3
+ var Input = require('../Input-BQh-GS_w.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.js');
@@ -17,7 +17,7 @@ require('../button-CMl9rLXi.js');
17
17
  require('../index-DuNgWCXZ.js');
18
18
  require('../input-BlyvDsZ5.js');
19
19
  require('../textarea-Br-J3v7z.js');
20
- require('../withIconSize-BKUwVY6t.js');
20
+ require('../withIconSize-C6LP0R7o.js');
21
21
 
22
22
 
23
23
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Kbd = require('../Kbd-D2nELu5m.js');
3
+ var Kbd = require('../Kbd-BvC3VSNb.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.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 MultiEmailInput = require('../MultiEmailInput-BZtzoX7D.js');
3
+ var MultiEmailInput = require('../MultiEmailInput-KmN2BSaX.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-BhM0B89p.js');
@@ -11,7 +11,7 @@ require('../index-DMbj7vXd.js');
11
11
  require('react-dom');
12
12
  require('../index-D-iDn9RI.js');
13
13
  require('../separator-DSL-aG1J.js');
14
- require('../withIconSize-BKUwVY6t.js');
14
+ require('../withIconSize-C6LP0R7o.js');
15
15
  require('../x-Brw3FJst.js');
16
16
  require('../createLucideIcon-D0tRgV6l.js');
17
17
 
@@ -1,9 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var Toastr = require('../Toastr-DYWd66L7.js');
4
- require('../index-Vlwnyfvs.js');
3
+ var Toastr = require('../Toastr-CQ-R8VcZ.js');
4
+ require('react/jsx-runtime');
5
+ require('../index-CPmGpPzg.js');
6
+ require('../createLucideIcon-D0tRgV6l.js');
5
7
  require('react');
6
8
  require('react-dom');
9
+ require('../utils-BhM0B89p.js');
10
+ require('../triangle-alert-CC-cck8p.js');
11
+ require('../info-DGfDptn1.js');
12
+ require('../x-Brw3FJst.js');
7
13
 
8
14
 
9
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"Toastr.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"Toastr.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -2,21 +2,21 @@
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
- var Callout = require('../Callout-_XBx1JHL.js');
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-CgQRfaIc.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');
16
- var Input = require('../Input-BngZja62.js');
17
- var Kbd = require('../Kbd-D2nELu5m.js');
18
- var Label = require('../Label-OpNoSl0F.js');
19
- var MultiEmailInput = require('../MultiEmailInput-BZtzoX7D.js');
15
+ var Empty = require('../Empty-D8g97TNM.js');
16
+ var Input = require('../Input-BQh-GS_w.js');
17
+ var Kbd = require('../Kbd-BvC3VSNb.js');
18
+ var Label = require('../Label-DFLFi0tH.js');
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');
@@ -31,7 +31,7 @@ var Tabs = require('../Tabs-YPRmLtUM.js');
31
31
  var Textarea = require('../Textarea-yWv-66yX.js');
32
32
  var TimePicker = require('../TimePicker-CU7qJpoT.js');
33
33
  var TimePickerPanel = require('../TimePickerPanel-B5h5khbs.js');
34
- var Toastr = require('../Toastr-DYWd66L7.js');
34
+ var Toastr = require('../Toastr-CQ-R8VcZ.js');
35
35
  var Tooltip = require('../Tooltip-Dph_R3Ct.js');
36
36
  var TranslationProvider = require('../TranslationProvider-Dh5_Fzzk.js');
37
37
  var Tree = require('../Tree-DAyVPLnJ.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,12 +87,13 @@ 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
- require('../triangle-alert-ZUMRpmzW.js');
95
+ require('../triangle-alert-CC-cck8p.js');
96
+ require('../info-DGfDptn1.js');
96
97
  require('../primitives/Checkbox.js');
97
98
  require('../index-CF951Pw9.js');
98
99
  require('../primitives/Field.js');
@@ -112,7 +113,7 @@ require('../primitives/InputGroup.js');
112
113
  require('../input-group-8TZFHzVl.js');
113
114
  require('../input-BlyvDsZ5.js');
114
115
  require('../textarea-Br-J3v7z.js');
115
- require('../withIconSize-BKUwVY6t.js');
116
+ require('../withIconSize-C6LP0R7o.js');
116
117
  require('../primitives/Kbd.js');
117
118
  require('../primitives/Label.js');
118
119
  require('../primitives/HoverCard.js');
@@ -129,7 +130,7 @@ require('../primitives/Switch.js');
129
130
  require('../primitives/Tabs.js');
130
131
  require('../primitives/Textarea.js');
131
132
  require('../primitives/ScrollArea.js');
132
- require('../index-Vlwnyfvs.js');
133
+ require('../index-CPmGpPzg.js');
133
134
  require('i18next');
134
135
  require('../redux-DEF7lAd1.js');
135
136
 
@@ -139,8 +140,10 @@ exports.DropdownMenu = components_DropdownMenu.DropdownMenu;
139
140
  exports.Accordion = Accordion.Accordion;
140
141
  exports.Alert = Alert.Alert;
141
142
  exports.Avatar = Avatar.AvatarNamespace;
142
- exports.Badge = Badge.Badge;
143
+ exports.BUTTON_SIZES = Button.BUTTON_SIZES;
144
+ exports.BUTTON_VARIANTS = Button.BUTTON_VARIANTS;
143
145
  exports.Button = Button.Button;
146
+ exports.Badge = Badge.Badge;
144
147
  exports.Callout = Callout.Callout;
145
148
  exports.Checkbox = Checkbox.Checkbox;
146
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');