@startdownnotez404/ui 1.0.0 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/README.md +110 -0
  2. package/dist/AutocompleteField-ZKNU2IRR.mjs +181 -0
  3. package/dist/AutocompleteField-ZKNU2IRR.mjs.map +1 -0
  4. package/dist/AvatarField-SAODT3CZ.mjs +275 -0
  5. package/dist/AvatarField-SAODT3CZ.mjs.map +1 -0
  6. package/dist/CodeEditor-JF55ZNVD.mjs +34 -0
  7. package/dist/CodeEditor-JF55ZNVD.mjs.map +1 -0
  8. package/dist/DateField-ZYMZFHL4.mjs +82 -0
  9. package/dist/DateField-ZYMZFHL4.mjs.map +1 -0
  10. package/dist/DateTimeField-TPTJ7YIZ.mjs +65 -0
  11. package/dist/DateTimeField-TPTJ7YIZ.mjs.map +1 -0
  12. package/dist/FileUploadField-NTMWBJER.mjs +78 -0
  13. package/dist/FileUploadField-NTMWBJER.mjs.map +1 -0
  14. package/dist/JSONEditorField-TMRWGXVR.mjs +64 -0
  15. package/dist/JSONEditorField-TMRWGXVR.mjs.map +1 -0
  16. package/dist/PopperMenu-LJ36RPBW.mjs +416 -0
  17. package/dist/PopperMenu-LJ36RPBW.mjs.map +1 -0
  18. package/dist/TelField-LOGRVZ4I.mjs +88 -0
  19. package/dist/TelField-LOGRVZ4I.mjs.map +1 -0
  20. package/dist/alert.d.mts +202 -0
  21. package/dist/alert.d.ts +202 -0
  22. package/dist/alert.js +784 -0
  23. package/dist/alert.js.map +1 -0
  24. package/dist/alert.mjs +47 -0
  25. package/dist/alert.mjs.map +1 -0
  26. package/dist/appBar.d.mts +21 -0
  27. package/dist/appBar.d.ts +21 -0
  28. package/dist/appBar.js +64 -0
  29. package/dist/appBar.js.map +1 -0
  30. package/dist/appBar.mjs +12 -0
  31. package/dist/appBar.mjs.map +1 -0
  32. package/dist/autocomplete.d.mts +121 -0
  33. package/dist/autocomplete.d.ts +121 -0
  34. package/dist/autocomplete.js +2052 -0
  35. package/dist/autocomplete.js.map +1 -0
  36. package/dist/autocomplete.mjs +21 -0
  37. package/dist/autocomplete.mjs.map +1 -0
  38. package/dist/avatar.d.mts +253 -0
  39. package/dist/avatar.d.ts +253 -0
  40. package/dist/avatar.js +992 -0
  41. package/dist/avatar.js.map +1 -0
  42. package/dist/avatar.mjs +41 -0
  43. package/dist/avatar.mjs.map +1 -0
  44. package/dist/badge.d.mts +123 -0
  45. package/dist/badge.d.ts +123 -0
  46. package/dist/badge.js +151 -0
  47. package/dist/badge.js.map +1 -0
  48. package/dist/badge.mjs +10 -0
  49. package/dist/badge.mjs.map +1 -0
  50. package/dist/box.d.mts +36 -0
  51. package/dist/box.d.ts +36 -0
  52. package/dist/box.js +199 -0
  53. package/dist/box.js.map +1 -0
  54. package/dist/box.mjs +14 -0
  55. package/dist/box.mjs.map +1 -0
  56. package/dist/button.d.mts +230 -52
  57. package/dist/button.d.ts +230 -52
  58. package/dist/button.js +392 -60
  59. package/dist/button.js.map +1 -1
  60. package/dist/button.mjs +14 -8
  61. package/dist/card.d.mts +47 -0
  62. package/dist/card.d.ts +47 -0
  63. package/dist/card.js +135 -0
  64. package/dist/card.js.map +1 -0
  65. package/dist/card.mjs +24 -0
  66. package/dist/card.mjs.map +1 -0
  67. package/dist/chart.d.mts +40 -0
  68. package/dist/chart.d.ts +40 -0
  69. package/dist/chart.js +1234 -0
  70. package/dist/chart.js.map +1 -0
  71. package/dist/chart.mjs +10 -0
  72. package/dist/chart.mjs.map +1 -0
  73. package/dist/checkbox.d.mts +62 -0
  74. package/dist/checkbox.d.ts +62 -0
  75. package/dist/checkbox.js +299 -0
  76. package/dist/checkbox.js.map +1 -0
  77. package/dist/checkbox.mjs +14 -0
  78. package/dist/checkbox.mjs.map +1 -0
  79. package/dist/chip.d.mts +96 -0
  80. package/dist/chip.d.ts +96 -0
  81. package/dist/chip.js +112 -0
  82. package/dist/chip.js.map +1 -0
  83. package/dist/chip.mjs +10 -0
  84. package/dist/chip.mjs.map +1 -0
  85. package/dist/chunk-24XDGNJ6.mjs +1450 -0
  86. package/dist/chunk-24XDGNJ6.mjs.map +1 -0
  87. package/dist/chunk-27KYFU7R.mjs +30 -0
  88. package/dist/chunk-27KYFU7R.mjs.map +1 -0
  89. package/dist/chunk-2FFLT5VP.mjs +7 -0
  90. package/dist/chunk-2FFLT5VP.mjs.map +1 -0
  91. package/dist/chunk-2ZZJTBTE.mjs +148 -0
  92. package/dist/chunk-2ZZJTBTE.mjs.map +1 -0
  93. package/dist/chunk-3DQINB57.mjs +15 -0
  94. package/dist/chunk-3DQINB57.mjs.map +1 -0
  95. package/dist/chunk-3VUAM2GY.mjs +52 -0
  96. package/dist/chunk-3VUAM2GY.mjs.map +1 -0
  97. package/dist/chunk-4Q54P737.mjs +19 -0
  98. package/dist/chunk-4Q54P737.mjs.map +1 -0
  99. package/dist/chunk-4RPFRNXG.mjs +62 -0
  100. package/dist/chunk-4RPFRNXG.mjs.map +1 -0
  101. package/dist/chunk-56TI2ZBT.mjs +114 -0
  102. package/dist/chunk-56TI2ZBT.mjs.map +1 -0
  103. package/dist/chunk-6REEQBJI.mjs +62 -0
  104. package/dist/chunk-6REEQBJI.mjs.map +1 -0
  105. package/dist/chunk-AAH2O24U.mjs +325 -0
  106. package/dist/chunk-AAH2O24U.mjs.map +1 -0
  107. package/dist/chunk-B7DAB22K.mjs +16 -0
  108. package/dist/chunk-B7DAB22K.mjs.map +1 -0
  109. package/dist/chunk-BGB7JHIU.mjs +222 -0
  110. package/dist/chunk-BGB7JHIU.mjs.map +1 -0
  111. package/dist/chunk-CRYIEYZZ.mjs +756 -0
  112. package/dist/chunk-CRYIEYZZ.mjs.map +1 -0
  113. package/dist/chunk-CWFWRZWU.mjs +23 -0
  114. package/dist/chunk-CWFWRZWU.mjs.map +1 -0
  115. package/dist/chunk-DELCADNF.mjs +1926 -0
  116. package/dist/chunk-DELCADNF.mjs.map +1 -0
  117. package/dist/chunk-E3I2VDHZ.mjs +292 -0
  118. package/dist/chunk-E3I2VDHZ.mjs.map +1 -0
  119. package/dist/chunk-EEH7HACG.mjs +249 -0
  120. package/dist/chunk-EEH7HACG.mjs.map +1 -0
  121. package/dist/chunk-EKPULYPU.mjs +497 -0
  122. package/dist/chunk-EKPULYPU.mjs.map +1 -0
  123. package/dist/chunk-EW4DTFH3.mjs +69 -0
  124. package/dist/chunk-EW4DTFH3.mjs.map +1 -0
  125. package/dist/chunk-FJ6ZGZIA.mjs +43 -0
  126. package/dist/chunk-FJ6ZGZIA.mjs.map +1 -0
  127. package/dist/chunk-HE7MY3RT.mjs +23 -0
  128. package/dist/chunk-HE7MY3RT.mjs.map +1 -0
  129. package/dist/chunk-HR3A4H4E.mjs +1289 -0
  130. package/dist/chunk-HR3A4H4E.mjs.map +1 -0
  131. package/dist/chunk-I5JWS4Z7.mjs +91 -0
  132. package/dist/chunk-I5JWS4Z7.mjs.map +1 -0
  133. package/dist/chunk-IN3O4R7Q.mjs +932 -0
  134. package/dist/chunk-IN3O4R7Q.mjs.map +1 -0
  135. package/dist/chunk-JIU5GVM7.mjs +414 -0
  136. package/dist/chunk-JIU5GVM7.mjs.map +1 -0
  137. package/dist/chunk-JWANK42G.mjs +170 -0
  138. package/dist/chunk-JWANK42G.mjs.map +1 -0
  139. package/dist/chunk-MDAUF7IL.mjs +9 -0
  140. package/dist/chunk-MDAUF7IL.mjs.map +1 -0
  141. package/dist/chunk-MI64T62E.mjs +26 -0
  142. package/dist/chunk-MI64T62E.mjs.map +1 -0
  143. package/dist/chunk-NJYNJLT7.mjs +172 -0
  144. package/dist/chunk-NJYNJLT7.mjs.map +1 -0
  145. package/dist/chunk-NLBDBJ3R.mjs +97 -0
  146. package/dist/chunk-NLBDBJ3R.mjs.map +1 -0
  147. package/dist/chunk-OGNGPI3M.mjs +333 -0
  148. package/dist/chunk-OGNGPI3M.mjs.map +1 -0
  149. package/dist/chunk-OJV6V7YZ.mjs +552 -0
  150. package/dist/chunk-OJV6V7YZ.mjs.map +1 -0
  151. package/dist/chunk-ONQMRE2G.mjs +26 -0
  152. package/dist/chunk-ONQMRE2G.mjs.map +1 -0
  153. package/dist/chunk-OP6LKXPA.mjs +75 -0
  154. package/dist/chunk-OP6LKXPA.mjs.map +1 -0
  155. package/dist/chunk-QFF3HTHL.mjs +14 -0
  156. package/dist/chunk-QFF3HTHL.mjs.map +1 -0
  157. package/dist/chunk-QKGCW37O.mjs +1175 -0
  158. package/dist/chunk-QKGCW37O.mjs.map +1 -0
  159. package/dist/chunk-R5MKQN6D.mjs +227 -0
  160. package/dist/chunk-R5MKQN6D.mjs.map +1 -0
  161. package/dist/chunk-RXBQ7KXF.mjs +652 -0
  162. package/dist/chunk-RXBQ7KXF.mjs.map +1 -0
  163. package/dist/chunk-S6EZVRZC.mjs +161 -0
  164. package/dist/chunk-S6EZVRZC.mjs.map +1 -0
  165. package/dist/chunk-SGCUDWO3.mjs +396 -0
  166. package/dist/chunk-SGCUDWO3.mjs.map +1 -0
  167. package/dist/chunk-SRWPHN2N.mjs +188 -0
  168. package/dist/chunk-SRWPHN2N.mjs.map +1 -0
  169. package/dist/chunk-T34IULP5.mjs +242 -0
  170. package/dist/chunk-T34IULP5.mjs.map +1 -0
  171. package/dist/chunk-T4X375IG.mjs +100 -0
  172. package/dist/chunk-T4X375IG.mjs.map +1 -0
  173. package/dist/chunk-T6AMRENK.mjs +376 -0
  174. package/dist/chunk-T6AMRENK.mjs.map +1 -0
  175. package/dist/chunk-TDRA5EZI.mjs +325 -0
  176. package/dist/chunk-TDRA5EZI.mjs.map +1 -0
  177. package/dist/chunk-UDREPVEY.mjs +356 -0
  178. package/dist/chunk-UDREPVEY.mjs.map +1 -0
  179. package/dist/chunk-UGMRJMFZ.mjs +172 -0
  180. package/dist/chunk-UGMRJMFZ.mjs.map +1 -0
  181. package/dist/chunk-UMJ5SCIQ.mjs +438 -0
  182. package/dist/chunk-UMJ5SCIQ.mjs.map +1 -0
  183. package/dist/chunk-UTVSYS6S.mjs +270 -0
  184. package/dist/chunk-UTVSYS6S.mjs.map +1 -0
  185. package/dist/chunk-V26V2S3W.mjs +197 -0
  186. package/dist/chunk-V26V2S3W.mjs.map +1 -0
  187. package/dist/chunk-VYD3PDBB.mjs +38 -0
  188. package/dist/chunk-VYD3PDBB.mjs.map +1 -0
  189. package/dist/chunk-WYYP3Y34.mjs +55 -0
  190. package/dist/chunk-WYYP3Y34.mjs.map +1 -0
  191. package/dist/chunk-XIMFP6RB.mjs +161 -0
  192. package/dist/chunk-XIMFP6RB.mjs.map +1 -0
  193. package/dist/chunk-XJ2SXC2Q.mjs +558 -0
  194. package/dist/chunk-XJ2SXC2Q.mjs.map +1 -0
  195. package/dist/chunk-Y74ALKBL.mjs +565 -0
  196. package/dist/chunk-Y74ALKBL.mjs.map +1 -0
  197. package/dist/chunk-ZG3NQI77.mjs +353 -0
  198. package/dist/chunk-ZG3NQI77.mjs.map +1 -0
  199. package/dist/chunk-ZVFYOXDE.mjs +297 -0
  200. package/dist/chunk-ZVFYOXDE.mjs.map +1 -0
  201. package/dist/collapse.d.mts +10 -0
  202. package/dist/collapse.d.ts +10 -0
  203. package/dist/collapse.js +53 -0
  204. package/dist/collapse.js.map +1 -0
  205. package/dist/collapse.mjs +10 -0
  206. package/dist/collapse.mjs.map +1 -0
  207. package/dist/datePicker.d.mts +133 -0
  208. package/dist/datePicker.d.ts +133 -0
  209. package/dist/datePicker.js +482 -0
  210. package/dist/datePicker.js.map +1 -0
  211. package/dist/datePicker.mjs +29 -0
  212. package/dist/datePicker.mjs.map +1 -0
  213. package/dist/displayFile.d.mts +95 -0
  214. package/dist/displayFile.d.ts +95 -0
  215. package/dist/displayFile.js +357 -0
  216. package/dist/displayFile.js.map +1 -0
  217. package/dist/displayFile.mjs +19 -0
  218. package/dist/displayFile.mjs.map +1 -0
  219. package/dist/divider.d.mts +9 -0
  220. package/dist/divider.d.ts +9 -0
  221. package/dist/divider.js +52 -0
  222. package/dist/divider.js.map +1 -0
  223. package/dist/divider.mjs +10 -0
  224. package/dist/divider.mjs.map +1 -0
  225. package/dist/fileUploader.d.mts +86 -0
  226. package/dist/fileUploader.d.ts +86 -0
  227. package/dist/fileUploader.js +722 -0
  228. package/dist/fileUploader.js.map +1 -0
  229. package/dist/fileUploader.mjs +16 -0
  230. package/dist/fileUploader.mjs.map +1 -0
  231. package/dist/flowMap.d.mts +353 -0
  232. package/dist/flowMap.d.ts +353 -0
  233. package/dist/flowMap.js +94806 -0
  234. package/dist/flowMap.js.map +1 -0
  235. package/dist/flowMap.mjs +94585 -0
  236. package/dist/flowMap.mjs.map +1 -0
  237. package/dist/form.d.mts +84 -0
  238. package/dist/form.d.ts +84 -0
  239. package/dist/form.js +144 -0
  240. package/dist/form.js.map +1 -0
  241. package/dist/form.mjs +24 -0
  242. package/dist/form.mjs.map +1 -0
  243. package/dist/icons.d.mts +160 -0
  244. package/dist/icons.d.ts +160 -0
  245. package/dist/icons.js +540 -0
  246. package/dist/icons.js.map +1 -0
  247. package/dist/icons.mjs +306 -0
  248. package/dist/icons.mjs.map +1 -0
  249. package/dist/image.d.mts +49 -0
  250. package/dist/image.d.ts +49 -0
  251. package/dist/image.js +1348 -0
  252. package/dist/image.js.map +1 -0
  253. package/dist/image.mjs +19 -0
  254. package/dist/image.mjs.map +1 -0
  255. package/dist/index.d.ts +46 -0
  256. package/dist/index.js +20198 -0
  257. package/dist/index.js.map +1 -0
  258. package/dist/index.mjs +912 -0
  259. package/dist/index.mjs.map +1 -0
  260. package/dist/input.d.mts +195 -0
  261. package/dist/input.d.ts +195 -0
  262. package/dist/input.js +1101 -0
  263. package/dist/input.js.map +1 -0
  264. package/dist/input.mjs +32 -0
  265. package/dist/input.mjs.map +1 -0
  266. package/dist/jsonEditor.d.mts +13 -0
  267. package/dist/jsonEditor.d.ts +13 -0
  268. package/dist/jsonEditor.js +247 -0
  269. package/dist/jsonEditor.js.map +1 -0
  270. package/dist/jsonEditor.mjs +9 -0
  271. package/dist/jsonEditor.mjs.map +1 -0
  272. package/dist/list.d.mts +83 -0
  273. package/dist/list.d.ts +83 -0
  274. package/dist/list.js +564 -0
  275. package/dist/list.js.map +1 -0
  276. package/dist/list.mjs +39 -0
  277. package/dist/list.mjs.map +1 -0
  278. package/dist/loading.d.mts +48 -0
  279. package/dist/loading.d.ts +48 -0
  280. package/dist/loading.js +383 -0
  281. package/dist/loading.js.map +1 -0
  282. package/dist/loading.mjs +23 -0
  283. package/dist/loading.mjs.map +1 -0
  284. package/dist/markdown.d.mts +14 -0
  285. package/dist/markdown.d.ts +14 -0
  286. package/dist/markdown.js +25927 -0
  287. package/dist/markdown.js.map +1 -0
  288. package/dist/markdown.mjs +25623 -0
  289. package/dist/markdown.mjs.map +1 -0
  290. package/dist/menu.d.mts +368 -0
  291. package/dist/menu.d.ts +368 -0
  292. package/dist/menu.js +1571 -0
  293. package/dist/menu.js.map +1 -0
  294. package/dist/menu.mjs +43 -0
  295. package/dist/menu.mjs.map +1 -0
  296. package/dist/modal.d.mts +90 -0
  297. package/dist/modal.d.ts +90 -0
  298. package/dist/modal.js +883 -0
  299. package/dist/modal.js.map +1 -0
  300. package/dist/modal.mjs +25 -0
  301. package/dist/modal.mjs.map +1 -0
  302. package/dist/overlay.d.mts +2 -0
  303. package/dist/overlay.d.ts +2 -0
  304. package/dist/overlay.js +46 -0
  305. package/dist/overlay.js.map +1 -0
  306. package/dist/overlay.mjs +10 -0
  307. package/dist/overlay.mjs.map +1 -0
  308. package/dist/paper.d.mts +38 -0
  309. package/dist/paper.d.ts +38 -0
  310. package/dist/paper.js +90 -0
  311. package/dist/paper.js.map +1 -0
  312. package/dist/paper.mjs +12 -0
  313. package/dist/paper.mjs.map +1 -0
  314. package/dist/patterns.d.mts +133 -0
  315. package/dist/patterns.d.ts +133 -0
  316. package/dist/patterns.js +483 -0
  317. package/dist/patterns.js.map +1 -0
  318. package/dist/patterns.mjs +46 -0
  319. package/dist/patterns.mjs.map +1 -0
  320. package/dist/process.d.mts +125 -0
  321. package/dist/process.d.ts +125 -0
  322. package/dist/process.js +1471 -0
  323. package/dist/process.js.map +1 -0
  324. package/dist/process.mjs +30 -0
  325. package/dist/process.mjs.map +1 -0
  326. package/dist/progress.d.mts +44 -0
  327. package/dist/progress.d.ts +44 -0
  328. package/dist/progress.js +94 -0
  329. package/dist/progress.js.map +1 -0
  330. package/dist/progress.mjs +14 -0
  331. package/dist/progress.mjs.map +1 -0
  332. package/dist/resizablePanel.d.mts +297 -0
  333. package/dist/resizablePanel.d.ts +297 -0
  334. package/dist/resizablePanel.js +122 -0
  335. package/dist/resizablePanel.js.map +1 -0
  336. package/dist/resizablePanel.mjs +22 -0
  337. package/dist/resizablePanel.mjs.map +1 -0
  338. package/dist/scrollToLoad.d.mts +41 -0
  339. package/dist/scrollToLoad.d.ts +41 -0
  340. package/dist/scrollToLoad.js +256 -0
  341. package/dist/scrollToLoad.js.map +1 -0
  342. package/dist/scrollToLoad.mjs +16 -0
  343. package/dist/scrollToLoad.mjs.map +1 -0
  344. package/dist/select.d.mts +50 -0
  345. package/dist/select.d.ts +50 -0
  346. package/dist/select.js +426 -0
  347. package/dist/select.js.map +1 -0
  348. package/dist/select.mjs +24 -0
  349. package/dist/select.mjs.map +1 -0
  350. package/dist/skeleton.d.mts +13 -0
  351. package/dist/skeleton.d.ts +13 -0
  352. package/dist/skeleton.js +68 -0
  353. package/dist/skeleton.js.map +1 -0
  354. package/dist/skeleton.mjs +11 -0
  355. package/dist/skeleton.mjs.map +1 -0
  356. package/dist/slider.d.mts +65 -0
  357. package/dist/slider.d.ts +65 -0
  358. package/dist/slider.js +106 -0
  359. package/dist/slider.js.map +1 -0
  360. package/dist/slider.mjs +10 -0
  361. package/dist/slider.mjs.map +1 -0
  362. package/dist/stepper.d.mts +98 -0
  363. package/dist/stepper.d.ts +98 -0
  364. package/dist/stepper.js +313 -0
  365. package/dist/stepper.js.map +1 -0
  366. package/dist/stepper.mjs +38 -0
  367. package/dist/stepper.mjs.map +1 -0
  368. package/dist/switch.d.mts +151 -0
  369. package/dist/switch.d.ts +151 -0
  370. package/dist/switch.js +289 -0
  371. package/dist/switch.js.map +1 -0
  372. package/dist/switch.mjs +17 -0
  373. package/dist/switch.mjs.map +1 -0
  374. package/dist/tab.d.mts +182 -0
  375. package/dist/tab.d.ts +182 -0
  376. package/dist/tab.js +1418 -0
  377. package/dist/tab.js.map +1 -0
  378. package/dist/tab.mjs +34 -0
  379. package/dist/tab.mjs.map +1 -0
  380. package/dist/table.d.mts +720 -0
  381. package/dist/table.d.ts +720 -0
  382. package/dist/table.js +10882 -0
  383. package/dist/table.js.map +1 -0
  384. package/dist/table.mjs +63 -0
  385. package/dist/table.mjs.map +1 -0
  386. package/dist/theme.d.mts +30 -4
  387. package/dist/theme.d.ts +30 -4
  388. package/dist/theme.js +3210 -170
  389. package/dist/theme.js.map +1 -1
  390. package/dist/theme.mjs +52 -230
  391. package/dist/theme.mjs.map +1 -1
  392. package/dist/timeline.d.mts +30 -0
  393. package/dist/timeline.d.ts +30 -0
  394. package/dist/timeline.js +273 -0
  395. package/dist/timeline.js.map +1 -0
  396. package/dist/timeline.mjs +14 -0
  397. package/dist/timeline.mjs.map +1 -0
  398. package/dist/toggleButtonGroup.d.mts +125 -0
  399. package/dist/toggleButtonGroup.d.ts +125 -0
  400. package/dist/toggleButtonGroup.js +190 -0
  401. package/dist/toggleButtonGroup.js.map +1 -0
  402. package/dist/toggleButtonGroup.mjs +15 -0
  403. package/dist/toggleButtonGroup.mjs.map +1 -0
  404. package/dist/tooltip.d.mts +13 -0
  405. package/dist/tooltip.d.ts +13 -0
  406. package/dist/tooltip.js +56 -0
  407. package/dist/tooltip.js.map +1 -0
  408. package/dist/tooltip.mjs +10 -0
  409. package/dist/tooltip.mjs.map +1 -0
  410. package/dist/typography.d.mts +21 -23
  411. package/dist/typography.d.ts +21 -23
  412. package/dist/typography.js +37 -63
  413. package/dist/typography.js.map +1 -1
  414. package/dist/typography.mjs +2 -1
  415. package/dist/useForm.d.mts +588 -0
  416. package/dist/useForm.d.ts +588 -0
  417. package/dist/useForm.js +8743 -0
  418. package/dist/useForm.js.map +1 -0
  419. package/dist/useForm.mjs +45 -0
  420. package/dist/useForm.mjs.map +1 -0
  421. package/dist/useSearch.d.mts +126 -0
  422. package/dist/useSearch.d.ts +126 -0
  423. package/dist/useSearch.js +1125 -0
  424. package/dist/useSearch.js.map +1 -0
  425. package/dist/useSearch.mjs +42 -0
  426. package/dist/useSearch.mjs.map +1 -0
  427. package/dist/variablesRenderer.d.mts +45 -0
  428. package/dist/variablesRenderer.d.ts +45 -0
  429. package/dist/variablesRenderer.js +511 -0
  430. package/dist/variablesRenderer.js.map +1 -0
  431. package/dist/variablesRenderer.mjs +21 -0
  432. package/dist/variablesRenderer.mjs.map +1 -0
  433. package/package.json +109 -15
  434. package/dist/chunk-PKADXEAD.mjs +0 -116
  435. package/dist/chunk-PKADXEAD.mjs.map +0 -1
  436. package/dist/chunk-YGBJCPUS.mjs +0 -88
  437. package/dist/chunk-YGBJCPUS.mjs.map +0 -1
  438. package/dist/theme.css +0 -44
  439. package/dist/theme.css.map +0 -1
