@startdownnotez404/ui 1.3.5 → 1.3.6

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 (254) hide show
  1. package/dist/AutocompleteField-653233JU.mjs +203 -0
  2. package/dist/AutocompleteField-653233JU.mjs.map +1 -0
  3. package/dist/AvatarField-KFASMVZU.mjs +378 -0
  4. package/dist/AvatarField-KFASMVZU.mjs.map +1 -0
  5. package/dist/{DateField-ZYMZFHL4.mjs → DateField-CDJ6W6XF.mjs} +19 -7
  6. package/dist/DateField-CDJ6W6XF.mjs.map +1 -0
  7. package/dist/DateRangeField-ZWSFT5KV.mjs +118 -0
  8. package/dist/DateRangeField-ZWSFT5KV.mjs.map +1 -0
  9. package/dist/{DateTimeField-TPTJ7YIZ.mjs → DateTimeField-SFAF4I6A.mjs} +36 -11
  10. package/dist/DateTimeField-SFAF4I6A.mjs.map +1 -0
  11. package/dist/FileUploadField-TSNCSLXX.mjs +101 -0
  12. package/dist/FileUploadField-TSNCSLXX.mjs.map +1 -0
  13. package/dist/{JSONEditorField-TMRWGXVR.mjs → JSONEditorField-3KXC2GOG.mjs} +7 -6
  14. package/dist/{JSONEditorField-TMRWGXVR.mjs.map → JSONEditorField-3KXC2GOG.mjs.map} +1 -1
  15. package/dist/{PopperMenu-LJ36RPBW.mjs → PopperMenu-PSHLKIEZ.mjs} +26 -12
  16. package/dist/{PopperMenu-LJ36RPBW.mjs.map → PopperMenu-PSHLKIEZ.mjs.map} +1 -1
  17. package/dist/{TelField-LOGRVZ4I.mjs → TelField-FRQT2UBJ.mjs} +8 -7
  18. package/dist/{TelField-LOGRVZ4I.mjs.map → TelField-FRQT2UBJ.mjs.map} +1 -1
  19. package/dist/TimeField-XVWXBJID.mjs +94 -0
  20. package/dist/TimeField-XVWXBJID.mjs.map +1 -0
  21. package/dist/alert.d.mts +148 -18
  22. package/dist/alert.d.ts +148 -18
  23. package/dist/alert.js +698 -254
  24. package/dist/alert.js.map +1 -1
  25. package/dist/alert.mjs +46 -10
  26. package/dist/autocomplete.d.mts +438 -4
  27. package/dist/autocomplete.d.ts +438 -4
  28. package/dist/autocomplete.js +632 -21
  29. package/dist/autocomplete.js.map +1 -1
  30. package/dist/autocomplete.mjs +26 -7
  31. package/dist/avatar.js +2 -1
  32. package/dist/avatar.js.map +1 -1
  33. package/dist/avatar.mjs +12 -11
  34. package/dist/box.mjs +2 -1
  35. package/dist/button.mjs +3 -2
  36. package/dist/chart.mjs +3 -2
  37. package/dist/checkbox.mjs +3 -2
  38. package/dist/chunk-2FK24ZPJ.mjs +78 -0
  39. package/dist/chunk-2FK24ZPJ.mjs.map +1 -0
  40. package/dist/{chunk-V26V2S3W.mjs → chunk-3O3N6X6D.mjs} +3 -3
  41. package/dist/{chunk-Y74ALKBL.mjs → chunk-4MSPA7U7.mjs} +11 -9
  42. package/dist/{chunk-Y74ALKBL.mjs.map → chunk-4MSPA7U7.mjs.map} +1 -1
  43. package/dist/{chunk-24XDGNJ6.mjs → chunk-4P45Z5LR.mjs} +63 -41
  44. package/dist/chunk-4P45Z5LR.mjs.map +1 -0
  45. package/dist/chunk-4SSJY32J.mjs +1182 -0
  46. package/dist/chunk-4SSJY32J.mjs.map +1 -0
  47. package/dist/{chunk-XJ2SXC2Q.mjs → chunk-6B6I27TT.mjs} +18 -16
  48. package/dist/{chunk-XJ2SXC2Q.mjs.map → chunk-6B6I27TT.mjs.map} +1 -1
  49. package/dist/chunk-6JKMEH2L.mjs +205 -0
  50. package/dist/chunk-6JKMEH2L.mjs.map +1 -0
  51. package/dist/{chunk-IN3O4R7Q.mjs → chunk-7O526A2D.mjs} +6 -4
  52. package/dist/{chunk-IN3O4R7Q.mjs.map → chunk-7O526A2D.mjs.map} +1 -1
  53. package/dist/chunk-AFLEG5ZC.mjs +28 -0
  54. package/dist/chunk-AFLEG5ZC.mjs.map +1 -0
  55. package/dist/{chunk-UGMRJMFZ.mjs → chunk-BO5CU4ZM.mjs} +4 -4
  56. package/dist/{chunk-JIU5GVM7.mjs → chunk-D4XPNSSI.mjs} +5 -3
  57. package/dist/{chunk-JIU5GVM7.mjs.map → chunk-D4XPNSSI.mjs.map} +1 -1
  58. package/dist/chunk-DPIMA5IO.mjs +72 -0
  59. package/dist/chunk-DPIMA5IO.mjs.map +1 -0
  60. package/dist/chunk-F2CGFVIZ.mjs +83 -0
  61. package/dist/chunk-F2CGFVIZ.mjs.map +1 -0
  62. package/dist/{chunk-R5MKQN6D.mjs → chunk-FBLSJQWK.mjs} +3 -3
  63. package/dist/{chunk-BGB7JHIU.mjs → chunk-FMGZCOJC.mjs} +5 -3
  64. package/dist/{chunk-BGB7JHIU.mjs.map → chunk-FMGZCOJC.mjs.map} +1 -1
  65. package/dist/{chunk-UTVSYS6S.mjs → chunk-FNSIQ2B7.mjs} +18 -6
  66. package/dist/chunk-FNSIQ2B7.mjs.map +1 -0
  67. package/dist/{chunk-JWANK42G.mjs → chunk-FUZ2JNTZ.mjs} +3 -3
  68. package/dist/{chunk-CRYIEYZZ.mjs → chunk-HAJWE62X.mjs} +66 -42
  69. package/dist/chunk-HAJWE62X.mjs.map +1 -0
  70. package/dist/{chunk-CWFWRZWU.mjs → chunk-KSN33A6I.mjs} +3 -2
  71. package/dist/{chunk-CWFWRZWU.mjs.map → chunk-KSN33A6I.mjs.map} +1 -1
  72. package/dist/chunk-KYTHGFFY.mjs +866 -0
  73. package/dist/chunk-KYTHGFFY.mjs.map +1 -0
  74. package/dist/{chunk-QKGCW37O.mjs → chunk-LDFM46LV.mjs} +5 -3
  75. package/dist/{chunk-QKGCW37O.mjs.map → chunk-LDFM46LV.mjs.map} +1 -1
  76. package/dist/chunk-LQNDBPHU.mjs +142 -0
  77. package/dist/chunk-LQNDBPHU.mjs.map +1 -0
  78. package/dist/{chunk-E3I2VDHZ.mjs → chunk-M2PYXSAF.mjs} +6 -4
  79. package/dist/{chunk-E3I2VDHZ.mjs.map → chunk-M2PYXSAF.mjs.map} +1 -1
  80. package/dist/{chunk-DELCADNF.mjs → chunk-ODVKRIVN.mjs} +30 -30
  81. package/dist/{chunk-HR3A4H4E.mjs → chunk-PEJL2T2K.mjs} +13 -11
  82. package/dist/{chunk-HR3A4H4E.mjs.map → chunk-PEJL2T2K.mjs.map} +1 -1
  83. package/dist/{chunk-OGNGPI3M.mjs → chunk-PL55YKT4.mjs} +2 -2
  84. package/dist/{chunk-S6EZVRZC.mjs → chunk-PNSJC6PC.mjs} +5 -28
  85. package/dist/chunk-PNSJC6PC.mjs.map +1 -0
  86. package/dist/{chunk-TDRA5EZI.mjs → chunk-PUREEN2J.mjs} +7 -7
  87. package/dist/chunk-QFS5CENY.mjs +659 -0
  88. package/dist/chunk-QFS5CENY.mjs.map +1 -0
  89. package/dist/chunk-RSN7NH2J.mjs +250 -0
  90. package/dist/chunk-RSN7NH2J.mjs.map +1 -0
  91. package/dist/{chunk-UDREPVEY.mjs → chunk-RVSMEZE3.mjs} +12 -78
  92. package/dist/chunk-RVSMEZE3.mjs.map +1 -0
  93. package/dist/{chunk-SRWPHN2N.mjs → chunk-S64IYJ6Y.mjs} +2 -2
  94. package/dist/{chunk-ZG3NQI77.mjs → chunk-SMD7OEUW.mjs} +6 -4
  95. package/dist/{chunk-ZG3NQI77.mjs.map → chunk-SMD7OEUW.mjs.map} +1 -1
  96. package/dist/{chunk-NJYNJLT7.mjs → chunk-SWFB3A3G.mjs} +2 -2
  97. package/dist/{chunk-RXBQ7KXF.mjs → chunk-USXGNKWJ.mjs} +98 -44
  98. package/dist/chunk-USXGNKWJ.mjs.map +1 -0
  99. package/dist/{chunk-OJV6V7YZ.mjs → chunk-VL7V52YD.mjs} +27 -20
  100. package/dist/chunk-VL7V52YD.mjs.map +1 -0
  101. package/dist/{chunk-2ZZJTBTE.mjs → chunk-WJZ3IYET.mjs} +2 -2
  102. package/dist/chunk-XAJAMVAG.mjs +1720 -0
  103. package/dist/chunk-XAJAMVAG.mjs.map +1 -0
  104. package/dist/chunk-YIJ5QVJ6.mjs +277 -0
  105. package/dist/chunk-YIJ5QVJ6.mjs.map +1 -0
  106. package/dist/{chunk-T6AMRENK.mjs → chunk-YRW5NKD7.mjs} +148 -112
  107. package/dist/chunk-YRW5NKD7.mjs.map +1 -0
  108. package/dist/chunk-ZMJKG2UI.mjs +71 -0
  109. package/dist/chunk-ZMJKG2UI.mjs.map +1 -0
  110. package/dist/confirm.d.mts +48 -0
  111. package/dist/confirm.d.ts +48 -0
  112. package/dist/confirm.js +334 -0
  113. package/dist/confirm.js.map +1 -0
  114. package/dist/confirm.mjs +20 -0
  115. package/dist/datePicker.d.mts +256 -14
  116. package/dist/datePicker.d.ts +256 -14
  117. package/dist/datePicker.js +1624 -145
  118. package/dist/datePicker.js.map +1 -1
  119. package/dist/datePicker.mjs +19 -6
  120. package/dist/dialog.d.mts +166 -0
  121. package/dist/dialog.d.ts +166 -0
  122. package/dist/dialog.js +362 -0
  123. package/dist/dialog.js.map +1 -0
  124. package/dist/dialog.mjs +45 -0
  125. package/dist/emptyState.d.mts +17 -0
  126. package/dist/emptyState.d.ts +17 -0
  127. package/dist/emptyState.js +253 -0
  128. package/dist/emptyState.js.map +1 -0
  129. package/dist/emptyState.mjs +12 -0
  130. package/dist/emptyState.mjs.map +1 -0
  131. package/dist/errorState.d.mts +18 -0
  132. package/dist/errorState.d.ts +18 -0
  133. package/dist/{displayFile.js → errorState.js} +107 -156
  134. package/dist/errorState.js.map +1 -0
  135. package/dist/errorState.mjs +15 -0
  136. package/dist/errorState.mjs.map +1 -0
  137. package/dist/fileUpload.d.mts +197 -0
  138. package/dist/fileUpload.d.ts +197 -0
  139. package/dist/fileUpload.js +1483 -0
  140. package/dist/fileUpload.js.map +1 -0
  141. package/dist/fileUpload.mjs +65 -0
  142. package/dist/fileUpload.mjs.map +1 -0
  143. package/dist/flowMap.mjs +7 -6
  144. package/dist/flowMap.mjs.map +1 -1
  145. package/dist/image.js +1195 -429
  146. package/dist/image.js.map +1 -1
  147. package/dist/image.mjs +8 -6
  148. package/dist/index.d.ts +7 -2
  149. package/dist/index.js +8606 -4087
  150. package/dist/index.js.map +1 -1
  151. package/dist/index.mjs +314 -152
  152. package/dist/inlineError.d.mts +16 -0
  153. package/dist/inlineError.d.ts +16 -0
  154. package/dist/inlineError.js +297 -0
  155. package/dist/inlineError.js.map +1 -0
  156. package/dist/inlineError.mjs +15 -0
  157. package/dist/inlineError.mjs.map +1 -0
  158. package/dist/input.mjs +8 -7
  159. package/dist/jsonEditor.mjs +3 -2
  160. package/dist/list.mjs +7 -6
  161. package/dist/loading.mjs +8 -6
  162. package/dist/markdown.mjs +7 -6
  163. package/dist/markdown.mjs.map +1 -1
  164. package/dist/menu.mjs +9 -8
  165. package/dist/modal.js +2 -1
  166. package/dist/modal.js.map +1 -1
  167. package/dist/modal.mjs +7 -5
  168. package/dist/process.d.mts +33 -75
  169. package/dist/process.d.ts +33 -75
  170. package/dist/process.js +1275 -203
  171. package/dist/process.js.map +1 -1
  172. package/dist/process.mjs +12 -9
  173. package/dist/scrollToLoad.mjs +4 -3
  174. package/dist/select.mjs +10 -9
  175. package/dist/skeleton.d.mts +15 -1
  176. package/dist/skeleton.d.ts +15 -1
  177. package/dist/skeleton.js +114 -2
  178. package/dist/skeleton.js.map +1 -1
  179. package/dist/skeleton.mjs +6 -3
  180. package/dist/stepper.mjs +4 -3
  181. package/dist/tab.mjs +10 -9
  182. package/dist/table.d.mts +269 -85
  183. package/dist/table.d.ts +269 -85
  184. package/dist/table.js +5102 -3153
  185. package/dist/table.js.map +1 -1
  186. package/dist/table.mjs +21 -19
  187. package/dist/theme.js +1766 -432
  188. package/dist/theme.js.map +1 -1
  189. package/dist/theme.mjs +32 -25
  190. package/dist/timeline.mjs +4 -3
  191. package/dist/toast.d.mts +49 -0
  192. package/dist/toast.d.ts +49 -0
  193. package/dist/toast.js +175 -0
  194. package/dist/toast.js.map +1 -0
  195. package/dist/toast.mjs +9 -0
  196. package/dist/toast.mjs.map +1 -0
  197. package/dist/toggleButtonGroup.mjs +3 -2
  198. package/dist/useForm.d.mts +270 -86
  199. package/dist/useForm.d.ts +270 -86
  200. package/dist/useForm.js +4672 -2727
  201. package/dist/useForm.js.map +1 -1
  202. package/dist/useForm.mjs +18 -16
  203. package/dist/useSearch.mjs +13 -12
  204. package/dist/variablesRenderer.mjs +8 -7
  205. package/package.json +3 -3
  206. package/dist/AutocompleteField-ZKNU2IRR.mjs +0 -181
  207. package/dist/AutocompleteField-ZKNU2IRR.mjs.map +0 -1
  208. package/dist/AvatarField-SAODT3CZ.mjs +0 -275
  209. package/dist/AvatarField-SAODT3CZ.mjs.map +0 -1
  210. package/dist/DateField-ZYMZFHL4.mjs.map +0 -1
  211. package/dist/DateTimeField-TPTJ7YIZ.mjs.map +0 -1
  212. package/dist/FileUploadField-NTMWBJER.mjs +0 -78
  213. package/dist/FileUploadField-NTMWBJER.mjs.map +0 -1
  214. package/dist/chunk-24XDGNJ6.mjs.map +0 -1
  215. package/dist/chunk-27KYFU7R.mjs +0 -30
  216. package/dist/chunk-27KYFU7R.mjs.map +0 -1
  217. package/dist/chunk-AAH2O24U.mjs +0 -325
  218. package/dist/chunk-AAH2O24U.mjs.map +0 -1
  219. package/dist/chunk-CRYIEYZZ.mjs.map +0 -1
  220. package/dist/chunk-EEH7HACG.mjs +0 -249
  221. package/dist/chunk-EEH7HACG.mjs.map +0 -1
  222. package/dist/chunk-EKPULYPU.mjs +0 -497
  223. package/dist/chunk-EKPULYPU.mjs.map +0 -1
  224. package/dist/chunk-OJV6V7YZ.mjs.map +0 -1
  225. package/dist/chunk-RXBQ7KXF.mjs.map +0 -1
  226. package/dist/chunk-S6EZVRZC.mjs.map +0 -1
  227. package/dist/chunk-SGCUDWO3.mjs +0 -396
  228. package/dist/chunk-SGCUDWO3.mjs.map +0 -1
  229. package/dist/chunk-T6AMRENK.mjs.map +0 -1
  230. package/dist/chunk-UDREPVEY.mjs.map +0 -1
  231. package/dist/chunk-UTVSYS6S.mjs.map +0 -1
  232. package/dist/chunk-XIMFP6RB.mjs +0 -161
  233. package/dist/chunk-XIMFP6RB.mjs.map +0 -1
  234. package/dist/displayFile.d.mts +0 -95
  235. package/dist/displayFile.d.ts +0 -95
  236. package/dist/displayFile.js.map +0 -1
  237. package/dist/displayFile.mjs +0 -19
  238. package/dist/fileUploader.d.mts +0 -86
  239. package/dist/fileUploader.d.ts +0 -86
  240. package/dist/fileUploader.js +0 -722
  241. package/dist/fileUploader.js.map +0 -1
  242. package/dist/fileUploader.mjs +0 -16
  243. /package/dist/{chunk-V26V2S3W.mjs.map → chunk-3O3N6X6D.mjs.map} +0 -0
  244. /package/dist/{chunk-UGMRJMFZ.mjs.map → chunk-BO5CU4ZM.mjs.map} +0 -0
  245. /package/dist/{chunk-R5MKQN6D.mjs.map → chunk-FBLSJQWK.mjs.map} +0 -0
  246. /package/dist/{chunk-JWANK42G.mjs.map → chunk-FUZ2JNTZ.mjs.map} +0 -0
  247. /package/dist/{chunk-DELCADNF.mjs.map → chunk-ODVKRIVN.mjs.map} +0 -0
  248. /package/dist/{chunk-OGNGPI3M.mjs.map → chunk-PL55YKT4.mjs.map} +0 -0
  249. /package/dist/{chunk-TDRA5EZI.mjs.map → chunk-PUREEN2J.mjs.map} +0 -0
  250. /package/dist/{chunk-SRWPHN2N.mjs.map → chunk-S64IYJ6Y.mjs.map} +0 -0
  251. /package/dist/{chunk-NJYNJLT7.mjs.map → chunk-SWFB3A3G.mjs.map} +0 -0
  252. /package/dist/{chunk-2ZZJTBTE.mjs.map → chunk-WJZ3IYET.mjs.map} +0 -0
  253. /package/dist/{displayFile.mjs.map → confirm.mjs.map} +0 -0
  254. /package/dist/{fileUploader.mjs.map → dialog.mjs.map} +0 -0
