@flamingo-stack/openframe-frontend-core 0.0.518-1660.4292.1 → 0.0.518

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 (337) hide show
  1. package/dist/{chunk-3LMOLDFT.cjs → chunk-262OTU4W.cjs} +14 -14
  2. package/dist/{chunk-3LMOLDFT.cjs.map → chunk-262OTU4W.cjs.map} +1 -1
  3. package/dist/{chunk-XURCARSX.cjs → chunk-2AHSX63M.cjs} +5 -5
  4. package/dist/{chunk-XURCARSX.cjs.map → chunk-2AHSX63M.cjs.map} +1 -1
  5. package/dist/{chunk-DPFQWIZJ.cjs → chunk-2EU3TWCW.cjs} +32 -32
  6. package/dist/{chunk-DPFQWIZJ.cjs.map → chunk-2EU3TWCW.cjs.map} +1 -1
  7. package/dist/{chunk-MIFJLUZK.js → chunk-2ZHVOTSA.js} +2 -2
  8. package/dist/{chunk-NJADHL2G.cjs → chunk-3M2MFP2Y.cjs} +30 -2
  9. package/dist/chunk-3M2MFP2Y.cjs.map +1 -0
  10. package/dist/{chunk-UBTOOE55.js → chunk-5OGHZNY5.js} +10 -1
  11. package/dist/chunk-5OGHZNY5.js.map +1 -0
  12. package/dist/{chunk-5KBQECAY.js → chunk-6EAACE7G.js} +2 -2
  13. package/dist/{chunk-IIPBTWQR.cjs → chunk-7INXXQVK.cjs} +10 -1
  14. package/dist/{chunk-IIPBTWQR.cjs.map → chunk-7INXXQVK.cjs.map} +1 -1
  15. package/dist/{chunk-IVTENGMF.js → chunk-7J4DGFHZ.js} +2 -2
  16. package/dist/{chunk-JLO2O5R4.js → chunk-7SPVAAWE.js} +5257 -5143
  17. package/dist/chunk-7SPVAAWE.js.map +1 -0
  18. package/dist/{chunk-FXT2OZ5Q.js → chunk-BBI7GD2Q.js} +3 -3
  19. package/dist/{chunk-MEXZZOBO.js → chunk-CV624KM6.js} +9 -9
  20. package/dist/{chunk-WSRPNLTY.cjs → chunk-FAOL7EI2.cjs} +18 -18
  21. package/dist/{chunk-WSRPNLTY.cjs.map → chunk-FAOL7EI2.cjs.map} +1 -1
  22. package/dist/{chunk-P63LOLTB.js → chunk-FISSR67K.js} +7 -7
  23. package/dist/{chunk-XURRAFIB.js → chunk-GJAHN7LH.js} +404 -376
  24. package/dist/chunk-GJAHN7LH.js.map +1 -0
  25. package/dist/{chunk-FS3YSNSU.js → chunk-GS4HJA2G.js} +2 -2
  26. package/dist/{chunk-HIV2GIFP.cjs → chunk-GYONSC3U.cjs} +3 -3
  27. package/dist/{chunk-HIV2GIFP.cjs.map → chunk-GYONSC3U.cjs.map} +1 -1
  28. package/dist/{chunk-QXUMLLYV.cjs → chunk-IPHH3GKC.cjs} +3 -3
  29. package/dist/{chunk-QXUMLLYV.cjs.map → chunk-IPHH3GKC.cjs.map} +1 -1
  30. package/dist/{chunk-NBJ7L65H.js → chunk-J2JLAW2J.js} +3 -3
  31. package/dist/{chunk-GA7BHFXD.cjs → chunk-J3DRYWFP.cjs} +77 -77
  32. package/dist/{chunk-GA7BHFXD.cjs.map → chunk-J3DRYWFP.cjs.map} +1 -1
  33. package/dist/{chunk-O7L2VJDW.cjs → chunk-LY7IT5QX.cjs} +12 -12
  34. package/dist/{chunk-O7L2VJDW.cjs.map → chunk-LY7IT5QX.cjs.map} +1 -1
  35. package/dist/{chunk-K26W23C2.cjs → chunk-MKPJYEOR.cjs} +6 -6
  36. package/dist/{chunk-K26W23C2.cjs.map → chunk-MKPJYEOR.cjs.map} +1 -1
  37. package/dist/{chunk-ZKVARGSO.js → chunk-MY7663CW.js} +3 -3
  38. package/dist/{chunk-J7ZJ4KM2.cjs → chunk-PJ4WHNJH.cjs} +9 -9
  39. package/dist/{chunk-J7ZJ4KM2.cjs.map → chunk-PJ4WHNJH.cjs.map} +1 -1
  40. package/dist/{chunk-66GH54DV.cjs → chunk-QNJCZGHH.cjs} +40 -40
  41. package/dist/{chunk-66GH54DV.cjs.map → chunk-QNJCZGHH.cjs.map} +1 -1
  42. package/dist/{chunk-WI4XHZ2B.js → chunk-QOUKB6OJ.js} +4 -4
  43. package/dist/{chunk-AI7WIW4E.js → chunk-QPCPYCU2.js} +4 -4
  44. package/dist/{chunk-Z3ADCYC5.js → chunk-RCBRCZUF.js} +2 -2
  45. package/dist/{chunk-RWYNJC2F.cjs → chunk-S3C4RT4O.cjs} +109 -109
  46. package/dist/{chunk-RWYNJC2F.cjs.map → chunk-S3C4RT4O.cjs.map} +1 -1
  47. package/dist/{chunk-OGVIGAMZ.cjs → chunk-SXLEPNY2.cjs} +31 -31
  48. package/dist/{chunk-OGVIGAMZ.cjs.map → chunk-SXLEPNY2.cjs.map} +1 -1
  49. package/dist/{chunk-BXRB4MQI.cjs → chunk-SYQ4KUXW.cjs} +599 -485
  50. package/dist/chunk-SYQ4KUXW.cjs.map +1 -0
  51. package/dist/{chunk-HPPCPGBR.cjs → chunk-U6NODSTY.cjs} +31 -31
  52. package/dist/{chunk-HPPCPGBR.cjs.map → chunk-U6NODSTY.cjs.map} +1 -1
  53. package/dist/{chunk-KP4JRPUE.js → chunk-V3K5H4I2.js} +2 -2
  54. package/dist/{chunk-43ZZYJ3M.js → chunk-V76TAQ3O.js} +5 -5
  55. package/dist/{chunk-XZ6WTSVQ.js → chunk-VCA3HNJ2.js} +6 -6
  56. package/dist/{chunk-7EFJJMNH.cjs → chunk-WBEF37M5.cjs} +12 -12
  57. package/dist/{chunk-7EFJJMNH.cjs.map → chunk-WBEF37M5.cjs.map} +1 -1
  58. package/dist/{chunk-H6K73RK2.cjs → chunk-XDADNUC5.cjs} +40 -40
  59. package/dist/{chunk-H6K73RK2.cjs.map → chunk-XDADNUC5.cjs.map} +1 -1
  60. package/dist/{chunk-56OUH3UF.js → chunk-YHAYMOXR.js} +3 -3
  61. package/dist/components/about-icon.d.ts +9 -0
  62. package/dist/components/about-icon.d.ts.map +1 -0
  63. package/dist/components/aspect-ratio.d.ts +4 -0
  64. package/dist/components/aspect-ratio.d.ts.map +1 -0
  65. package/dist/components/avatar.d.ts +7 -0
  66. package/dist/components/avatar.d.ts.map +1 -0
  67. package/dist/components/calendar.cjs +3 -3
  68. package/dist/components/calendar.js +2 -2
  69. package/dist/components/case-studies/index.cjs +15 -15
  70. package/dist/components/case-studies/index.js +5 -5
  71. package/dist/components/chart.d.ts +72 -0
  72. package/dist/components/chart.d.ts.map +1 -0
  73. package/dist/components/chat/index.cjs +5 -5
  74. package/dist/components/chat/index.js +4 -4
  75. package/dist/components/check-circle-icon.d.ts +7 -0
  76. package/dist/components/check-circle-icon.d.ts.map +1 -0
  77. package/dist/components/checkbox.d.ts +5 -0
  78. package/dist/components/checkbox.d.ts.map +1 -0
  79. package/dist/components/claude-icon.d.ts +6 -0
  80. package/dist/components/claude-icon.d.ts.map +1 -0
  81. package/dist/components/coins-icon.d.ts +9 -0
  82. package/dist/components/coins-icon.d.ts.map +1 -0
  83. package/dist/components/command.d.ts +81 -0
  84. package/dist/components/command.d.ts.map +1 -0
  85. package/dist/components/community-hub-icon.d.ts +9 -0
  86. package/dist/components/community-hub-icon.d.ts.map +1 -0
  87. package/dist/components/community-icon.d.ts +9 -0
  88. package/dist/components/community-icon.d.ts.map +1 -0
  89. package/dist/components/compare-icon.d.ts +9 -0
  90. package/dist/components/compare-icon.d.ts.map +1 -0
  91. package/dist/components/contact/index.cjs +6 -6
  92. package/dist/components/contact/index.js +5 -5
  93. package/dist/components/context-menu.d.ts +28 -0
  94. package/dist/components/context-menu.d.ts.map +1 -0
  95. package/dist/components/custom-external-link-icon.d.ts +9 -0
  96. package/dist/components/custom-external-link-icon.d.ts.map +1 -0
  97. package/dist/components/custom-fork-icon.d.ts +9 -0
  98. package/dist/components/custom-fork-icon.d.ts.map +1 -0
  99. package/dist/components/custom-icons.d.ts +8 -0
  100. package/dist/components/custom-icons.d.ts.map +1 -0
  101. package/dist/components/custom-license-icon.d.ts +9 -0
  102. package/dist/components/custom-license-icon.d.ts.map +1 -0
  103. package/dist/components/custom-star-icon.d.ts +9 -0
  104. package/dist/components/custom-star-icon.d.ts.map +1 -0
  105. package/dist/components/custom-time-icon.d.ts +9 -0
  106. package/dist/components/custom-time-icon.d.ts.map +1 -0
  107. package/dist/components/docs/index.cjs +8 -8
  108. package/dist/components/docs/index.js +7 -7
  109. package/dist/components/donut-icon.d.ts +4 -0
  110. package/dist/components/donut-icon.d.ts.map +1 -0
  111. package/dist/components/edit-profile-icon.d.ts +7 -0
  112. package/dist/components/edit-profile-icon.d.ts.map +1 -0
  113. package/dist/components/elestio-logo.d.ts +9 -0
  114. package/dist/components/elestio-logo.d.ts.map +1 -0
  115. package/dist/components/embeds/index.cjs +6 -6
  116. package/dist/components/embeds/index.js +5 -5
  117. package/dist/components/empty-vendor-icon.d.ts +7 -0
  118. package/dist/components/empty-vendor-icon.d.ts.map +1 -0
  119. package/dist/components/faq/index.cjs +7 -7
  120. package/dist/components/faq/index.js +6 -6
  121. package/dist/components/features/index.cjs +5 -5
  122. package/dist/components/features/index.js +4 -4
  123. package/dist/components/features/provider-button.d.ts +1 -1
  124. package/dist/components/features/provider-button.d.ts.map +1 -1
  125. package/dist/components/flamingo-logo.d.ts +9 -0
  126. package/dist/components/flamingo-logo.d.ts.map +1 -0
  127. package/dist/components/form.d.ts +26 -0
  128. package/dist/components/form.d.ts.map +1 -0
  129. package/dist/components/github-icon.d.ts +9 -0
  130. package/dist/components/github-icon.d.ts.map +1 -0
  131. package/dist/components/google-logo.d.ts +5 -0
  132. package/dist/components/google-logo.d.ts.map +1 -0
  133. package/dist/components/hamburger-icon.d.ts +9 -0
  134. package/dist/components/hamburger-icon.d.ts.map +1 -0
  135. package/dist/components/help-center-pages/index.cjs +26 -26
  136. package/dist/components/help-center-pages/index.js +17 -17
  137. package/dist/components/hubspot-icon.d.ts +7 -0
  138. package/dist/components/hubspot-icon.d.ts.map +1 -0
  139. package/dist/components/icon-utils.d.ts +7 -0
  140. package/dist/components/icon-utils.d.ts.map +1 -0
  141. package/dist/components/icons/apple-icon.d.ts +10 -0
  142. package/dist/components/icons/apple-icon.d.ts.map +1 -0
  143. package/dist/components/icons/index.cjs +4 -2
  144. package/dist/components/icons/index.cjs.map +1 -1
  145. package/dist/components/icons/index.d.ts +1 -0
  146. package/dist/components/icons/index.d.ts.map +1 -1
  147. package/dist/components/icons/index.js +3 -1
  148. package/dist/components/index.cjs +239 -285
  149. package/dist/components/index.cjs.map +1 -1
  150. package/dist/components/index.js +373 -419
  151. package/dist/components/index.js.map +1 -1
  152. package/dist/components/interactive-wrapper.d.ts +84 -0
  153. package/dist/components/interactive-wrapper.d.ts.map +1 -0
  154. package/dist/components/join-waitlist-button-stub.d.ts +10 -0
  155. package/dist/components/join-waitlist-button-stub.d.ts.map +1 -0
  156. package/dist/components/made-with-love.d.ts.map +1 -1
  157. package/dist/components/meeting-scheduler/index.cjs +48 -48
  158. package/dist/components/meeting-scheduler/index.js +7 -7
  159. package/dist/components/menu-icon.d.ts +9 -0
  160. package/dist/components/menu-icon.d.ts.map +1 -0
  161. package/dist/components/minus-circle-icon.d.ts +7 -0
  162. package/dist/components/minus-circle-icon.d.ts.map +1 -0
  163. package/dist/components/moon-icon.d.ts +9 -0
  164. package/dist/components/moon-icon.d.ts.map +1 -0
  165. package/dist/components/ms-icon.d.ts +9 -0
  166. package/dist/components/ms-icon.d.ts.map +1 -0
  167. package/dist/components/navigation/index.cjs +5 -5
  168. package/dist/components/navigation/index.js +4 -4
  169. package/dist/components/onboarding-guides/index.cjs +9 -9
  170. package/dist/components/onboarding-guides/index.js +8 -8
  171. package/dist/components/open-source-features.d.ts +1 -1
  172. package/dist/components/open-source-features.d.ts.map +1 -1
  173. package/dist/components/open-source-icon.d.ts +9 -0
  174. package/dist/components/open-source-icon.d.ts.map +1 -0
  175. package/dist/components/openframe-logo.d.ts +7 -0
  176. package/dist/components/openframe-logo.d.ts.map +1 -0
  177. package/dist/components/openmsp-logo.d.ts +11 -0
  178. package/dist/components/openmsp-logo.d.ts.map +1 -0
  179. package/dist/components/plus-circle-icon.d.ts +9 -0
  180. package/dist/components/plus-circle-icon.d.ts.map +1 -0
  181. package/dist/components/progress.d.ts +7 -0
  182. package/dist/components/progress.d.ts.map +1 -0
  183. package/dist/components/provider-button.d.ts +10 -0
  184. package/dist/components/provider-button.d.ts.map +1 -0
  185. package/dist/components/reddit-icon.d.ts +10 -0
  186. package/dist/components/reddit-icon.d.ts.map +1 -0
  187. package/dist/components/related-content/index.cjs +7 -7
  188. package/dist/components/related-content/index.js +6 -6
  189. package/dist/components/resizable.d.ts +24 -0
  190. package/dist/components/resizable.d.ts.map +1 -0
  191. package/dist/components/scroll-area.d.ts +13 -0
  192. package/dist/components/scroll-area.d.ts.map +1 -0
  193. package/dist/components/send-icon.d.ts +7 -0
  194. package/dist/components/send-icon.d.ts.map +1 -0
  195. package/dist/components/separator.d.ts +5 -0
  196. package/dist/components/separator.d.ts.map +1 -0
  197. package/dist/components/skeleton.d.ts +4 -0
  198. package/dist/components/skeleton.d.ts.map +1 -0
  199. package/dist/components/slack-icon.d.ts +9 -0
  200. package/dist/components/slack-icon.d.ts.map +1 -0
  201. package/dist/components/slider.d.ts +5 -0
  202. package/dist/components/slider.d.ts.map +1 -0
  203. package/dist/components/smooth-accordion.d.ts +12 -0
  204. package/dist/components/smooth-accordion.d.ts.map +1 -0
  205. package/dist/components/steps.d.ts +17 -0
  206. package/dist/components/steps.d.ts.map +1 -0
  207. package/dist/components/sun-icon.d.ts +9 -0
  208. package/dist/components/sun-icon.d.ts.map +1 -0
  209. package/dist/components/switch.d.ts +5 -0
  210. package/dist/components/switch.d.ts.map +1 -0
  211. package/dist/components/textarea.d.ts +6 -0
  212. package/dist/components/textarea.d.ts.map +1 -0
  213. package/dist/components/tickets/index.cjs +9 -9
  214. package/dist/components/tickets/index.js +8 -8
  215. package/dist/components/ui/button/button.d.ts +1 -1
  216. package/dist/components/ui/button/button.d.ts.map +1 -1
  217. package/dist/components/ui/file-manager/index.cjs +15 -15
  218. package/dist/components/ui/file-manager/index.js +1 -1
  219. package/dist/components/ui/index.cjs +5 -5
  220. package/dist/components/ui/index.js +4 -4
  221. package/dist/components/ui/pagination-stub.d.ts +6 -0
  222. package/dist/components/ui/pagination-stub.d.ts.map +1 -0
  223. package/dist/components/ui/responsive-icons-block-stub.d.ts +7 -0
  224. package/dist/components/ui/responsive-icons-block-stub.d.ts.map +1 -0
  225. package/dist/components/user-icon.d.ts +9 -0
  226. package/dist/components/user-icon.d.ts.map +1 -0
  227. package/dist/components/vendor-directory-icon.d.ts +9 -0
  228. package/dist/components/vendor-directory-icon.d.ts.map +1 -0
  229. package/dist/components/vendors-icon.d.ts +9 -0
  230. package/dist/components/vendors-icon.d.ts.map +1 -0
  231. package/dist/components/why-it-matters.d.ts +1 -1
  232. package/dist/components/why-it-matters.d.ts.map +1 -1
  233. package/dist/components/x-icon.d.ts +9 -0
  234. package/dist/components/x-icon.d.ts.map +1 -0
  235. package/dist/components/x-logo.d.ts +7 -0
  236. package/dist/components/x-logo.d.ts.map +1 -0
  237. package/dist/hooks/index.cjs +3 -3
  238. package/dist/hooks/index.js +2 -2
  239. package/dist/index.cjs +7 -5
  240. package/dist/index.cjs.map +1 -1
  241. package/dist/index.js +6 -4
  242. package/package.json +1 -1
  243. package/src/components/about-icon.tsx +29 -0
  244. package/src/components/aspect-ratio.tsx +7 -0
  245. package/src/components/avatar.tsx +40 -0
  246. package/src/components/chart.tsx +364 -0
  247. package/src/components/chat/chat-container.tsx +1 -1
  248. package/src/components/check-circle-icon.tsx +29 -0
  249. package/src/components/checkbox.tsx +30 -0
  250. package/src/components/claude-icon.tsx +24 -0
  251. package/src/components/coins-icon.tsx +29 -0
  252. package/src/components/command.tsx +153 -0
  253. package/src/components/community-hub-icon.tsx +27 -0
  254. package/src/components/community-icon.tsx +27 -0
  255. package/src/components/compare-icon.tsx +27 -0
  256. package/src/components/context-menu.tsx +200 -0
  257. package/src/components/custom-external-link-icon.tsx +33 -0
  258. package/src/components/custom-fork-icon.tsx +33 -0
  259. package/src/components/custom-icons.tsx +47 -0
  260. package/src/components/custom-license-icon.tsx +33 -0
  261. package/src/components/custom-star-icon.tsx +29 -0
  262. package/src/components/custom-time-icon.tsx +33 -0
  263. package/src/components/donut-icon.tsx +21 -0
  264. package/src/components/edit-profile-icon.tsx +23 -0
  265. package/src/components/elestio-logo.tsx +67 -0
  266. package/src/components/empty-vendor-icon.tsx +44 -0
  267. package/src/components/features/auth-providers-list.tsx +1 -1
  268. package/src/components/features/platform-badge.tsx +2 -2
  269. package/src/components/features/provider-button.tsx +6 -2
  270. package/src/components/flamingo-logo.tsx +27 -0
  271. package/src/components/form.tsx +138 -0
  272. package/src/components/github-icon.tsx +26 -0
  273. package/src/components/google-logo.tsx +32 -0
  274. package/src/components/hamburger-icon.tsx +29 -0
  275. package/src/components/hubspot-icon.tsx +20 -0
  276. package/src/components/icon-utils.tsx +36 -0
  277. package/src/components/icons/apple-icon.tsx +30 -0
  278. package/src/components/icons/index.ts +1 -0
  279. package/src/components/interactive-wrapper.tsx +336 -0
  280. package/src/components/join-waitlist-button-stub.tsx +30 -0
  281. package/src/components/loading/openmsp-heartbeat.tsx +1 -1
  282. package/src/components/made-with-love.tsx +3 -4
  283. package/src/components/menu-icon.tsx +22 -0
  284. package/src/components/minus-circle-icon.tsx +28 -0
  285. package/src/components/moon-icon.tsx +26 -0
  286. package/src/components/ms-icon.tsx +31 -0
  287. package/src/components/open-source-features.tsx +1 -1
  288. package/src/components/open-source-icon.tsx +27 -0
  289. package/src/components/openframe-logo.tsx +46 -0
  290. package/src/components/openmsp-logo.tsx +36 -0
  291. package/src/components/plus-circle-icon.tsx +30 -0
  292. package/src/components/progress.tsx +27 -0
  293. package/src/components/provider-button.tsx +40 -0
  294. package/src/components/reddit-icon.tsx +50 -0
  295. package/src/components/resizable.tsx +45 -0
  296. package/src/components/scroll-area.tsx +49 -0
  297. package/src/components/send-icon.tsx +26 -0
  298. package/src/components/separator.tsx +22 -0
  299. package/src/components/skeleton.tsx +8 -0
  300. package/src/components/slack-icon.tsx +43 -0
  301. package/src/components/slider.tsx +28 -0
  302. package/src/components/smooth-accordion.tsx +124 -0
  303. package/src/components/steps.tsx +98 -0
  304. package/src/components/sun-icon.tsx +27 -0
  305. package/src/components/switch.tsx +29 -0
  306. package/src/components/textarea.tsx +22 -0
  307. package/src/components/ui/button/button.tsx +9 -0
  308. package/src/components/ui/pagination-stub.tsx +38 -0
  309. package/src/components/ui/responsive-icons-block-stub.tsx +14 -0
  310. package/src/components/user-icon.tsx +33 -0
  311. package/src/components/vendor-directory-icon.tsx +27 -0
  312. package/src/components/vendor-tag.tsx +1 -1
  313. package/src/components/vendors-icon.tsx +27 -0
  314. package/src/components/why-it-matters.tsx +1 -1
  315. package/src/components/x-icon.tsx +29 -0
  316. package/src/components/x-logo.tsx +22 -0
  317. package/dist/chunk-BXRB4MQI.cjs.map +0 -1
  318. package/dist/chunk-JLO2O5R4.js.map +0 -1
  319. package/dist/chunk-NJADHL2G.cjs.map +0 -1
  320. package/dist/chunk-UBTOOE55.js.map +0 -1
  321. package/dist/chunk-XURRAFIB.js.map +0 -1
  322. /package/dist/{chunk-MIFJLUZK.js.map → chunk-2ZHVOTSA.js.map} +0 -0
  323. /package/dist/{chunk-5KBQECAY.js.map → chunk-6EAACE7G.js.map} +0 -0
  324. /package/dist/{chunk-IVTENGMF.js.map → chunk-7J4DGFHZ.js.map} +0 -0
  325. /package/dist/{chunk-FXT2OZ5Q.js.map → chunk-BBI7GD2Q.js.map} +0 -0
  326. /package/dist/{chunk-MEXZZOBO.js.map → chunk-CV624KM6.js.map} +0 -0
  327. /package/dist/{chunk-P63LOLTB.js.map → chunk-FISSR67K.js.map} +0 -0
  328. /package/dist/{chunk-FS3YSNSU.js.map → chunk-GS4HJA2G.js.map} +0 -0
  329. /package/dist/{chunk-NBJ7L65H.js.map → chunk-J2JLAW2J.js.map} +0 -0
  330. /package/dist/{chunk-ZKVARGSO.js.map → chunk-MY7663CW.js.map} +0 -0
  331. /package/dist/{chunk-WI4XHZ2B.js.map → chunk-QOUKB6OJ.js.map} +0 -0
  332. /package/dist/{chunk-AI7WIW4E.js.map → chunk-QPCPYCU2.js.map} +0 -0
  333. /package/dist/{chunk-Z3ADCYC5.js.map → chunk-RCBRCZUF.js.map} +0 -0
  334. /package/dist/{chunk-KP4JRPUE.js.map → chunk-V3K5H4I2.js.map} +0 -0
  335. /package/dist/{chunk-43ZZYJ3M.js.map → chunk-V76TAQ3O.js.map} +0 -0
  336. /package/dist/{chunk-XZ6WTSVQ.js.map → chunk-VCA3HNJ2.js.map} +0 -0
  337. /package/dist/{chunk-56OUH3UF.js.map → chunk-YHAYMOXR.js.map} +0 -0
