@vezham/react 26.0.0-alpha.5 → 26.0.0-alpha.7

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 (435) hide show
  1. package/README.md +2 -0
  2. package/dist/index.css +55 -0
  3. package/dist/index.d.ts +6 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +5 -0
  6. package/dist/lib/components/actions-header/index.d.ts +26 -0
  7. package/dist/lib/components/actions-header/index.d.ts.map +1 -0
  8. package/dist/lib/components/actions-header/index.js +126 -0
  9. package/dist/lib/components/app-icon/index.d.ts +499 -0
  10. package/dist/lib/components/app-icon/index.d.ts.map +1 -0
  11. package/dist/lib/components/app-icon/index.js +513 -0
  12. package/dist/lib/components/app-menu/index.d.ts +22 -0
  13. package/dist/lib/components/app-menu/index.d.ts.map +1 -0
  14. package/dist/lib/components/app-menu/index.js +17 -0
  15. package/dist/lib/components/command/command-dialog.d.ts +10 -0
  16. package/dist/lib/components/command/command-dialog.d.ts.map +1 -0
  17. package/dist/lib/components/command/command-dialog.js +129 -0
  18. package/dist/lib/components/command/command-provider.d.ts +8 -0
  19. package/dist/lib/components/command/command-provider.d.ts.map +1 -0
  20. package/dist/lib/components/command/command-provider.js +44 -0
  21. package/dist/lib/components/command/index.d.ts +3 -0
  22. package/dist/lib/components/command/index.d.ts.map +1 -0
  23. package/dist/lib/components/command/index.js +3 -0
  24. package/dist/lib/components/menu/drawer.d.ts +4 -0
  25. package/dist/lib/components/menu/drawer.d.ts.map +1 -0
  26. package/dist/lib/components/menu/drawer.js +56 -0
  27. package/dist/lib/components/menu/index.d.ts +5 -0
  28. package/dist/lib/components/menu/index.d.ts.map +1 -0
  29. package/dist/lib/components/menu/index.js +138 -0
  30. package/dist/lib/components/menu/sheet.d.ts +15 -0
  31. package/dist/lib/components/menu/sheet.d.ts.map +1 -0
  32. package/dist/lib/components/menu/sheet.js +40 -0
  33. package/dist/lib/components/menu/types.d.ts +30 -0
  34. package/dist/lib/components/menu/types.d.ts.map +1 -0
  35. package/dist/lib/components/menu/types.js +7 -0
  36. package/dist/lib/components/menu/variant.d.ts +27 -0
  37. package/dist/lib/components/menu/variant.d.ts.map +1 -0
  38. package/dist/lib/components/menu/variant.js +28 -0
  39. package/dist/lib/components/mobile-controls/index.d.ts +11 -0
  40. package/dist/lib/components/mobile-controls/index.d.ts.map +1 -0
  41. package/dist/lib/components/mobile-controls/index.js +21 -0
  42. package/dist/lib/components/pagination/index.d.ts +10 -0
  43. package/dist/lib/components/pagination/index.d.ts.map +1 -0
  44. package/dist/lib/components/pagination/index.js +25 -0
  45. package/dist/lib/components/panel/footer/ai/chat-header.d.ts +9 -0
  46. package/dist/lib/components/panel/footer/ai/chat-header.d.ts.map +1 -0
  47. package/dist/lib/components/panel/footer/ai/chat-header.js +63 -0
  48. package/dist/lib/components/panel/footer/ai/composer.d.ts +7 -0
  49. package/dist/lib/components/panel/footer/ai/composer.d.ts.map +1 -0
  50. package/dist/lib/components/panel/footer/ai/composer.js +77 -0
  51. package/dist/lib/components/panel/footer/ai/content.d.ts +13 -0
  52. package/dist/lib/components/panel/footer/ai/content.d.ts.map +1 -0
  53. package/dist/lib/components/panel/footer/ai/content.js +148 -0
  54. package/dist/lib/components/panel/footer/ai/conversation.d.ts +47 -0
  55. package/dist/lib/components/panel/footer/ai/conversation.d.ts.map +1 -0
  56. package/dist/lib/components/panel/footer/ai/conversation.js +222 -0
  57. package/dist/lib/components/panel/footer/ai/index.d.ts +3 -0
  58. package/dist/lib/components/panel/footer/ai/index.d.ts.map +1 -0
  59. package/dist/lib/components/panel/footer/ai/index.js +41 -0
  60. package/dist/lib/components/panel/footer/ai/message-actions.d.ts +8 -0
  61. package/dist/lib/components/panel/footer/ai/message-actions.d.ts.map +1 -0
  62. package/dist/lib/components/panel/footer/ai/message-actions.js +63 -0
  63. package/dist/lib/components/panel/footer/ai/mock-result.d.ts +6 -0
  64. package/dist/lib/components/panel/footer/ai/mock-result.d.ts.map +1 -0
  65. package/dist/lib/components/panel/footer/ai/mock-result.js +121 -0
  66. package/dist/lib/components/panel/footer/ai/model-logo.d.ts +5 -0
  67. package/dist/lib/components/panel/footer/ai/model-logo.d.ts.map +1 -0
  68. package/dist/lib/components/panel/footer/ai/model-logo.js +13 -0
  69. package/dist/lib/components/panel/footer/ai/model-logos.d.ts +2 -0
  70. package/dist/lib/components/panel/footer/ai/model-logos.d.ts.map +1 -0
  71. package/dist/lib/components/panel/footer/ai/model-logos.js +10 -0
  72. package/dist/lib/components/panel/footer/ai/model-picker.d.ts +8 -0
  73. package/dist/lib/components/panel/footer/ai/model-picker.d.ts.map +1 -0
  74. package/dist/lib/components/panel/footer/ai/model-picker.js +166 -0
  75. package/dist/lib/components/panel/footer/ai/models.d.ts +9 -0
  76. package/dist/lib/components/panel/footer/ai/models.d.ts.map +1 -0
  77. package/dist/lib/components/panel/footer/ai/models.js +72 -0
  78. package/dist/lib/components/panel/footer/ai/permission-picker.d.ts +5 -0
  79. package/dist/lib/components/panel/footer/ai/permission-picker.d.ts.map +1 -0
  80. package/dist/lib/components/panel/footer/ai/permission-picker.js +63 -0
  81. package/dist/lib/components/panel/footer/ai/use-chat-scroll.d.ts +9 -0
  82. package/dist/lib/components/panel/footer/ai/use-chat-scroll.d.ts.map +1 -0
  83. package/dist/lib/components/panel/footer/ai/use-chat-scroll.js +57 -0
  84. package/dist/lib/components/panel/footer/control-center/appearance.d.ts +16 -0
  85. package/dist/lib/components/panel/footer/control-center/appearance.d.ts.map +1 -0
  86. package/dist/lib/components/panel/footer/control-center/appearance.js +100 -0
  87. package/dist/lib/components/panel/footer/control-center/configured.d.ts +13 -0
  88. package/dist/lib/components/panel/footer/control-center/configured.d.ts.map +1 -0
  89. package/dist/lib/components/panel/footer/control-center/configured.js +157 -0
  90. package/dist/lib/components/panel/footer/control-center/control-center.d.ts +8 -0
  91. package/dist/lib/components/panel/footer/control-center/control-center.d.ts.map +1 -0
  92. package/dist/lib/components/panel/footer/control-center/control-center.js +180 -0
  93. package/dist/lib/components/panel/footer/control-center/default.d.ts +3 -0
  94. package/dist/lib/components/panel/footer/control-center/default.d.ts.map +1 -0
  95. package/dist/lib/components/panel/footer/control-center/default.js +37 -0
  96. package/dist/lib/components/panel/footer/control-center/direction.d.ts +9 -0
  97. package/dist/lib/components/panel/footer/control-center/direction.d.ts.map +1 -0
  98. package/dist/lib/components/panel/footer/control-center/direction.js +40 -0
  99. package/dist/lib/components/panel/footer/control-center/document.d.ts +5 -0
  100. package/dist/lib/components/panel/footer/control-center/document.d.ts.map +1 -0
  101. package/dist/lib/components/panel/footer/control-center/document.js +19 -0
  102. package/dist/lib/components/panel/footer/control-center/editor.d.ts +25 -0
  103. package/dist/lib/components/panel/footer/control-center/editor.d.ts.map +1 -0
  104. package/dist/lib/components/panel/footer/control-center/editor.js +72 -0
  105. package/dist/lib/components/panel/footer/control-center/footer-context.d.ts +6 -0
  106. package/dist/lib/components/panel/footer/control-center/footer-context.d.ts.map +1 -0
  107. package/dist/lib/components/panel/footer/control-center/footer-context.js +5 -0
  108. package/dist/lib/components/panel/footer/control-center/index.d.ts +15 -0
  109. package/dist/lib/components/panel/footer/control-center/index.d.ts.map +1 -0
  110. package/dist/lib/components/panel/footer/control-center/index.js +11 -0
  111. package/dist/lib/components/panel/footer/control-center/language.d.ts +19 -0
  112. package/dist/lib/components/panel/footer/control-center/language.d.ts.map +1 -0
  113. package/dist/lib/components/panel/footer/control-center/language.js +44 -0
  114. package/dist/lib/components/panel/footer/control-center/options.d.ts +7 -0
  115. package/dist/lib/components/panel/footer/control-center/options.d.ts.map +1 -0
  116. package/dist/lib/components/panel/footer/control-center/options.js +27 -0
  117. package/dist/lib/components/panel/footer/control-center/preview.d.ts +34 -0
  118. package/dist/lib/components/panel/footer/control-center/preview.d.ts.map +1 -0
  119. package/dist/lib/components/panel/footer/control-center/preview.js +366 -0
  120. package/dist/lib/components/panel/footer/control-center/theme.d.ts +6 -0
  121. package/dist/lib/components/panel/footer/control-center/theme.d.ts.map +1 -0
  122. package/dist/lib/components/panel/footer/control-center/theme.js +150 -0
  123. package/dist/lib/components/panel/footer/control-center/tile.d.ts +10 -0
  124. package/dist/lib/components/panel/footer/control-center/tile.d.ts.map +1 -0
  125. package/dist/lib/components/panel/footer/control-center/tile.js +34 -0
  126. package/dist/lib/components/panel/footer/control-center/types.d.ts +94 -0
  127. package/dist/lib/components/panel/footer/control-center/types.d.ts.map +1 -0
  128. package/dist/lib/components/panel/footer/control-center/variant.d.ts +268 -0
  129. package/dist/lib/components/panel/footer/control-center/variant.d.ts.map +1 -0
  130. package/dist/lib/components/panel/footer/control-center/variant.js +89 -0
  131. package/dist/lib/components/panel/footer/data.d.ts +38 -0
  132. package/dist/lib/components/panel/footer/data.d.ts.map +1 -0
  133. package/dist/lib/components/panel/footer/data.js +90 -0
  134. package/dist/lib/components/panel/footer/drawer-accessors.d.ts +46 -0
  135. package/dist/lib/components/panel/footer/drawer-accessors.d.ts.map +1 -0
  136. package/dist/lib/components/panel/footer/drawer-accessors.js +21 -0
  137. package/dist/lib/components/panel/footer/drawer-frame.d.ts +12 -0
  138. package/dist/lib/components/panel/footer/drawer-frame.d.ts.map +1 -0
  139. package/dist/lib/components/panel/footer/drawer-frame.js +19 -0
  140. package/dist/lib/components/panel/footer/index.d.ts +4 -0
  141. package/dist/lib/components/panel/footer/index.d.ts.map +1 -0
  142. package/dist/lib/components/panel/footer/index.js +147 -0
  143. package/dist/lib/components/panel/footer/notification-center/index.d.ts +4 -0
  144. package/dist/lib/components/panel/footer/notification-center/index.d.ts.map +1 -0
  145. package/dist/lib/components/panel/footer/notification-center/index.js +98 -0
  146. package/dist/lib/components/panel/footer/notification-center/types.d.ts +525 -0
  147. package/dist/lib/components/panel/footer/notification-center/types.d.ts.map +1 -0
  148. package/dist/lib/components/panel/footer/notification-center/types.js +62 -0
  149. package/dist/lib/components/panel/footer/notification-center/variant.d.ts +322 -0
  150. package/dist/lib/components/panel/footer/notification-center/variant.d.ts.map +1 -0
  151. package/dist/lib/components/panel/footer/notification-center/variant.js +119 -0
  152. package/dist/lib/components/panel/footer/notification-center/widget-tiles.d.ts +49 -0
  153. package/dist/lib/components/panel/footer/notification-center/widget-tiles.d.ts.map +1 -0
  154. package/dist/lib/components/panel/footer/notification-center/widget-tiles.js +182 -0
  155. package/dist/lib/components/panel/footer/preferences/data.d.ts +14 -0
  156. package/dist/lib/components/panel/footer/preferences/data.d.ts.map +1 -0
  157. package/dist/lib/components/panel/footer/preferences/data.js +304 -0
  158. package/dist/lib/components/panel/footer/preferences/modal.d.ts +8 -0
  159. package/dist/lib/components/panel/footer/preferences/modal.d.ts.map +1 -0
  160. package/dist/lib/components/panel/footer/preferences/modal.js +75 -0
  161. package/dist/lib/components/panel/footer/preferences/sidebar.d.ts +9 -0
  162. package/dist/lib/components/panel/footer/preferences/sidebar.d.ts.map +1 -0
  163. package/dist/lib/components/panel/footer/preferences/sidebar.js +105 -0
  164. package/dist/lib/components/panel/footer/preferences/user-settings/account/index.d.ts +3 -0
  165. package/dist/lib/components/panel/footer/preferences/user-settings/account/index.d.ts.map +1 -0
  166. package/dist/lib/components/panel/footer/preferences/user-settings/account/index.js +16 -0
  167. package/dist/lib/components/panel/footer/preferences/user-settings/content-social/index.d.ts +3 -0
  168. package/dist/lib/components/panel/footer/preferences/user-settings/content-social/index.d.ts.map +1 -0
  169. package/dist/lib/components/panel/footer/preferences/user-settings/content-social/index.js +16 -0
  170. package/dist/lib/components/panel/footer/preferences/user-settings/data-privacy/index.d.ts +3 -0
  171. package/dist/lib/components/panel/footer/preferences/user-settings/data-privacy/index.d.ts.map +1 -0
  172. package/dist/lib/components/panel/footer/preferences/user-settings/data-privacy/index.js +101 -0
  173. package/dist/lib/components/panel/footer/preferences/user-settings/family-center/index.d.ts +3 -0
  174. package/dist/lib/components/panel/footer/preferences/user-settings/family-center/index.d.ts.map +1 -0
  175. package/dist/lib/components/panel/footer/preferences/user-settings/family-center/index.js +24 -0
  176. package/dist/lib/components/panel/footer/preferences/user-settings/profiles/index.d.ts +3 -0
  177. package/dist/lib/components/panel/footer/preferences/user-settings/profiles/index.d.ts.map +1 -0
  178. package/dist/lib/components/panel/footer/preferences/user-settings/profiles/index.js +103 -0
  179. package/dist/lib/components/panel/footer/tabs.d.ts +12 -0
  180. package/dist/lib/components/panel/footer/tabs.d.ts.map +1 -0
  181. package/dist/lib/components/panel/footer/tabs.js +23 -0
  182. package/dist/lib/components/panel/footer/types.d.ts +39 -0
  183. package/dist/lib/components/panel/footer/types.d.ts.map +1 -0
  184. package/dist/lib/components/panel/footer/user-menu.d.ts +10 -0
  185. package/dist/lib/components/panel/footer/user-menu.d.ts.map +1 -0
  186. package/dist/lib/components/panel/footer/user-menu.js +290 -0
  187. package/dist/lib/components/panel/header/application-menu-sheet.d.ts +21 -0
  188. package/dist/lib/components/panel/header/application-menu-sheet.d.ts.map +1 -0
  189. package/dist/lib/components/panel/header/application-menu-sheet.js +227 -0
  190. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/index.d.ts +5 -0
  191. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/index.d.ts.map +1 -0
  192. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/index.js +225 -0
  193. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/types.d.ts +13 -0
  194. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/types.d.ts.map +1 -0
  195. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/variants.d.ts +28 -0
  196. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/variants.d.ts.map +1 -0
  197. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/variants.js +249 -0
  198. package/dist/lib/components/panel/header/bookmarks/context-menu/index.d.ts +5 -0
  199. package/dist/lib/components/panel/header/bookmarks/context-menu/index.d.ts.map +1 -0
  200. package/dist/lib/components/panel/header/bookmarks/context-menu/index.js +147 -0
  201. package/dist/lib/components/panel/header/bookmarks/context-menu/types.d.ts +25 -0
  202. package/dist/lib/components/panel/header/bookmarks/context-menu/types.d.ts.map +1 -0
  203. package/dist/lib/components/panel/header/bookmarks/data.d.ts +2 -0
  204. package/dist/lib/components/panel/header/bookmarks/data.d.ts.map +1 -0
  205. package/dist/lib/components/panel/header/bookmarks/empty-state.d.ts +8 -0
  206. package/dist/lib/components/panel/header/bookmarks/empty-state.d.ts.map +1 -0
  207. package/dist/lib/components/panel/header/bookmarks/empty-state.js +15 -0
  208. package/dist/lib/components/panel/header/bookmarks/favorites/data.d.ts +2 -0
  209. package/dist/lib/components/panel/header/bookmarks/favorites/data.d.ts.map +1 -0
  210. package/dist/lib/components/panel/header/bookmarks/favorites/grid-list.d.ts +4 -0
  211. package/dist/lib/components/panel/header/bookmarks/favorites/grid-list.d.ts.map +1 -0
  212. package/dist/lib/components/panel/header/bookmarks/favorites/grid-list.js +65 -0
  213. package/dist/lib/components/panel/header/bookmarks/favorites/index.d.ts +5 -0
  214. package/dist/lib/components/panel/header/bookmarks/favorites/index.d.ts.map +1 -0
  215. package/dist/lib/components/panel/header/bookmarks/favorites/index.js +76 -0
  216. package/dist/lib/components/panel/header/bookmarks/favorites/types.d.ts +12 -0
  217. package/dist/lib/components/panel/header/bookmarks/favorites/types.d.ts.map +1 -0
  218. package/dist/lib/components/panel/header/bookmarks/favorites/variant.d.ts +211 -0
  219. package/dist/lib/components/panel/header/bookmarks/favorites/variant.d.ts.map +1 -0
  220. package/dist/lib/components/panel/header/bookmarks/favorites/variant.js +77 -0
  221. package/dist/lib/components/panel/header/bookmarks/folder-modal/index.d.ts +7 -0
  222. package/dist/lib/components/panel/header/bookmarks/folder-modal/index.d.ts.map +1 -0
  223. package/dist/lib/components/panel/header/bookmarks/folder-modal/index.js +221 -0
  224. package/dist/lib/components/panel/header/bookmarks/folder-modal/types.d.ts +25 -0
  225. package/dist/lib/components/panel/header/bookmarks/folder-modal/types.d.ts.map +1 -0
  226. package/dist/lib/components/panel/header/bookmarks/folder-modal/variants.d.ts +14 -0
  227. package/dist/lib/components/panel/header/bookmarks/folder-modal/variants.d.ts.map +1 -0
  228. package/dist/lib/components/panel/header/bookmarks/folder-modal/variants.js +95 -0
  229. package/dist/lib/components/panel/header/bookmarks/index.d.ts +5 -0
  230. package/dist/lib/components/panel/header/bookmarks/index.d.ts.map +1 -0
  231. package/dist/lib/components/panel/header/bookmarks/index.js +247 -0
  232. package/dist/lib/components/panel/header/bookmarks/membership.d.ts +14 -0
  233. package/dist/lib/components/panel/header/bookmarks/membership.d.ts.map +1 -0
  234. package/dist/lib/components/panel/header/bookmarks/membership.js +13 -0
  235. package/dist/lib/components/panel/header/bookmarks/quick-access/index.d.ts +4 -0
  236. package/dist/lib/components/panel/header/bookmarks/quick-access/index.d.ts.map +1 -0
  237. package/dist/lib/components/panel/header/bookmarks/quick-access/index.js +224 -0
  238. package/dist/lib/components/panel/header/bookmarks/quick-access/types.d.ts +38 -0
  239. package/dist/lib/components/panel/header/bookmarks/quick-access/types.d.ts.map +1 -0
  240. package/dist/lib/components/panel/header/bookmarks/shortcut-context-menu.d.ts +11 -0
  241. package/dist/lib/components/panel/header/bookmarks/shortcut-context-menu.d.ts.map +1 -0
  242. package/dist/lib/components/panel/header/bookmarks/shortcut-context-menu.js +39 -0
  243. package/dist/lib/components/panel/header/bookmarks/tree-data.d.ts +4 -0
  244. package/dist/lib/components/panel/header/bookmarks/tree-data.d.ts.map +1 -0
  245. package/dist/lib/components/panel/header/bookmarks/tree-data.js +97 -0
  246. package/dist/lib/components/panel/header/bookmarks/types.d.ts +648 -0
  247. package/dist/lib/components/panel/header/bookmarks/types.d.ts.map +1 -0
  248. package/dist/lib/components/panel/header/bookmarks/types.js +198 -0
  249. package/dist/lib/components/panel/header/bookmarks/variant.d.ts +334 -0
  250. package/dist/lib/components/panel/header/bookmarks/variant.d.ts.map +1 -0
  251. package/dist/lib/components/panel/header/bookmarks/variant.js +121 -0
  252. package/dist/lib/components/panel/header/index.d.ts +4 -0
  253. package/dist/lib/components/panel/header/index.d.ts.map +1 -0
  254. package/dist/lib/components/panel/header/index.js +366 -0
  255. package/dist/lib/components/panel/header/storage/archive/index.d.ts +4 -0
  256. package/dist/lib/components/panel/header/storage/archive/index.d.ts.map +1 -0
  257. package/dist/lib/components/panel/header/storage/archive/index.js +138 -0
  258. package/dist/lib/components/panel/header/storage/archive/types.d.ts +27 -0
  259. package/dist/lib/components/panel/header/storage/archive/types.d.ts.map +1 -0
  260. package/dist/lib/components/panel/header/storage/archive/variants.d.ts +6 -0
  261. package/dist/lib/components/panel/header/storage/archive/variants.d.ts.map +1 -0
  262. package/dist/lib/components/panel/header/storage/archive/variants.js +8 -0
  263. package/dist/lib/components/panel/header/storage/data.d.ts +2 -0
  264. package/dist/lib/components/panel/header/storage/data.d.ts.map +1 -0
  265. package/dist/lib/components/panel/header/storage/history-actions.d.ts +16 -0
  266. package/dist/lib/components/panel/header/storage/history-actions.d.ts.map +1 -0
  267. package/dist/lib/components/panel/header/storage/history-actions.js +18 -0
  268. package/dist/lib/components/panel/header/storage/history-date-group.d.ts +9 -0
  269. package/dist/lib/components/panel/header/storage/history-date-group.d.ts.map +1 -0
  270. package/dist/lib/components/panel/header/storage/history-date-group.js +19 -0
  271. package/dist/lib/components/panel/header/storage/history-item-content.d.ts +11 -0
  272. package/dist/lib/components/panel/header/storage/history-item-content.d.ts.map +1 -0
  273. package/dist/lib/components/panel/header/storage/history-item-content.js +17 -0
  274. package/dist/lib/components/panel/header/storage/history-shell.d.ts +8 -0
  275. package/dist/lib/components/panel/header/storage/history-shell.d.ts.map +1 -0
  276. package/dist/lib/components/panel/header/storage/history-shell.js +19 -0
  277. package/dist/lib/components/panel/header/storage/history-utils.d.ts +7 -0
  278. package/dist/lib/components/panel/header/storage/history-utils.d.ts.map +1 -0
  279. package/dist/lib/components/panel/header/storage/history-utils.js +25 -0
  280. package/dist/lib/components/panel/header/storage/index.d.ts +5 -0
  281. package/dist/lib/components/panel/header/storage/index.d.ts.map +1 -0
  282. package/dist/lib/components/panel/header/storage/index.js +120 -0
  283. package/dist/lib/components/panel/header/storage/trash/index.d.ts +4 -0
  284. package/dist/lib/components/panel/header/storage/trash/index.d.ts.map +1 -0
  285. package/dist/lib/components/panel/header/storage/trash/index.js +126 -0
  286. package/dist/lib/components/panel/header/storage/trash/types.d.ts +27 -0
  287. package/dist/lib/components/panel/header/storage/trash/types.d.ts.map +1 -0
  288. package/dist/lib/components/panel/header/storage/trash/variants.d.ts +6 -0
  289. package/dist/lib/components/panel/header/storage/trash/variants.d.ts.map +1 -0
  290. package/dist/lib/components/panel/header/storage/trash/variants.js +12 -0
  291. package/dist/lib/components/panel/header/storage/types.d.ts +482 -0
  292. package/dist/lib/components/panel/header/storage/types.d.ts.map +1 -0
  293. package/dist/lib/components/panel/header/storage/types.js +155 -0
  294. package/dist/lib/components/panel/header/storage/variant.d.ts +289 -0
  295. package/dist/lib/components/panel/header/storage/variant.d.ts.map +1 -0
  296. package/dist/lib/components/panel/header/storage/variant.js +106 -0
  297. package/dist/lib/components/panel/header/types.d.ts +26 -0
  298. package/dist/lib/components/panel/header/types.d.ts.map +1 -0
  299. package/dist/lib/components/panel/info-panel/container.d.ts +9 -0
  300. package/dist/lib/components/panel/info-panel/container.d.ts.map +1 -0
  301. package/dist/lib/components/panel/info-panel/container.js +90 -0
  302. package/dist/lib/components/panel/info-panel/container.module.css +52 -0
  303. package/dist/lib/components/panel/info-panel/container.module.js +8 -0
  304. package/dist/lib/components/panel/info-panel/index.d.ts +4 -0
  305. package/dist/lib/components/panel/info-panel/index.d.ts.map +1 -0
  306. package/dist/lib/components/panel/info-panel/provider.d.ts +7 -0
  307. package/dist/lib/components/panel/info-panel/provider.d.ts.map +1 -0
  308. package/dist/lib/components/panel/info-panel/provider.js +104 -0
  309. package/dist/lib/components/panel/info-panel/sheet.d.ts +9 -0
  310. package/dist/lib/components/panel/info-panel/sheet.d.ts.map +1 -0
  311. package/dist/lib/components/panel/info-panel/sheet.js +70 -0
  312. package/dist/lib/components/panel/info-panel/styles.d.ts +6 -0
  313. package/dist/lib/components/panel/info-panel/styles.d.ts.map +1 -0
  314. package/dist/lib/components/panel/info-panel/styles.js +8 -0
  315. package/dist/lib/components/panel/info-panel/types.d.ts +21 -0
  316. package/dist/lib/components/panel/info-panel/types.d.ts.map +1 -0
  317. package/dist/lib/components/panel/menu/index.d.ts +4 -0
  318. package/dist/lib/components/panel/menu/index.d.ts.map +1 -0
  319. package/dist/lib/components/panel/menu/index.js +156 -0
  320. package/dist/lib/components/panel/menu/types.d.ts +522 -0
  321. package/dist/lib/components/panel/menu/types.d.ts.map +1 -0
  322. package/dist/lib/components/panel/menu/types.js +71 -0
  323. package/dist/lib/components/panel/menu/variant.d.ts +259 -0
  324. package/dist/lib/components/panel/menu/variant.d.ts.map +1 -0
  325. package/dist/lib/components/panel/menu/variant.js +131 -0
  326. package/dist/lib/components/panel/responsive.d.ts +3 -0
  327. package/dist/lib/components/panel/responsive.d.ts.map +1 -0
  328. package/dist/lib/components/panel/responsive.js +5 -0
  329. package/dist/lib/components/responsive-toolbar-action/index.d.ts +11 -0
  330. package/dist/lib/components/responsive-toolbar-action/index.d.ts.map +1 -0
  331. package/dist/lib/components/responsive-toolbar-action/index.js +21 -0
  332. package/dist/lib/components/shortcut-key/index.d.ts +18 -0
  333. package/dist/lib/components/shortcut-key/index.d.ts.map +1 -0
  334. package/dist/lib/components/shortcut-key/index.js +44 -0
  335. package/dist/lib/components/toolbar-actions/index.d.ts +31 -0
  336. package/dist/lib/components/toolbar-actions/index.d.ts.map +1 -0
  337. package/dist/lib/components/toolbar-actions/index.js +75 -0
  338. package/dist/lib/components/workspace-navigation/index.d.ts +24 -0
  339. package/dist/lib/components/workspace-navigation/index.d.ts.map +1 -0
  340. package/dist/lib/components/workspace-navigation/index.js +74 -0
  341. package/dist/lib/layouts/app/frame.d.ts +8 -0
  342. package/dist/lib/layouts/app/frame.d.ts.map +1 -0
  343. package/dist/lib/layouts/app/frame.js +20 -0
  344. package/dist/lib/layouts/app/index.d.ts +27 -0
  345. package/dist/lib/layouts/app/index.d.ts.map +1 -0
  346. package/dist/lib/layouts/app/index.js +89 -0
  347. package/dist/lib/layouts/menu-layout/home-navigation-bubble.d.ts +7 -0
  348. package/dist/lib/layouts/menu-layout/home-navigation-bubble.d.ts.map +1 -0
  349. package/dist/lib/layouts/menu-layout/home-navigation-bubble.js +22 -0
  350. package/dist/lib/layouts/menu-layout/index-md.d.ts +4 -0
  351. package/dist/lib/layouts/menu-layout/index-md.d.ts.map +1 -0
  352. package/dist/lib/layouts/menu-layout/index-md.js +142 -0
  353. package/dist/lib/layouts/menu-layout/index-sm.d.ts +5 -0
  354. package/dist/lib/layouts/menu-layout/index-sm.d.ts.map +1 -0
  355. package/dist/lib/layouts/menu-layout/index-sm.js +124 -0
  356. package/dist/lib/layouts/menu-layout/index.d.ts +8 -0
  357. package/dist/lib/layouts/menu-layout/index.d.ts.map +1 -0
  358. package/dist/lib/layouts/menu-layout/index.js +17 -0
  359. package/dist/lib/layouts/section/index.d.ts +29 -0
  360. package/dist/lib/layouts/section/index.d.ts.map +1 -0
  361. package/dist/lib/layouts/section/index.js +285 -0
  362. package/dist/lib/layouts/section/preferences.d.ts +10 -0
  363. package/dist/lib/layouts/section/preferences.d.ts.map +1 -0
  364. package/dist/lib/layouts/section/preferences.js +41 -0
  365. package/dist/lib/layouts/section/sidebar-state.d.ts +7 -0
  366. package/dist/lib/layouts/section/sidebar-state.d.ts.map +1 -0
  367. package/dist/lib/layouts/section/sidebar-state.js +35 -0
  368. package/dist/lib/layouts/section/sidebar.d.ts +11 -0
  369. package/dist/lib/layouts/section/sidebar.d.ts.map +1 -0
  370. package/dist/lib/layouts/section/sidebar.js +84 -0
  371. package/dist/lib/layouts/section/sort-menu.d.ts +27 -0
  372. package/dist/lib/layouts/section/sort-menu.d.ts.map +1 -0
  373. package/dist/lib/layouts/section/sort-menu.js +72 -0
  374. package/dist/lib/layouts/section/toolbar-content.d.ts +11 -0
  375. package/dist/lib/layouts/section/toolbar-content.d.ts.map +1 -0
  376. package/dist/lib/layouts/section/toolbar-content.js +31 -0
  377. package/dist/lib/layouts/section/toolbar-more-sheet.d.ts +38 -0
  378. package/dist/lib/layouts/section/toolbar-more-sheet.d.ts.map +1 -0
  379. package/dist/lib/layouts/section/toolbar-more-sheet.js +288 -0
  380. package/dist/lib/layouts/section/toolbar.d.ts +60 -0
  381. package/dist/lib/layouts/section/toolbar.d.ts.map +1 -0
  382. package/dist/lib/layouts/section/toolbar.js +518 -0
  383. package/dist/lib/layouts/settings/index.d.ts +5 -0
  384. package/dist/lib/layouts/settings/index.d.ts.map +1 -0
  385. package/dist/lib/layouts/settings/index.js +9 -0
  386. package/dist/lib/navigation-toolbar.d.ts +32 -0
  387. package/dist/lib/navigation-toolbar.d.ts.map +1 -0
  388. package/dist/lib/navigation-toolbar.js +29 -0
  389. package/dist/lib/navigation.d.ts +21 -0
  390. package/dist/lib/navigation.d.ts.map +1 -0
  391. package/dist/lib/navigation.js +39 -0
  392. package/dist/lib/pages/settings/index.d.ts +17 -0
  393. package/dist/lib/pages/settings/index.d.ts.map +1 -0
  394. package/dist/lib/pages/settings/index.js +276 -0
  395. package/dist/lib/pages/settings/navigation.d.ts +4 -0
  396. package/dist/lib/pages/settings/navigation.d.ts.map +1 -0
  397. package/dist/lib/pages/settings/navigation.js +6 -0
  398. package/dist/lib/pages/settings/settings-content.d.ts +5 -0
  399. package/dist/lib/pages/settings/settings-content.d.ts.map +1 -0
  400. package/dist/lib/pages/settings/settings-content.js +213 -0
  401. package/dist/lib/pages/settings/tile-gallery.d.ts +19 -0
  402. package/dist/lib/pages/settings/tile-gallery.d.ts.map +1 -0
  403. package/dist/lib/pages/settings/tile-gallery.js +411 -0
  404. package/dist/lib/store/useBookmarks/action.d.ts +6 -0
  405. package/dist/lib/store/useBookmarks/action.d.ts.map +1 -0
  406. package/dist/lib/store/useBookmarks/action.js +7 -0
  407. package/dist/lib/store/useBookmarks/data.d.ts +4 -0
  408. package/dist/lib/store/useBookmarks/data.d.ts.map +1 -0
  409. package/dist/lib/store/useBookmarks/data.js +231 -0
  410. package/dist/lib/store/useBookmarks/index.d.ts +12 -0
  411. package/dist/lib/store/useBookmarks/index.d.ts.map +1 -0
  412. package/dist/lib/store/useBookmarks/index.js +29 -0
  413. package/dist/lib/store/useBookmarks/types.d.ts +30 -0
  414. package/dist/lib/store/useBookmarks/types.d.ts.map +1 -0
  415. package/dist/lib/store/useStorage/action.d.ts +6 -0
  416. package/dist/lib/store/useStorage/action.d.ts.map +1 -0
  417. package/dist/lib/store/useStorage/action.js +7 -0
  418. package/dist/lib/store/useStorage/data.d.ts +3 -0
  419. package/dist/lib/store/useStorage/data.d.ts.map +1 -0
  420. package/dist/lib/store/useStorage/data.js +219 -0
  421. package/dist/lib/store/useStorage/index.d.ts +7 -0
  422. package/dist/lib/store/useStorage/index.d.ts.map +1 -0
  423. package/dist/lib/store/useStorage/index.js +13 -0
  424. package/dist/lib/store/useStorage/types.d.ts +20 -0
  425. package/dist/lib/store/useStorage/types.d.ts.map +1 -0
  426. package/dist/lib/store/users/useUserStore.d.ts +22 -0
  427. package/dist/lib/store/users/useUserStore.d.ts.map +1 -0
  428. package/dist/lib/store/users/useUserStore.js +46 -0
  429. package/dist/lib/utils/date.d.ts +2 -0
  430. package/dist/lib/utils/date.d.ts.map +1 -0
  431. package/dist/lib/utils/date.js +8 -0
  432. package/dist/lib/utils/url.d.ts +4 -0
  433. package/dist/lib/utils/url.d.ts.map +1 -0
  434. package/dist/lib/utils/url.js +19 -0
  435. package/package.json +90 -2
