mintlify 1.0.7 → 1.0.9

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 (249) hide show
  1. package/README.md +21 -5
  2. package/bin/constants.js +12 -0
  3. package/bin/constants.js.map +1 -0
  4. package/bin/dev/getOpenApiContext.js +46 -0
  5. package/bin/dev/getOpenApiContext.js.map +1 -0
  6. package/bin/dev/index.js +164 -0
  7. package/bin/dev/index.js.map +1 -0
  8. package/bin/dev/injectNav.js +97 -0
  9. package/bin/dev/injectNav.js.map +1 -0
  10. package/bin/dev/slugToTitle.js +8 -0
  11. package/bin/dev/slugToTitle.js.map +1 -0
  12. package/bin/index.js +45 -224
  13. package/bin/index.js.map +1 -1
  14. package/bin/init-command/index.js +51 -0
  15. package/bin/init-command/index.js.map +1 -0
  16. package/bin/init-command/templates.js +41 -0
  17. package/bin/init-command/templates.js.map +1 -0
  18. package/bin/local-preview/categorizeFiles.js +56 -0
  19. package/bin/local-preview/categorizeFiles.js.map +1 -0
  20. package/bin/local-preview/getOpenApiContext.js +46 -0
  21. package/bin/local-preview/getOpenApiContext.js.map +1 -0
  22. package/bin/local-preview/index.js +154 -0
  23. package/bin/local-preview/index.js.map +1 -0
  24. package/bin/local-preview/injectFavicons.js +72 -0
  25. package/bin/local-preview/injectFavicons.js.map +1 -0
  26. package/bin/local-preview/listener.js +112 -0
  27. package/bin/local-preview/listener.js.map +1 -0
  28. package/bin/local-preview/metadata.js +121 -0
  29. package/bin/local-preview/metadata.js.map +1 -0
  30. package/bin/local-preview/mintConfigFile.js +43 -0
  31. package/bin/local-preview/mintConfigFile.js.map +1 -0
  32. package/bin/local-preview/openApiCheck.js +16 -0
  33. package/bin/local-preview/openApiCheck.js.map +1 -0
  34. package/bin/local-preview/slugToTitle.js +8 -0
  35. package/bin/local-preview/slugToTitle.js.map +1 -0
  36. package/bin/mint/client/.babel-plugin-macrosrc.json +5 -0
  37. package/bin/mint/client/.babelrc +4 -0
  38. package/bin/mint/client/.editorconfig +12 -0
  39. package/bin/mint/client/.eslintrc.json +7 -0
  40. package/bin/mint/client/.prettierignore +4 -0
  41. package/bin/mint/client/.prettierrc +14 -0
  42. package/bin/mint/client/.vscode/launch.json +28 -0
  43. package/bin/mint/client/README.md +46 -0
  44. package/bin/mint/client/jest.config.ts +195 -0
  45. package/bin/mint/client/next-env.d.ts +4 -0
  46. package/bin/mint/client/next.config.js +152 -0
  47. package/bin/mint/client/package.json +140 -0
  48. package/bin/mint/client/postcss.config.cjs +9 -0
  49. package/bin/mint/client/prebuild/faviconConfig.js +35 -0
  50. package/bin/mint/client/prebuild/getOpenApiContext.js +53 -0
  51. package/bin/mint/client/prebuild/index.js +117 -0
  52. package/bin/mint/client/prebuild/injectNav.js +115 -0
  53. package/bin/mint/client/prebuild/slugToTitle.js +7 -0
  54. package/bin/mint/client/rehype/withApiComponents.js +60 -0
  55. package/bin/mint/client/rehype/withCodeBlocks.js +54 -0
  56. package/bin/mint/client/rehype/withLayouts.js +113 -0
  57. package/bin/mint/client/rehype/withLinkRoles.js +13 -0
  58. package/bin/mint/client/rehype/withRawComponents.js +13 -0
  59. package/bin/mint/client/rehype/withStaticProps.js +25 -0
  60. package/bin/mint/client/rehype/withSyntaxHighlighting.js +60 -0
  61. package/bin/mint/client/remark/utils.js +369 -0
  62. package/bin/mint/client/remark/withFrames.js +55 -0
  63. package/bin/mint/client/remark/withImportsInjected.js +36 -0
  64. package/bin/mint/client/remark/withNextLinks.js +37 -0
  65. package/bin/mint/client/remark/withTableOfContents.js +71 -0
  66. package/bin/mint/client/scripts/local-to-docs.js +72 -0
  67. package/bin/mint/client/scripts/local.js +177 -0
  68. package/bin/mint/client/sentry.client.config.js +15 -0
  69. package/bin/mint/client/sentry.properties +4 -0
  70. package/bin/mint/client/sentry.server.config.js +15 -0
  71. package/bin/mint/client/src/analytics/AbstractAnalyticsImplementation.ts +50 -0
  72. package/bin/mint/client/src/analytics/AnalyticsContext.ts +5 -0
  73. package/bin/mint/client/src/analytics/AnalyticsMediator.ts +101 -0
  74. package/bin/mint/client/src/analytics/FakeAnalyticsMediator.ts +9 -0
  75. package/bin/mint/client/src/analytics/GA4Script.tsx +33 -0
  76. package/bin/mint/client/src/analytics/implementations/amplitude.ts +26 -0
  77. package/bin/mint/client/src/analytics/implementations/fathom.ts +38 -0
  78. package/bin/mint/client/src/analytics/implementations/ga4.ts +33 -0
  79. package/bin/mint/client/src/analytics/implementations/hotjar.ts +53 -0
  80. package/bin/mint/client/src/analytics/implementations/mixpanel-browser.d.ts +1 -0
  81. package/bin/mint/client/src/analytics/implementations/mixpanel.ts +52 -0
  82. package/bin/mint/client/src/analytics/implementations/posthog.ts +37 -0
  83. package/bin/mint/client/src/components/Accordion/Accordion.tsx +43 -0
  84. package/bin/mint/client/src/components/Accordion/index.ts +4 -0
  85. package/bin/mint/client/src/components/ApiExample.tsx +9 -0
  86. package/bin/mint/client/src/components/Card.tsx +51 -0
  87. package/bin/mint/client/src/components/CodeGroup.tsx +132 -0
  88. package/bin/mint/client/src/components/Editor.tsx +12 -0
  89. package/bin/mint/client/src/components/Expandable.tsx +40 -0
  90. package/bin/mint/client/src/components/Heading.tsx +84 -0
  91. package/bin/mint/client/src/components/Param.tsx +56 -0
  92. package/bin/mint/client/src/components/Request.tsx +19 -0
  93. package/bin/mint/client/src/components/ResponseField.tsx +33 -0
  94. package/bin/mint/client/src/components/TabBar.tsx +61 -0
  95. package/bin/mint/client/src/config.ts +115 -0
  96. package/bin/mint/client/src/css/bar-of-progress.css +10 -0
  97. package/bin/mint/client/src/css/base.css +29 -0
  98. package/bin/mint/client/src/css/font-awesome.css +7 -0
  99. package/bin/mint/client/src/css/fonts.css +44 -0
  100. package/bin/mint/client/src/css/main.css +11 -0
  101. package/bin/mint/client/src/css/prism.css +270 -0
  102. package/bin/mint/client/src/css/utilities.css +43 -0
  103. package/bin/mint/client/src/enums/components.ts +8 -0
  104. package/bin/mint/client/src/fonts/FiraCode-VF.woff +0 -0
  105. package/bin/mint/client/src/fonts/FiraCode-VF.woff2 +0 -0
  106. package/bin/mint/client/src/fonts/IBMPlexMono-Regular.ttf +0 -0
  107. package/bin/mint/client/src/fonts/IBMPlexMono-SemiBold.ttf +0 -0
  108. package/bin/mint/client/src/fonts/Inter-italic-latin.var.woff2 +0 -0
  109. package/bin/mint/client/src/fonts/Inter-roman-latin.var.woff2 +0 -0
  110. package/bin/mint/client/src/fonts/Pally-Variable.ttf +0 -0
  111. package/bin/mint/client/src/fonts/SourceSansPro-Regular.otf +0 -0
  112. package/bin/mint/client/src/fonts/SourceSerifPro-Regular.ttf +0 -0
  113. package/bin/mint/client/src/fonts/Synonym-Variable.ttf +0 -0
  114. package/bin/mint/client/src/fonts/Ubuntu-Mono-bold.woff2 +0 -0
  115. package/bin/mint/client/src/fonts/generated/IBMPlexMono-Regular-subset.woff2 +0 -0
  116. package/bin/mint/client/src/fonts/generated/IBMPlexMono-Regular-subset.zopfli.woff +0 -0
  117. package/bin/mint/client/src/fonts/generated/IBMPlexMono-Regular.module.css +11 -0
  118. package/bin/mint/client/src/fonts/generated/IBMPlexMono-SemiBold-subset.woff2 +0 -0
  119. package/bin/mint/client/src/fonts/generated/IBMPlexMono-SemiBold-subset.zopfli.woff +0 -0
  120. package/bin/mint/client/src/fonts/generated/IBMPlexMono-SemiBold.module.css +11 -0
  121. package/bin/mint/client/src/fonts/generated/Pally-Variable-subset.woff2 +0 -0
  122. package/bin/mint/client/src/fonts/generated/Pally-Variable-subset.zopfli.woff +0 -0
  123. package/bin/mint/client/src/fonts/generated/Pally-Variable.module.css +11 -0
  124. package/bin/mint/client/src/fonts/generated/SourceSerifPro-Regular-subset.woff2 +0 -0
  125. package/bin/mint/client/src/fonts/generated/SourceSerifPro-Regular-subset.zopfli.woff +0 -0
  126. package/bin/mint/client/src/fonts/generated/SourceSerifPro-Regular.module.css +11 -0
  127. package/bin/mint/client/src/fonts/generated/Synonym-Variable-subset.woff2 +0 -0
  128. package/bin/mint/client/src/fonts/generated/Synonym-Variable-subset.zopfli.woff +0 -0
  129. package/bin/mint/client/src/fonts/generated/Synonym-Variable.module.css +11 -0
  130. package/bin/mint/client/src/fonts/generated/TenorSans-Regular-subset.woff2 +0 -0
  131. package/bin/mint/client/src/fonts/generated/TenorSans-Regular-subset.zopfli.woff +0 -0
  132. package/bin/mint/client/src/fonts/generated/TenorSans-Regular.module.css +11 -0
  133. package/bin/mint/client/src/hooks/useActionKey.ts +20 -0
  134. package/bin/mint/client/src/hooks/useIsomorphicLayoutEffect.ts +3 -0
  135. package/bin/mint/client/src/hooks/useMedia.ts +27 -0
  136. package/bin/mint/client/src/hooks/usePrevNext.ts +34 -0
  137. package/bin/mint/client/src/hooks/useTop.ts +15 -0
  138. package/bin/mint/client/src/icons/CopyToClipboard.tsx +33 -0
  139. package/bin/mint/client/src/index.d.ts +1 -0
  140. package/bin/mint/client/src/layouts/ApiSupplemental.tsx +173 -0
  141. package/bin/mint/client/src/layouts/ContentsLayout.tsx +256 -0
  142. package/bin/mint/client/src/layouts/DocumentationLayout.tsx +44 -0
  143. package/bin/mint/client/src/layouts/OpenApiContent.tsx +301 -0
  144. package/bin/mint/client/src/layouts/SidebarLayout.tsx +412 -0
  145. package/bin/mint/client/src/layouts/UserFeedback.tsx +73 -0
  146. package/bin/mint/client/src/layouts/getGroupsInDivision.ts +25 -0
  147. package/bin/mint/client/src/layouts/isPathInGroupPages.ts +10 -0
  148. package/bin/mint/client/src/metadata.ts +58 -0
  149. package/bin/mint/client/src/openapi.ts +3 -0
  150. package/bin/mint/client/src/pages/404.tsx +73 -0
  151. package/bin/mint/client/src/pages/_app.tsx +138 -0
  152. package/bin/mint/client/src/pages/_document.tsx +57 -0
  153. package/bin/mint/client/src/pages/api/issue.ts +10 -0
  154. package/bin/mint/client/src/pages/api/name.ts +8 -0
  155. package/bin/mint/client/src/pages/api/request.ts +31 -0
  156. package/bin/mint/client/src/pages/api/suggest.ts +10 -0
  157. package/bin/mint/client/src/pages/api/syntax-highlighted-json.ts +13 -0
  158. package/bin/mint/client/src/pages/api/utils.ts +6 -0
  159. package/bin/mint/client/src/pages/index.tsx +31 -0
  160. package/bin/mint/client/src/ui/Api.tsx +359 -0
  161. package/bin/mint/client/src/ui/Footer.tsx +124 -0
  162. package/bin/mint/client/src/ui/Header.tsx +370 -0
  163. package/bin/mint/client/src/ui/Logo.tsx +55 -0
  164. package/bin/mint/client/src/ui/PageHeader.tsx +51 -0
  165. package/bin/mint/client/src/ui/Search.tsx +386 -0
  166. package/bin/mint/client/src/ui/ThemeToggle.tsx +285 -0
  167. package/bin/mint/client/src/ui/Title.tsx +22 -0
  168. package/bin/mint/client/src/ui/TopLevelLink.tsx +122 -0
  169. package/bin/mint/client/src/utils/api.ts +252 -0
  170. package/bin/mint/client/src/utils/brands.ts +217 -0
  171. package/bin/mint/client/src/utils/castArray.ts +3 -0
  172. package/bin/mint/client/src/utils/childrenArray.ts +3 -0
  173. package/bin/mint/client/src/utils/fit.ts +27 -0
  174. package/bin/mint/client/src/utils/fontAwesome.ts +577 -0
  175. package/bin/mint/client/src/utils/getAnalyticsConfig.ts +14 -0
  176. package/bin/mint/client/src/utils/getLogoHref.ts +9 -0
  177. package/bin/mint/client/src/utils/getOpenApiContext.ts +26 -0
  178. package/bin/mint/client/src/utils/importAll.ts +6 -0
  179. package/bin/mint/client/src/utils/isObject.ts +3 -0
  180. package/bin/mint/client/src/utils/kebabToTitleCase.ts +3 -0
  181. package/bin/mint/client/src/utils/loadImage.ts +8 -0
  182. package/bin/mint/client/src/utils/slugToTitle.ts +7 -0
  183. package/bin/mint/client/src/utils/wait.ts +5 -0
  184. package/bin/mint/client/tailwind.config.cjs +323 -0
  185. package/bin/mint/client/test/test.test.ts +5 -0
  186. package/bin/mint/client/tsconfig.json +36 -0
  187. package/bin/mint/client/yarn.lock +9702 -0
  188. package/bin/navigation.js +4 -0
  189. package/bin/navigation.js.map +1 -0
  190. package/bin/pageTemplate.js +30 -0
  191. package/bin/pageTemplate.js.map +1 -0
  192. package/bin/scraping/combineNavWithEmptyGroupTitles.js +20 -0
  193. package/bin/scraping/combineNavWithEmptyGroupTitles.js.map +1 -0
  194. package/bin/scraping/getSitemapLinks.js +2 -0
  195. package/bin/scraping/getSitemapLinks.js.map +1 -1
  196. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js +43 -0
  197. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js.map +1 -0
  198. package/bin/scraping/scrapeGettingFileNameFromUrl.js +12 -41
  199. package/bin/scraping/scrapeGettingFileNameFromUrl.js.map +1 -1
  200. package/bin/scraping/scrapePageCommands.js +48 -0
  201. package/bin/scraping/scrapePageCommands.js.map +1 -0
  202. package/bin/scraping/scrapeSectionCommands.js +90 -0
  203. package/bin/scraping/scrapeSectionCommands.js.map +1 -0
  204. package/bin/scraping/site-scrapers/getLinksRecursively.js +33 -0
  205. package/bin/scraping/site-scrapers/getLinksRecursively.js.map +1 -0
  206. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js +1 -1
  207. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js.map +1 -1
  208. package/bin/scraping/site-scrapers/scrapeGitBookSection.js +25 -48
  209. package/bin/scraping/site-scrapers/scrapeGitBookSection.js.map +1 -1
  210. package/bin/scraping/site-scrapers/scrapeReadMePage.js +2 -1
  211. package/bin/scraping/site-scrapers/scrapeReadMePage.js.map +1 -1
  212. package/bin/scraping/site-scrapers/scrapeReadMeSection.js +10 -20
  213. package/bin/scraping/site-scrapers/scrapeReadMeSection.js.map +1 -1
  214. package/bin/util.js +21 -1
  215. package/bin/util.js.map +1 -1
  216. package/bin/validation/isValidLink.js +11 -0
  217. package/bin/validation/isValidLink.js.map +1 -0
  218. package/bin/validation/stopIfInvalidLink.js +9 -0
  219. package/bin/validation/stopIfInvalidLink.js.map +1 -0
  220. package/package.json +21 -4
  221. package/src/constants.ts +20 -0
  222. package/src/index.ts +110 -272
  223. package/src/init-command/index.ts +59 -0
  224. package/src/{templates.ts → init-command/templates.ts} +0 -0
  225. package/src/local-preview/categorizeFiles.ts +74 -0
  226. package/src/local-preview/getOpenApiContext.ts +61 -0
  227. package/src/local-preview/index.ts +191 -0
  228. package/src/local-preview/injectFavicons.ts +76 -0
  229. package/src/local-preview/listener.ts +116 -0
  230. package/src/local-preview/metadata.ts +154 -0
  231. package/src/local-preview/mintConfigFile.ts +48 -0
  232. package/src/local-preview/openApiCheck.ts +19 -0
  233. package/src/local-preview/slugToTitle.ts +7 -0
  234. package/src/navigation.ts +12 -0
  235. package/src/pageTemplate.ts +32 -0
  236. package/src/scraping/combineNavWithEmptyGroupTitles.ts +21 -0
  237. package/src/scraping/getSitemapLinks.ts +2 -0
  238. package/src/scraping/scrapeFileGettingFileNameFromUrl.ts +81 -0
  239. package/src/scraping/scrapeGettingFileNameFromUrl.ts +27 -58
  240. package/src/scraping/scrapePageCommands.ts +52 -0
  241. package/src/scraping/scrapeSectionCommands.ts +110 -0
  242. package/src/scraping/site-scrapers/getLinksRecursively.ts +40 -0
  243. package/src/scraping/site-scrapers/scrapeDocusaurusSection.ts +1 -1
  244. package/src/scraping/site-scrapers/scrapeGitBookSection.ts +31 -70
  245. package/src/scraping/site-scrapers/scrapeReadMePage.ts +3 -1
  246. package/src/scraping/site-scrapers/scrapeReadMeSection.ts +21 -38
  247. package/src/util.ts +29 -1
  248. package/src/validation/isValidLink.ts +9 -0
  249. package/src/validation/stopIfInvalidLink.ts +9 -0
