@navette-js/support 0.0.0-stage → 1.0.0-beta.1

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 (1304) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/THIRD-PARTY-NOTICES.md +12 -0
  4. package/data/lang.en-fr.json +2090 -0
  5. package/data/palettes.json +340 -0
  6. package/icons/HEROICONS-LICENSE.md +21 -0
  7. package/icons/heroicons/c-academic-cap.svg +4 -0
  8. package/icons/heroicons/c-adjustments-horizontal.svg +3 -0
  9. package/icons/heroicons/c-adjustments-vertical.svg +3 -0
  10. package/icons/heroicons/c-archive-box-arrow-down.svg +4 -0
  11. package/icons/heroicons/c-archive-box-x-mark.svg +4 -0
  12. package/icons/heroicons/c-archive-box.svg +4 -0
  13. package/icons/heroicons/c-arrow-down-circle.svg +3 -0
  14. package/icons/heroicons/c-arrow-down-left.svg +3 -0
  15. package/icons/heroicons/c-arrow-down-on-square-stack.svg +4 -0
  16. package/icons/heroicons/c-arrow-down-on-square.svg +3 -0
  17. package/icons/heroicons/c-arrow-down-right.svg +3 -0
  18. package/icons/heroicons/c-arrow-down-tray.svg +4 -0
  19. package/icons/heroicons/c-arrow-down.svg +3 -0
  20. package/icons/heroicons/c-arrow-left-circle.svg +3 -0
  21. package/icons/heroicons/c-arrow-left-end-on-rectangle.svg +4 -0
  22. package/icons/heroicons/c-arrow-left-start-on-rectangle.svg +3 -0
  23. package/icons/heroicons/c-arrow-left.svg +3 -0
  24. package/icons/heroicons/c-arrow-long-down.svg +3 -0
  25. package/icons/heroicons/c-arrow-long-left.svg +3 -0
  26. package/icons/heroicons/c-arrow-long-right.svg +3 -0
  27. package/icons/heroicons/c-arrow-long-up.svg +3 -0
  28. package/icons/heroicons/c-arrow-path-rounded-square.svg +3 -0
  29. package/icons/heroicons/c-arrow-path.svg +3 -0
  30. package/icons/heroicons/c-arrow-right-circle.svg +3 -0
  31. package/icons/heroicons/c-arrow-right-end-on-rectangle.svg +4 -0
  32. package/icons/heroicons/c-arrow-right-start-on-rectangle.svg +3 -0
  33. package/icons/heroicons/c-arrow-right.svg +3 -0
  34. package/icons/heroicons/c-arrow-top-right-on-square.svg +4 -0
  35. package/icons/heroicons/c-arrow-trending-down.svg +3 -0
  36. package/icons/heroicons/c-arrow-trending-up.svg +3 -0
  37. package/icons/heroicons/c-arrow-turn-down-left.svg +3 -0
  38. package/icons/heroicons/c-arrow-turn-down-right.svg +3 -0
  39. package/icons/heroicons/c-arrow-turn-left-down.svg +3 -0
  40. package/icons/heroicons/c-arrow-turn-left-up.svg +3 -0
  41. package/icons/heroicons/c-arrow-turn-right-down.svg +3 -0
  42. package/icons/heroicons/c-arrow-turn-right-up.svg +3 -0
  43. package/icons/heroicons/c-arrow-turn-up-left.svg +3 -0
  44. package/icons/heroicons/c-arrow-turn-up-right.svg +3 -0
  45. package/icons/heroicons/c-arrow-up-circle.svg +3 -0
  46. package/icons/heroicons/c-arrow-up-left.svg +3 -0
  47. package/icons/heroicons/c-arrow-up-on-square-stack.svg +4 -0
  48. package/icons/heroicons/c-arrow-up-on-square.svg +3 -0
  49. package/icons/heroicons/c-arrow-up-right.svg +3 -0
  50. package/icons/heroicons/c-arrow-up-tray.svg +4 -0
  51. package/icons/heroicons/c-arrow-up.svg +3 -0
  52. package/icons/heroicons/c-arrow-uturn-down.svg +3 -0
  53. package/icons/heroicons/c-arrow-uturn-left.svg +3 -0
  54. package/icons/heroicons/c-arrow-uturn-right.svg +3 -0
  55. package/icons/heroicons/c-arrow-uturn-up.svg +3 -0
  56. package/icons/heroicons/c-arrows-pointing-in.svg +3 -0
  57. package/icons/heroicons/c-arrows-pointing-out.svg +3 -0
  58. package/icons/heroicons/c-arrows-right-left.svg +3 -0
  59. package/icons/heroicons/c-arrows-up-down.svg +3 -0
  60. package/icons/heroicons/c-at-symbol.svg +3 -0
  61. package/icons/heroicons/c-backspace.svg +3 -0
  62. package/icons/heroicons/c-backward.svg +3 -0
  63. package/icons/heroicons/c-banknotes.svg +4 -0
  64. package/icons/heroicons/c-bars-2.svg +3 -0
  65. package/icons/heroicons/c-bars-3-bottom-left.svg +3 -0
  66. package/icons/heroicons/c-bars-3-bottom-right.svg +3 -0
  67. package/icons/heroicons/c-bars-3-center-left.svg +3 -0
  68. package/icons/heroicons/c-bars-3.svg +3 -0
  69. package/icons/heroicons/c-bars-4.svg +3 -0
  70. package/icons/heroicons/c-bars-arrow-down.svg +3 -0
  71. package/icons/heroicons/c-bars-arrow-up.svg +3 -0
  72. package/icons/heroicons/c-battery-0.svg +3 -0
  73. package/icons/heroicons/c-battery-100.svg +4 -0
  74. package/icons/heroicons/c-battery-50.svg +4 -0
  75. package/icons/heroicons/c-beaker.svg +3 -0
  76. package/icons/heroicons/c-bell-alert.svg +4 -0
  77. package/icons/heroicons/c-bell-slash.svg +4 -0
  78. package/icons/heroicons/c-bell-snooze.svg +3 -0
  79. package/icons/heroicons/c-bell.svg +3 -0
  80. package/icons/heroicons/c-bold.svg +3 -0
  81. package/icons/heroicons/c-bolt-slash.svg +3 -0
  82. package/icons/heroicons/c-bolt.svg +3 -0
  83. package/icons/heroicons/c-book-open.svg +3 -0
  84. package/icons/heroicons/c-bookmark-slash.svg +3 -0
  85. package/icons/heroicons/c-bookmark-square.svg +3 -0
  86. package/icons/heroicons/c-bookmark.svg +3 -0
  87. package/icons/heroicons/c-briefcase.svg +4 -0
  88. package/icons/heroicons/c-bug-ant.svg +3 -0
  89. package/icons/heroicons/c-building-library.svg +3 -0
  90. package/icons/heroicons/c-building-office-2.svg +3 -0
  91. package/icons/heroicons/c-building-office.svg +3 -0
  92. package/icons/heroicons/c-building-storefront.svg +3 -0
  93. package/icons/heroicons/c-cake.svg +3 -0
  94. package/icons/heroicons/c-calculator.svg +3 -0
  95. package/icons/heroicons/c-calendar-date-range.svg +4 -0
  96. package/icons/heroicons/c-calendar-days.svg +4 -0
  97. package/icons/heroicons/c-calendar.svg +3 -0
  98. package/icons/heroicons/c-camera.svg +4 -0
  99. package/icons/heroicons/c-chart-bar-square.svg +3 -0
  100. package/icons/heroicons/c-chart-bar.svg +3 -0
  101. package/icons/heroicons/c-chart-pie.svg +4 -0
  102. package/icons/heroicons/c-chat-bubble-bottom-center-text.svg +3 -0
  103. package/icons/heroicons/c-chat-bubble-bottom-center.svg +3 -0
  104. package/icons/heroicons/c-chat-bubble-left-ellipsis.svg +3 -0
  105. package/icons/heroicons/c-chat-bubble-left-right.svg +4 -0
  106. package/icons/heroicons/c-chat-bubble-left.svg +3 -0
  107. package/icons/heroicons/c-chat-bubble-oval-left-ellipsis.svg +3 -0
  108. package/icons/heroicons/c-chat-bubble-oval-left.svg +3 -0
  109. package/icons/heroicons/c-check-badge.svg +3 -0
  110. package/icons/heroicons/c-check-circle.svg +3 -0
  111. package/icons/heroicons/c-check.svg +3 -0
  112. package/icons/heroicons/c-chevron-double-down.svg +3 -0
  113. package/icons/heroicons/c-chevron-double-left.svg +3 -0
  114. package/icons/heroicons/c-chevron-double-right.svg +3 -0
  115. package/icons/heroicons/c-chevron-double-up.svg +3 -0
  116. package/icons/heroicons/c-chevron-down.svg +3 -0
  117. package/icons/heroicons/c-chevron-left.svg +3 -0
  118. package/icons/heroicons/c-chevron-right.svg +3 -0
  119. package/icons/heroicons/c-chevron-up-down.svg +3 -0
  120. package/icons/heroicons/c-chevron-up.svg +3 -0
  121. package/icons/heroicons/c-circle-stack.svg +5 -0
  122. package/icons/heroicons/c-clipboard-document-check.svg +4 -0
  123. package/icons/heroicons/c-clipboard-document-list.svg +4 -0
  124. package/icons/heroicons/c-clipboard-document.svg +4 -0
  125. package/icons/heroicons/c-clipboard.svg +3 -0
  126. package/icons/heroicons/c-clock.svg +3 -0
  127. package/icons/heroicons/c-cloud-arrow-down.svg +3 -0
  128. package/icons/heroicons/c-cloud-arrow-up.svg +3 -0
  129. package/icons/heroicons/c-cloud.svg +3 -0
  130. package/icons/heroicons/c-code-bracket-square.svg +3 -0
  131. package/icons/heroicons/c-code-bracket.svg +3 -0
  132. package/icons/heroicons/c-cog-6-tooth.svg +3 -0
  133. package/icons/heroicons/c-cog-8-tooth.svg +3 -0
  134. package/icons/heroicons/c-cog.svg +3 -0
  135. package/icons/heroicons/c-command-line.svg +3 -0
  136. package/icons/heroicons/c-computer-desktop.svg +3 -0
  137. package/icons/heroicons/c-cpu-chip.svg +4 -0
  138. package/icons/heroicons/c-credit-card.svg +4 -0
  139. package/icons/heroicons/c-cube-transparent.svg +3 -0
  140. package/icons/heroicons/c-cube.svg +3 -0
  141. package/icons/heroicons/c-currency-bangladeshi.svg +3 -0
  142. package/icons/heroicons/c-currency-dollar.svg +4 -0
  143. package/icons/heroicons/c-currency-euro.svg +3 -0
  144. package/icons/heroicons/c-currency-pound.svg +3 -0
  145. package/icons/heroicons/c-currency-rupee.svg +3 -0
  146. package/icons/heroicons/c-currency-yen.svg +3 -0
  147. package/icons/heroicons/c-cursor-arrow-rays.svg +3 -0
  148. package/icons/heroicons/c-cursor-arrow-ripple.svg +5 -0
  149. package/icons/heroicons/c-device-phone-mobile.svg +4 -0
  150. package/icons/heroicons/c-device-tablet.svg +4 -0
  151. package/icons/heroicons/c-divide.svg +4 -0
  152. package/icons/heroicons/c-document-arrow-down.svg +3 -0
  153. package/icons/heroicons/c-document-arrow-up.svg +3 -0
  154. package/icons/heroicons/c-document-chart-bar.svg +3 -0
  155. package/icons/heroicons/c-document-check.svg +3 -0
  156. package/icons/heroicons/c-document-currency-bangladeshi.svg +3 -0
  157. package/icons/heroicons/c-document-currency-dollar.svg +4 -0
  158. package/icons/heroicons/c-document-currency-euro.svg +3 -0
  159. package/icons/heroicons/c-document-currency-pound.svg +3 -0
  160. package/icons/heroicons/c-document-currency-rupee.svg +3 -0
  161. package/icons/heroicons/c-document-currency-yen.svg +3 -0
  162. package/icons/heroicons/c-document-duplicate.svg +4 -0
  163. package/icons/heroicons/c-document-magnifying-glass.svg +4 -0
  164. package/icons/heroicons/c-document-minus.svg +3 -0
  165. package/icons/heroicons/c-document-plus.svg +3 -0
  166. package/icons/heroicons/c-document-text.svg +3 -0
  167. package/icons/heroicons/c-document.svg +3 -0
  168. package/icons/heroicons/c-ellipsis-horizontal-circle.svg +3 -0
  169. package/icons/heroicons/c-ellipsis-horizontal.svg +3 -0
  170. package/icons/heroicons/c-ellipsis-vertical.svg +3 -0
  171. package/icons/heroicons/c-envelope-open.svg +3 -0
  172. package/icons/heroicons/c-envelope.svg +4 -0
  173. package/icons/heroicons/c-equals.svg +3 -0
  174. package/icons/heroicons/c-exclamation-circle.svg +3 -0
  175. package/icons/heroicons/c-exclamation-triangle.svg +3 -0
  176. package/icons/heroicons/c-eye-dropper.svg +3 -0
  177. package/icons/heroicons/c-eye-slash.svg +4 -0
  178. package/icons/heroicons/c-eye.svg +4 -0
  179. package/icons/heroicons/c-face-frown.svg +3 -0
  180. package/icons/heroicons/c-face-smile.svg +3 -0
  181. package/icons/heroicons/c-film.svg +3 -0
  182. package/icons/heroicons/c-finger-print.svg +3 -0
  183. package/icons/heroicons/c-fire.svg +3 -0
  184. package/icons/heroicons/c-flag.svg +3 -0
  185. package/icons/heroicons/c-folder-arrow-down.svg +3 -0
  186. package/icons/heroicons/c-folder-minus.svg +3 -0
  187. package/icons/heroicons/c-folder-open.svg +3 -0
  188. package/icons/heroicons/c-folder-plus.svg +3 -0
  189. package/icons/heroicons/c-folder.svg +3 -0
  190. package/icons/heroicons/c-forward.svg +3 -0
  191. package/icons/heroicons/c-funnel.svg +3 -0
  192. package/icons/heroicons/c-gif.svg +3 -0
  193. package/icons/heroicons/c-gift-top.svg +4 -0
  194. package/icons/heroicons/c-gift.svg +4 -0
  195. package/icons/heroicons/c-globe-alt.svg +3 -0
  196. package/icons/heroicons/c-globe-americas.svg +3 -0
  197. package/icons/heroicons/c-globe-asia-australia.svg +3 -0
  198. package/icons/heroicons/c-globe-europe-africa.svg +3 -0
  199. package/icons/heroicons/c-h1.svg +3 -0
  200. package/icons/heroicons/c-h2.svg +3 -0
  201. package/icons/heroicons/c-h3.svg +3 -0
  202. package/icons/heroicons/c-hand-raised.svg +3 -0
  203. package/icons/heroicons/c-hand-thumb-down.svg +3 -0
  204. package/icons/heroicons/c-hand-thumb-up.svg +3 -0
  205. package/icons/heroicons/c-hashtag.svg +3 -0
  206. package/icons/heroicons/c-heart.svg +3 -0
  207. package/icons/heroicons/c-home-modern.svg +3 -0
  208. package/icons/heroicons/c-home.svg +3 -0
  209. package/icons/heroicons/c-identification.svg +3 -0
  210. package/icons/heroicons/c-inbox-arrow-down.svg +4 -0
  211. package/icons/heroicons/c-inbox-stack.svg +4 -0
  212. package/icons/heroicons/c-inbox.svg +3 -0
  213. package/icons/heroicons/c-information-circle.svg +3 -0
  214. package/icons/heroicons/c-italic.svg +3 -0
  215. package/icons/heroicons/c-key.svg +3 -0
  216. package/icons/heroicons/c-language.svg +3 -0
  217. package/icons/heroicons/c-lifebuoy.svg +3 -0
  218. package/icons/heroicons/c-light-bulb.svg +3 -0
  219. package/icons/heroicons/c-link-slash.svg +3 -0
  220. package/icons/heroicons/c-link.svg +4 -0
  221. package/icons/heroicons/c-list-bullet.svg +3 -0
  222. package/icons/heroicons/c-lock-closed.svg +3 -0
  223. package/icons/heroicons/c-lock-open.svg +3 -0
  224. package/icons/heroicons/c-magnifying-glass-circle.svg +4 -0
  225. package/icons/heroicons/c-magnifying-glass-minus.svg +4 -0
  226. package/icons/heroicons/c-magnifying-glass-plus.svg +4 -0
  227. package/icons/heroicons/c-magnifying-glass.svg +3 -0
  228. package/icons/heroicons/c-map-pin.svg +3 -0
  229. package/icons/heroicons/c-map.svg +3 -0
  230. package/icons/heroicons/c-megaphone.svg +3 -0
  231. package/icons/heroicons/c-microphone.svg +4 -0
  232. package/icons/heroicons/c-minus-circle.svg +3 -0
  233. package/icons/heroicons/c-minus.svg +3 -0
  234. package/icons/heroicons/c-moon.svg +3 -0
  235. package/icons/heroicons/c-musical-note.svg +3 -0
  236. package/icons/heroicons/c-newspaper.svg +4 -0
  237. package/icons/heroicons/c-no-symbol.svg +3 -0
  238. package/icons/heroicons/c-numbered-list.svg +3 -0
  239. package/icons/heroicons/c-paint-brush.svg +3 -0
  240. package/icons/heroicons/c-paper-airplane.svg +3 -0
  241. package/icons/heroicons/c-paper-clip.svg +3 -0
  242. package/icons/heroicons/c-pause-circle.svg +3 -0
  243. package/icons/heroicons/c-pause.svg +3 -0
  244. package/icons/heroicons/c-pencil-square.svg +4 -0
  245. package/icons/heroicons/c-pencil.svg +3 -0
  246. package/icons/heroicons/c-percent-badge.svg +3 -0
  247. package/icons/heroicons/c-phone-arrow-down-left.svg +4 -0
  248. package/icons/heroicons/c-phone-arrow-up-right.svg +4 -0
  249. package/icons/heroicons/c-phone-x-mark.svg +4 -0
  250. package/icons/heroicons/c-phone.svg +3 -0
  251. package/icons/heroicons/c-photo.svg +3 -0
  252. package/icons/heroicons/c-play-circle.svg +3 -0
  253. package/icons/heroicons/c-play-pause.svg +3 -0
  254. package/icons/heroicons/c-play.svg +3 -0
  255. package/icons/heroicons/c-plus-circle.svg +3 -0
  256. package/icons/heroicons/c-plus.svg +3 -0
  257. package/icons/heroicons/c-power.svg +3 -0
  258. package/icons/heroicons/c-presentation-chart-bar.svg +3 -0
  259. package/icons/heroicons/c-presentation-chart-line.svg +3 -0
  260. package/icons/heroicons/c-printer.svg +3 -0
  261. package/icons/heroicons/c-puzzle-piece.svg +3 -0
  262. package/icons/heroicons/c-qr-code.svg +9 -0
  263. package/icons/heroicons/c-question-mark-circle.svg +3 -0
  264. package/icons/heroicons/c-queue-list.svg +3 -0
  265. package/icons/heroicons/c-radio.svg +3 -0
  266. package/icons/heroicons/c-receipt-percent.svg +3 -0
  267. package/icons/heroicons/c-receipt-refund.svg +3 -0
  268. package/icons/heroicons/c-rectangle-group.svg +3 -0
  269. package/icons/heroicons/c-rectangle-stack.svg +3 -0
  270. package/icons/heroicons/c-rocket-launch.svg +4 -0
  271. package/icons/heroicons/c-rss.svg +3 -0
  272. package/icons/heroicons/c-scale.svg +3 -0
  273. package/icons/heroicons/c-scissors.svg +4 -0
  274. package/icons/heroicons/c-server-stack.svg +4 -0
  275. package/icons/heroicons/c-server.svg +4 -0
  276. package/icons/heroicons/c-share.svg +3 -0
  277. package/icons/heroicons/c-shield-check.svg +3 -0
  278. package/icons/heroicons/c-shield-exclamation.svg +3 -0
  279. package/icons/heroicons/c-shopping-bag.svg +3 -0
  280. package/icons/heroicons/c-shopping-cart.svg +3 -0
  281. package/icons/heroicons/c-signal-slash.svg +3 -0
  282. package/icons/heroicons/c-signal.svg +5 -0
  283. package/icons/heroicons/c-slash.svg +3 -0
  284. package/icons/heroicons/c-sparkles.svg +3 -0
  285. package/icons/heroicons/c-speaker-wave.svg +4 -0
  286. package/icons/heroicons/c-speaker-x-mark.svg +3 -0
  287. package/icons/heroicons/c-square-2-stack.svg +4 -0
  288. package/icons/heroicons/c-square-3-stack-3d.svg +5 -0
  289. package/icons/heroicons/c-squares-2x2.svg +3 -0
  290. package/icons/heroicons/c-squares-plus.svg +3 -0
  291. package/icons/heroicons/c-star.svg +3 -0
  292. package/icons/heroicons/c-stop-circle.svg +3 -0
  293. package/icons/heroicons/c-stop.svg +3 -0
  294. package/icons/heroicons/c-strikethrough.svg +3 -0
  295. package/icons/heroicons/c-sun.svg +3 -0
  296. package/icons/heroicons/c-swatch.svg +4 -0
  297. package/icons/heroicons/c-table-cells.svg +3 -0
  298. package/icons/heroicons/c-tag.svg +3 -0
  299. package/icons/heroicons/c-ticket.svg +3 -0
  300. package/icons/heroicons/c-trash.svg +3 -0
  301. package/icons/heroicons/c-trophy.svg +3 -0
  302. package/icons/heroicons/c-truck.svg +5 -0
  303. package/icons/heroicons/c-tv.svg +4 -0
  304. package/icons/heroicons/c-underline.svg +3 -0
  305. package/icons/heroicons/c-user-circle.svg +3 -0
  306. package/icons/heroicons/c-user-group.svg +3 -0
  307. package/icons/heroicons/c-user-minus.svg +3 -0
  308. package/icons/heroicons/c-user-plus.svg +3 -0
  309. package/icons/heroicons/c-user.svg +3 -0
  310. package/icons/heroicons/c-users.svg +3 -0
  311. package/icons/heroicons/c-variable.svg +3 -0
  312. package/icons/heroicons/c-video-camera-slash.svg +3 -0
  313. package/icons/heroicons/c-video-camera.svg +3 -0
  314. package/icons/heroicons/c-view-columns.svg +3 -0
  315. package/icons/heroicons/c-viewfinder-circle.svg +3 -0
  316. package/icons/heroicons/c-wallet.svg +3 -0
  317. package/icons/heroicons/c-wifi.svg +3 -0
  318. package/icons/heroicons/c-window.svg +3 -0
  319. package/icons/heroicons/c-wrench-screwdriver.svg +4 -0
  320. package/icons/heroicons/c-wrench.svg +3 -0
  321. package/icons/heroicons/c-x-circle.svg +3 -0
  322. package/icons/heroicons/c-x-mark.svg +3 -0
  323. package/icons/heroicons/m-academic-cap.svg +3 -0
  324. package/icons/heroicons/m-adjustments-horizontal.svg +3 -0
  325. package/icons/heroicons/m-adjustments-vertical.svg +3 -0
  326. package/icons/heroicons/m-archive-box-arrow-down.svg +3 -0
  327. package/icons/heroicons/m-archive-box-x-mark.svg +4 -0
  328. package/icons/heroicons/m-archive-box.svg +4 -0
  329. package/icons/heroicons/m-arrow-down-circle.svg +3 -0
  330. package/icons/heroicons/m-arrow-down-left.svg +3 -0
  331. package/icons/heroicons/m-arrow-down-on-square-stack.svg +3 -0
  332. package/icons/heroicons/m-arrow-down-on-square.svg +3 -0
  333. package/icons/heroicons/m-arrow-down-right.svg +3 -0
  334. package/icons/heroicons/m-arrow-down-tray.svg +4 -0
  335. package/icons/heroicons/m-arrow-down.svg +3 -0
  336. package/icons/heroicons/m-arrow-left-circle.svg +3 -0
  337. package/icons/heroicons/m-arrow-left-end-on-rectangle.svg +4 -0
  338. package/icons/heroicons/m-arrow-left-on-rectangle.svg +4 -0
  339. package/icons/heroicons/m-arrow-left-start-on-rectangle.svg +4 -0
  340. package/icons/heroicons/m-arrow-left.svg +3 -0
  341. package/icons/heroicons/m-arrow-long-down.svg +3 -0
  342. package/icons/heroicons/m-arrow-long-left.svg +3 -0
  343. package/icons/heroicons/m-arrow-long-right.svg +3 -0
  344. package/icons/heroicons/m-arrow-long-up.svg +3 -0
  345. package/icons/heroicons/m-arrow-path-rounded-square.svg +3 -0
  346. package/icons/heroicons/m-arrow-path.svg +3 -0
  347. package/icons/heroicons/m-arrow-right-circle.svg +3 -0
  348. package/icons/heroicons/m-arrow-right-end-on-rectangle.svg +4 -0
  349. package/icons/heroicons/m-arrow-right-on-rectangle.svg +4 -0
  350. package/icons/heroicons/m-arrow-right-start-on-rectangle.svg +4 -0
  351. package/icons/heroicons/m-arrow-right.svg +3 -0
  352. package/icons/heroicons/m-arrow-small-down.svg +3 -0
  353. package/icons/heroicons/m-arrow-small-left.svg +3 -0
  354. package/icons/heroicons/m-arrow-small-right.svg +3 -0
  355. package/icons/heroicons/m-arrow-small-up.svg +3 -0
  356. package/icons/heroicons/m-arrow-top-right-on-square.svg +4 -0
  357. package/icons/heroicons/m-arrow-trending-down.svg +3 -0
  358. package/icons/heroicons/m-arrow-trending-up.svg +3 -0
  359. package/icons/heroicons/m-arrow-turn-down-left.svg +3 -0
  360. package/icons/heroicons/m-arrow-turn-down-right.svg +3 -0
  361. package/icons/heroicons/m-arrow-turn-left-down.svg +3 -0
  362. package/icons/heroicons/m-arrow-turn-left-up.svg +3 -0
  363. package/icons/heroicons/m-arrow-turn-right-down.svg +3 -0
  364. package/icons/heroicons/m-arrow-turn-right-up.svg +3 -0
  365. package/icons/heroicons/m-arrow-turn-up-left.svg +3 -0
  366. package/icons/heroicons/m-arrow-turn-up-right.svg +3 -0
  367. package/icons/heroicons/m-arrow-up-circle.svg +3 -0
  368. package/icons/heroicons/m-arrow-up-left.svg +3 -0
  369. package/icons/heroicons/m-arrow-up-on-square-stack.svg +3 -0
  370. package/icons/heroicons/m-arrow-up-on-square.svg +3 -0
  371. package/icons/heroicons/m-arrow-up-right.svg +3 -0
  372. package/icons/heroicons/m-arrow-up-tray.svg +4 -0
  373. package/icons/heroicons/m-arrow-up.svg +3 -0
  374. package/icons/heroicons/m-arrow-uturn-down.svg +3 -0
  375. package/icons/heroicons/m-arrow-uturn-left.svg +3 -0
  376. package/icons/heroicons/m-arrow-uturn-right.svg +3 -0
  377. package/icons/heroicons/m-arrow-uturn-up.svg +3 -0
  378. package/icons/heroicons/m-arrows-pointing-in.svg +3 -0
  379. package/icons/heroicons/m-arrows-pointing-out.svg +3 -0
  380. package/icons/heroicons/m-arrows-right-left.svg +3 -0
  381. package/icons/heroicons/m-arrows-up-down.svg +3 -0
  382. package/icons/heroicons/m-at-symbol.svg +3 -0
  383. package/icons/heroicons/m-backspace.svg +3 -0
  384. package/icons/heroicons/m-backward.svg +3 -0
  385. package/icons/heroicons/m-banknotes.svg +3 -0
  386. package/icons/heroicons/m-bars-2.svg +3 -0
  387. package/icons/heroicons/m-bars-3-bottom-left.svg +3 -0
  388. package/icons/heroicons/m-bars-3-bottom-right.svg +3 -0
  389. package/icons/heroicons/m-bars-3-center-left.svg +3 -0
  390. package/icons/heroicons/m-bars-3.svg +3 -0
  391. package/icons/heroicons/m-bars-4.svg +3 -0
  392. package/icons/heroicons/m-bars-arrow-down.svg +3 -0
  393. package/icons/heroicons/m-bars-arrow-up.svg +3 -0
  394. package/icons/heroicons/m-battery-0.svg +3 -0
  395. package/icons/heroicons/m-battery-100.svg +4 -0
  396. package/icons/heroicons/m-battery-50.svg +4 -0
  397. package/icons/heroicons/m-beaker.svg +3 -0
  398. package/icons/heroicons/m-bell-alert.svg +4 -0
  399. package/icons/heroicons/m-bell-slash.svg +3 -0
  400. package/icons/heroicons/m-bell-snooze.svg +3 -0
  401. package/icons/heroicons/m-bell.svg +3 -0
  402. package/icons/heroicons/m-bold.svg +3 -0
  403. package/icons/heroicons/m-bolt-slash.svg +4 -0
  404. package/icons/heroicons/m-bolt.svg +3 -0
  405. package/icons/heroicons/m-book-open.svg +3 -0
  406. package/icons/heroicons/m-bookmark-slash.svg +3 -0
  407. package/icons/heroicons/m-bookmark-square.svg +3 -0
  408. package/icons/heroicons/m-bookmark.svg +3 -0
  409. package/icons/heroicons/m-briefcase.svg +4 -0
  410. package/icons/heroicons/m-bug-ant.svg +3 -0
  411. package/icons/heroicons/m-building-library.svg +3 -0
  412. package/icons/heroicons/m-building-office-2.svg +3 -0
  413. package/icons/heroicons/m-building-office.svg +3 -0
  414. package/icons/heroicons/m-building-storefront.svg +3 -0
  415. package/icons/heroicons/m-cake.svg +3 -0
  416. package/icons/heroicons/m-calculator.svg +3 -0
  417. package/icons/heroicons/m-calendar-date-range.svg +4 -0
  418. package/icons/heroicons/m-calendar-days.svg +4 -0
  419. package/icons/heroicons/m-calendar.svg +3 -0
  420. package/icons/heroicons/m-camera.svg +3 -0
  421. package/icons/heroicons/m-chart-bar-square.svg +3 -0
  422. package/icons/heroicons/m-chart-bar.svg +3 -0
  423. package/icons/heroicons/m-chart-pie.svg +4 -0
  424. package/icons/heroicons/m-chat-bubble-bottom-center-text.svg +3 -0
  425. package/icons/heroicons/m-chat-bubble-bottom-center.svg +3 -0
  426. package/icons/heroicons/m-chat-bubble-left-ellipsis.svg +3 -0
  427. package/icons/heroicons/m-chat-bubble-left-right.svg +4 -0
  428. package/icons/heroicons/m-chat-bubble-left.svg +3 -0
  429. package/icons/heroicons/m-chat-bubble-oval-left-ellipsis.svg +3 -0
  430. package/icons/heroicons/m-chat-bubble-oval-left.svg +3 -0
  431. package/icons/heroicons/m-check-badge.svg +3 -0
  432. package/icons/heroicons/m-check-circle.svg +3 -0
  433. package/icons/heroicons/m-check.svg +3 -0
  434. package/icons/heroicons/m-chevron-double-down.svg +3 -0
  435. package/icons/heroicons/m-chevron-double-left.svg +3 -0
  436. package/icons/heroicons/m-chevron-double-right.svg +3 -0
  437. package/icons/heroicons/m-chevron-double-up.svg +3 -0
  438. package/icons/heroicons/m-chevron-down.svg +3 -0
  439. package/icons/heroicons/m-chevron-left.svg +3 -0
  440. package/icons/heroicons/m-chevron-right.svg +3 -0
  441. package/icons/heroicons/m-chevron-up-down.svg +3 -0
  442. package/icons/heroicons/m-chevron-up.svg +3 -0
  443. package/icons/heroicons/m-circle-stack.svg +3 -0
  444. package/icons/heroicons/m-clipboard-document-check.svg +4 -0
  445. package/icons/heroicons/m-clipboard-document-list.svg +4 -0
  446. package/icons/heroicons/m-clipboard-document.svg +4 -0
  447. package/icons/heroicons/m-clipboard.svg +3 -0
  448. package/icons/heroicons/m-clock.svg +3 -0
  449. package/icons/heroicons/m-cloud-arrow-down.svg +3 -0
  450. package/icons/heroicons/m-cloud-arrow-up.svg +3 -0
  451. package/icons/heroicons/m-cloud.svg +3 -0
  452. package/icons/heroicons/m-code-bracket-square.svg +3 -0
  453. package/icons/heroicons/m-code-bracket.svg +3 -0
  454. package/icons/heroicons/m-cog-6-tooth.svg +3 -0
  455. package/icons/heroicons/m-cog-8-tooth.svg +3 -0
  456. package/icons/heroicons/m-cog.svg +4 -0
  457. package/icons/heroicons/m-command-line.svg +3 -0
  458. package/icons/heroicons/m-computer-desktop.svg +3 -0
  459. package/icons/heroicons/m-cpu-chip.svg +4 -0
  460. package/icons/heroicons/m-credit-card.svg +3 -0
  461. package/icons/heroicons/m-cube-transparent.svg +3 -0
  462. package/icons/heroicons/m-cube.svg +3 -0
  463. package/icons/heroicons/m-currency-bangladeshi.svg +3 -0
  464. package/icons/heroicons/m-currency-dollar.svg +4 -0
  465. package/icons/heroicons/m-currency-euro.svg +3 -0
  466. package/icons/heroicons/m-currency-pound.svg +3 -0
  467. package/icons/heroicons/m-currency-rupee.svg +3 -0
  468. package/icons/heroicons/m-currency-yen.svg +3 -0
  469. package/icons/heroicons/m-cursor-arrow-rays.svg +3 -0
  470. package/icons/heroicons/m-cursor-arrow-ripple.svg +5 -0
  471. package/icons/heroicons/m-device-phone-mobile.svg +4 -0
  472. package/icons/heroicons/m-device-tablet.svg +3 -0
  473. package/icons/heroicons/m-divide.svg +3 -0
  474. package/icons/heroicons/m-document-arrow-down.svg +3 -0
  475. package/icons/heroicons/m-document-arrow-up.svg +3 -0
  476. package/icons/heroicons/m-document-chart-bar.svg +3 -0
  477. package/icons/heroicons/m-document-check.svg +3 -0
  478. package/icons/heroicons/m-document-currency-bangladeshi.svg +3 -0
  479. package/icons/heroicons/m-document-currency-dollar.svg +3 -0
  480. package/icons/heroicons/m-document-currency-euro.svg +3 -0
  481. package/icons/heroicons/m-document-currency-pound.svg +3 -0
  482. package/icons/heroicons/m-document-currency-rupee.svg +3 -0
  483. package/icons/heroicons/m-document-currency-yen.svg +3 -0
  484. package/icons/heroicons/m-document-duplicate.svg +4 -0
  485. package/icons/heroicons/m-document-magnifying-glass.svg +4 -0
  486. package/icons/heroicons/m-document-minus.svg +3 -0
  487. package/icons/heroicons/m-document-plus.svg +3 -0
  488. package/icons/heroicons/m-document-text.svg +3 -0
  489. package/icons/heroicons/m-document.svg +3 -0
  490. package/icons/heroicons/m-ellipsis-horizontal-circle.svg +3 -0
  491. package/icons/heroicons/m-ellipsis-horizontal.svg +3 -0
  492. package/icons/heroicons/m-ellipsis-vertical.svg +3 -0
  493. package/icons/heroicons/m-envelope-open.svg +3 -0
  494. package/icons/heroicons/m-envelope.svg +4 -0
  495. package/icons/heroicons/m-equals.svg +3 -0
  496. package/icons/heroicons/m-exclamation-circle.svg +3 -0
  497. package/icons/heroicons/m-exclamation-triangle.svg +3 -0
  498. package/icons/heroicons/m-eye-dropper.svg +3 -0
  499. package/icons/heroicons/m-eye-slash.svg +4 -0
  500. package/icons/heroicons/m-eye.svg +4 -0
  501. package/icons/heroicons/m-face-frown.svg +3 -0
  502. package/icons/heroicons/m-face-smile.svg +3 -0
  503. package/icons/heroicons/m-film.svg +3 -0
  504. package/icons/heroicons/m-finger-print.svg +3 -0
  505. package/icons/heroicons/m-fire.svg +3 -0
  506. package/icons/heroicons/m-flag.svg +3 -0
  507. package/icons/heroicons/m-folder-arrow-down.svg +3 -0
  508. package/icons/heroicons/m-folder-minus.svg +3 -0
  509. package/icons/heroicons/m-folder-open.svg +3 -0
  510. package/icons/heroicons/m-folder-plus.svg +3 -0
  511. package/icons/heroicons/m-folder.svg +3 -0
  512. package/icons/heroicons/m-forward.svg +3 -0
  513. package/icons/heroicons/m-funnel.svg +3 -0
  514. package/icons/heroicons/m-gif.svg +3 -0
  515. package/icons/heroicons/m-gift-top.svg +3 -0
  516. package/icons/heroicons/m-gift.svg +4 -0
  517. package/icons/heroicons/m-globe-alt.svg +3 -0
  518. package/icons/heroicons/m-globe-americas.svg +3 -0
  519. package/icons/heroicons/m-globe-asia-australia.svg +3 -0
  520. package/icons/heroicons/m-globe-europe-africa.svg +3 -0
  521. package/icons/heroicons/m-h1.svg +3 -0
  522. package/icons/heroicons/m-h2.svg +3 -0
  523. package/icons/heroicons/m-h3.svg +3 -0
  524. package/icons/heroicons/m-hand-raised.svg +3 -0
  525. package/icons/heroicons/m-hand-thumb-down.svg +3 -0
  526. package/icons/heroicons/m-hand-thumb-up.svg +3 -0
  527. package/icons/heroicons/m-hashtag.svg +3 -0
  528. package/icons/heroicons/m-heart.svg +3 -0
  529. package/icons/heroicons/m-home-modern.svg +3 -0
  530. package/icons/heroicons/m-home.svg +3 -0
  531. package/icons/heroicons/m-identification.svg +3 -0
  532. package/icons/heroicons/m-inbox-arrow-down.svg +4 -0
  533. package/icons/heroicons/m-inbox-stack.svg +4 -0
  534. package/icons/heroicons/m-inbox.svg +3 -0
  535. package/icons/heroicons/m-information-circle.svg +3 -0
  536. package/icons/heroicons/m-italic.svg +3 -0
  537. package/icons/heroicons/m-key.svg +3 -0
  538. package/icons/heroicons/m-language.svg +4 -0
  539. package/icons/heroicons/m-lifebuoy.svg +3 -0
  540. package/icons/heroicons/m-light-bulb.svg +3 -0
  541. package/icons/heroicons/m-link-slash.svg +3 -0
  542. package/icons/heroicons/m-link.svg +4 -0
  543. package/icons/heroicons/m-list-bullet.svg +3 -0
  544. package/icons/heroicons/m-lock-closed.svg +3 -0
  545. package/icons/heroicons/m-lock-open.svg +3 -0
  546. package/icons/heroicons/m-magnifying-glass-circle.svg +4 -0
  547. package/icons/heroicons/m-magnifying-glass-minus.svg +4 -0
  548. package/icons/heroicons/m-magnifying-glass-plus.svg +4 -0
  549. package/icons/heroicons/m-magnifying-glass.svg +3 -0
  550. package/icons/heroicons/m-map-pin.svg +3 -0
  551. package/icons/heroicons/m-map.svg +3 -0
  552. package/icons/heroicons/m-megaphone.svg +3 -0
  553. package/icons/heroicons/m-microphone.svg +4 -0
  554. package/icons/heroicons/m-minus-circle.svg +3 -0
  555. package/icons/heroicons/m-minus-small.svg +3 -0
  556. package/icons/heroicons/m-minus.svg +3 -0
  557. package/icons/heroicons/m-moon.svg +3 -0
  558. package/icons/heroicons/m-musical-note.svg +3 -0
  559. package/icons/heroicons/m-newspaper.svg +4 -0
  560. package/icons/heroicons/m-no-symbol.svg +3 -0
  561. package/icons/heroicons/m-numbered-list.svg +3 -0
  562. package/icons/heroicons/m-paint-brush.svg +3 -0
  563. package/icons/heroicons/m-paper-airplane.svg +3 -0
  564. package/icons/heroicons/m-paper-clip.svg +3 -0
  565. package/icons/heroicons/m-pause-circle.svg +3 -0
  566. package/icons/heroicons/m-pause.svg +3 -0
  567. package/icons/heroicons/m-pencil-square.svg +4 -0
  568. package/icons/heroicons/m-pencil.svg +3 -0
  569. package/icons/heroicons/m-percent-badge.svg +3 -0
  570. package/icons/heroicons/m-phone-arrow-down-left.svg +3 -0
  571. package/icons/heroicons/m-phone-arrow-up-right.svg +3 -0
  572. package/icons/heroicons/m-phone-x-mark.svg +3 -0
  573. package/icons/heroicons/m-phone.svg +3 -0
  574. package/icons/heroicons/m-photo.svg +3 -0
  575. package/icons/heroicons/m-play-circle.svg +3 -0
  576. package/icons/heroicons/m-play-pause.svg +3 -0
  577. package/icons/heroicons/m-play.svg +3 -0
  578. package/icons/heroicons/m-plus-circle.svg +3 -0
  579. package/icons/heroicons/m-plus-small.svg +3 -0
  580. package/icons/heroicons/m-plus.svg +3 -0
  581. package/icons/heroicons/m-power.svg +3 -0
  582. package/icons/heroicons/m-presentation-chart-bar.svg +3 -0
  583. package/icons/heroicons/m-presentation-chart-line.svg +3 -0
  584. package/icons/heroicons/m-printer.svg +3 -0
  585. package/icons/heroicons/m-puzzle-piece.svg +3 -0
  586. package/icons/heroicons/m-qr-code.svg +3 -0
  587. package/icons/heroicons/m-question-mark-circle.svg +3 -0
  588. package/icons/heroicons/m-queue-list.svg +3 -0
  589. package/icons/heroicons/m-radio.svg +3 -0
  590. package/icons/heroicons/m-receipt-percent.svg +3 -0
  591. package/icons/heroicons/m-receipt-refund.svg +3 -0
  592. package/icons/heroicons/m-rectangle-group.svg +3 -0
  593. package/icons/heroicons/m-rectangle-stack.svg +3 -0
  594. package/icons/heroicons/m-rocket-launch.svg +4 -0
  595. package/icons/heroicons/m-rss.svg +4 -0
  596. package/icons/heroicons/m-scale.svg +3 -0
  597. package/icons/heroicons/m-scissors.svg +4 -0
  598. package/icons/heroicons/m-server-stack.svg +4 -0
  599. package/icons/heroicons/m-server.svg +4 -0
  600. package/icons/heroicons/m-share.svg +3 -0
  601. package/icons/heroicons/m-shield-check.svg +3 -0
  602. package/icons/heroicons/m-shield-exclamation.svg +3 -0
  603. package/icons/heroicons/m-shopping-bag.svg +3 -0
  604. package/icons/heroicons/m-shopping-cart.svg +3 -0
  605. package/icons/heroicons/m-signal-slash.svg +3 -0
  606. package/icons/heroicons/m-signal.svg +4 -0
  607. package/icons/heroicons/m-slash.svg +3 -0
  608. package/icons/heroicons/m-sparkles.svg +3 -0
  609. package/icons/heroicons/m-speaker-wave.svg +4 -0
  610. package/icons/heroicons/m-speaker-x-mark.svg +3 -0
  611. package/icons/heroicons/m-square-2-stack.svg +4 -0
  612. package/icons/heroicons/m-square-3-stack-3d.svg +5 -0
  613. package/icons/heroicons/m-squares-2x2.svg +3 -0
  614. package/icons/heroicons/m-squares-plus.svg +3 -0
  615. package/icons/heroicons/m-star.svg +3 -0
  616. package/icons/heroicons/m-stop-circle.svg +3 -0
  617. package/icons/heroicons/m-stop.svg +3 -0
  618. package/icons/heroicons/m-strikethrough.svg +3 -0
  619. package/icons/heroicons/m-sun.svg +3 -0
  620. package/icons/heroicons/m-swatch.svg +3 -0
  621. package/icons/heroicons/m-table-cells.svg +3 -0
  622. package/icons/heroicons/m-tag.svg +3 -0
  623. package/icons/heroicons/m-ticket.svg +3 -0
  624. package/icons/heroicons/m-trash.svg +3 -0
  625. package/icons/heroicons/m-trophy.svg +3 -0
  626. package/icons/heroicons/m-truck.svg +4 -0
  627. package/icons/heroicons/m-tv.svg +4 -0
  628. package/icons/heroicons/m-underline.svg +3 -0
  629. package/icons/heroicons/m-user-circle.svg +3 -0
  630. package/icons/heroicons/m-user-group.svg +3 -0
  631. package/icons/heroicons/m-user-minus.svg +3 -0
  632. package/icons/heroicons/m-user-plus.svg +3 -0
  633. package/icons/heroicons/m-user.svg +3 -0
  634. package/icons/heroicons/m-users.svg +3 -0
  635. package/icons/heroicons/m-variable.svg +3 -0
  636. package/icons/heroicons/m-video-camera-slash.svg +3 -0
  637. package/icons/heroicons/m-video-camera.svg +3 -0
  638. package/icons/heroicons/m-view-columns.svg +3 -0
  639. package/icons/heroicons/m-viewfinder-circle.svg +3 -0
  640. package/icons/heroicons/m-wallet.svg +3 -0
  641. package/icons/heroicons/m-wifi.svg +3 -0
  642. package/icons/heroicons/m-window.svg +3 -0
  643. package/icons/heroicons/m-wrench-screwdriver.svg +4 -0
  644. package/icons/heroicons/m-wrench.svg +3 -0
  645. package/icons/heroicons/m-x-circle.svg +3 -0
  646. package/icons/heroicons/m-x-mark.svg +3 -0
  647. package/icons/heroicons/o-academic-cap.svg +3 -0
  648. package/icons/heroicons/o-adjustments-horizontal.svg +3 -0
  649. package/icons/heroicons/o-adjustments-vertical.svg +3 -0
  650. package/icons/heroicons/o-archive-box-arrow-down.svg +3 -0
  651. package/icons/heroicons/o-archive-box-x-mark.svg +3 -0
  652. package/icons/heroicons/o-archive-box.svg +3 -0
  653. package/icons/heroicons/o-arrow-down-circle.svg +3 -0
  654. package/icons/heroicons/o-arrow-down-left.svg +3 -0
  655. package/icons/heroicons/o-arrow-down-on-square-stack.svg +3 -0
  656. package/icons/heroicons/o-arrow-down-on-square.svg +3 -0
  657. package/icons/heroicons/o-arrow-down-right.svg +3 -0
  658. package/icons/heroicons/o-arrow-down-tray.svg +3 -0
  659. package/icons/heroicons/o-arrow-down.svg +3 -0
  660. package/icons/heroicons/o-arrow-left-circle.svg +3 -0
  661. package/icons/heroicons/o-arrow-left-end-on-rectangle.svg +3 -0
  662. package/icons/heroicons/o-arrow-left-on-rectangle.svg +3 -0
  663. package/icons/heroicons/o-arrow-left-start-on-rectangle.svg +3 -0
  664. package/icons/heroicons/o-arrow-left.svg +3 -0
  665. package/icons/heroicons/o-arrow-long-down.svg +3 -0
  666. package/icons/heroicons/o-arrow-long-left.svg +3 -0
  667. package/icons/heroicons/o-arrow-long-right.svg +3 -0
  668. package/icons/heroicons/o-arrow-long-up.svg +3 -0
  669. package/icons/heroicons/o-arrow-path-rounded-square.svg +3 -0
  670. package/icons/heroicons/o-arrow-path.svg +3 -0
  671. package/icons/heroicons/o-arrow-right-circle.svg +3 -0
  672. package/icons/heroicons/o-arrow-right-end-on-rectangle.svg +3 -0
  673. package/icons/heroicons/o-arrow-right-on-rectangle.svg +3 -0
  674. package/icons/heroicons/o-arrow-right-start-on-rectangle.svg +3 -0
  675. package/icons/heroicons/o-arrow-right.svg +3 -0
  676. package/icons/heroicons/o-arrow-small-down.svg +3 -0
  677. package/icons/heroicons/o-arrow-small-left.svg +3 -0
  678. package/icons/heroicons/o-arrow-small-right.svg +3 -0
  679. package/icons/heroicons/o-arrow-small-up.svg +3 -0
  680. package/icons/heroicons/o-arrow-top-right-on-square.svg +3 -0
  681. package/icons/heroicons/o-arrow-trending-down.svg +3 -0
  682. package/icons/heroicons/o-arrow-trending-up.svg +3 -0
  683. package/icons/heroicons/o-arrow-turn-down-left.svg +3 -0
  684. package/icons/heroicons/o-arrow-turn-down-right.svg +3 -0
  685. package/icons/heroicons/o-arrow-turn-left-down.svg +3 -0
  686. package/icons/heroicons/o-arrow-turn-left-up.svg +3 -0
  687. package/icons/heroicons/o-arrow-turn-right-down.svg +3 -0
  688. package/icons/heroicons/o-arrow-turn-right-up.svg +3 -0
  689. package/icons/heroicons/o-arrow-turn-up-left.svg +3 -0
  690. package/icons/heroicons/o-arrow-turn-up-right.svg +3 -0
  691. package/icons/heroicons/o-arrow-up-circle.svg +3 -0
  692. package/icons/heroicons/o-arrow-up-left.svg +3 -0
  693. package/icons/heroicons/o-arrow-up-on-square-stack.svg +3 -0
  694. package/icons/heroicons/o-arrow-up-on-square.svg +3 -0
  695. package/icons/heroicons/o-arrow-up-right.svg +3 -0
  696. package/icons/heroicons/o-arrow-up-tray.svg +3 -0
  697. package/icons/heroicons/o-arrow-up.svg +3 -0
  698. package/icons/heroicons/o-arrow-uturn-down.svg +3 -0
  699. package/icons/heroicons/o-arrow-uturn-left.svg +3 -0
  700. package/icons/heroicons/o-arrow-uturn-right.svg +3 -0
  701. package/icons/heroicons/o-arrow-uturn-up.svg +3 -0
  702. package/icons/heroicons/o-arrows-pointing-in.svg +3 -0
  703. package/icons/heroicons/o-arrows-pointing-out.svg +3 -0
  704. package/icons/heroicons/o-arrows-right-left.svg +3 -0
  705. package/icons/heroicons/o-arrows-up-down.svg +3 -0
  706. package/icons/heroicons/o-at-symbol.svg +3 -0
  707. package/icons/heroicons/o-backspace.svg +3 -0
  708. package/icons/heroicons/o-backward.svg +3 -0
  709. package/icons/heroicons/o-banknotes.svg +3 -0
  710. package/icons/heroicons/o-bars-2.svg +3 -0
  711. package/icons/heroicons/o-bars-3-bottom-left.svg +3 -0
  712. package/icons/heroicons/o-bars-3-bottom-right.svg +3 -0
  713. package/icons/heroicons/o-bars-3-center-left.svg +3 -0
  714. package/icons/heroicons/o-bars-3.svg +3 -0
  715. package/icons/heroicons/o-bars-4.svg +3 -0
  716. package/icons/heroicons/o-bars-arrow-down.svg +3 -0
  717. package/icons/heroicons/o-bars-arrow-up.svg +3 -0
  718. package/icons/heroicons/o-battery-0.svg +3 -0
  719. package/icons/heroicons/o-battery-100.svg +3 -0
  720. package/icons/heroicons/o-battery-50.svg +3 -0
  721. package/icons/heroicons/o-beaker.svg +3 -0
  722. package/icons/heroicons/o-bell-alert.svg +3 -0
  723. package/icons/heroicons/o-bell-slash.svg +3 -0
  724. package/icons/heroicons/o-bell-snooze.svg +3 -0
  725. package/icons/heroicons/o-bell.svg +3 -0
  726. package/icons/heroicons/o-bold.svg +3 -0
  727. package/icons/heroicons/o-bolt-slash.svg +3 -0
  728. package/icons/heroicons/o-bolt.svg +3 -0
  729. package/icons/heroicons/o-book-open.svg +3 -0
  730. package/icons/heroicons/o-bookmark-slash.svg +3 -0
  731. package/icons/heroicons/o-bookmark-square.svg +3 -0
  732. package/icons/heroicons/o-bookmark.svg +3 -0
  733. package/icons/heroicons/o-briefcase.svg +3 -0
  734. package/icons/heroicons/o-bug-ant.svg +3 -0
  735. package/icons/heroicons/o-building-library.svg +3 -0
  736. package/icons/heroicons/o-building-office-2.svg +3 -0
  737. package/icons/heroicons/o-building-office.svg +3 -0
  738. package/icons/heroicons/o-building-storefront.svg +3 -0
  739. package/icons/heroicons/o-cake.svg +3 -0
  740. package/icons/heroicons/o-calculator.svg +3 -0
  741. package/icons/heroicons/o-calendar-date-range.svg +3 -0
  742. package/icons/heroicons/o-calendar-days.svg +3 -0
  743. package/icons/heroicons/o-calendar.svg +3 -0
  744. package/icons/heroicons/o-camera.svg +4 -0
  745. package/icons/heroicons/o-chart-bar-square.svg +3 -0
  746. package/icons/heroicons/o-chart-bar.svg +3 -0
  747. package/icons/heroicons/o-chart-pie.svg +4 -0
  748. package/icons/heroicons/o-chat-bubble-bottom-center-text.svg +3 -0
  749. package/icons/heroicons/o-chat-bubble-bottom-center.svg +3 -0
  750. package/icons/heroicons/o-chat-bubble-left-ellipsis.svg +3 -0
  751. package/icons/heroicons/o-chat-bubble-left-right.svg +3 -0
  752. package/icons/heroicons/o-chat-bubble-left.svg +3 -0
  753. package/icons/heroicons/o-chat-bubble-oval-left-ellipsis.svg +3 -0
  754. package/icons/heroicons/o-chat-bubble-oval-left.svg +3 -0
  755. package/icons/heroicons/o-check-badge.svg +3 -0
  756. package/icons/heroicons/o-check-circle.svg +3 -0
  757. package/icons/heroicons/o-check.svg +3 -0
  758. package/icons/heroicons/o-chevron-double-down.svg +3 -0
  759. package/icons/heroicons/o-chevron-double-left.svg +3 -0
  760. package/icons/heroicons/o-chevron-double-right.svg +3 -0
  761. package/icons/heroicons/o-chevron-double-up.svg +4 -0
  762. package/icons/heroicons/o-chevron-down.svg +3 -0
  763. package/icons/heroicons/o-chevron-left.svg +3 -0
  764. package/icons/heroicons/o-chevron-right.svg +3 -0
  765. package/icons/heroicons/o-chevron-up-down.svg +3 -0
  766. package/icons/heroicons/o-chevron-up.svg +3 -0
  767. package/icons/heroicons/o-circle-stack.svg +3 -0
  768. package/icons/heroicons/o-clipboard-document-check.svg +3 -0
  769. package/icons/heroicons/o-clipboard-document-list.svg +3 -0
  770. package/icons/heroicons/o-clipboard-document.svg +3 -0
  771. package/icons/heroicons/o-clipboard.svg +3 -0
  772. package/icons/heroicons/o-clock.svg +3 -0
  773. package/icons/heroicons/o-cloud-arrow-down.svg +3 -0
  774. package/icons/heroicons/o-cloud-arrow-up.svg +3 -0
  775. package/icons/heroicons/o-cloud.svg +3 -0
  776. package/icons/heroicons/o-code-bracket-square.svg +3 -0
  777. package/icons/heroicons/o-code-bracket.svg +3 -0
  778. package/icons/heroicons/o-cog-6-tooth.svg +4 -0
  779. package/icons/heroicons/o-cog-8-tooth.svg +4 -0
  780. package/icons/heroicons/o-cog.svg +3 -0
  781. package/icons/heroicons/o-command-line.svg +3 -0
  782. package/icons/heroicons/o-computer-desktop.svg +3 -0
  783. package/icons/heroicons/o-cpu-chip.svg +3 -0
  784. package/icons/heroicons/o-credit-card.svg +3 -0
  785. package/icons/heroicons/o-cube-transparent.svg +3 -0
  786. package/icons/heroicons/o-cube.svg +3 -0
  787. package/icons/heroicons/o-currency-bangladeshi.svg +3 -0
  788. package/icons/heroicons/o-currency-dollar.svg +3 -0
  789. package/icons/heroicons/o-currency-euro.svg +3 -0
  790. package/icons/heroicons/o-currency-pound.svg +3 -0
  791. package/icons/heroicons/o-currency-rupee.svg +3 -0
  792. package/icons/heroicons/o-currency-yen.svg +3 -0
  793. package/icons/heroicons/o-cursor-arrow-rays.svg +3 -0
  794. package/icons/heroicons/o-cursor-arrow-ripple.svg +3 -0
  795. package/icons/heroicons/o-device-phone-mobile.svg +3 -0
  796. package/icons/heroicons/o-device-tablet.svg +3 -0
  797. package/icons/heroicons/o-divide.svg +3 -0
  798. package/icons/heroicons/o-document-arrow-down.svg +3 -0
  799. package/icons/heroicons/o-document-arrow-up.svg +3 -0
  800. package/icons/heroicons/o-document-chart-bar.svg +3 -0
  801. package/icons/heroicons/o-document-check.svg +3 -0
  802. package/icons/heroicons/o-document-currency-bangladeshi.svg +3 -0
  803. package/icons/heroicons/o-document-currency-dollar.svg +3 -0
  804. package/icons/heroicons/o-document-currency-euro.svg +3 -0
  805. package/icons/heroicons/o-document-currency-pound.svg +3 -0
  806. package/icons/heroicons/o-document-currency-rupee.svg +3 -0
  807. package/icons/heroicons/o-document-currency-yen.svg +3 -0
  808. package/icons/heroicons/o-document-duplicate.svg +3 -0
  809. package/icons/heroicons/o-document-magnifying-glass.svg +3 -0
  810. package/icons/heroicons/o-document-minus.svg +3 -0
  811. package/icons/heroicons/o-document-plus.svg +3 -0
  812. package/icons/heroicons/o-document-text.svg +3 -0
  813. package/icons/heroicons/o-document.svg +3 -0
  814. package/icons/heroicons/o-ellipsis-horizontal-circle.svg +3 -0
  815. package/icons/heroicons/o-ellipsis-horizontal.svg +3 -0
  816. package/icons/heroicons/o-ellipsis-vertical.svg +3 -0
  817. package/icons/heroicons/o-envelope-open.svg +3 -0
  818. package/icons/heroicons/o-envelope.svg +3 -0
  819. package/icons/heroicons/o-equals.svg +3 -0
  820. package/icons/heroicons/o-exclamation-circle.svg +3 -0
  821. package/icons/heroicons/o-exclamation-triangle.svg +3 -0
  822. package/icons/heroicons/o-eye-dropper.svg +3 -0
  823. package/icons/heroicons/o-eye-slash.svg +3 -0
  824. package/icons/heroicons/o-eye.svg +4 -0
  825. package/icons/heroicons/o-face-frown.svg +3 -0
  826. package/icons/heroicons/o-face-smile.svg +3 -0
  827. package/icons/heroicons/o-film.svg +3 -0
  828. package/icons/heroicons/o-finger-print.svg +3 -0
  829. package/icons/heroicons/o-fire.svg +4 -0
  830. package/icons/heroicons/o-flag.svg +3 -0
  831. package/icons/heroicons/o-folder-arrow-down.svg +3 -0
  832. package/icons/heroicons/o-folder-minus.svg +3 -0
  833. package/icons/heroicons/o-folder-open.svg +3 -0
  834. package/icons/heroicons/o-folder-plus.svg +3 -0
  835. package/icons/heroicons/o-folder.svg +3 -0
  836. package/icons/heroicons/o-forward.svg +3 -0
  837. package/icons/heroicons/o-funnel.svg +3 -0
  838. package/icons/heroicons/o-gif.svg +3 -0
  839. package/icons/heroicons/o-gift-top.svg +3 -0
  840. package/icons/heroicons/o-gift.svg +3 -0
  841. package/icons/heroicons/o-globe-alt.svg +3 -0
  842. package/icons/heroicons/o-globe-americas.svg +3 -0
  843. package/icons/heroicons/o-globe-asia-australia.svg +3 -0
  844. package/icons/heroicons/o-globe-europe-africa.svg +3 -0
  845. package/icons/heroicons/o-h1.svg +3 -0
  846. package/icons/heroicons/o-h2.svg +3 -0
  847. package/icons/heroicons/o-h3.svg +3 -0
  848. package/icons/heroicons/o-hand-raised.svg +3 -0
  849. package/icons/heroicons/o-hand-thumb-down.svg +3 -0
  850. package/icons/heroicons/o-hand-thumb-up.svg +3 -0
  851. package/icons/heroicons/o-hashtag.svg +3 -0
  852. package/icons/heroicons/o-heart.svg +3 -0
  853. package/icons/heroicons/o-home-modern.svg +3 -0
  854. package/icons/heroicons/o-home.svg +3 -0
  855. package/icons/heroicons/o-identification.svg +3 -0
  856. package/icons/heroicons/o-inbox-arrow-down.svg +3 -0
  857. package/icons/heroicons/o-inbox-stack.svg +3 -0
  858. package/icons/heroicons/o-inbox.svg +3 -0
  859. package/icons/heroicons/o-information-circle.svg +3 -0
  860. package/icons/heroicons/o-italic.svg +3 -0
  861. package/icons/heroicons/o-key.svg +3 -0
  862. package/icons/heroicons/o-language.svg +3 -0
  863. package/icons/heroicons/o-lifebuoy.svg +3 -0
  864. package/icons/heroicons/o-light-bulb.svg +3 -0
  865. package/icons/heroicons/o-link-slash.svg +3 -0
  866. package/icons/heroicons/o-link.svg +3 -0
  867. package/icons/heroicons/o-list-bullet.svg +3 -0
  868. package/icons/heroicons/o-lock-closed.svg +3 -0
  869. package/icons/heroicons/o-lock-open.svg +3 -0
  870. package/icons/heroicons/o-magnifying-glass-circle.svg +3 -0
  871. package/icons/heroicons/o-magnifying-glass-minus.svg +3 -0
  872. package/icons/heroicons/o-magnifying-glass-plus.svg +3 -0
  873. package/icons/heroicons/o-magnifying-glass.svg +3 -0
  874. package/icons/heroicons/o-map-pin.svg +4 -0
  875. package/icons/heroicons/o-map.svg +3 -0
  876. package/icons/heroicons/o-megaphone.svg +3 -0
  877. package/icons/heroicons/o-microphone.svg +3 -0
  878. package/icons/heroicons/o-minus-circle.svg +3 -0
  879. package/icons/heroicons/o-minus-small.svg +3 -0
  880. package/icons/heroicons/o-minus.svg +3 -0
  881. package/icons/heroicons/o-moon.svg +3 -0
  882. package/icons/heroicons/o-musical-note.svg +3 -0
  883. package/icons/heroicons/o-newspaper.svg +3 -0
  884. package/icons/heroicons/o-no-symbol.svg +3 -0
  885. package/icons/heroicons/o-numbered-list.svg +3 -0
  886. package/icons/heroicons/o-paint-brush.svg +3 -0
  887. package/icons/heroicons/o-paper-airplane.svg +3 -0
  888. package/icons/heroicons/o-paper-clip.svg +3 -0
  889. package/icons/heroicons/o-pause-circle.svg +3 -0
  890. package/icons/heroicons/o-pause.svg +3 -0
  891. package/icons/heroicons/o-pencil-square.svg +3 -0
  892. package/icons/heroicons/o-pencil.svg +3 -0
  893. package/icons/heroicons/o-percent-badge.svg +3 -0
  894. package/icons/heroicons/o-phone-arrow-down-left.svg +3 -0
  895. package/icons/heroicons/o-phone-arrow-up-right.svg +3 -0
  896. package/icons/heroicons/o-phone-x-mark.svg +3 -0
  897. package/icons/heroicons/o-phone.svg +3 -0
  898. package/icons/heroicons/o-photo.svg +3 -0
  899. package/icons/heroicons/o-play-circle.svg +4 -0
  900. package/icons/heroicons/o-play-pause.svg +3 -0
  901. package/icons/heroicons/o-play.svg +3 -0
  902. package/icons/heroicons/o-plus-circle.svg +3 -0
  903. package/icons/heroicons/o-plus-small.svg +3 -0
  904. package/icons/heroicons/o-plus.svg +3 -0
  905. package/icons/heroicons/o-power.svg +3 -0
  906. package/icons/heroicons/o-presentation-chart-bar.svg +3 -0
  907. package/icons/heroicons/o-presentation-chart-line.svg +3 -0
  908. package/icons/heroicons/o-printer.svg +3 -0
  909. package/icons/heroicons/o-puzzle-piece.svg +3 -0
  910. package/icons/heroicons/o-qr-code.svg +4 -0
  911. package/icons/heroicons/o-question-mark-circle.svg +3 -0
  912. package/icons/heroicons/o-queue-list.svg +3 -0
  913. package/icons/heroicons/o-radio.svg +3 -0
  914. package/icons/heroicons/o-receipt-percent.svg +3 -0
  915. package/icons/heroicons/o-receipt-refund.svg +3 -0
  916. package/icons/heroicons/o-rectangle-group.svg +3 -0
  917. package/icons/heroicons/o-rectangle-stack.svg +3 -0
  918. package/icons/heroicons/o-rocket-launch.svg +3 -0
  919. package/icons/heroicons/o-rss.svg +3 -0
  920. package/icons/heroicons/o-scale.svg +3 -0
  921. package/icons/heroicons/o-scissors.svg +3 -0
  922. package/icons/heroicons/o-server-stack.svg +3 -0
  923. package/icons/heroicons/o-server.svg +3 -0
  924. package/icons/heroicons/o-share.svg +3 -0
  925. package/icons/heroicons/o-shield-check.svg +3 -0
  926. package/icons/heroicons/o-shield-exclamation.svg +3 -0
  927. package/icons/heroicons/o-shopping-bag.svg +3 -0
  928. package/icons/heroicons/o-shopping-cart.svg +3 -0
  929. package/icons/heroicons/o-signal-slash.svg +3 -0
  930. package/icons/heroicons/o-signal.svg +3 -0
  931. package/icons/heroicons/o-slash.svg +3 -0
  932. package/icons/heroicons/o-sparkles.svg +3 -0
  933. package/icons/heroicons/o-speaker-wave.svg +3 -0
  934. package/icons/heroicons/o-speaker-x-mark.svg +3 -0
  935. package/icons/heroicons/o-square-2-stack.svg +3 -0
  936. package/icons/heroicons/o-square-3-stack-3d.svg +3 -0
  937. package/icons/heroicons/o-squares-2x2.svg +3 -0
  938. package/icons/heroicons/o-squares-plus.svg +3 -0
  939. package/icons/heroicons/o-star.svg +3 -0
  940. package/icons/heroicons/o-stop-circle.svg +4 -0
  941. package/icons/heroicons/o-stop.svg +3 -0
  942. package/icons/heroicons/o-strikethrough.svg +3 -0
  943. package/icons/heroicons/o-sun.svg +3 -0
  944. package/icons/heroicons/o-swatch.svg +3 -0
  945. package/icons/heroicons/o-table-cells.svg +3 -0
  946. package/icons/heroicons/o-tag.svg +4 -0
  947. package/icons/heroicons/o-ticket.svg +3 -0
  948. package/icons/heroicons/o-trash.svg +3 -0
  949. package/icons/heroicons/o-trophy.svg +3 -0
  950. package/icons/heroicons/o-truck.svg +3 -0
  951. package/icons/heroicons/o-tv.svg +3 -0
  952. package/icons/heroicons/o-underline.svg +3 -0
  953. package/icons/heroicons/o-user-circle.svg +3 -0
  954. package/icons/heroicons/o-user-group.svg +3 -0
  955. package/icons/heroicons/o-user-minus.svg +3 -0
  956. package/icons/heroicons/o-user-plus.svg +3 -0
  957. package/icons/heroicons/o-user.svg +3 -0
  958. package/icons/heroicons/o-users.svg +3 -0
  959. package/icons/heroicons/o-variable.svg +3 -0
  960. package/icons/heroicons/o-video-camera-slash.svg +3 -0
  961. package/icons/heroicons/o-video-camera.svg +3 -0
  962. package/icons/heroicons/o-view-columns.svg +3 -0
  963. package/icons/heroicons/o-viewfinder-circle.svg +3 -0
  964. package/icons/heroicons/o-wallet.svg +3 -0
  965. package/icons/heroicons/o-wifi.svg +3 -0
  966. package/icons/heroicons/o-window.svg +3 -0
  967. package/icons/heroicons/o-wrench-screwdriver.svg +3 -0
  968. package/icons/heroicons/o-wrench.svg +4 -0
  969. package/icons/heroicons/o-x-circle.svg +3 -0
  970. package/icons/heroicons/o-x-mark.svg +3 -0
  971. package/icons/heroicons/s-academic-cap.svg +5 -0
  972. package/icons/heroicons/s-adjustments-horizontal.svg +3 -0
  973. package/icons/heroicons/s-adjustments-vertical.svg +3 -0
  974. package/icons/heroicons/s-archive-box-arrow-down.svg +4 -0
  975. package/icons/heroicons/s-archive-box-x-mark.svg +4 -0
  976. package/icons/heroicons/s-archive-box.svg +4 -0
  977. package/icons/heroicons/s-arrow-down-circle.svg +3 -0
  978. package/icons/heroicons/s-arrow-down-left.svg +3 -0
  979. package/icons/heroicons/s-arrow-down-on-square-stack.svg +4 -0
  980. package/icons/heroicons/s-arrow-down-on-square.svg +3 -0
  981. package/icons/heroicons/s-arrow-down-right.svg +3 -0
  982. package/icons/heroicons/s-arrow-down-tray.svg +3 -0
  983. package/icons/heroicons/s-arrow-down.svg +3 -0
  984. package/icons/heroicons/s-arrow-left-circle.svg +3 -0
  985. package/icons/heroicons/s-arrow-left-end-on-rectangle.svg +3 -0
  986. package/icons/heroicons/s-arrow-left-on-rectangle.svg +3 -0
  987. package/icons/heroicons/s-arrow-left-start-on-rectangle.svg +3 -0
  988. package/icons/heroicons/s-arrow-left.svg +3 -0
  989. package/icons/heroicons/s-arrow-long-down.svg +3 -0
  990. package/icons/heroicons/s-arrow-long-left.svg +3 -0
  991. package/icons/heroicons/s-arrow-long-right.svg +3 -0
  992. package/icons/heroicons/s-arrow-long-up.svg +3 -0
  993. package/icons/heroicons/s-arrow-path-rounded-square.svg +3 -0
  994. package/icons/heroicons/s-arrow-path.svg +3 -0
  995. package/icons/heroicons/s-arrow-right-circle.svg +3 -0
  996. package/icons/heroicons/s-arrow-right-end-on-rectangle.svg +3 -0
  997. package/icons/heroicons/s-arrow-right-on-rectangle.svg +3 -0
  998. package/icons/heroicons/s-arrow-right-start-on-rectangle.svg +3 -0
  999. package/icons/heroicons/s-arrow-right.svg +3 -0
  1000. package/icons/heroicons/s-arrow-small-down.svg +3 -0
  1001. package/icons/heroicons/s-arrow-small-left.svg +3 -0
  1002. package/icons/heroicons/s-arrow-small-right.svg +3 -0
  1003. package/icons/heroicons/s-arrow-small-up.svg +3 -0
  1004. package/icons/heroicons/s-arrow-top-right-on-square.svg +3 -0
  1005. package/icons/heroicons/s-arrow-trending-down.svg +3 -0
  1006. package/icons/heroicons/s-arrow-trending-up.svg +3 -0
  1007. package/icons/heroicons/s-arrow-turn-down-left.svg +3 -0
  1008. package/icons/heroicons/s-arrow-turn-down-right.svg +3 -0
  1009. package/icons/heroicons/s-arrow-turn-left-down.svg +3 -0
  1010. package/icons/heroicons/s-arrow-turn-left-up.svg +3 -0
  1011. package/icons/heroicons/s-arrow-turn-right-down.svg +3 -0
  1012. package/icons/heroicons/s-arrow-turn-right-up.svg +3 -0
  1013. package/icons/heroicons/s-arrow-turn-up-left.svg +3 -0
  1014. package/icons/heroicons/s-arrow-turn-up-right.svg +3 -0
  1015. package/icons/heroicons/s-arrow-up-circle.svg +3 -0
  1016. package/icons/heroicons/s-arrow-up-left.svg +3 -0
  1017. package/icons/heroicons/s-arrow-up-on-square-stack.svg +4 -0
  1018. package/icons/heroicons/s-arrow-up-on-square.svg +3 -0
  1019. package/icons/heroicons/s-arrow-up-right.svg +3 -0
  1020. package/icons/heroicons/s-arrow-up-tray.svg +3 -0
  1021. package/icons/heroicons/s-arrow-up.svg +3 -0
  1022. package/icons/heroicons/s-arrow-uturn-down.svg +3 -0
  1023. package/icons/heroicons/s-arrow-uturn-left.svg +3 -0
  1024. package/icons/heroicons/s-arrow-uturn-right.svg +3 -0
  1025. package/icons/heroicons/s-arrow-uturn-up.svg +3 -0
  1026. package/icons/heroicons/s-arrows-pointing-in.svg +3 -0
  1027. package/icons/heroicons/s-arrows-pointing-out.svg +3 -0
  1028. package/icons/heroicons/s-arrows-right-left.svg +3 -0
  1029. package/icons/heroicons/s-arrows-up-down.svg +3 -0
  1030. package/icons/heroicons/s-at-symbol.svg +3 -0
  1031. package/icons/heroicons/s-backspace.svg +3 -0
  1032. package/icons/heroicons/s-backward.svg +3 -0
  1033. package/icons/heroicons/s-banknotes.svg +5 -0
  1034. package/icons/heroicons/s-bars-2.svg +3 -0
  1035. package/icons/heroicons/s-bars-3-bottom-left.svg +3 -0
  1036. package/icons/heroicons/s-bars-3-bottom-right.svg +3 -0
  1037. package/icons/heroicons/s-bars-3-center-left.svg +3 -0
  1038. package/icons/heroicons/s-bars-3.svg +3 -0
  1039. package/icons/heroicons/s-bars-4.svg +3 -0
  1040. package/icons/heroicons/s-bars-arrow-down.svg +3 -0
  1041. package/icons/heroicons/s-bars-arrow-up.svg +3 -0
  1042. package/icons/heroicons/s-battery-0.svg +3 -0
  1043. package/icons/heroicons/s-battery-100.svg +3 -0
  1044. package/icons/heroicons/s-battery-50.svg +4 -0
  1045. package/icons/heroicons/s-beaker.svg +3 -0
  1046. package/icons/heroicons/s-bell-alert.svg +4 -0
  1047. package/icons/heroicons/s-bell-slash.svg +4 -0
  1048. package/icons/heroicons/s-bell-snooze.svg +3 -0
  1049. package/icons/heroicons/s-bell.svg +3 -0
  1050. package/icons/heroicons/s-bold.svg +3 -0
  1051. package/icons/heroicons/s-bolt-slash.svg +3 -0
  1052. package/icons/heroicons/s-bolt.svg +3 -0
  1053. package/icons/heroicons/s-book-open.svg +3 -0
  1054. package/icons/heroicons/s-bookmark-slash.svg +3 -0
  1055. package/icons/heroicons/s-bookmark-square.svg +3 -0
  1056. package/icons/heroicons/s-bookmark.svg +3 -0
  1057. package/icons/heroicons/s-briefcase.svg +4 -0
  1058. package/icons/heroicons/s-bug-ant.svg +3 -0
  1059. package/icons/heroicons/s-building-library.svg +5 -0
  1060. package/icons/heroicons/s-building-office-2.svg +3 -0
  1061. package/icons/heroicons/s-building-office.svg +3 -0
  1062. package/icons/heroicons/s-building-storefront.svg +4 -0
  1063. package/icons/heroicons/s-cake.svg +3 -0
  1064. package/icons/heroicons/s-calculator.svg +3 -0
  1065. package/icons/heroicons/s-calendar-date-range.svg +4 -0
  1066. package/icons/heroicons/s-calendar-days.svg +4 -0
  1067. package/icons/heroicons/s-calendar.svg +3 -0
  1068. package/icons/heroicons/s-camera.svg +4 -0
  1069. package/icons/heroicons/s-chart-bar-square.svg +3 -0
  1070. package/icons/heroicons/s-chart-bar.svg +3 -0
  1071. package/icons/heroicons/s-chart-pie.svg +4 -0
  1072. package/icons/heroicons/s-chat-bubble-bottom-center-text.svg +3 -0
  1073. package/icons/heroicons/s-chat-bubble-bottom-center.svg +3 -0
  1074. package/icons/heroicons/s-chat-bubble-left-ellipsis.svg +3 -0
  1075. package/icons/heroicons/s-chat-bubble-left-right.svg +4 -0
  1076. package/icons/heroicons/s-chat-bubble-left.svg +3 -0
  1077. package/icons/heroicons/s-chat-bubble-oval-left-ellipsis.svg +3 -0
  1078. package/icons/heroicons/s-chat-bubble-oval-left.svg +3 -0
  1079. package/icons/heroicons/s-check-badge.svg +3 -0
  1080. package/icons/heroicons/s-check-circle.svg +3 -0
  1081. package/icons/heroicons/s-check.svg +3 -0
  1082. package/icons/heroicons/s-chevron-double-down.svg +4 -0
  1083. package/icons/heroicons/s-chevron-double-left.svg +4 -0
  1084. package/icons/heroicons/s-chevron-double-right.svg +4 -0
  1085. package/icons/heroicons/s-chevron-double-up.svg +4 -0
  1086. package/icons/heroicons/s-chevron-down.svg +3 -0
  1087. package/icons/heroicons/s-chevron-left.svg +3 -0
  1088. package/icons/heroicons/s-chevron-right.svg +3 -0
  1089. package/icons/heroicons/s-chevron-up-down.svg +3 -0
  1090. package/icons/heroicons/s-chevron-up.svg +3 -0
  1091. package/icons/heroicons/s-circle-stack.svg +6 -0
  1092. package/icons/heroicons/s-clipboard-document-check.svg +4 -0
  1093. package/icons/heroicons/s-clipboard-document-list.svg +4 -0
  1094. package/icons/heroicons/s-clipboard-document.svg +5 -0
  1095. package/icons/heroicons/s-clipboard.svg +3 -0
  1096. package/icons/heroicons/s-clock.svg +3 -0
  1097. package/icons/heroicons/s-cloud-arrow-down.svg +3 -0
  1098. package/icons/heroicons/s-cloud-arrow-up.svg +3 -0
  1099. package/icons/heroicons/s-cloud.svg +3 -0
  1100. package/icons/heroicons/s-code-bracket-square.svg +3 -0
  1101. package/icons/heroicons/s-code-bracket.svg +3 -0
  1102. package/icons/heroicons/s-cog-6-tooth.svg +3 -0
  1103. package/icons/heroicons/s-cog-8-tooth.svg +3 -0
  1104. package/icons/heroicons/s-cog.svg +4 -0
  1105. package/icons/heroicons/s-command-line.svg +3 -0
  1106. package/icons/heroicons/s-computer-desktop.svg +3 -0
  1107. package/icons/heroicons/s-cpu-chip.svg +4 -0
  1108. package/icons/heroicons/s-credit-card.svg +4 -0
  1109. package/icons/heroicons/s-cube-transparent.svg +3 -0
  1110. package/icons/heroicons/s-cube.svg +3 -0
  1111. package/icons/heroicons/s-currency-bangladeshi.svg +3 -0
  1112. package/icons/heroicons/s-currency-dollar.svg +4 -0
  1113. package/icons/heroicons/s-currency-euro.svg +3 -0
  1114. package/icons/heroicons/s-currency-pound.svg +3 -0
  1115. package/icons/heroicons/s-currency-rupee.svg +3 -0
  1116. package/icons/heroicons/s-currency-yen.svg +3 -0
  1117. package/icons/heroicons/s-cursor-arrow-rays.svg +3 -0
  1118. package/icons/heroicons/s-cursor-arrow-ripple.svg +3 -0
  1119. package/icons/heroicons/s-device-phone-mobile.svg +4 -0
  1120. package/icons/heroicons/s-device-tablet.svg +4 -0
  1121. package/icons/heroicons/s-divide.svg +3 -0
  1122. package/icons/heroicons/s-document-arrow-down.svg +4 -0
  1123. package/icons/heroicons/s-document-arrow-up.svg +4 -0
  1124. package/icons/heroicons/s-document-chart-bar.svg +4 -0
  1125. package/icons/heroicons/s-document-check.svg +4 -0
  1126. package/icons/heroicons/s-document-currency-bangladeshi.svg +3 -0
  1127. package/icons/heroicons/s-document-currency-dollar.svg +3 -0
  1128. package/icons/heroicons/s-document-currency-euro.svg +4 -0
  1129. package/icons/heroicons/s-document-currency-pound.svg +3 -0
  1130. package/icons/heroicons/s-document-currency-rupee.svg +3 -0
  1131. package/icons/heroicons/s-document-currency-yen.svg +3 -0
  1132. package/icons/heroicons/s-document-duplicate.svg +4 -0
  1133. package/icons/heroicons/s-document-magnifying-glass.svg +5 -0
  1134. package/icons/heroicons/s-document-minus.svg +4 -0
  1135. package/icons/heroicons/s-document-plus.svg +4 -0
  1136. package/icons/heroicons/s-document-text.svg +4 -0
  1137. package/icons/heroicons/s-document.svg +4 -0
  1138. package/icons/heroicons/s-ellipsis-horizontal-circle.svg +3 -0
  1139. package/icons/heroicons/s-ellipsis-horizontal.svg +3 -0
  1140. package/icons/heroicons/s-ellipsis-vertical.svg +3 -0
  1141. package/icons/heroicons/s-envelope-open.svg +4 -0
  1142. package/icons/heroicons/s-envelope.svg +4 -0
  1143. package/icons/heroicons/s-equals.svg +3 -0
  1144. package/icons/heroicons/s-exclamation-circle.svg +3 -0
  1145. package/icons/heroicons/s-exclamation-triangle.svg +3 -0
  1146. package/icons/heroicons/s-eye-dropper.svg +3 -0
  1147. package/icons/heroicons/s-eye-slash.svg +5 -0
  1148. package/icons/heroicons/s-eye.svg +4 -0
  1149. package/icons/heroicons/s-face-frown.svg +3 -0
  1150. package/icons/heroicons/s-face-smile.svg +3 -0
  1151. package/icons/heroicons/s-film.svg +3 -0
  1152. package/icons/heroicons/s-finger-print.svg +3 -0
  1153. package/icons/heroicons/s-fire.svg +3 -0
  1154. package/icons/heroicons/s-flag.svg +3 -0
  1155. package/icons/heroicons/s-folder-arrow-down.svg +3 -0
  1156. package/icons/heroicons/s-folder-minus.svg +3 -0
  1157. package/icons/heroicons/s-folder-open.svg +3 -0
  1158. package/icons/heroicons/s-folder-plus.svg +3 -0
  1159. package/icons/heroicons/s-folder.svg +3 -0
  1160. package/icons/heroicons/s-forward.svg +3 -0
  1161. package/icons/heroicons/s-funnel.svg +3 -0
  1162. package/icons/heroicons/s-gif.svg +3 -0
  1163. package/icons/heroicons/s-gift-top.svg +4 -0
  1164. package/icons/heroicons/s-gift.svg +3 -0
  1165. package/icons/heroicons/s-globe-alt.svg +3 -0
  1166. package/icons/heroicons/s-globe-americas.svg +3 -0
  1167. package/icons/heroicons/s-globe-asia-australia.svg +4 -0
  1168. package/icons/heroicons/s-globe-europe-africa.svg +3 -0
  1169. package/icons/heroicons/s-h1.svg +3 -0
  1170. package/icons/heroicons/s-h2.svg +3 -0
  1171. package/icons/heroicons/s-h3.svg +3 -0
  1172. package/icons/heroicons/s-hand-raised.svg +3 -0
  1173. package/icons/heroicons/s-hand-thumb-down.svg +3 -0
  1174. package/icons/heroicons/s-hand-thumb-up.svg +3 -0
  1175. package/icons/heroicons/s-hashtag.svg +3 -0
  1176. package/icons/heroicons/s-heart.svg +3 -0
  1177. package/icons/heroicons/s-home-modern.svg +4 -0
  1178. package/icons/heroicons/s-home.svg +4 -0
  1179. package/icons/heroicons/s-identification.svg +3 -0
  1180. package/icons/heroicons/s-inbox-arrow-down.svg +4 -0
  1181. package/icons/heroicons/s-inbox-stack.svg +4 -0
  1182. package/icons/heroicons/s-inbox.svg +3 -0
  1183. package/icons/heroicons/s-information-circle.svg +3 -0
  1184. package/icons/heroicons/s-italic.svg +3 -0
  1185. package/icons/heroicons/s-key.svg +3 -0
  1186. package/icons/heroicons/s-language.svg +3 -0
  1187. package/icons/heroicons/s-lifebuoy.svg +3 -0
  1188. package/icons/heroicons/s-light-bulb.svg +4 -0
  1189. package/icons/heroicons/s-link-slash.svg +3 -0
  1190. package/icons/heroicons/s-link.svg +3 -0
  1191. package/icons/heroicons/s-list-bullet.svg +3 -0
  1192. package/icons/heroicons/s-lock-closed.svg +3 -0
  1193. package/icons/heroicons/s-lock-open.svg +3 -0
  1194. package/icons/heroicons/s-magnifying-glass-circle.svg +4 -0
  1195. package/icons/heroicons/s-magnifying-glass-minus.svg +3 -0
  1196. package/icons/heroicons/s-magnifying-glass-plus.svg +3 -0
  1197. package/icons/heroicons/s-magnifying-glass.svg +3 -0
  1198. package/icons/heroicons/s-map-pin.svg +3 -0
  1199. package/icons/heroicons/s-map.svg +3 -0
  1200. package/icons/heroicons/s-megaphone.svg +3 -0
  1201. package/icons/heroicons/s-microphone.svg +4 -0
  1202. package/icons/heroicons/s-minus-circle.svg +3 -0
  1203. package/icons/heroicons/s-minus-small.svg +3 -0
  1204. package/icons/heroicons/s-minus.svg +3 -0
  1205. package/icons/heroicons/s-moon.svg +3 -0
  1206. package/icons/heroicons/s-musical-note.svg +3 -0
  1207. package/icons/heroicons/s-newspaper.svg +4 -0
  1208. package/icons/heroicons/s-no-symbol.svg +3 -0
  1209. package/icons/heroicons/s-numbered-list.svg +3 -0
  1210. package/icons/heroicons/s-paint-brush.svg +3 -0
  1211. package/icons/heroicons/s-paper-airplane.svg +3 -0
  1212. package/icons/heroicons/s-paper-clip.svg +3 -0
  1213. package/icons/heroicons/s-pause-circle.svg +3 -0
  1214. package/icons/heroicons/s-pause.svg +3 -0
  1215. package/icons/heroicons/s-pencil-square.svg +4 -0
  1216. package/icons/heroicons/s-pencil.svg +3 -0
  1217. package/icons/heroicons/s-percent-badge.svg +3 -0
  1218. package/icons/heroicons/s-phone-arrow-down-left.svg +4 -0
  1219. package/icons/heroicons/s-phone-arrow-up-right.svg +4 -0
  1220. package/icons/heroicons/s-phone-x-mark.svg +3 -0
  1221. package/icons/heroicons/s-phone.svg +3 -0
  1222. package/icons/heroicons/s-photo.svg +3 -0
  1223. package/icons/heroicons/s-play-circle.svg +3 -0
  1224. package/icons/heroicons/s-play-pause.svg +3 -0
  1225. package/icons/heroicons/s-play.svg +3 -0
  1226. package/icons/heroicons/s-plus-circle.svg +3 -0
  1227. package/icons/heroicons/s-plus-small.svg +3 -0
  1228. package/icons/heroicons/s-plus.svg +3 -0
  1229. package/icons/heroicons/s-power.svg +3 -0
  1230. package/icons/heroicons/s-presentation-chart-bar.svg +3 -0
  1231. package/icons/heroicons/s-presentation-chart-line.svg +3 -0
  1232. package/icons/heroicons/s-printer.svg +3 -0
  1233. package/icons/heroicons/s-puzzle-piece.svg +3 -0
  1234. package/icons/heroicons/s-qr-code.svg +3 -0
  1235. package/icons/heroicons/s-question-mark-circle.svg +3 -0
  1236. package/icons/heroicons/s-queue-list.svg +3 -0
  1237. package/icons/heroicons/s-radio.svg +3 -0
  1238. package/icons/heroicons/s-receipt-percent.svg +3 -0
  1239. package/icons/heroicons/s-receipt-refund.svg +3 -0
  1240. package/icons/heroicons/s-rectangle-group.svg +3 -0
  1241. package/icons/heroicons/s-rectangle-stack.svg +3 -0
  1242. package/icons/heroicons/s-rocket-launch.svg +4 -0
  1243. package/icons/heroicons/s-rss.svg +3 -0
  1244. package/icons/heroicons/s-scale.svg +3 -0
  1245. package/icons/heroicons/s-scissors.svg +4 -0
  1246. package/icons/heroicons/s-server-stack.svg +4 -0
  1247. package/icons/heroicons/s-server.svg +4 -0
  1248. package/icons/heroicons/s-share.svg +3 -0
  1249. package/icons/heroicons/s-shield-check.svg +3 -0
  1250. package/icons/heroicons/s-shield-exclamation.svg +3 -0
  1251. package/icons/heroicons/s-shopping-bag.svg +3 -0
  1252. package/icons/heroicons/s-shopping-cart.svg +3 -0
  1253. package/icons/heroicons/s-signal-slash.svg +3 -0
  1254. package/icons/heroicons/s-signal.svg +3 -0
  1255. package/icons/heroicons/s-slash.svg +3 -0
  1256. package/icons/heroicons/s-sparkles.svg +3 -0
  1257. package/icons/heroicons/s-speaker-wave.svg +4 -0
  1258. package/icons/heroicons/s-speaker-x-mark.svg +3 -0
  1259. package/icons/heroicons/s-square-2-stack.svg +4 -0
  1260. package/icons/heroicons/s-square-3-stack-3d.svg +5 -0
  1261. package/icons/heroicons/s-squares-2x2.svg +3 -0
  1262. package/icons/heroicons/s-squares-plus.svg +3 -0
  1263. package/icons/heroicons/s-star.svg +3 -0
  1264. package/icons/heroicons/s-stop-circle.svg +3 -0
  1265. package/icons/heroicons/s-stop.svg +3 -0
  1266. package/icons/heroicons/s-strikethrough.svg +3 -0
  1267. package/icons/heroicons/s-sun.svg +3 -0
  1268. package/icons/heroicons/s-swatch.svg +4 -0
  1269. package/icons/heroicons/s-table-cells.svg +3 -0
  1270. package/icons/heroicons/s-tag.svg +3 -0
  1271. package/icons/heroicons/s-ticket.svg +3 -0
  1272. package/icons/heroicons/s-trash.svg +3 -0
  1273. package/icons/heroicons/s-trophy.svg +3 -0
  1274. package/icons/heroicons/s-truck.svg +5 -0
  1275. package/icons/heroicons/s-tv.svg +4 -0
  1276. package/icons/heroicons/s-underline.svg +3 -0
  1277. package/icons/heroicons/s-user-circle.svg +3 -0
  1278. package/icons/heroicons/s-user-group.svg +4 -0
  1279. package/icons/heroicons/s-user-minus.svg +3 -0
  1280. package/icons/heroicons/s-user-plus.svg +3 -0
  1281. package/icons/heroicons/s-user.svg +3 -0
  1282. package/icons/heroicons/s-users.svg +3 -0
  1283. package/icons/heroicons/s-variable.svg +3 -0
  1284. package/icons/heroicons/s-video-camera-slash.svg +3 -0
  1285. package/icons/heroicons/s-video-camera.svg +3 -0
  1286. package/icons/heroicons/s-view-columns.svg +3 -0
  1287. package/icons/heroicons/s-viewfinder-circle.svg +3 -0
  1288. package/icons/heroicons/s-wallet.svg +3 -0
  1289. package/icons/heroicons/s-wifi.svg +3 -0
  1290. package/icons/heroicons/s-window.svg +3 -0
  1291. package/icons/heroicons/s-wrench-screwdriver.svg +5 -0
  1292. package/icons/heroicons/s-wrench.svg +3 -0
  1293. package/icons/heroicons/s-x-circle.svg +3 -0
  1294. package/icons/heroicons/s-x-mark.svg +3 -0
  1295. package/lib/i18n.d.ts +8 -0
  1296. package/lib/i18n.js +70 -0
  1297. package/lib/index.d.ts +164 -0
  1298. package/lib/index.js +516 -0
  1299. package/lib/ui.d.ts +261 -0
  1300. package/lib/ui.js +257 -0
  1301. package/package.json +57 -4
  1302. package/views/components/badge.ejs +8 -0
  1303. package/views/components/icon-button.ejs +6 -0
  1304. package/views/components/pagination.ejs +88 -0
