@hoardodile/ui 0.1.6 → 0.1.8

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 (273) hide show
  1. package/dist/chunk-2BVZEYNW.js +97 -0
  2. package/dist/chunk-2BVZEYNW.js.map +1 -0
  3. package/dist/chunk-2DTR6CD5.js +47 -0
  4. package/dist/chunk-2DTR6CD5.js.map +1 -0
  5. package/dist/chunk-2HWSCY4T.js +20 -0
  6. package/dist/chunk-2HWSCY4T.js.map +1 -0
  7. package/dist/chunk-363CCKQ7.js +75 -0
  8. package/dist/chunk-363CCKQ7.js.map +1 -0
  9. package/dist/chunk-3ZQJWBVB.js +30 -0
  10. package/dist/chunk-3ZQJWBVB.js.map +1 -0
  11. package/dist/chunk-4D36OO5W.js +277 -0
  12. package/dist/chunk-4D36OO5W.js.map +1 -0
  13. package/dist/chunk-4UITFLIN.js +31 -0
  14. package/dist/chunk-4UITFLIN.js.map +1 -0
  15. package/dist/chunk-6HAIUXNZ.js +11 -0
  16. package/dist/chunk-6HAIUXNZ.js.map +1 -0
  17. package/dist/chunk-7JMMFY67.js +62 -0
  18. package/dist/chunk-7JMMFY67.js.map +1 -0
  19. package/dist/chunk-7MWWHI6T.js +1149 -0
  20. package/dist/chunk-7MWWHI6T.js.map +1 -0
  21. package/dist/chunk-AEHTAUAQ.js +65 -0
  22. package/dist/chunk-AEHTAUAQ.js.map +1 -0
  23. package/dist/chunk-ASRGQ5BD.js +130 -0
  24. package/dist/chunk-ASRGQ5BD.js.map +1 -0
  25. package/dist/chunk-BFGOE5AI.js +187 -0
  26. package/dist/chunk-BFGOE5AI.js.map +1 -0
  27. package/dist/chunk-BRT25IDQ.js +46 -0
  28. package/dist/chunk-BRT25IDQ.js.map +1 -0
  29. package/dist/chunk-BU5DQOPM.js +29 -0
  30. package/dist/chunk-BU5DQOPM.js.map +1 -0
  31. package/dist/chunk-BWASOT5X.js +266 -0
  32. package/dist/chunk-BWASOT5X.js.map +1 -0
  33. package/dist/chunk-F32V4Z7Q.js +26 -0
  34. package/dist/chunk-F32V4Z7Q.js.map +1 -0
  35. package/dist/chunk-F7RHDRRJ.js +24 -0
  36. package/dist/chunk-F7RHDRRJ.js.map +1 -0
  37. package/dist/chunk-FH5RNCFR.js +21 -0
  38. package/dist/chunk-FH5RNCFR.js.map +1 -0
  39. package/dist/chunk-GKSX5ULZ.js +513 -0
  40. package/dist/chunk-GKSX5ULZ.js.map +1 -0
  41. package/dist/chunk-JPFDNRCA.js +26 -0
  42. package/dist/chunk-JPFDNRCA.js.map +1 -0
  43. package/dist/chunk-KNPRUZ4H.js +13 -0
  44. package/dist/chunk-KNPRUZ4H.js.map +1 -0
  45. package/dist/chunk-KOFWEPPB.js +254 -0
  46. package/dist/chunk-KOFWEPPB.js.map +1 -0
  47. package/dist/chunk-M5OJN54O.js +10 -0
  48. package/dist/chunk-M5OJN54O.js.map +1 -0
  49. package/dist/chunk-OEVALKQ5.js +51 -0
  50. package/dist/chunk-OEVALKQ5.js.map +1 -0
  51. package/dist/chunk-OW5FWLPH.js +33 -0
  52. package/dist/chunk-OW5FWLPH.js.map +1 -0
  53. package/dist/chunk-POX7TXBH.js +41 -0
  54. package/dist/chunk-POX7TXBH.js.map +1 -0
  55. package/dist/chunk-PWJBHUM2.js +58 -0
  56. package/dist/chunk-PWJBHUM2.js.map +1 -0
  57. package/dist/chunk-QGMDWGJT.js +23 -0
  58. package/dist/chunk-QGMDWGJT.js.map +1 -0
  59. package/dist/chunk-QGTQQNUL.js +36 -0
  60. package/dist/chunk-QGTQQNUL.js.map +1 -0
  61. package/dist/chunk-SAY52ZKI.js +152 -0
  62. package/dist/chunk-SAY52ZKI.js.map +1 -0
  63. package/dist/chunk-SKDPGSRL.js +166 -0
  64. package/dist/chunk-SKDPGSRL.js.map +1 -0
  65. package/dist/chunk-T56ARCUK.js +38 -0
  66. package/dist/chunk-T56ARCUK.js.map +1 -0
  67. package/dist/chunk-TDDHQZ62.js +227 -0
  68. package/dist/chunk-TDDHQZ62.js.map +1 -0
  69. package/dist/chunk-TMQ5OMBK.js +29 -0
  70. package/dist/chunk-TMQ5OMBK.js.map +1 -0
  71. package/dist/chunk-UEVND7AS.js +23 -0
  72. package/dist/chunk-UEVND7AS.js.map +1 -0
  73. package/dist/chunk-UPWHCG4S.js +40 -0
  74. package/dist/chunk-UPWHCG4S.js.map +1 -0
  75. package/dist/chunk-VWUNF7VX.js +3 -0
  76. package/dist/chunk-VWUNF7VX.js.map +1 -0
  77. package/dist/chunk-WI6O7GZK.js +45 -0
  78. package/dist/chunk-WI6O7GZK.js.map +1 -0
  79. package/dist/chunk-WVEK3WCX.js +21 -0
  80. package/dist/chunk-WVEK3WCX.js.map +1 -0
  81. package/dist/chunk-XBPQEZES.js +48 -0
  82. package/dist/chunk-XBPQEZES.js.map +1 -0
  83. package/dist/chunk-ZYAGKKR7.js +142 -0
  84. package/dist/chunk-ZYAGKKR7.js.map +1 -0
  85. package/dist/components/alert.js +2 -21
  86. package/dist/components/alert.js.map +1 -1
  87. package/dist/components/app-dialog.js +10 -654
  88. package/dist/components/app-dialog.js.map +1 -1
  89. package/dist/components/badge.js +2 -23
  90. package/dist/components/badge.js.map +1 -1
  91. package/dist/components/breadcrumb.js +5 -501
  92. package/dist/components/breadcrumb.js.map +1 -1
  93. package/dist/components/button.js +3 -76
  94. package/dist/components/button.js.map +1 -1
  95. package/dist/components/caption-bar.js +7 -518
  96. package/dist/components/caption-bar.js.map +1 -1
  97. package/dist/components/checkbox.js +4 -74
  98. package/dist/components/checkbox.js.map +1 -1
  99. package/dist/components/chip-button.js +4 -85
  100. package/dist/components/chip-button.js.map +1 -1
  101. package/dist/components/close-confirm-dialog.js +12 -662
  102. package/dist/components/close-confirm-dialog.js.map +1 -1
  103. package/dist/components/color-picker.js +7 -530
  104. package/dist/components/color-picker.js.map +1 -1
  105. package/dist/components/combobox.js +15 -934
  106. package/dist/components/combobox.js.map +1 -1
  107. package/dist/components/confirm-by-typing-dialog.js +12 -669
  108. package/dist/components/confirm-by-typing-dialog.js.map +1 -1
  109. package/dist/components/confirm-dialog.js +11 -637
  110. package/dist/components/confirm-dialog.js.map +1 -1
  111. package/dist/components/count-badge.js +2 -21
  112. package/dist/components/count-badge.js.map +1 -1
  113. package/dist/components/dialog.js +8 -569
  114. package/dist/components/dialog.js.map +1 -1
  115. package/dist/components/dropdown-menu.js +9 -1004
  116. package/dist/components/dropdown-menu.js.map +1 -1
  117. package/dist/components/dropdown-select.js +9 -880
  118. package/dist/components/dropdown-select.js.map +1 -1
  119. package/dist/components/empty.js +2 -21
  120. package/dist/components/empty.js.map +1 -1
  121. package/dist/components/filter-rail.js +7 -145
  122. package/dist/components/filter-rail.js.map +1 -1
  123. package/dist/components/fixed-action-bar.js +2 -21
  124. package/dist/components/fixed-action-bar.js.map +1 -1
  125. package/dist/components/font-picker.js +11 -586
  126. package/dist/components/font-picker.js.map +1 -1
  127. package/dist/components/form.js +9 -66
  128. package/dist/components/form.js.map +1 -1
  129. package/dist/components/icon-tile.js +3 -43
  130. package/dist/components/icon-tile.js.map +1 -1
  131. package/dist/components/icon-toggle.js +3 -43
  132. package/dist/components/icon-toggle.js.map +1 -1
  133. package/dist/components/icon.js +3 -47
  134. package/dist/components/icon.js.map +1 -1
  135. package/dist/components/image-crop-panel.js +19 -772
  136. package/dist/components/image-crop-panel.js.map +1 -1
  137. package/dist/components/image-cropper.js +1 -164
  138. package/dist/components/image-cropper.js.map +1 -1
  139. package/dist/components/input-group.js +6 -268
  140. package/dist/components/input-group.js.map +1 -1
  141. package/dist/components/input.js +3 -58
  142. package/dist/components/input.js.map +1 -1
  143. package/dist/components/label.js +3 -38
  144. package/dist/components/label.js.map +1 -1
  145. package/dist/components/list-empty-row.js +2 -21
  146. package/dist/components/list-empty-row.js.map +1 -1
  147. package/dist/components/management-empty.js +2 -21
  148. package/dist/components/management-empty.js.map +1 -1
  149. package/dist/components/management-skeleton.js +4 -59
  150. package/dist/components/management-skeleton.js.map +1 -1
  151. package/dist/components/meta-chip.js +2 -21
  152. package/dist/components/meta-chip.js.map +1 -1
  153. package/dist/components/mobile-drawer.js +7 -268
  154. package/dist/components/mobile-drawer.js.map +1 -1
  155. package/dist/components/page-header.js +3 -42
  156. package/dist/components/page-header.js.map +1 -1
  157. package/dist/components/page-scaffold.js +5 -76
  158. package/dist/components/page-scaffold.js.map +1 -1
  159. package/dist/components/pagination-bar.js +13 -614
  160. package/dist/components/pagination-bar.js.map +1 -1
  161. package/dist/components/pagination.js +6 -681
  162. package/dist/components/pagination.js.map +1 -1
  163. package/dist/components/panel-toolbar.js +11 -713
  164. package/dist/components/panel-toolbar.js.map +1 -1
  165. package/dist/components/pill-tabs.js +2 -21
  166. package/dist/components/pill-tabs.js.map +1 -1
  167. package/dist/components/plugin-download-consent.js +13 -663
  168. package/dist/components/plugin-download-consent.js.map +1 -1
  169. package/dist/components/popover.js +5 -242
  170. package/dist/components/popover.js.map +1 -1
  171. package/dist/components/preview-card.js +2 -21
  172. package/dist/components/preview-card.js.map +1 -1
  173. package/dist/components/progress.js +2 -20
  174. package/dist/components/progress.js.map +1 -1
  175. package/dist/components/radio-group.js +2 -21
  176. package/dist/components/radio-group.js.map +1 -1
  177. package/dist/components/scroll-area.js +2 -21
  178. package/dist/components/scroll-area.js.map +1 -1
  179. package/dist/components/search-field.js +6 -587
  180. package/dist/components/search-field.js.map +1 -1
  181. package/dist/components/secondary-stat.js +3 -40
  182. package/dist/components/secondary-stat.js.map +1 -1
  183. package/dist/components/section-header.js +3 -43
  184. package/dist/components/section-header.js.map +1 -1
  185. package/dist/components/section-label.js +3 -44
  186. package/dist/components/section-label.js.map +1 -1
  187. package/dist/components/section-tabs.js +2 -21
  188. package/dist/components/section-tabs.js.map +1 -1
  189. package/dist/components/separator.js +3 -47
  190. package/dist/components/separator.js.map +1 -1
  191. package/dist/components/sheet.js +8 -467
  192. package/dist/components/sheet.js.map +1 -1
  193. package/dist/components/sidebar.js +24 -1044
  194. package/dist/components/sidebar.js.map +1 -1
  195. package/dist/components/skeleton.js +3 -39
  196. package/dist/components/skeleton.js.map +1 -1
  197. package/dist/components/slider.js +2 -21
  198. package/dist/components/slider.js.map +1 -1
  199. package/dist/components/sortable-chip-list.js +2 -21
  200. package/dist/components/sortable-chip-list.js.map +1 -1
  201. package/dist/components/special-tag-surface.js +3 -531
  202. package/dist/components/special-tag-surface.js.map +1 -1
  203. package/dist/components/spinner.js +3 -63
  204. package/dist/components/spinner.js.map +1 -1
  205. package/dist/components/surface.js +3 -49
  206. package/dist/components/surface.js.map +1 -1
  207. package/dist/components/switch.js +3 -51
  208. package/dist/components/switch.js.map +1 -1
  209. package/dist/components/table.js +2 -20
  210. package/dist/components/table.js.map +1 -1
  211. package/dist/components/tag-chip.js +6 -617
  212. package/dist/components/tag-chip.js.map +1 -1
  213. package/dist/components/textarea.js +3 -56
  214. package/dist/components/textarea.js.map +1 -1
  215. package/dist/components/toast.js +8 -806
  216. package/dist/components/toast.js.map +1 -1
  217. package/dist/components/toggle.js +2 -20
  218. package/dist/components/toggle.js.map +1 -1
  219. package/dist/components/tooltip.js +3 -80
  220. package/dist/components/tooltip.js.map +1 -1
  221. package/dist/hooks/use-dialog-footer-actions.js +1 -9
  222. package/dist/hooks/use-dialog-footer-actions.js.map +1 -1
  223. package/dist/hooks/use-form-field.js +1 -34
  224. package/dist/hooks/use-form-field.js.map +1 -1
  225. package/dist/hooks/use-mobile.js +2 -27
  226. package/dist/hooks/use-mobile.js.map +1 -1
  227. package/dist/hooks/useMobileBackToClose.js +3 -232
  228. package/dist/hooks/useMobileBackToClose.js.map +1 -1
  229. package/dist/icons/actions.js +4 -521
  230. package/dist/icons/actions.js.map +1 -1
  231. package/dist/icons/icon-style.js +1 -49
  232. package/dist/icons/icon-style.js.map +1 -1
  233. package/dist/icons/marks.js +1 -46
  234. package/dist/icons/marks.js.map +1 -1
  235. package/dist/icons/registry.d.ts +2 -1
  236. package/dist/icons/registry.js +2 -1186
  237. package/dist/icons/registry.js.map +1 -1
  238. package/dist/index.js +10 -651
  239. package/dist/index.js.map +1 -1
  240. package/dist/lib/colors.js +1 -63
  241. package/dist/lib/colors.js.map +1 -1
  242. package/dist/lib/merge-config.js +1 -18
  243. package/dist/lib/merge-config.js.map +1 -1
  244. package/dist/lib/pagination.js +1 -24
  245. package/dist/lib/pagination.js.map +1 -1
  246. package/dist/lib/tag-surface.js +5 -613
  247. package/dist/lib/tag-surface.js.map +1 -1
  248. package/dist/lib/utils.js +2 -24
  249. package/dist/lib/utils.js.map +1 -1
  250. package/dist/res-card-template/format.d.ts +21 -0
  251. package/dist/res-card-template/format.js +3 -0
  252. package/dist/res-card-template/format.js.map +1 -0
  253. package/dist/res-card-template/icon.d.ts +38 -0
  254. package/dist/res-card-template/icon.js +3 -0
  255. package/dist/res-card-template/icon.js.map +1 -0
  256. package/dist/res-card-template/index.d.ts +4 -0
  257. package/dist/res-card-template/index.js +5 -0
  258. package/dist/res-card-template/index.js.map +1 -0
  259. package/dist/res-card-template/template.d.ts +48 -0
  260. package/dist/res-card-template/template.js +5 -0
  261. package/dist/res-card-template/template.js.map +1 -0
  262. package/dist/viewport.js +1 -11
  263. package/dist/viewport.js.map +1 -1
  264. package/package.json +9 -2
  265. package/src/components/image-crop-panel.dist.test.tsx +54 -0
  266. package/src/icons/registry.ts +8 -0
  267. package/src/res-card-template/format.test.ts +45 -0
  268. package/src/res-card-template/format.ts +36 -0
  269. package/src/res-card-template/icon.test.ts +100 -0
  270. package/src/res-card-template/icon.ts +86 -0
  271. package/src/res-card-template/index.ts +22 -0
  272. package/src/res-card-template/template.test.ts +457 -0
  273. package/src/res-card-template/template.ts +429 -0