@@ -0,0 +1,577 @@
1
+ import { config as fontawesomeConfig } from '@fortawesome/fontawesome-svg-core';
2
+ import { library } from '@fortawesome/fontawesome-svg-core';
3
+ import {
4
+ faDiscord,
5
+ faFacebook,
6
+ faGithub,
7
+ faLinkedin,
8
+ faSlack,
9
+ faTwitter,
10
+ faInstagram,
11
+ faHackerNews,
12
+ faGoogle,
13
+ faMicrosoft,
14
+ faAws,
15
+ faYoutube,
16
+ faMedium,
17
+ faReddit,
18
+ } from '@fortawesome/free-brands-svg-icons';
19
+ import {
20
+ faBookBookmark,
21
+ faBookOpen,
22
+ faCircleNodes,
23
+ faCirclePlay,
24
+ faCommentDots,
25
+ faEnvelope,
26
+ faFlask,
27
+ faLink,
28
+ faPenNib,
29
+ faRectangleTerminal,
30
+ faRocketLaunch,
31
+ faEnvelopeOpenText,
32
+ faComments,
33
+ faCoins,
34
+ faMap,
35
+ faNewspaper,
36
+ faPeopleGroup,
37
+ faHandshake,
38
+ faChartNetwork,
39
+ faCircleQuestion,
40
+ faBook,
41
+ faLocationDot,
42
+ faPhone,
43
+ faWavePulse,
44
+ faPaperPlane,
45
+ faBookmark,
46
+ faList,
47
+ faShieldHalved,
48
+ faPlug,
49
+ faBell,
50
+ faUserShield,
51
+ faCreditCard,
52
+ faFileShield,
53
+ faTags,
54
+ faGraduationCap,
55
+ } from '@fortawesome/pro-duotone-svg-icons';
56
+ import { faEarthAmericas } from '@fortawesome/pro-solid-svg-icons';
57
+
58
+ fontawesomeConfig.replacementClass = '';
59
+ library.add(
60
+ // Duotone
61
+ faBookOpen,
62
+ faBookBookmark,
63
+ faCirclePlay,
64
+ faEnvelope,
65
+ faRocketLaunch,
66
+ faCircleNodes,
67
+ faCommentDots,
68
+ faPenNib,
69
+ faLink,
70
+ faFlask,
71
+ faRectangleTerminal,
72
+ faEnvelopeOpenText,
73
+ faComments,
74
+ faCoins,
75
+ faMap,
76
+ faNewspaper,
77
+ faPeopleGroup,
78
+ faHandshake,
79
+ faChartNetwork,
80
+ faCircleQuestion,
81
+ faBook,
82
+ faLocationDot,
83
+ faPhone,
84
+ faWavePulse,
85
+ faPaperPlane,
86
+ faBookmark,
87
+ faList,
88
+ faShieldHalved,
89
+ faPlug,
90
+ faBell,
91
+ faUserShield,
92
+ faCreditCard,
93
+ faFileShield,
94
+ faTags,
95
+ faGraduationCap,
96
+ // Solids
97
+ faEarthAmericas,
98
+ // Brands
99
+ faDiscord,
100
+ faSlack,
101
+ faGithub,
102
+ faTwitter,
103
+ faFacebook,
104
+ faLinkedin,
105
+ faInstagram,
106
+ faGoogle,
107
+ faMicrosoft,
108
+ faAws,
109
+ faYoutube,
110
+ faMedium,
111
+ faHackerNews,
112
+ faReddit
113
+ );
114
+
115
+ export const isBrandFontAwesomeIcon = (icon?: string): boolean => {
116
+ if (!icon) return false;
117
+
118
+ const brands = [
119
+ '500px',
120
+ 'accessible-icon',
121
+ 'accusoft',
122
+ 'acquisitions-incorporated',
123
+ 'adn',
124
+ 'adversal',
125
+ 'affiliatetheme',
126
+ 'airbnb',
127
+ 'algolia',
128
+ 'alipay',
129
+ 'amazon',
130
+ 'amazon-pay',
131
+ 'amilia',
132
+ 'android',
133
+ 'angellist',
134
+ 'angrycreative',
135
+ 'angular',
136
+ 'app-store',
137
+ 'app-store-ios',
138
+ 'apper',
139
+ 'apple',
140
+ 'apple-pay',
141
+ 'artstation',
142
+ 'asymmetrik',
143
+ 'atlassian',
144
+ 'audible',
145
+ 'autoprefixer',
146
+ 'avianex',
147
+ 'aviato',
148
+ 'aws',
149
+ 'bandcamp',
150
+ 'battle-net',
151
+ 'behance',
152
+ 'behance-square',
153
+ 'bimobject',
154
+ 'bitbucket',
155
+ 'bitcoin',
156
+ 'bity',
157
+ 'black-tie',
158
+ 'blackberry',
159
+ 'blogger',
160
+ 'blogger-b',
161
+ 'bluetooth',
162
+ 'bluetooth-b',
163
+ 'bootstrap',
164
+ 'btc',
165
+ 'buffer',
166
+ 'buromobelexperte',
167
+ 'buy-n-large',
168
+ 'buysellads',
169
+ 'canadian-maple-leaf',
170
+ 'cc-amazon-pay',
171
+ 'cc-amex',
172
+ 'cc-apple-pay',
173
+ 'cc-diners-club',
174
+ 'cc-discover',
175
+ 'cc-jcb',
176
+ 'cc-mastercard',
177
+ 'cc-paypal',
178
+ 'cc-stripe',
179
+ 'cc-visa',
180
+ 'centercode',
181
+ 'centos',
182
+ 'chrome',
183
+ 'chromecast',
184
+ 'cloudflare',
185
+ 'cloudscale',
186
+ 'cloudsmith',
187
+ 'cloudversify',
188
+ 'codepen',
189
+ 'codiepie',
190
+ 'confluence',
191
+ 'connectdevelop',
192
+ 'contao',
193
+ 'cotton-bureau',
194
+ 'cpanel',
195
+ 'creative-commons',
196
+ 'creative-commons-by',
197
+ 'creative-commons-nc',
198
+ 'creative-commons-nc-eu',
199
+ 'creative-commons-nc-jp',
200
+ 'creative-commons-nd',
201
+ 'creative-commons-pd',
202
+ 'creative-commons-pd-alt',
203
+ 'creative-commons-remix',
204
+ 'creative-commons-sa',
205
+ 'creative-commons-sampling',
206
+ 'creative-commons-sampling f4f1',
207
+ 'creative-commons-share',
208
+ 'creative-commons-zero',
209
+ 'critical-role',
210
+ 'css3',
211
+ 'css3-alt',
212
+ 'cuttlefish',
213
+ 'd-and-d',
214
+ 'd-and-d-beyond',
215
+ 'dailymotion',
216
+ 'dashcube',
217
+ 'deezer',
218
+ 'delicious',
219
+ 'deploydog',
220
+ 'deskpro',
221
+ 'dev',
222
+ 'deviantart',
223
+ 'dhl',
224
+ 'diaspora',
225
+ 'digg',
226
+ 'digital-ocean',
227
+ 'discord',
228
+ 'discourse',
229
+ 'dochub',
230
+ 'docker',
231
+ 'draft2digital',
232
+ 'dribbble',
233
+ 'dribbble-square',
234
+ 'dropbox',
235
+ 'drupal',
236
+ 'dyalog',
237
+ 'earlybirds',
238
+ 'ebay',
239
+ 'edge',
240
+ 'edge-legacy',
241
+ 'elementor',
242
+ 'ello',
243
+ 'ember',
244
+ 'empire',
245
+ 'envira',
246
+ 'erlang',
247
+ 'ethereum',
248
+ 'etsy',
249
+ 'evernote',
250
+ 'expeditedssl',
251
+ 'facebook',
252
+ 'facebook-f',
253
+ 'facebook-messenger',
254
+ 'facebook-square',
255
+ 'fantasy-flight-games',
256
+ 'fedex',
257
+ 'fedora',
258
+ 'figma',
259
+ 'firefox',
260
+ 'firefox-browser',
261
+ 'first-order',
262
+ 'first-order-alt',
263
+ 'firstdraft',
264
+ 'flickr',
265
+ 'flipboard',
266
+ 'fly',
267
+ 'font-awesome',
268
+ 'font-awesome-alt',
269
+ 'font-awesome-flag',
270
+ 'fonticons',
271
+ 'fonticons-fi',
272
+ 'fort-awesome',
273
+ 'fort-awesome-alt',
274
+ 'forumbee',
275
+ 'foursquare',
276
+ 'free-code-camp',
277
+ 'freebsd',
278
+ 'fulcrum',
279
+ 'galactic-republic',
280
+ 'galactic-senate',
281
+ 'get-pocket',
282
+ 'gg',
283
+ 'gg-circle',
284
+ 'git',
285
+ 'git-alt',
286
+ 'git-square',
287
+ 'github',
288
+ 'github-alt',
289
+ 'github-square',
290
+ 'gitkraken',
291
+ 'gitlab',
292
+ 'gitter',
293
+ 'glide',
294
+ 'glide-g',
295
+ 'gofore',
296
+ 'goodreads',
297
+ 'goodreads-g',
298
+ 'google',
299
+ 'google-drive',
300
+ 'google-pay',
301
+ 'google-play',
302
+ 'google-plus',
303
+ 'google-plus-g',
304
+ 'google-plus-square',
305
+ 'google-wallet',
306
+ 'gratipay',
307
+ 'grav',
308
+ 'gripfire',
309
+ 'grunt',
310
+ 'guilded',
311
+ 'gulp',
312
+ 'hacker-news',
313
+ 'hacker-news-square',
314
+ 'hackerrank',
315
+ 'hips',
316
+ 'hire-a-helper',
317
+ 'hive',
318
+ 'hooli',
319
+ 'hornbill',
320
+ 'hotjar',
321
+ 'houzz',
322
+ 'html5',
323
+ 'hubspot',
324
+ 'ideal',
325
+ 'imdb',
326
+ 'innosoft',
327
+ 'instagram',
328
+ 'instagram-square',
329
+ 'instalod',
330
+ 'intercom',
331
+ 'internet-explorer',
332
+ 'invision',
333
+ 'ioxhost',
334
+ 'itch-io',
335
+ 'itunes',
336
+ 'itunes-note',
337
+ 'java',
338
+ 'jedi-order',
339
+ 'jenkins',
340
+ 'jira',
341
+ 'joget',
342
+ 'joomla',
343
+ 'js',
344
+ 'js-square',
345
+ 'jsfiddle',
346
+ 'kaggle',
347
+ 'keybase',
348
+ 'keycdn',
349
+ 'kickstarter',
350
+ 'kickstarter-k',
351
+ 'korvue',
352
+ 'laravel',
353
+ 'lastfm',
354
+ 'lastfm-square',
355
+ 'leanpub',
356
+ 'less',
357
+ 'line',
358
+ 'linkedin',
359
+ 'linkedin-in',
360
+ 'linode',
361
+ 'linux',
362
+ 'lyft',
363
+ 'magento',
364
+ 'mailchimp',
365
+ 'mandalorian',
366
+ 'markdown',
367
+ 'mastodon',
368
+ 'maxcdn',
369
+ 'mdb',
370
+ 'medapps',
371
+ 'medium',
372
+ 'medium-m',
373
+ 'medrt',
374
+ 'meetup',
375
+ 'megaport',
376
+ 'mendeley',
377
+ 'microblog',
378
+ 'microsoft',
379
+ 'mix',
380
+ 'mixcloud',
381
+ 'mixer',
382
+ 'mizuni',
383
+ 'modx',
384
+ 'monero',
385
+ 'napster',
386
+ 'neos',
387
+ 'nimblr',
388
+ 'node',
389
+ 'node-js',
390
+ 'npm',
391
+ 'ns8',
392
+ 'nutritionix',
393
+ 'octopus-deploy',
394
+ 'odnoklassniki',
395
+ 'odnoklassniki-square',
396
+ 'old-republic',
397
+ 'opencart',
398
+ 'openid',
399
+ 'opera',
400
+ 'optin-monster',
401
+ 'orcid',
402
+ 'osi',
403
+ 'page4',
404
+ 'pagelines',
405
+ 'palfed',
406
+ 'patreon',
407
+ 'paypal',
408
+ 'penny-arcade',
409
+ 'perbyte',
410
+ 'periscope',
411
+ 'phabricator',
412
+ 'phoenix-framework',
413
+ 'phoenix-squadron',
414
+ 'php',
415
+ 'pied-piper',
416
+ 'pied-piper-alt',
417
+ 'pied-piper-hat',
418
+ 'pied-piper-pp',
419
+ 'pied-piper-square',
420
+ 'pinterest',
421
+ 'pinterest-p',
422
+ 'pinterest-square',
423
+ 'playstation',
424
+ 'product-hunt',
425
+ 'pushed',
426
+ 'python',
427
+ 'qq',
428
+ 'quinscape',
429
+ 'quora',
430
+ 'r-project',
431
+ 'raspberry-pi',
432
+ 'ravelry',
433
+ 'react',
434
+ 'reacteurope',
435
+ 'readme',
436
+ 'rebel',
437
+ 'red-river',
438
+ 'reddit',
439
+ 'reddit-alien',
440
+ 'reddit-square',
441
+ 'redhat',
442
+ 'renren',
443
+ 'replyd',
444
+ 'researchgate',
445
+ 'resolving',
446
+ 'rev',
447
+ 'rocketchat',
448
+ 'rockrms',
449
+ 'rust',
450
+ 'safari',
451
+ 'salesforce',
452
+ 'sass',
453
+ 'schlix',
454
+ 'scribd',
455
+ 'searchengin',
456
+ 'sellcast',
457
+ 'sellsy',
458
+ 'servicestack',
459
+ 'shirtsinbulk',
460
+ 'shopify',
461
+ 'shopware',
462
+ 'simplybuilt',
463
+ 'sistrix',
464
+ 'sith',
465
+ 'sketch',
466
+ 'skyatlas',
467
+ 'skype',
468
+ 'slack',
469
+ 'slack-hash',
470
+ 'slideshare',
471
+ 'snapchat',
472
+ 'snapchat-ghost',
473
+ 'snapchat-square',
474
+ 'soundcloud',
475
+ 'sourcetree',
476
+ 'speakap',
477
+ 'speaker-deck',
478
+ 'spotify',
479
+ 'squarespace',
480
+ 'stack-exchange',
481
+ 'stack-overflow',
482
+ 'stackpath',
483
+ 'staylinked',
484
+ 'steam',
485
+ 'steam-square',
486
+ 'steam-symbol',
487
+ 'sticker-mule',
488
+ 'strava',
489
+ 'stripe',
490
+ 'stripe-s',
491
+ 'studiovinari',
492
+ 'stumbleupon',
493
+ 'stumbleupon-circle',
494
+ 'superpowers',
495
+ 'supple',
496
+ 'suse',
497
+ 'swift',
498
+ 'symfony',
499
+ 'teamspeak',
500
+ 'telegram',
501
+ 'telegram-plane',
502
+ 'tencent-weibo',
503
+ 'the-red-yeti',
504
+ 'themeco',
505
+ 'themeisle',
506
+ 'think-peaks',
507
+ 'tiktok',
508
+ 'trade-federation',
509
+ 'trello',
510
+ 'tumblr',
511
+ 'tumblr-square',
512
+ 'twitch',
513
+ 'twitter',
514
+ 'twitter-square',
515
+ 'typo3',
516
+ 'uber',
517
+ 'ubuntu',
518
+ 'uikit',
519
+ 'umbraco',
520
+ 'uncharted',
521
+ 'uniregistry',
522
+ 'unity',
523
+ 'unsplash',
524
+ 'untappd',
525
+ 'ups',
526
+ 'usb',
527
+ 'usps',
528
+ 'ussunnah',
529
+ 'vaadin',
530
+ 'viacoin',
531
+ 'viadeo',
532
+ 'viadeo-square',
533
+ 'viber',
534
+ 'vimeo',
535
+ 'vimeo-square',
536
+ 'vimeo-v',
537
+ 'vine',
538
+ 'vk',
539
+ 'vnv',
540
+ 'vuejs',
541
+ 'watchman-monitoring',
542
+ 'waze',
543
+ 'weebly',
544
+ 'weibo',
545
+ 'weixin',
546
+ 'whatsapp',
547
+ 'whatsapp-square',
548
+ 'whmcs',
549
+ 'wikipedia-w',
550
+ 'windows',
551
+ 'wix',
552
+ 'wizards-of-the-coast',
553
+ 'wodu',
554
+ 'wolf-pack-battalion',
555
+ 'wordpress',
556
+ 'wordpress-simple',
557
+ 'wpbeginner',
558
+ 'wpexplorer',
559
+ 'wpforms',
560
+ 'wpressr',
561
+ 'xbox',
562
+ 'xing',
563
+ 'xing-square',
564
+ 'yahoo',
565
+ 'y-combinator',
566
+ 'yandex',
567
+ 'yammer',
568
+ 'yarn',
569
+ 'yandex-international',
570
+ 'yoast',
571
+ 'yelp',
572
+ 'youtube',
573
+ 'youtube-square',
574
+ 'zhihu',
575
+ ];
576
+ return brands.includes(icon.toLowerCase());
577
+ };
@@ -0,0 +1,14 @@
1
+ import { Config } from '@/config';
2
+
3
+ export default function getAnalyticsConfig(config: Config) {
4
+ // If any values are in mint.json they override ALL injected values.
5
+ // For example, setting the apiKey for PostHog also overrides the apiHost.
6
+ return {
7
+ amplitude: config.analytics?.amplitude || config.__injected?.analytics?.amplitude,
8
+ fathom: config.analytics?.fathom || config.__injected?.analytics?.fathom,
9
+ ga4: config.analytics?.ga4 || config.__injected?.analytics?.ga4,
10
+ hotjar: config.analytics?.hotjar || config.__injected?.analytics?.hotjar,
11
+ mixpanel: config.analytics?.mixpanel || config.__injected?.analytics?.mixpanel,
12
+ posthog: config.analytics?.posthog || config.__injected?.analytics?.posthog,
13
+ };
14
+ }
@@ -0,0 +1,9 @@
1
+ import { Config } from '@/config';
2
+
3
+ export default function getLogoHref(configJSON: Config) {
4
+ if (typeof configJSON?.logo === 'string') {
5
+ return '/';
6
+ }
7
+
8
+ return configJSON?.logo?.href ?? '/';
9
+ }
@@ -0,0 +1,26 @@
1
+ import { openApi } from '@/openapi';
2
+ import { extractMethodAndEndpoint } from './api';
3
+
4
+ export const getOpenApiOperationMethodAndEndpoint = (openapi: string) => {
5
+ const { endpoint, method } = extractMethodAndEndpoint(openapi);
6
+
7
+ const path = openApi?.paths && openApi.paths[endpoint];
8
+
9
+ if (path == null) {
10
+ return {};
11
+ }
12
+
13
+ let operation;
14
+ if (method) {
15
+ operation = (path as any)[method.toLowerCase()];
16
+ } else {
17
+ const firstOperationKey = Object.keys(path)[0];
18
+ operation = (path as any)[firstOperationKey];
19
+ }
20
+
21
+ return {
22
+ operation,
23
+ method,
24
+ endpoint,
25
+ };
26
+ };
@@ -0,0 +1,6 @@
1
+ export function importAll(r: any) {
2
+ return r.keys().map((fileName: string) => ({
3
+ fileName,
4
+ module: r(fileName),
5
+ }))
6
+ }
@@ -0,0 +1,3 @@
1
+ export function isObject(value: Object) {
2
+ return Object.prototype.toString.call(value) === '[object Object]'
3
+ }
@@ -0,0 +1,3 @@
1
+ export function kebabToTitleCase(str: string) {
2
+ return str.replace(/(?:^|-)([a-z])/gi, (m, p1) => ` ${p1.toUpperCase()}`).trim()
3
+ }
@@ -0,0 +1,8 @@
1
+ export function loadImage(src: string) {
2
+ return new Promise((resolve, reject) => {
3
+ let img = new Image()
4
+ img.onload = resolve
5
+ img.onerror = reject
6
+ img.src = src
7
+ })
8
+ }
@@ -0,0 +1,7 @@
1
+ export const slugToTitle = (slug: string): string => {
2
+ const slugArr = slug.split('/');
3
+ let defaultTitle = slugArr[slugArr.length - 1].split('-').join(' '); //replace all dashes
4
+ defaultTitle = defaultTitle.split('_').join(' '); //replace all underscores
5
+ defaultTitle = defaultTitle.charAt(0).toUpperCase() + defaultTitle.slice(1); //capitalize first letter
6
+ return defaultTitle;
7
+ };
@@ -0,0 +1,5 @@
1
+ export function wait(ms: number) {
2
+ return new Promise((resolve) => {
3
+ window.setTimeout(resolve, ms)
4
+ })
5
+ }