@mieweb/ui 0.2.4 → 0.3.0-dev.100

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 (420) hide show
  1. package/README.md +17 -0
  2. package/dist/ag-grid.cjs +37 -26
  3. package/dist/ag-grid.cjs.map +1 -1
  4. package/dist/ag-grid.js +33 -22
  5. package/dist/ag-grid.js.map +1 -1
  6. package/dist/brands/bluehive.cjs +3 -3
  7. package/dist/brands/bluehive.css +5 -5
  8. package/dist/brands/bluehive.js +1 -1
  9. package/dist/brands/index.cjs +29 -29
  10. package/dist/brands/index.js +8 -8
  11. package/dist/brands/mieweb.css +5 -5
  12. package/dist/brands/ozwell.cjs +2 -2
  13. package/dist/brands/ozwell.css +5 -5
  14. package/dist/brands/ozwell.js +1 -1
  15. package/dist/brands/types.cjs +4 -4
  16. package/dist/brands/types.d.cts +14 -8
  17. package/dist/brands/types.d.ts +14 -8
  18. package/dist/brands/types.js +1 -1
  19. package/dist/brands/waggleline.css +1 -1
  20. package/dist/brands/webchart.css +5 -5
  21. package/dist/{chunk-QDGZBDBI.cjs → chunk-2LF7PSSX.cjs} +3 -3
  22. package/dist/{chunk-QDGZBDBI.cjs.map → chunk-2LF7PSSX.cjs.map} +1 -1
  23. package/dist/{chunk-OWPWP46L.js → chunk-2NTYAALC.js} +3 -3
  24. package/dist/{chunk-OWPWP46L.js.map → chunk-2NTYAALC.js.map} +1 -1
  25. package/dist/{chunk-NAATBUHR.cjs → chunk-2VCAWAPC.cjs} +45 -20
  26. package/dist/chunk-2VCAWAPC.cjs.map +1 -0
  27. package/dist/{chunk-N3QTYHRZ.cjs → chunk-3GGET5LK.cjs} +40 -22
  28. package/dist/chunk-3GGET5LK.cjs.map +1 -0
  29. package/dist/{chunk-QL2YTVTR.js → chunk-43GBCUSQ.js} +8 -3
  30. package/dist/chunk-43GBCUSQ.js.map +1 -0
  31. package/dist/chunk-4DMZAVB2.js +334 -0
  32. package/dist/chunk-4DMZAVB2.js.map +1 -0
  33. package/dist/{chunk-EKIQE524.cjs → chunk-4FALCEJI.cjs} +3 -2
  34. package/dist/chunk-4FALCEJI.cjs.map +1 -0
  35. package/dist/chunk-4O3WJY4C.cjs +615 -0
  36. package/dist/chunk-4O3WJY4C.cjs.map +1 -0
  37. package/dist/{chunk-6OCIIIAI.js → chunk-4Z6ZZKIY.js} +40 -22
  38. package/dist/chunk-4Z6ZZKIY.js.map +1 -0
  39. package/dist/{chunk-QIOM5ZV2.cjs → chunk-4ZU53GNR.cjs} +6 -2
  40. package/dist/{chunk-QIOM5ZV2.cjs.map → chunk-4ZU53GNR.cjs.map} +1 -1
  41. package/dist/{chunk-S6UNPMAS.cjs → chunk-66S4PT6C.cjs} +3 -3
  42. package/dist/{chunk-S6UNPMAS.cjs.map → chunk-66S4PT6C.cjs.map} +1 -1
  43. package/dist/{chunk-4AWW5WPF.js → chunk-6LFG4JFF.js} +51 -24
  44. package/dist/chunk-6LFG4JFF.js.map +1 -0
  45. package/dist/chunk-7BARESXI.cjs +353 -0
  46. package/dist/chunk-7BARESXI.cjs.map +1 -0
  47. package/dist/{chunk-PEH4ZOEM.cjs → chunk-A2QVQF54.cjs} +12 -6
  48. package/dist/chunk-A2QVQF54.cjs.map +1 -0
  49. package/dist/{chunk-377KAB4C.cjs → chunk-AWUADXYI.cjs} +8 -2
  50. package/dist/chunk-AWUADXYI.cjs.map +1 -0
  51. package/dist/{chunk-PEFJAWNR.cjs → chunk-BWYYA3LQ.cjs} +26 -10
  52. package/dist/chunk-BWYYA3LQ.cjs.map +1 -0
  53. package/dist/chunk-C4QQAUYN.js +588 -0
  54. package/dist/chunk-C4QQAUYN.js.map +1 -0
  55. package/dist/chunk-CJQXWFIW.js +829 -0
  56. package/dist/chunk-CJQXWFIW.js.map +1 -0
  57. package/dist/{chunk-KWDTTGH2.js → chunk-CVF4HRWL.js} +5 -5
  58. package/dist/{chunk-KWDTTGH2.js.map → chunk-CVF4HRWL.js.map} +1 -1
  59. package/dist/{chunk-WH6I7CMP.cjs → chunk-CW75IKA6.cjs} +27 -2
  60. package/dist/chunk-CW75IKA6.cjs.map +1 -0
  61. package/dist/{chunk-3NJ72QU6.js → chunk-DCER2QQB.js} +3 -2
  62. package/dist/chunk-DCER2QQB.js.map +1 -0
  63. package/dist/{chunk-JYMQJ32S.cjs → chunk-DEZ7XSTG.cjs} +9 -5
  64. package/dist/chunk-DEZ7XSTG.cjs.map +1 -0
  65. package/dist/{chunk-QYJ7RQJ2.cjs → chunk-DFCZPVG4.cjs} +84 -38
  66. package/dist/chunk-DFCZPVG4.cjs.map +1 -0
  67. package/dist/{chunk-AWIULTJW.js → chunk-DNPRRYPQ.js} +18 -3
  68. package/dist/chunk-DNPRRYPQ.js.map +1 -0
  69. package/dist/{chunk-SSKI6VTW.cjs → chunk-E35GUUTC.cjs} +23 -4
  70. package/dist/chunk-E35GUUTC.cjs.map +1 -0
  71. package/dist/{chunk-B5364UWR.cjs → chunk-EAXY5X33.cjs} +6 -6
  72. package/dist/{chunk-B5364UWR.cjs.map → chunk-EAXY5X33.cjs.map} +1 -1
  73. package/dist/{chunk-53K3KWXQ.cjs → chunk-EUUQVDXX.cjs} +168 -138
  74. package/dist/chunk-EUUQVDXX.cjs.map +1 -0
  75. package/dist/{chunk-5UUL5EEO.cjs → chunk-FRT6RQND.cjs} +181 -128
  76. package/dist/chunk-FRT6RQND.cjs.map +1 -0
  77. package/dist/{chunk-R4DM4635.cjs → chunk-FSBFQBNE.cjs} +86 -2
  78. package/dist/chunk-FSBFQBNE.cjs.map +1 -0
  79. package/dist/{chunk-6Q4SU72T.js → chunk-FYEK4RZ3.js} +50 -11
  80. package/dist/chunk-FYEK4RZ3.js.map +1 -0
  81. package/dist/{chunk-UZUBLXVC.js → chunk-FZJBFJJR.js} +3 -2
  82. package/dist/chunk-FZJBFJJR.js.map +1 -0
  83. package/dist/{chunk-UHSPAFY6.js → chunk-GFZNSSSN.js} +3 -3
  84. package/dist/{chunk-UHSPAFY6.js.map → chunk-GFZNSSSN.js.map} +1 -1
  85. package/dist/chunk-GOKC4CCZ.cjs +384 -0
  86. package/dist/chunk-GOKC4CCZ.cjs.map +1 -0
  87. package/dist/{chunk-Z3TFPXVN.cjs → chunk-GXQFRLTN.cjs} +3 -3
  88. package/dist/{chunk-Z3TFPXVN.cjs.map → chunk-GXQFRLTN.cjs.map} +1 -1
  89. package/dist/{chunk-B3L43JGH.js → chunk-HEH3QXOQ.js} +26 -10
  90. package/dist/chunk-HEH3QXOQ.js.map +1 -0
  91. package/dist/{chunk-TA6FVVCM.js → chunk-I56VBDSC.js} +3 -3
  92. package/dist/{chunk-TA6FVVCM.js.map → chunk-I56VBDSC.js.map} +1 -1
  93. package/dist/{chunk-4DJNHPHB.js → chunk-IGWABMSM.js} +3 -3
  94. package/dist/{chunk-4DJNHPHB.js.map → chunk-IGWABMSM.js.map} +1 -1
  95. package/dist/{chunk-SWMRCGL4.cjs → chunk-IKMR2ADM.cjs} +5 -4
  96. package/dist/chunk-IKMR2ADM.cjs.map +1 -0
  97. package/dist/{chunk-HRA4FUO6.cjs → chunk-IWU7H3YS.cjs} +79 -52
  98. package/dist/chunk-IWU7H3YS.cjs.map +1 -0
  99. package/dist/{chunk-ONWOB76P.js → chunk-J3BU3JBX.js} +33 -14
  100. package/dist/chunk-J3BU3JBX.js.map +1 -0
  101. package/dist/{chunk-FFJVCQ5R.cjs → chunk-J644FU54.cjs} +49 -19
  102. package/dist/chunk-J644FU54.cjs.map +1 -0
  103. package/dist/chunk-JBB25LFB.js +359 -0
  104. package/dist/chunk-JBB25LFB.js.map +1 -0
  105. package/dist/{chunk-VDMQCSXT.cjs → chunk-JHPFOG2N.cjs} +4 -4
  106. package/dist/{chunk-VDMQCSXT.cjs.map → chunk-JHPFOG2N.cjs.map} +1 -1
  107. package/dist/{chunk-RYQ5NEKH.js → chunk-JV7UJGBM.js} +6 -6
  108. package/dist/{chunk-RYQ5NEKH.js.map → chunk-JV7UJGBM.js.map} +1 -1
  109. package/dist/{chunk-C6MDPPPL.js → chunk-JW5GWKV7.js} +3 -3
  110. package/dist/{chunk-C6MDPPPL.js.map → chunk-JW5GWKV7.js.map} +1 -1
  111. package/dist/{chunk-XXOBTAKA.js → chunk-JWUVVPKM.js} +79 -52
  112. package/dist/chunk-JWUVVPKM.js.map +1 -0
  113. package/dist/{chunk-EYH7OUX5.js → chunk-JYAWYBA3.js} +23 -4
  114. package/dist/chunk-JYAWYBA3.js.map +1 -0
  115. package/dist/{chunk-5T3AWNHG.cjs → chunk-K7IGBNZA.cjs} +70 -39
  116. package/dist/chunk-K7IGBNZA.cjs.map +1 -0
  117. package/dist/{chunk-BTJHYGPI.cjs → chunk-L7YQBSEL.cjs} +14 -4
  118. package/dist/chunk-L7YQBSEL.cjs.map +1 -0
  119. package/dist/chunk-LEMY57MI.js +3 -0
  120. package/dist/{chunk-3K7QCDSV.js.map → chunk-LEMY57MI.js.map} +1 -1
  121. package/dist/{chunk-AU5ADTYD.cjs → chunk-MIGLLTTD.cjs} +50 -11
  122. package/dist/chunk-MIGLLTTD.cjs.map +1 -0
  123. package/dist/{chunk-VV4N4WY6.cjs → chunk-MSRU3XBH.cjs} +61 -35
  124. package/dist/chunk-MSRU3XBH.cjs.map +1 -0
  125. package/dist/{chunk-JFAXLE2J.js → chunk-MUYTGWGE.js} +9 -5
  126. package/dist/chunk-MUYTGWGE.js.map +1 -0
  127. package/dist/{chunk-B26RIQ5R.js → chunk-MV3MTHWQ.js} +6 -2
  128. package/dist/chunk-MV3MTHWQ.js.map +1 -0
  129. package/dist/{chunk-VZUVYJFU.cjs → chunk-MXQNNKPX.cjs} +17 -17
  130. package/dist/{chunk-VZUVYJFU.cjs.map → chunk-MXQNNKPX.cjs.map} +1 -1
  131. package/dist/{chunk-PF3XWKE5.cjs → chunk-NIEIRA5A.cjs} +33 -14
  132. package/dist/chunk-NIEIRA5A.cjs.map +1 -0
  133. package/dist/{chunk-RRQGH7C5.cjs → chunk-NVHAQOHH.cjs} +8 -3
  134. package/dist/chunk-NVHAQOHH.cjs.map +1 -0
  135. package/dist/chunk-OGOFYY22.js +247 -0
  136. package/dist/chunk-OGOFYY22.js.map +1 -0
  137. package/dist/{chunk-OT36EMM5.js → chunk-OKBR6PX4.js} +5 -4
  138. package/dist/chunk-OKBR6PX4.js.map +1 -0
  139. package/dist/{chunk-LZEY55QZ.cjs → chunk-OYKS2JBB.cjs} +18 -3
  140. package/dist/chunk-OYKS2JBB.cjs.map +1 -0
  141. package/dist/{chunk-4LTN2LEN.js → chunk-PSTGFXQG.js} +3 -3
  142. package/dist/{chunk-4LTN2LEN.js.map → chunk-PSTGFXQG.js.map} +1 -1
  143. package/dist/{chunk-OW2BWGST.js → chunk-PU6ZC4GI.js} +48 -31
  144. package/dist/chunk-PU6ZC4GI.js.map +1 -0
  145. package/dist/chunk-PVUDXJAI.js +124 -0
  146. package/dist/chunk-PVUDXJAI.js.map +1 -0
  147. package/dist/{chunk-EF46XW4Z.cjs → chunk-Q2EWNXIB.cjs} +161 -67
  148. package/dist/chunk-Q2EWNXIB.cjs.map +1 -0
  149. package/dist/{chunk-CP7NPDQW.js → chunk-Q7NBJFEB.js} +87 -4
  150. package/dist/chunk-Q7NBJFEB.js.map +1 -0
  151. package/dist/{chunk-ORUPC5TV.cjs → chunk-QASIWBXU.cjs} +9 -5
  152. package/dist/chunk-QASIWBXU.cjs.map +1 -0
  153. package/dist/{chunk-4LNS5QDP.cjs → chunk-QITBJX4A.cjs} +3 -3
  154. package/dist/{chunk-4LNS5QDP.cjs.map → chunk-QITBJX4A.cjs.map} +1 -1
  155. package/dist/{chunk-KEIA2G6O.cjs → chunk-QO6U5VOT.cjs} +3 -3
  156. package/dist/{chunk-KEIA2G6O.cjs.map → chunk-QO6U5VOT.cjs.map} +1 -1
  157. package/dist/{chunk-XVZ4SLQB.js → chunk-QVJBUWJQ.js} +70 -39
  158. package/dist/chunk-QVJBUWJQ.js.map +1 -0
  159. package/dist/{chunk-QSMMFATL.js → chunk-R25H4N4Z.js} +181 -128
  160. package/dist/chunk-R25H4N4Z.js.map +1 -0
  161. package/dist/{chunk-TPGT236K.js → chunk-RC2YMOMS.js} +26 -3
  162. package/dist/chunk-RC2YMOMS.js.map +1 -0
  163. package/dist/{chunk-BXK5TNJE.cjs → chunk-RH43XBNV.cjs} +3 -2
  164. package/dist/chunk-RH43XBNV.cjs.map +1 -0
  165. package/dist/{chunk-4MHTSFPX.js → chunk-TGCY5FNL.js} +45 -20
  166. package/dist/chunk-TGCY5FNL.js.map +1 -0
  167. package/dist/{chunk-QZLRB3UG.js → chunk-TRZXK57D.js} +168 -138
  168. package/dist/chunk-TRZXK57D.js.map +1 -0
  169. package/dist/{chunk-B7YGVKTE.cjs → chunk-U3ABLVYH.cjs} +51 -24
  170. package/dist/chunk-U3ABLVYH.cjs.map +1 -0
  171. package/dist/chunk-VACI5SP7.cjs +270 -0
  172. package/dist/chunk-VACI5SP7.cjs.map +1 -0
  173. package/dist/{chunk-GV5JQBPX.js → chunk-VCO2IZOG.js} +9 -5
  174. package/dist/chunk-VCO2IZOG.js.map +1 -0
  175. package/dist/chunk-WFS6R2F5.js +328 -0
  176. package/dist/chunk-WFS6R2F5.js.map +1 -0
  177. package/dist/{chunk-IY7UQPDO.cjs → chunk-WGPMTW36.cjs} +6 -2
  178. package/dist/chunk-WGPMTW36.cjs.map +1 -0
  179. package/dist/chunk-WJU3KLVV.cjs +855 -0
  180. package/dist/chunk-WJU3KLVV.cjs.map +1 -0
  181. package/dist/{chunk-SOFX4T7M.js → chunk-WOYUQ4AT.js} +49 -19
  182. package/dist/chunk-WOYUQ4AT.js.map +1 -0
  183. package/dist/{chunk-TCQ27C5M.js → chunk-WTDCNXZO.js} +8 -2
  184. package/dist/chunk-WTDCNXZO.js.map +1 -0
  185. package/dist/{chunk-2J2V4TMJ.cjs → chunk-WZBCK7KG.cjs} +42 -32
  186. package/dist/chunk-WZBCK7KG.cjs.map +1 -0
  187. package/dist/{chunk-O5HS7ZND.cjs → chunk-X7S76WB7.cjs} +3 -3
  188. package/dist/{chunk-O5HS7ZND.cjs.map → chunk-X7S76WB7.cjs.map} +1 -1
  189. package/dist/{chunk-ULOA7WBW.js → chunk-XB7QCKK7.js} +3 -3
  190. package/dist/{chunk-ULOA7WBW.js.map → chunk-XB7QCKK7.js.map} +1 -1
  191. package/dist/{chunk-G2DOD34H.js → chunk-XCLQZ4FV.js} +84 -38
  192. package/dist/chunk-XCLQZ4FV.js.map +1 -0
  193. package/dist/{chunk-NIHESA7O.js → chunk-YDJUUR4Y.js} +42 -32
  194. package/dist/chunk-YDJUUR4Y.js.map +1 -0
  195. package/dist/{chunk-RCMF6KZA.js → chunk-YTZPVEIO.js} +3 -3
  196. package/dist/{chunk-RCMF6KZA.js.map → chunk-YTZPVEIO.js.map} +1 -1
  197. package/dist/{chunk-SWV5E75F.cjs → chunk-Z5J4NTPL.cjs} +3 -3
  198. package/dist/{chunk-SWV5E75F.cjs.map → chunk-Z5J4NTPL.cjs.map} +1 -1
  199. package/dist/{chunk-XHJGYBYG.cjs → chunk-ZKFVGYBK.cjs} +48 -31
  200. package/dist/chunk-ZKFVGYBK.cjs.map +1 -0
  201. package/dist/{chunk-CEHWXAAI.js → chunk-ZVPJ2MH6.js} +14 -4
  202. package/dist/chunk-ZVPJ2MH6.js.map +1 -0
  203. package/dist/{chunk-VBHPXSCV.js → chunk-ZVSW2KS6.js} +12 -6
  204. package/dist/chunk-ZVSW2KS6.js.map +1 -0
  205. package/dist/components/Alert/index.cjs +5 -5
  206. package/dist/components/Alert/index.js +1 -1
  207. package/dist/components/AudioPlayer/index.cjs +6 -6
  208. package/dist/components/AudioPlayer/index.d.cts +5 -4
  209. package/dist/components/AudioPlayer/index.d.ts +5 -4
  210. package/dist/components/AudioPlayer/index.js +1 -1
  211. package/dist/components/AudioRecorder/index.cjs +6 -6
  212. package/dist/components/AudioRecorder/index.js +1 -1
  213. package/dist/components/Avatar/index.cjs +5 -5
  214. package/dist/components/Avatar/index.js +1 -1
  215. package/dist/components/Badge/index.cjs +3 -3
  216. package/dist/components/Badge/index.js +1 -1
  217. package/dist/components/Breadcrumb/index.cjs +3 -3
  218. package/dist/components/Breadcrumb/index.js +1 -1
  219. package/dist/components/Button/index.cjs +3 -3
  220. package/dist/components/Button/index.js +1 -1
  221. package/dist/components/Card/index.cjs +15 -15
  222. package/dist/components/Card/index.d.cts +6 -2
  223. package/dist/components/Card/index.d.ts +6 -2
  224. package/dist/components/Card/index.js +1 -1
  225. package/dist/components/Checkbox/index.cjs +4 -4
  226. package/dist/components/Checkbox/index.js +1 -1
  227. package/dist/components/CountryCodeDropdown/index.cjs +23 -0
  228. package/dist/components/CountryCodeDropdown/index.cjs.map +1 -0
  229. package/dist/components/CountryCodeDropdown/index.d.cts +69 -0
  230. package/dist/components/CountryCodeDropdown/index.d.ts +69 -0
  231. package/dist/components/CountryCodeDropdown/index.js +6 -0
  232. package/dist/components/CountryCodeDropdown/index.js.map +1 -0
  233. package/dist/components/DateInput/index.cjs +4 -4
  234. package/dist/components/DateInput/index.js +3 -3
  235. package/dist/components/Dropdown/index.cjs +9 -8
  236. package/dist/components/Dropdown/index.d.cts +29 -1
  237. package/dist/components/Dropdown/index.d.ts +29 -1
  238. package/dist/components/Dropdown/index.js +3 -2
  239. package/dist/components/Input/index.cjs +3 -3
  240. package/dist/components/Input/index.js +1 -1
  241. package/dist/components/Modal/index.cjs +9 -9
  242. package/dist/components/Modal/index.js +1 -1
  243. package/dist/components/Pagination/index.cjs +4 -4
  244. package/dist/components/Pagination/index.d.cts +6 -2
  245. package/dist/components/Pagination/index.d.ts +6 -2
  246. package/dist/components/Pagination/index.js +1 -1
  247. package/dist/components/PhoneInput/index.cjs +5 -5
  248. package/dist/components/PhoneInput/index.js +3 -3
  249. package/dist/components/Progress/index.cjs +6 -6
  250. package/dist/components/Progress/index.js +1 -1
  251. package/dist/components/QuickAction/index.cjs +6 -6
  252. package/dist/components/QuickAction/index.js +1 -1
  253. package/dist/components/Radio/index.cjs +4 -4
  254. package/dist/components/Radio/index.js +1 -1
  255. package/dist/components/RecordButton/index.cjs +4 -4
  256. package/dist/components/RecordButton/index.js +1 -1
  257. package/dist/components/SchedulePicker/index.cjs +10 -10
  258. package/dist/components/SchedulePicker/index.js +1 -1
  259. package/dist/components/Select/index.cjs +3 -3
  260. package/dist/components/Select/index.d.cts +3 -1
  261. package/dist/components/Select/index.d.ts +3 -1
  262. package/dist/components/Select/index.js +1 -1
  263. package/dist/components/Skeleton/index.cjs +6 -6
  264. package/dist/components/Skeleton/index.d.cts +1 -1
  265. package/dist/components/Skeleton/index.d.ts +1 -1
  266. package/dist/components/Skeleton/index.js +1 -1
  267. package/dist/components/Slider/index.cjs +5 -5
  268. package/dist/components/Slider/index.js +1 -1
  269. package/dist/components/Spinner/index.cjs +5 -5
  270. package/dist/components/Spinner/index.js +1 -1
  271. package/dist/components/Switch/index.cjs +4 -4
  272. package/dist/components/Switch/index.js +1 -1
  273. package/dist/components/Table/index.cjs +9 -9
  274. package/dist/components/Table/index.js +1 -1
  275. package/dist/components/Tabs/index.cjs +7 -7
  276. package/dist/components/Tabs/index.js +1 -1
  277. package/dist/components/Text/index.cjs +4 -4
  278. package/dist/components/Text/index.js +1 -1
  279. package/dist/components/Textarea/index.cjs +3 -3
  280. package/dist/components/Textarea/index.js +1 -1
  281. package/dist/components/ThemeProvider/index.cjs +8 -8
  282. package/dist/components/ThemeProvider/index.js +2 -2
  283. package/dist/components/Tooltip/index.cjs +2 -2
  284. package/dist/components/Tooltip/index.js +1 -1
  285. package/dist/datavis.cjs +251 -0
  286. package/dist/datavis.cjs.map +1 -0
  287. package/dist/datavis.d.cts +47 -0
  288. package/dist/datavis.d.ts +47 -0
  289. package/dist/datavis.js +247 -0
  290. package/dist/datavis.js.map +1 -0
  291. package/dist/default-BTEIFIZJ.cjs +18 -0
  292. package/dist/{default-ZGHKI5WF.cjs.map → default-BTEIFIZJ.cjs.map} +1 -1
  293. package/dist/default-ORBRVZRZ.js +3 -0
  294. package/dist/{default-LIRPABBK.js.map → default-ORBRVZRZ.js.map} +1 -1
  295. package/dist/hooks/index.cjs +19 -15
  296. package/dist/hooks/index.d.cts +39 -3
  297. package/dist/hooks/index.d.ts +39 -3
  298. package/dist/hooks/index.js +2 -2
  299. package/dist/index.cjs +13281 -8968
  300. package/dist/index.cjs.map +1 -1
  301. package/dist/index.d.cts +126 -49
  302. package/dist/index.d.ts +126 -49
  303. package/dist/index.js +12559 -8270
  304. package/dist/index.js.map +1 -1
  305. package/dist/mieweb-4XR6UKDQ.cjs +18 -0
  306. package/dist/{mieweb-UJABK5XX.cjs.map → mieweb-4XR6UKDQ.cjs.map} +1 -1
  307. package/dist/mieweb-N6UMH4MU.js +3 -0
  308. package/dist/{mieweb-PV2YKYO7.js.map → mieweb-N6UMH4MU.js.map} +1 -1
  309. package/dist/ozwell.cjs +385 -0
  310. package/dist/ozwell.cjs.map +1 -0
  311. package/dist/ozwell.d.cts +15 -0
  312. package/dist/ozwell.d.ts +15 -0
  313. package/dist/ozwell.js +360 -0
  314. package/dist/ozwell.js.map +1 -0
  315. package/dist/styles/init.css +339 -0
  316. package/dist/styles.css +1 -1
  317. package/dist/tailwind-preset.cjs +4 -4
  318. package/dist/tailwind-preset.d.cts +13 -2
  319. package/dist/tailwind-preset.d.ts +13 -2
  320. package/dist/tailwind-preset.js +1 -1
  321. package/dist/utils/index.cjs +31 -23
  322. package/dist/utils/index.d.cts +19 -2
  323. package/dist/utils/index.d.ts +19 -2
  324. package/dist/utils/index.js +2 -2
  325. package/dist/waggleline-2MLRNVCV.js +3 -0
  326. package/dist/{waggleline-BMUYAFJF.js.map → waggleline-2MLRNVCV.js.map} +1 -1
  327. package/dist/waggleline-I7QWD3YX.cjs +18 -0
  328. package/dist/{waggleline-6IGA66HR.cjs.map → waggleline-I7QWD3YX.cjs.map} +1 -1
  329. package/dist/webchart-F6EIMC3I.js +3 -0
  330. package/dist/{webchart-2SLO5ICI.js.map → webchart-F6EIMC3I.js.map} +1 -1
  331. package/dist/webchart-H3BHYNHB.cjs +18 -0
  332. package/dist/{webchart-EHVGP46N.cjs.map → webchart-H3BHYNHB.cjs.map} +1 -1
  333. package/package.json +42 -4
  334. package/dist/chunk-265CFCCX.js +0 -173
  335. package/dist/chunk-265CFCCX.js.map +0 -1
  336. package/dist/chunk-2J2V4TMJ.cjs.map +0 -1
  337. package/dist/chunk-377KAB4C.cjs.map +0 -1
  338. package/dist/chunk-3K7QCDSV.js +0 -3
  339. package/dist/chunk-3NJ72QU6.js.map +0 -1
  340. package/dist/chunk-4AWW5WPF.js.map +0 -1
  341. package/dist/chunk-4MHTSFPX.js.map +0 -1
  342. package/dist/chunk-4T2ZNPTC.js +0 -220
  343. package/dist/chunk-4T2ZNPTC.js.map +0 -1
  344. package/dist/chunk-4YRAEFYW.js +0 -233
  345. package/dist/chunk-4YRAEFYW.js.map +0 -1
  346. package/dist/chunk-53K3KWXQ.cjs.map +0 -1
  347. package/dist/chunk-5T3AWNHG.cjs.map +0 -1
  348. package/dist/chunk-5UUL5EEO.cjs.map +0 -1
  349. package/dist/chunk-6OCIIIAI.js.map +0 -1
  350. package/dist/chunk-6Q4SU72T.js.map +0 -1
  351. package/dist/chunk-AU5ADTYD.cjs.map +0 -1
  352. package/dist/chunk-AWIULTJW.js.map +0 -1
  353. package/dist/chunk-B26RIQ5R.js.map +0 -1
  354. package/dist/chunk-B3L43JGH.js.map +0 -1
  355. package/dist/chunk-B7YGVKTE.cjs.map +0 -1
  356. package/dist/chunk-BTJHYGPI.cjs.map +0 -1
  357. package/dist/chunk-BV75DAKO.cjs +0 -245
  358. package/dist/chunk-BV75DAKO.cjs.map +0 -1
  359. package/dist/chunk-BXK5TNJE.cjs.map +0 -1
  360. package/dist/chunk-CEHWXAAI.js.map +0 -1
  361. package/dist/chunk-CP7NPDQW.js.map +0 -1
  362. package/dist/chunk-CQCYXHCU.cjs +0 -256
  363. package/dist/chunk-CQCYXHCU.cjs.map +0 -1
  364. package/dist/chunk-DMA74PZ7.js +0 -240
  365. package/dist/chunk-DMA74PZ7.js.map +0 -1
  366. package/dist/chunk-EF46XW4Z.cjs.map +0 -1
  367. package/dist/chunk-EKIQE524.cjs.map +0 -1
  368. package/dist/chunk-EYH7OUX5.js.map +0 -1
  369. package/dist/chunk-FFJVCQ5R.cjs.map +0 -1
  370. package/dist/chunk-FIXAVBUA.cjs +0 -200
  371. package/dist/chunk-FIXAVBUA.cjs.map +0 -1
  372. package/dist/chunk-G2DOD34H.js.map +0 -1
  373. package/dist/chunk-GHRQ3ZJH.js +0 -764
  374. package/dist/chunk-GHRQ3ZJH.js.map +0 -1
  375. package/dist/chunk-GV5JQBPX.js.map +0 -1
  376. package/dist/chunk-HRA4FUO6.cjs.map +0 -1
  377. package/dist/chunk-INFSKLXE.cjs +0 -790
  378. package/dist/chunk-INFSKLXE.cjs.map +0 -1
  379. package/dist/chunk-IY7UQPDO.cjs.map +0 -1
  380. package/dist/chunk-JFAXLE2J.js.map +0 -1
  381. package/dist/chunk-JYMQJ32S.cjs.map +0 -1
  382. package/dist/chunk-LZEY55QZ.cjs.map +0 -1
  383. package/dist/chunk-N3QTYHRZ.cjs.map +0 -1
  384. package/dist/chunk-NAATBUHR.cjs.map +0 -1
  385. package/dist/chunk-NIHESA7O.js.map +0 -1
  386. package/dist/chunk-NXRLGHEC.js +0 -98
  387. package/dist/chunk-NXRLGHEC.js.map +0 -1
  388. package/dist/chunk-ONWOB76P.js.map +0 -1
  389. package/dist/chunk-ORUPC5TV.cjs.map +0 -1
  390. package/dist/chunk-OT36EMM5.js.map +0 -1
  391. package/dist/chunk-OW2BWGST.js.map +0 -1
  392. package/dist/chunk-PEFJAWNR.cjs.map +0 -1
  393. package/dist/chunk-PEH4ZOEM.cjs.map +0 -1
  394. package/dist/chunk-PF3XWKE5.cjs.map +0 -1
  395. package/dist/chunk-QL2YTVTR.js.map +0 -1
  396. package/dist/chunk-QSMMFATL.js.map +0 -1
  397. package/dist/chunk-QYJ7RQJ2.cjs.map +0 -1
  398. package/dist/chunk-QZLRB3UG.js.map +0 -1
  399. package/dist/chunk-R4DM4635.cjs.map +0 -1
  400. package/dist/chunk-RRQGH7C5.cjs.map +0 -1
  401. package/dist/chunk-SOFX4T7M.js.map +0 -1
  402. package/dist/chunk-SSKI6VTW.cjs.map +0 -1
  403. package/dist/chunk-SWMRCGL4.cjs.map +0 -1
  404. package/dist/chunk-TCQ27C5M.js.map +0 -1
  405. package/dist/chunk-TPGT236K.js.map +0 -1
  406. package/dist/chunk-UZUBLXVC.js.map +0 -1
  407. package/dist/chunk-VBHPXSCV.js.map +0 -1
  408. package/dist/chunk-VV4N4WY6.cjs.map +0 -1
  409. package/dist/chunk-WH6I7CMP.cjs.map +0 -1
  410. package/dist/chunk-XHJGYBYG.cjs.map +0 -1
  411. package/dist/chunk-XVZ4SLQB.js.map +0 -1
  412. package/dist/chunk-XXOBTAKA.js.map +0 -1
  413. package/dist/default-LIRPABBK.js +0 -3
  414. package/dist/default-ZGHKI5WF.cjs +0 -18
  415. package/dist/mieweb-PV2YKYO7.js +0 -3
  416. package/dist/mieweb-UJABK5XX.cjs +0 -18
  417. package/dist/waggleline-6IGA66HR.cjs +0 -18
  418. package/dist/waggleline-BMUYAFJF.js +0 -3
  419. package/dist/webchart-2SLO5ICI.js +0 -3
  420. package/dist/webchart-EHVGP46N.cjs +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Breadcrumb/Breadcrumb.tsx"],"names":["React","jsx","jsxs","cn"],"mappings":"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","file":"chunk-BWYYA3LQ.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Breadcrumb Types\n// ============================================================================\n\nexport interface BreadcrumbItem {\n /** Label for the breadcrumb item */\n label: string;\n /** URL to navigate to (optional for the last item) */\n href?: string;\n /** Icon to display before the label */\n icon?: React.ReactNode;\n}\n\n// ============================================================================\n// Breadcrumb Component\n// ============================================================================\n\nexport interface BreadcrumbProps {\n /** Array of breadcrumb items */\n items: BreadcrumbItem[];\n /** Custom separator between items */\n separator?: React.ReactNode;\n /** Maximum items to display (collapses middle items) */\n maxItems?: number;\n /** Custom renderer for links */\n renderLink?: (item: BreadcrumbItem, index: number) => React.ReactNode;\n /** Additional class name */\n className?: string;\n}\n\n/**\n * A navigation breadcrumb component.\n *\n * @example\n * ```tsx\n * <Breadcrumb\n * items={[\n * { label: 'Home', href: '/' },\n * { label: 'Products', href: '/products' },\n * { label: 'Category', href: '/products/category' },\n * { label: 'Current Item' },\n * ]}\n * />\n * ```\n */\nfunction Breadcrumb({\n items,\n separator,\n maxItems,\n renderLink,\n className,\n}: BreadcrumbProps) {\n // Collapse items if maxItems is specified\n const displayedItems = React.useMemo(() => {\n if (!maxItems || items.length <= maxItems) {\n return items;\n }\n\n // Show first item, ellipsis, and last (maxItems - 2) items\n const firstItem = items[0];\n const lastItems = items.slice(-(maxItems - 1));\n\n return [\n firstItem,\n { label: '...', isEllipsis: true } as BreadcrumbItem & {\n isEllipsis?: boolean;\n },\n ...lastItems,\n ];\n }, [items, maxItems]);\n\n const defaultSeparator = (\n <ChevronRightIcon className=\"text-muted-foreground h-4 w-4 shrink-0\" />\n );\n\n return (\n <nav data-slot=\"breadcrumb\" aria-label=\"Breadcrumb\" className={className}>\n <ol\n data-slot=\"breadcrumb-list\"\n className=\"flex flex-wrap items-center gap-1.5\"\n >\n {displayedItems.map((item, index) => {\n const isLast = index === displayedItems.length - 1;\n const isEllipsis = (item as BreadcrumbItem & { isEllipsis?: boolean })\n .isEllipsis;\n\n return (\n <li key={index} className=\"flex items-center gap-1.5\">\n {index > 0 && (\n <span data-slot=\"breadcrumb-separator\" aria-hidden=\"true\">\n {separator || defaultSeparator}\n </span>\n )}\n {isEllipsis ? (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n className=\"text-muted-foreground text-sm\"\n >\n ...\n </span>\n ) : isLast || !item.href ? (\n <BreadcrumbPage item={item} />\n ) : renderLink ? (\n <span data-slot=\"breadcrumb-link\">\n {renderLink(item, index)}\n </span>\n ) : (\n <BreadcrumbLink item={item} />\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n}\n\nBreadcrumb.displayName = 'Breadcrumb';\n\n// ============================================================================\n// Breadcrumb Link (Internal)\n// ============================================================================\n\ninterface BreadcrumbLinkProps {\n item: BreadcrumbItem;\n}\n\nfunction BreadcrumbLink({ item }: BreadcrumbLinkProps) {\n return (\n <a\n href={item.href}\n data-slot=\"breadcrumb-link\"\n className={cn(\n 'inline-flex items-center gap-1.5',\n 'text-muted-foreground text-sm',\n 'hover:text-foreground transition-colors',\n 'focus-visible:ring-ring rounded focus-visible:ring-2 focus-visible:outline-none'\n )}\n >\n {item.icon}\n {item.label}\n </a>\n );\n}\n\n// ============================================================================\n// Breadcrumb Page (Current Page - Internal)\n// ============================================================================\n\ninterface BreadcrumbPageProps {\n item: BreadcrumbItem;\n}\n\nfunction BreadcrumbPage({ item }: BreadcrumbPageProps) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n className=\"text-foreground inline-flex items-center gap-1.5 text-sm font-medium\"\n aria-current=\"page\"\n >\n {item.icon}\n {item.label}\n </span>\n );\n}\n\n// ============================================================================\n// Chevron Icon\n// ============================================================================\n\nfunction ChevronRightIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n );\n}\n\n// ============================================================================\n// Slash Separator Component\n// ============================================================================\n\nfunction BreadcrumbSlash({ className }: { className?: string }) {\n return (\n <span\n className={cn('text-muted-foreground mx-1', className)}\n aria-hidden=\"true\"\n >\n /\n </span>\n );\n}\n\nexport { Breadcrumb, BreadcrumbSlash };\n"]}