@@ -1,1006 +1,11 @@
1
- import * as React from 'react';
2
- import { useRef, useEffect, useSyncExternalStore, createElement } from 'react';
3
- import { Menu } from '@base-ui/react/menu';
4
- import { clsx } from 'clsx';
5
- import { extendTailwindMerge } from 'tailwind-merge';
6
- import 'react-use';
7
- import '@solar-icons/react/bold/add-circle';
8
- import '@solar-icons/react/bold/align-left';
9
- import '@solar-icons/react/bold/alt-arrow-down';
10
- import '@solar-icons/react/bold/alt-arrow-left';
11
- import { AltArrowRightIcon as AltArrowRightIcon$2 } from '@solar-icons/react/bold/alt-arrow-right';
12
- import '@solar-icons/react/bold/alt-arrow-up';
13
- import '@solar-icons/react/bold/archive';
14
- import '@solar-icons/react/bold/arrow-right';
15
- import '@solar-icons/react/bold/arrow-to-top-left';
16
- import '@solar-icons/react/bold/arrow-to-top-right';
17
- import '@solar-icons/react/bold/bell';
18
- import '@solar-icons/react/bold/bolt';
19
- import '@solar-icons/react/bold/book';
20
- import '@solar-icons/react/bold/book-2';
21
- import '@solar-icons/react/bold/bookmark';
22
- import '@solar-icons/react/bold/bookmark-circle';
23
- import '@solar-icons/react/bold/box';
24
- import '@solar-icons/react/bold/branching-paths-up';
25
- import '@solar-icons/react/bold/bug';
26
- import '@solar-icons/react/bold/calendar-date';
27
- import '@solar-icons/react/bold/chat-round';
28
- import '@solar-icons/react/bold/chat-round-dots';
29
- import '@solar-icons/react/bold/chat-round-line';
30
- import '@solar-icons/react/bold/chat-square';
31
- import '@solar-icons/react/bold/check-circle';
32
- import '@solar-icons/react/bold/checklist';
33
- import '@solar-icons/react/bold/clipboard-list';
34
- import '@solar-icons/react/bold/clock-circle';
35
- import '@solar-icons/react/bold/compass';
36
- import '@solar-icons/react/bold/copy';
37
- import '@solar-icons/react/bold/crown';
38
- import '@solar-icons/react/bold/danger-triangle';
39
- import '@solar-icons/react/bold/database';
40
- import '@solar-icons/react/bold/diskette';
41
- import '@solar-icons/react/bold/dislike';
42
- import '@solar-icons/react/bold/document-add';
43
- import '@solar-icons/react/bold/document-text';
44
- import '@solar-icons/react/bold/double-alt-arrow-down';
45
- import '@solar-icons/react/bold/download';
46
- import '@solar-icons/react/bold/eraser';
47
- import '@solar-icons/react/bold/eye';
48
- import '@solar-icons/react/bold/file';
49
- import '@solar-icons/react/bold/file-remove';
50
- import '@solar-icons/react/bold/file-text';
51
- import '@solar-icons/react/bold/filter';
52
- import '@solar-icons/react/bold/filters';
53
- import '@solar-icons/react/bold/folder';
54
- import '@solar-icons/react/bold/folder-open';
55
- import '@solar-icons/react/bold/folder-path-connect';
56
- import '@solar-icons/react/bold/forbidden-circle';
57
- import '@solar-icons/react/bold/gallery';
58
- import '@solar-icons/react/bold/gallery-add';
59
- import '@solar-icons/react/bold/gallery-wide';
60
- import '@solar-icons/react/bold/global';
61
- import '@solar-icons/react/bold/graph-down';
62
- import '@solar-icons/react/bold/graph-up';
63
- import '@solar-icons/react/bold/hamburger-menu';
64
- import '@solar-icons/react/bold/hand-heart';
65
- import '@solar-icons/react/bold/heart';
66
- import '@solar-icons/react/bold/help';
67
- import '@solar-icons/react/bold/history';
68
- import '@solar-icons/react/bold/home-angle';
69
- import '@solar-icons/react/bold/info-circle';
70
- import '@solar-icons/react/bold/layers';
71
- import '@solar-icons/react/bold/letter';
72
- import '@solar-icons/react/bold/like';
73
- import '@solar-icons/react/bold/link';
74
- import '@solar-icons/react/bold/list';
75
- import '@solar-icons/react/bold/list-vertical';
76
- import '@solar-icons/react/bold/lock-password';
77
- import '@solar-icons/react/bold/login-2';
78
- import '@solar-icons/react/bold/logout';
79
- import '@solar-icons/react/bold/magic-wand-2';
80
- import '@solar-icons/react/bold/magnifier';
81
- import '@solar-icons/react/bold/magnifier-zoom-in';
82
- import '@solar-icons/react/bold/magnifier-zoom-out';
83
- import '@solar-icons/react/bold/maximize';
84
- import '@solar-icons/react/bold/menu-dots';
85
- import '@solar-icons/react/bold/minimize';
86
- import '@solar-icons/react/bold/minus-square';
87
- import '@solar-icons/react/bold/monitor';
88
- import '@solar-icons/react/bold/monitor-smartphone';
89
- import '@solar-icons/react/bold/moon';
90
- import '@solar-icons/react/bold/move-to-folder';
91
- import '@solar-icons/react/bold/music-notes';
92
- import '@solar-icons/react/bold/palette';
93
- import '@solar-icons/react/bold/palette-round';
94
- import '@solar-icons/react/bold/pause';
95
- import '@solar-icons/react/bold/pen';
96
- import '@solar-icons/react/bold/pen-new-round';
97
- import '@solar-icons/react/bold/pie-chart';
98
- import '@solar-icons/react/bold/pin';
99
- import '@solar-icons/react/bold/play';
100
- import '@solar-icons/react/bold/plug-circle';
101
- import '@solar-icons/react/bold/plus-minus';
102
- import '@solar-icons/react/bold/pulse';
103
- import '@solar-icons/react/bold/refresh';
104
- import '@solar-icons/react/bold/refresh-circle';
105
- import '@solar-icons/react/bold/reorder';
106
- import '@solar-icons/react/bold/repeat';
107
- import '@solar-icons/react/bold/reply';
108
- import '@solar-icons/react/bold/restart';
109
- import '@solar-icons/react/bold/rocket';
110
- import '@solar-icons/react/bold/route';
111
- import '@solar-icons/react/bold/scale';
112
- import '@solar-icons/react/bold/server';
113
- import '@solar-icons/react/bold/settings';
114
- import '@solar-icons/react/bold/share';
115
- import '@solar-icons/react/bold/shield-check';
116
- import '@solar-icons/react/bold/shop-2';
117
- import '@solar-icons/react/bold/sidebar-minimalistic';
118
- import '@solar-icons/react/bold/slider-horizontal';
119
- import '@solar-icons/react/bold/smartphone';
120
- import '@solar-icons/react/bold/sort';
121
- import '@solar-icons/react/bold/sort-by-time';
122
- import '@solar-icons/react/bold/sort-horizontal';
123
- import '@solar-icons/react/bold/sort-vertical';
124
- import '@solar-icons/react/bold/star';
125
- import '@solar-icons/react/bold/structure';
126
- import '@solar-icons/react/bold/sun';
127
- import '@solar-icons/react/bold/tag';
128
- import '@solar-icons/react/bold/telescope';
129
- import '@solar-icons/react/bold/test-tube';
130
- import '@solar-icons/react/bold/text-format';
131
- import '@solar-icons/react/bold/transfer-horizontal';
132
- import '@solar-icons/react/bold/translation';
133
- import '@solar-icons/react/bold/trash-bin-minimalistic';
134
- import '@solar-icons/react/bold/undo-left';
135
- import '@solar-icons/react/bold/undo-left-round';
136
- import '@solar-icons/react/bold/undo-right';
137
- import '@solar-icons/react/bold/undo-right-round';
138
- import '@solar-icons/react/bold/upload';
139
- import '@solar-icons/react/bold/user';
140
- import '@solar-icons/react/bold/user-id';
141
- import '@solar-icons/react/bold/user-minus';
142
- import '@solar-icons/react/bold/user-plus';
143
- import '@solar-icons/react/bold/users-group-rounded';
144
- import '@solar-icons/react/bold/users-group-two-rounded';
145
- import '@solar-icons/react/bold/video-frame';
146
- import '@solar-icons/react/bold/widget-2';
147
- import '@solar-icons/react/bold/widget-5';
148
- import '@solar-icons/react/bold/window-frame';
149
- import '@solar-icons/react/bold-duotone/add-circle';
150
- import '@solar-icons/react/bold-duotone/align-left';
151
- import '@solar-icons/react/bold-duotone/alt-arrow-down';
152
- import '@solar-icons/react/bold-duotone/alt-arrow-left';
153
- import { AltArrowRightIcon as AltArrowRightIcon$1 } from '@solar-icons/react/bold-duotone/alt-arrow-right';
154
- import '@solar-icons/react/bold-duotone/alt-arrow-up';
155
- import '@solar-icons/react/bold-duotone/archive';
156
- import '@solar-icons/react/bold-duotone/arrow-right';
157
- import '@solar-icons/react/bold-duotone/arrow-to-top-left';
158
- import '@solar-icons/react/bold-duotone/arrow-to-top-right';
159
- import '@solar-icons/react/bold-duotone/bell';
160
- import '@solar-icons/react/bold-duotone/bolt';
161
- import '@solar-icons/react/bold-duotone/book';
162
- import '@solar-icons/react/bold-duotone/book-2';
163
- import '@solar-icons/react/bold-duotone/bookmark';
164
- import '@solar-icons/react/bold-duotone/bookmark-circle';
165
- import '@solar-icons/react/bold-duotone/box';
166
- import '@solar-icons/react/bold-duotone/branching-paths-up';
167
- import '@solar-icons/react/bold-duotone/bug';
168
- import '@solar-icons/react/bold-duotone/calendar-date';
169
- import '@solar-icons/react/bold-duotone/chat-round';
170
- import '@solar-icons/react/bold-duotone/chat-round-dots';
171
- import '@solar-icons/react/bold-duotone/chat-round-line';
172
- import '@solar-icons/react/bold-duotone/chat-square';
173
- import '@solar-icons/react/bold-duotone/check-circle';
174
- import '@solar-icons/react/bold-duotone/checklist';
175
- import '@solar-icons/react/bold-duotone/clipboard-list';
176
- import '@solar-icons/react/bold-duotone/clock-circle';
177
- import '@solar-icons/react/bold-duotone/compass';
178
- import '@solar-icons/react/bold-duotone/copy';
179
- import '@solar-icons/react/bold-duotone/crown';
180
- import '@solar-icons/react/bold-duotone/danger-triangle';
181
- import '@solar-icons/react/bold-duotone/database';
182
- import '@solar-icons/react/bold-duotone/diskette';
183
- import '@solar-icons/react/bold-duotone/dislike';
184
- import '@solar-icons/react/bold-duotone/document-add';
185
- import '@solar-icons/react/bold-duotone/document-text';
186
- import '@solar-icons/react/bold-duotone/double-alt-arrow-down';
187
- import '@solar-icons/react/bold-duotone/download';
188
- import '@solar-icons/react/bold-duotone/eraser';
189
- import '@solar-icons/react/bold-duotone/eye';
190
- import '@solar-icons/react/bold-duotone/file';
191
- import '@solar-icons/react/bold-duotone/file-remove';
192
- import '@solar-icons/react/bold-duotone/file-text';
193
- import '@solar-icons/react/bold-duotone/filter';
194
- import '@solar-icons/react/bold-duotone/filters';
195
- import '@solar-icons/react/bold-duotone/folder';
196
- import '@solar-icons/react/bold-duotone/folder-open';
197
- import '@solar-icons/react/bold-duotone/folder-path-connect';
198
- import '@solar-icons/react/bold-duotone/forbidden-circle';
199
- import '@solar-icons/react/bold-duotone/gallery';
200
- import '@solar-icons/react/bold-duotone/gallery-add';
201
- import '@solar-icons/react/bold-duotone/gallery-wide';
202
- import '@solar-icons/react/bold-duotone/global';
203
- import '@solar-icons/react/bold-duotone/graph-down';
204
- import '@solar-icons/react/bold-duotone/graph-up';
205
- import '@solar-icons/react/bold-duotone/hamburger-menu';
206
- import '@solar-icons/react/bold-duotone/hand-heart';
207
- import '@solar-icons/react/bold-duotone/heart';
208
- import '@solar-icons/react/bold-duotone/help';
209
- import '@solar-icons/react/bold-duotone/history';
210
- import '@solar-icons/react/bold-duotone/home-angle';
211
- import '@solar-icons/react/bold-duotone/info-circle';
212
- import '@solar-icons/react/bold-duotone/layers';
213
- import '@solar-icons/react/bold-duotone/letter';
214
- import '@solar-icons/react/bold-duotone/like';
215
- import '@solar-icons/react/bold-duotone/link';
216
- import '@solar-icons/react/bold-duotone/list';
217
- import '@solar-icons/react/bold-duotone/list-vertical';
218
- import '@solar-icons/react/bold-duotone/lock-password';
219
- import '@solar-icons/react/bold-duotone/login-2';
220
- import '@solar-icons/react/bold-duotone/logout';
221
- import '@solar-icons/react/bold-duotone/magic-wand-2';
222
- import '@solar-icons/react/bold-duotone/magnifier';
223
- import '@solar-icons/react/bold-duotone/magnifier-zoom-in';
224
- import '@solar-icons/react/bold-duotone/magnifier-zoom-out';
225
- import '@solar-icons/react/bold-duotone/maximize';
226
- import '@solar-icons/react/bold-duotone/menu-dots';
227
- import '@solar-icons/react/bold-duotone/minimize';
228
- import '@solar-icons/react/bold-duotone/minus-square';
229
- import '@solar-icons/react/bold-duotone/monitor';
230
- import '@solar-icons/react/bold-duotone/monitor-smartphone';
231
- import '@solar-icons/react/bold-duotone/moon';
232
- import '@solar-icons/react/bold-duotone/move-to-folder';
233
- import '@solar-icons/react/bold-duotone/music-notes';
234
- import '@solar-icons/react/bold-duotone/palette';
235
- import '@solar-icons/react/bold-duotone/palette-round';
236
- import '@solar-icons/react/bold-duotone/pause';
237
- import '@solar-icons/react/bold-duotone/pen';
238
- import '@solar-icons/react/bold-duotone/pen-new-round';
239
- import '@solar-icons/react/bold-duotone/pie-chart';
240
- import '@solar-icons/react/bold-duotone/pin';
241
- import '@solar-icons/react/bold-duotone/play';
242
- import '@solar-icons/react/bold-duotone/plug-circle';
243
- import '@solar-icons/react/bold-duotone/plus-minus';
244
- import '@solar-icons/react/bold-duotone/pulse';
245
- import '@solar-icons/react/bold-duotone/refresh';
246
- import '@solar-icons/react/bold-duotone/refresh-circle';
247
- import '@solar-icons/react/bold-duotone/reorder';
248
- import '@solar-icons/react/bold-duotone/repeat';
249
- import '@solar-icons/react/bold-duotone/reply';
250
- import '@solar-icons/react/bold-duotone/restart';
251
- import '@solar-icons/react/bold-duotone/rocket';
252
- import '@solar-icons/react/bold-duotone/route';
253
- import '@solar-icons/react/bold-duotone/scale';
254
- import '@solar-icons/react/bold-duotone/server';
255
- import '@solar-icons/react/bold-duotone/settings';
256
- import '@solar-icons/react/bold-duotone/share';
257
- import '@solar-icons/react/bold-duotone/shield-check';
258
- import '@solar-icons/react/bold-duotone/shop-2';
259
- import '@solar-icons/react/bold-duotone/sidebar-minimalistic';
260
- import '@solar-icons/react/bold-duotone/slider-horizontal';
261
- import '@solar-icons/react/bold-duotone/smartphone';
262
- import '@solar-icons/react/bold-duotone/sort';
263
- import '@solar-icons/react/bold-duotone/sort-by-time';
264
- import '@solar-icons/react/bold-duotone/sort-horizontal';
265
- import '@solar-icons/react/bold-duotone/sort-vertical';
266
- import '@solar-icons/react/bold-duotone/star';
267
- import '@solar-icons/react/bold-duotone/structure';
268
- import '@solar-icons/react/bold-duotone/sun';
269
- import '@solar-icons/react/bold-duotone/tag';
270
- import '@solar-icons/react/bold-duotone/telescope';
271
- import '@solar-icons/react/bold-duotone/test-tube';
272
- import '@solar-icons/react/bold-duotone/text-format';
273
- import '@solar-icons/react/bold-duotone/transfer-horizontal';
274
- import '@solar-icons/react/bold-duotone/translation';
275
- import '@solar-icons/react/bold-duotone/trash-bin-minimalistic';
276
- import '@solar-icons/react/bold-duotone/undo-left';
277
- import '@solar-icons/react/bold-duotone/undo-left-round';
278
- import '@solar-icons/react/bold-duotone/undo-right';
279
- import '@solar-icons/react/bold-duotone/undo-right-round';
280
- import '@solar-icons/react/bold-duotone/upload';
281
- import '@solar-icons/react/bold-duotone/user';
282
- import '@solar-icons/react/bold-duotone/user-id';
283
- import '@solar-icons/react/bold-duotone/user-minus';
284
- import '@solar-icons/react/bold-duotone/user-plus';
285
- import '@solar-icons/react/bold-duotone/users-group-rounded';
286
- import '@solar-icons/react/bold-duotone/users-group-two-rounded';
287
- import '@solar-icons/react/bold-duotone/video-frame';
288
- import '@solar-icons/react/bold-duotone/widget-2';
289
- import '@solar-icons/react/bold-duotone/widget-5';
290
- import '@solar-icons/react/bold-duotone/window-frame';
291
- import '@solar-icons/react/linear/add-circle';
292
- import '@solar-icons/react/linear/align-left';
293
- import '@solar-icons/react/linear/alt-arrow-down';
294
- import '@solar-icons/react/linear/alt-arrow-left';
295
- import { AltArrowRightIcon } from '@solar-icons/react/linear/alt-arrow-right';
296
- import '@solar-icons/react/linear/alt-arrow-up';
297
- import '@solar-icons/react/linear/archive';
298
- import '@solar-icons/react/linear/arrow-right';
299
- import '@solar-icons/react/linear/arrow-to-top-left';
300
- import '@solar-icons/react/linear/arrow-to-top-right';
301
- import '@solar-icons/react/linear/bell';
302
- import '@solar-icons/react/linear/bolt';
303
- import '@solar-icons/react/linear/book';
304
- import '@solar-icons/react/linear/book-2';
305
- import '@solar-icons/react/linear/bookmark';
306
- import '@solar-icons/react/linear/bookmark-circle';
307
- import '@solar-icons/react/linear/box';
308
- import '@solar-icons/react/linear/branching-paths-up';
309
- import '@solar-icons/react/linear/bug';
310
- import '@solar-icons/react/linear/calendar-date';
311
- import '@solar-icons/react/linear/chat-round';
312
- import '@solar-icons/react/linear/chat-round-dots';
313
- import '@solar-icons/react/linear/chat-round-line';
314
- import '@solar-icons/react/linear/chat-square';
315
- import '@solar-icons/react/linear/check-circle';
316
- import '@solar-icons/react/linear/checklist';
317
- import '@solar-icons/react/linear/clipboard-list';
318
- import '@solar-icons/react/linear/clock-circle';
319
- import '@solar-icons/react/linear/compass';
320
- import '@solar-icons/react/linear/copy';
321
- import '@solar-icons/react/linear/crown';
322
- import '@solar-icons/react/linear/danger-triangle';
323
- import '@solar-icons/react/linear/database';
324
- import '@solar-icons/react/linear/diskette';
325
- import '@solar-icons/react/linear/dislike';
326
- import '@solar-icons/react/linear/document-add';
327
- import '@solar-icons/react/linear/document-text';
328
- import '@solar-icons/react/linear/double-alt-arrow-down';
329
- import '@solar-icons/react/linear/download';
330
- import '@solar-icons/react/linear/eraser';
331
- import '@solar-icons/react/linear/eye';
332
- import '@solar-icons/react/linear/file';
333
- import '@solar-icons/react/linear/file-remove';
334
- import '@solar-icons/react/linear/file-text';
335
- import '@solar-icons/react/linear/filter';
336
- import '@solar-icons/react/linear/filters';
337
- import '@solar-icons/react/linear/folder';
338
- import '@solar-icons/react/linear/folder-open';
339
- import '@solar-icons/react/linear/folder-path-connect';
340
- import '@solar-icons/react/linear/forbidden-circle';
341
- import '@solar-icons/react/linear/gallery';
342
- import '@solar-icons/react/linear/gallery-add';
343
- import '@solar-icons/react/linear/gallery-wide';
344
- import '@solar-icons/react/linear/global';
345
- import '@solar-icons/react/linear/graph-down';
346
- import '@solar-icons/react/linear/graph-up';
347
- import '@solar-icons/react/linear/hamburger-menu';
348
- import '@solar-icons/react/linear/hand-heart';
349
- import '@solar-icons/react/linear/heart';
350
- import '@solar-icons/react/linear/help';
351
- import '@solar-icons/react/linear/history';
352
- import '@solar-icons/react/linear/home-angle';
353
- import '@solar-icons/react/linear/info-circle';
354
- import '@solar-icons/react/linear/layers';
355
- import '@solar-icons/react/linear/letter';
356
- import '@solar-icons/react/linear/like';
357
- import '@solar-icons/react/linear/link';
358
- import '@solar-icons/react/linear/list';
359
- import '@solar-icons/react/linear/list-vertical';
360
- import '@solar-icons/react/linear/lock-password';
361
- import '@solar-icons/react/linear/login-2';
362
- import '@solar-icons/react/linear/logout';
363
- import '@solar-icons/react/linear/magic-wand-2';
364
- import '@solar-icons/react/linear/magnifier';
365
- import '@solar-icons/react/linear/magnifier-zoom-in';
366
- import '@solar-icons/react/linear/magnifier-zoom-out';
367
- import '@solar-icons/react/linear/maximize';
368
- import '@solar-icons/react/linear/minimize';
369
- import '@solar-icons/react/linear/minus-square';
370
- import '@solar-icons/react/linear/monitor';
371
- import '@solar-icons/react/linear/monitor-smartphone';
372
- import '@solar-icons/react/linear/moon';
373
- import '@solar-icons/react/linear/move-to-folder';
374
- import '@solar-icons/react/linear/music-notes';
375
- import '@solar-icons/react/linear/palette';
376
- import '@solar-icons/react/linear/palette-round';
377
- import '@solar-icons/react/linear/pause';
378
- import '@solar-icons/react/linear/pen';
379
- import '@solar-icons/react/linear/pen-new-round';
380
- import '@solar-icons/react/linear/pie-chart';
381
- import '@solar-icons/react/linear/pin';
382
- import '@solar-icons/react/linear/play';
383
- import '@solar-icons/react/linear/plug-circle';
384
- import '@solar-icons/react/linear/plus-minus';
385
- import '@solar-icons/react/linear/pulse';
386
- import '@solar-icons/react/linear/refresh';
387
- import '@solar-icons/react/linear/refresh-circle';
388
- import '@solar-icons/react/linear/reorder';
389
- import '@solar-icons/react/linear/repeat';
390
- import '@solar-icons/react/linear/reply';
391
- import '@solar-icons/react/linear/restart';
392
- import '@solar-icons/react/linear/rocket';
393
- import '@solar-icons/react/linear/route';
394
- import '@solar-icons/react/linear/scale';
395
- import '@solar-icons/react/linear/server';
396
- import '@solar-icons/react/linear/settings';
397
- import '@solar-icons/react/linear/share';
398
- import '@solar-icons/react/linear/shield-check';
399
- import '@solar-icons/react/linear/shop-2';
400
- import '@solar-icons/react/linear/sidebar-minimalistic';
401
- import '@solar-icons/react/linear/slider-horizontal';
402
- import '@solar-icons/react/linear/smartphone';
403
- import '@solar-icons/react/linear/sort';
404
- import '@solar-icons/react/linear/sort-by-time';
405
- import '@solar-icons/react/linear/sort-horizontal';
406
- import '@solar-icons/react/linear/sort-vertical';
407
- import '@solar-icons/react/linear/star';
408
- import '@solar-icons/react/linear/structure';
409
- import '@solar-icons/react/linear/sun';
410
- import '@solar-icons/react/linear/tag';
411
- import '@solar-icons/react/linear/telescope';
412
- import '@solar-icons/react/linear/test-tube';
413
- import '@solar-icons/react/linear/text-format';
414
- import '@solar-icons/react/linear/transfer-horizontal';
415
- import '@solar-icons/react/linear/translation';
416
- import '@solar-icons/react/linear/trash-bin-minimalistic';
417
- import '@solar-icons/react/linear/undo-left';
418
- import '@solar-icons/react/linear/undo-left-round';
419
- import '@solar-icons/react/linear/undo-right';
420
- import '@solar-icons/react/linear/undo-right-round';
421
- import '@solar-icons/react/linear/upload';
422
- import '@solar-icons/react/linear/user';
423
- import '@solar-icons/react/linear/user-id';
424
- import '@solar-icons/react/linear/user-minus';
425
- import '@solar-icons/react/linear/user-plus';
426
- import '@solar-icons/react/linear/users-group-rounded';
427
- import '@solar-icons/react/linear/users-group-two-rounded';
428
- import '@solar-icons/react/linear/video-frame';
429
- import '@solar-icons/react/linear/widget-2';
430
- import '@solar-icons/react/linear/widget-5';
431
- import '@solar-icons/react/linear/window-frame';
432
- import { jsx, jsxs } from 'react/jsx-runtime';
433
-
434
- // src/components/dropdown-menu.tsx
435
- var mergeTheme = {
436
- text: ["tiny", "ui", "doc", "doc-title", "doc-heading", "quote"],
437
- spacing: ["chip", "control", "nav", "sidebar", "panel"],
438
- tracking: ["label"],
439
- shadow: ["card", "dialog"],
440
- container: ["reading", "medium", "content"],
441
- font: ["doc", "heading"],
442
- ease: ["standard"],
443
- animate: ["skel", "pop"]
444
- };
445
- var twMerge = extendTailwindMerge({
446
- extend: { theme: mergeTheme }
447
- });
448
-
449
- // src/lib/utils.ts
450
- function cn(...inputs) {
451
- return twMerge(clsx(inputs));
452
- }
453
-
454
- // src/viewport.ts
455
- var MOBILE_BREAKPOINT_PX = 768;
456
- var MOBILE_QUERY = `(max-width: ${MOBILE_BREAKPOINT_PX - 1}px)`;
457
- function isBelowMd() {
458
- if (typeof window === "undefined") return false;
459
- return window.matchMedia(MOBILE_QUERY).matches;
460
- }
461
- var HISTORY_KEY = "__appMobileOverlay";
462
- var overlayStack = [];
463
- var popListenerInstalled = false;
464
- var historyPatched = false;
465
- var nextOverlayId = 0;
466
- var suppressPopCount = 0;
467
- var seenSyntheticIds = /* @__PURE__ */ new Set();
468
- function patchHistory() {
469
- if (historyPatched) return;
470
- if (typeof window === "undefined") return;
471
- historyPatched = true;
472
- const origPush = window.history.pushState.bind(window.history);
473
- window.history.pushState = (data, unused, url) => {
474
- const state = data;
475
- if (state !== null && typeof state === "object" && HISTORY_KEY in state) {
476
- origPush(data, unused, url);
477
- return;
478
- }
479
- if (overlayStack.length > 0) {
480
- closeAllOverlays();
481
- }
482
- origPush(data, unused, url);
483
- };
484
- }
485
- function closeAllOverlays() {
486
- while (overlayStack.length > 0) {
487
- const entry = overlayStack.pop();
488
- if (entry?.close !== void 0) {
489
- const fn = entry.close;
490
- entry.close = void 0;
491
- fn();
492
- }
493
- }
494
- }
495
- function ensurePopListener() {
496
- if (popListenerInstalled) return;
497
- if (typeof window === "undefined") return;
498
- popListenerInstalled = true;
499
- window.addEventListener(
500
- "popstate",
501
- (e) => {
502
- if (suppressPopCount > 0) return;
503
- const state = e.state;
504
- if (state !== null && typeof state === "object" && HISTORY_KEY in state) {
505
- const id = state[HISTORY_KEY];
506
- if (typeof id === "number" && overlayStack.some((entry) => entry.id === id)) {
507
- closeTopOverlay();
508
- e.stopImmediatePropagation();
509
- return;
510
- }
511
- e.stopImmediatePropagation();
512
- if (typeof id === "number" && seenSyntheticIds.has(id)) {
513
- window.history.back();
514
- }
515
- }
516
- },
517
- true
518
- // capture phase
519
- );
520
- window.addEventListener("popstate", handlePop);
521
- patchHistory();
522
- }
523
- function closeTopOverlay() {
524
- const top = overlayStack.pop();
525
- if (top === void 0) return;
526
- if (top.close === void 0) return;
527
- const closeFn = top.close;
528
- top.close = void 0;
529
- closeFn();
530
- }
531
- function handlePop() {
532
- if (suppressPopCount > 0) {
533
- suppressPopCount--;
534
- return;
535
- }
536
- closeTopOverlay();
537
- }
538
- function removeFromStack(id) {
539
- const idx = overlayStack.findIndex((e) => e.id === id);
540
- if (idx === -1) return { removed: false, parkedBelow: 0 };
541
- const wasTop = idx === overlayStack.length - 1;
542
- if (!wasTop) {
543
- const entry = overlayStack[idx];
544
- if (entry !== void 0) entry.close = void 0;
545
- return { removed: true, parkedBelow: 0 };
546
- }
547
- overlayStack.pop();
548
- const remaining = overlayStack.splice(0, overlayStack.length);
549
- const active = remaining.filter((e) => e.close !== void 0);
550
- const parkedBelow = remaining.length - active.length;
551
- overlayStack.push(...active);
552
- return { removed: true, parkedBelow };
553
- }
554
- function scheduleStateRestore(id, baseState, parkedBelow) {
555
- function check() {
556
- const currentState = window.history.state;
557
- if (currentState === null || typeof currentState !== "object" || !(HISTORY_KEY in currentState) || currentState[HISTORY_KEY] !== id) {
558
- sweepParkedEntries();
559
- return;
560
- }
561
- const totalBacks = 1 + parkedBelow;
562
- let done = false;
563
- function restore() {
564
- if (done) return;
565
- done = true;
566
- window.removeEventListener("popstate", onPop);
567
- window.history.replaceState(baseState, "");
568
- const sweptIds = sweepParkedEntries();
569
- cleanupSeenIds(sweptIds);
570
- }
571
- function onPop() {
572
- if (suppressPopCount > 0) {
573
- suppressPopCount--;
574
- return;
575
- }
576
- restore();
577
- }
578
- window.addEventListener("popstate", onPop);
579
- suppressPopCount += totalBacks;
580
- for (let i = 0; i < totalBacks; i++) {
581
- window.history.back();
582
- }
583
- }
584
- let disposed = false;
585
- let rafId;
586
- function run() {
587
- if (disposed) return;
588
- disposed = true;
589
- if (rafId !== void 0) {
590
- cancelAnimationFrame(rafId);
591
- }
592
- check();
593
- }
594
- rafId = requestAnimationFrame(run);
595
- }
596
- function sweepParkedEntries() {
597
- const sweptIds = [];
598
- for (let i = overlayStack.length - 1; i >= 0; i--) {
599
- const entry = overlayStack[i];
600
- if (entry !== void 0 && entry.close === void 0) {
601
- sweptIds.push(entry.id);
602
- overlayStack.splice(i, 1);
603
- }
604
- }
605
- return sweptIds;
606
- }
607
- function cleanupSeenIds(sweptIds) {
608
- const activeIds = new Set(overlayStack.map((e) => e.id));
609
- for (const id of sweptIds) {
610
- if (!activeIds.has(id)) {
611
- seenSyntheticIds.delete(id);
612
- }
613
- }
614
- }
615
- function useMobileBackToClose(open, onOpenChange) {
616
- const idRef = useRef(void 0);
617
- const onChangeRef = useRef(onOpenChange);
618
- onChangeRef.current = onOpenChange;
619
- useEffect(() => {
620
- if (typeof window === "undefined") return;
621
- if (onChangeRef.current === void 0) return;
622
- if (!isBelowMd()) return;
623
- ensurePopListener();
624
- if (open === true && idRef.current === void 0) {
625
- const id = ++nextOverlayId;
626
- idRef.current = id;
627
- seenSyntheticIds.add(id);
628
- const baseState = window.history.state ?? null;
629
- window.history.pushState(
630
- {
631
- ...baseState ?? {},
632
- [HISTORY_KEY]: id
633
- },
634
- ""
635
- );
636
- overlayStack.push({
637
- id,
638
- baseState,
639
- close() {
640
- idRef.current = void 0;
641
- onChangeRef.current?.(false);
642
- }
643
- });
644
- return;
645
- }
646
- if (open !== true && idRef.current !== void 0) {
647
- const id = idRef.current;
648
- idRef.current = void 0;
649
- const entryIdx = overlayStack.findIndex((e) => e.id === id);
650
- const entry = entryIdx !== -1 ? overlayStack[entryIdx] : void 0;
651
- const { removed, parkedBelow } = removeFromStack(id);
652
- if (removed && entry !== void 0) {
653
- scheduleStateRestore(id, entry.baseState, parkedBelow);
654
- }
655
- }
656
- }, [open]);
657
- useEffect(() => {
658
- return () => {
659
- if (idRef.current !== void 0) {
660
- const id = idRef.current;
661
- idRef.current = void 0;
662
- const entryIdx = overlayStack.findIndex((e) => e.id === id);
663
- const entry = entryIdx !== -1 ? overlayStack[entryIdx] : void 0;
664
- const { removed, parkedBelow } = removeFromStack(id);
665
- if (removed && entry !== void 0) {
666
- scheduleStateRestore(id, entry.baseState, parkedBelow);
667
- }
668
- }
669
- };
670
- }, []);
671
- }
672
- function readIconMode() {
673
- return document.documentElement.dataset.iconStyle === "linear" ? "linear" : "boldDuotone";
674
- }
675
- var currentMode = "boldDuotone";
676
- var observer;
677
- var listeners = /* @__PURE__ */ new Set();
678
- function ensureObserver() {
679
- if (observer !== void 0 || typeof document === "undefined") return;
680
- observer = new MutationObserver(() => {
681
- const next = readIconMode();
682
- if (next === currentMode) return;
683
- currentMode = next;
684
- for (const cb of listeners) cb();
685
- });
686
- observer.observe(document.documentElement, {
687
- attributes: true,
688
- attributeFilter: ["data-icon-style"]
689
- });
690
- }
691
- function subscribeIconStyle(callback) {
692
- ensureObserver();
693
- currentMode = readIconMode();
694
- listeners.add(callback);
695
- return () => {
696
- listeners.delete(callback);
697
- };
698
- }
699
- function getIconStyleSnapshot() {
700
- return currentMode;
701
- }
702
- function createIcon(variants) {
703
- function Icon(props) {
704
- const current = useSyncExternalStore(
705
- subscribeIconStyle,
706
- getIconStyleSnapshot,
707
- () => "boldDuotone"
708
- );
709
- const { mode, ...rest } = props;
710
- const Component = variants[mode ?? current];
711
- const className = typeof rest.className === "string" ? `hd-icon ${rest.className}` : "hd-icon";
712
- return createElement(Component, { ...rest, className });
713
- }
714
- return Icon;
715
- }
716
- var AltArrowRight = createIcon({
717
- bold: AltArrowRightIcon$2,
718
- boldDuotone: AltArrowRightIcon$1,
719
- linear: AltArrowRightIcon
720
- });
721
- function Mark({
722
- d,
723
- filled,
724
- className
725
- }) {
726
- return /* @__PURE__ */ jsx(
727
- "svg",
728
- {
729
- xmlns: "http://www.w3.org/2000/svg",
730
- viewBox: "0 0 24 24",
731
- fill: "none",
732
- className,
733
- children: filled ? /* @__PURE__ */ jsx("path", { d, fill: "currentColor" }) : /* @__PURE__ */ jsx(
734
- "path",
735
- {
736
- d,
737
- stroke: "currentColor",
738
- strokeWidth: "2",
739
- strokeLinecap: "round",
740
- strokeLinejoin: "round"
741
- }
742
- )
743
- }
744
- );
745
- }
746
- function Check(props) {
747
- return /* @__PURE__ */ jsx(Mark, { ...props, d: "M5 12.8l4.7 4.7L19 7.2" });
748
- }
749
- function DropdownMenu({
750
- open,
751
- defaultOpen,
752
- onOpenChange,
753
- ...props
754
- }) {
755
- const [uncontrolledOpen, setUncontrolledOpen] = React.useState(
756
- defaultOpen ?? false
757
- );
758
- const isControlled = open !== void 0;
759
- const currentOpen = isControlled ? open : uncontrolledOpen;
760
- function handleOpenChange(next, eventDetails) {
761
- if (!isControlled) setUncontrolledOpen(next);
762
- onOpenChange?.(next, eventDetails);
763
- }
764
- useMobileBackToClose(currentOpen, handleOpenChange);
765
- return /* @__PURE__ */ jsx(
766
- Menu.Root,
767
- {
768
- "data-slot": "dropdown-menu",
769
- open: currentOpen,
770
- onOpenChange: handleOpenChange,
771
- ...props
772
- }
773
- );
774
- }
775
- function DropdownMenuPortal({ ...props }) {
776
- return /* @__PURE__ */ jsx(Menu.Portal, { "data-slot": "dropdown-menu-portal", ...props });
777
- }
778
- function DropdownMenuTrigger({ ...props }) {
779
- return /* @__PURE__ */ jsx(Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
780
- }
781
- function DropdownMenuContent({
782
- align = "start",
783
- alignOffset = 0,
784
- side = "bottom",
785
- sideOffset = 4,
786
- className,
787
- container,
788
- ...props
789
- }) {
790
- return /* @__PURE__ */ jsx(Menu.Portal, { container, children: /* @__PURE__ */ jsx(
791
- Menu.Positioner,
792
- {
793
- className: "isolate z-50 outline-none",
794
- align,
795
- alignOffset,
796
- side,
797
- sideOffset,
798
- children: /* @__PURE__ */ jsx(
799
- Menu.Popup,
800
- {
801
- "data-slot": "dropdown-menu-content",
802
- className: cn("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", className),
803
- ...props
804
- }
805
- )
806
- }
807
- ) });
808
- }
809
- function DropdownMenuGroup({ ...props }) {
810
- return /* @__PURE__ */ jsx(Menu.Group, { "data-slot": "dropdown-menu-group", ...props });
811
- }
812
- function DropdownMenuLabel({
813
- className,
814
- inset,
815
- ...props
816
- }) {
817
- return /* @__PURE__ */ jsx(
818
- Menu.GroupLabel,
819
- {
820
- "data-slot": "dropdown-menu-label",
821
- "data-inset": inset,
822
- className: cn(
823
- "px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8",
824
- className
825
- ),
826
- ...props
827
- }
828
- );
829
- }
830
- function DropdownMenuItem({
831
- className,
832
- inset,
833
- variant = "default",
834
- ...props
835
- }) {
836
- return /* @__PURE__ */ jsx(
837
- Menu.Item,
838
- {
839
- "data-slot": "dropdown-menu-item",
840
- "data-inset": inset,
841
- "data-variant": variant,
842
- className: cn(
843
- "group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
844
- className
845
- ),
846
- ...props
847
- }
848
- );
849
- }
850
- function DropdownMenuSub({ ...props }) {
851
- return /* @__PURE__ */ jsx(Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
852
- }
853
- function DropdownMenuSubTrigger({
854
- className,
855
- inset,
856
- children,
857
- ...props
858
- }) {
859
- return /* @__PURE__ */ jsxs(
860
- Menu.SubmenuTrigger,
861
- {
862
- "data-slot": "dropdown-menu-sub-trigger",
863
- "data-inset": inset,
864
- className: cn(
865
- "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
866
- className
867
- ),
868
- ...props,
869
- children: [
870
- children,
871
- /* @__PURE__ */ jsx(AltArrowRight, { className: "ml-auto" })
872
- ]
873
- }
874
- );
875
- }
876
- function DropdownMenuSubContent({
877
- align = "start",
878
- alignOffset = -3,
879
- side = "right",
880
- sideOffset = 0,
881
- className,
882
- ...props
883
- }) {
884
- return /* @__PURE__ */ jsx(
885
- DropdownMenuContent,
886
- {
887
- "data-slot": "dropdown-menu-sub-content",
888
- className: cn("w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
889
- align,
890
- alignOffset,
891
- side,
892
- sideOffset,
893
- ...props
894
- }
895
- );
896
- }
897
- function DropdownMenuCheckboxItem({
898
- className,
899
- children,
900
- checked,
901
- inset,
902
- ...props
903
- }) {
904
- return /* @__PURE__ */ jsxs(
905
- Menu.CheckboxItem,
906
- {
907
- "data-slot": "dropdown-menu-checkbox-item",
908
- "data-inset": inset,
909
- className: cn(
910
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
911
- className
912
- ),
913
- checked,
914
- ...props,
915
- children: [
916
- /* @__PURE__ */ jsx(
917
- "span",
918
- {
919
- className: "pointer-events-none absolute right-2 flex items-center justify-center",
920
- "data-slot": "dropdown-menu-checkbox-item-indicator",
921
- children: /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(
922
- Check,
923
- {}
924
- ) })
925
- }
926
- ),
927
- children
928
- ]
929
- }
930
- );
931
- }
932
- function DropdownMenuRadioGroup({ ...props }) {
933
- return /* @__PURE__ */ jsx(
934
- Menu.RadioGroup,
935
- {
936
- "data-slot": "dropdown-menu-radio-group",
937
- ...props
938
- }
939
- );
940
- }
941
- function DropdownMenuRadioItem({
942
- className,
943
- children,
944
- inset,
945
- ...props
946
- }) {
947
- return /* @__PURE__ */ jsxs(
948
- Menu.RadioItem,
949
- {
950
- "data-slot": "dropdown-menu-radio-item",
951
- "data-inset": inset,
952
- className: cn(
953
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
954
- className
955
- ),
956
- ...props,
957
- children: [
958
- /* @__PURE__ */ jsx(
959
- "span",
960
- {
961
- className: "pointer-events-none absolute right-2 flex items-center justify-center",
962
- "data-slot": "dropdown-menu-radio-item-indicator",
963
- children: /* @__PURE__ */ jsx(Menu.RadioItemIndicator, { children: /* @__PURE__ */ jsx(
964
- Check,
965
- {}
966
- ) })
967
- }
968
- ),
969
- children
970
- ]
971
- }
972
- );
973
- }
974
- function DropdownMenuSeparator({
975
- className,
976
- ...props
977
- }) {
978
- return /* @__PURE__ */ jsx(
979
- Menu.Separator,
980
- {
981
- "data-slot": "dropdown-menu-separator",
982
- className: cn("-mx-1 my-1 h-px bg-border", className),
983
- ...props
984
- }
985
- );
986
- }
987
- function DropdownMenuShortcut({
988
- className,
989
- ...props
990
- }) {
991
- return /* @__PURE__ */ jsx(
992
- "span",
993
- {
994
- "data-slot": "dropdown-menu-shortcut",
995
- className: cn(
996
- "ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground",
997
- className
998
- ),
999
- ...props
1000
- }
1001
- );
1002
- }
1003
-
1004
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
1
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from '../chunk-BWASOT5X.js';
2
+ import '../chunk-TDDHQZ62.js';
3
+ import '../chunk-QGMDWGJT.js';
4
+ import '../chunk-XBPQEZES.js';
5
+ import '../chunk-KNPRUZ4H.js';
6
+ import '../chunk-7MWWHI6T.js';
7
+ import '../chunk-OEVALKQ5.js';
8
+ import '../chunk-M5OJN54O.js';
9
+ import '../chunk-2HWSCY4T.js';
1005
10
  //# sourceMappingURL=dropdown-menu.js.map
1006
11
  //# sourceMappingURL=dropdown-menu.js.map