package/lib/index.js ADDED
@@ -0,0 +1,516 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ // @navette-js/support — briques transverses portées de filament/support : échappement, sac d'attributs, sérialisation JS,
3
+ // évaluation paresseuse, couleurs, icônes, vues EJS à espaces de noms.
4
+ import ejs from 'ejs';
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import path from 'node:path';
7
+ import { fileURLToPath } from 'node:url';
8
+ // ------------------------------------------------------------------ échappement (équivalent de e() / htmlspecialchars)
9
+ export function e(value) {
10
+ return String(value ?? '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#039;');
11
+ }
12
+ /** Chaîne HTML sûre : n'est pas ré-échappée par les vues. */
13
+ export class HtmlString {
14
+ html;
15
+ constructor(html) { this.html = html; }
16
+ toString() { return this.html; }
17
+ }
18
+ export const raw = (html) => new HtmlString(html);
19
+ // ------------------------------------------------------------------ Js::from (Illuminate\Support\Js)
20
+ // Chaîne JS entre apostrophes, comme json_encode(JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT) de PHP.
21
+ const BS = String.fromCharCode(92);
22
+ const HEX = { '"': 'u0022', "'": 'u0027', '<': 'u003C', '>': 'u003E', '&': 'u0026', '/': '/' };
23
+ function phpString(value) {
24
+ let out = '';
25
+ for (const ch of value) {
26
+ if (ch in HEX)
27
+ out += BS + HEX[ch];
28
+ else if (ch === BS)
29
+ out += BS + BS;
30
+ else if (ch < ' ')
31
+ out += JSON.stringify(ch).slice(1, -1);
32
+ else
33
+ out += ch;
34
+ }
35
+ return out;
36
+ }
37
+ /**
38
+ * `json_encode($value, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT)` : dans les chaînes, `'`, `"`, `<`, `>` et `&`
39
+ * sont écrits en `\uXXXX` (les guillemets de structure restent tels quels), et `/` est échappé.
40
+ */
41
+ function phpJson(value) {
42
+ const json = JSON.stringify(value);
43
+ const HEX = { "'": BS + 'u0027', '<': BS + 'u003C', '>': BS + 'u003E', '&': BS + 'u0026', '/': BS + '/' };
44
+ let out = '';
45
+ for (let i = 0; i < json.length; i++) {
46
+ const c = json[i];
47
+ if (c === BS) {
48
+ const next = json[++i];
49
+ out += next === '"' ? BS + 'u0022' : BS + next;
50
+ continue;
51
+ }
52
+ out += HEX[c] ?? c;
53
+ }
54
+ return out;
55
+ }
56
+ /** Sérialise une valeur en expression JavaScript, au même format que `Js::from()` de Laravel. */
57
+ export function js(value) {
58
+ if (value === null || value === undefined)
59
+ return 'null';
60
+ if (typeof value === 'string')
61
+ return "'" + phpString(value) + "'";
62
+ if (typeof value === 'number' || typeof value === 'boolean')
63
+ return String(value);
64
+ return "JSON.parse('" + phpString(phpJson(value)) + "')";
65
+ }
66
+ export function cls(list) {
67
+ const out = [];
68
+ const items = Array.isArray(list) ? list : [list];
69
+ for (const item of items) {
70
+ if (!item)
71
+ continue;
72
+ if (typeof item === 'string')
73
+ out.push(item);
74
+ else
75
+ for (const [k, on] of Object.entries(item))
76
+ if (on)
77
+ out.push(k);
78
+ }
79
+ return out.join(' ');
80
+ }
81
+ export class Attributes {
82
+ map = new Map();
83
+ constructor(initial = {}) { for (const [k, v] of Object.entries(initial))
84
+ this.map.set(k, v); }
85
+ get(key) { return this.map.get(key); }
86
+ has(key) { return this.map.has(key); }
87
+ /** Port de merge() : les valeurs par défaut passent en premier, puis les attributs existants ; null/false sont ignorés. */
88
+ merge(defaults) {
89
+ const out = new Attributes();
90
+ for (const [k, v] of Object.entries(defaults)) {
91
+ if (v === null || v === undefined || v === false)
92
+ continue;
93
+ out.map.set(k, v);
94
+ }
95
+ for (const [k, v] of this.map) {
96
+ const merged = (k === 'class' || k === 'style') && out.map.has(k) ? [out.map.get(k), v].filter((x) => x !== '' && x != null).join(' ') : v;
97
+ out.map.delete(k);
98
+ out.map.set(k, merged);
99
+ }
100
+ return out;
101
+ }
102
+ /** Ajoute (ou remplace) un attribut en fin de liste. */
103
+ set(key, value) { const out = this.clone(); out.map.delete(key); out.map.set(key, value); return out; }
104
+ clone() { const out = new Attributes(); for (const [k, v] of this.map)
105
+ out.map.set(k, v); return out; }
106
+ /** Port de class() : les classes s'ajoutent après les classes existantes ; l'attribut garde sa place, ou va en fin. */
107
+ class(list) {
108
+ const out = this.clone();
109
+ out.map.set('class', [out.map.get('class'), cls(list)].filter((x) => x !== '' && x != null).join(' '));
110
+ return out;
111
+ }
112
+ style(list) {
113
+ const added = list.filter(Boolean).join('; ');
114
+ if (!added)
115
+ return this;
116
+ const out = this.clone();
117
+ const existing = String(out.map.get('style') ?? '').replace(/;+$/, '');
118
+ out.map.set('style', [existing, added].filter(Boolean).join('; ') + ';');
119
+ return out;
120
+ }
121
+ when(condition, fn) { return condition ? fn(this) : this; }
122
+ /** Grille conteneur : port de ComponentAttributeBag::grid(). */
123
+ grid(columns = {}) {
124
+ const cols = typeof columns === 'number' ? { lg: columns } : { ...(columns ?? {}) };
125
+ for (const k of Object.keys(cols))
126
+ if (!cols[k])
127
+ delete cols[k];
128
+ cols.default ??= 1;
129
+ const v = (bp) => bp.replace(/@/g, 'c').replace(/!/g, 'n');
130
+ return this
131
+ .class(['fi-grid', ...Object.keys(cols).map((bp) => (bp === 'default' ? (cols[bp] > 1 ? 'fi-grid-cols' : '') : `${bp}:fi-grid-cols`))])
132
+ .style(Object.entries(cols).map(([bp, n]) => `--cols-${v(bp)}: repeat(${n}, minmax(0, 1fr))`));
133
+ }
134
+ /** Colonne de grille : port de ComponentAttributeBag::gridColumn(). */
135
+ gridColumn(span = {}, isHidden = false) {
136
+ const s = span !== null && typeof span === 'object' ? { ...span } : span ? { lg: span } : {};
137
+ for (const k of Object.keys(s))
138
+ if (!s[k])
139
+ delete s[k];
140
+ const v = (bp) => bp.replace(/@/g, 'c').replace(/!/g, 'n');
141
+ return this
142
+ .class(['fi-grid-col', { 'fi-hidden': isHidden || s.default === 'hidden' }, ...Object.keys(s).map((bp) => (bp === 'default' ? '' : `${bp}:fi-grid-col-span`))])
143
+ .style(Object.entries(s).map(([bp, n]) => `--col-span-${v(bp)}: ${n === 'full' ? '1 / -1' : `span ${n} / span ${n}`}`));
144
+ }
145
+ /** Rendu `clé="valeur"` ; `true` devient `clé="clé"` (ou `""` pour x-data et wire:*), comme dans Laravel. Les valeurs ne sont pas ré-échappées. */
146
+ toHtml() {
147
+ const parts = [];
148
+ for (const [k, v] of this.map) {
149
+ if (v === false || v === null || v === undefined)
150
+ continue;
151
+ const value = v === true ? (k === 'x-data' || k.startsWith('wire:') ? '' : k) : String(v);
152
+ parts.push(`${k}="${value.replace(/"/g, '&quot;')}"`);
153
+ }
154
+ return parts.join(' ');
155
+ }
156
+ toString() { return this.toHtml(); }
157
+ }
158
+ export const attrs = (initial = {}) => new Attributes(initial);
159
+ export async function evaluate(value, ctx) {
160
+ return typeof value === 'function' ? await value(ctx) : value;
161
+ }
162
+ // ------------------------------------------------------------------ couleurs (Filament\Support\Colors)
163
+ const here = (p) => fileURLToPath(new URL(p, import.meta.url));
164
+ export const Color = JSON.parse(readFileSync(here('../data/palettes.json'), 'utf8'));
165
+ export const WCAG_AA_TEXT = 4.5;
166
+ /** Port de Color::convertToOklch : `#rrggbb`, `rgb(r, g, b)` ou `r, g, b` → `oklch(L C h)`, arrondi à trois décimales. */
167
+ export function convertToOklch(color) {
168
+ if (color.startsWith('oklch('))
169
+ return color;
170
+ const compact = color.replace(/\s+/g, '');
171
+ const [r, g, b] = (compact.startsWith('#') ? convertToRgb(compact) : compact.replace(/^rgb\(|\)$/g, '').split(',').map(Number)).map((channel) => {
172
+ const c = channel / 255;
173
+ return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
174
+ });
175
+ if (![r, g, b].every(Number.isFinite))
176
+ throw new Error(`Couleur non prise en charge : ${color}`);
177
+ const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b), m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b), s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
178
+ const lightness = 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s;
179
+ const a = 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s, bb = 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s;
180
+ let hue = (Math.atan2(bb, a) * 180) / Math.PI;
181
+ if (hue < 0)
182
+ hue += 360;
183
+ const round = (n) => String(Math.round(n * 1000) / 1000);
184
+ return `oklch(${round(lightness)} ${round(Math.sqrt(a * a + bb * bb))} ${round(hue)})`;
185
+ }
186
+ /** Clarté et saturation de chaque nuance d'une palette générée (constantes de Color::generatePalette). */
187
+ const GENERATED_SHADES = [
188
+ [50, '0.97717647058824', '0.01395454545455'], [100, '0.95035294117647', '0.03272727272727'], [200, '0.90547058823529', '0.06318181818182'],
189
+ [300, '0.84047058823529', '0.10604545454546'], [400, '0.75352941176471', '0.15027272727273'], [500, '0.68270588235294', '0.17009090909091'],
190
+ [600, '0.59782352941176', '0.16913636363636'], [700, '0.51494117647059', '0.14940909090909'], [800, '0.44611764705882', '0.12331818181818'],
191
+ [900, '0.39458823529412', '0.09963636363636'], [950, '0.27788235294118', '0.07136363636364'],
192
+ ];
193
+ /** Port de Color::generatePalette (`Color::hex()`, `Color::rgb()`) : onze nuances à partir d'une seule couleur, dont on garde la teinte. */
194
+ export function generatePalette(color) {
195
+ const [, , chroma, hue] = /^oklch\(([\d.]+) ([\d.]+) ([\d.]+)\)$/.exec(convertToOklch(color)).map(Number);
196
+ const achromatic = chroma < 0.03;
197
+ return Object.fromEntries(GENERATED_SHADES.map(([shade, lightness, saturation]) => [shade, `oklch(${lightness} ${achromatic ? '0' : saturation} ${hue})`]));
198
+ }
199
+ const toPalette = (color) => (typeof color === 'string' ? generatePalette(color) : color);
200
+ export function convertToRgb(color) {
201
+ const rgb = /^rgb\((\d+),\s*(\d+),\s*(\d+)\)/.exec(color);
202
+ if (rgb)
203
+ return [+rgb[1], +rgb[2], +rgb[3]];
204
+ if (color.startsWith('#')) {
205
+ const hex = color.length === 4 ? color.replace(/[0-9a-f]/gi, (c) => c + c) : color;
206
+ return [1, 3, 5].map((i) => parseInt(hex.slice(i, i + 2), 16));
207
+ }
208
+ const m = /^oklch\(([\d.]+)\s+([\d.]+)(?:\s+([\d.]+))?\)/.exec(color);
209
+ if (!m)
210
+ throw new Error(`Couleur non prise en charge : ${color}`);
211
+ const L = +m[1], C = +m[2], h = ((+m[3] || 0) * Math.PI) / 180;
212
+ const a = C * Math.cos(h), b = C * Math.sin(h);
213
+ const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3, md = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3, s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;
214
+ const lin = [4.0767416621 * l - 3.3077115913 * md + 0.2309699292 * s, -1.2684380046 * l + 2.6097574011 * md - 0.3413193965 * s, -0.0041960863 * l - 0.7034186147 * md + 1.707614701 * s];
215
+ return lin.map((x) => Math.max(0, Math.min(255, Math.round((x <= 0.0031308 ? 12.92 * x : 1.055 * x ** (1 / 2.4) - 0.055) * 255))));
216
+ }
217
+ /** Rapport de contraste de Filament : luminance approchée par un gamma 2,2 (reproduit tel quel, ce n'est pas la formule WCAG exacte). */
218
+ export function calculateContrastRatio(c1, c2) {
219
+ const lum = (c) => { const [r, g, b] = convertToRgb(c); return 0.2126 * (r / 255) ** 2.2 + 0.7152 * (g / 255) ** 2.2 + 0.0722 * (b / 255) ** 2.2; };
220
+ const a = lum(c1), b = lum(c2);
221
+ return (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05);
222
+ }
223
+ export function isLight(color) {
224
+ const m = /^oklch\(([\d.]+)/.exec(color);
225
+ if (!m)
226
+ throw new Error(`isLight : seule la notation oklch est prise en charge pour l'instant (${color})`);
227
+ return +m[1] >= 0.65;
228
+ }
229
+ /** Port de ButtonComponentColorMap : choisit les nuances de fond et de texte accessibles d'un bouton plein. */
230
+ export function buttonColorMap(palette, minRatio = WCAG_AA_TEXT) {
231
+ const light = [{ bg: 600, hover: 500, alternateHover: null }, { bg: 400, hover: 300, alternateHover: 500 }];
232
+ const dark = [{ bg: 600, hover: 500, alternateHover: 700 }];
233
+ const shades = Object.keys(palette).map(Number).sort((a, b) => a - b);
234
+ const textForBg = {};
235
+ const possibleDark = shades.slice(1);
236
+ let fallbackOk = true;
237
+ outer: for (const bg of shades) {
238
+ while (possibleDark.length) {
239
+ const t = possibleDark[0];
240
+ if (t >= 800 && calculateContrastRatio(palette[bg], palette[t]) >= minRatio) {
241
+ textForBg[bg] = t;
242
+ continue outer;
243
+ }
244
+ possibleDark.shift();
245
+ }
246
+ if (fallbackOk && palette[50] !== undefined) {
247
+ if (calculateContrastRatio(palette[bg], palette[50]) >= minRatio) {
248
+ textForBg[bg] = 50;
249
+ continue;
250
+ }
251
+ fallbackOk = false;
252
+ }
253
+ textForBg[bg] = 0;
254
+ }
255
+ const lightness = {};
256
+ for (const c of [...light, ...dark])
257
+ for (const s of [c.bg, c.hover, c.alternateHover]) {
258
+ if (s === null)
259
+ continue;
260
+ const t = textForBg[s] ?? 0;
261
+ lightness[s] = t === 0 || isLight(palette[t] ?? 'oklch(1 0 0)');
262
+ }
263
+ const pick = (cands) => {
264
+ for (const c of cands) {
265
+ if (!lightness[c.bg])
266
+ continue;
267
+ if (lightness[c.hover])
268
+ return [c.bg, c.hover];
269
+ if (c.alternateHover !== null && lightness[c.alternateHover])
270
+ return [c.bg, c.alternateHover];
271
+ }
272
+ const f = cands[cands.length - 1];
273
+ return [f.bg, lightness[f.bg] === lightness[f.hover] ? f.hover : (f.alternateHover ?? f.hover)];
274
+ };
275
+ const [bg, hoverBg] = pick(light), [darkBg, darkHoverBg] = pick(dark);
276
+ return { bg, 'hover:bg': hoverBg, 'dark:bg': darkBg, 'dark:hover:bg': darkHoverBg, text: textForBg[bg] ?? 0, 'hover:text': textForBg[hoverBg] ?? 0, 'dark:text': textForBg[darkBg] ?? 0, 'dark:hover:text': textForBg[darkHoverBg] ?? 0 };
277
+ }
278
+ /** Port de Color::findShade : première nuance de la palette assez contrastée sur une surface. */
279
+ export function findShade(palette, surface, options = {}) {
280
+ const shades = Object.keys(palette).map(Number).sort((a, b) => (options.fromDarkest ? b - a : a - b));
281
+ for (const shade of shades) {
282
+ if (options.maxShade !== undefined && shade > options.maxShade)
283
+ continue;
284
+ if (options.minShade !== undefined && shade < options.minShade)
285
+ continue;
286
+ if (calculateContrastRatio(surface, palette[shade]) >= (options.minRatio ?? WCAG_AA_TEXT))
287
+ return shade;
288
+ }
289
+ return null;
290
+ }
291
+ /** Cartes de couleurs des composants à texte coloré (BadgeComponent, LinkComponent). */
292
+ export function badgeColorMap(palette, gray) {
293
+ return { text: findShade(palette, palette[50]) ?? 900, 'dark:text': findShade(palette, gray[600], { maxShade: 500, fromDarkest: true }) ?? 200 };
294
+ }
295
+ /** Port de DropdownComponent\ItemComponent::getColorMap. */
296
+ export function dropdownItemColorMap(palette, gray) {
297
+ return {
298
+ text: findShade(palette, 'oklch(1 0 0)', { minShade: 600 }) ?? 950,
299
+ 'hover:text': findShade(palette, palette[50], { minShade: 600 }) ?? 950,
300
+ 'dark:text': findShade(palette, gray[900], { maxShade: 400, fromDarkest: true }) ?? 200,
301
+ 'dark:hover:text': findShade(palette, palette[950], { maxShade: 400, fromDarkest: true }) ?? 100,
302
+ };
303
+ }
304
+ /** Port de IconColumnComponent\IconComponent::getColorMap (contraste non textuel, 3:1). */
305
+ export function iconColumnColorMap(palette, gray) {
306
+ return { text: findShade(palette, 'oklch(1 0 0)', { minRatio: 3 }) ?? 900, 'dark:text': findShade(palette, gray[800], { minRatio: 3, maxShade: 600, fromDarkest: true }) ?? 200 };
307
+ }
308
+ /** Port de IconButtonComponentColorMap (contraste non textuel 3:1, surfaces gray-50 / gray-700). */
309
+ export function iconButtonColorMap(palette, gray) {
310
+ const light = findShade(palette, gray[50], { minRatio: 3 });
311
+ const dark = findShade(palette, gray[700], { minRatio: 3, maxShade: 500, fromDarkest: true });
312
+ // Au-delà de 500 la teinte est déjà sombre : au survol on l'assombrit au lieu de l'éclaircir.
313
+ const [text, hoverText] = light === null ? [900, 800] : light > 500 ? [light, light + 100] : [light + 100, light];
314
+ return { text, 'hover:text': hoverText, 'dark:text': dark ?? 200, 'dark:hover:text': dark === null ? 100 : dark - 100 };
315
+ }
316
+ /** Port de ToggleComponent::getColorMap (contraste non textuel 3:1). */
317
+ export function toggleColorMap(palette, gray) {
318
+ return { bg: findShade(palette, gray[50], { minRatio: 3 }) ?? 900, text: findShade(palette, 'oklch(1 0 0)', { minRatio: 3 }) ?? 900, 'dark:bg': findShade(palette, gray[700], { minRatio: 3, fromDarkest: true }) ?? 200 };
319
+ }
320
+ export function linkColorMap(palette, gray) {
321
+ return { text: findShade(palette, gray[50]) ?? 900, 'dark:text': findShade(palette, gray[700], { maxShade: 400, fromDarkest: true }) ?? 200 };
322
+ }
323
+ /** Bouton à contour : seule la couleur du texte dépend de la palette (ButtonComponent, `isOutlined`). */
324
+ export function outlinedButtonColorMap(palette, gray) {
325
+ return { text: findShade(palette, gray[50]) ?? 900, 'dark:text': findShade(palette, gray[700], { maxShade: 500, fromDarkest: true }) ?? 200 };
326
+ }
327
+ /** Carte de couleurs de chaque composant coloré (équivalent des classes `*Component::getColorMap`). */
328
+ const COMPONENT_COLOR_MAPS = {
329
+ button: (palette) => buttonColorMap(palette),
330
+ 'button-outlined': outlinedButtonColorMap,
331
+ badge: badgeColorMap,
332
+ link: linkColorMap,
333
+ 'dropdown-item': dropdownItemColorMap,
334
+ 'icon-column': iconColumnColorMap,
335
+ 'icon-button': iconButtonColorMap,
336
+ toggle: toggleColorMap,
337
+ // Port de StatsOverviewWidgetComponentStatComponentDescriptionComponent et ChartComponent (ce dernier ne pose que `fi-color`).
338
+ 'stat-description': (palette, gray) => ({ text: findShade(palette, 'oklch(1 0 0)', { minShade: 600 }) ?? 950, 'dark:text': findShade(palette, gray[900], { maxShade: 400, fromDarkest: true }) ?? 200 }),
339
+ 'stat-chart': () => ({}),
340
+ // Texte coloré d'une colonne ou d'une entrée. Gris : 500 / 400, relevé sur Filament ; autres couleurs : même recherche de contraste que la description d'une statistique (non comparé à Filament).
341
+ text: (palette, gray) => (palette === gray ? { text: 500, 'dark:text': 400 } : { text: findShade(palette, 'oklch(1 0 0)', { minShade: 600 }) ?? 950, 'dark:text': findShade(palette, gray[900], { maxShade: 400, fromDarkest: true }) ?? 50 }),
342
+ };
343
+ const CLASS_FOR = {
344
+ bg: (s) => `fi-bg-color-${s}`, 'hover:bg': (s) => `hover:fi-bg-color-${s}`, 'dark:bg': (s) => `dark:fi-bg-color-${s}`, 'dark:hover:bg': (s) => `dark:hover:fi-bg-color-${s}`,
345
+ text: (s) => `fi-text-color-${s}`, 'hover:text': (s) => `hover:fi-text-color-${s}`, 'dark:text': (s) => `dark:fi-text-color-${s}`, 'dark:hover:text': (s) => `dark:hover:fi-text-color-${s}`,
346
+ };
347
+ /** Port de ColorManager. */
348
+ export class ColorManager {
349
+ static DEFAULT_COLORS = { danger: Color.Red, gray: Color.Zinc, info: Color.Blue, primary: Color.Amber, success: Color.Green, warning: Color.Amber };
350
+ colors = { ...ColorManager.DEFAULT_COLORS };
351
+ cache = new Map();
352
+ /** Couleurs propres à la requête en cours (thème choisi par l'utilisateur) : elles priment sur celles du panel. */
353
+ scope = new AsyncLocalStorage();
354
+ register(colors) { for (const [name, color] of Object.entries(colors))
355
+ this.colors[name] = toPalette(color); this.cache.clear(); return this; }
356
+ /** Exécute `fn` avec des couleurs qui ne valent que pour cette requête ; `key` identifie le jeu de couleurs (cache). */
357
+ runWith(key, colors, fn) {
358
+ return this.scope.run({ key, colors: Object.fromEntries(Object.entries(colors).map(([name, color]) => [name, toPalette(color)])) }, fn);
359
+ }
360
+ getColors() { return { ...this.colors, ...(this.scope.getStore()?.colors ?? {}) }; }
361
+ getColor(name) { return this.scope.getStore()?.colors[name] ?? this.colors[name]; }
362
+ /** Classes d'un composant coloré (`getComponentClasses`). Seul le bouton plein est porté pour l'instant. */
363
+ getComponentClasses(component, color) {
364
+ if (!color)
365
+ return [];
366
+ const key = `${this.scope.getStore()?.key ?? ''}:${component}:${color}`;
367
+ const hit = this.cache.get(key);
368
+ if (hit)
369
+ return hit;
370
+ let classes = [];
371
+ // Seul le bouton a le gris pour couleur par défaut sans classe (HasDefaultGrayColor).
372
+ if (color !== 'gray' || component !== 'button') {
373
+ classes = ['fi-color', 'fi-color-' + color.replace(/[^a-zA-Z0-9_-]/g, '')];
374
+ const palette = this.getColor(color);
375
+ if (palette) {
376
+ const gray = this.getColor('gray');
377
+ const map = COMPONENT_COLOR_MAPS[component](palette, gray);
378
+ classes.push(...Object.entries(map).map(([k, shade]) => CLASS_FOR[k](shade)));
379
+ }
380
+ }
381
+ this.cache.set(key, classes);
382
+ return classes;
383
+ }
384
+ /** Bloc `<style>` des variables `--<couleur>-<nuance>` injecté dans `<head>`. */
385
+ renderCssVariables() {
386
+ const vars = Object.entries(this.getColors()).map(([name, palette]) => Object.entries(palette).map(([shade, value]) => ` --${name}-${shade}:${value}; `).join('')).join('');
387
+ return `<style>\n :root {\n ${vars}}\n</style>`;
388
+ }
389
+ }
390
+ // ------------------------------------------------------------------ icônes (generate_icon_html + Heroicons)
391
+ const iconCache = new Map();
392
+ /** Icône Heroicons (`m-eye`, `o-user`, `s-…`, `c-…`) avec les classes `fi-icon fi-size-<taille>`. */
393
+ export function icon(name, options = {}) {
394
+ let svg = iconCache.get(name);
395
+ if (svg === undefined) {
396
+ const file = here(`../icons/heroicons/${name.replace(/^heroicon-/, '')}.svg`);
397
+ if (!existsSync(file))
398
+ throw new Error(`Icône introuvable : ${name}`);
399
+ svg = readFileSync(file, 'utf8').trim();
400
+ iconCache.set(name, svg);
401
+ }
402
+ const a = (options.attributes ?? new Attributes()).class(['fi-icon', `fi-size-${options.size ?? 'md'}`]);
403
+ return svg.replace(/^<svg/, `<svg ${a.toHtml()}`);
404
+ }
405
+ /** Déclare une icône hors Heroicons (logo de marque, pictogramme maison) : un `<svg>` complet, fourni par l'application et non par l'utilisateur. */
406
+ export function registerIcon(name, svg) {
407
+ if (!/^<svg[\s>]/.test(svg.trim()))
408
+ throw new Error(`registerIcon(${name}) attend un élément <svg>.`);
409
+ iconCache.set(name, svg.trim());
410
+ }
411
+ /** Indicateur de chargement (`generate_loading_indicator_html`). */
412
+ export function loadingIndicator(attributes = new Attributes(), size = 'md') {
413
+ const a = attributes.class(['fi-icon fi-loading-indicator', `fi-size-${size}`]);
414
+ return `<svg fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" ${a.toHtml()}><path clip-rule="evenodd" d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" fill-rule="evenodd" fill="currentColor" opacity="0.2"></path><path d="M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z" fill="currentColor"></path></svg>`;
415
+ }
416
+ // ------------------------------------------------------------------ vues EJS à espaces de noms, surchargeables
417
+ /** Registre de vues : `filament-forms::components.text-input` → fichier EJS ; les dossiers de surcharge passent en premier. */
418
+ export class ViewRegistry {
419
+ namespaces = new Map();
420
+ overrides = [];
421
+ compiled = new Map();
422
+ shared = {};
423
+ namespace(name, dir) { this.namespaces.set(name, dir); return this; }
424
+ /** Dossier de surcharge de l'application : `<dir>/<espace>/<chemin>.ejs` remplace la vue du paquet. */
425
+ overrideFrom(dir) { this.overrides.unshift(dir); this.compiled.clear(); return this; }
426
+ share(data) { Object.assign(this.shared, data); return this; }
427
+ resolve(view) {
428
+ const [ns, name] = view.split('::');
429
+ const rel = name.replace(/\./g, '/') + '.ejs';
430
+ for (const dir of this.overrides) {
431
+ const f = path.join(dir, ns, rel);
432
+ if (existsSync(f))
433
+ return f;
434
+ }
435
+ const base = this.namespaces.get(ns);
436
+ if (!base)
437
+ throw new Error(`Espace de noms de vues inconnu : ${ns}`);
438
+ return path.join(base, rel);
439
+ }
440
+ render(view, data = {}) {
441
+ let fn = this.compiled.get(view);
442
+ if (!fn) {
443
+ const file = this.resolve(view);
444
+ fn = ejs.compile(readFileSync(file, 'utf8'), { filename: file });
445
+ this.compiled.set(view, fn);
446
+ }
447
+ return fn({ e, js, cls, attrs, icon, loadingIndicator, view: (v, d) => this.render(v, d), ...this.shared, ...data });
448
+ }
449
+ }
450
+ export const views = new ViewRegistry();
451
+ // ------------------------------------------------------------------ réglages globaux (équivalent de configureUsing)
452
+ const configurators = new Map();
453
+ /** Enregistre un réglage appliqué à chaque instance de la classe (et de ses sous-classes) créée ensuite par `make()`. */
454
+ export function configureUsing(cls, configure) {
455
+ configurators.set(cls, [...(configurators.get(cls) ?? []), configure]);
456
+ }
457
+ /** Applique les réglages globaux à une instance fraîchement créée, de la classe la plus générale à la plus précise. */
458
+ export function configured(instance) {
459
+ if (!configurators.size)
460
+ return instance;
461
+ const chain = [];
462
+ for (let cls = instance.constructor; cls && cls !== Object && cls !== Function.prototype; cls = Object.getPrototypeOf(cls))
463
+ chain.unshift(cls);
464
+ for (const cls of chain)
465
+ for (const configure of configurators.get(cls) ?? [])
466
+ configure(instance);
467
+ return instance;
468
+ }
469
+ /** Oublie tous les réglages globaux (tests). */
470
+ export function resetConfigurators() { configurators.clear(); }
471
+ const UNSCOPED = Symbol('unscoped');
472
+ /** Registre de render hooks. Un hook sans portée est rendu partout ; avec portées, seulement quand l'appel porte l'une d'elles. */
473
+ export class RenderHookRegistry {
474
+ hooks = new Map();
475
+ register(name, hook, scopes = null) {
476
+ const byScope = this.hooks.get(name) ?? new Map();
477
+ this.hooks.set(name, byScope);
478
+ const list = scopes === null || scopes === undefined ? [UNSCOPED] : Array.isArray(scopes) ? scopes : [scopes];
479
+ for (const scope of list)
480
+ byScope.set(scope, [...(byScope.get(scope) ?? []), hook]);
481
+ return this;
482
+ }
483
+ /** Hooks à rendre pour cet appel, dans l'ordre de Filament : sans portée d'abord, puis portée par portée, chacun une seule fois. */
484
+ collect(name, scopes) {
485
+ const byScope = this.hooks.get(name);
486
+ if (!byScope)
487
+ return [];
488
+ const found = [];
489
+ for (const scope of [UNSCOPED, ...scopes])
490
+ for (const hook of byScope.get(scope) ?? [])
491
+ if (!found.includes(hook))
492
+ found.push(hook);
493
+ return found;
494
+ }
495
+ has(name, scopes = null) { return this.collect(name, toScopes(scopes)).length > 0; }
496
+ render(name, scopes = null, data = {}) {
497
+ const list = toScopes(scopes);
498
+ return this.collect(name, list).map((hook) => hook({ scopes: list, data }) ?? '').join('');
499
+ }
500
+ clear() { this.hooks.clear(); }
501
+ }
502
+ const toScopes = (scopes) => (scopes === null || scopes === undefined ? [] : Array.isArray(scopes) ? scopes : [scopes]);
503
+ /** Hooks communs à tout le processus (tous les panels). */
504
+ export const renderHooks = new RenderHookRegistry();
505
+ const renderHookScope = new AsyncLocalStorage();
506
+ /** Exécute un rendu avec, en plus des hooks communs, ceux d'un registre propre (celui du panel de la requête). */
507
+ export function runWithRenderHooks(registry, fn) { return renderHookScope.run(registry, fn); }
508
+ const activeRegistries = () => { const own = renderHookScope.getStore(); return own && own !== renderHooks ? [renderHooks, own] : [renderHooks]; };
509
+ /** Rend un emplacement : hooks communs, puis hooks du panel en cours. */
510
+ export function renderHook(name, scopes = null, data = {}) {
511
+ return activeRegistries().map((registry) => registry.render(name, scopes, data)).join('');
512
+ }
513
+ export function hasRenderHook(name, scopes = null) {
514
+ return activeRegistries().some((registry) => registry.has(name, scopes));
515
+ }
516
+ views.share({ renderHook, hasRenderHook });