@@ -0,0 +1,518 @@
1
+ import { AppIcon } from "../../components/app-icon/index.js";
2
+ import "../../components/panel/responsive.js";
3
+ import { useResponsiveToolbarAction } from "../../components/responsive-toolbar-action/index.js";
4
+ import { ShortcutButton } from "../../components/shortcut-key/index.js";
5
+ import { DEFAULT_SORT, SortMenu } from "./sort-menu.js";
6
+ import { ToolbarMoreSheet } from "./toolbar-more-sheet.js";
7
+ import { useCallback, useEffect, useMemo, useState } from "react";
8
+ import { Button, Chip, CloseButton, Dropdown, Label, Popover, SearchField, Separator, Tabs, Tooltip, useMediaQuery } from "@vezham/react-v3";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ import { SortFromBottomToTop, SortFromTopToBottom } from "@vezham/icons-react";
11
+ //#region src/lib/layouts/section/toolbar.tsx
12
+ var iconButtonClassName = "h-9 w-9 min-w-9 p-0";
13
+ var EMPTY_VIEW_ACTIONS = [];
14
+ var FILTER_ACTION = {
15
+ key: "filter",
16
+ label: "Filter",
17
+ icon: "vx:sort-descending"
18
+ };
19
+ var sourceFilterOptions = [{
20
+ key: "uploaded",
21
+ label: "Uploaded",
22
+ icon: "vx:upload"
23
+ }, {
24
+ key: "generated",
25
+ label: "Generated",
26
+ icon: "vx:pencil"
27
+ }];
28
+ var fileTypeFilterOptions = [
29
+ {
30
+ key: "images",
31
+ label: "Images",
32
+ icon: "vx:gallery"
33
+ },
34
+ {
35
+ key: "documents",
36
+ label: "Documents",
37
+ icon: "vx:document"
38
+ },
39
+ {
40
+ key: "spreadsheets",
41
+ label: "Spreadsheets",
42
+ icon: "vx:file-spreadsheet"
43
+ },
44
+ {
45
+ key: "presentations",
46
+ label: "Presentations",
47
+ icon: "vx:document"
48
+ },
49
+ {
50
+ key: "pdfs",
51
+ label: "PDFs",
52
+ icon: "vx:file-text"
53
+ }
54
+ ];
55
+ var filterOptions = [...sourceFilterOptions, ...fileTypeFilterOptions];
56
+ var getActiveFilters = (selectedFilters) => selectedFilters.flatMap((filter) => {
57
+ const option = filterOptions.find((option) => option.key === filter);
58
+ return option ? [option] : [];
59
+ });
60
+ var FilterMenuItem = ({ option, isSelected, onToggle }) => /* @__PURE__ */ jsxs(Dropdown.Item, {
61
+ id: option.key,
62
+ textValue: option.label,
63
+ shouldCloseOnSelect: false,
64
+ onPress: () => onToggle(option.key),
65
+ children: [/* @__PURE__ */ jsxs(Label, {
66
+ className: "flex items-center gap-3",
67
+ children: [/* @__PURE__ */ jsx(AppIcon, {
68
+ icon: option.icon,
69
+ size: 18,
70
+ "aria-hidden": "true"
71
+ }), option.label]
72
+ }), isSelected && /* @__PURE__ */ jsx(AppIcon, {
73
+ icon: "vx:check",
74
+ size: 18,
75
+ className: "ml-auto shrink-0",
76
+ "aria-hidden": "true"
77
+ })]
78
+ });
79
+ var FilterMenu = ({ selectedFilters, onToggle }) => /* @__PURE__ */ jsxs(Dropdown.Menu, {
80
+ "aria-label": "Filter options",
81
+ children: [
82
+ /* @__PURE__ */ jsx(Label, {
83
+ className: "text-muted-foreground px-3 pt-2",
84
+ children: "Source"
85
+ }),
86
+ /* @__PURE__ */ jsx(Dropdown.Section, {
87
+ "aria-label": "Source",
88
+ children: sourceFilterOptions.map((option) => /* @__PURE__ */ jsx(FilterMenuItem, {
89
+ option,
90
+ isSelected: selectedFilters.includes(option.key),
91
+ onToggle
92
+ }, option.key))
93
+ }),
94
+ /* @__PURE__ */ jsx(Separator, { className: "my-1" }),
95
+ /* @__PURE__ */ jsx(Label, {
96
+ className: "text-muted-foreground px-3 pt-1",
97
+ children: "File type"
98
+ }),
99
+ /* @__PURE__ */ jsx(Dropdown.Section, {
100
+ "aria-label": "File type",
101
+ children: fileTypeFilterOptions.map((option) => /* @__PURE__ */ jsx(FilterMenuItem, {
102
+ option,
103
+ isSelected: selectedFilters.includes(option.key),
104
+ onToggle
105
+ }, option.key))
106
+ })
107
+ ]
108
+ });
109
+ var SectionActiveFilters = ({ selectedFilters, onSelectedFiltersChange }) => {
110
+ const activeFilters = getActiveFilters(selectedFilters);
111
+ if (activeFilters.length === 0) return null;
112
+ return /* @__PURE__ */ jsx("div", {
113
+ role: "group",
114
+ "aria-label": "Active filters",
115
+ className: "flex min-w-0 flex-wrap items-center gap-2",
116
+ children: activeFilters.map((filter) => /* @__PURE__ */ jsxs(Chip, {
117
+ variant: "soft",
118
+ size: "lg",
119
+ className: "shrink-0 gap-1.5",
120
+ children: [/* @__PURE__ */ jsx(Chip.Label, { children: filter.label }), /* @__PURE__ */ jsx(CloseButton, {
121
+ "aria-label": `Remove ${filter.label} filter`,
122
+ className: "h-6 min-h-6 w-6 min-w-6 rounded-full p-0",
123
+ onPress: () => onSelectedFiltersChange(selectedFilters.filter((selected) => selected !== filter.key))
124
+ })]
125
+ }, filter.key))
126
+ });
127
+ };
128
+ var SectionActionLabel = ({ action }) => /* @__PURE__ */ jsxs(Label, {
129
+ className: "flex items-center gap-2",
130
+ children: [/* @__PURE__ */ jsx(AppIcon, {
131
+ icon: action.icon,
132
+ size: 16,
133
+ "aria-hidden": "true"
134
+ }), action.label]
135
+ });
136
+ var renderMenuItems = (actions) => actions.map((action) => action.children?.length ? /* @__PURE__ */ jsxs(Dropdown.SubmenuTrigger, { children: [/* @__PURE__ */ jsxs(Dropdown.Item, {
137
+ id: action.key,
138
+ textValue: action.label,
139
+ children: [/* @__PURE__ */ jsx(SectionActionLabel, { action }), /* @__PURE__ */ jsx(Dropdown.SubmenuIndicator, {})]
140
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, { children: /* @__PURE__ */ jsx(Dropdown.Menu, { children: renderMenuItems(action.children) }) })] }, action.key) : /* @__PURE__ */ jsx(Dropdown.Item, {
141
+ id: action.key,
142
+ textValue: action.label,
143
+ onPress: action.onAction,
144
+ children: /* @__PURE__ */ jsx(SectionActionLabel, { action })
145
+ }, action.key));
146
+ var MobileToolbarDropdown = ({ filterAction, menuActions, onSync, onToggleFilter, onViewModeChange, selectedFilters, sort, sortValue, onSortChange, sync, viewModeActions }) => /* @__PURE__ */ jsxs(Dropdown, { children: [/* @__PURE__ */ jsxs(Tooltip, {
147
+ delay: 0,
148
+ children: [/* @__PURE__ */ jsx(Button, {
149
+ isIconOnly: true,
150
+ variant: "ghost",
151
+ "aria-label": "More",
152
+ className: iconButtonClassName,
153
+ children: /* @__PURE__ */ jsx(AppIcon, {
154
+ icon: "vx:menu-vertical",
155
+ size: 18,
156
+ "aria-hidden": "true"
157
+ })
158
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "More" })]
159
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, {
160
+ className: "max-w-[calc(100vw-2rem)] min-w-48",
161
+ children: /* @__PURE__ */ jsxs(Dropdown.Menu, {
162
+ "aria-label": "More",
163
+ children: [
164
+ sync && /* @__PURE__ */ jsx(Dropdown.Item, {
165
+ id: "sync",
166
+ textValue: "Sync",
167
+ onPress: onSync,
168
+ children: /* @__PURE__ */ jsx(SectionActionLabel, { action: {
169
+ key: "sync",
170
+ label: "Sync",
171
+ icon: "vx:refresh"
172
+ } })
173
+ }),
174
+ filterAction && /* @__PURE__ */ jsxs(Dropdown.SubmenuTrigger, { children: [/* @__PURE__ */ jsxs(Dropdown.Item, {
175
+ id: "filter",
176
+ textValue: filterAction.label,
177
+ children: [/* @__PURE__ */ jsx(SectionActionLabel, { action: filterAction }), /* @__PURE__ */ jsx(Dropdown.SubmenuIndicator, {})]
178
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, { children: /* @__PURE__ */ jsx(FilterMenu, {
179
+ selectedFilters,
180
+ onToggle: onToggleFilter
181
+ }) })] }),
182
+ sort && /* @__PURE__ */ jsxs(Dropdown.SubmenuTrigger, { children: [/* @__PURE__ */ jsxs(Dropdown.Item, {
183
+ id: "sort",
184
+ textValue: "Sort",
185
+ children: [
186
+ sortValue.direction === "ascending" ? /* @__PURE__ */ jsx(SortFromBottomToTop, {
187
+ size: 18,
188
+ "aria-hidden": "true"
189
+ }) : /* @__PURE__ */ jsx(SortFromTopToBottom, {
190
+ size: 18,
191
+ "aria-hidden": "true"
192
+ }),
193
+ "Sort",
194
+ /* @__PURE__ */ jsx(Dropdown.SubmenuIndicator, {})
195
+ ]
196
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, { children: /* @__PURE__ */ jsx(SortMenu, {
197
+ value: sortValue,
198
+ onChange: onSortChange
199
+ }) })] }),
200
+ (filterAction || sort) && viewModeActions.length > 0 && /* @__PURE__ */ jsx(Separator, {}),
201
+ viewModeActions.map((action) => /* @__PURE__ */ jsx(Dropdown.Item, {
202
+ id: action.key,
203
+ textValue: action.label,
204
+ onPress: () => onViewModeChange(action.key),
205
+ children: /* @__PURE__ */ jsx(SectionActionLabel, { action })
206
+ }, action.key)),
207
+ menuActions.length > 0 && viewModeActions.length > 0 && /* @__PURE__ */ jsx(Separator, {}),
208
+ renderMenuItems(menuActions)
209
+ ]
210
+ })
211
+ })] });
212
+ var MobileToolbarMore = (props) => {
213
+ return useMediaQuery("(width < 640px)", { initializeWithValue: false }) || props.mobileToolbar ? /* @__PURE__ */ jsx(ToolbarMoreSheet, {
214
+ ...props,
215
+ filterGroups: [{
216
+ label: "Source",
217
+ options: sourceFilterOptions
218
+ }, {
219
+ label: "File type",
220
+ options: fileTypeFilterOptions
221
+ }]
222
+ }) : /* @__PURE__ */ jsx(MobileToolbarDropdown, { ...props });
223
+ };
224
+ var SectionSearchField = ({ search }) => {
225
+ const label = search.label ?? "Search content";
226
+ const input = (isDesktop) => /* @__PURE__ */ jsx(SearchField, {
227
+ "aria-label": label,
228
+ value: search.value,
229
+ onChange: search.onChange,
230
+ className: isDesktop ? "hidden w-56 lg:block" : "w-56",
231
+ children: /* @__PURE__ */ jsxs(SearchField.Group, { children: [
232
+ /* @__PURE__ */ jsx(SearchField.SearchIcon, {}),
233
+ /* @__PURE__ */ jsx(SearchField.Input, {
234
+ ref: isDesktop ? search.inputRef : void 0,
235
+ placeholder: search.placeholder ?? "Search",
236
+ onKeyDown: (event) => {
237
+ if (event.key === "Enter") search.onSearch?.();
238
+ if (event.key === "Escape") search.onOpenChange?.(false);
239
+ }
240
+ }),
241
+ /* @__PURE__ */ jsx(SearchField.ClearButton, { "aria-label": `Clear ${label.toLowerCase()}` })
242
+ ] })
243
+ });
244
+ if (search.onSearch) return /* @__PURE__ */ jsxs(Fragment, { children: [input(true), /* @__PURE__ */ jsxs(Tooltip, {
245
+ delay: 0,
246
+ children: [/* @__PURE__ */ jsx(Button, {
247
+ isIconOnly: true,
248
+ variant: "ghost",
249
+ size: "sm",
250
+ "aria-label": "Search",
251
+ className: `${iconButtonClassName} hidden md:flex lg:hidden`,
252
+ onPress: search.onSearch,
253
+ children: /* @__PURE__ */ jsx(AppIcon, {
254
+ icon: "vx:search",
255
+ size: 18,
256
+ "aria-hidden": "true"
257
+ })
258
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "Search" })]
259
+ })] });
260
+ return /* @__PURE__ */ jsxs(Fragment, { children: [input(true), /* @__PURE__ */ jsxs(Popover, {
261
+ isOpen: search.isOpen,
262
+ onOpenChange: search.onOpenChange,
263
+ children: [/* @__PURE__ */ jsxs(Tooltip, {
264
+ delay: 0,
265
+ children: [/* @__PURE__ */ jsx(Button, {
266
+ isIconOnly: true,
267
+ variant: "ghost",
268
+ size: "sm",
269
+ "aria-label": "Search",
270
+ className: `${iconButtonClassName} hidden md:flex lg:hidden`,
271
+ children: /* @__PURE__ */ jsx(AppIcon, {
272
+ icon: "vx:search",
273
+ size: 18,
274
+ "aria-hidden": "true"
275
+ })
276
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "Search" })]
277
+ }), /* @__PURE__ */ jsx(Popover.Content, {
278
+ className: "hidden md:block",
279
+ children: /* @__PURE__ */ jsxs(Popover.Dialog, {
280
+ "aria-label": label,
281
+ children: [/* @__PURE__ */ jsx(Popover.Heading, {
282
+ className: "sr-only",
283
+ children: label
284
+ }), input(false)]
285
+ })
286
+ })]
287
+ })] });
288
+ };
289
+ var ToolbarActions = ({ search, toolbar, sync = true, onSync, filterAction, hasFilters, isMobile, isFilterMenuOpen, onFilterOpenChange, selectedFilters, onToggleFilter, sort = false, sortValue = DEFAULT_SORT, onSortChange, view: viewModeActions = EMPTY_VIEW_ACTIONS, viewMode, onViewModeChange, primaryAction, menuActions, isMenuOpen, onMenuOpenChange }) => /* @__PURE__ */ jsxs("div", {
290
+ role: "group",
291
+ "aria-label": "Toolbar actions",
292
+ className: "scrollbar-hide col-start-2 row-start-1 -m-1 hidden max-w-[calc(100vw-2rem)] min-w-0 items-center gap-2 overflow-x-auto p-1 md:flex",
293
+ children: [
294
+ search && /* @__PURE__ */ jsx(SectionSearchField, { search }),
295
+ sync && /* @__PURE__ */ jsx(ShortcutButton, {
296
+ label: "Sync",
297
+ shortcut: "⌘ R",
298
+ "aria-keyshortcuts": "Meta+R",
299
+ className: iconButtonClassName,
300
+ onPress: onSync,
301
+ children: /* @__PURE__ */ jsx(AppIcon, {
302
+ icon: "vx:refresh",
303
+ size: 18,
304
+ "aria-hidden": "true"
305
+ })
306
+ }),
307
+ toolbar,
308
+ filterAction && /* @__PURE__ */ jsxs(Dropdown, {
309
+ isOpen: !isMobile && isFilterMenuOpen,
310
+ onOpenChange: onFilterOpenChange,
311
+ children: [/* @__PURE__ */ jsxs(Tooltip, {
312
+ delay: 0,
313
+ children: [/* @__PURE__ */ jsx(Button, {
314
+ isIconOnly: true,
315
+ variant: hasFilters ? "secondary" : "ghost",
316
+ "aria-label": filterAction.label,
317
+ "aria-pressed": hasFilters,
318
+ className: `${iconButtonClassName} shrink-0 rounded-full`,
319
+ children: /* @__PURE__ */ jsx(AppIcon, {
320
+ icon: filterAction.icon,
321
+ size: 18,
322
+ "aria-hidden": "true"
323
+ })
324
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: filterAction.label })]
325
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, {
326
+ className: "hidden md:block",
327
+ children: /* @__PURE__ */ jsx(FilterMenu, {
328
+ selectedFilters,
329
+ onToggle: onToggleFilter
330
+ })
331
+ })]
332
+ }),
333
+ sort && /* @__PURE__ */ jsxs(Dropdown, { children: [/* @__PURE__ */ jsxs(Tooltip, {
334
+ delay: 0,
335
+ children: [/* @__PURE__ */ jsx(Button, {
336
+ isIconOnly: true,
337
+ variant: "ghost",
338
+ "aria-label": "Sort",
339
+ className: iconButtonClassName,
340
+ children: sortValue.direction === "ascending" ? /* @__PURE__ */ jsx(SortFromBottomToTop, {
341
+ size: 18,
342
+ "aria-hidden": "true"
343
+ }) : /* @__PURE__ */ jsx(SortFromTopToBottom, {
344
+ size: 18,
345
+ "aria-hidden": "true"
346
+ })
347
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "Sort" })]
348
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, {
349
+ className: "hidden md:block",
350
+ children: /* @__PURE__ */ jsx(SortMenu, {
351
+ value: sortValue,
352
+ onChange: onSortChange
353
+ })
354
+ })] }),
355
+ viewModeActions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [(filterAction || sort) && /* @__PURE__ */ jsx(Separator, {
356
+ orientation: "vertical",
357
+ className: "h-8"
358
+ }), /* @__PURE__ */ jsx("div", {
359
+ role: "group",
360
+ "aria-label": "View options",
361
+ className: "flex items-center gap-1",
362
+ children: viewModeActions.map((action) => /* @__PURE__ */ jsxs(Tooltip, {
363
+ delay: 0,
364
+ children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(Button, {
365
+ isIconOnly: true,
366
+ "aria-label": action.label,
367
+ "aria-pressed": viewMode === action.key,
368
+ variant: viewMode === action.key ? "secondary" : "ghost",
369
+ className: iconButtonClassName,
370
+ onPress: () => onViewModeChange(action.key),
371
+ children: /* @__PURE__ */ jsx(AppIcon, {
372
+ icon: action.icon,
373
+ size: 18,
374
+ "aria-hidden": "true"
375
+ })
376
+ }) }), /* @__PURE__ */ jsx(Tooltip.Content, { children: action.label })]
377
+ }, action.key))
378
+ })] }),
379
+ primaryAction && /* @__PURE__ */ jsxs(Button, {
380
+ variant: "primary",
381
+ "aria-label": primaryAction.label,
382
+ className: "h-9 min-w-9 px-0 md:px-3",
383
+ onPress: primaryAction.onAction,
384
+ children: [/* @__PURE__ */ jsx(AppIcon, {
385
+ icon: primaryAction.icon,
386
+ size: 18,
387
+ "aria-hidden": "true"
388
+ }), /* @__PURE__ */ jsx(Label, {
389
+ className: "hidden !text-inherit md:inline",
390
+ children: primaryAction.label
391
+ })]
392
+ }),
393
+ menuActions.length > 0 && /* @__PURE__ */ jsxs(Dropdown, {
394
+ isOpen: isMenuOpen,
395
+ onOpenChange: onMenuOpenChange,
396
+ children: [/* @__PURE__ */ jsxs(Tooltip, {
397
+ delay: 0,
398
+ children: [/* @__PURE__ */ jsx(Button, {
399
+ isIconOnly: true,
400
+ variant: "ghost",
401
+ "aria-label": "More",
402
+ onPress: () => onMenuOpenChange(true),
403
+ className: iconButtonClassName,
404
+ children: /* @__PURE__ */ jsx(AppIcon, {
405
+ icon: "vx:menu-vertical",
406
+ size: 18,
407
+ "aria-hidden": "true"
408
+ })
409
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "More" })]
410
+ }), /* @__PURE__ */ jsx(Dropdown.Popover, {
411
+ className: "hidden md:block",
412
+ children: /* @__PURE__ */ jsx(Dropdown.Menu, { children: renderMenuItems(menuActions) })
413
+ })]
414
+ })
415
+ ]
416
+ });
417
+ var SectionToolbar = (props) => {
418
+ const { title, tabs, navigationControls, mobileToolbar, isNavigationCollapsed = false, menuActions, primaryAction, onSync, sync = true, filter = false, sort = false, sortValue = DEFAULT_SORT, onSortChange, view = EMPTY_VIEW_ACTIONS, selectedFilters, onSelectedFiltersChange, onViewModeChange, onMenuOpenChange } = props;
419
+ const isMobile = useMediaQuery("(max-width: 767px)");
420
+ const { setAction: setResponsiveToolbarAction } = useResponsiveToolbarAction();
421
+ const [isFilterMenuOpen, setIsFilterMenuOpen] = useState(false);
422
+ const [previousIsMobile, setPreviousIsMobile] = useState(isMobile);
423
+ if (previousIsMobile !== isMobile) {
424
+ setPreviousIsMobile(isMobile);
425
+ if (isMobile) setIsFilterMenuOpen(false);
426
+ }
427
+ const filterAction = filter ? FILTER_ACTION : void 0;
428
+ const viewModeActions = view;
429
+ const activeFilters = getActiveFilters(selectedFilters);
430
+ const toggleFilter = useCallback((filter) => {
431
+ onSelectedFiltersChange(selectedFilters.includes(filter) ? selectedFilters.filter((selected) => selected !== filter) : [...selectedFilters, filter]);
432
+ }, [onSelectedFiltersChange, selectedFilters]);
433
+ const hasFilters = activeFilters.length > 0;
434
+ const mobileToolbarAction = useMemo(() => isMobile ? /* @__PURE__ */ jsx(MobileToolbarMore, {
435
+ filterAction,
436
+ menuActions,
437
+ mobileToolbar,
438
+ onSync,
439
+ onToggleFilter: toggleFilter,
440
+ onViewModeChange,
441
+ selectedFilters,
442
+ sort,
443
+ sortValue,
444
+ onSortChange,
445
+ sync,
446
+ viewModeActions
447
+ }) : null, [
448
+ filterAction,
449
+ isMobile,
450
+ menuActions,
451
+ mobileToolbar,
452
+ onSync,
453
+ onViewModeChange,
454
+ selectedFilters,
455
+ sort,
456
+ sortValue,
457
+ onSortChange,
458
+ sync,
459
+ toggleFilter,
460
+ viewModeActions
461
+ ]);
462
+ useEffect(() => {
463
+ setResponsiveToolbarAction(mobileToolbarAction);
464
+ return () => setResponsiveToolbarAction(null);
465
+ }, [mobileToolbarAction, setResponsiveToolbarAction]);
466
+ useEffect(() => {
467
+ if (!isMobile) return;
468
+ onMenuOpenChange(false);
469
+ }, [isMobile, onMenuOpenChange]);
470
+ return /* @__PURE__ */ jsxs("header", {
471
+ className: `bg-background sticky top-0 z-30 shrink-0 px-3 py-0 md:px-4 md:py-2 ${isNavigationCollapsed ? "md:pl-30" : ""}`,
472
+ children: [/* @__PURE__ */ jsxs("div", {
473
+ className: "grid min-h-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 md:flex md:min-h-12 md:justify-between",
474
+ children: [/* @__PURE__ */ jsxs("div", {
475
+ className: "contents sm:flex sm:min-w-0 sm:flex-1 sm:items-center sm:gap-1",
476
+ children: [/* @__PURE__ */ jsx("div", {
477
+ className: "col-start-1 row-start-1 hidden min-w-0 items-center gap-1 md:flex",
478
+ children: navigationControls
479
+ }), tabs.length > 0 && /* @__PURE__ */ jsx(Tabs.ListContainer, {
480
+ className: "scrollbar-hide col-span-2 row-start-2 mt-2 w-fit max-w-full min-w-0 justify-self-center overflow-x-auto rounded-full sm:mt-0 sm:max-w-fit sm:flex-1",
481
+ children: /* @__PURE__ */ jsx(Tabs.List, {
482
+ "aria-label": `${title} tabs`,
483
+ className: "flex min-w-max flex-nowrap *:whitespace-nowrap",
484
+ children: tabs.map((tab) => /* @__PURE__ */ jsxs(Tabs.Tab, {
485
+ id: tab.key,
486
+ className: "whitespace-nowrap",
487
+ children: [tab.title, /* @__PURE__ */ jsx(Tabs.Indicator, {})]
488
+ }, tab.key))
489
+ })
490
+ }, JSON.stringify(tabs.map((tab) => tab.key)))]
491
+ }), /* @__PURE__ */ jsx(ToolbarActions, {
492
+ ...props,
493
+ isMobile,
494
+ filterAction,
495
+ hasFilters,
496
+ isFilterMenuOpen,
497
+ onFilterOpenChange: setIsFilterMenuOpen,
498
+ onToggleFilter: toggleFilter
499
+ })]
500
+ }), isMobile && primaryAction && /* @__PURE__ */ jsxs(Tooltip, {
501
+ delay: 0,
502
+ children: [/* @__PURE__ */ jsx(Button, {
503
+ isIconOnly: true,
504
+ variant: "primary",
505
+ "aria-label": primaryAction.label,
506
+ className: "fixed right-3 bottom-[calc(max(0.75rem,env(safe-area-inset-bottom))+0.5rem)] z-80 h-11 w-11 rounded-full p-0 shadow-lg",
507
+ onPress: primaryAction.onAction,
508
+ children: /* @__PURE__ */ jsx(AppIcon, {
509
+ icon: primaryAction.icon,
510
+ size: 22,
511
+ "aria-hidden": "true"
512
+ })
513
+ }), /* @__PURE__ */ jsx(Tooltip.Content, { children: primaryAction.label })]
514
+ })]
515
+ });
516
+ };
517
+ //#endregion
518
+ export { SectionActiveFilters, SectionToolbar };
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const SettingsLayout: ({ children }: {
3
+ children: ReactNode;
4
+ }) => import("react").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/layouts/settings/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,eAAO,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAEnE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { AppFrame } from "../app/frame.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/lib/layouts/settings/index.tsx
4
+ var SettingsLayout = ({ children }) => /* @__PURE__ */ jsx(AppFrame, {
5
+ contentClassName: "p-0 overflow-hidden",
6
+ children
7
+ });
8
+ //#endregion
9
+ export { SettingsLayout };
@@ -0,0 +1,32 @@
1
+ import { AppNavigationItem } from './navigation';
2
+ export type NavigationAction = {
3
+ key: string;
4
+ label: string;
5
+ icon: string;
6
+ children?: NavigationAction[];
7
+ };
8
+ export type NavigationViewAction = {
9
+ key: 'grid' | 'list';
10
+ label: string;
11
+ icon: string;
12
+ enabled?: boolean;
13
+ };
14
+ export type NavigationToolbar = {
15
+ search?: boolean | {
16
+ label?: string;
17
+ placeholder?: string;
18
+ };
19
+ sync?: boolean;
20
+ filter?: boolean;
21
+ sort?: boolean;
22
+ view?: NavigationViewAction[];
23
+ menuActions?: NavigationAction[];
24
+ primaryAction?: false | NavigationAction;
25
+ };
26
+ export declare const getNavigationToolbar: (items: AppNavigationItem[], pathname: string) => Omit<NavigationToolbar, "search"> & {
27
+ search?: false | {
28
+ label?: string;
29
+ placeholder?: string;
30
+ };
31
+ };
32
+ //# sourceMappingURL=navigation-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-toolbar.d.ts","sourceRoot":"","sources":["../../src/lib/navigation-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,OAAO,iBAAiB,EAAE,EAC1B,UAAU,MAAM,KACf,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IACrC,MAAM,CAAC,EAAE,KAAK,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAgC1D,CAAA"}
@@ -0,0 +1,29 @@
1
+ //#region src/lib/navigation-toolbar.ts
2
+ var getNavigationToolbar = (items, pathname) => {
3
+ let toolbar = {};
4
+ let matchLength = -1;
5
+ const visit = (entries, inherited) => {
6
+ for (const item of entries) {
7
+ const resolved = {
8
+ ...inherited,
9
+ ...item.toolbar
10
+ };
11
+ if (item.href && (pathname === item.href || item.href !== "/" && pathname.startsWith(`${item.href}/`)) && item.href.length >= matchLength) {
12
+ toolbar = resolved;
13
+ matchLength = item.href.length;
14
+ }
15
+ visit(item.children ?? [], resolved);
16
+ }
17
+ };
18
+ visit(items, {});
19
+ const { search, ...settings } = toolbar;
20
+ return {
21
+ ...settings,
22
+ ...search === true ? { search: {
23
+ label: "Search content",
24
+ placeholder: "Search"
25
+ } } : search === void 0 ? {} : { search }
26
+ };
27
+ };
28
+ //#endregion
29
+ export { getNavigationToolbar };
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ import { NavigationToolbar } from './navigation-toolbar';
3
+ export type AppNavigationItem = {
4
+ key: string;
5
+ title: string;
6
+ href?: string;
7
+ icon?: string;
8
+ iconActive?: string;
9
+ toolbar?: NavigationToolbar;
10
+ startContent?: ReactNode;
11
+ endContent?: ReactNode;
12
+ childrenDisplay?: 'tabs' | 'sidebar';
13
+ children?: AppNavigationItem[];
14
+ submenu?: AppNavigationItem[];
15
+ items?: AppNavigationItem[];
16
+ type?: 'nest';
17
+ isSelected?: boolean;
18
+ };
19
+ export declare const getSelectedMenuKey: (pathname: string, items: AppNavigationItem[]) => string | undefined;
20
+ export declare const getNavigationPageKey: (items: AppNavigationItem[], pathname: string) => string;
21
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/lib/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAoBD,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,OAAO,iBAAiB,EAAE,uBAY3B,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,OAAO,iBAAiB,EAAE,EAC1B,UAAU,MAAM,WAoBjB,CAAA"}
@@ -0,0 +1,39 @@
1
+ //#region src/lib/navigation.ts
2
+ var getMatchLength = (pathname, item) => {
3
+ const href = item.href;
4
+ const ownMatch = href && (pathname === href || href !== "/" && pathname.startsWith(`${href}/`)) ? href.length : 0;
5
+ return [
6
+ ...item.children ?? [],
7
+ ...item.submenu ?? [],
8
+ ...item.items ?? []
9
+ ].reduce((length, child) => Math.max(length, getMatchLength(pathname, child)), ownMatch);
10
+ };
11
+ var getSelectedMenuKey = (pathname, items) => {
12
+ let selectedKey;
13
+ let matchLength = 0;
14
+ for (const item of items) {
15
+ const length = getMatchLength(pathname, item);
16
+ if (length > matchLength) {
17
+ selectedKey = item.key;
18
+ matchLength = length;
19
+ }
20
+ }
21
+ return selectedKey;
22
+ };
23
+ var getNavigationPageKey = (items, pathname) => {
24
+ let key = "";
25
+ let matchLength = -1;
26
+ const visit = (entries) => {
27
+ for (const item of entries) {
28
+ if (item.href && (pathname === item.href || item.href !== "/" && pathname.startsWith(`${item.href}/`)) && item.href.length >= matchLength) {
29
+ key = item.key;
30
+ matchLength = item.href.length;
31
+ }
32
+ visit(item.children ?? []);
33
+ }
34
+ };
35
+ visit(items);
36
+ return key;
37
+ };
38
+ //#endregion
39
+ export { getNavigationPageKey, getSelectedMenuKey };