vRemixicon.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. import { h, inject, computed } from 'vue';
  2. import {
  3. riH1,
  4. riH2,
  5. riAB,
  6. riBold,
  7. riLink,
  8. riLinkM,
  9. riItalic,
  10. riTable2,
  11. riEyeLine,
  12. riAddLine,
  13. riSortAsc,
  14. riMindMap,
  15. riKey2Line,
  16. riTBoxLine,
  17. riSaveLine,
  18. riPlayLine,
  19. riMoreLine,
  20. riStopLine,
  21. riSortDesc,
  22. riTimeLine,
  23. riFlagLine,
  24. riTeamLine,
  25. riLinksLine,
  26. riGroupLine,
  27. riGuideLine,
  28. riChat3Line,
  29. riEarthLine,
  30. riLock2Line,
  31. riSliceLine,
  32. riHome5Line,
  33. riShareLine,
  34. riBook3Line,
  35. riPauseLine,
  36. riFlowChart,
  37. riMore2Line,
  38. riMouseLine,
  39. riFocusLine,
  40. riFontSize2,
  41. riParagraph,
  42. riImageLine,
  43. riCloseLine,
  44. riCheckLine,
  45. riTimerLine,
  46. riMagicLine,
  47. riHtml5Line,
  48. riToggleLine,
  49. riFolderLine,
  50. riGithubFill,
  51. riEyeOffLine,
  52. riWindowLine,
  53. riPencilLine,
  54. riGlobalLine,
  55. riShieldLine,
  56. riCursorLine,
  57. riUploadLine,
  58. riFocus3Line,
  59. riTwitterLine,
  60. riDiscordLine,
  61. riLinkUnlinkM,
  62. riYoutubeLine,
  63. riSideBarLine,
  64. riSideBarFill,
  65. riWindow2Line,
  66. riRefreshLine,
  67. riRefreshFill,
  68. riFilter2Line,
  69. riRestartLine,
  70. riSearch2Line,
  71. riEditBoxLine,
  72. riHistoryLine,
  73. riRepeat2Line,
  74. riCommandLine,
  75. riArticleLine,
  76. riKeyboardLine,
  77. riFileEditLine,
  78. riCompass3Line,
  79. riFolderOpenLine,
  80. riComputerLine,
  81. riFileCopyLine,
  82. riCalendarLine,
  83. riFileTextLine,
  84. riSubtractLine,
  85. riBracketsLine,
  86. riPushpin2Line,
  87. riPushpin2Fill,
  88. riDownloadCloud2Line,
  89. riDownloadLine,
  90. riFileListLine,
  91. riDragDropLine,
  92. riClipboardLine,
  93. riDoubleQuotesL,
  94. riLightbulbLine,
  95. riFolderZipLine,
  96. riFileShredLine,
  97. riHandHeartLine,
  98. riDatabase2Line,
  99. riSettings3Line,
  100. riArrowLeftLine,
  101. riEqualizerLine,
  102. riStrikethrough2,
  103. riFileUploadLine,
  104. riCodeSSlashLine,
  105. riHardDrive2Line,
  106. riDeleteBin7Line,
  107. riArrowLeftSLine,
  108. riFullscreenLine,
  109. riFlashlightLine,
  110. riTimerFlashLine,
  111. riBaseStationLine,
  112. riFileHistoryLine,
  113. riInformationLine,
  114. riArrowUpDownLine,
  115. riArrowGoBackLine,
  116. riInputCursorMove,
  117. riCloseCircleLine,
  118. riRecordCircleLine,
  119. riErrorWarningLine,
  120. riExternalLinkLine,
  121. riUploadCloud2Line,
  122. riFileDownloadLine,
  123. riShieldKeyholeLine,
  124. riArrowDropDownLine,
  125. riNotification3Line,
  126. riArrowLeftRightLine,
  127. riArrowGoForwardLine,
  128. riCheckboxCircleLine,
  129. riLightbulbFlashLine,
  130. riIncreaseDecreaseLine,
  131. } from 'v-remixicon/icons';
  132. export const icons = {
  133. riH1,
  134. riH2,
  135. riAB,
  136. riBold,
  137. riLink,
  138. riLinkM,
  139. riItalic,
  140. riTable2,
  141. riEyeLine,
  142. riAddLine,
  143. riSortAsc,
  144. riMindMap,
  145. riKey2Line,
  146. riTBoxLine,
  147. riSaveLine,
  148. riPlayLine,
  149. riMoreLine,
  150. riStopLine,
  151. riSortDesc,
  152. riTimeLine,
  153. riFlagLine,
  154. riTeamLine,
  155. riLinksLine,
  156. riGroupLine,
  157. riGuideLine,
  158. riChat3Line,
  159. riEarthLine,
  160. riLock2Line,
  161. riSliceLine,
  162. riHome5Line,
  163. riShareLine,
  164. riBook3Line,
  165. riPauseLine,
  166. riFlowChart,
  167. riMore2Line,
  168. riMouseLine,
  169. riFocusLine,
  170. riFontSize2,
  171. riParagraph,
  172. riImageLine,
  173. riCloseLine,
  174. riCheckLine,
  175. riTimerLine,
  176. riMagicLine,
  177. riHtml5Line,
  178. riToggleLine,
  179. riFolderLine,
  180. riGithubFill,
  181. riEyeOffLine,
  182. riWindowLine,
  183. riPencilLine,
  184. riGlobalLine,
  185. riShieldLine,
  186. riCursorLine,
  187. riUploadLine,
  188. riFocus3Line,
  189. riTwitterLine,
  190. riDiscordLine,
  191. riLinkUnlinkM,
  192. riYoutubeLine,
  193. riSideBarLine,
  194. riSideBarFill,
  195. riWindow2Line,
  196. riRefreshLine,
  197. riRefreshFill,
  198. riFilter2Line,
  199. riRestartLine,
  200. riSearch2Line,
  201. riEditBoxLine,
  202. riHistoryLine,
  203. riRepeat2Line,
  204. riCommandLine,
  205. riArticleLine,
  206. riKeyboardLine,
  207. riFileEditLine,
  208. riCompass3Line,
  209. riFolderOpenLine,
  210. riComputerLine,
  211. riFileCopyLine,
  212. riCalendarLine,
  213. riFileTextLine,
  214. riSubtractLine,
  215. riBracketsLine,
  216. riPushpin2Line,
  217. riPushpin2Fill,
  218. riDownloadCloud2Line,
  219. riDownloadLine,
  220. riFileListLine,
  221. riDragDropLine,
  222. riClipboardLine,
  223. riDoubleQuotesL,
  224. riLightbulbLine,
  225. riFolderZipLine,
  226. riFileShredLine,
  227. riHandHeartLine,
  228. riDatabase2Line,
  229. riSettings3Line,
  230. riArrowLeftLine,
  231. riEqualizerLine,
  232. riStrikethrough2,
  233. riFileUploadLine,
  234. riCodeSSlashLine,
  235. riHardDrive2Line,
  236. riDeleteBin7Line,
  237. riArrowLeftSLine,
  238. riFullscreenLine,
  239. riFlashlightLine,
  240. riTimerFlashLine,
  241. riBaseStationLine,
  242. riFileHistoryLine,
  243. riInformationLine,
  244. riArrowUpDownLine,
  245. riArrowGoBackLine,
  246. riInputCursorMove,
  247. riCloseCircleLine,
  248. riRecordCircleLine,
  249. riErrorWarningLine,
  250. riExternalLinkLine,
  251. riUploadCloud2Line,
  252. riFileDownloadLine,
  253. riShieldKeyholeLine,
  254. riArrowDropDownLine,
  255. riNotification3Line,
  256. riArrowLeftRightLine,
  257. riArrowGoForwardLine,
  258. riCheckboxCircleLine,
  259. riLightbulbFlashLine,
  260. riIncreaseDecreaseLine,
  261. mdiEqual: 'M19,10H5V8H19V10M19,16H5V14H19V16Z',
  262. mdiPackageVariantClosed:
  263. 'M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L10.11,5.22L16,8.61L17.96,7.5L12,4.15M6.04,7.5L12,10.85L13.96,9.75L8.08,6.35L6.04,7.5M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z',
  264. mdiVariable:
  265. 'M20.41,3C21.8,5.71 22.35,8.84 22,12C21.8,15.16 20.7,18.29 18.83,21L17.3,20C18.91,17.57 19.85,14.8 20,12C20.34,9.2 19.89,6.43 18.7,4L20.41,3M5.17,3L6.7,4C5.09,6.43 4.15,9.2 4,12C3.66,14.8 4.12,17.57 5.3,20L3.61,21C2.21,18.29 1.65,15.17 2,12C2.2,8.84 3.3,5.71 5.17,3M12.08,10.68L14.4,7.45H16.93L13.15,12.45L15.35,17.37H13.09L11.71,14L9.28,17.33H6.76L10.66,12.21L8.53,7.45H10.8L12.08,10.68Z',
  266. mdiRegex:
  267. 'M16,16.92C15.67,16.97 15.34,17 15,17C14.66,17 14.33,16.97 14,16.92V13.41L11.5,15.89C11,15.5 10.5,15 10.11,14.5L12.59,12H9.08C9.03,11.67 9,11.34 9,11C9,10.66 9.03,10.33 9.08,10H12.59L10.11,7.5C10.3,7.25 10.5,7 10.76,6.76V6.76C11,6.5 11.25,6.3 11.5,6.11L14,8.59V5.08C14.33,5.03 14.66,5 15,5C15.34,5 15.67,5.03 16,5.08V8.59L18.5,6.11C19,6.5 19.5,7 19.89,7.5L17.41,10H20.92C20.97,10.33 21,10.66 21,11C21,11.34 20.97,11.67 20.92,12H17.41L19.89,14.5C19.7,14.75 19.5,15 19.24,15.24V15.24C19,15.5 18.75,15.7 18.5,15.89L16,13.41V16.92H16V16.92M5,19A2,2 0 0,1 7,17A2,2 0 0,1 9,19A2,2 0 0,1 7,21A2,2 0 0,1 5,19H5Z',
  268. mdiCookieOutline:
  269. 'M20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.97 7.03 21 12 21C16.97 21 21 16.97 21 12C21 11.5 20.96 11 20.87 10.5M11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H19C19 16.08 15.5 19.36 11.32 18.96M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M18 14.5C18 15.33 17.33 16 16.5 16S15 15.33 15 14.5 15.67 13 16.5 13 18 13.67 18 14.5Z',
  270. mdiDrag:
  271. 'M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z',
  272. webhookIcon:
  273. 'M11.1339746,6.5 C11.410117,6.02170738 12.0217074,5.85783222 12.5,6.1339746 C12.6618283,6.22740623 12.7876628,6.35923925 12.8726385,6.51131768 L12.8728316,6.51197847 L15.5280985,11.258439 C17.7104719,10.5794609 20.1487626,11.4726335 21.3395353,13.5351122 C22.7202472,15.9265753 21.9008714,18.9845274 19.5094083,20.3652392 C18.0316717,21.2184108 16.2512131,21.2502691 14.7625925,20.5024023 L14.5614635,20.3955914 L15.5391998,18.650876 C16.4572736,19.1653634 17.5817121,19.1687941 18.5094083,18.6331884 C19.9442862,17.8047613 20.4359116,15.9699901 19.6074845,14.5351122 C18.8086441,13.15148 17.0740576,12.6449281 15.6646114,13.35331 L15.5094083,13.437036 L15.4923149,13.408 L14.6887376,13.8579251 L11.1271684,7.48802153 C10.9611644,7.19043272 10.9514715,6.81610467 11.1339746,6.5 Z M3.69009425,12.2357175 L5.00912623,13.7390986 C4.15631502,14.4873355 3.78941522,15.6581523 4.08821537,16.7732896 C4.5170408,18.373688 6.16205167,19.3234354 7.76244998,18.89461 C9.00692272,18.5611545 9.88400974,17.477653 9.97851857,16.2240731 L9.98665134,16.0438959 L10.0023149,16.043 L10.0029449,15 L17,15 C17.1696897,14.9996082 17.342108,15.0428156 17.5,15.1339746 C17.9782926,15.410117 18.1421678,16.0217074 17.8660254,16.5 C17.6809741,16.8205182 17.3452819,16.9998396 17.000012,17.0001665 L17,17 L11.8855308,17.0005501 C11.512912,18.8188035 10.1440497,20.3270146 8.28008807,20.8264616 C5.61275756,21.5411707 2.87107277,19.9582583 2.15636371,17.2909277 C1.67853507,15.507647 2.22314594,13.6374116 3.52361777,12.3885391 L3.69009425,12.2357175 Z M12,2 C14.6887547,2 16.8818181,4.12230671 16.9953805,6.78311038 L17,7 L15,7 C15,5.34314575 13.6568542,4 12,4 C10.3431458,4 9,5.34314575 9,7 C9,8.03663591 9.52964394,8.97937227 10.3797433,9.52549875 L10.4663149,9.577 L11.4242264,10.1109289 L7.87365874,16.4865392 L7.8723149,16.486 L7.8660254,16.5 C7.60960748,16.9441289 7.06395121,17.1171529 6.60436072,16.9185096 L6.5,16.8660254 C6.02170738,16.589883 5.85783222,15.9782926 6.1339746,15.5 L6.12634126,15.5134608 L8.7500113,10.80028 C7.65887804,9.86710067 7,8.49115157 7,7 C7,4.23857625 9.23857625,2 12,2 Z',
  274. mdiGoogleSheet:
  275. 'M19,11V9H11V5H9V9H5V11H9V19H11V11H19M19,3C19.5,3 20,3.2 20.39,3.61C20.8,4 21,4.5 21,5V19C21,19.5 20.8,20 20.39,20.39C20,20.8 19.5,21 19,21H5C4.5,21 4,20.8 3.61,20.39C3.2,20 3,19.5 3,19V5C3,4.5 3.2,4 3.61,3.61C4,3.2 4.5,3 5,3H19Z',
  276. mdiCursorDefaultClickOutline:
  277. 'M11.5,11L17.88,16.37L17,16.55L16.36,16.67C15.73,16.8 15.37,17.5 15.65,18.07L15.92,18.65L17.28,21.59L15.86,22.25L14.5,19.32L14.24,18.74C13.97,18.15 13.22,17.97 12.72,18.38L12.21,18.78L11.5,19.35V11M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10',
  278. };
  279. const component = {
  280. name: 'v-remixicon',
  281. props: {
  282. name: String,
  283. title: String,
  284. viewBox: {
  285. type: String,
  286. default: '0 0 24 24',
  287. },
  288. size: {
  289. type: [String, Number],
  290. default: 24,
  291. },
  292. fill: {
  293. type: String,
  294. default: 'currentColor',
  295. },
  296. rotate: {
  297. type: [Number, String],
  298. default: 0,
  299. },
  300. path: {
  301. type: String,
  302. default: '',
  303. },
  304. },
  305. setup(props) {
  306. const injectIcons = inject('remixicons');
  307. const icon = computed(() => {
  308. if (props.path) return props.path;
  309. const iconStr = injectIcons[props.name];
  310. if (typeof iconStr === 'undefined') {
  311. console.error(
  312. `[v-remixicon] ${props.name} name of the icon is incorrect`
  313. );
  314. return null;
  315. }
  316. return iconStr;
  317. });
  318. return () =>
  319. h(
  320. 'svg',
  321. {
  322. viewBox: props.viewBox,
  323. fill: props.fill,
  324. height: props.size,
  325. width: props.size,
  326. class: 'v-remixicon',
  327. xmlns: 'http://www.w3.org/2000/svg',
  328. style: {
  329. transform: props.rotate ? `rotate(${props.rotate}deg)` : null,
  330. },
  331. },
  332. [
  333. props.title ? h('title', {}, props.title) : null,
  334. h('g', {}, [
  335. h('path', { fill: 'none', d: 'M0 0h24v24H0z' }),
  336. h('path', { 'fill-rule': 'nonzero', d: icon.value }),
  337. ]),
  338. ]
  339. );
  340. },
  341. };
  342. export default {
  343. install(app) {
  344. app.provide('remixicons', icons);
  345. app.component('VRemixicon', component);
  346. },
  347. };