@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
@@ -0,0 +1,932 @@
1
+ import {
2
+ MenuPopper,
3
+ useMenu
4
+ } from "./chunk-HR3A4H4E.mjs";
5
+ import {
6
+ default109 as default5,
7
+ default60 as default4
8
+ } from "./chunk-ZVFYOXDE.mjs";
9
+ import {
10
+ default as default3
11
+ } from "./chunk-4RPFRNXG.mjs";
12
+ import {
13
+ default as default2,
14
+ mergeSx
15
+ } from "./chunk-S6EZVRZC.mjs";
16
+
17
+ // src/components/elemental/Tab/src/Tab/index.ts
18
+ import { default as default6 } from "@mui/material/Tab";
19
+ import { default as default7 } from "@mui/material/Tabs";
20
+
21
+ // src/components/elemental/Tab/src/Tab/themes.ts
22
+ var tabTheme = {
23
+ defaultProps: {
24
+ disableRipple: true
25
+ },
26
+ styleOverrides: {
27
+ root: ({ theme }) => ({
28
+ minHeight: 44,
29
+ minWidth: 0,
30
+ paddingInline: theme.spacing(1.5),
31
+ paddingBlock: theme.spacing(1),
32
+ borderRadius: theme.shape.borderRadius,
33
+ textTransform: "none",
34
+ fontWeight: theme.typography.fontWeightMedium,
35
+ color: "var(--mui-palette-text-secondary)",
36
+ transition: theme.transitions.create(["color", "background-color"], {
37
+ duration: theme.transitions.duration.shorter
38
+ }),
39
+ "&:hover": {
40
+ color: "var(--mui-palette-primary-emphasis)",
41
+ backgroundColor: "color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 92%)"
42
+ },
43
+ "&.Mui-selected": {
44
+ color: "var(--mui-palette-primary-emphasis)",
45
+ backgroundColor: "transparent"
46
+ },
47
+ "&.Mui-selected:hover": {
48
+ backgroundColor: "color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 94%)"
49
+ },
50
+ "&.Mui-disabled": {
51
+ color: "var(--mui-palette-text-disabled)"
52
+ }
53
+ })
54
+ }
55
+ };
56
+ var tabsTheme = {
57
+ styleOverrides: {
58
+ root: {
59
+ minHeight: 44
60
+ },
61
+ list: {
62
+ gap: 4
63
+ },
64
+ indicator: {
65
+ height: 3,
66
+ borderRadius: 999,
67
+ backgroundColor: "var(--mui-palette-primary-emphasis)"
68
+ },
69
+ scrollButtons: {
70
+ color: "var(--mui-palette-text-secondary)",
71
+ "&.Mui-disabled": {
72
+ opacity: 0.4
73
+ }
74
+ }
75
+ }
76
+ };
77
+
78
+ // src/components/elemental/Tab/src/TabPanel/TabPanel.tsx
79
+ import {
80
+ useCallback,
81
+ useEffect,
82
+ useLayoutEffect,
83
+ useMemo as useMemo2,
84
+ useRef,
85
+ useState
86
+ } from "react";
87
+
88
+ // src/components/elemental/Tab/src/TabPanel/useTabsOverflow.ts
89
+ import { useMemo } from "react";
90
+ function computeVisibleIndexes(itemWidths, moreWidth, availableWidth, selectedIndex, gapPx) {
91
+ const count = itemWidths.length;
92
+ if (count === 0) {
93
+ return { visibleIndexes: [], overflowIndexes: [] };
94
+ }
95
+ if (itemWidths.some((width) => width <= 0) || availableWidth <= 0) {
96
+ return {
97
+ visibleIndexes: itemWidths.map((_, index) => index),
98
+ overflowIndexes: []
99
+ };
100
+ }
101
+ const totalNeeded = itemWidths.reduce((sum, width) => sum + width, 0) + Math.max(0, count - 1) * gapPx;
102
+ if (totalNeeded <= availableWidth) {
103
+ return {
104
+ visibleIndexes: itemWidths.map((_, index) => index),
105
+ overflowIndexes: []
106
+ };
107
+ }
108
+ const reserveMore = moreWidth > 0 ? moreWidth + gapPx : 0;
109
+ const budget = Math.max(0, availableWidth - reserveMore);
110
+ const pickPrefix = (maxExclusive, limit) => {
111
+ const indexes = [];
112
+ let used = 0;
113
+ for (let i = 0; i < maxExclusive; i += 1) {
114
+ const width = itemWidths[i] ?? 0;
115
+ const nextUsed = used + width + (indexes.length > 0 ? gapPx : 0);
116
+ if (nextUsed <= limit) {
117
+ indexes.push(i);
118
+ used = nextUsed;
119
+ } else {
120
+ break;
121
+ }
122
+ }
123
+ return indexes;
124
+ };
125
+ let visibleIndexes;
126
+ if (selectedIndex < 0 || selectedIndex >= count) {
127
+ visibleIndexes = pickPrefix(count, budget);
128
+ } else {
129
+ const selectedWidth = itemWidths[selectedIndex] ?? 0;
130
+ const prefixBudget = Math.max(
131
+ 0,
132
+ budget - selectedWidth - (selectedWidth > 0 ? gapPx : 0)
133
+ );
134
+ const prefix = pickPrefix(selectedIndex, prefixBudget);
135
+ let used = prefix.reduce((sum, index, order) => {
136
+ return sum + (itemWidths[index] ?? 0) + (order > 0 ? gapPx : 0);
137
+ }, 0) + (prefix.length > 0 ? gapPx : 0) + selectedWidth;
138
+ const after = [];
139
+ for (let i = selectedIndex + 1; i < count; i += 1) {
140
+ const width = itemWidths[i] ?? 0;
141
+ const nextUsed = used + gapPx + width;
142
+ if (nextUsed <= budget) {
143
+ after.push(i);
144
+ used = nextUsed;
145
+ } else {
146
+ break;
147
+ }
148
+ }
149
+ visibleIndexes = [...prefix, selectedIndex, ...after];
150
+ }
151
+ if (visibleIndexes.length === 0 && selectedIndex >= 0 && selectedIndex < count) {
152
+ visibleIndexes = [selectedIndex];
153
+ }
154
+ const visibleSet = new Set(visibleIndexes);
155
+ const overflowIndexes = itemWidths.map((_, index) => index).filter((index) => !visibleSet.has(index));
156
+ return { visibleIndexes, overflowIndexes };
157
+ }
158
+ function useTabsOverflowSplit(itemWidths, moreWidth, availableWidth, selectedIndex, gapPx) {
159
+ return useMemo(
160
+ () => computeVisibleIndexes(
161
+ itemWidths,
162
+ moreWidth,
163
+ availableWidth,
164
+ selectedIndex,
165
+ gapPx
166
+ ),
167
+ [itemWidths, moreWidth, availableWidth, selectedIndex, gapPx]
168
+ );
169
+ }
170
+
171
+ // src/components/elemental/Tab/src/TabPanel/tabPanelVars.ts
172
+ var tabPanelRootSx = {
173
+ "--tabpanel-accent": "var(--mui-palette-primary-emphasis)",
174
+ "--tabpanel-track-bg": "color-mix(in lab, var(--tabpanel-accent), transparent 92%)",
175
+ "--tabpanel-tab-color": "var(--mui-palette-text-secondary)",
176
+ "--tabpanel-tab-color-active": "var(--tabpanel-accent)",
177
+ "--tabpanel-tab-color-disabled": "var(--mui-palette-text-disabled)",
178
+ "--tabpanel-badge-color": "var(--mui-palette-error-main)",
179
+ "--tabpanel-badge-bg": "color-mix(in lab, var(--mui-palette-error-main), transparent 86%)",
180
+ "--tabpanel-focus-bg": "color-mix(in lab, var(--mui-palette-background-paper), transparent 78%)",
181
+ "--tabpanel-focus-bg-dark": "color-mix(in lab, var(--mui-palette-background-paper), transparent 55%)",
182
+ "--tabpanel-focus-shadow": [
183
+ "inset 0 1px 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 15%)",
184
+ "inset 0 -1px 3px color-mix(in lab, var(--tabpanel-accent), transparent 80%)",
185
+ "inset 0 0 16px color-mix(in lab, var(--mui-palette-background-paper), transparent 50%)",
186
+ "0 0 0 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 45%)",
187
+ "0 0 20px color-mix(in lab, var(--tabpanel-accent), transparent 76%)",
188
+ "0 8px 22px color-mix(in lab, var(--tabpanel-accent), transparent 84%)"
189
+ ].join(", "),
190
+ "--tabpanel-focus-shadow-dark": [
191
+ "inset 0 1px 0 rgba(255, 255, 255, 0.06)",
192
+ "inset 0 0 0 1px color-mix(in lab, var(--tabpanel-accent), transparent 82%)",
193
+ "0 0 0 1px rgba(0, 0, 0, 0.35)",
194
+ "0 4px 12px rgba(0, 0, 0, 0.35)"
195
+ ].join(", "),
196
+ "--tabpanel-focus-radius": "10px",
197
+ "--tabpanel-track-radius": "12px",
198
+ "--tabpanel-track-pad": "3px",
199
+ "--tabpanel-item-gap": "1px",
200
+ "--tabpanel-indicator-ease": "cubic-bezier(0.32, 0.72, 0, 1)",
201
+ "--tabpanel-indicator-ms": "380ms"
202
+ };
203
+ function tabPanelStyleToCssVars(style) {
204
+ if (!style) {
205
+ return {};
206
+ }
207
+ const vars = {};
208
+ if (style.accent != null) vars["--tabpanel-accent"] = style.accent;
209
+ if (style.trackBg != null) vars["--tabpanel-track-bg"] = style.trackBg;
210
+ if (style.tabColor != null) vars["--tabpanel-tab-color"] = style.tabColor;
211
+ if (style.tabColorActive != null) {
212
+ vars["--tabpanel-tab-color-active"] = style.tabColorActive;
213
+ }
214
+ if (style.tabColorDisabled != null) {
215
+ vars["--tabpanel-tab-color-disabled"] = style.tabColorDisabled;
216
+ }
217
+ if (style.badgeColor != null) vars["--tabpanel-badge-color"] = style.badgeColor;
218
+ if (style.badgeBg != null) vars["--tabpanel-badge-bg"] = style.badgeBg;
219
+ if (style.focusBg != null) vars["--tabpanel-focus-bg"] = style.focusBg;
220
+ if (style.focusBgDark != null) {
221
+ vars["--tabpanel-focus-bg-dark"] = style.focusBgDark;
222
+ }
223
+ if (style.focusShadow != null) {
224
+ vars["--tabpanel-focus-shadow"] = style.focusShadow;
225
+ }
226
+ if (style.focusShadowDark != null) {
227
+ vars["--tabpanel-focus-shadow-dark"] = style.focusShadowDark;
228
+ }
229
+ if (style.focusRadius != null) {
230
+ vars["--tabpanel-focus-radius"] = style.focusRadius;
231
+ }
232
+ if (style.trackRadius != null) {
233
+ vars["--tabpanel-track-radius"] = style.trackRadius;
234
+ }
235
+ return vars;
236
+ }
237
+
238
+ // src/components/elemental/Tab/src/TabPanel/TabPanel.tsx
239
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
240
+ var TRACK_PAD = 3;
241
+ var ITEM_GAP = 1;
242
+ var DEFAULT_TRACK_RADIUS = 12;
243
+ var DEFAULT_FOCUS_RADIUS = 10;
244
+ var INDICATOR_EASE = "cubic-bezier(0.32, 0.72, 0, 1)";
245
+ var INDICATOR_MS = 380;
246
+ function toCssRadius(value) {
247
+ return typeof value === "number" ? `${value}px` : value;
248
+ }
249
+ function finishIndicatorAnimation(animation) {
250
+ try {
251
+ animation.commitStyles?.();
252
+ } catch {
253
+ }
254
+ animation.cancel();
255
+ }
256
+ function clearIndicatorAnimations(element) {
257
+ element.getAnimations().forEach((animation) => {
258
+ finishIndicatorAnimation(animation);
259
+ });
260
+ }
261
+ function resolveSelectedId(items, value, internal) {
262
+ const candidate = value ?? internal;
263
+ if (candidate && items.some((item) => item.id === candidate && !item.disabled)) {
264
+ return candidate;
265
+ }
266
+ return items.find((item) => !item.disabled)?.id;
267
+ }
268
+ function TabItemContent({
269
+ item,
270
+ showLabels,
271
+ active,
272
+ endAdornment
273
+ }) {
274
+ const showLabel = showLabels || !item.icon;
275
+ const badgeLabel = item.badge == null ? null : typeof item.badge === "number" && item.badge > 99 ? "99+" : String(item.badge);
276
+ return /* @__PURE__ */ jsxs(
277
+ default2,
278
+ {
279
+ sx: {
280
+ position: "relative",
281
+ display: "inline-flex",
282
+ alignItems: "center",
283
+ gap: 0.5,
284
+ px: showLabels ? 1.15 : 0.9,
285
+ py: 0.5,
286
+ minHeight: 28,
287
+ pr: endAdornment ? 0.75 : void 0
288
+ },
289
+ children: [
290
+ item.icon ? /* @__PURE__ */ jsx(
291
+ default2,
292
+ {
293
+ component: "span",
294
+ sx: {
295
+ display: "inline-flex",
296
+ color: "inherit",
297
+ lineHeight: 0,
298
+ opacity: active ? 1 : 0.88,
299
+ transition: "opacity var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)",
300
+ "& > *": { fontSize: 16 }
301
+ },
302
+ children: item.icon
303
+ }
304
+ ) : null,
305
+ showLabel ? /* @__PURE__ */ jsx(
306
+ default3,
307
+ {
308
+ component: "span",
309
+ sx: {
310
+ m: 0,
311
+ fontSize: "0.75rem",
312
+ letterSpacing: "0.01em",
313
+ fontWeight: active ? 600 : 500,
314
+ color: "inherit",
315
+ lineHeight: 1.15,
316
+ whiteSpace: "nowrap"
317
+ },
318
+ children: item.label
319
+ }
320
+ ) : /* @__PURE__ */ jsx(
321
+ default3,
322
+ {
323
+ component: "span",
324
+ sx: {
325
+ position: "absolute",
326
+ width: 1,
327
+ height: 1,
328
+ overflow: "hidden",
329
+ clip: "rect(0 0 0 0)"
330
+ },
331
+ children: item.label
332
+ }
333
+ ),
334
+ endAdornment,
335
+ badgeLabel != null ? /* @__PURE__ */ jsx(
336
+ default2,
337
+ {
338
+ component: "span",
339
+ "aria-label": `${item.badge} notifications`,
340
+ sx: {
341
+ position: "absolute",
342
+ top: 1,
343
+ right: endAdornment ? 10 : 1,
344
+ zIndex: 1,
345
+ pointerEvents: "none",
346
+ minWidth: 12,
347
+ height: 12,
348
+ px: 0.3,
349
+ display: "inline-flex",
350
+ alignItems: "center",
351
+ justifyContent: "center",
352
+ borderRadius: 999,
353
+ bgcolor: "var(--tabpanel-badge-bg)",
354
+ color: "var(--tabpanel-badge-color)",
355
+ fontSize: 8,
356
+ fontWeight: 700,
357
+ lineHeight: 1
358
+ },
359
+ children: badgeLabel
360
+ }
361
+ ) : null
362
+ ]
363
+ }
364
+ );
365
+ }
366
+ function MoreTriggerContent({
367
+ showLabels,
368
+ open
369
+ }) {
370
+ return /* @__PURE__ */ jsxs(
371
+ default2,
372
+ {
373
+ sx: {
374
+ position: "relative",
375
+ display: "inline-flex",
376
+ alignItems: "center",
377
+ gap: 0.35,
378
+ px: showLabels ? 1.15 : 0.9,
379
+ py: 0.5,
380
+ minHeight: 28
381
+ },
382
+ children: [
383
+ /* @__PURE__ */ jsx(default4, { sx: { fontSize: 16 } }),
384
+ showLabels ? /* @__PURE__ */ jsx(
385
+ default3,
386
+ {
387
+ component: "span",
388
+ sx: {
389
+ m: 0,
390
+ fontSize: "0.75rem",
391
+ fontWeight: 500,
392
+ color: "inherit",
393
+ lineHeight: 1.15,
394
+ whiteSpace: "nowrap"
395
+ },
396
+ children: "More"
397
+ }
398
+ ) : null,
399
+ /* @__PURE__ */ jsx(
400
+ default5,
401
+ {
402
+ sx: {
403
+ fontSize: 14,
404
+ opacity: 0.75,
405
+ transition: "transform 180ms ease",
406
+ transform: open ? "rotate(180deg)" : "none"
407
+ }
408
+ }
409
+ )
410
+ ]
411
+ }
412
+ );
413
+ }
414
+ function TabPanel({
415
+ items,
416
+ value,
417
+ defaultValue,
418
+ onChange,
419
+ showLabels = true,
420
+ focusRadius = DEFAULT_FOCUS_RADIUS,
421
+ trackRadius = DEFAULT_TRACK_RADIUS,
422
+ sx,
423
+ className,
424
+ slotProps
425
+ }) {
426
+ const isControlled = value !== void 0;
427
+ const [internalValue, setInternalValue] = useState(
428
+ () => defaultValue ?? items.find((item) => !item.disabled)?.id
429
+ );
430
+ const selectedId = resolveSelectedId(items, value, internalValue);
431
+ const select = useCallback(
432
+ (id) => {
433
+ const item = items.find((entry) => entry.id === id);
434
+ if (!item || item.disabled) {
435
+ return;
436
+ }
437
+ if (!isControlled) {
438
+ setInternalValue(id);
439
+ }
440
+ onChange?.(id);
441
+ },
442
+ [isControlled, items, onChange]
443
+ );
444
+ const rootRef = useRef(null);
445
+ const stripRef = useRef(null);
446
+ const measureRef = useRef(null);
447
+ const moreMeasureRef = useRef(null);
448
+ const indicatorRef = useRef(null);
449
+ const itemRefs = useRef(/* @__PURE__ */ new Map());
450
+ const indicatorRectRef = useRef({ top: 0, left: 0, width: 0, height: 0 });
451
+ const indicatorMountedRef = useRef(false);
452
+ const indicatorAnimatingRef = useRef(false);
453
+ const [availableWidth, setAvailableWidth] = useState(0);
454
+ const [itemWidths, setItemWidths] = useState([]);
455
+ const [moreWidth, setMoreWidth] = useState(0);
456
+ const selectedIndex = useMemo2(
457
+ () => items.findIndex((item) => item.id === selectedId),
458
+ [items, selectedId]
459
+ );
460
+ const { visibleIndexes, overflowIndexes } = useTabsOverflowSplit(
461
+ itemWidths,
462
+ moreWidth,
463
+ availableWidth,
464
+ selectedIndex,
465
+ ITEM_GAP
466
+ );
467
+ const visibleItems = useMemo2(
468
+ () => visibleIndexes.map((index) => items[index]).filter(Boolean),
469
+ [visibleIndexes, items]
470
+ );
471
+ const overflowItems = useMemo2(
472
+ () => overflowIndexes.map((index) => items[index]).filter(Boolean),
473
+ [overflowIndexes, items]
474
+ );
475
+ const hasOverflow = overflowItems.length > 0;
476
+ const rootCssVars = useMemo2(
477
+ () => ({
478
+ ...tabPanelStyleToCssVars(slotProps?.root?.style),
479
+ "--tabpanel-focus-radius": toCssRadius(focusRadius),
480
+ "--tabpanel-track-radius": toCssRadius(trackRadius),
481
+ // Prop radii win unless style explicitly set them.
482
+ ...slotProps?.root?.style?.focusRadius != null ? { "--tabpanel-focus-radius": slotProps.root.style.focusRadius } : null,
483
+ ...slotProps?.root?.style?.trackRadius != null ? { "--tabpanel-track-radius": slotProps.root.style.trackRadius } : null
484
+ }),
485
+ [focusRadius, trackRadius, slotProps?.root?.style]
486
+ );
487
+ useLayoutEffect(() => {
488
+ const root = rootRef.current;
489
+ const measure = measureRef.current;
490
+ const moreMeasure = moreMeasureRef.current;
491
+ if (!root || !measure || !moreMeasure) {
492
+ return;
493
+ }
494
+ const update = () => {
495
+ setAvailableWidth(Math.max(0, root.clientWidth - TRACK_PAD * 2));
496
+ const widths = Array.from(
497
+ measure.querySelectorAll("[data-tab-measure]")
498
+ ).map((node) => node.getBoundingClientRect().width);
499
+ setItemWidths((prev) => {
500
+ if (prev.length === widths.length && prev.every((width, index) => Math.abs(width - (widths[index] ?? 0)) < 0.5)) {
501
+ return prev;
502
+ }
503
+ return widths;
504
+ });
505
+ const nextMore = Math.max(
506
+ moreMeasure.scrollWidth,
507
+ moreMeasure.getBoundingClientRect().width
508
+ );
509
+ setMoreWidth((prev) => Math.abs(prev - nextMore) < 0.5 ? prev : nextMore);
510
+ };
511
+ update();
512
+ const observer = new ResizeObserver(update);
513
+ observer.observe(root);
514
+ observer.observe(measure);
515
+ observer.observe(moreMeasure);
516
+ return () => observer.disconnect();
517
+ }, [items, showLabels]);
518
+ useLayoutEffect(() => {
519
+ const strip = stripRef.current;
520
+ const indicator = indicatorRef.current;
521
+ if (!strip || !indicator || !selectedId) {
522
+ return;
523
+ }
524
+ const slideToActive = () => {
525
+ const activeEl = itemRefs.current.get(selectedId);
526
+ if (!activeEl) {
527
+ return;
528
+ }
529
+ const stripBox = strip.getBoundingClientRect();
530
+ const itemBox = activeEl.getBoundingClientRect();
531
+ const next = {
532
+ top: itemBox.top - stripBox.top,
533
+ left: itemBox.left - stripBox.left,
534
+ width: itemBox.width,
535
+ height: itemBox.height
536
+ };
537
+ const applyRect = (rect) => {
538
+ indicator.style.transform = `translate3d(${rect.left}px, ${rect.top}px, 0)`;
539
+ indicator.style.width = `${rect.width}px`;
540
+ indicator.style.height = `${rect.height}px`;
541
+ };
542
+ if (!indicatorMountedRef.current || indicatorRectRef.current.width <= 0) {
543
+ clearIndicatorAnimations(indicator);
544
+ indicator.style.transition = "none";
545
+ applyRect(next);
546
+ indicator.style.opacity = "1";
547
+ indicatorRectRef.current = next;
548
+ indicatorMountedRef.current = true;
549
+ return;
550
+ }
551
+ clearIndicatorAnimations(indicator);
552
+ const liveBox = indicator.getBoundingClientRect();
553
+ const prev = {
554
+ top: liveBox.top - stripBox.top,
555
+ left: liveBox.left - stripBox.left,
556
+ width: liveBox.width,
557
+ height: liveBox.height
558
+ };
559
+ 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;
560
+ if (same) {
561
+ applyRect(next);
562
+ indicatorRectRef.current = next;
563
+ return;
564
+ }
565
+ const bridgeLeft = Math.min(prev.left, next.left);
566
+ const bridgeRight = Math.max(prev.left + prev.width, next.left + next.width);
567
+ const bridge = {
568
+ left: bridgeLeft,
569
+ top: next.top,
570
+ width: Math.max(bridgeRight - bridgeLeft, next.width),
571
+ height: next.height
572
+ };
573
+ indicator.style.transition = "none";
574
+ applyRect(prev);
575
+ indicator.style.opacity = "1";
576
+ indicatorAnimatingRef.current = true;
577
+ const animation = indicator.animate(
578
+ [
579
+ {
580
+ transform: `translate3d(${prev.left}px, ${prev.top}px, 0)`,
581
+ width: `${prev.width}px`,
582
+ height: `${prev.height}px`
583
+ },
584
+ {
585
+ transform: `translate3d(${bridge.left}px, ${bridge.top}px, 0)`,
586
+ width: `${bridge.width}px`,
587
+ height: `${bridge.height}px`,
588
+ offset: 0.4
589
+ },
590
+ {
591
+ transform: `translate3d(${next.left}px, ${next.top}px, 0)`,
592
+ width: `${next.width}px`,
593
+ height: `${next.height}px`
594
+ }
595
+ ],
596
+ {
597
+ duration: INDICATOR_MS,
598
+ easing: INDICATOR_EASE,
599
+ fill: "forwards"
600
+ }
601
+ );
602
+ animation.onfinish = () => {
603
+ finishIndicatorAnimation(animation);
604
+ applyRect(next);
605
+ indicatorRectRef.current = next;
606
+ indicatorAnimatingRef.current = false;
607
+ };
608
+ animation.oncancel = () => {
609
+ indicatorAnimatingRef.current = false;
610
+ };
611
+ indicatorRectRef.current = next;
612
+ };
613
+ slideToActive();
614
+ const observer = new ResizeObserver(() => {
615
+ if (indicatorAnimatingRef.current) {
616
+ return;
617
+ }
618
+ const activeEl = itemRefs.current.get(selectedId);
619
+ const ind = indicatorRef.current;
620
+ if (!activeEl || !ind || !stripRef.current) {
621
+ return;
622
+ }
623
+ const stripBox = stripRef.current.getBoundingClientRect();
624
+ const itemBox = activeEl.getBoundingClientRect();
625
+ const next = {
626
+ top: itemBox.top - stripBox.top,
627
+ left: itemBox.left - stripBox.left,
628
+ width: itemBox.width,
629
+ height: itemBox.height
630
+ };
631
+ clearIndicatorAnimations(ind);
632
+ ind.style.transition = "none";
633
+ ind.style.transform = `translate3d(${next.left}px, ${next.top}px, 0)`;
634
+ ind.style.width = `${next.width}px`;
635
+ ind.style.height = `${next.height}px`;
636
+ ind.style.opacity = "1";
637
+ indicatorRectRef.current = next;
638
+ indicatorMountedRef.current = true;
639
+ });
640
+ observer.observe(strip);
641
+ return () => observer.disconnect();
642
+ }, [visibleIndexes, overflowIndexes, selectedId, items, showLabels, focusRadius]);
643
+ useEffect(() => {
644
+ if (isControlled) {
645
+ return;
646
+ }
647
+ const next = resolveSelectedId(items, void 0, internalValue);
648
+ if (next && next !== internalValue) {
649
+ setInternalValue(next);
650
+ }
651
+ }, [items, isControlled, internalValue]);
652
+ const menu = useMenu({
653
+ onItemClickClientArg: ({ closeHandler }) => {
654
+ closeHandler?.();
655
+ }
656
+ });
657
+ const menuOptions = useMemo2(
658
+ () => overflowItems.map((item) => ({
659
+ id: item.id,
660
+ label: item.label,
661
+ icon: item.icon ? item.icon : void 0,
662
+ onClick: () => {
663
+ if (!item.disabled) {
664
+ select(item.id);
665
+ }
666
+ }
667
+ })),
668
+ [overflowItems, select]
669
+ );
670
+ const selectedItem = items.find((item) => item.id === selectedId);
671
+ const stripSx = {
672
+ position: "relative",
673
+ display: "inline-flex",
674
+ alignItems: "center",
675
+ justifyContent: "flex-start",
676
+ flexWrap: "nowrap",
677
+ alignSelf: "flex-start",
678
+ maxWidth: "100%",
679
+ gap: "var(--tabpanel-item-gap)",
680
+ p: "var(--tabpanel-track-pad)",
681
+ borderRadius: "var(--tabpanel-track-radius)",
682
+ border: "none",
683
+ bgcolor: "var(--tabpanel-track-bg)"
684
+ };
685
+ const tabButtonSx = {
686
+ position: "relative",
687
+ zIndex: 1,
688
+ appearance: "none",
689
+ border: "none",
690
+ background: "transparent",
691
+ p: 0,
692
+ m: 0,
693
+ borderRadius: "var(--tabpanel-focus-radius)",
694
+ color: "var(--tabpanel-tab-color)",
695
+ transition: "color var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)",
696
+ flexShrink: 0,
697
+ "&:hover": {
698
+ color: "var(--tabpanel-tab-color-active)"
699
+ },
700
+ "&:focus-visible": {
701
+ outline: "2px solid var(--tabpanel-accent)",
702
+ outlineOffset: 3
703
+ },
704
+ '&[aria-selected="true"]': {
705
+ color: "var(--tabpanel-tab-color-active)",
706
+ "&:hover": {
707
+ color: "var(--tabpanel-tab-color-active)"
708
+ }
709
+ }
710
+ };
711
+ const setItemRef = (id) => (node) => {
712
+ if (node) {
713
+ itemRefs.current.set(id, node);
714
+ } else {
715
+ itemRefs.current.delete(id);
716
+ }
717
+ };
718
+ return /* @__PURE__ */ jsxs(
719
+ default2,
720
+ {
721
+ ref: rootRef,
722
+ className,
723
+ sx: mergeSx(
724
+ {
725
+ ...tabPanelRootSx,
726
+ ...rootCssVars,
727
+ width: "100%",
728
+ minWidth: 0,
729
+ maxWidth: "100%",
730
+ overflow: "hidden",
731
+ display: "flex",
732
+ flexDirection: "column",
733
+ alignItems: "stretch",
734
+ gap: 1.5
735
+ },
736
+ slotProps?.root?.sx,
737
+ sx
738
+ ),
739
+ children: [
740
+ /* @__PURE__ */ jsx(
741
+ default2,
742
+ {
743
+ ref: measureRef,
744
+ "aria-hidden": true,
745
+ sx: {
746
+ position: "fixed",
747
+ left: -99999,
748
+ top: 0,
749
+ visibility: "hidden",
750
+ pointerEvents: "none",
751
+ display: "inline-flex",
752
+ alignItems: "center",
753
+ flexWrap: "nowrap",
754
+ gap: "var(--tabpanel-item-gap)",
755
+ width: "max-content",
756
+ maxWidth: "none"
757
+ },
758
+ children: items.map((item) => /* @__PURE__ */ jsx(
759
+ default2,
760
+ {
761
+ "data-tab-measure": true,
762
+ sx: { display: "inline-flex", flexShrink: 0 },
763
+ children: /* @__PURE__ */ jsx(TabItemContent, { item, showLabels, active: false })
764
+ },
765
+ `measure-${item.id}`
766
+ ))
767
+ }
768
+ ),
769
+ /* @__PURE__ */ jsx(
770
+ default2,
771
+ {
772
+ ref: moreMeasureRef,
773
+ "aria-hidden": true,
774
+ sx: {
775
+ position: "fixed",
776
+ left: -99999,
777
+ top: 0,
778
+ visibility: "hidden",
779
+ pointerEvents: "none",
780
+ display: "inline-flex",
781
+ width: "max-content"
782
+ },
783
+ children: /* @__PURE__ */ jsx(MoreTriggerContent, { showLabels, open: false })
784
+ }
785
+ ),
786
+ /* @__PURE__ */ jsxs(
787
+ default2,
788
+ {
789
+ ref: stripRef,
790
+ role: "tablist",
791
+ sx: mergeSx(
792
+ stripSx,
793
+ hasOverflow ? slotProps?.menu?.sx ?? slotProps?.strip?.sx : slotProps?.strip?.sx
794
+ ),
795
+ children: [
796
+ /* @__PURE__ */ jsx(
797
+ default2,
798
+ {
799
+ ref: indicatorRef,
800
+ "aria-hidden": true,
801
+ sx: mergeSx(
802
+ {
803
+ position: "absolute",
804
+ top: 0,
805
+ left: 0,
806
+ width: 0,
807
+ height: 0,
808
+ borderRadius: "var(--tabpanel-focus-radius)",
809
+ border: "none",
810
+ bgcolor: "var(--tabpanel-focus-bg)",
811
+ backdropFilter: "blur(12px) saturate(1.2)",
812
+ WebkitBackdropFilter: "blur(12px) saturate(1.2)",
813
+ boxShadow: "var(--tabpanel-focus-shadow)",
814
+ opacity: 0,
815
+ pointerEvents: "none",
816
+ zIndex: 0,
817
+ // Geometry (transform / width / height) is JS + WAAPI only —
818
+ // never set transform here or Emotion fights fill: 'forwards'.
819
+ willChange: "transform, width, height",
820
+ "[color-scheme=dark] &": {
821
+ bgcolor: "var(--tabpanel-focus-bg-dark)",
822
+ backdropFilter: "blur(8px) saturate(1.05)",
823
+ WebkitBackdropFilter: "blur(8px) saturate(1.05)",
824
+ boxShadow: "var(--tabpanel-focus-shadow-dark)"
825
+ }
826
+ },
827
+ slotProps?.indicator?.sx
828
+ )
829
+ }
830
+ ),
831
+ visibleItems.map((item) => {
832
+ const active = item.id === selectedId;
833
+ return /* @__PURE__ */ jsx(
834
+ default2,
835
+ {
836
+ component: "button",
837
+ type: "button",
838
+ role: "tab",
839
+ "aria-selected": active,
840
+ disabled: item.disabled,
841
+ ref: setItemRef(item.id),
842
+ onClick: () => select(item.id),
843
+ sx: mergeSx(
844
+ {
845
+ ...tabButtonSx,
846
+ cursor: item.disabled ? "not-allowed" : "pointer",
847
+ opacity: item.disabled ? 0.4 : 1,
848
+ ...item.disabled ? {
849
+ color: "var(--tabpanel-tab-color-disabled)",
850
+ "&:hover": {
851
+ color: "var(--tabpanel-tab-color-disabled)"
852
+ }
853
+ } : null
854
+ },
855
+ slotProps?.tab?.sx
856
+ ),
857
+ children: /* @__PURE__ */ jsx(
858
+ TabItemContent,
859
+ {
860
+ item,
861
+ showLabels,
862
+ active
863
+ }
864
+ )
865
+ },
866
+ item.id
867
+ );
868
+ }),
869
+ hasOverflow ? /* @__PURE__ */ jsxs(Fragment, { children: [
870
+ /* @__PURE__ */ jsx(
871
+ default2,
872
+ {
873
+ component: "button",
874
+ type: "button",
875
+ "aria-haspopup": "menu",
876
+ "aria-expanded": Boolean(menu.anchorEl),
877
+ "aria-label": `More tabs, ${overflowItems.length} hidden`,
878
+ onClick: menu.onTriggerClickHandler,
879
+ sx: mergeSx(
880
+ {
881
+ ...tabButtonSx,
882
+ cursor: "pointer"
883
+ },
884
+ slotProps?.tab?.sx
885
+ ),
886
+ children: /* @__PURE__ */ jsx(
887
+ MoreTriggerContent,
888
+ {
889
+ showLabels,
890
+ open: Boolean(menu.anchorEl)
891
+ }
892
+ )
893
+ }
894
+ ),
895
+ /* @__PURE__ */ jsx(
896
+ MenuPopper,
897
+ {
898
+ placement: "bottom-end",
899
+ options: menuOptions,
900
+ openMenuProps: {
901
+ ...menu,
902
+ initSelected: selectedId ? [selectedId] : []
903
+ }
904
+ }
905
+ )
906
+ ] }) : null
907
+ ]
908
+ }
909
+ ),
910
+ selectedItem?.content != null ? /* @__PURE__ */ jsx(
911
+ default2,
912
+ {
913
+ role: "tabpanel",
914
+ sx: mergeSx({ minWidth: 0 }, slotProps?.panel?.sx),
915
+ children: selectedItem.content
916
+ }
917
+ ) : null
918
+ ]
919
+ }
920
+ );
921
+ }
922
+
923
+ export {
924
+ tabTheme,
925
+ tabsTheme,
926
+ default6 as default,
927
+ default7 as default2,
928
+ tabPanelRootSx,
929
+ tabPanelStyleToCssVars,
930
+ TabPanel
931
+ };
932
+ //# sourceMappingURL=chunk-IN3O4R7Q.mjs.map