@@ -0,0 +1,588 @@
1
+ import { inputVariants } from './chunk-PVUDXJAI.js';
2
+ import { useClickOutside } from './chunk-OKBR6PX4.js';
3
+ import { useEscapeKey } from './chunk-T4ME7QCT.js';
4
+ import { cn } from './chunk-F3SOEIN2.js';
5
+ import * as React from 'react';
6
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
+
8
+ var placementStyles = {
9
+ "bottom-start": "top-full left-0 mt-2",
10
+ "bottom-end": "top-full right-0 mt-2",
11
+ bottom: "top-full left-1/2 -translate-x-1/2 mt-2"
12
+ };
13
+ var DropdownContext = React.createContext(null);
14
+ function getNodeText(node) {
15
+ if (typeof node === "string" || typeof node === "number") {
16
+ return String(node);
17
+ }
18
+ if (Array.isArray(node)) {
19
+ return node.map(getNodeText).join(" ");
20
+ }
21
+ if (React.isValidElement(node)) {
22
+ return getNodeText(node.props.children);
23
+ }
24
+ return "";
25
+ }
26
+ function isDropdownElement(node, component) {
27
+ return React.isValidElement(node) && node.type === component;
28
+ }
29
+ function hasVisibleDropdownContent(node) {
30
+ if (node == null || typeof node === "boolean") {
31
+ return false;
32
+ }
33
+ if (Array.isArray(node)) {
34
+ return node.some(hasVisibleDropdownContent);
35
+ }
36
+ if (!React.isValidElement(node)) {
37
+ if (typeof node === "string") {
38
+ return node.trim().length > 0;
39
+ }
40
+ return true;
41
+ }
42
+ if (node.type === React.Fragment) {
43
+ return React.Children.toArray(node.props.children).some(
44
+ hasVisibleDropdownContent
45
+ );
46
+ }
47
+ if (node.type === DropdownSeparator || node.type === DropdownLabel || node.type === DropdownHeader) {
48
+ return false;
49
+ }
50
+ if (node.type === DropdownContent) {
51
+ return React.Children.toArray(node.props.children).some(
52
+ hasVisibleDropdownContent
53
+ );
54
+ }
55
+ return true;
56
+ }
57
+ function normalizeDropdownSiblings(children) {
58
+ const hasContentBefore = (index) => {
59
+ for (let current = index - 1; current >= 0; current -= 1) {
60
+ const child = children[current];
61
+ if (isDropdownElement(child, DropdownSeparator)) {
62
+ return false;
63
+ }
64
+ if (hasVisibleDropdownContent(child)) {
65
+ return true;
66
+ }
67
+ }
68
+ return false;
69
+ };
70
+ const hasContentAfter = (index) => {
71
+ for (let current = index + 1; current < children.length; current += 1) {
72
+ const child = children[current];
73
+ if (isDropdownElement(child, DropdownSeparator)) {
74
+ return false;
75
+ }
76
+ if (hasVisibleDropdownContent(child)) {
77
+ return true;
78
+ }
79
+ }
80
+ return false;
81
+ };
82
+ return children.filter((child, index) => {
83
+ if (isDropdownElement(child, DropdownSeparator)) {
84
+ return hasContentBefore(index) && hasContentAfter(index);
85
+ }
86
+ if (isDropdownElement(child, DropdownLabel)) {
87
+ return hasContentAfter(index);
88
+ }
89
+ return true;
90
+ });
91
+ }
92
+ function filterDropdownChildren(children, query) {
93
+ const normalizedQuery = query.trim().toLowerCase();
94
+ if (!normalizedQuery) {
95
+ return React.Children.toArray(children);
96
+ }
97
+ const filteredChildren = React.Children.toArray(children).map((child) => {
98
+ if (!React.isValidElement(child)) {
99
+ if (typeof child === "string" || typeof child === "number") {
100
+ return String(child).toLowerCase().includes(normalizedQuery) ? child : null;
101
+ }
102
+ return null;
103
+ }
104
+ if (child.type === React.Fragment) {
105
+ const fragmentChildren = filterDropdownChildren(
106
+ child.props.children,
107
+ normalizedQuery
108
+ );
109
+ return fragmentChildren.length > 0 ? React.cloneElement(child, void 0, fragmentChildren) : null;
110
+ }
111
+ if (isDropdownElement(child, DropdownHeader)) {
112
+ return child;
113
+ }
114
+ if (isDropdownElement(child, DropdownItem)) {
115
+ const searchText = [
116
+ getNodeText(child.props.children),
117
+ child.props.searchText
118
+ ].filter(Boolean).join(" ").toLowerCase();
119
+ return searchText.includes(normalizedQuery) ? child : null;
120
+ }
121
+ if (isDropdownElement(child, DropdownContent)) {
122
+ const contentChildren = filterDropdownChildren(
123
+ child.props.children,
124
+ normalizedQuery
125
+ );
126
+ return hasVisibleDropdownContent(contentChildren) ? React.cloneElement(child, void 0, contentChildren) : null;
127
+ }
128
+ if (isDropdownElement(child, DropdownSeparator)) {
129
+ return child;
130
+ }
131
+ if (isDropdownElement(child, DropdownLabel)) {
132
+ return child;
133
+ }
134
+ const nestedChildren = child.props.children;
135
+ if (nestedChildren === void 0) {
136
+ return child;
137
+ }
138
+ const filteredNestedChildren = filterDropdownChildren(
139
+ nestedChildren,
140
+ normalizedQuery
141
+ );
142
+ return filteredNestedChildren.length > 0 ? React.cloneElement(child, void 0, filteredNestedChildren) : null;
143
+ }).filter((child) => child !== null);
144
+ return normalizeDropdownSiblings(filteredChildren);
145
+ }
146
+ function getSelectableValues(children) {
147
+ return React.Children.toArray(children).flatMap((child) => {
148
+ if (!React.isValidElement(
149
+ child
150
+ )) {
151
+ return [];
152
+ }
153
+ if (child.type === React.Fragment || child.type === DropdownContent) {
154
+ return getSelectableValues(child.props.children);
155
+ }
156
+ if (isDropdownElement(child, DropdownItem)) {
157
+ return typeof child.props.value === "string" ? [child.props.value] : [];
158
+ }
159
+ return child.props.children !== void 0 ? getSelectableValues(child.props.children) : [];
160
+ });
161
+ }
162
+ function Dropdown({
163
+ trigger,
164
+ children,
165
+ open: controlledOpen,
166
+ onOpenChange,
167
+ placement = "bottom-start",
168
+ className,
169
+ width = "auto",
170
+ disabled = false,
171
+ searchable = false,
172
+ searchPlaceholder = "Search...",
173
+ searchAriaLabel = "Search dropdown items",
174
+ searchEmptyState = "No results found",
175
+ multiSelect = false,
176
+ selectedValues: controlledSelectedValues,
177
+ defaultSelectedValues = [],
178
+ onSelectedValuesChange,
179
+ showSelectAll = false,
180
+ selectAllLabel = "Select all"
181
+ }) {
182
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);
183
+ const [uncontrolledSelectedValues, setUncontrolledSelectedValues] = React.useState(defaultSelectedValues);
184
+ const [searchQuery, setSearchQuery] = React.useState("");
185
+ const containerRef = React.useRef(null);
186
+ const searchInputRef = React.useRef(null);
187
+ const menuId = React.useId();
188
+ const isControlled = controlledOpen !== void 0;
189
+ const isSelectedValuesControlled = controlledSelectedValues !== void 0;
190
+ const isOpen = isControlled ? controlledOpen : uncontrolledOpen;
191
+ const selectedValues = isSelectedValuesControlled ? controlledSelectedValues : uncontrolledSelectedValues;
192
+ const setOpen = React.useCallback(
193
+ (value) => {
194
+ if (!isControlled) {
195
+ setUncontrolledOpen(value);
196
+ }
197
+ onOpenChange?.(value);
198
+ },
199
+ [isControlled, onOpenChange]
200
+ );
201
+ const handleToggle = React.useCallback(() => {
202
+ if (!disabled) {
203
+ setOpen(!isOpen);
204
+ }
205
+ }, [disabled, isOpen, setOpen]);
206
+ const handleClose = React.useCallback(() => {
207
+ setOpen(false);
208
+ }, [setOpen]);
209
+ const setSelectedValues = React.useCallback(
210
+ (values) => {
211
+ if (!isSelectedValuesControlled) {
212
+ setUncontrolledSelectedValues(values);
213
+ }
214
+ onSelectedValuesChange?.(values);
215
+ },
216
+ [isSelectedValuesControlled, onSelectedValuesChange]
217
+ );
218
+ const toggleSelectedValue = React.useCallback(
219
+ (value) => {
220
+ if (!multiSelect) {
221
+ return;
222
+ }
223
+ setSelectedValues(
224
+ selectedValues.includes(value) ? selectedValues.filter((selectedValue) => selectedValue !== value) : [...selectedValues, value]
225
+ );
226
+ },
227
+ [multiSelect, selectedValues, setSelectedValues]
228
+ );
229
+ const dropdownContext = React.useMemo(
230
+ () => ({
231
+ multiSelect,
232
+ selectedValues,
233
+ toggleSelectedValue
234
+ }),
235
+ [multiSelect, selectedValues, toggleSelectedValue]
236
+ );
237
+ useClickOutside(containerRef, handleClose, isOpen);
238
+ useEscapeKey(handleClose, isOpen);
239
+ React.useEffect(() => {
240
+ if (!isOpen) {
241
+ setSearchQuery("");
242
+ return;
243
+ }
244
+ if (searchable) {
245
+ requestAnimationFrame(() => searchInputRef.current?.focus());
246
+ }
247
+ }, [isOpen, searchable]);
248
+ const triggerElement = React.cloneElement(trigger, {
249
+ onClick: handleToggle,
250
+ "aria-haspopup": "menu",
251
+ "aria-expanded": isOpen,
252
+ "aria-controls": isOpen ? menuId : void 0,
253
+ disabled: disabled || trigger.props.disabled
254
+ });
255
+ const widthStyle = typeof width === "number" ? { width: `${width}px` } : width === "trigger" ? { minWidth: "100%" } : {};
256
+ const filteredChildren = React.useMemo(
257
+ () => filterDropdownChildren(children, searchQuery),
258
+ [children, searchQuery]
259
+ );
260
+ const visibleSelectableValues = React.useMemo(
261
+ () => getSelectableValues(searchable ? filteredChildren : children),
262
+ [children, filteredChildren, searchable]
263
+ );
264
+ const hasSearchResults = React.useMemo(
265
+ () => hasVisibleDropdownContent(filteredChildren),
266
+ [filteredChildren]
267
+ );
268
+ const allVisibleSelected = visibleSelectableValues.length > 0 && visibleSelectableValues.every((value) => selectedValues.includes(value));
269
+ const someVisibleSelected = visibleSelectableValues.some(
270
+ (value) => selectedValues.includes(value)
271
+ );
272
+ const handleSelectAll = React.useCallback(() => {
273
+ if (!multiSelect || visibleSelectableValues.length === 0) {
274
+ return;
275
+ }
276
+ const visibleValueSet = new Set(visibleSelectableValues);
277
+ setSelectedValues(
278
+ allVisibleSelected ? selectedValues.filter((value) => !visibleValueSet.has(value)) : Array.from(/* @__PURE__ */ new Set([...selectedValues, ...visibleSelectableValues]))
279
+ );
280
+ }, [
281
+ allVisibleSelected,
282
+ multiSelect,
283
+ selectedValues,
284
+ setSelectedValues,
285
+ visibleSelectableValues
286
+ ]);
287
+ return /* @__PURE__ */ jsx(DropdownContext.Provider, { value: dropdownContext, children: /* @__PURE__ */ jsxs("div", { ref: containerRef, className: "relative inline-flex", children: [
288
+ triggerElement,
289
+ isOpen && /* @__PURE__ */ jsxs(
290
+ "div",
291
+ {
292
+ style: widthStyle,
293
+ "data-slot": "dropdown-menu",
294
+ className: cn(
295
+ "absolute z-50 min-w-[12rem]",
296
+ "rounded-xl border border-neutral-200 bg-white shadow-lg",
297
+ "dark:border-neutral-700 dark:bg-neutral-800",
298
+ "animate-in fade-in zoom-in-95 duration-100",
299
+ placementStyles[placement],
300
+ className
301
+ ),
302
+ children: [
303
+ searchable && /* @__PURE__ */ jsx(
304
+ "div",
305
+ {
306
+ className: "border-b border-neutral-200 p-2 dark:border-neutral-700",
307
+ "data-slot": "dropdown-search",
308
+ children: /* @__PURE__ */ jsx(
309
+ "input",
310
+ {
311
+ ref: searchInputRef,
312
+ type: "search",
313
+ value: searchQuery,
314
+ onChange: (event) => setSearchQuery(event.target.value),
315
+ placeholder: searchPlaceholder,
316
+ "aria-label": searchAriaLabel,
317
+ "aria-controls": menuId,
318
+ "aria-autocomplete": "list",
319
+ "data-slot": "dropdown-search-input",
320
+ className: cn(
321
+ inputVariants({ size: "sm" }),
322
+ "text-sm",
323
+ "dark:border-neutral-600 dark:bg-neutral-700 dark:text-neutral-100"
324
+ )
325
+ }
326
+ )
327
+ }
328
+ ),
329
+ /* @__PURE__ */ jsxs("div", { id: menuId, role: "menu", children: [
330
+ multiSelect && showSelectAll && visibleSelectableValues.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
331
+ /* @__PURE__ */ jsx("div", { className: "p-2", "data-slot": "dropdown-select-all", children: /* @__PURE__ */ jsx(
332
+ DropdownItem,
333
+ {
334
+ checked: allVisibleSelected,
335
+ indeterminate: !allVisibleSelected && someVisibleSelected,
336
+ onClick: handleSelectAll,
337
+ children: selectAllLabel
338
+ }
339
+ ) }),
340
+ /* @__PURE__ */ jsx(DropdownSeparator, {})
341
+ ] }),
342
+ searchable ? hasSearchResults ? filteredChildren : /* @__PURE__ */ jsx(
343
+ "div",
344
+ {
345
+ className: "text-muted-foreground px-3 py-4 text-center text-sm",
346
+ "data-slot": "dropdown-empty",
347
+ children: searchEmptyState
348
+ }
349
+ ) : children
350
+ ] })
351
+ ]
352
+ }
353
+ )
354
+ ] }) });
355
+ }
356
+ Dropdown.displayName = "Dropdown";
357
+ var DropdownHeader = React.forwardRef(
358
+ ({ className, avatar, title, subtitle, children, ...props }, ref) => {
359
+ return /* @__PURE__ */ jsxs(
360
+ "div",
361
+ {
362
+ ref,
363
+ "data-slot": "dropdown-header",
364
+ className: cn(
365
+ "border-b border-neutral-200 p-4 dark:border-neutral-700",
366
+ className
367
+ ),
368
+ ...props,
369
+ children: [
370
+ /* @__PURE__ */ jsxs(
371
+ "div",
372
+ {
373
+ className: "flex items-center gap-3",
374
+ "data-slot": "dropdown-header-row",
375
+ children: [
376
+ avatar,
377
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
378
+ /* @__PURE__ */ jsx(
379
+ "p",
380
+ {
381
+ className: "truncate text-sm font-semibold text-neutral-900 dark:text-white",
382
+ "data-slot": "dropdown-header-title",
383
+ children: title
384
+ }
385
+ ),
386
+ subtitle && /* @__PURE__ */ jsx(
387
+ "p",
388
+ {
389
+ className: "text-muted-foreground truncate text-xs",
390
+ "data-slot": "dropdown-header-subtitle",
391
+ children: subtitle
392
+ }
393
+ )
394
+ ] })
395
+ ]
396
+ }
397
+ ),
398
+ children
399
+ ]
400
+ }
401
+ );
402
+ }
403
+ );
404
+ DropdownHeader.displayName = "DropdownHeader";
405
+ var DropdownContent = React.forwardRef(
406
+ ({ className, ...props }, ref) => {
407
+ return /* @__PURE__ */ jsx(
408
+ "div",
409
+ {
410
+ ref,
411
+ "data-slot": "dropdown-content",
412
+ className: cn("p-2", className),
413
+ ...props
414
+ }
415
+ );
416
+ }
417
+ );
418
+ DropdownContent.displayName = "DropdownContent";
419
+ function DropdownItemCheckbox({
420
+ checked,
421
+ indeterminate = false
422
+ }) {
423
+ return /* @__PURE__ */ jsx(
424
+ "span",
425
+ {
426
+ "aria-hidden": "true",
427
+ "data-slot": "dropdown-checkbox",
428
+ className: cn(
429
+ "flex h-4 w-4 shrink-0 items-center justify-center rounded border-2 transition-colors duration-150",
430
+ checked || indeterminate ? "border-primary-500 bg-primary-800 text-white" : "border-input bg-background text-transparent"
431
+ ),
432
+ children: indeterminate ? /* @__PURE__ */ jsx(
433
+ "svg",
434
+ {
435
+ className: "h-3 w-3",
436
+ xmlns: "http://www.w3.org/2000/svg",
437
+ viewBox: "0 0 16 16",
438
+ fill: "none",
439
+ children: /* @__PURE__ */ jsx(
440
+ "path",
441
+ {
442
+ d: "M4 8h8",
443
+ stroke: "currentColor",
444
+ strokeWidth: "2",
445
+ strokeLinecap: "round"
446
+ }
447
+ )
448
+ }
449
+ ) : /* @__PURE__ */ jsx(
450
+ "svg",
451
+ {
452
+ className: "h-3 w-3",
453
+ xmlns: "http://www.w3.org/2000/svg",
454
+ viewBox: "0 0 16 16",
455
+ fill: "none",
456
+ children: /* @__PURE__ */ jsx(
457
+ "path",
458
+ {
459
+ d: "M3.5 8.5 6.5 11.5 12.5 4.5",
460
+ stroke: "currentColor",
461
+ strokeWidth: "2",
462
+ strokeLinecap: "round",
463
+ strokeLinejoin: "round"
464
+ }
465
+ )
466
+ }
467
+ )
468
+ }
469
+ );
470
+ }
471
+ var DropdownItem = React.forwardRef(
472
+ ({
473
+ className,
474
+ icon,
475
+ variant = "default",
476
+ children,
477
+ searchText,
478
+ checked,
479
+ indeterminate = false,
480
+ onCheckedChange,
481
+ onClick,
482
+ value,
483
+ disabled,
484
+ ...props
485
+ }, ref) => {
486
+ const dropdownContext = React.useContext(DropdownContext);
487
+ const itemValue = typeof value === "string" ? value : void 0;
488
+ const contextSelectedValues = dropdownContext?.selectedValues ?? [];
489
+ const isMultiSelectItem = dropdownContext?.multiSelect === true && itemValue !== void 0 || checked !== void 0 || indeterminate;
490
+ const isChecked = checked ?? (isMultiSelectItem ? itemValue !== void 0 && contextSelectedValues.includes(itemValue) : false);
491
+ const handleClick = React.useCallback(
492
+ (event) => {
493
+ if (dropdownContext && isMultiSelectItem && itemValue !== void 0 && !disabled) {
494
+ dropdownContext.toggleSelectedValue(itemValue);
495
+ onCheckedChange?.(!isChecked);
496
+ }
497
+ onClick?.(event);
498
+ },
499
+ [
500
+ disabled,
501
+ dropdownContext,
502
+ isChecked,
503
+ isMultiSelectItem,
504
+ itemValue,
505
+ onCheckedChange,
506
+ onClick
507
+ ]
508
+ );
509
+ return /* @__PURE__ */ jsxs(
510
+ "button",
511
+ {
512
+ ref,
513
+ type: "button",
514
+ role: isMultiSelectItem ? "menuitemcheckbox" : "menuitem",
515
+ "aria-checked": isMultiSelectItem ? indeterminate ? "mixed" : isChecked : void 0,
516
+ disabled,
517
+ "data-slot": "dropdown-item",
518
+ className: cn(
519
+ "flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm",
520
+ "transition-colors duration-150",
521
+ "focus:outline-none",
522
+ variant === "default" && [
523
+ "text-neutral-700 dark:text-neutral-300",
524
+ "hover:bg-neutral-100 dark:hover:bg-neutral-700",
525
+ "focus:bg-neutral-100 dark:focus:bg-neutral-700"
526
+ ],
527
+ variant === "danger" && [
528
+ "text-red-600 dark:text-red-400",
529
+ "hover:bg-red-50 dark:hover:bg-red-900/20",
530
+ "focus:bg-red-50 dark:focus:bg-red-900/20"
531
+ ],
532
+ className
533
+ ),
534
+ "data-search-text": searchText,
535
+ onClick: handleClick,
536
+ value,
537
+ ...props,
538
+ children: [
539
+ isMultiSelectItem && /* @__PURE__ */ jsx(
540
+ DropdownItemCheckbox,
541
+ {
542
+ checked: isChecked,
543
+ indeterminate
544
+ }
545
+ ),
546
+ icon && /* @__PURE__ */ jsx("span", { className: "h-4 w-4 shrink-0", "data-slot": "dropdown-item-icon", children: icon }),
547
+ /* @__PURE__ */ jsx("span", { className: "font-medium", "data-slot": "dropdown-item-label", children })
548
+ ]
549
+ }
550
+ );
551
+ }
552
+ );
553
+ DropdownItem.displayName = "DropdownItem";
554
+ function DropdownSeparator({ className }) {
555
+ return /* @__PURE__ */ jsx(
556
+ "hr",
557
+ {
558
+ "data-slot": "dropdown-separator",
559
+ className: cn(
560
+ "border-t border-neutral-200 dark:border-neutral-700",
561
+ className
562
+ )
563
+ }
564
+ );
565
+ }
566
+ DropdownSeparator.displayName = "DropdownSeparator";
567
+ function DropdownLabel({
568
+ className,
569
+ children
570
+ }) {
571
+ return /* @__PURE__ */ jsx(
572
+ "div",
573
+ {
574
+ "data-slot": "dropdown-label",
575
+ className: cn(
576
+ "px-3 py-1.5 text-xs font-semibold tracking-wider uppercase",
577
+ "text-muted-foreground",
578
+ className
579
+ ),
580
+ children
581
+ }
582
+ );
583
+ }
584
+ DropdownLabel.displayName = "DropdownLabel";
585
+
586
+ export { Dropdown, DropdownContent, DropdownHeader, DropdownItem, DropdownLabel, DropdownSeparator };
587
+ //# sourceMappingURL=chunk-C4QQAUYN.js.map
588
+ //# sourceMappingURL=chunk-C4QQAUYN.js.map