@@ -0,0 +1,866 @@
1
+ import {
2
+ OptionRenderer,
3
+ PickerField,
4
+ Provider,
5
+ gitHubPickerRootStyle,
6
+ gitHubPickerRootSx,
7
+ useStateContext
8
+ } from "./chunk-VL7V52YD.mjs";
9
+ import {
10
+ SoftSkeleton
11
+ } from "./chunk-LQNDBPHU.mjs";
12
+ import {
13
+ Badge
14
+ } from "./chunk-56TI2ZBT.mjs";
15
+ import {
16
+ default as default8
17
+ } from "./chunk-VYD3PDBB.mjs";
18
+ import {
19
+ default as default4
20
+ } from "./chunk-MDAUF7IL.mjs";
21
+ import {
22
+ default109 as default6,
23
+ default115 as default7,
24
+ default98 as default5
25
+ } from "./chunk-ZVFYOXDE.mjs";
26
+ import {
27
+ IconButton_default
28
+ } from "./chunk-D4XPNSSI.mjs";
29
+ import {
30
+ Chip
31
+ } from "./chunk-OP6LKXPA.mjs";
32
+ import {
33
+ default as default3
34
+ } from "./chunk-4RPFRNXG.mjs";
35
+ import {
36
+ default as default2
37
+ } from "./chunk-PNSJC6PC.mjs";
38
+ import {
39
+ mergeSx
40
+ } from "./chunk-AFLEG5ZC.mjs";
41
+
42
+ // src/components/elemental/Autocomplete/src/GitHubPicker/GitHubPicker.tsx
43
+ import { useState, useMemo, useId, Suspense, lazy } from "react";
44
+
45
+ // src/_utils/_func/array.ts
46
+ function sortByCondi(array, key, condition, reverse = false) {
47
+ const anchor = reverse ? -1 : 1;
48
+ const sorted = [...array];
49
+ sorted.sort((a, b) => {
50
+ if (condition(a[key], b[key])) {
51
+ return -anchor;
52
+ } else {
53
+ return anchor;
54
+ }
55
+ });
56
+ return sorted;
57
+ }
58
+ function sortByKey(array, key, reverse = false) {
59
+ const condi = (a, b) => {
60
+ return a < b;
61
+ };
62
+ const sorted = sortByCondi(array, key, condi, reverse);
63
+ return sorted;
64
+ }
65
+
66
+ // src/components/elemental/Autocomplete/src/GitHubPicker/GitHubPicker.tsx
67
+ import { jsx, jsxs } from "react/jsx-runtime";
68
+ var PopperMenu = lazy(() => import("./PopperMenu-PSHLKIEZ.mjs"));
69
+ var PICKER_ACCENT = {
70
+ primary: "var(--mui-palette-primary-emphasis)",
71
+ secondary: "var(--mui-palette-secondary-main)",
72
+ error: "var(--mui-palette-error-main)",
73
+ info: "var(--mui-palette-info-main)",
74
+ success: "var(--mui-palette-success-main)",
75
+ warning: "var(--mui-palette-warning-main)",
76
+ system: "var(--mui-palette-system-main)",
77
+ insight: "var(--mui-palette-insight-main)"
78
+ };
79
+ function GitHubPicker({
80
+ multiple = true,
81
+ ...p
82
+ }) {
83
+ const _selectedIdProps = p.selectedIdProps[0];
84
+ const [anchorEl, setAnchorEl] = useState(null);
85
+ return /* @__PURE__ */ jsx(Provider, { selectedIds: _selectedIdProps, options: p.options, isMultiple: multiple, open: Boolean(anchorEl), children: /* @__PURE__ */ jsx(Picker, { ...p, multiple, anchorEl, setAnchorEl }) });
86
+ }
87
+ function Picker(p) {
88
+ const {
89
+ selectedIdProps,
90
+ options = [],
91
+ // options for rendering and autocomplete
92
+ additionSort,
93
+ title,
94
+ subtitle,
95
+ titleIcon,
96
+ onChange,
97
+ onDelete,
98
+ error = false,
99
+ multiple,
100
+ // default value set in Parent
101
+ disabled = false,
102
+ useGroup = true,
103
+ isAddOptionEnabled = false,
104
+ addOptionHandler,
105
+ isPopperFreezed,
106
+ variant = "field",
107
+ color = "secondary",
108
+ anchorEl,
109
+ setAnchorEl
110
+ } = p;
111
+ const tone = error ? "error" : color;
112
+ const accent = PICKER_ACCENT[tone];
113
+ const pickerId = useId();
114
+ const menuId = `${pickerId}-menu`;
115
+ const listboxId = `${pickerId}-listbox`;
116
+ const [selectedIds, sIds] = selectedIdProps;
117
+ const allMinimalOptions = useMemo(() => getMinimalOptions(options, additionSort), [options, additionSort]);
118
+ const selectedOpt = allMinimalOptions.filter((itm) => selectedIds.includes(itm.id));
119
+ const { state, select } = useStateContext();
120
+ const open = Boolean(anchorEl);
121
+ const closeHandler = (passedState) => {
122
+ const newValue = passedState === void 0 ? state.minimal : passedState.minimal;
123
+ const nextIds = idsFromSelection(Boolean(multiple), newValue);
124
+ sIds(nextIds);
125
+ onChange(nextIds);
126
+ if (anchorEl) {
127
+ anchorEl.focus();
128
+ }
129
+ setAnchorEl(null);
130
+ };
131
+ const removeItemHandler = (id) => () => {
132
+ onDelete(id);
133
+ sIds((old) => old.filter((itm) => itm !== id));
134
+ if (multiple) {
135
+ const current = Array.isArray(state.minimal) ? state.minimal : [];
136
+ select(current.filter((opt) => opt.id !== id));
137
+ } else if (!Array.isArray(state.minimal) && state.minimal?.id === id) {
138
+ select(null);
139
+ } else if (Array.isArray(state.minimal)) {
140
+ select(state.minimal.filter((opt) => opt.id !== id));
141
+ }
142
+ };
143
+ const togglePicker = (element) => {
144
+ if (disabled) return;
145
+ if (open) {
146
+ if (isPopperFreezed) return;
147
+ closeHandler();
148
+ return;
149
+ }
150
+ setAnchorEl(element);
151
+ };
152
+ return /* @__PURE__ */ jsx(
153
+ default4,
154
+ {
155
+ onClickAway: () => {
156
+ if (!open || isPopperFreezed) return;
157
+ closeHandler();
158
+ },
159
+ children: /* @__PURE__ */ jsxs(default2, { children: [
160
+ variant === "icon" ? /* @__PURE__ */ jsx(
161
+ IconTrigger,
162
+ {
163
+ id: pickerId,
164
+ menuId,
165
+ open,
166
+ color: tone,
167
+ disabled,
168
+ title,
169
+ titleIcon,
170
+ selectedCount: selectedOpt.length,
171
+ selectedLabels: selectedOpt.map((opt) => opt.label),
172
+ onToggle: togglePicker
173
+ }
174
+ ) : /* @__PURE__ */ jsx(
175
+ FieldTrigger,
176
+ {
177
+ id: pickerId,
178
+ menuId,
179
+ open,
180
+ error,
181
+ accent,
182
+ disabled,
183
+ title,
184
+ titleIcon,
185
+ selectedOpt,
186
+ options,
187
+ removeItemHandler,
188
+ multiple: Boolean(multiple),
189
+ onToggle: togglePicker
190
+ }
191
+ ),
192
+ anchorEl ? /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
193
+ PopperMenu,
194
+ {
195
+ id: menuId,
196
+ listboxId,
197
+ anchorEl,
198
+ allMinimalOptions,
199
+ options,
200
+ closeHandler,
201
+ multiple,
202
+ disabled,
203
+ title: subtitle ?? title,
204
+ useGroup,
205
+ isAddOptionEnabled,
206
+ addOptionHandler,
207
+ isPopperFreezed
208
+ }
209
+ ) }) : null
210
+ ] })
211
+ }
212
+ );
213
+ }
214
+ function idsFromSelection(multiple, newValue) {
215
+ if (multiple) {
216
+ const list = Array.isArray(newValue) ? newValue : [];
217
+ return sortByKey(list, "filterKey").map((item) => item.id);
218
+ }
219
+ const single = Array.isArray(newValue) ? newValue[0] : newValue;
220
+ return single?.id ? [single.id] : [];
221
+ }
222
+ function getMinimalOptions(options, additionSort) {
223
+ const minimal = options.map((itm) => itm.minimal());
224
+ const sortedByFilterKey = sortByKey(minimal, "filterKey");
225
+ const afterAdditionSort = additionSort ? sortedByFilterKey.sort(additionSort) : sortedByFilterKey;
226
+ const sortedByGroup = sortByKey(afterAdditionSort, "group");
227
+ const sortedByDisabled = sortByKey(sortedByGroup, "disabled");
228
+ return sortedByDisabled;
229
+ }
230
+ function FieldTrigger(p) {
231
+ const { id, menuId, open, error, accent, disabled, title, titleIcon, selectedOpt, options, removeItemHandler, multiple, onToggle } = p;
232
+ return /* @__PURE__ */ jsxs(
233
+ PickerField,
234
+ {
235
+ id,
236
+ open,
237
+ error,
238
+ disabled,
239
+ role: "combobox",
240
+ tabIndex: disabled ? -1 : 0,
241
+ "aria-expanded": open,
242
+ "aria-haspopup": "listbox",
243
+ "aria-controls": open ? menuId : void 0,
244
+ "aria-disabled": disabled,
245
+ style: {
246
+ // On error, keep accent readable but quieter than full error-main chrome.
247
+ "--picker-border-emphasis": error ? "color-mix(in srgb, var(--picker-error) 55%, var(--picker-border))" : accent,
248
+ "--picker-check": error ? "color-mix(in srgb, var(--picker-error) 72%, var(--picker-text-secondary))" : accent,
249
+ "--picker-focus-ring": error ? "color-mix(in lab, var(--picker-error), transparent 86%)" : `color-mix(in lab, ${accent}, transparent 82%)`
250
+ },
251
+ onClick: (event) => onToggle(event.currentTarget),
252
+ onKeyDown: (event) => {
253
+ if (event.key === "Enter" || event.key === " ") {
254
+ event.preventDefault();
255
+ onToggle(event.currentTarget);
256
+ }
257
+ },
258
+ children: [
259
+ /* @__PURE__ */ jsxs(
260
+ default2,
261
+ {
262
+ sx: {
263
+ display: "flex",
264
+ alignItems: "center",
265
+ gap: 1,
266
+ minHeight: 20
267
+ },
268
+ children: [
269
+ titleIcon ? /* @__PURE__ */ jsx(
270
+ default2,
271
+ {
272
+ sx: {
273
+ display: "inline-flex",
274
+ color: "var(--picker-check)",
275
+ "& svg": { fontSize: "1.05rem" }
276
+ },
277
+ children: titleIcon
278
+ }
279
+ ) : null,
280
+ title ? /* @__PURE__ */ jsx(
281
+ default3,
282
+ {
283
+ component: "span",
284
+ sx: {
285
+ flex: 1,
286
+ minWidth: 0,
287
+ fontSize: "0.68rem",
288
+ fontWeight: 700,
289
+ letterSpacing: "0.08em",
290
+ textTransform: "uppercase",
291
+ color: "var(--picker-text-secondary)",
292
+ overflow: "hidden",
293
+ textOverflow: "ellipsis",
294
+ whiteSpace: "nowrap",
295
+ m: 0
296
+ },
297
+ children: title
298
+ }
299
+ ) : /* @__PURE__ */ jsx(default2, { sx: { flex: 1 } }),
300
+ /* @__PURE__ */ jsx(
301
+ default6,
302
+ {
303
+ sx: {
304
+ fontSize: 20,
305
+ color: "var(--picker-text-secondary)",
306
+ flexShrink: 0,
307
+ transform: open ? "rotate(180deg)" : "rotate(0deg)",
308
+ transition: "transform 180ms ease"
309
+ }
310
+ }
311
+ )
312
+ ]
313
+ }
314
+ ),
315
+ /* @__PURE__ */ jsx(
316
+ DisplaySelected,
317
+ {
318
+ selectedOpt,
319
+ options,
320
+ removeItemHandler,
321
+ disabled,
322
+ multiple
323
+ }
324
+ )
325
+ ]
326
+ }
327
+ );
328
+ }
329
+ function IconTrigger(p) {
330
+ const { id, menuId, open, color, disabled, title, titleIcon, selectedCount, selectedLabels, onToggle } = p;
331
+ const tooltip = selectedLabels.length > 0 ? selectedLabels.join(", ") : title ?? "Select";
332
+ return /* @__PURE__ */ jsx(
333
+ Badge,
334
+ {
335
+ badgeContent: selectedCount,
336
+ invisible: selectedCount === 0,
337
+ color,
338
+ style_variant: "filled",
339
+ overlap: "circular",
340
+ sx: gitHubPickerRootSx,
341
+ max: 99,
342
+ children: /* @__PURE__ */ jsx(default2, { sx: { display: "inline-flex" }, children: /* @__PURE__ */ jsx(
343
+ IconButton_default,
344
+ {
345
+ id,
346
+ title: open ? "" : tooltip,
347
+ disabled,
348
+ selected: open,
349
+ color,
350
+ "aria-label": title ?? "Select",
351
+ "aria-expanded": open,
352
+ "aria-haspopup": "listbox",
353
+ "aria-controls": open ? menuId : void 0,
354
+ onClick: (event) => onToggle(event.currentTarget),
355
+ children: titleIcon ?? /* @__PURE__ */ jsx(default5, {})
356
+ }
357
+ ) })
358
+ }
359
+ );
360
+ }
361
+ function DisplaySelected(p) {
362
+ const { selectedOpt, options, removeItemHandler, disabled, multiple } = p;
363
+ const selectedIds = selectedOpt.map((itm) => itm.id);
364
+ const displaySelectedOptions = options.filter((itm) => selectedIds.includes(itm.id));
365
+ if (displaySelectedOptions.length === 0) {
366
+ return /* @__PURE__ */ jsx(
367
+ default3,
368
+ {
369
+ sx: {
370
+ fontSize: "0.9rem",
371
+ fontWeight: 500,
372
+ color: "var(--picker-text-secondary)",
373
+ opacity: 0.78,
374
+ lineHeight: 1.4,
375
+ m: 0
376
+ },
377
+ children: multiple ? "Select options" : "Select an option"
378
+ }
379
+ );
380
+ }
381
+ return /* @__PURE__ */ jsx(default2, { sx: {
382
+ overflow: "hidden",
383
+ display: "flex",
384
+ flexWrap: "wrap",
385
+ gap: "6px"
386
+ }, children: displaySelectedOptions.map((o) => {
387
+ return /* @__PURE__ */ jsx(default2, { sx: {
388
+ overflow: "hidden",
389
+ maxWidth: "100%"
390
+ }, children: /* @__PURE__ */ jsx(
391
+ OptionRenderer,
392
+ {
393
+ option: o,
394
+ selected: true,
395
+ isIconClickable: true,
396
+ removeItemHandler: removeItemHandler(o?.id),
397
+ disabled,
398
+ slotProps: {
399
+ DM: {
400
+ isShowDescription: false
401
+ }
402
+ }
403
+ }
404
+ ) }, o.id);
405
+ }) });
406
+ }
407
+
408
+ // src/components/elemental/Autocomplete/src/Autocomplete/Autocomplete.tsx
409
+ import { forwardRef, useCallback, useMemo as useMemo2 } from "react";
410
+ import MuiAutocomplete from "@mui/material/Autocomplete";
411
+
412
+ // src/components/elemental/Autocomplete/src/Autocomplete/theme.ts
413
+ import { autocompleteClasses } from "@mui/material/Autocomplete";
414
+ var autocompleteGlassVars = {
415
+ ...gitHubPickerRootStyle
416
+ };
417
+ var autocompleteGroupLabelSx = {
418
+ position: "sticky",
419
+ top: -8,
420
+ zIndex: 2,
421
+ lineHeight: "28px",
422
+ // Flush listbox horizontal padding (4px) so top radius meets Paper edges.
423
+ margin: 0,
424
+ mx: "-4px",
425
+ fontSize: 11,
426
+ fontWeight: 600,
427
+ letterSpacing: "0.04em",
428
+ textTransform: "uppercase",
429
+ color: "var(--picker-text-secondary)",
430
+ // Quieter than opaque paper — closer to glass paper; still covers scroll. No blur.
431
+ background: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
432
+ backgroundColor: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
433
+ backdropFilter: "none",
434
+ WebkitBackdropFilter: "none",
435
+ borderTopLeftRadius: 14,
436
+ borderTopRightRadius: 14,
437
+ borderBottom: "1px solid color-mix(in lab, var(--picker-border), transparent 28%)",
438
+ boxShadow: "none",
439
+ // Was 1.5 + listbox 4px ≈ 16px inset; keep text after flush.
440
+ px: 2,
441
+ py: 0
442
+ };
443
+ var autocompleteRootSx = {
444
+ ...autocompleteGlassVars,
445
+ width: "100%",
446
+ [`& .${autocompleteClasses.root}`]: {
447
+ width: "100%"
448
+ },
449
+ // Outlined like TextField / Select / Date / Time — quiet 1px border, no elevation shadow.
450
+ "& .MuiOutlinedInput-root": {
451
+ borderRadius: "12px",
452
+ backgroundColor: "transparent",
453
+ backdropFilter: "none",
454
+ WebkitBackdropFilter: "none",
455
+ boxShadow: "none",
456
+ transition: "border-color 160ms ease",
457
+ "& fieldset": {
458
+ borderWidth: "1px",
459
+ // Match sibling outlined inputs (TextField / Select theme).
460
+ borderColor: "var(--mui-palette-text-secondary)"
461
+ },
462
+ "&:hover fieldset": {
463
+ borderWidth: "1px",
464
+ borderColor: "var(--mui-palette-text-secondary)"
465
+ },
466
+ "&.Mui-focused fieldset": {
467
+ borderWidth: "1px",
468
+ borderColor: "var(--mui-palette-text-secondary)"
469
+ },
470
+ "&.Mui-error fieldset": {
471
+ borderWidth: "1px",
472
+ // Quiet error — muted mix, not a loud thick outline.
473
+ borderColor: "color-mix(in srgb, var(--picker-error) 55%, var(--mui-palette-text-secondary))"
474
+ },
475
+ "&.Mui-disabled": {
476
+ opacity: 0.58
477
+ }
478
+ },
479
+ "& .MuiAutocomplete-tag": {
480
+ margin: "2px"
481
+ },
482
+ // Quiet gap between clear X and popup indicator (avoid flush teal icons).
483
+ // MUI defaults marginRight: -2 on both indicators — that cancels a 4px gap.
484
+ [`& .${autocompleteClasses.endAdornment}`]: {
485
+ display: "flex",
486
+ alignItems: "center",
487
+ gap: "8px"
488
+ },
489
+ [`& .${autocompleteClasses.clearIndicator}, & .${autocompleteClasses.popupIndicator}`]: {
490
+ marginRight: "0 !important"
491
+ }
492
+ };
493
+ var autocompletePaperSx = {
494
+ ...autocompleteGlassVars,
495
+ borderRadius: "14px",
496
+ border: "1px solid var(--picker-border)",
497
+ backgroundColor: "var(--picker-paper-bg)",
498
+ backgroundImage: "none",
499
+ boxShadow: "var(--picker-shadow)",
500
+ backdropFilter: "var(--picker-glass)",
501
+ WebkitBackdropFilter: "var(--picker-glass)",
502
+ mt: 0.5,
503
+ overflow: "hidden"
504
+ };
505
+ var autocompleteListboxSx = {
506
+ ...autocompleteGlassVars,
507
+ // Keep existing quiet padding — no extra padding-top gutter / no margin-top: -28px.
508
+ padding: "6px 4px",
509
+ maxHeight: 280,
510
+ [`& .${autocompleteClasses.option}`]: {
511
+ margin: "2px 6px",
512
+ borderRadius: "10px",
513
+ minHeight: 0,
514
+ padding: "8px 10px",
515
+ '&[aria-selected="true"]': {
516
+ backgroundColor: "var(--picker-focus-soft)",
517
+ boxShadow: "inset 0 1px 0 var(--picker-highlight)"
518
+ },
519
+ "&.Mui-focused, &:hover": {
520
+ backgroundColor: "var(--picker-hover-bg)"
521
+ }
522
+ },
523
+ // Stock AutocompleteGroupLabel — beat paper fill via listbox descendant + theme.
524
+ [`& .${autocompleteClasses.groupLabel}`]: {
525
+ ...autocompleteGroupLabelSx
526
+ },
527
+ [`& .${autocompleteClasses.groupUl}`]: {
528
+ padding: 0,
529
+ margin: 0
530
+ }
531
+ };
532
+ var autocompleteChipSx = {
533
+ ...autocompleteGlassVars,
534
+ height: 24,
535
+ borderRadius: "999px",
536
+ backgroundColor: "var(--picker-chip-bg)",
537
+ border: "1px solid var(--picker-chip-border)",
538
+ boxShadow: "var(--picker-chip-shadow)",
539
+ "& .MuiChip-label": {
540
+ px: 1,
541
+ fontSize: 12
542
+ },
543
+ "& .MuiChip-deleteIcon": {
544
+ fontSize: 16,
545
+ color: "var(--picker-text-secondary)",
546
+ "&:hover": {
547
+ color: "var(--picker-text)"
548
+ }
549
+ }
550
+ };
551
+ var autocompleteEmptySx = {
552
+ ...autocompleteGlassVars,
553
+ display: "flex",
554
+ alignItems: "center",
555
+ gap: 1,
556
+ px: 1.75,
557
+ py: 1.25,
558
+ minHeight: 0,
559
+ border: "none",
560
+ background: "transparent",
561
+ boxShadow: "none"
562
+ };
563
+ var autocompleteLoadingSx = {
564
+ px: 1.5,
565
+ py: 1.25
566
+ };
567
+ var autocompleteTheme = {
568
+ defaultProps: {
569
+ size: "small"
570
+ },
571
+ styleOverrides: {
572
+ root: {
573
+ [`& .MuiOutlinedInput-root`]: {
574
+ "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
575
+ borderWidth: "1px"
576
+ }
577
+ }
578
+ },
579
+ paper: {
580
+ borderRadius: "14px"
581
+ },
582
+ // Stock GroupLabel slot: quiet solid fill, Paper top radius, no backdrop-filter; keep MUI top: -8.
583
+ groupLabel: {
584
+ position: "sticky",
585
+ top: -8,
586
+ zIndex: 2,
587
+ lineHeight: "28px",
588
+ margin: 0,
589
+ mx: "-4px",
590
+ background: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
591
+ backgroundColor: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
592
+ backdropFilter: "none",
593
+ WebkitBackdropFilter: "none",
594
+ borderTopLeftRadius: 14,
595
+ borderTopRightRadius: 14,
596
+ borderBottom: "1px solid color-mix(in lab, var(--picker-border), transparent 28%)",
597
+ boxShadow: "none",
598
+ px: 2
599
+ }
600
+ }
601
+ };
602
+
603
+ // src/components/elemental/Autocomplete/src/Autocomplete/Autocomplete.tsx
604
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
605
+ function isOption(value) {
606
+ return typeof value === "object" && value !== null && "id" in value && "label" in value;
607
+ }
608
+ function resolveItem(item, options, freeSolo) {
609
+ if (isOption(item)) return item;
610
+ const found = options.find((o) => o.id === item || o.label === item);
611
+ if (found) return found;
612
+ return freeSolo ? item : { id: item, label: item };
613
+ }
614
+ function resolveValue(value, options, multiple, freeSolo) {
615
+ if (value == null) return multiple ? [] : null;
616
+ if (multiple) {
617
+ const arr = Array.isArray(value) ? value : [value];
618
+ return arr.map((item) => resolveItem(item, options, freeSolo));
619
+ }
620
+ if (Array.isArray(value)) {
621
+ const first = value[0];
622
+ return first == null ? null : resolveItem(first, options, freeSolo);
623
+ }
624
+ return resolveItem(value, options, freeSolo);
625
+ }
626
+ function normalizeChanged(raw, multiple) {
627
+ if (multiple) {
628
+ if (raw == null) return [];
629
+ return Array.isArray(raw) ? raw : [raw];
630
+ }
631
+ if (Array.isArray(raw)) return raw[0] ?? null;
632
+ return raw;
633
+ }
634
+ var Autocomplete = forwardRef(function Autocomplete2({
635
+ options = [],
636
+ value,
637
+ defaultValue,
638
+ onChange,
639
+ freeSolo = false,
640
+ multiple = false,
641
+ loading = false,
642
+ label,
643
+ name,
644
+ helperText,
645
+ error = false,
646
+ placeholder,
647
+ required = false,
648
+ disabled = false,
649
+ size = "small",
650
+ fullWidth = true,
651
+ emptyTitle = "No options",
652
+ emptyDescription,
653
+ loadingLines = 3,
654
+ TextFieldProps,
655
+ sx,
656
+ groupBy,
657
+ getOptionLabel: getOptionLabelProp,
658
+ isOptionEqualToValue: isOptionEqualToValueProp,
659
+ filterOptions,
660
+ onInputChange,
661
+ inputValue,
662
+ disableClearable,
663
+ readOnly,
664
+ autoHighlight = true,
665
+ openOnFocus,
666
+ slotProps,
667
+ ...rest
668
+ }, ref) {
669
+ const resolved = useMemo2(
670
+ () => resolveValue(value, options, multiple, freeSolo),
671
+ [value, options, multiple, freeSolo]
672
+ );
673
+ const resolvedDefault = useMemo2(
674
+ () => defaultValue === void 0 ? void 0 : resolveValue(defaultValue, options, multiple, freeSolo),
675
+ [defaultValue, options, multiple, freeSolo]
676
+ );
677
+ const getOptionLabel = useCallback(
678
+ (option) => {
679
+ if (typeof option === "string") return option;
680
+ if (getOptionLabelProp) return getOptionLabelProp(option);
681
+ return option.label ?? option.id ?? "";
682
+ },
683
+ [getOptionLabelProp]
684
+ );
685
+ const isOptionEqualToValue = useCallback(
686
+ (option, val) => {
687
+ if (isOptionEqualToValueProp && isOption(val)) {
688
+ return isOptionEqualToValueProp(option, val);
689
+ }
690
+ if (typeof val === "string") return option.id === val || option.label === val;
691
+ return option.id === val.id;
692
+ },
693
+ [isOptionEqualToValueProp]
694
+ );
695
+ const handleChange = useCallback(
696
+ (_event, newValue, reason) => {
697
+ onChange?.(normalizeChanged(newValue, multiple), reason);
698
+ },
699
+ [onChange, multiple]
700
+ );
701
+ const renderTags = useCallback(
702
+ (tagValue, getTagProps) => tagValue.map((option, index) => {
703
+ const { key, ...tagProps } = getTagProps({ index });
704
+ const chipLabel = typeof option === "string" ? option : option.label;
705
+ return /* @__PURE__ */ jsx2(
706
+ Chip,
707
+ {
708
+ size: "small",
709
+ label: chipLabel,
710
+ ...tagProps,
711
+ sx: autocompleteChipSx
712
+ },
713
+ key
714
+ );
715
+ }),
716
+ []
717
+ );
718
+ const renderOption = useCallback(
719
+ (props, option) => {
720
+ const { key, ...liProps } = props;
721
+ return /* @__PURE__ */ jsx2("li", { ...liProps, children: /* @__PURE__ */ jsxs2(default2, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
722
+ /* @__PURE__ */ jsx2(default3, { variant: "body2", sx: { m: 0, fontWeight: 500, lineHeight: 1.3 }, children: option.label }),
723
+ option.description ? /* @__PURE__ */ jsx2(
724
+ default3,
725
+ {
726
+ variant: "caption",
727
+ sx: { m: 0, color: "var(--picker-text-secondary)", lineHeight: 1.3 },
728
+ children: option.description
729
+ }
730
+ ) : null
731
+ ] }) }, key ?? option.id);
732
+ },
733
+ []
734
+ );
735
+ const noOptionsNode = /* @__PURE__ */ jsxs2(default2, { sx: autocompleteEmptySx, role: "status", "data-testid": "autocomplete-empty", children: [
736
+ /* @__PURE__ */ jsx2(
737
+ default2,
738
+ {
739
+ "aria-hidden": true,
740
+ sx: {
741
+ display: "flex",
742
+ color: "var(--picker-text-secondary)",
743
+ opacity: 0.72,
744
+ lineHeight: 1
745
+ },
746
+ children: /* @__PURE__ */ jsx2(default7, { sx: { fontSize: 18 } })
747
+ }
748
+ ),
749
+ /* @__PURE__ */ jsxs2(default2, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
750
+ /* @__PURE__ */ jsx2(
751
+ default3,
752
+ {
753
+ variant: "body2",
754
+ sx: {
755
+ m: 0,
756
+ fontSize: "0.8125rem",
757
+ fontWeight: 500,
758
+ color: "var(--picker-text-secondary)",
759
+ lineHeight: 1.35
760
+ },
761
+ children: emptyTitle
762
+ }
763
+ ),
764
+ emptyDescription ? /* @__PURE__ */ jsx2(
765
+ default3,
766
+ {
767
+ variant: "caption",
768
+ sx: {
769
+ m: 0,
770
+ color: "var(--picker-text-secondary)",
771
+ opacity: 0.85,
772
+ lineHeight: 1.35
773
+ },
774
+ children: emptyDescription
775
+ }
776
+ ) : null
777
+ ] })
778
+ ] });
779
+ const loadingNode = /* @__PURE__ */ jsx2(default2, { sx: autocompleteLoadingSx, children: /* @__PURE__ */ jsx2(SoftSkeleton, { preset: "text", lines: loadingLines }) });
780
+ const hasGroups = options.some((o) => Boolean(o.group));
781
+ const paperSlot = slotProps?.paper;
782
+ const listboxSlot = slotProps?.listbox;
783
+ const clearSlot = slotProps?.clearIndicator;
784
+ const popupSlot = slotProps?.popupIndicator;
785
+ return /* @__PURE__ */ jsx2(default2, { ref, sx: mergeSx(autocompleteRootSx, sx), "data-testid": "autocomplete", children: /* @__PURE__ */ jsx2(
786
+ MuiAutocomplete,
787
+ {
788
+ options,
789
+ value: resolved,
790
+ defaultValue: resolvedDefault,
791
+ onChange: handleChange,
792
+ freeSolo,
793
+ multiple,
794
+ loading,
795
+ disabled,
796
+ size,
797
+ fullWidth,
798
+ autoHighlight,
799
+ openOnFocus,
800
+ disableClearable,
801
+ readOnly,
802
+ filterOptions,
803
+ onInputChange,
804
+ inputValue,
805
+ groupBy: groupBy ?? (hasGroups ? (option) => option.group ?? "" : void 0),
806
+ getOptionLabel,
807
+ isOptionEqualToValue,
808
+ getOptionDisabled: (option) => Boolean(option.disabled),
809
+ renderTags: multiple ? renderTags : void 0,
810
+ renderOption,
811
+ noOptionsText: noOptionsNode,
812
+ loadingText: loadingNode,
813
+ slotProps: {
814
+ ...slotProps,
815
+ paper: {
816
+ ...paperSlot,
817
+ sx: mergeSx(autocompletePaperSx, paperSlot?.sx)
818
+ },
819
+ listbox: {
820
+ ...listboxSlot,
821
+ sx: mergeSx(autocompleteListboxSx, listboxSlot?.sx)
822
+ },
823
+ // Beat AutocompleteClearIndicator / PopupIndicator marginRight: -2.
824
+ clearIndicator: {
825
+ ...clearSlot,
826
+ sx: mergeSx({ marginRight: 0 }, clearSlot?.sx)
827
+ },
828
+ popupIndicator: {
829
+ ...popupSlot,
830
+ sx: mergeSx({ marginRight: 0 }, popupSlot?.sx)
831
+ }
832
+ },
833
+ renderInput: (params) => /* @__PURE__ */ jsx2(
834
+ default8,
835
+ {
836
+ ...params,
837
+ ...TextFieldProps,
838
+ name,
839
+ label,
840
+ placeholder,
841
+ error,
842
+ helperText,
843
+ required,
844
+ disabled,
845
+ size,
846
+ fullWidth
847
+ }
848
+ ),
849
+ ...rest
850
+ }
851
+ ) });
852
+ });
853
+ var Autocomplete_default = Autocomplete;
854
+
855
+ export {
856
+ GitHubPicker,
857
+ autocompleteGlassVars,
858
+ autocompleteGroupLabelSx,
859
+ autocompleteRootSx,
860
+ autocompletePaperSx,
861
+ autocompleteListboxSx,
862
+ autocompleteChipSx,
863
+ autocompleteTheme,
864
+ Autocomplete_default
865
+ };
866
+ //# sourceMappingURL=chunk-KYTHGFFY.mjs.map