@@ -0,0 +1,336 @@
1
+ "use client";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { useInteractiveState } from '../hooks/use-interactive-state';
5
+ import { cn } from "../utils/cn";
6
+
7
+ interface InteractiveOptions {
8
+ enableHover?: boolean;
9
+ enableFocus?: boolean;
10
+ enablePress?: boolean;
11
+ enableRipple?: boolean;
12
+ enableAnimations?: boolean;
13
+ enableColorShifts?: boolean;
14
+ enableAccessibilityEnhancements?: boolean;
15
+ animations?: boolean;
16
+ enableHapticFeedback?: boolean;
17
+ }
18
+
19
+ interface InteractiveWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
20
+ /**
21
+ * Interactive state options
22
+ */
23
+ interactive?: InteractiveOptions;
24
+
25
+ /**
26
+ * Element type to render
27
+ */
28
+ as?: keyof React.JSX.IntrinsicElements;
29
+
30
+ /**
31
+ * Whether to render ripple effect
32
+ */
33
+ showRipple?: boolean;
34
+
35
+ /**
36
+ * Custom ripple color
37
+ */
38
+ rippleColor?: string;
39
+
40
+ /**
41
+ * Accessibility role
42
+ */
43
+ role?: string;
44
+
45
+ /**
46
+ * Whether element should be focusable
47
+ */
48
+ focusable?: boolean;
49
+
50
+ /**
51
+ * Loading state
52
+ */
53
+ loading?: boolean;
54
+
55
+ /**
56
+ * Disabled state
57
+ */
58
+ disabled?: boolean;
59
+
60
+ /**
61
+ * Active state
62
+ */
63
+ active?: boolean;
64
+
65
+ /**
66
+ * Callback for state changes
67
+ */
68
+ onStateChange?: (state: any) => void;
69
+ }
70
+
71
+ export const InteractiveWrapper = forwardRef<HTMLElement, InteractiveWrapperProps>(({
72
+ interactive = {},
73
+ as = 'div',
74
+ showRipple = true,
75
+ rippleColor,
76
+ role,
77
+ focusable = false,
78
+ loading = false,
79
+ disabled = false,
80
+ active = false,
81
+ onStateChange,
82
+ className,
83
+ children,
84
+ onClick,
85
+ ...props
86
+ }, ref) => {
87
+ const {
88
+ state,
89
+ handlers,
90
+ getStateStyles,
91
+ getStateClasses,
92
+ ripplePosition,
93
+ setLoading,
94
+ setDisabled,
95
+ ref: interactiveRef
96
+ } = useInteractiveState();
97
+
98
+ // Update loading and disabled states
99
+ React.useEffect(() => {
100
+ setLoading(loading);
101
+ }, [loading, setLoading]);
102
+
103
+ React.useEffect(() => {
104
+ setDisabled(disabled);
105
+ }, [disabled, setDisabled]);
106
+
107
+ // Notify parent of state changes
108
+ React.useEffect(() => {
109
+ if (onStateChange) {
110
+ onStateChange(state);
111
+ }
112
+ }, [state, onStateChange]);
113
+
114
+ // Merge refs
115
+ React.useEffect(() => {
116
+ if (ref) {
117
+ if (typeof ref === 'function') {
118
+ ref(interactiveRef.current);
119
+ } else {
120
+ ref.current = interactiveRef.current;
121
+ }
122
+ }
123
+ }, [ref, interactiveRef]);
124
+
125
+ const Component = as as any;
126
+
127
+ const mergedHandlers = {
128
+ ...handlers,
129
+ onClick: (event: React.MouseEvent<HTMLDivElement>) => {
130
+ handlers.onClick();
131
+ if (onClick && !event.defaultPrevented) {
132
+ onClick(event);
133
+ }
134
+ }
135
+ };
136
+
137
+ const computedClassName = cn(
138
+ 'interactive-wrapper',
139
+ 'relative overflow-hidden transition-all duration-200',
140
+ getStateClasses(),
141
+ focusable && 'focus:outline-none',
142
+ className
143
+ );
144
+
145
+ return (
146
+ <Component
147
+ ref={interactiveRef}
148
+ className={computedClassName}
149
+ style={{ ...getStateStyles(), ...props.style }}
150
+ role={role}
151
+ tabIndex={focusable ? 0 : undefined}
152
+ aria-disabled={disabled}
153
+ aria-busy={loading}
154
+ aria-pressed={active}
155
+ {...mergedHandlers}
156
+ {...props}
157
+ >
158
+ {children}
159
+
160
+ {/* Ripple Effect */}
161
+ {showRipple && ripplePosition && (
162
+ <RippleEffect
163
+ x={ripplePosition.x}
164
+ y={ripplePosition.y}
165
+ color={rippleColor}
166
+ />
167
+ )}
168
+
169
+ {/* Loading Overlay */}
170
+ {loading && (
171
+ <div className="absolute inset-0 bg-current opacity-10 animate-pulse pointer-events-none" />
172
+ )}
173
+ </Component>
174
+ );
175
+ });
176
+
177
+ InteractiveWrapper.displayName = 'InteractiveWrapper';
178
+
179
+ /**
180
+ * Ripple effect component
181
+ */
182
+ function RippleEffect({
183
+ x,
184
+ y,
185
+ color = 'currentColor'
186
+ }: {
187
+ x: number;
188
+ y: number;
189
+ color?: string;
190
+ }) {
191
+ return (
192
+ <div
193
+ className="absolute pointer-events-none"
194
+ style={{
195
+ left: x,
196
+ top: y,
197
+ transform: 'translate(-50%, -50%)',
198
+ }}
199
+ >
200
+ <div
201
+ className="w-2 h-2 rounded-full animate-ping"
202
+ style={{
203
+ backgroundColor: color,
204
+ opacity: 0.3,
205
+ animationDuration: '0.6s',
206
+ animationTimingFunction: 'cubic-bezier(0, 0, 0.2, 1)',
207
+ transform: 'scale(0)',
208
+ animation: 'ripple-expand 0.6s cubic-bezier(0, 0, 0.2, 1)'
209
+ }}
210
+ />
211
+ </div>
212
+ );
213
+ }
214
+
215
+ /**
216
+ * Pre-configured interactive components
217
+ */
218
+ export const InteractivePresets = {
219
+ /**
220
+ * Card with hover and click interactions
221
+ */
222
+ Card: forwardRef<HTMLDivElement, Omit<InteractiveWrapperProps, 'interactive'>>((props, ref) => (
223
+ <InteractiveWrapper
224
+ ref={ref}
225
+ interactive={{
226
+ enableAnimations: true,
227
+ enableColorShifts: true,
228
+ animations: true
229
+ }}
230
+ className={cn('bg-ods-card border border-ods-border rounded-lg p-4', props.className)}
231
+ focusable={true}
232
+ role="button"
233
+ {...props}
234
+ />
235
+ )),
236
+
237
+ /**
238
+ * Button-like interactive element
239
+ */
240
+ Button: forwardRef<HTMLButtonElement, Omit<InteractiveWrapperProps, 'interactive' | 'as'>>((props, ref) => (
241
+ <InteractiveWrapper
242
+ ref={ref}
243
+ as="button"
244
+ interactive={{
245
+ enableAnimations: true,
246
+ enableColorShifts: true,
247
+ enableAccessibilityEnhancements: true,
248
+ enableHapticFeedback: true,
249
+ animations: true
250
+ }}
251
+ className={cn('bg-ods-accent text-ods-text-on-accent px-4 py-2 rounded-md font-medium', props.className)}
252
+ role="button"
253
+ {...props}
254
+ />
255
+ )),
256
+
257
+ /**
258
+ * Navigation item with subtle interactions
259
+ */
260
+ NavItem: forwardRef<HTMLAnchorElement, Omit<InteractiveWrapperProps, 'interactive' | 'as'>>((props, ref) => (
261
+ <InteractiveWrapper
262
+ ref={ref}
263
+ as="a"
264
+ interactive={{
265
+ enableAnimations: true,
266
+ enableColorShifts: true,
267
+ animations: true
268
+ }}
269
+ className={cn('block px-3 py-2 rounded-md text-ods-text-secondary hover:text-ods-text-primary', props.className)}
270
+ focusable={true}
271
+ {...props}
272
+ />
273
+ )),
274
+
275
+ /**
276
+ * Input field with enhanced focus states
277
+ */
278
+ Input: forwardRef<HTMLInputElement, Omit<InteractiveWrapperProps, 'interactive' | 'as'>>((props, ref) => (
279
+ <InteractiveWrapper
280
+ ref={ref}
281
+ as="input"
282
+ interactive={{
283
+ enableAnimations: false,
284
+ enableColorShifts: true,
285
+ enableAccessibilityEnhancements: true,
286
+ animations: true
287
+ }}
288
+ className={cn('w-full px-3 py-2 bg-ods-bg border border-ods-border rounded-md text-ods-text-primary', props.className)}
289
+ focusable={true}
290
+ {...props}
291
+ />
292
+ )),
293
+
294
+ /**
295
+ * Toggle switch with visual feedback
296
+ */
297
+ Toggle: forwardRef<HTMLDivElement, Omit<InteractiveWrapperProps, 'interactive'> & { checked?: boolean }>((props, ref) => {
298
+ const { checked, ...restProps } = props;
299
+
300
+ return (
301
+ <InteractiveWrapper
302
+ ref={ref}
303
+ interactive={{
304
+ enableAnimations: true,
305
+ enableColorShifts: true,
306
+ enableHapticFeedback: true,
307
+ animations: true
308
+ }}
309
+ className={cn(
310
+ 'relative inline-flex w-12 h-6 rounded-full cursor-pointer transition-colors',
311
+ checked ? 'bg-ods-accent' : 'bg-ods-border',
312
+ props.className
313
+ )}
314
+ role="switch"
315
+ aria-checked={checked}
316
+ focusable={true}
317
+ {...restProps}
318
+ >
319
+ <div
320
+ className={cn(
321
+ 'inline-block w-5 h-5 rounded-full bg-white transform transition-transform',
322
+ checked ? 'translate-x-6' : 'translate-x-0.5',
323
+ 'mt-0.5'
324
+ )}
325
+ />
326
+ </InteractiveWrapper>
327
+ );
328
+ })
329
+ };
330
+
331
+ // Export individual preset components with display names
332
+ InteractivePresets.Card.displayName = 'InteractiveCard';
333
+ InteractivePresets.Button.displayName = 'InteractiveButton';
334
+ InteractivePresets.NavItem.displayName = 'InteractiveNavItem';
335
+ InteractivePresets.Input.displayName = 'InteractiveInput';
336
+ InteractivePresets.Toggle.displayName = 'InteractiveToggle';
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { Button } from './ui/button';
3
+
4
+ export interface JoinWaitlistButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
5
+ lowerPathColor?: string;
6
+ upperPathColor?: string;
7
+ buttonBackgroundColor?: string;
8
+ buttonTextColor?: string;
9
+ loading?: boolean;
10
+ }
11
+
12
+ export const JoinWaitlistButton = React.forwardRef<HTMLButtonElement, JoinWaitlistButtonProps>(
13
+ ({ className, lowerPathColor, upperPathColor, buttonBackgroundColor, buttonTextColor, children, ...props }, ref) => {
14
+ return (
15
+ <Button
16
+ ref={ref}
17
+ className={className}
18
+ style={{
19
+ backgroundColor: buttonBackgroundColor,
20
+ color: buttonTextColor
21
+ }}
22
+ {...props}
23
+ >
24
+ {children || 'Join Waitlist'}
25
+ </Button>
26
+ );
27
+ }
28
+ );
29
+
30
+ JoinWaitlistButton.displayName = "JoinWaitlistButton";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import React from 'react';
4
- import { OpenmspLogo } from '../icons/openmsp-logo';
4
+ import { OpenmspLogo } from '../openmsp-logo';
5
5
 
