@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/avatar.js ADDED
@@ -0,0 +1,992 @@
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/Avatar/index.ts
31
+ var Avatar_exports = {};
32
+ __export(Avatar_exports, {
33
+ AVATARBUTTON_STANDARD_DIMENSIONs: () => AVATARBUTTON_STANDARD_DIMENSIONs,
34
+ AVATAR_SIZEs: () => AVATAR_SIZEs,
35
+ AVATAR_SX: () => AVATAR_SX,
36
+ Avatar: () => Avatar,
37
+ AvatarButton: () => AvatarButton,
38
+ NameSkel: () => NameSkel,
39
+ StatusAvatar: () => StatusAvatar_exports,
40
+ avatarButtonRootSx: () => avatarButtonRootSx,
41
+ avatarTheme: () => avatarTheme
42
+ });
43
+ module.exports = __toCommonJS(Avatar_exports);
44
+
45
+ // src/components/elemental/Avatar/src/Avatar/Avatar.tsx
46
+ var import_Avatar = __toESM(require("@mui/material/Avatar"));
47
+
48
+ // src/_utils/_const/classNames.ts
49
+ var CLASSNAMEs = {
50
+ elemental: {
51
+ avatar: {
52
+ // root wrapper for the Avatar component
53
+ root: "Elemental-Avatar",
54
+ // button variant used by AvatarButton and related controls
55
+ button: "Elemental-AvatarButton"
56
+ },
57
+ modal: "Elemental-Modal"
58
+ },
59
+ compound: {
60
+ useForm: {
61
+ // class applied to the wrapper around the avatar field inside UseForm
62
+ avatarField: "UseForm-AvatarField"
63
+ }
64
+ }
65
+ };
66
+
67
+ // src/_utils/_func/sx.ts
68
+ function flattenSx(part) {
69
+ if (part == null || typeof part === "boolean") {
70
+ return [];
71
+ }
72
+ if (Array.isArray(part)) {
73
+ return part.flatMap(flattenSx);
74
+ }
75
+ if (typeof part === "function" || typeof part === "object") {
76
+ return [part];
77
+ }
78
+ return [];
79
+ }
80
+ function mergeSx(...parts) {
81
+ const list = parts.flatMap(flattenSx);
82
+ if (list.length === 0) {
83
+ return void 0;
84
+ }
85
+ if (list.length === 1) {
86
+ return list[0];
87
+ }
88
+ return list;
89
+ }
90
+
91
+ // src/components/elemental/Box/src/index.ts
92
+ var import_Box = __toESM(require("@mui/material/Box"));
93
+ var import_Stack = __toESM(require("@mui/material/Stack"));
94
+ var import_Grid = __toESM(require("@mui/material/Grid"));
95
+
96
+ // src/components/elemental/Skeleton/MuiSkeleton/index.ts
97
+ var import_Skeleton = __toESM(require("@mui/material/Skeleton"));
98
+
99
+ // src/components/elemental/Typography/src/Variants.tsx
100
+ var import_Typography = __toESM(require("@mui/material/Typography"));
101
+ var import_jsx_runtime = require("react/jsx-runtime");
102
+ function Subscript(props) {
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
+ import_Typography.default,
105
+ {
106
+ variant: "caption",
107
+ ...props,
108
+ sx: {
109
+ ...props.sx,
110
+ color: props.color ?? "var(--mui-palette-text-subscript)"
111
+ }
112
+ }
113
+ );
114
+ }
115
+
116
+ // src/components/elemental/Avatar/src/_utils/_const.ts
117
+ var AVATARBUTTON_STANDARD_DIMENSIONs = {
118
+ xs: "36px",
119
+ sm: "100px",
120
+ md: "120px",
121
+ lg: "200px",
122
+ xl: "240px"
123
+ };
124
+ var AVATAR_SIZEs = {
125
+ xs: "20px",
126
+ sm: "24px",
127
+ md: "40px",
128
+ lg: "56px",
129
+ xl: "80px"
130
+ };
131
+ var AVATAR_SX = {
132
+ column: {
133
+ stackSX: {
134
+ xs: { gap: 0.5 },
135
+ sm: { gap: 0.5 },
136
+ md: { gap: 0.75 },
137
+ lg: { gap: 1 },
138
+ xl: { gap: 1 }
139
+ },
140
+ fontSize: "0.6rem"
141
+ },
142
+ row: {
143
+ stackSX: {
144
+ xs: { gap: 0.75 },
145
+ sm: { gap: 0.75 },
146
+ md: { gap: 1 },
147
+ lg: { gap: 1.5 },
148
+ xl: { gap: 2 }
149
+ },
150
+ fontSize: "0.8rem"
151
+ }
152
+ };
153
+
154
+ // src/components/elemental/Avatar/src/Avatar/Avatar.tsx
155
+ var import_jsx_runtime2 = require("react/jsx-runtime");
156
+ function Avatar(props) {
157
+ const {
158
+ name,
159
+ src,
160
+ size = "md",
161
+ // sm, md, lg
162
+ fontSize,
163
+ displayName = true,
164
+ direction = "column",
165
+ dim = {},
166
+ backgroundIcon,
167
+ ...rest
168
+ } = props;
169
+ const h = dim.height || AVATAR_SIZEs[size];
170
+ const w = dim.width || AVATAR_SIZEs[size];
171
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
172
+ import_Stack.default,
173
+ {
174
+ className: CLASSNAMEs.elemental.avatar.root,
175
+ style: {
176
+ "--AVATAR_SX": direction,
177
+ "--gap": AVATAR_SX[direction]?.stackSX[size]?.gap
178
+ },
179
+ sx: () => ({
180
+ direction: "var(--AVATAR_SX)",
181
+ gap: `calc(var(--gap) * 8px)`,
182
+ justifyContent: "center",
183
+ overflow: "hidden"
184
+ }),
185
+ alignItems: "center",
186
+ direction,
187
+ children: [
188
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
189
+ AvatarSkel,
190
+ {
191
+ name,
192
+ src,
193
+ h,
194
+ w,
195
+ backgroundIcon,
196
+ ...rest
197
+ }
198
+ ),
199
+ name && displayName && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NameSkel, { name, direction, fontSize })
200
+ ]
201
+ }
202
+ );
203
+ }
204
+ function AvatarSkel(props) {
205
+ const { name, src, h, w, backgroundIcon, ...rest } = props;
206
+ if (!name && !src) return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_Skeleton.default, { variant: "circular", width: w, height: h });
207
+ if (backgroundIcon) return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_Stack.default, { sx: {
208
+ position: "relative",
209
+ width: w,
210
+ height: h,
211
+ alignItems: "center",
212
+ justifyContent: "center",
213
+ "&>svg": {
214
+ height: w,
215
+ width: h,
216
+ padding: "0.25em",
217
+ borderRadius: "50%"
218
+ }
219
+ }, children: backgroundIcon });
220
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NameAvatar, { name, src, h, w, ...rest });
221
+ }
222
+ function NameSkel(props) {
223
+ const { name, direction, fontSize } = props;
224
+ if (!name) return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_Skeleton.default, { variant: "text", width: 40, height: 20 });
225
+ const fs = typeof fontSize === "number" ? `${fontSize}px` : fontSize;
226
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
227
+ Subscript,
228
+ {
229
+ fontSize: fs || AVATAR_SX[direction]?.fontSize,
230
+ lineHeight: "1.2",
231
+ style: {
232
+ "--fs-n": fontSize || AVATAR_SX[direction]?.fontSize,
233
+ "--lh-n": "1.2"
234
+ },
235
+ sx: {
236
+ "&.MuiTypography-root": {
237
+ whiteSpace: "nowrap",
238
+ fontSize: "var(--fs-n)",
239
+ lineHeight: "var(--lh-n)",
240
+ WebkitLineClamp: "3",
241
+ WebkitBoxOrient: "vertical",
242
+ maxWidth: "-webkit-fill-available",
243
+ lineBreak: "anywhere"
244
+ }
245
+ },
246
+ children: name
247
+ }
248
+ );
249
+ }
250
+ function NameAvatar(props) {
251
+ const { name, src, h, w, ...rest } = props;
252
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
253
+ import_Avatar.default,
254
+ {
255
+ ...stringAvatar(name, src),
256
+ ...rest,
257
+ style: {
258
+ "--w": typeof w === "number" ? `${w}px` : w,
259
+ "--h": typeof h === "number" ? `${h}px` : h,
260
+ "--fs": "calc(var(--w) / 2)"
261
+ // half of the height, so it will be fit in the circle
262
+ },
263
+ sx: {
264
+ "&.MuiAvatar-root": {
265
+ fontSize: "var(--fs)",
266
+ color: "var(--avatar-color)",
267
+ backgroundColor: "transparent",
268
+ width: "var(--w)",
269
+ height: "var(--h)"
270
+ }
271
+ }
272
+ }
273
+ );
274
+ }
275
+ function stringAvatar(name, src) {
276
+ if (src) return { src };
277
+ if (!name) return { children: "" };
278
+ const splitName = name.split(" ");
279
+ const first = splitName[0] || "";
280
+ const second = splitName[1] || "";
281
+ const str = `${first[0] || ""}${second[0] || ""}`;
282
+ return {
283
+ children: str
284
+ };
285
+ }
286
+
287
+ // src/components/elemental/Button/src/IconButton/IconButton.tsx
288
+ var import_react = require("react");
289
+ var import_IconButton = __toESM(require("@mui/material/IconButton"));
290
+
291
+ // src/components/elemental/Tooltip/src/Tooltip/index.ts
292
+ var import_Tooltip = __toESM(require("@mui/material/Tooltip"));
293
+
294
+ // src/components/elemental/Button/src/IconButton/IconButton.tsx
295
+ var import_jsx_runtime3 = require("react/jsx-runtime");
296
+ var IconButton = (0, import_react.forwardRef)(({
297
+ title = "",
298
+ children,
299
+ color,
300
+ size,
301
+ slotProps,
302
+ selected,
303
+ className,
304
+ ...props
305
+ }, ref) => {
306
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
307
+ import_Tooltip.default,
308
+ {
309
+ title,
310
+ slotProps: {
311
+ popper: {
312
+ sx: {
313
+ textTransform: "capitalize"
314
+ }
315
+ },
316
+ ...slotProps?.tooltip
317
+ },
318
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_Box.default, { component: "span", sx: { width: "fit-content" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
319
+ import_IconButton.default,
320
+ {
321
+ ref,
322
+ color,
323
+ size,
324
+ className: [className, selected ? "Mui-selected" : ""].filter(Boolean).join(" "),
325
+ ...props,
326
+ children
327
+ }
328
+ ) })
329
+ }
330
+ );
331
+ });
332
+ var IconButton_default = IconButton;
333
+
334
+ // src/components/elemental/Avatar/src/Avatar/themes.ts
335
+ var avatarTheme = {
336
+ styleOverrides: {
337
+ root: {
338
+ "--avatar-bg": "var(--mui-palette-action-selected)",
339
+ "--avatar-color": "var(--mui-palette-text-primary)",
340
+ backgroundColor: "var(--avatar-bg)",
341
+ color: "var(--avatar-color)"
342
+ }
343
+ }
344
+ };
345
+ var avatarButtonRootSx = {
346
+ "--avatar-button-text": "var(--mui-palette-text-primary)",
347
+ "--avatar-hover-icon-color": "var(--mui-palette-text-subscript)"
348
+ };
349
+
350
+ // src/components/elemental/Avatar/src/Avatar/AvatarButton.tsx
351
+ var import_jsx_runtime4 = require("react/jsx-runtime");
352
+ var pos = {
353
+ top: { dir: "column-reverse", gap: 0.5, direction: "column" },
354
+ bottom: { dir: "column", gap: 0.5, direction: "column" },
355
+ left: { dir: "row-reverse", gap: 1, direction: "row" },
356
+ right: { dir: "row", gap: 1, direction: "row" }
357
+ };
358
+ function AvatarButton(props) {
359
+ const {
360
+ onClick,
361
+ size = "md",
362
+ disabled = false,
363
+ dim,
364
+ backgroundUrl = "transparent",
365
+ icon = null,
366
+ fontSize,
367
+ name = "",
368
+ src = "",
369
+ showName = false,
370
+ namePosition = "bottom",
371
+ // namePosition: top, bottom, left, right
372
+ backgroundIcon,
373
+ hasBorder = true,
374
+ "aria-label": ariaLabel
375
+ } = props;
376
+ const _dim = {
377
+ w: dim?.width ?? AVATARBUTTON_STANDARD_DIMENSIONs[size],
378
+ h: dim?.height ?? AVATARBUTTON_STANDARD_DIMENSIONs[size]
379
+ };
380
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
381
+ import_Box.default,
382
+ {
383
+ className: CLASSNAMEs.elemental.avatar.button,
384
+ sx: mergeSx(avatarButtonRootSx, {
385
+ display: "flex",
386
+ flexDirection: pos[namePosition]?.dir,
387
+ alignItems: "center",
388
+ gap: pos[namePosition]?.gap
389
+ }),
390
+ children: [
391
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
392
+ IconButton_default,
393
+ {
394
+ onClick,
395
+ disabled,
396
+ disableRipple: true,
397
+ "aria-label": ariaLabel,
398
+ style: {
399
+ "--bg": backgroundUrl,
400
+ "--bg-size": _dim.w,
401
+ "--size": _dim.w,
402
+ "--shadow": hasBorder ? "var(--mui-palette-shadow-border-1)" : "none"
403
+ },
404
+ sx: {
405
+ "&.MuiButtonBase-root": {
406
+ border: "none",
407
+ position: "relative",
408
+ color: "var(--avatar-button-text)",
409
+ background: "var(--bg)",
410
+ backgroundSize: "var(--bg-size)",
411
+ width: "var(--size)",
412
+ height: "var(--size)",
413
+ // allow overlay banner to fit the button
414
+ padding: 0,
415
+ // shadow
416
+ boxShadow: "var(--shadow)",
417
+ borderRadius: "50%",
418
+ // hover effect
419
+ "&:hover, &.Mui-focusVisible": {
420
+ zIndex: 1,
421
+ "& .MuiImageBackdrop-root": {
422
+ opacity: 0.5
423
+ },
424
+ "& .MuiImageMarked-root": {
425
+ opacity: 0
426
+ },
427
+ "& .MuiTypography-root": {
428
+ border: "4px solid currentColor"
429
+ }
430
+ }
431
+ }
432
+ },
433
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_Box.default, { sx: {
434
+ width: "100%",
435
+ position: "absolute",
436
+ top: 0,
437
+ left: 0,
438
+ right: 0,
439
+ bottom: 0,
440
+ zIndex: 1,
441
+ "&>.MuiStack-root": {
442
+ width: "100%",
443
+ height: "100%",
444
+ maxWidth: "100%",
445
+ maxHeight: "100%"
446
+ }
447
+ }, children: [
448
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ImageBackdrop, {}),
449
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(HoverIcon, { icon }),
450
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
451
+ Avatar,
452
+ {
453
+ name,
454
+ src,
455
+ backgroundIcon,
456
+ displayName: false,
457
+ dim: {
458
+ width: _dim.w,
459
+ height: _dim.h
460
+ }
461
+ }
462
+ )
463
+ ] })
464
+ }
465
+ ),
466
+ showName && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(NameSkel, { name, direction: pos[namePosition].direction, fontSize })
467
+ ]
468
+ }
469
+ );
470
+ }
471
+ function HoverIcon({ icon }) {
472
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
473
+ import_Box.default,
474
+ {
475
+ className: "HoverIcon-root",
476
+ sx: {
477
+ position: "absolute",
478
+ top: 0,
479
+ left: 0,
480
+ right: 0,
481
+ bottom: 0,
482
+ zIndex: 2,
483
+ "&>*": { display: "none" },
484
+ "&:hover>*": { display: "flex" },
485
+ borderRadius: "50%"
486
+ },
487
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_Box.default, { sx: {
488
+ width: "100%",
489
+ height: "100%",
490
+ display: "none",
491
+ justifyContent: "center",
492
+ alignItems: "center",
493
+ color: "var(--avatar-hover-icon-color)"
494
+ }, children: icon })
495
+ }
496
+ );
497
+ }
498
+ function ImageBackdrop() {
499
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
500
+ import_Box.default,
501
+ {
502
+ component: "span",
503
+ className: "MuiImageBackdrop-root",
504
+ sx: {
505
+ zIndex: 2,
506
+ position: "absolute",
507
+ left: 0,
508
+ right: 0,
509
+ top: 0,
510
+ bottom: 0,
511
+ backgroundColor: "#000",
512
+ // photo overlay — CSS variable tokens cannot reliably target this layer
513
+ opacity: 0,
514
+ transition: "opacity 0.3s",
515
+ borderRadius: "50%"
516
+ }
517
+ }
518
+ );
519
+ }
520
+
521
+ // src/components/elemental/Avatar/src/StatusAvatar/StatusAvatar.tsx
522
+ var StatusAvatar_exports = {};
523
+ __export(StatusAvatar_exports, {
524
+ Renderer: () => Renderer,
525
+ status: () => status
526
+ });
527
+ var import_styles3 = require("@mui/material/styles");
528
+
529
+ // src/components/elemental/Badge/src/Badge/Badge.tsx
530
+ var import_Badge = __toESM(require("@mui/material/Badge"));
531
+ var import_jsx_runtime5 = require("react/jsx-runtime");
532
+ function Badge(p) {
533
+ const { style_variant, variant, className, ...rest } = p;
534
+ const badge_var_class = style_variant === "outlined" ? "badge-outlined" : style_variant === "filled" ? "badge-filled" : "badge-outlined";
535
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_Badge.default, { ...rest, variant, className: badge_var_class + (className ? ` ${className}` : "") });
536
+ }
537
+
538
+ // src/components/elemental/Menu/src/Menu/Menu.tsx
539
+ var import_react2 = require("react");
540
+ var import_MenuList = __toESM(require("@mui/material/MenuList"));
541
+ var import_ListItemText = __toESM(require("@mui/material/ListItemText"));
542
+ var import_styles2 = require("@mui/material/styles");
543
+
544
+ // src/components/elemental/Menu/src/MenuItem.tsx
545
+ var import_MenuItem = __toESM(require("@mui/material/MenuItem"));
546
+ var import_ListItemIcon = __toESM(require("@mui/material/ListItemIcon"));
547
+ var import_styles = require("@mui/material/styles");
548
+ var StyledMenuItem = (0, import_styles.styled)(import_MenuItem.default, {
549
+ shouldForwardProp: (prop) => prop !== "customPadding" && prop !== "customFontSize"
550
+ })(({ customPadding, customFontSize }) => ({
551
+ width: "-webkit-fill-available",
552
+ borderRadius: "8px",
553
+ minHeight: "fit-content",
554
+ padding: customPadding || "6px 16px",
555
+ margin: "0",
556
+ overflow: "hidden",
557
+ gap: "4px",
558
+ "& .MuiListItemText-primary": {
559
+ fontSize: customFontSize || "1rem",
560
+ overflow: "hidden",
561
+ textOverflow: "ellipsis"
562
+ }
563
+ }));
564
+ var StyledItemIcon = (0, import_styles.styled)(import_ListItemIcon.default, {
565
+ shouldForwardProp: (prop) => prop !== "isIconOnly"
566
+ })({
567
+ "&.MuiListItemIcon-root": {
568
+ minWidth: "var(--minW)"
569
+ },
570
+ variants: [
571
+ {
572
+ props: { isIconOnly: true },
573
+ style: {
574
+ "--minW": "0"
575
+ }
576
+ },
577
+ {
578
+ props: { isIconOnly: false },
579
+ style: {
580
+ "--minW": "auto"
581
+ }
582
+ },
583
+ {
584
+ props: { isIconOnly: void 0 },
585
+ // default
586
+ style: {
587
+ "--minW": "auto"
588
+ }
589
+ }
590
+ ]
591
+ });
592
+
593
+ // src/components/elemental/Menu/src/Menu/Menu.tsx
594
+ var import_jsx_runtime6 = require("react/jsx-runtime");
595
+ var CustomMenuList = (0, import_react2.forwardRef)(({
596
+ options = [],
597
+ extraItemClickHandler,
598
+ menuItemProps,
599
+ initSelected = [],
600
+ multiple = false,
601
+ autoFocusItem,
602
+ menuRef,
603
+ isIconOnly = false,
604
+ optionHeader,
605
+ sorted = true
606
+ }, ref) => {
607
+ const [localSelected, setLocalSelected] = (0, import_react2.useState)(initSelected);
608
+ (0, import_react2.useImperativeHandle)(ref, () => ({
609
+ getSelectedItem: () => localSelected
610
+ }), [localSelected]);
611
+ (0, import_react2.useEffect)(() => {
612
+ setLocalSelected(initSelected);
613
+ }, [initSelected]);
614
+ const sortedOptions = (0, import_react2.useMemo)(() => {
615
+ if (!sorted) return options;
616
+ return [...options].sort((a, b) => {
617
+ if (a.label && b.label) {
618
+ return a.label.toString().localeCompare(b.label.toString());
619
+ }
620
+ return 0;
621
+ });
622
+ }, [sorted, options]);
623
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
624
+ StyledMenuList,
625
+ {
626
+ ref: menuRef,
627
+ autoFocusItem,
628
+ fontSize: menuItemProps?.fontSize,
629
+ padding: menuItemProps?.padding,
630
+ children: [
631
+ optionHeader,
632
+ sortedOptions.map((o, i) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
633
+ StyledMenuItem,
634
+ {
635
+ selected: localSelected.includes(o.id),
636
+ customPadding: menuItemProps?.padding,
637
+ customFontSize: menuItemProps?.fontSize,
638
+ onClick: (e) => {
639
+ if (extraItemClickHandler) extraItemClickHandler(e);
640
+ if (multiple) setLocalSelected((old) => {
641
+ if (old.includes(o.id)) return old.filter((id) => id !== o.id);
642
+ return [...old, o.id];
643
+ });
644
+ o.onClick?.();
645
+ },
646
+ children: [
647
+ o.icon && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledItemIcon, { isIconOnly, children: o.icon }),
648
+ o.label && !isIconOnly && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_ListItemText.default, { children: o.label }),
649
+ o.extension
650
+ ]
651
+ },
652
+ i
653
+ ))
654
+ ]
655
+ }
656
+ );
657
+ });
658
+ var Menu_default = CustomMenuList;
659
+ var StyledMenuList = (0, import_styles2.styled)(import_MenuList.default, {
660
+ shouldForwardProp: (prop) => prop !== "fontSize" && prop !== "padding"
661
+ })((p) => createMenuListTheme(p));
662
+ function createMenuListTheme(p) {
663
+ return {
664
+ "&.MuiList-root": {
665
+ padding: "8px 4px",
666
+ display: "flex",
667
+ flexDirection: "column",
668
+ alignContent: "center",
669
+ alignItems: "center",
670
+ width: "100%",
671
+ gap: "2px",
672
+ "& li": {
673
+ width: "-webkit-fill-available",
674
+ borderRadius: "8px",
675
+ minHeight: "fit-content",
676
+ padding: p.padding || "6px 16px",
677
+ margin: "0",
678
+ overflow: "hidden",
679
+ "& .MuiListItemText-primary": {
680
+ fontSize: p.fontSize || "1rem",
681
+ overflow: "hidden",
682
+ textOverflow: "ellipsis"
683
+ }
684
+ }
685
+ }
686
+ };
687
+ }
688
+
689
+ // src/components/elemental/Menu/src/Menu/index.ts
690
+ var import_MenuItem3 = __toESM(require("@mui/material/MenuItem"));
691
+
692
+ // src/components/elemental/Overlay/src/index.ts
693
+ var import_ClickAwayListener = __toESM(require("@mui/material/ClickAwayListener"));
694
+ var import_Popper = __toESM(require("@mui/material/Popper"));
695
+
696
+ // src/components/elemental/Paper/src/Paper/Paper.tsx
697
+ var import_Paper = __toESM(require("@mui/material/Paper"));
698
+ var import_jsx_runtime7 = require("react/jsx-runtime");
699
+ function MuiPaper(props) {
700
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Paper.default, { ...props });
701
+ }
702
+
703
+ // src/components/elemental/Menu/src/useMenu/useMenu.tsx
704
+ var import_react3 = require("react");
705
+ var import_jsx_runtime8 = require("react/jsx-runtime");
706
+ var MenuPopper = ({
707
+ placement = "bottom-start",
708
+ options = [],
709
+ openMenuProps,
710
+ menuItemProps,
711
+ optionHeader
712
+ }) => {
713
+ const {
714
+ closeHandler,
715
+ anchorEl,
716
+ onItemClickClientArg,
717
+ multiple,
718
+ ref,
719
+ menuRef,
720
+ initSelected,
721
+ sorted = true
722
+ } = openMenuProps;
723
+ const open = Boolean(anchorEl);
724
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
725
+ import_Popper.default,
726
+ {
727
+ open,
728
+ anchorEl,
729
+ placement,
730
+ sx: { zIndex: "1301" },
731
+ modifiers: [{
732
+ name: "offset",
733
+ options: { offset: [0, 8] }
734
+ }],
735
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
736
+ MuiPaper,
737
+ {
738
+ variant: "outlined",
739
+ sx: {
740
+ "&.MuiPaper-root": {
741
+ pr: 1,
742
+ minWidth: 150,
743
+ maxHeight: 300,
744
+ borderRadius: "16px",
745
+ overflow: "hidden",
746
+ display: "flex",
747
+ flexDirection: "column",
748
+ "& .MuiList-root": {
749
+ display: "flex",
750
+ flexDirection: "column",
751
+ alignContent: "center",
752
+ alignItems: "center",
753
+ width: "100%",
754
+ overflowY: "auto",
755
+ height: "100%"
756
+ },
757
+ "& li": {
758
+ width: "100%"
759
+ }
760
+ }
761
+ },
762
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_ClickAwayListener.default, { onClickAway: closeHandler, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
763
+ Menu_default,
764
+ {
765
+ ref,
766
+ menuRef,
767
+ autoFocusItem: open,
768
+ menuItemProps,
769
+ optionHeader,
770
+ options,
771
+ multiple,
772
+ initSelected,
773
+ extraItemClickHandler: (e) => {
774
+ if (onItemClickClientArg) onItemClickClientArg({ event: e, closeHandler });
775
+ },
776
+ sorted
777
+ }
778
+ ) })
779
+ }
780
+ )
781
+ }
782
+ );
783
+ };
784
+ function useMenu({
785
+ onItemClickClientArg,
786
+ multiple = false,
787
+ initSelected = [],
788
+ setSelected
789
+ }) {
790
+ const [anchorEl, setAnchorEl] = (0, import_react3.useState)(null);
791
+ const [anchorPosition, setAnchorPosition] = (0, import_react3.useState)({ top: 0, left: 0 });
792
+ const ref = (0, import_react3.useRef)(null);
793
+ const menuRef = (0, import_react3.useRef)(null);
794
+ const closeHandler = (event) => {
795
+ if (event && menuRef.current && event.target instanceof Node && menuRef.current.contains(event.target)) {
796
+ return;
797
+ }
798
+ if (setSelected && multiple) {
799
+ const localSelected = ref.current?.getSelectedItem();
800
+ if (localSelected && Array.isArray(localSelected)) {
801
+ setSelected(localSelected);
802
+ }
803
+ }
804
+ setAnchorEl(null);
805
+ };
806
+ const onTriggerClickHandler = (event) => {
807
+ const bottom = event.clientY;
808
+ const right = event.clientX;
809
+ setAnchorEl(event.currentTarget);
810
+ setAnchorPosition({ top: bottom, left: right });
811
+ };
812
+ return {
813
+ anchorEl,
814
+ anchorPosition,
815
+ onTriggerClickHandler,
816
+ onItemClickClientArg,
817
+ closeHandler,
818
+ multiple,
819
+ ref,
820
+ initSelected,
821
+ menuRef
822
+ };
823
+ }
824
+
825
+ // src/components/elemental/Avatar/src/StatusAvatar/theme.ts
826
+ var statusAvatarRootSx = {
827
+ "--status-badge-shadow": "var(--mui-palette-background-default)",
828
+ "--status-color-online": "var(--mui-palette-success-main)",
829
+ "--status-color-away": "var(--mui-palette-warning-main)",
830
+ "--status-color-busy": "var(--mui-palette-error-main)",
831
+ "--status-color-offline": "var(--mui-palette-grey-500)"
832
+ };
833
+
834
+ // src/components/elemental/Avatar/src/StatusAvatar/StatusAvatar.tsx
835
+ var import_jsx_runtime9 = require("react/jsx-runtime");
836
+ var USER_STATUSs = {
837
+ online: "online",
838
+ away: "away",
839
+ busy: "busy",
840
+ offline: "offline",
841
+ invisible: "invisible"
842
+ };
843
+ var changable_status = Object.values(USER_STATUSs).filter((s) => s !== "offline");
844
+ function Renderer(props) {
845
+ const {
846
+ name,
847
+ src,
848
+ status: status2,
849
+ handleStatusChange,
850
+ statusEditable,
851
+ slotProps
852
+ } = props;
853
+ const p = useMenu({
854
+ multiple: false,
855
+ initSelected: [status2]
856
+ });
857
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
858
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
859
+ StyledBadge,
860
+ {
861
+ status: status2,
862
+ overlap: "circular",
863
+ anchorOrigin: {
864
+ vertical: "bottom",
865
+ horizontal: "right"
866
+ },
867
+ variant: "dot",
868
+ sx: mergeSx(statusAvatarRootSx, {
869
+ height: "fit-content"
870
+ }),
871
+ children: statusEditable ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AvatarButton, { name, src, ...slotProps?.avatarButton, onClick: p.onTriggerClickHandler }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Avatar, { name, src, ...slotProps?.avatar, displayName: false })
872
+ }
873
+ ),
874
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
875
+ MenuPopper,
876
+ {
877
+ openMenuProps: p,
878
+ options: changable_status.map((s) => ({
879
+ id: s,
880
+ label: s,
881
+ onClick: () => {
882
+ p.closeHandler();
883
+ if (handleStatusChange) handleStatusChange(s);
884
+ }
885
+ }))
886
+ }
887
+ )
888
+ ] });
889
+ }
890
+ var status = USER_STATUSs;
891
+ var StyledBadge = (0, import_styles3.styled)(Badge, {
892
+ shouldForwardProp: (p) => p !== "status"
893
+ })(() => ({
894
+ "& .MuiBadge-badge": {
895
+ width: "15%",
896
+ height: "15%",
897
+ minWidth: "10px",
898
+ minHeight: "10px",
899
+ borderRadius: "50%",
900
+ borderColor: "transparent",
901
+ backgroundColor: "var(--color)",
902
+ color: "var(--color)",
903
+ boxShadow: `0 0 0 2px var(--status-badge-shadow)`,
904
+ display: "var(--display)",
905
+ "&::after": {
906
+ position: "absolute",
907
+ top: 0,
908
+ left: 0,
909
+ width: "100%",
910
+ height: "100%",
911
+ borderRadius: "50%",
912
+ animation: "var(--animate)",
913
+ border: "1px solid currentColor",
914
+ content: '""'
915
+ }
916
+ },
917
+ "@keyframes ripple": {
918
+ "0%": {
919
+ transform: "scale(.8)",
920
+ opacity: 1
921
+ },
922
+ "100%": {
923
+ transform: "scale(2.4)",
924
+ opacity: 0
925
+ }
926
+ },
927
+ variants: [
928
+ {
929
+ props: { status: USER_STATUSs.online },
930
+ style: {
931
+ "--color": "var(--status-color-online)",
932
+ "--animate": "ripple 1.2s infinite ease-in-out",
933
+ // ripple animation
934
+ "--display": "block"
935
+ // show the dot
936
+ }
937
+ },
938
+ {
939
+ props: { status: USER_STATUSs.away },
940
+ style: {
941
+ "--color": "var(--status-color-away)",
942
+ "--animate": "none",
943
+ // no animation
944
+ "--display": "block"
945
+ // show the dot
946
+ }
947
+ },
948
+ {
949
+ props: { status: USER_STATUSs.busy },
950
+ style: {
951
+ "--color": "var(--status-color-busy)",
952
+ "--animate": "none",
953
+ // no animation
954
+ "--display": "block"
955
+ // show the dot
956
+ }
957
+ },
958
+ {
959
+ props: { status: USER_STATUSs.offline },
960
+ style: {
961
+ "--color": "var(--status-color-offline)",
962
+ "--animate": "none",
963
+ // no animation
964
+ "--display": "block"
965
+ // show the dot
966
+ }
967
+ },
968
+ {
969
+ props: { status: USER_STATUSs.invisible },
970
+ style: {
971
+ "--color": "var(--status-color-offline)",
972
+ "--animate": "none",
973
+ // no animation
974
+ "--display": "block"
975
+ // show the dot
976
+ }
977
+ }
978
+ ]
979
+ }));
980
+ // Annotate the CommonJS export names for ESM import in node:
981
+ 0 && (module.exports = {
982
+ AVATARBUTTON_STANDARD_DIMENSIONs,
983
+ AVATAR_SIZEs,
984
+ AVATAR_SX,
985
+ Avatar,
986
+ AvatarButton,
987
+ NameSkel,
988
+ StatusAvatar,
989
+ avatarButtonRootSx,
990
+ avatarTheme
991
+ });
992
+ //# sourceMappingURL=avatar.js.map