package/dist/tab.js ADDED
@@ -0,0 +1,1418 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/elemental/Tab/index.ts
31
+ var Tab_exports = {};
32
+ __export(Tab_exports, {
33
+ Tab: () => import_Tab.default,
34
+ TabPanel: () => TabPanel,
35
+ Tabs: () => import_Tabs.default,
36
+ tabPanelRootSx: () => tabPanelRootSx,
37
+ tabPanelStyleToCssVars: () => tabPanelStyleToCssVars,
38
+ tabTheme: () => tabTheme,
39
+ tabsTheme: () => tabsTheme
40
+ });
41
+ module.exports = __toCommonJS(Tab_exports);
42
+
43
+ // src/components/elemental/Tab/src/Tab/index.ts
44
+ var import_Tab = __toESM(require("@mui/material/Tab"));
45
+ var import_Tabs = __toESM(require("@mui/material/Tabs"));
46
+
47
+ // src/components/elemental/Tab/src/Tab/themes.ts
48
+ var tabTheme = {
49
+ defaultProps: {
50
+ disableRipple: true
51
+ },
52
+ styleOverrides: {
53
+ root: ({ theme }) => ({
54
+ minHeight: 44,
55
+ minWidth: 0,
56
+ paddingInline: theme.spacing(1.5),
57
+ paddingBlock: theme.spacing(1),
58
+ borderRadius: theme.shape.borderRadius,
59
+ textTransform: "none",
60
+ fontWeight: theme.typography.fontWeightMedium,
61
+ color: "var(--mui-palette-text-secondary)",
62
+ transition: theme.transitions.create(["color", "background-color"], {
63
+ duration: theme.transitions.duration.shorter
64
+ }),
65
+ "&:hover": {
66
+ color: "var(--mui-palette-primary-emphasis)",
67
+ backgroundColor: "color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 92%)"
68
+ },
69
+ "&.Mui-selected": {
70
+ color: "var(--mui-palette-primary-emphasis)",
71
+ backgroundColor: "transparent"
72
+ },
73
+ "&.Mui-selected:hover": {
74
+ backgroundColor: "color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 94%)"
75
+ },
76
+ "&.Mui-disabled": {
77
+ color: "var(--mui-palette-text-disabled)"
78
+ }
79
+ })
80
+ }
81
+ };
82
+ var tabsTheme = {
83
+ styleOverrides: {
84
+ root: {
85
+ minHeight: 44
86
+ },
87
+ list: {
88
+ gap: 4
89
+ },
90
+ indicator: {
91
+ height: 3,
92
+ borderRadius: 999,
93
+ backgroundColor: "var(--mui-palette-primary-emphasis)"
94
+ },
95
+ scrollButtons: {
96
+ color: "var(--mui-palette-text-secondary)",
97
+ "&.Mui-disabled": {
98
+ opacity: 0.4
99
+ }
100
+ }
101
+ }
102
+ };
103
+
104
+ // src/components/elemental/Tab/src/TabPanel/TabPanel.tsx
105
+ var import_react4 = require("react");
106
+
107
+ // src/_utils/_func/sx.ts
108
+ function flattenSx(part) {
109
+ if (part == null || typeof part === "boolean") {
110
+ return [];
111
+ }
112
+ if (Array.isArray(part)) {
113
+ return part.flatMap(flattenSx);
114
+ }
115
+ if (typeof part === "function" || typeof part === "object") {
116
+ return [part];
117
+ }
118
+ return [];
119
+ }
120
+ function mergeSx(...parts) {
121
+ const list = parts.flatMap(flattenSx);
122
+ if (list.length === 0) {
123
+ return void 0;
124
+ }
125
+ if (list.length === 1) {
126
+ return list[0];
127
+ }
128
+ return list;
129
+ }
130
+
131
+ // src/components/elemental/Box/src/index.ts
132
+ var import_Box = __toESM(require("@mui/material/Box"));
133
+ var import_Stack = __toESM(require("@mui/material/Stack"));
134
+ var import_Grid = __toESM(require("@mui/material/Grid"));
135
+
136
+ // src/components/elemental/Typography/src/Typography.ts
137
+ var import_Typography = __toESM(require("@mui/material/Typography"));
138
+
139
+ // src/components/Icons/MuiIcon/index.ts
140
+ var import_ArrowRightAlt = __toESM(require("@mui/icons-material/ArrowRightAlt"));
141
+ var import_DescriptionOutlined = __toESM(require("@mui/icons-material/DescriptionOutlined"));
142
+ var import_Description = __toESM(require("@mui/icons-material/Description"));
143
+ var import_PictureAsPdf = __toESM(require("@mui/icons-material/PictureAsPdf"));
144
+ var import_AudioFile = __toESM(require("@mui/icons-material/AudioFile"));
145
+ var import_VideoFile = __toESM(require("@mui/icons-material/VideoFile"));
146
+ var import_TableChart = __toESM(require("@mui/icons-material/TableChart"));
147
+ var import_FolderZip = __toESM(require("@mui/icons-material/FolderZip"));
148
+ var import_InsertDriveFile = __toESM(require("@mui/icons-material/InsertDriveFile"));
149
+ var import_ImageOutlined = __toESM(require("@mui/icons-material/ImageOutlined"));
150
+ var import_LayersOutlined = __toESM(require("@mui/icons-material/LayersOutlined"));
151
+ var import_TextFormat = __toESM(require("@mui/icons-material/TextFormat"));
152
+ var import_Remove = __toESM(require("@mui/icons-material/Remove"));
153
+ var import_PostAdd = __toESM(require("@mui/icons-material/PostAdd"));
154
+ var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
155
+ var import_QuestionMarkOutlined = __toESM(require("@mui/icons-material/QuestionMarkOutlined"));
156
+ var import_MeetingRoomOutlined = __toESM(require("@mui/icons-material/MeetingRoomOutlined"));
157
+ var import_PlaylistRemove = __toESM(require("@mui/icons-material/PlaylistRemove"));
158
+ var import_ChecklistRtl = __toESM(require("@mui/icons-material/ChecklistRtl"));
159
+ var import_HideImageOutlined = __toESM(require("@mui/icons-material/HideImageOutlined"));
160
+ var import_RemoveRedEyeTwoTone = __toESM(require("@mui/icons-material/RemoveRedEyeTwoTone"));
161
+ var import_PhotoSizeSelectLarge = __toESM(require("@mui/icons-material/PhotoSizeSelectLarge"));
162
+ var import_LockPersonOutlined = __toESM(require("@mui/icons-material/LockPersonOutlined"));
163
+ var import_Person = __toESM(require("@mui/icons-material/Person"));
164
+ var import_InsertEmoticon = __toESM(require("@mui/icons-material/InsertEmoticon"));
165
+ var import_RemoveDoneOutlined = __toESM(require("@mui/icons-material/RemoveDoneOutlined"));
166
+ var import_Tag = __toESM(require("@mui/icons-material/Tag"));
167
+ var import_Audiotrack = __toESM(require("@mui/icons-material/Audiotrack"));
168
+ var import_Videocam = __toESM(require("@mui/icons-material/Videocam"));
169
+ var import_Code = __toESM(require("@mui/icons-material/Code"));
170
+ var import_Equalizer = __toESM(require("@mui/icons-material/Equalizer"));
171
+ var import_PivotTableChart = __toESM(require("@mui/icons-material/PivotTableChart"));
172
+ var import_Search = __toESM(require("@mui/icons-material/Search"));
173
+ var import_DataObject = __toESM(require("@mui/icons-material/DataObject"));
174
+ var import_SortByAlpha = __toESM(require("@mui/icons-material/SortByAlpha"));
175
+ var import_ThumbUp = __toESM(require("@mui/icons-material/ThumbUp"));
176
+ var import_AttachMoneyOutlined = __toESM(require("@mui/icons-material/AttachMoneyOutlined"));
177
+ var import_Storage = __toESM(require("@mui/icons-material/Storage"));
178
+ var import_WorkspacePremium = __toESM(require("@mui/icons-material/WorkspacePremium"));
179
+ var import_Numbers = __toESM(require("@mui/icons-material/Numbers"));
180
+ var import_Functions = __toESM(require("@mui/icons-material/Functions"));
181
+ var import_Lightbulb = __toESM(require("@mui/icons-material/Lightbulb"));
182
+ var import_CropRotate = __toESM(require("@mui/icons-material/CropRotate"));
183
+ var import_PhotoSizeSelectLarge2 = __toESM(require("@mui/icons-material/PhotoSizeSelectLarge"));
184
+ var import_CollectionsBookmark = __toESM(require("@mui/icons-material/CollectionsBookmark"));
185
+ var import_Schedule = __toESM(require("@mui/icons-material/Schedule"));
186
+ var import_Style = __toESM(require("@mui/icons-material/Style"));
187
+ var import_Crop169 = __toESM(require("@mui/icons-material/Crop169"));
188
+ var import_CropSquare = __toESM(require("@mui/icons-material/CropSquare"));
189
+ var import_GraphicEqRounded = __toESM(require("@mui/icons-material/GraphicEqRounded"));
190
+ var import_MemoryRounded = __toESM(require("@mui/icons-material/MemoryRounded"));
191
+ var import_AddCircleOutlineRounded = __toESM(require("@mui/icons-material/AddCircleOutlineRounded"));
192
+ var import_Add = __toESM(require("@mui/icons-material/Add"));
193
+ var import_Close = __toESM(require("@mui/icons-material/Close"));
194
+ var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
195
+ var import_Autorenew = __toESM(require("@mui/icons-material/Autorenew"));
196
+ var import_CheckCircle = __toESM(require("@mui/icons-material/CheckCircle"));
197
+ var import_Menu = __toESM(require("@mui/icons-material/Menu"));
198
+ var import_MoreVert = __toESM(require("@mui/icons-material/MoreVert"));
199
+ var import_MoreHoriz = __toESM(require("@mui/icons-material/MoreHoriz"));
200
+ var import_ContentCopy = __toESM(require("@mui/icons-material/ContentCopy"));
201
+ var import_ContentPaste = __toESM(require("@mui/icons-material/ContentPaste"));
202
+ var import_Cloud = __toESM(require("@mui/icons-material/Cloud"));
203
+ var import_DownloadOutlined = __toESM(require("@mui/icons-material/DownloadOutlined"));
204
+ var import_DownloadDoneOutlined = __toESM(require("@mui/icons-material/DownloadDoneOutlined"));
205
+ var import_StarBorderOutlined = __toESM(require("@mui/icons-material/StarBorderOutlined"));
206
+ var import_DeleteForever = __toESM(require("@mui/icons-material/DeleteForever"));
207
+ var import_LayersClear = __toESM(require("@mui/icons-material/LayersClear"));
208
+ var import_Check = __toESM(require("@mui/icons-material/Check"));
209
+ var import_DoneAll = __toESM(require("@mui/icons-material/DoneAll"));
210
+ var import_PowerSettingsNew = __toESM(require("@mui/icons-material/PowerSettingsNew"));
211
+ var import_Send = __toESM(require("@mui/icons-material/Send"));
212
+ var import_ZoomInMap = __toESM(require("@mui/icons-material/ZoomInMap"));
213
+ var import_ZoomOutMap = __toESM(require("@mui/icons-material/ZoomOutMap"));
214
+ var import_HomeRepairService = __toESM(require("@mui/icons-material/HomeRepairService"));
215
+ var import_Construction = __toESM(require("@mui/icons-material/Construction"));
216
+ var import_Help = __toESM(require("@mui/icons-material/Help"));
217
+ var import_EmojiFlags = __toESM(require("@mui/icons-material/EmojiFlags"));
218
+ var import_Edit = __toESM(require("@mui/icons-material/Edit"));
219
+ var import_ForkRight = __toESM(require("@mui/icons-material/ForkRight"));
220
+ var import_Settings = __toESM(require("@mui/icons-material/Settings"));
221
+ var import_Restore = __toESM(require("@mui/icons-material/Restore"));
222
+ var import_EditNote = __toESM(require("@mui/icons-material/EditNote"));
223
+ var import_HomeOutlined = __toESM(require("@mui/icons-material/HomeOutlined"));
224
+ var import_ExitToAppOutlined = __toESM(require("@mui/icons-material/ExitToAppOutlined"));
225
+ var import_WbSunnyOutlined = __toESM(require("@mui/icons-material/WbSunnyOutlined"));
226
+ var import_DarkModeOutlined = __toESM(require("@mui/icons-material/DarkModeOutlined"));
227
+ var import_AttachFileOutlined = __toESM(require("@mui/icons-material/AttachFileOutlined"));
228
+ var import_NoteAdd = __toESM(require("@mui/icons-material/NoteAdd"));
229
+ var import_CloudUpload = __toESM(require("@mui/icons-material/CloudUpload"));
230
+ var import_KeyboardDoubleArrowRight = __toESM(require("@mui/icons-material/KeyboardDoubleArrowRight"));
231
+ var import_KeyboardDoubleArrowLeft = __toESM(require("@mui/icons-material/KeyboardDoubleArrowLeft"));
232
+ var import_KeyboardDoubleArrowRightRounded = __toESM(require("@mui/icons-material/KeyboardDoubleArrowRightRounded"));
233
+ var import_FitScreen = __toESM(require("@mui/icons-material/FitScreen"));
234
+ var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
235
+ var import_Biotech = __toESM(require("@mui/icons-material/Biotech"));
236
+ var import_Share = __toESM(require("@mui/icons-material/Share"));
237
+ var import_FilterAlt = __toESM(require("@mui/icons-material/FilterAlt"));
238
+ var import_Sync = __toESM(require("@mui/icons-material/Sync"));
239
+ var import_PlayArrow = __toESM(require("@mui/icons-material/PlayArrow"));
240
+ var import_PauseOutlined = __toESM(require("@mui/icons-material/PauseOutlined"));
241
+ var import_Casino = __toESM(require("@mui/icons-material/Casino"));
242
+ var import_Paid = __toESM(require("@mui/icons-material/Paid"));
243
+ var import_Save = __toESM(require("@mui/icons-material/Save"));
244
+ var import_StopRounded = __toESM(require("@mui/icons-material/StopRounded"));
245
+ var import_Replay = __toESM(require("@mui/icons-material/Replay"));
246
+ var import_AccountTree = __toESM(require("@mui/icons-material/AccountTree"));
247
+ var import_Close2 = __toESM(require("@mui/icons-material/Close"));
248
+ var import_KeyboardArrowDown = __toESM(require("@mui/icons-material/KeyboardArrowDown"));
249
+ var import_KeyboardArrowRight = __toESM(require("@mui/icons-material/KeyboardArrowRight"));
250
+ var import_SearchRounded = __toESM(require("@mui/icons-material/SearchRounded"));
251
+ var import_CloseRounded = __toESM(require("@mui/icons-material/CloseRounded"));
252
+ var import_SortByAlphaRounded = __toESM(require("@mui/icons-material/SortByAlphaRounded"));
253
+ var import_FilterAltOutlined = __toESM(require("@mui/icons-material/FilterAltOutlined"));
254
+ var import_InboxOutlined = __toESM(require("@mui/icons-material/InboxOutlined"));
255
+ var import_SearchOff = __toESM(require("@mui/icons-material/SearchOff"));
256
+ var import_ClearRounded = __toESM(require("@mui/icons-material/ClearRounded"));
257
+ var import_ArrowDropDownRounded = __toESM(require("@mui/icons-material/ArrowDropDownRounded"));
258
+ var import_AccountBox = __toESM(require("@mui/icons-material/AccountBox"));
259
+ var import_Logout = __toESM(require("@mui/icons-material/Logout"));
260
+ var import_Login = __toESM(require("@mui/icons-material/Login"));
261
+ var import_Dashboard = __toESM(require("@mui/icons-material/Dashboard"));
262
+ var import_AccountTreeOutlined = __toESM(require("@mui/icons-material/AccountTreeOutlined"));
263
+ var import_HelpOutline = __toESM(require("@mui/icons-material/HelpOutline"));
264
+ var import_NavigateBefore = __toESM(require("@mui/icons-material/NavigateBefore"));
265
+ var import_NavigateNext = __toESM(require("@mui/icons-material/NavigateNext"));
266
+ var import_Person2 = __toESM(require("@mui/icons-material/Person"));
267
+ var import_CalendarToday = __toESM(require("@mui/icons-material/CalendarToday"));
268
+ var import_QuestionAnswerOutlined = __toESM(require("@mui/icons-material/QuestionAnswerOutlined"));
269
+ var import_Today = __toESM(require("@mui/icons-material/Today"));
270
+ var import_DeleteForever2 = __toESM(require("@mui/icons-material/DeleteForever"));
271
+ var import_AdsClick = __toESM(require("@mui/icons-material/AdsClick"));
272
+ var import_Fingerprint = __toESM(require("@mui/icons-material/Fingerprint"));
273
+ var import_SportsEsportsOutlined = __toESM(require("@mui/icons-material/SportsEsportsOutlined"));
274
+ var import_HelpOutlineRounded = __toESM(require("@mui/icons-material/HelpOutlineRounded"));
275
+ var import_AccountTreeOutlined2 = __toESM(require("@mui/icons-material/AccountTreeOutlined"));
276
+ var import_SmartToyOutlined = __toESM(require("@mui/icons-material/SmartToyOutlined"));
277
+ var import_AcUnit = __toESM(require("@mui/icons-material/AcUnit"));
278
+ var import_Loop = __toESM(require("@mui/icons-material/Loop"));
279
+ var import_Pending = __toESM(require("@mui/icons-material/Pending"));
280
+ var import_AllInclusive = __toESM(require("@mui/icons-material/AllInclusive"));
281
+ var import_WarningOutlined = __toESM(require("@mui/icons-material/WarningOutlined"));
282
+ var import_InfoOutlined = __toESM(require("@mui/icons-material/InfoOutlined"));
283
+ var import_AutoAwesomeRounded = __toESM(require("@mui/icons-material/AutoAwesomeRounded"));
284
+ var import_ErrorOutlineOutlined = __toESM(require("@mui/icons-material/ErrorOutlineOutlined"));
285
+ var import_Download = __toESM(require("@mui/icons-material/Download"));
286
+
287
+ // src/components/elemental/Menu/src/Menu/Menu.tsx
288
+ var import_react = require("react");
289
+ var import_MenuList = __toESM(require("@mui/material/MenuList"));
290
+ var import_ListItemText = __toESM(require("@mui/material/ListItemText"));
291
+ var import_styles2 = require("@mui/material/styles");
292
+
293
+ // src/components/elemental/Menu/src/MenuItem.tsx
294
+ var import_MenuItem = __toESM(require("@mui/material/MenuItem"));
295
+ var import_ListItemIcon = __toESM(require("@mui/material/ListItemIcon"));
296
+ var import_styles = require("@mui/material/styles");
297
+ var StyledMenuItem = (0, import_styles.styled)(import_MenuItem.default, {
298
+ shouldForwardProp: (prop) => prop !== "customPadding" && prop !== "customFontSize"
299
+ })(({ customPadding, customFontSize }) => ({
300
+ width: "-webkit-fill-available",
301
+ borderRadius: "8px",
302
+ minHeight: "fit-content",
303
+ padding: customPadding || "6px 16px",
304
+ margin: "0",
305
+ overflow: "hidden",
306
+ gap: "4px",
307
+ "& .MuiListItemText-primary": {
308
+ fontSize: customFontSize || "1rem",
309
+ overflow: "hidden",
310
+ textOverflow: "ellipsis"
311
+ }
312
+ }));
313
+ var StyledItemIcon = (0, import_styles.styled)(import_ListItemIcon.default, {
314
+ shouldForwardProp: (prop) => prop !== "isIconOnly"
315
+ })({
316
+ "&.MuiListItemIcon-root": {
317
+ minWidth: "var(--minW)"
318
+ },
319
+ variants: [
320
+ {
321
+ props: { isIconOnly: true },
322
+ style: {
323
+ "--minW": "0"
324
+ }
325
+ },
326
+ {
327
+ props: { isIconOnly: false },
328
+ style: {
329
+ "--minW": "auto"
330
+ }
331
+ },
332
+ {
333
+ props: { isIconOnly: void 0 },
334
+ // default
335
+ style: {
336
+ "--minW": "auto"
337
+ }
338
+ }
339
+ ]
340
+ });
341
+
342
+ // src/components/elemental/Menu/src/Menu/Menu.tsx
343
+ var import_jsx_runtime = require("react/jsx-runtime");
344
+ var CustomMenuList = (0, import_react.forwardRef)(({
345
+ options = [],
346
+ extraItemClickHandler,
347
+ menuItemProps,
348
+ initSelected = [],
349
+ multiple = false,
350
+ autoFocusItem,
351
+ menuRef,
352
+ isIconOnly = false,
353
+ optionHeader,
354
+ sorted = true
355
+ }, ref) => {
356
+ const [localSelected, setLocalSelected] = (0, import_react.useState)(initSelected);
357
+ (0, import_react.useImperativeHandle)(ref, () => ({
358
+ getSelectedItem: () => localSelected
359
+ }), [localSelected]);
360
+ (0, import_react.useEffect)(() => {
361
+ setLocalSelected(initSelected);
362
+ }, [initSelected]);
363
+ const sortedOptions = (0, import_react.useMemo)(() => {
364
+ if (!sorted) return options;
365
+ return [...options].sort((a, b) => {
366
+ if (a.label && b.label) {
367
+ return a.label.toString().localeCompare(b.label.toString());
368
+ }
369
+ return 0;
370
+ });
371
+ }, [sorted, options]);
372
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
373
+ StyledMenuList,
374
+ {
375
+ ref: menuRef,
376
+ autoFocusItem,
377
+ fontSize: menuItemProps?.fontSize,
378
+ padding: menuItemProps?.padding,
379
+ children: [
380
+ optionHeader,
381
+ sortedOptions.map((o, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
382
+ StyledMenuItem,
383
+ {
384
+ selected: localSelected.includes(o.id),
385
+ customPadding: menuItemProps?.padding,
386
+ customFontSize: menuItemProps?.fontSize,
387
+ onClick: (e) => {
388
+ if (extraItemClickHandler) extraItemClickHandler(e);
389
+ if (multiple) setLocalSelected((old) => {
390
+ if (old.includes(o.id)) return old.filter((id) => id !== o.id);
391
+ return [...old, o.id];
392
+ });
393
+ o.onClick?.();
394
+ },
395
+ children: [
396
+ o.icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledItemIcon, { isIconOnly, children: o.icon }),
397
+ o.label && !isIconOnly && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ListItemText.default, { children: o.label }),
398
+ o.extension
399
+ ]
400
+ },
401
+ i
402
+ ))
403
+ ]
404
+ }
405
+ );
406
+ });
407
+ var Menu_default = CustomMenuList;
408
+ var StyledMenuList = (0, import_styles2.styled)(import_MenuList.default, {
409
+ shouldForwardProp: (prop) => prop !== "fontSize" && prop !== "padding"
410
+ })((p) => createMenuListTheme(p));
411
+ function createMenuListTheme(p) {
412
+ return {
413
+ "&.MuiList-root": {
414
+ padding: "8px 4px",
415
+ display: "flex",
416
+ flexDirection: "column",
417
+ alignContent: "center",
418
+ alignItems: "center",
419
+ width: "100%",
420
+ gap: "2px",
421
+ "& li": {
422
+ width: "-webkit-fill-available",
423
+ borderRadius: "8px",
424
+ minHeight: "fit-content",
425
+ padding: p.padding || "6px 16px",
426
+ margin: "0",
427
+ overflow: "hidden",
428
+ "& .MuiListItemText-primary": {
429
+ fontSize: p.fontSize || "1rem",
430
+ overflow: "hidden",
431
+ textOverflow: "ellipsis"
432
+ }
433
+ }
434
+ }
435
+ };
436
+ }
437
+
438
+ // src/components/elemental/Menu/src/Menu/index.ts
439
+ var import_MenuItem3 = __toESM(require("@mui/material/MenuItem"));
440
+
441
+ // src/components/elemental/Overlay/src/index.ts
442
+ var import_ClickAwayListener = __toESM(require("@mui/material/ClickAwayListener"));
443
+ var import_Popper = __toESM(require("@mui/material/Popper"));
444
+
445
+ // src/components/elemental/Paper/src/Paper/Paper.tsx
446
+ var import_Paper = __toESM(require("@mui/material/Paper"));
447
+ var import_jsx_runtime2 = require("react/jsx-runtime");
448
+ function MuiPaper(props) {
449
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_Paper.default, { ...props });
450
+ }
451
+
452
+ // src/components/elemental/Menu/src/useMenu/useMenu.tsx
453
+ var import_react2 = require("react");
454
+ var import_jsx_runtime3 = require("react/jsx-runtime");
455
+ var MenuPopper = ({
456
+ placement = "bottom-start",
457
+ options = [],
458
+ openMenuProps,
459
+ menuItemProps,
460
+ optionHeader
461
+ }) => {
462
+ const {
463
+ closeHandler,
464
+ anchorEl,
465
+ onItemClickClientArg,
466
+ multiple,
467
+ ref,
468
+ menuRef,
469
+ initSelected,
470
+ sorted = true
471
+ } = openMenuProps;
472
+ const open = Boolean(anchorEl);
473
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
474
+ import_Popper.default,
475
+ {
476
+ open,
477
+ anchorEl,
478
+ placement,
479
+ sx: { zIndex: "1301" },
480
+ modifiers: [{
481
+ name: "offset",
482
+ options: { offset: [0, 8] }
483
+ }],
484
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
485
+ MuiPaper,
486
+ {
487
+ variant: "outlined",
488
+ sx: {
489
+ "&.MuiPaper-root": {
490
+ pr: 1,
491
+ minWidth: 150,
492
+ maxHeight: 300,
493
+ borderRadius: "16px",
494
+ overflow: "hidden",
495
+ display: "flex",
496
+ flexDirection: "column",
497
+ "& .MuiList-root": {
498
+ display: "flex",
499
+ flexDirection: "column",
500
+ alignContent: "center",
501
+ alignItems: "center",
502
+ width: "100%",
503
+ overflowY: "auto",
504
+ height: "100%"
505
+ },
506
+ "& li": {
507
+ width: "100%"
508
+ }
509
+ }
510
+ },
511
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_ClickAwayListener.default, { onClickAway: closeHandler, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
512
+ Menu_default,
513
+ {
514
+ ref,
515
+ menuRef,
516
+ autoFocusItem: open,
517
+ menuItemProps,
518
+ optionHeader,
519
+ options,
520
+ multiple,
521
+ initSelected,
522
+ extraItemClickHandler: (e) => {
523
+ if (onItemClickClientArg) onItemClickClientArg({ event: e, closeHandler });
524
+ },
525
+ sorted
526
+ }
527
+ ) })
528
+ }
529
+ )
530
+ }
531
+ );
532
+ };
533
+ function useMenu({
534
+ onItemClickClientArg,
535
+ multiple = false,
536
+ initSelected = [],
537
+ setSelected
538
+ }) {
539
+ const [anchorEl, setAnchorEl] = (0, import_react2.useState)(null);
540
+ const [anchorPosition, setAnchorPosition] = (0, import_react2.useState)({ top: 0, left: 0 });
541
+ const ref = (0, import_react2.useRef)(null);
542
+ const menuRef = (0, import_react2.useRef)(null);
543
+ const closeHandler = (event) => {
544
+ if (event && menuRef.current && event.target instanceof Node && menuRef.current.contains(event.target)) {
545
+ return;
546
+ }
547
+ if (setSelected && multiple) {
548
+ const localSelected = ref.current?.getSelectedItem();
549
+ if (localSelected && Array.isArray(localSelected)) {
550
+ setSelected(localSelected);
551
+ }
552
+ }
553
+ setAnchorEl(null);
554
+ };
555
+ const onTriggerClickHandler = (event) => {
556
+ const bottom = event.clientY;
557
+ const right = event.clientX;
558
+ setAnchorEl(event.currentTarget);
559
+ setAnchorPosition({ top: bottom, left: right });
560
+ };
561
+ return {
562
+ anchorEl,
563
+ anchorPosition,
564
+ onTriggerClickHandler,
565
+ onItemClickClientArg,
566
+ closeHandler,
567
+ multiple,
568
+ ref,
569
+ initSelected,
570
+ menuRef
571
+ };
572
+ }
573
+
574
+ // src/components/elemental/Tab/src/TabPanel/useTabsOverflow.ts
575
+ var import_react3 = require("react");
576
+ function computeVisibleIndexes(itemWidths, moreWidth, availableWidth, selectedIndex, gapPx) {
577
+ const count = itemWidths.length;
578
+ if (count === 0) {
579
+ return { visibleIndexes: [], overflowIndexes: [] };
580
+ }
581
+ if (itemWidths.some((width) => width <= 0) || availableWidth <= 0) {
582
+ return {
583
+ visibleIndexes: itemWidths.map((_, index) => index),
584
+ overflowIndexes: []
585
+ };
586
+ }
587
+ const totalNeeded = itemWidths.reduce((sum, width) => sum + width, 0) + Math.max(0, count - 1) * gapPx;
588
+ if (totalNeeded <= availableWidth) {
589
+ return {
590
+ visibleIndexes: itemWidths.map((_, index) => index),
591
+ overflowIndexes: []
592
+ };
593
+ }
594
+ const reserveMore = moreWidth > 0 ? moreWidth + gapPx : 0;
595
+ const budget = Math.max(0, availableWidth - reserveMore);
596
+ const pickPrefix = (maxExclusive, limit) => {
597
+ const indexes = [];
598
+ let used = 0;
599
+ for (let i = 0; i < maxExclusive; i += 1) {
600
+ const width = itemWidths[i] ?? 0;
601
+ const nextUsed = used + width + (indexes.length > 0 ? gapPx : 0);
602
+ if (nextUsed <= limit) {
603
+ indexes.push(i);
604
+ used = nextUsed;
605
+ } else {
606
+ break;
607
+ }
608
+ }
609
+ return indexes;
610
+ };
611
+ let visibleIndexes;
612
+ if (selectedIndex < 0 || selectedIndex >= count) {
613
+ visibleIndexes = pickPrefix(count, budget);
614
+ } else {
615
+ const selectedWidth = itemWidths[selectedIndex] ?? 0;
616
+ const prefixBudget = Math.max(
617
+ 0,
618
+ budget - selectedWidth - (selectedWidth > 0 ? gapPx : 0)
619
+ );
620
+ const prefix = pickPrefix(selectedIndex, prefixBudget);
621
+ let used = prefix.reduce((sum, index, order) => {
622
+ return sum + (itemWidths[index] ?? 0) + (order > 0 ? gapPx : 0);
623
+ }, 0) + (prefix.length > 0 ? gapPx : 0) + selectedWidth;
624
+ const after = [];
625
+ for (let i = selectedIndex + 1; i < count; i += 1) {
626
+ const width = itemWidths[i] ?? 0;
627
+ const nextUsed = used + gapPx + width;
628
+ if (nextUsed <= budget) {
629
+ after.push(i);
630
+ used = nextUsed;
631
+ } else {
632
+ break;
633
+ }
634
+ }
635
+ visibleIndexes = [...prefix, selectedIndex, ...after];
636
+ }
637
+ if (visibleIndexes.length === 0 && selectedIndex >= 0 && selectedIndex < count) {
638
+ visibleIndexes = [selectedIndex];
639
+ }
640
+ const visibleSet = new Set(visibleIndexes);
641
+ const overflowIndexes = itemWidths.map((_, index) => index).filter((index) => !visibleSet.has(index));
642
+ return { visibleIndexes, overflowIndexes };
643
+ }
644
+ function useTabsOverflowSplit(itemWidths, moreWidth, availableWidth, selectedIndex, gapPx) {
645
+ return (0, import_react3.useMemo)(
646
+ () => computeVisibleIndexes(
647
+ itemWidths,
648
+ moreWidth,
649
+ availableWidth,
650
+ selectedIndex,
651
+ gapPx
652
+ ),
653
+ [itemWidths, moreWidth, availableWidth, selectedIndex, gapPx]
654
+ );
655
+ }
656
+
657
+ // src/components/elemental/Tab/src/TabPanel/tabPanelVars.ts
658
+ var tabPanelRootSx = {
659
+ "--tabpanel-accent": "var(--mui-palette-primary-emphasis)",
660
+ "--tabpanel-track-bg": "color-mix(in lab, var(--tabpanel-accent), transparent 92%)",
661
+ "--tabpanel-tab-color": "var(--mui-palette-text-secondary)",
662
+ "--tabpanel-tab-color-active": "var(--tabpanel-accent)",
663
+ "--tabpanel-tab-color-disabled": "var(--mui-palette-text-disabled)",
664
+ "--tabpanel-badge-color": "var(--mui-palette-error-main)",
665
+ "--tabpanel-badge-bg": "color-mix(in lab, var(--mui-palette-error-main), transparent 86%)",
666
+ "--tabpanel-focus-bg": "color-mix(in lab, var(--mui-palette-background-paper), transparent 78%)",
667
+ "--tabpanel-focus-bg-dark": "color-mix(in lab, var(--mui-palette-background-paper), transparent 55%)",
668
+ "--tabpanel-focus-shadow": [
669
+ "inset 0 1px 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 15%)",
670
+ "inset 0 -1px 3px color-mix(in lab, var(--tabpanel-accent), transparent 80%)",
671
+ "inset 0 0 16px color-mix(in lab, var(--mui-palette-background-paper), transparent 50%)",
672
+ "0 0 0 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 45%)",
673
+ "0 0 20px color-mix(in lab, var(--tabpanel-accent), transparent 76%)",
674
+ "0 8px 22px color-mix(in lab, var(--tabpanel-accent), transparent 84%)"
675
+ ].join(", "),
676
+ "--tabpanel-focus-shadow-dark": [
677
+ "inset 0 1px 0 rgba(255, 255, 255, 0.06)",
678
+ "inset 0 0 0 1px color-mix(in lab, var(--tabpanel-accent), transparent 82%)",
679
+ "0 0 0 1px rgba(0, 0, 0, 0.35)",
680
+ "0 4px 12px rgba(0, 0, 0, 0.35)"
681
+ ].join(", "),
682
+ "--tabpanel-focus-radius": "10px",
683
+ "--tabpanel-track-radius": "12px",
684
+ "--tabpanel-track-pad": "3px",
685
+ "--tabpanel-item-gap": "1px",
686
+ "--tabpanel-indicator-ease": "cubic-bezier(0.32, 0.72, 0, 1)",
687
+ "--tabpanel-indicator-ms": "380ms"
688
+ };
689
+ function tabPanelStyleToCssVars(style) {
690
+ if (!style) {
691
+ return {};
692
+ }
693
+ const vars = {};
694
+ if (style.accent != null) vars["--tabpanel-accent"] = style.accent;
695
+ if (style.trackBg != null) vars["--tabpanel-track-bg"] = style.trackBg;
696
+ if (style.tabColor != null) vars["--tabpanel-tab-color"] = style.tabColor;
697
+ if (style.tabColorActive != null) {
698
+ vars["--tabpanel-tab-color-active"] = style.tabColorActive;
699
+ }
700
+ if (style.tabColorDisabled != null) {
701
+ vars["--tabpanel-tab-color-disabled"] = style.tabColorDisabled;
702
+ }
703
+ if (style.badgeColor != null) vars["--tabpanel-badge-color"] = style.badgeColor;
704
+ if (style.badgeBg != null) vars["--tabpanel-badge-bg"] = style.badgeBg;
705
+ if (style.focusBg != null) vars["--tabpanel-focus-bg"] = style.focusBg;
706
+ if (style.focusBgDark != null) {
707
+ vars["--tabpanel-focus-bg-dark"] = style.focusBgDark;
708
+ }
709
+ if (style.focusShadow != null) {
710
+ vars["--tabpanel-focus-shadow"] = style.focusShadow;
711
+ }
712
+ if (style.focusShadowDark != null) {
713
+ vars["--tabpanel-focus-shadow-dark"] = style.focusShadowDark;
714
+ }
715
+ if (style.focusRadius != null) {
716
+ vars["--tabpanel-focus-radius"] = style.focusRadius;
717
+ }
718
+ if (style.trackRadius != null) {
719
+ vars["--tabpanel-track-radius"] = style.trackRadius;
720
+ }
721
+ return vars;
722
+ }
723
+
724
+ // src/components/elemental/Tab/src/TabPanel/TabPanel.tsx
725
+ var import_jsx_runtime4 = require("react/jsx-runtime");
726
+ var TRACK_PAD = 3;
727
+ var ITEM_GAP = 1;
728
+ var DEFAULT_TRACK_RADIUS = 12;
729
+ var DEFAULT_FOCUS_RADIUS = 10;
730
+ var INDICATOR_EASE = "cubic-bezier(0.32, 0.72, 0, 1)";
731
+ var INDICATOR_MS = 380;
732
+ function toCssRadius(value) {
733
+ return typeof value === "number" ? `${value}px` : value;
734
+ }
735
+ function finishIndicatorAnimation(animation) {
736
+ try {
737
+ animation.commitStyles?.();
738
+ } catch {
739
+ }
740
+ animation.cancel();
741
+ }
742
+ function clearIndicatorAnimations(element) {
743
+ element.getAnimations().forEach((animation) => {
744
+ finishIndicatorAnimation(animation);
745
+ });
746
+ }
747
+ function resolveSelectedId(items, value, internal) {
748
+ const candidate = value ?? internal;
749
+ if (candidate && items.some((item) => item.id === candidate && !item.disabled)) {
750
+ return candidate;
751
+ }
752
+ return items.find((item) => !item.disabled)?.id;
753
+ }
754
+ function TabItemContent({
755
+ item,
756
+ showLabels,
757
+ active,
758
+ endAdornment
759
+ }) {
760
+ const showLabel = showLabels || !item.icon;
761
+ const badgeLabel = item.badge == null ? null : typeof item.badge === "number" && item.badge > 99 ? "99+" : String(item.badge);
762
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
763
+ import_Box.default,
764
+ {
765
+ sx: {
766
+ position: "relative",
767
+ display: "inline-flex",
768
+ alignItems: "center",
769
+ gap: 0.5,
770
+ px: showLabels ? 1.15 : 0.9,
771
+ py: 0.5,
772
+ minHeight: 28,
773
+ pr: endAdornment ? 0.75 : void 0
774
+ },
775
+ children: [
776
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
777
+ import_Box.default,
778
+ {
779
+ component: "span",
780
+ sx: {
781
+ display: "inline-flex",
782
+ color: "inherit",
783
+ lineHeight: 0,
784
+ opacity: active ? 1 : 0.88,
785
+ transition: "opacity var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)",
786
+ "& > *": { fontSize: 16 }
787
+ },
788
+ children: item.icon
789
+ }
790
+ ) : null,
791
+ showLabel ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
792
+ import_Typography.default,
793
+ {
794
+ component: "span",
795
+ sx: {
796
+ m: 0,
797
+ fontSize: "0.75rem",
798
+ letterSpacing: "0.01em",
799
+ fontWeight: active ? 600 : 500,
800
+ color: "inherit",
801
+ lineHeight: 1.15,
802
+ whiteSpace: "nowrap"
803
+ },
804
+ children: item.label
805
+ }
806
+ ) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
807
+ import_Typography.default,
808
+ {
809
+ component: "span",
810
+ sx: {
811
+ position: "absolute",
812
+ width: 1,
813
+ height: 1,
814
+ overflow: "hidden",
815
+ clip: "rect(0 0 0 0)"
816
+ },
817
+ children: item.label
818
+ }
819
+ ),
820
+ endAdornment,
821
+ badgeLabel != null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
822
+ import_Box.default,
823
+ {
824
+ component: "span",
825
+ "aria-label": `${item.badge} notifications`,
826
+ sx: {
827
+ position: "absolute",
828
+ top: 1,
829
+ right: endAdornment ? 10 : 1,
830
+ zIndex: 1,
831
+ pointerEvents: "none",
832
+ minWidth: 12,
833
+ height: 12,
834
+ px: 0.3,
835
+ display: "inline-flex",
836
+ alignItems: "center",
837
+ justifyContent: "center",
838
+ borderRadius: 999,
839
+ bgcolor: "var(--tabpanel-badge-bg)",
840
+ color: "var(--tabpanel-badge-color)",
841
+ fontSize: 8,
842
+ fontWeight: 700,
843
+ lineHeight: 1
844
+ },
845
+ children: badgeLabel
846
+ }
847
+ ) : null
848
+ ]
849
+ }
850
+ );
851
+ }
852
+ function MoreTriggerContent({
853
+ showLabels,
854
+ open
855
+ }) {
856
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
857
+ import_Box.default,
858
+ {
859
+ sx: {
860
+ position: "relative",
861
+ display: "inline-flex",
862
+ alignItems: "center",
863
+ gap: 0.35,
864
+ px: showLabels ? 1.15 : 0.9,
865
+ py: 0.5,
866
+ minHeight: 28
867
+ },
868
+ children: [
869
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_MoreHoriz.default, { sx: { fontSize: 16 } }),
870
+ showLabels ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
871
+ import_Typography.default,
872
+ {
873
+ component: "span",
874
+ sx: {
875
+ m: 0,
876
+ fontSize: "0.75rem",
877
+ fontWeight: 500,
878
+ color: "inherit",
879
+ lineHeight: 1.15,
880
+ whiteSpace: "nowrap"
881
+ },
882
+ children: "More"
883
+ }
884
+ ) : null,
885
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
886
+ import_KeyboardArrowDown.default,
887
+ {
888
+ sx: {
889
+ fontSize: 14,
890
+ opacity: 0.75,
891
+ transition: "transform 180ms ease",
892
+ transform: open ? "rotate(180deg)" : "none"
893
+ }
894
+ }
895
+ )
896
+ ]
897
+ }
898
+ );
899
+ }
900
+ function TabPanel({
901
+ items,
902
+ value,
903
+ defaultValue,
904
+ onChange,
905
+ showLabels = true,
906
+ focusRadius = DEFAULT_FOCUS_RADIUS,
907
+ trackRadius = DEFAULT_TRACK_RADIUS,
908
+ sx,
909
+ className,
910
+ slotProps
911
+ }) {
912
+ const isControlled = value !== void 0;
913
+ const [internalValue, setInternalValue] = (0, import_react4.useState)(
914
+ () => defaultValue ?? items.find((item) => !item.disabled)?.id
915
+ );
916
+ const selectedId = resolveSelectedId(items, value, internalValue);
917
+ const select = (0, import_react4.useCallback)(
918
+ (id) => {
919
+ const item = items.find((entry) => entry.id === id);
920
+ if (!item || item.disabled) {
921
+ return;
922
+ }
923
+ if (!isControlled) {
924
+ setInternalValue(id);
925
+ }
926
+ onChange?.(id);
927
+ },
928
+ [isControlled, items, onChange]
929
+ );
930
+ const rootRef = (0, import_react4.useRef)(null);
931
+ const stripRef = (0, import_react4.useRef)(null);
932
+ const measureRef = (0, import_react4.useRef)(null);
933
+ const moreMeasureRef = (0, import_react4.useRef)(null);
934
+ const indicatorRef = (0, import_react4.useRef)(null);
935
+ const itemRefs = (0, import_react4.useRef)(/* @__PURE__ */ new Map());
936
+ const indicatorRectRef = (0, import_react4.useRef)({ top: 0, left: 0, width: 0, height: 0 });
937
+ const indicatorMountedRef = (0, import_react4.useRef)(false);
938
+ const indicatorAnimatingRef = (0, import_react4.useRef)(false);
939
+ const [availableWidth, setAvailableWidth] = (0, import_react4.useState)(0);
940
+ const [itemWidths, setItemWidths] = (0, import_react4.useState)([]);
941
+ const [moreWidth, setMoreWidth] = (0, import_react4.useState)(0);
942
+ const selectedIndex = (0, import_react4.useMemo)(
943
+ () => items.findIndex((item) => item.id === selectedId),
944
+ [items, selectedId]
945
+ );
946
+ const { visibleIndexes, overflowIndexes } = useTabsOverflowSplit(
947
+ itemWidths,
948
+ moreWidth,
949
+ availableWidth,
950
+ selectedIndex,
951
+ ITEM_GAP
952
+ );
953
+ const visibleItems = (0, import_react4.useMemo)(
954
+ () => visibleIndexes.map((index) => items[index]).filter(Boolean),
955
+ [visibleIndexes, items]
956
+ );
957
+ const overflowItems = (0, import_react4.useMemo)(
958
+ () => overflowIndexes.map((index) => items[index]).filter(Boolean),
959
+ [overflowIndexes, items]
960
+ );
961
+ const hasOverflow = overflowItems.length > 0;
962
+ const rootCssVars = (0, import_react4.useMemo)(
963
+ () => ({
964
+ ...tabPanelStyleToCssVars(slotProps?.root?.style),
965
+ "--tabpanel-focus-radius": toCssRadius(focusRadius),
966
+ "--tabpanel-track-radius": toCssRadius(trackRadius),
967
+ // Prop radii win unless style explicitly set them.
968
+ ...slotProps?.root?.style?.focusRadius != null ? { "--tabpanel-focus-radius": slotProps.root.style.focusRadius } : null,
969
+ ...slotProps?.root?.style?.trackRadius != null ? { "--tabpanel-track-radius": slotProps.root.style.trackRadius } : null
970
+ }),
971
+ [focusRadius, trackRadius, slotProps?.root?.style]
972
+ );
973
+ (0, import_react4.useLayoutEffect)(() => {
974
+ const root = rootRef.current;
975
+ const measure = measureRef.current;
976
+ const moreMeasure = moreMeasureRef.current;
977
+ if (!root || !measure || !moreMeasure) {
978
+ return;
979
+ }
980
+ const update = () => {
981
+ setAvailableWidth(Math.max(0, root.clientWidth - TRACK_PAD * 2));
982
+ const widths = Array.from(
983
+ measure.querySelectorAll("[data-tab-measure]")
984
+ ).map((node) => node.getBoundingClientRect().width);
985
+ setItemWidths((prev) => {
986
+ if (prev.length === widths.length && prev.every((width, index) => Math.abs(width - (widths[index] ?? 0)) < 0.5)) {
987
+ return prev;
988
+ }
989
+ return widths;
990
+ });
991
+ const nextMore = Math.max(
992
+ moreMeasure.scrollWidth,
993
+ moreMeasure.getBoundingClientRect().width
994
+ );
995
+ setMoreWidth((prev) => Math.abs(prev - nextMore) < 0.5 ? prev : nextMore);
996
+ };
997
+ update();
998
+ const observer = new ResizeObserver(update);
999
+ observer.observe(root);
1000
+ observer.observe(measure);
1001
+ observer.observe(moreMeasure);
1002
+ return () => observer.disconnect();
1003
+ }, [items, showLabels]);
1004
+ (0, import_react4.useLayoutEffect)(() => {
1005
+ const strip = stripRef.current;
1006
+ const indicator = indicatorRef.current;
1007
+ if (!strip || !indicator || !selectedId) {
1008
+ return;
1009
+ }
1010
+ const slideToActive = () => {
1011
+ const activeEl = itemRefs.current.get(selectedId);
1012
+ if (!activeEl) {
1013
+ return;
1014
+ }
1015
+ const stripBox = strip.getBoundingClientRect();
1016
+ const itemBox = activeEl.getBoundingClientRect();
1017
+ const next = {
1018
+ top: itemBox.top - stripBox.top,
1019
+ left: itemBox.left - stripBox.left,
1020
+ width: itemBox.width,
1021
+ height: itemBox.height
1022
+ };
1023
+ const applyRect = (rect) => {
1024
+ indicator.style.transform = `translate3d(${rect.left}px, ${rect.top}px, 0)`;
1025
+ indicator.style.width = `${rect.width}px`;
1026
+ indicator.style.height = `${rect.height}px`;
1027
+ };
1028
+ if (!indicatorMountedRef.current || indicatorRectRef.current.width <= 0) {
1029
+ clearIndicatorAnimations(indicator);
1030
+ indicator.style.transition = "none";
1031
+ applyRect(next);
1032
+ indicator.style.opacity = "1";
1033
+ indicatorRectRef.current = next;
1034
+ indicatorMountedRef.current = true;
1035
+ return;
1036
+ }
1037
+ clearIndicatorAnimations(indicator);
1038
+ const liveBox = indicator.getBoundingClientRect();
1039
+ const prev = {
1040
+ top: liveBox.top - stripBox.top,
1041
+ left: liveBox.left - stripBox.left,
1042
+ width: liveBox.width,
1043
+ height: liveBox.height
1044
+ };
1045
+ const same = Math.abs(prev.left - next.left) < 0.5 && Math.abs(prev.top - next.top) < 0.5 && Math.abs(prev.width - next.width) < 0.5 && Math.abs(prev.height - next.height) < 0.5;
1046
+ if (same) {
1047
+ applyRect(next);
1048
+ indicatorRectRef.current = next;
1049
+ return;
1050
+ }
1051
+ const bridgeLeft = Math.min(prev.left, next.left);
1052
+ const bridgeRight = Math.max(prev.left + prev.width, next.left + next.width);
1053
+ const bridge = {
1054
+ left: bridgeLeft,
1055
+ top: next.top,
1056
+ width: Math.max(bridgeRight - bridgeLeft, next.width),
1057
+ height: next.height
1058
+ };
1059
+ indicator.style.transition = "none";
1060
+ applyRect(prev);
1061
+ indicator.style.opacity = "1";
1062
+ indicatorAnimatingRef.current = true;
1063
+ const animation = indicator.animate(
1064
+ [
1065
+ {
1066
+ transform: `translate3d(${prev.left}px, ${prev.top}px, 0)`,
1067
+ width: `${prev.width}px`,
1068
+ height: `${prev.height}px`
1069
+ },
1070
+ {
1071
+ transform: `translate3d(${bridge.left}px, ${bridge.top}px, 0)`,
1072
+ width: `${bridge.width}px`,
1073
+ height: `${bridge.height}px`,
1074
+ offset: 0.4
1075
+ },
1076
+ {
1077
+ transform: `translate3d(${next.left}px, ${next.top}px, 0)`,
1078
+ width: `${next.width}px`,
1079
+ height: `${next.height}px`
1080
+ }
1081
+ ],
1082
+ {
1083
+ duration: INDICATOR_MS,
1084
+ easing: INDICATOR_EASE,
1085
+ fill: "forwards"
1086
+ }
1087
+ );
1088
+ animation.onfinish = () => {
1089
+ finishIndicatorAnimation(animation);
1090
+ applyRect(next);
1091
+ indicatorRectRef.current = next;
1092
+ indicatorAnimatingRef.current = false;
1093
+ };
1094
+ animation.oncancel = () => {
1095
+ indicatorAnimatingRef.current = false;
1096
+ };
1097
+ indicatorRectRef.current = next;
1098
+ };
1099
+ slideToActive();
1100
+ const observer = new ResizeObserver(() => {
1101
+ if (indicatorAnimatingRef.current) {
1102
+ return;
1103
+ }
1104
+ const activeEl = itemRefs.current.get(selectedId);
1105
+ const ind = indicatorRef.current;
1106
+ if (!activeEl || !ind || !stripRef.current) {
1107
+ return;
1108
+ }
1109
+ const stripBox = stripRef.current.getBoundingClientRect();
1110
+ const itemBox = activeEl.getBoundingClientRect();
1111
+ const next = {
1112
+ top: itemBox.top - stripBox.top,
1113
+ left: itemBox.left - stripBox.left,
1114
+ width: itemBox.width,
1115
+ height: itemBox.height
1116
+ };
1117
+ clearIndicatorAnimations(ind);
1118
+ ind.style.transition = "none";
1119
+ ind.style.transform = `translate3d(${next.left}px, ${next.top}px, 0)`;
1120
+ ind.style.width = `${next.width}px`;
1121
+ ind.style.height = `${next.height}px`;
1122
+ ind.style.opacity = "1";
1123
+ indicatorRectRef.current = next;
1124
+ indicatorMountedRef.current = true;
1125
+ });
1126
+ observer.observe(strip);
1127
+ return () => observer.disconnect();
1128
+ }, [visibleIndexes, overflowIndexes, selectedId, items, showLabels, focusRadius]);
1129
+ (0, import_react4.useEffect)(() => {
1130
+ if (isControlled) {
1131
+ return;
1132
+ }
1133
+ const next = resolveSelectedId(items, void 0, internalValue);
1134
+ if (next && next !== internalValue) {
1135
+ setInternalValue(next);
1136
+ }
1137
+ }, [items, isControlled, internalValue]);
1138
+ const menu = useMenu({
1139
+ onItemClickClientArg: ({ closeHandler }) => {
1140
+ closeHandler?.();
1141
+ }
1142
+ });
1143
+ const menuOptions = (0, import_react4.useMemo)(
1144
+ () => overflowItems.map((item) => ({
1145
+ id: item.id,
1146
+ label: item.label,
1147
+ icon: item.icon ? item.icon : void 0,
1148
+ onClick: () => {
1149
+ if (!item.disabled) {
1150
+ select(item.id);
1151
+ }
1152
+ }
1153
+ })),
1154
+ [overflowItems, select]
1155
+ );
1156
+ const selectedItem = items.find((item) => item.id === selectedId);
1157
+ const stripSx = {
1158
+ position: "relative",
1159
+ display: "inline-flex",
1160
+ alignItems: "center",
1161
+ justifyContent: "flex-start",
1162
+ flexWrap: "nowrap",
1163
+ alignSelf: "flex-start",
1164
+ maxWidth: "100%",
1165
+ gap: "var(--tabpanel-item-gap)",
1166
+ p: "var(--tabpanel-track-pad)",
1167
+ borderRadius: "var(--tabpanel-track-radius)",
1168
+ border: "none",
1169
+ bgcolor: "var(--tabpanel-track-bg)"
1170
+ };
1171
+ const tabButtonSx = {
1172
+ position: "relative",
1173
+ zIndex: 1,
1174
+ appearance: "none",
1175
+ border: "none",
1176
+ background: "transparent",
1177
+ p: 0,
1178
+ m: 0,
1179
+ borderRadius: "var(--tabpanel-focus-radius)",
1180
+ color: "var(--tabpanel-tab-color)",
1181
+ transition: "color var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)",
1182
+ flexShrink: 0,
1183
+ "&:hover": {
1184
+ color: "var(--tabpanel-tab-color-active)"
1185
+ },
1186
+ "&:focus-visible": {
1187
+ outline: "2px solid var(--tabpanel-accent)",
1188
+ outlineOffset: 3
1189
+ },
1190
+ '&[aria-selected="true"]': {
1191
+ color: "var(--tabpanel-tab-color-active)",
1192
+ "&:hover": {
1193
+ color: "var(--tabpanel-tab-color-active)"
1194
+ }
1195
+ }
1196
+ };
1197
+ const setItemRef = (id) => (node) => {
1198
+ if (node) {
1199
+ itemRefs.current.set(id, node);
1200
+ } else {
1201
+ itemRefs.current.delete(id);
1202
+ }
1203
+ };
1204
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1205
+ import_Box.default,
1206
+ {
1207
+ ref: rootRef,
1208
+ className,
1209
+ sx: mergeSx(
1210
+ {
1211
+ ...tabPanelRootSx,
1212
+ ...rootCssVars,
1213
+ width: "100%",
1214
+ minWidth: 0,
1215
+ maxWidth: "100%",
1216
+ overflow: "hidden",
1217
+ display: "flex",
1218
+ flexDirection: "column",
1219
+ alignItems: "stretch",
1220
+ gap: 1.5
1221
+ },
1222
+ slotProps?.root?.sx,
1223
+ sx
1224
+ ),
1225
+ children: [
1226
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1227
+ import_Box.default,
1228
+ {
1229
+ ref: measureRef,
1230
+ "aria-hidden": true,
1231
+ sx: {
1232
+ position: "fixed",
1233
+ left: -99999,
1234
+ top: 0,
1235
+ visibility: "hidden",
1236
+ pointerEvents: "none",
1237
+ display: "inline-flex",
1238
+ alignItems: "center",
1239
+ flexWrap: "nowrap",
1240
+ gap: "var(--tabpanel-item-gap)",
1241
+ width: "max-content",
1242
+ maxWidth: "none"
1243
+ },
1244
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1245
+ import_Box.default,
1246
+ {
1247
+ "data-tab-measure": true,
1248
+ sx: { display: "inline-flex", flexShrink: 0 },
1249
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TabItemContent, { item, showLabels, active: false })
1250
+ },
1251
+ `measure-${item.id}`
1252
+ ))
1253
+ }
1254
+ ),
1255
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1256
+ import_Box.default,
1257
+ {
1258
+ ref: moreMeasureRef,
1259
+ "aria-hidden": true,
1260
+ sx: {
1261
+ position: "fixed",
1262
+ left: -99999,
1263
+ top: 0,
1264
+ visibility: "hidden",
1265
+ pointerEvents: "none",
1266
+ display: "inline-flex",
1267
+ width: "max-content"
1268
+ },
1269
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MoreTriggerContent, { showLabels, open: false })
1270
+ }
1271
+ ),
1272
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1273
+ import_Box.default,
1274
+ {
1275
+ ref: stripRef,
1276
+ role: "tablist",
1277
+ sx: mergeSx(
1278
+ stripSx,
1279
+ hasOverflow ? slotProps?.menu?.sx ?? slotProps?.strip?.sx : slotProps?.strip?.sx
1280
+ ),
1281
+ children: [
1282
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1283
+ import_Box.default,
1284
+ {
1285
+ ref: indicatorRef,
1286
+ "aria-hidden": true,
1287
+ sx: mergeSx(
1288
+ {
1289
+ position: "absolute",
1290
+ top: 0,
1291
+ left: 0,
1292
+ width: 0,
1293
+ height: 0,
1294
+ borderRadius: "var(--tabpanel-focus-radius)",
1295
+ border: "none",
1296
+ bgcolor: "var(--tabpanel-focus-bg)",
1297
+ backdropFilter: "blur(12px) saturate(1.2)",
1298
+ WebkitBackdropFilter: "blur(12px) saturate(1.2)",
1299
+ boxShadow: "var(--tabpanel-focus-shadow)",
1300
+ opacity: 0,
1301
+ pointerEvents: "none",
1302
+ zIndex: 0,
1303
+ // Geometry (transform / width / height) is JS + WAAPI only —
1304
+ // never set transform here or Emotion fights fill: 'forwards'.
1305
+ willChange: "transform, width, height",
1306
+ "[color-scheme=dark] &": {
1307
+ bgcolor: "var(--tabpanel-focus-bg-dark)",
1308
+ backdropFilter: "blur(8px) saturate(1.05)",
1309
+ WebkitBackdropFilter: "blur(8px) saturate(1.05)",
1310
+ boxShadow: "var(--tabpanel-focus-shadow-dark)"
1311
+ }
1312
+ },
1313
+ slotProps?.indicator?.sx
1314
+ )
1315
+ }
1316
+ ),
1317
+ visibleItems.map((item) => {
1318
+ const active = item.id === selectedId;
1319
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1320
+ import_Box.default,
1321
+ {
1322
+ component: "button",
1323
+ type: "button",
1324
+ role: "tab",
1325
+ "aria-selected": active,
1326
+ disabled: item.disabled,
1327
+ ref: setItemRef(item.id),
1328
+ onClick: () => select(item.id),
1329
+ sx: mergeSx(
1330
+ {
1331
+ ...tabButtonSx,
1332
+ cursor: item.disabled ? "not-allowed" : "pointer",
1333
+ opacity: item.disabled ? 0.4 : 1,
1334
+ ...item.disabled ? {
1335
+ color: "var(--tabpanel-tab-color-disabled)",
1336
+ "&:hover": {
1337
+ color: "var(--tabpanel-tab-color-disabled)"
1338
+ }
1339
+ } : null
1340
+ },
1341
+ slotProps?.tab?.sx
1342
+ ),
1343
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1344
+ TabItemContent,
1345
+ {
1346
+ item,
1347
+ showLabels,
1348
+ active
1349
+ }
1350
+ )
1351
+ },
1352
+ item.id
1353
+ );
1354
+ }),
1355
+ hasOverflow ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1356
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1357
+ import_Box.default,
1358
+ {
1359
+ component: "button",
1360
+ type: "button",
1361
+ "aria-haspopup": "menu",
1362
+ "aria-expanded": Boolean(menu.anchorEl),
1363
+ "aria-label": `More tabs, ${overflowItems.length} hidden`,
1364
+ onClick: menu.onTriggerClickHandler,
1365
+ sx: mergeSx(
1366
+ {
1367
+ ...tabButtonSx,
1368
+ cursor: "pointer"
1369
+ },
1370
+ slotProps?.tab?.sx
1371
+ ),
1372
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1373
+ MoreTriggerContent,
1374
+ {
1375
+ showLabels,
1376
+ open: Boolean(menu.anchorEl)
1377
+ }
1378
+ )
1379
+ }
1380
+ ),
1381
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1382
+ MenuPopper,
1383
+ {
1384
+ placement: "bottom-end",
1385
+ options: menuOptions,
1386
+ openMenuProps: {
1387
+ ...menu,
1388
+ initSelected: selectedId ? [selectedId] : []
1389
+ }
1390
+ }
1391
+ )
1392
+ ] }) : null
1393
+ ]
1394
+ }
1395
+ ),
1396
+ selectedItem?.content != null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1397
+ import_Box.default,
1398
+ {
1399
+ role: "tabpanel",
1400
+ sx: mergeSx({ minWidth: 0 }, slotProps?.panel?.sx),
1401
+ children: selectedItem.content
1402
+ }
1403
+ ) : null
1404
+ ]
1405
+ }
1406
+ );
1407
+ }
1408
+ // Annotate the CommonJS export names for ESM import in node:
1409
+ 0 && (module.exports = {
1410
+ Tab,
1411
+ TabPanel,
1412
+ Tabs,
1413
+ tabPanelRootSx,
1414
+ tabPanelStyleToCssVars,
1415
+ tabTheme,
1416
+ tabsTheme
1417
+ });
1418
+ //# sourceMappingURL=tab.js.map