6
6
  export function OpenmspHeartbeatLoader({ className = '', progress = 0, label, barWidth = 'w-128' }: { className?: string; progress?: number; label?: string; barWidth?: string }) {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
 
3
3
  import React, { useState, useEffect } from 'react';
4
- import { FlamingoLogo } from './icons/flamingo-logo';
4
+ import { FlamingoLogo } from './flamingo-logo';
5
5
  import { getBaseUrl } from '../utils';
6
6
 
7
7
  interface MadeWithLoveProps {
@@ -117,9 +117,8 @@ export function MadeWithLove({
117
117
  >
118
118
  <div style={logoStyle}>
119
119
  <FlamingoLogo
120
- width={config.logoSize}
121
- height={config.logoSize}
122
- fill="#f357bb" // Direct hex instead of CSS variable for cross-framework compatibility
120
+ size={config.logoSize}
121
+ color="#f357bb" // Direct hex instead of CSS variable for cross-framework compatibility
123
122
  />
124
123
  </div>
125
124
  <span style={textStyle}>Flamingo</span>
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { Menu } from 'lucide-react';
3
+
4
+ interface MenuIconProps {
5
+ className?: string;
6
+ width?: number;
7
+ height?: number;
8
+ }
9
+
10
+ export const MenuIcon: React.FC<MenuIconProps> = ({
11
+ className = "",
12
+ width = 24,
13
+ height = 24
14
+ }) => {
15
+ return (
16
+ <Menu
17
+ width={width}
18
+ height={height}
19
+ className={className}
20
+ />
21
+ );
22
+ };
@@ -0,0 +1,28 @@
1
+ import React from 'react'
2
+
3
+ interface MinusCircleIconProps extends React.SVGProps<SVGSVGElement> {
4
+ className?: string
5
+ }
6
+
7
+ export function MinusCircleIcon({ className, ...props }: MinusCircleIconProps) {
8
+ return (
9
+ <svg
10
+ width="24"
11
+ height="24"
12
+ viewBox="0 0 24 24"
13
+ fill="none"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ className={className}
16
+ {...props}
17
+ >
18
+ <path
19
+ d="M20.8745 12.0005C20.8745 7.09912 16.9018 3.12526 12.0005 3.125C7.09896 3.125 3.125 7.09896 3.125 12.0005C3.12526 16.9018 7.09912 20.8745 12.0005 20.8745C16.9016 20.8742 20.8742 16.9016 20.8745 12.0005ZM23.1245 12.0005C23.1242 18.1443 18.1443 23.1242 12.0005 23.1245C5.85648 23.1245 0.875264 18.1444 0.875 12.0005C0.875 5.85632 5.85632 0.875 12.0005 0.875C18.1444 0.875264 23.1245 5.85648 23.1245 12.0005Z"
20
+ fill="#888888"
21
+ />
22
+ <path
23
+ d="M15.9995 10.875L16.1152 10.8809C16.6824 10.9386 17.1245 11.4176 17.1245 12C17.1245 12.5824 16.6824 13.0614 16.1152 13.1191L15.9995 13.125H8C7.37868 13.125 6.875 12.6213 6.875 12C6.875 11.3787 7.37868 10.875 8 10.875H15.9995Z"
24
+ fill="#888888"
25
+ />
26
+ </svg>
27
+ )
28
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+
3
+ interface MoonIconProps {
4
+ className?: string;
5
+ width?: number;
6
+ height?: number;
7
+ }
8
+
9
+ export const MoonIcon: React.FC<MoonIconProps> = ({
10
+ className = "",
11
+ width = 23,
12
+ height = 24
13
+ }) => {
14
+ return (
15
+ <svg
16
+ width={width}
17
+ height={height}
18
+ viewBox="0 0 23 24"
19
+ fill="none"
20
+ xmlns="http://www.w3.org/2000/svg"
21
+ className={className}
22
+ >
23
+ <path d="M9.37549 6.69626C9.3755 5.53929 9.55702 4.42358 9.89404 3.37692C6.00935 4.32228 3.125 7.82461 3.125 12.0005C3.12514 16.9019 7.09905 20.8745 12.0005 20.8745C14.846 20.8743 17.3791 19.5349 19.0039 17.4497C13.5887 16.856 9.37549 12.2696 9.37549 6.69626ZM11.6255 6.69626C11.6255 11.43 15.4626 15.2671 20.1963 15.2671C20.4368 15.2671 20.6747 15.2571 20.9097 15.2378C21.3123 15.2046 21.7024 15.3908 21.9307 15.7241C22.1587 16.0573 22.1904 16.4872 22.0142 16.8506C20.2135 20.5621 16.4075 23.1243 12.0005 23.1245C5.85641 23.1245 0.875136 18.1445 0.875 12.0005C0.875 5.96445 5.68179 1.05079 11.6768 0.879363C12.0807 0.867855 12.4598 1.07472 12.6699 1.41989C12.8797 1.76491 12.8889 2.19599 12.6934 2.54928C12.0132 3.77703 11.6255 5.18981 11.6255 6.69626Z" fill="currentColor"/>
24
+ </svg>
25
+ );
26
+ };
@@ -0,0 +1,31 @@
1
+ import React from 'react'
2
+
3
+ interface MsIconProps {
4
+ width?: number | string
5
+ height?: number | string
6
+ className?: string
7
+ }
8
+
9
+ export function MicrosoftIcon({
10
+ width = 24,
11
+ height = 24,
12
+ className = "text-current"
13
+ }: MsIconProps) {
14
+ return (
15
+ <svg
16
+ width={24}
17
+ height={24}
18
+ viewBox="0 0 24 24"
19
+ fill="none"
20
+ xmlns="http://www.w3.org/2000/svg"
21
+ className={className}
22
+ >
23
+ <g>
24
+ <path d="M11.5047 11.5032H2V2H11.5047V11.5032Z" fill="#F1511B"/>
25
+ <path d="M22.0002 11.5032H12.4946V2H21.9993V11.5032H22.0002Z" fill="#80CC28"/>
26
+ <path d="M11.5047 21.9993H2V12.4961H11.5047V21.9993Z" fill="#00ADEF"/>
27
+ <path d="M22.0002 21.9993H12.4946V12.4961H21.9993V21.9993H22.0002Z" fill="#FBBC09"/>
28
+ </g>
29
+ </svg>
30
+ )
31
+ }
@@ -33,7 +33,7 @@ const FeatureCard: React.FC<FeatureCardProps> = ({ icon, title, description }) =
33
33
  );
34
34
  };
35
35
 
36
- export const OpenSourceFeatures: React.FC = () => {
36
+ const OpenSourceFeatures: React.FC = () => {
37
37
  const features = [
38
38
  {
39
39
  icon: <Terminal className="w-6 h-6" />,
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+
3
+ interface OpenSourceIconProps {
4
+ className?: string;
5
+ width?: number;
6
+ height?: number;
7
+ }
8
+
9
+ export const OpenSourceIcon: React.FC<OpenSourceIconProps> = ({
10
+ className = "",
11
+ width = 19,
12
+ height = 18
13
+ }) => {
14
+ return (
15
+ <svg
16
+ width={width}
17
+ height={height}
18
+ viewBox="0 0 19 18"
19
+ fill="none"
20
+ xmlns="http://www.w3.org/2000/svg"
21
+ className={className}
22
+ >
23
+ <path d="M10.1103 1.20504C10.2596 0.753862 10.729 0.479825 11.2029 0.584919C11.7083 0.697238 12.0269 1.19887 11.9145 1.7043L8.58202 16.7043C8.46953 17.2095 7.96794 17.5283 7.46264 17.416C6.95742 17.3035 6.63868 16.8019 6.75097 16.2966L10.0847 1.29659L10.1103 1.20504Z" fill="currentColor"/>
24
+ <path d="M4.50325 4.17094C4.86929 3.80489 5.4628 3.80502 5.82893 4.17094C6.19505 4.53705 6.19505 5.1305 5.82893 5.49662L2.32429 9.00004L5.82893 12.5047L5.89363 12.5755C6.19397 12.9437 6.17217 13.4871 5.82893 13.8304C5.48568 14.1732 4.94335 14.194 4.57527 13.8938L4.50325 13.8304L0.336986 9.66288C-0.0289274 9.29675 -0.029063 8.70325 0.336986 8.3372L4.50325 4.17094ZM12.837 4.17094C13.1802 3.82768 13.7236 3.80585 14.0919 4.10624L14.1627 4.17094L18.3289 8.3372C18.695 8.70331 18.695 9.29676 18.3289 9.66288L14.1627 13.8304C13.7966 14.1962 13.2031 14.1962 12.837 13.8304C12.4709 13.4643 12.4711 12.8708 12.837 12.5047L16.3404 9.00004L12.837 5.49662L12.7723 5.42582C12.4719 5.05759 12.4937 4.51419 12.837 4.17094Z" fill="currentColor"/>
25
+ </svg>
26
+ );
27
+ };
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+
3
+ export const OpenFrameLogo = ({ className, lowerPathColor, upperPathColor, ...props }: { className?: string, lowerPathColor?: string, upperPathColor?: string } & React.SVGProps<SVGSVGElement>) => {
4
+ return (
5
+ <svg
6
+ {...props}
7
+ className={className}
8
+ width="32"
9
+ height="32"
10
+ viewBox="0 0 32 32"
11
+ fill="none"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ style={{
14
+ '--fill-0': 'currentColor',
15
+ ...props.style
16
+ } as React.CSSProperties}
17
+ >
18
+ <g>
19
+ <g>
20
+ {/* White squares - top right, bottom left, bottom right, bottom center */}
21
+ <path
22
+ d="M21.3333 16.5333C21.3333 16.2388 21.5721 16 21.8667 16H26.1333C26.4279 16 26.6667 16.2388 26.6667 16.5333V20.8C26.6667 21.0946 26.4279 21.3333 26.1333 21.3333H21.8667C21.5721 21.3333 21.3333 21.0946 21.3333 20.8V16.5333Z"
23
+ fill={lowerPathColor ?? '#ffffff'}
24
+ />
25
+ <path
26
+ d="M16 21.8667C16 21.5721 16.2388 21.3333 16.5333 21.3333H20.8C21.0946 21.3333 21.3333 21.5721 21.3333 21.8667V26.1333C21.3333 26.4279 21.0946 26.6667 20.8 26.6667H16.5333C16.2388 26.6667 16 26.4279 16 26.1333V21.8667Z"
27
+ fill={lowerPathColor ?? '#ffffff'}
28
+ />
29
+ <path
30
+ d="M26.6667 21.8667C26.6667 21.5721 26.9054 21.3333 27.2 21.3333H31.4667C31.7612 21.3333 32 21.5721 32 21.8667V26.1333C32 26.4279 31.7612 26.6667 31.4667 26.6667H27.2C26.9054 26.6667 26.6667 26.4279 26.6667 26.1333V21.8667Z"
31
+ fill={lowerPathColor ?? '#ffffff'}
32
+ />
33
+ <path
34
+ d="M21.3333 27.2C21.3333 26.9054 21.5721 26.6667 21.8667 26.6667H26.1333C26.4279 26.6667 26.6667 26.9054 26.6667 27.2V31.4667C26.6667 31.7612 26.4279 32 26.1333 32H21.8667C21.5721 32 21.3333 31.7612 21.3333 31.4667V27.2Z"
35
+ fill={lowerPathColor ?? '#ffffff'}
36
+ />
37
+ </g>
38
+ {/* Black frame/border */}
39
+ <path
40
+ d="M30.9333 0H1.06667C0.477563 0 0 0.477564 0 1.06667V30.9333C0 31.5224 0.477563 32 1.06667 32H14.9333C15.5224 32 16 31.5224 16 30.9333V27.7333C16 27.1442 15.5224 26.6667 14.9333 26.6667H5.86667C5.57211 26.6667 5.33333 26.4279 5.33333 26.1333V5.86667C5.33333 5.57211 5.57211 5.33333 5.86667 5.33333H26.1333C26.4279 5.33333 26.6667 5.57212 26.6667 5.86667V14.9333C26.6667 15.5224 27.1442 16 27.7333 16H30.9333C31.5224 16 32 15.5224 32 14.9333V1.06667C32 0.477563 31.5224 0 30.9333 0Z"
41
+ fill={upperPathColor ?? '#1A1A1A'}
42
+ />
43
+ </g>
44
+ </svg>
45
+ );
46
+ };
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+
3
+ interface OpenmspLogoProps extends React.SVGProps<SVGSVGElement> {
4
+ className?: string;
5
+ frontBubbleColor?: string;
6
+ innerFrontBubbleColor?: string;
7
+ backBubbleColor?: string;
8
+ color?: string;
9
+ }
10
+
11
+ export function OpenmspLogo({ className = '', frontBubbleColor = '#000000', innerFrontBubbleColor = '#ffffff', backBubbleColor = '#ffffff', ...props }: OpenmspLogoProps) {
12
+ return (
13
+ <svg
14
+ width="97"
15
+ height="96"
16
+ viewBox="0 0 97 96"
17
+ fill="none"
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ className={className}
20
+ {...props}
21
+ >
22
+ <path
23
+ d="M73.933 0C75.7003 0 77.133 1.43269 77.133 3.2V54.4C77.133 56.1673 75.7003 57.6 73.933 57.6H3.53301C1.7657 57.6 0.333008 56.1673 0.333008 54.4V3.2C0.333008 1.43269 1.7657 0 3.53301 0H73.933ZM10.1076 47.6494C10.1076 48.0912 10.4658 48.4494 10.9076 48.4494H66.5584C67.0002 48.4494 67.3584 48.0912 67.3584 47.6494V9.95059C67.3584 9.50876 67.0002 9.15059 66.5584 9.15059H10.9076C10.4658 9.15059 10.1076 9.50876 10.1076 9.95059V47.6494Z"
24
+ fill={backBubbleColor} />
25
+ <path
26
+ d="M19.5332 22.4C19.5332 20.6326 20.9659 19.2 22.7332 19.2H93.1332C94.9005 19.2 96.3332 20.6326 96.3332 22.4V76.8C96.3332 78.2222 95.3945 79.4737 94.0292 79.8719L39.7572 95.7013C39.2452 95.8506 38.7332 95.4666 38.7332 94.9333V80C38.7332 79.5581 38.375 79.2 37.9332 79.2H22.7332C20.9659 79.2 19.5332 77.7673 19.5332 76V22.4Z"
27
+ fill={innerFrontBubbleColor} />
28
+ <path
29
+ d="M93.1332 19.2C94.9005 19.2 96.3332 20.6326 96.3332 22.4V76.8C96.3332 78.2222 95.3945 79.4737 94.0292 79.8719L39.7572 95.7013C39.2452 95.8506 38.7332 95.4666 38.7332 94.9333V80C38.7332 79.5581 38.375 79.2 37.9332 79.2H22.7332C20.9659 79.2 19.5332 77.7673 19.5332 76V22.4C19.5332 20.6326 20.9659 19.2 22.7332 19.2H93.1332ZM48.3377 82.1286C48.3355 82.6633 48.8484 83.0497 49.3617 82.9L86.1572 72.1672C86.4985 72.0676 86.7332 71.7547 86.7332 71.3992V29.6C86.7332 29.1581 86.375 28.8 85.9332 28.8H29.9332C29.4914 28.8 29.1332 29.1581 29.1332 29.6V68.8C29.1332 69.2418 29.4914 69.6 29.9332 69.6H47.5869C48.03 69.6 48.3887 69.9602 48.3869 70.4033L48.3377 82.1286Z"
30
+ fill={frontBubbleColor} />
31
+ <circle
32
+ cx="45.1334" cy="44.8" r="6.4"
33
+ fill={frontBubbleColor} />
34
+ </svg>
35
+ );
36
+ }
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+
3
+ interface PlusCircleIconProps extends React.SVGProps<SVGSVGElement> {
4
+ className?: string
5
+ whiteOverlay?: boolean
6
+ iconSize?: number
7
+ }
8
+
9
+ export function PlusCircleIcon({ className, whiteOverlay = false, iconSize = 24, ...props }: PlusCircleIconProps) {
10
+ return (
11
+ <svg
12
+ width={iconSize}
13
+ height={iconSize}
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ className={className}
18
+ {...props}
19
+ >
20
+ <path
21
+ d="M20.8745 12.0005C20.8745 7.09912 16.9018 3.12526 12.0005 3.125C7.09896 3.125 3.125 7.09896 3.125 12.0005C3.12526 16.9018 7.09912 20.8745 12.0005 20.8745C16.9016 20.8742 20.8742 16.9016 20.8745 12.0005ZM23.1245 12.0005C23.1242 18.1443 18.1443 23.1242 12.0005 23.1245C5.85648 23.1245 0.875264 18.1444 0.875 12.0005C0.875 5.85632 5.85632 0.875 12.0005 0.875C18.1444 0.875264 23.1245 5.85648 23.1245 12.0005Z"
22
+ fill={whiteOverlay ? "white" : "#5EA62E"}
23
+ />
24
+ <path
25
+ d="M10.8755 15.9995V13.1255H8C7.37884 13.1255 6.87526 12.6216 6.875 12.0005C6.875 11.3792 7.37868 10.8755 8 10.8755H10.8755V8C10.8755 7.37868 11.3792 6.875 12.0005 6.875C12.6216 6.87526 13.1255 7.37884 13.1255 8V10.8755H15.9995L16.1152 10.8813C16.6824 10.9391 17.1245 11.4181 17.1245 12.0005C17.1243 12.5827 16.6823 13.062 16.1152 13.1196L15.9995 13.1255H13.1255V15.9995C13.1255 16.6207 12.6216 17.1242 12.0005 17.1245C11.3792 17.1245 10.8755 16.6208 10.8755 15.9995Z"
26
+ fill={whiteOverlay ? "white" : "#5EA62E"}
27
+ />
28
+ </svg>
29
+ )
30
+ }