@heyramzi/ui 3.4.0 → 3.6.0
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.
- package/COMPONENTS.md +2 -0
- package/dist/ai/chat-window/icons.js +43 -0
- package/dist/ai/chat-window/index.js +5 -0
- package/dist/ai/chat-window/labels.js +16 -0
- package/dist/ai/chat-window/reveal.svelte.js +106 -0
- package/dist/ai/chat-window/types.js +4 -0
- package/dist/components/copy/clipboard.js +3 -3
- package/dist/components/flag/codes.js +13 -0
- package/dist/components/flag/index.js +2 -0
- package/dist/slides/export/pdf.js +7 -0
- package/dist/vite/flags.js +46 -0
- package/package.json +7 -2
- package/src/ai/chat-window/ChatGlyph.svelte +38 -0
- package/src/ai/chat-window/ChatGlyph.svelte.d.ts +9 -0
- package/src/ai/chat-window/ChatGptWindow.svelte +636 -0
- package/src/ai/chat-window/ChatGptWindow.svelte.d.ts +25 -0
- package/src/ai/chat-window/ClaudeWindow.svelte +668 -0
- package/src/ai/chat-window/ClaudeWindow.svelte.d.ts +25 -0
- package/src/ai/chat-window/chat-window.test.ts +80 -0
- package/src/ai/chat-window/icons/LICENSE +24 -0
- package/src/ai/chat-window/icons/chatgpt-chevron.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-copy.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-mic.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-more.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-plus.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-regenerate.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-share.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-sidebar.svg +1 -0
- package/src/ai/chat-window/icons/chatgpt-thumb.svg +2 -0
- package/src/ai/chat-window/icons/chatgpt-voice.svg +2 -0
- package/src/ai/chat-window/icons/claude-chevron.svg +1 -0
- package/src/ai/chat-window/icons/claude-copy.svg +1 -0
- package/src/ai/chat-window/icons/claude-plus.svg +1 -0
- package/src/ai/chat-window/icons/claude-retry.svg +1 -0
- package/src/ai/chat-window/icons/claude-send.svg +1 -0
- package/src/ai/chat-window/icons/claude-sidebar.svg +1 -0
- package/src/ai/chat-window/icons/claude-sliders.svg +1 -0
- package/src/ai/chat-window/icons/claude-spark.svg +1 -0
- package/src/ai/chat-window/icons/claude-thumb.svg +1 -0
- package/src/ai/chat-window/icons.ts +46 -0
- package/src/ai/chat-window/index.ts +26 -0
- package/src/ai/chat-window/labels.ts +39 -0
- package/src/ai/chat-window/reveal.svelte.ts +106 -0
- package/src/ai/chat-window/types.ts +42 -0
- package/src/components/copy/clipboard.test.ts +17 -1
- package/src/components/copy/clipboard.ts +3 -3
- package/src/components/flag/codes.test.ts +30 -0
- package/src/components/flag/codes.ts +25 -0
- package/src/components/flag/flag.svelte +51 -0
- package/src/components/flag/flag.svelte.d.ts +12 -0
- package/src/components/flag/flags/AD.svg +1 -0
- package/src/components/flag/flags/AE.svg +1 -0
- package/src/components/flag/flags/AF.svg +1 -0
- package/src/components/flag/flags/AG.svg +1 -0
- package/src/components/flag/flags/AI.svg +1 -0
- package/src/components/flag/flags/AL.svg +1 -0
- package/src/components/flag/flags/AM.svg +1 -0
- package/src/components/flag/flags/AO.svg +1 -0
- package/src/components/flag/flags/AQ.svg +1 -0
- package/src/components/flag/flags/AR.svg +1 -0
- package/src/components/flag/flags/AS.svg +1 -0
- package/src/components/flag/flags/AT.svg +1 -0
- package/src/components/flag/flags/AU.svg +1 -0
- package/src/components/flag/flags/AW.svg +1 -0
- package/src/components/flag/flags/AX.svg +1 -0
- package/src/components/flag/flags/AZ.svg +1 -0
- package/src/components/flag/flags/BA.svg +1 -0
- package/src/components/flag/flags/BB.svg +1 -0
- package/src/components/flag/flags/BD.svg +1 -0
- package/src/components/flag/flags/BE.svg +1 -0
- package/src/components/flag/flags/BF.svg +1 -0
- package/src/components/flag/flags/BG.svg +1 -0
- package/src/components/flag/flags/BH.svg +1 -0
- package/src/components/flag/flags/BI.svg +1 -0
- package/src/components/flag/flags/BJ.svg +1 -0
- package/src/components/flag/flags/BL.svg +1 -0
- package/src/components/flag/flags/BM.svg +1 -0
- package/src/components/flag/flags/BN.svg +1 -0
- package/src/components/flag/flags/BO.svg +1 -0
- package/src/components/flag/flags/BQ.svg +1 -0
- package/src/components/flag/flags/BR.svg +1 -0
- package/src/components/flag/flags/BS.svg +1 -0
- package/src/components/flag/flags/BT.svg +1 -0
- package/src/components/flag/flags/BV.svg +1 -0
- package/src/components/flag/flags/BW.svg +1 -0
- package/src/components/flag/flags/BY.svg +1 -0
- package/src/components/flag/flags/BZ.svg +1 -0
- package/src/components/flag/flags/CA.svg +1 -0
- package/src/components/flag/flags/CC.svg +1 -0
- package/src/components/flag/flags/CD.svg +1 -0
- package/src/components/flag/flags/CF.svg +1 -0
- package/src/components/flag/flags/CG.svg +1 -0
- package/src/components/flag/flags/CH.svg +1 -0
- package/src/components/flag/flags/CI.svg +1 -0
- package/src/components/flag/flags/CK.svg +1 -0
- package/src/components/flag/flags/CL.svg +1 -0
- package/src/components/flag/flags/CM.svg +1 -0
- package/src/components/flag/flags/CN.svg +1 -0
- package/src/components/flag/flags/CO.svg +1 -0
- package/src/components/flag/flags/CR.svg +1 -0
- package/src/components/flag/flags/CU.svg +1 -0
- package/src/components/flag/flags/CV.svg +1 -0
- package/src/components/flag/flags/CW.svg +1 -0
- package/src/components/flag/flags/CX.svg +1 -0
- package/src/components/flag/flags/CY.svg +1 -0
- package/src/components/flag/flags/CZ.svg +1 -0
- package/src/components/flag/flags/DE.svg +1 -0
- package/src/components/flag/flags/DJ.svg +1 -0
- package/src/components/flag/flags/DK.svg +1 -0
- package/src/components/flag/flags/DM.svg +1 -0
- package/src/components/flag/flags/DO.svg +1 -0
- package/src/components/flag/flags/DZ.svg +1 -0
- package/src/components/flag/flags/EC.svg +1 -0
- package/src/components/flag/flags/EE.svg +1 -0
- package/src/components/flag/flags/EG.svg +1 -0
- package/src/components/flag/flags/EH.svg +1 -0
- package/src/components/flag/flags/ER.svg +1 -0
- package/src/components/flag/flags/ES.svg +1 -0
- package/src/components/flag/flags/ET.svg +1 -0
- package/src/components/flag/flags/FI.svg +1 -0
- package/src/components/flag/flags/FJ.svg +1 -0
- package/src/components/flag/flags/FK.svg +1 -0
- package/src/components/flag/flags/FM.svg +1 -0
- package/src/components/flag/flags/FO.svg +1 -0
- package/src/components/flag/flags/FR.svg +1 -0
- package/src/components/flag/flags/GA.svg +1 -0
- package/src/components/flag/flags/GB.svg +1 -0
- package/src/components/flag/flags/GD.svg +1 -0
- package/src/components/flag/flags/GE.svg +1 -0
- package/src/components/flag/flags/GF.svg +1 -0
- package/src/components/flag/flags/GG.svg +1 -0
- package/src/components/flag/flags/GH.svg +1 -0
- package/src/components/flag/flags/GI.svg +1 -0
- package/src/components/flag/flags/GL.svg +1 -0
- package/src/components/flag/flags/GM.svg +1 -0
- package/src/components/flag/flags/GN.svg +1 -0
- package/src/components/flag/flags/GP.svg +1 -0
- package/src/components/flag/flags/GQ.svg +1 -0
- package/src/components/flag/flags/GR.svg +1 -0
- package/src/components/flag/flags/GS.svg +1 -0
- package/src/components/flag/flags/GT.svg +1 -0
- package/src/components/flag/flags/GU.svg +1 -0
- package/src/components/flag/flags/GW.svg +1 -0
- package/src/components/flag/flags/GY.svg +1 -0
- package/src/components/flag/flags/HK.svg +1 -0
- package/src/components/flag/flags/HM.svg +1 -0
- package/src/components/flag/flags/HN.svg +1 -0
- package/src/components/flag/flags/HR.svg +1 -0
- package/src/components/flag/flags/HT.svg +1 -0
- package/src/components/flag/flags/HU.svg +1 -0
- package/src/components/flag/flags/ID.svg +1 -0
- package/src/components/flag/flags/IE.svg +1 -0
- package/src/components/flag/flags/IL.svg +1 -0
- package/src/components/flag/flags/IM.svg +1 -0
- package/src/components/flag/flags/IN.svg +1 -0
- package/src/components/flag/flags/IO.svg +1 -0
- package/src/components/flag/flags/IQ.svg +1 -0
- package/src/components/flag/flags/IR.svg +1 -0
- package/src/components/flag/flags/IS.svg +1 -0
- package/src/components/flag/flags/IT.svg +1 -0
- package/src/components/flag/flags/JE.svg +1 -0
- package/src/components/flag/flags/JM.svg +1 -0
- package/src/components/flag/flags/JO.svg +1 -0
- package/src/components/flag/flags/JP.svg +1 -0
- package/src/components/flag/flags/KE.svg +1 -0
- package/src/components/flag/flags/KG.svg +1 -0
- package/src/components/flag/flags/KH.svg +1 -0
- package/src/components/flag/flags/KI.svg +1 -0
- package/src/components/flag/flags/KM.svg +1 -0
- package/src/components/flag/flags/KN.svg +1 -0
- package/src/components/flag/flags/KP.svg +1 -0
- package/src/components/flag/flags/KR.svg +1 -0
- package/src/components/flag/flags/KW.svg +1 -0
- package/src/components/flag/flags/KY.svg +1 -0
- package/src/components/flag/flags/KZ.svg +1 -0
- package/src/components/flag/flags/LA.svg +1 -0
- package/src/components/flag/flags/LB.svg +1 -0
- package/src/components/flag/flags/LC.svg +1 -0
- package/src/components/flag/flags/LI.svg +1 -0
- package/src/components/flag/flags/LICENSE +22 -0
- package/src/components/flag/flags/LK.svg +1 -0
- package/src/components/flag/flags/LR.svg +1 -0
- package/src/components/flag/flags/LS.svg +1 -0
- package/src/components/flag/flags/LT.svg +1 -0
- package/src/components/flag/flags/LU.svg +1 -0
- package/src/components/flag/flags/LV.svg +1 -0
- package/src/components/flag/flags/LY.svg +1 -0
- package/src/components/flag/flags/MA.svg +1 -0
- package/src/components/flag/flags/MC.svg +1 -0
- package/src/components/flag/flags/MD.svg +1 -0
- package/src/components/flag/flags/ME.svg +1 -0
- package/src/components/flag/flags/MF.svg +1 -0
- package/src/components/flag/flags/MG.svg +1 -0
- package/src/components/flag/flags/MH.svg +1 -0
- package/src/components/flag/flags/MK.svg +1 -0
- package/src/components/flag/flags/ML.svg +1 -0
- package/src/components/flag/flags/MM.svg +1 -0
- package/src/components/flag/flags/MN.svg +1 -0
- package/src/components/flag/flags/MO.svg +1 -0
- package/src/components/flag/flags/MP.svg +1 -0
- package/src/components/flag/flags/MQ.svg +1 -0
- package/src/components/flag/flags/MR.svg +1 -0
- package/src/components/flag/flags/MS.svg +1 -0
- package/src/components/flag/flags/MT.svg +1 -0
- package/src/components/flag/flags/MU.svg +1 -0
- package/src/components/flag/flags/MV.svg +1 -0
- package/src/components/flag/flags/MW.svg +1 -0
- package/src/components/flag/flags/MX.svg +1 -0
- package/src/components/flag/flags/MY.svg +1 -0
- package/src/components/flag/flags/MZ.svg +1 -0
- package/src/components/flag/flags/NA.svg +1 -0
- package/src/components/flag/flags/NC.svg +1 -0
- package/src/components/flag/flags/NE.svg +1 -0
- package/src/components/flag/flags/NF.svg +1 -0
- package/src/components/flag/flags/NG.svg +1 -0
- package/src/components/flag/flags/NI.svg +1 -0
- package/src/components/flag/flags/NL.svg +1 -0
- package/src/components/flag/flags/NO.svg +1 -0
- package/src/components/flag/flags/NP.svg +1 -0
- package/src/components/flag/flags/NR.svg +1 -0
- package/src/components/flag/flags/NU.svg +1 -0
- package/src/components/flag/flags/NZ.svg +1 -0
- package/src/components/flag/flags/OM.svg +1 -0
- package/src/components/flag/flags/PA.svg +1 -0
- package/src/components/flag/flags/PE.svg +1 -0
- package/src/components/flag/flags/PF.svg +1 -0
- package/src/components/flag/flags/PG.svg +1 -0
- package/src/components/flag/flags/PH.svg +1 -0
- package/src/components/flag/flags/PK.svg +1 -0
- package/src/components/flag/flags/PL.svg +1 -0
- package/src/components/flag/flags/PM.svg +1 -0
- package/src/components/flag/flags/PN.svg +1 -0
- package/src/components/flag/flags/PR.svg +1 -0
- package/src/components/flag/flags/PS.svg +1 -0
- package/src/components/flag/flags/PT.svg +1 -0
- package/src/components/flag/flags/PW.svg +1 -0
- package/src/components/flag/flags/PY.svg +1 -0
- package/src/components/flag/flags/QA.svg +1 -0
- package/src/components/flag/flags/RE.svg +1 -0
- package/src/components/flag/flags/RO.svg +1 -0
- package/src/components/flag/flags/RS.svg +1 -0
- package/src/components/flag/flags/RU.svg +1 -0
- package/src/components/flag/flags/RW.svg +1 -0
- package/src/components/flag/flags/SA.svg +1 -0
- package/src/components/flag/flags/SB.svg +1 -0
- package/src/components/flag/flags/SC.svg +1 -0
- package/src/components/flag/flags/SD.svg +1 -0
- package/src/components/flag/flags/SE.svg +1 -0
- package/src/components/flag/flags/SG.svg +1 -0
- package/src/components/flag/flags/SH.svg +1 -0
- package/src/components/flag/flags/SI.svg +1 -0
- package/src/components/flag/flags/SJ.svg +1 -0
- package/src/components/flag/flags/SK.svg +1 -0
- package/src/components/flag/flags/SL.svg +1 -0
- package/src/components/flag/flags/SM.svg +1 -0
- package/src/components/flag/flags/SN.svg +1 -0
- package/src/components/flag/flags/SO.svg +1 -0
- package/src/components/flag/flags/SR.svg +1 -0
- package/src/components/flag/flags/SS.svg +1 -0
- package/src/components/flag/flags/ST.svg +1 -0
- package/src/components/flag/flags/SV.svg +1 -0
- package/src/components/flag/flags/SX.svg +1 -0
- package/src/components/flag/flags/SY.svg +1 -0
- package/src/components/flag/flags/SZ.svg +1 -0
- package/src/components/flag/flags/TC.svg +1 -0
- package/src/components/flag/flags/TD.svg +1 -0
- package/src/components/flag/flags/TF.svg +1 -0
- package/src/components/flag/flags/TG.svg +1 -0
- package/src/components/flag/flags/TH.svg +1 -0
- package/src/components/flag/flags/TJ.svg +1 -0
- package/src/components/flag/flags/TK.svg +1 -0
- package/src/components/flag/flags/TL.svg +1 -0
- package/src/components/flag/flags/TM.svg +1 -0
- package/src/components/flag/flags/TN.svg +1 -0
- package/src/components/flag/flags/TO.svg +1 -0
- package/src/components/flag/flags/TR.svg +1 -0
- package/src/components/flag/flags/TT.svg +1 -0
- package/src/components/flag/flags/TV.svg +1 -0
- package/src/components/flag/flags/TW.svg +1 -0
- package/src/components/flag/flags/TZ.svg +1 -0
- package/src/components/flag/flags/UA.svg +1 -0
- package/src/components/flag/flags/UG.svg +1 -0
- package/src/components/flag/flags/UM.svg +1 -0
- package/src/components/flag/flags/US.svg +1 -0
- package/src/components/flag/flags/UY.svg +1 -0
- package/src/components/flag/flags/UZ.svg +1 -0
- package/src/components/flag/flags/VA.svg +1 -0
- package/src/components/flag/flags/VC.svg +1 -0
- package/src/components/flag/flags/VE.svg +1 -0
- package/src/components/flag/flags/VG.svg +1 -0
- package/src/components/flag/flags/VI.svg +1 -0
- package/src/components/flag/flags/VN.svg +1 -0
- package/src/components/flag/flags/VU.svg +1 -0
- package/src/components/flag/flags/WF.svg +1 -0
- package/src/components/flag/flags/WS.svg +1 -0
- package/src/components/flag/flags/XK.svg +1 -0
- package/src/components/flag/flags/YE.svg +1 -0
- package/src/components/flag/flags/YT.svg +1 -0
- package/src/components/flag/flags/ZA.svg +1 -0
- package/src/components/flag/flags/ZM.svg +1 -0
- package/src/components/flag/flags/ZW.svg +1 -0
- package/src/components/flag/index.ts +2 -0
- package/src/slides/export/pdf.ts +11 -0
- package/src/vite/flags.test.ts +38 -0
- package/src/vite/flags.ts +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M0 85.331h512v341.337H0z"/><path fill="#FFF" d="M0 85.331h256v170.663H0z"/><path fill="#D80027" d="M141.357 157.303V130.59h-26.714v26.713H87.93v26.713h26.713v26.713h26.714v-26.713h26.713v-26.713z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#E30A17" d="M0 0h513v342H0z"/><path fill="#FFF" d="M259.7 118.6c-13.1-9.5-29-14.6-45.3-14.5-40.8 0-73.8 30.8-73.8 68.9s33.1 68.9 73.8 68.9c17.1 0 32.9-5.4 45.3-14.5-30 38.6-85.7 45.6-124.3 15.5s-45.6-85.7-15.5-124.3 85.7-45.6 124.3-15.5c5.8 4.5 11 9.8 15.5 15.5zm39.9 65.8-18.1 21.9 1.2-28.4-26.4-10.4 27.3-7.6 1.8-28.3 15.6 23.7 27.5-7.1-17.5 22 15.3 23.9-26.7-9.7z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M0 85.337h512v341.326H0z"/><path fill="#FFF" d="m6.066 85.337 207.961 212.636 131.584 128.69h160.323L297.973 214.027 166.389 85.337z"/><path d="M43.364 85.337 384.69 426.663h83.946L127.31 85.337z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#00B2EE" d="M0 171h256.5V0H513v342H0V171z"/><g fill="#FFDA44"><path d="m196.8 274.1 16.8 51.6-43.9-31.9H224l-43.9 31.9 16.7-51.6zM402.6 193.8l16.8 51.6-43.9-31.9h54.3l-43.9 31.9 16.7-51.6zM463.3 149.1l16.8 51.6-43.9-31.9h54.3l-43.9 31.9 16.7-51.6zM463.3 21.3 480.1 73l-44-32h54.3l-43.9 32 16.8-51.7zM410.3 75l16.8 51.6-43.9-31.9h54.3l-43.9 31.9L410.3 75zM332.9 107l16.8 51.6-43.9-31.9H360l-43.9 31.9 16.8-51.6zM350 245.4l16.8 51.6-43.9-31.9h54.3L333.3 297l16.7-51.6zM278.2 189.2l16.8 51.6-44-31.8h54.3l-43.9 31.9 16.8-51.7zM278.2 264.5l16.8 51.6-44-31.9h54.3l-43.9 31.9 16.8-51.6z"/></g><path fill="#012169" d="M0 0h256.5v171H0z"/><g fill="#FFF"><path d="M256.5 0v30.6l-45.3 25.2h45.3v59.4h-59.2l59.2 32.9V171h-26.7l-73.7-40.9V171h-55.7v-48.7L12.8 171H0v-30.6l45.3-25.2H0V55.8h59.2L0 22.9V0h26.7l73.7 40.9V0h55.7v48.7L243.7 0z"/><path d="M156.1 115.2 256.5 171v-15.8l-72-40zM100.4 55.8 0 0v15.8l72 40z"/></g><g fill="#D80027"><path d="M144.3 0h-32.1v69.5H0v32h112.2V171h32.1v-69.5h112.2v-32H144.3z"/><path d="M156.1 115.2 256.5 171v-15.8l-72-40zM72 115.2l-72 40V171l100.4-55.8zM100.4 55.8 0 0v15.8l72 40zM184.5 55.8l72-40V0L156.1 55.8z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M0 85.337h512v341.326H0z"/><path fill="#0052B4" d="M0 85.337h256V256H0z"/><path fill="#FFF" d="M186.435 170.669 162.558 181.9l12.714 23.125-25.927-4.961-3.286 26.192L128 206.993l-18.06 19.263-3.285-26.192-25.927 4.96 12.714-23.125-23.877-11.23 23.877-11.231-12.714-23.125 25.927 4.96 3.286-26.192L128 134.344l18.06-19.263 3.285 26.192 25.928-4.96-12.715 23.125z"/><circle fill="#0052B4" cx="128" cy="170.674" r="29.006"/><path fill="#FFF" d="M128 190.06c-10.692 0-19.391-8.7-19.391-19.391 0-10.692 8.7-19.391 19.391-19.391 10.692 0 19.391 8.7 19.391 19.391 0 10.691-8.699 19.391-19.391 19.391z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#338AF3" d="M0 85.337h512v341.326H0z"/><path fill="#6DA544" d="M0 426.663V85.337h512"/><path fill="#FFDA44" d="M512 152.222V85.337H411.67L0 359.778v66.885h100.33z"/><path d="M512 85.337v40.125L60.193 426.663H0v-40.125L451.807 85.337z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#FFDA44" d="M0 85.337h512v341.326H0z"/><path fill="#338AF3" d="M0 85.337h512V256H0z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 341.3"><path fill="#232323" d="M0 0h512v341.3H0z"/><path fill="#FFDA44" d="M0 56.9h512v56.9H0z"/><path fill="#D32300" d="M0 113.8h512v56.9H0z"/><path fill="#FFDA44" d="M0 227.6h512v56.9H0z"/><path fill="#D32300" d="M0 284.4h512v56.9H0z"/><circle fill="#FFF" cx="256" cy="170.7" r="80.7"/><path d="M234.5 127.5c.9-1.4-19.6-2-19.6-2 1.7-2.5 18.4-10.5 18.4-10.5s-.9-6 2.7-9.8l-4.5-9.8s7-3.4 18.4-3.4 19.9 7 21 13.1l-6.4 3.4c-.1 4.7 1.7 11.6-4.3 17.3-5.9 5.7-8.3 6.9-8.5 18.8 0 3.9 2.3 8.2 8.8 11.7 17.4 9.3 38.6 28.2 44.6 33.9 6.1 5.7 5.1 19.2 2.6 25.2s-12.1 14.3-14.3 13.6c-2.2-.6 1.2-9.2-3.5-11.6 0 0-8.9-7.6-16.8.6s-.2 25.2 3.9 28c4.1 2.8 1.7 5-1.9 5H247c-3.8 0-5.4-2.3-1.9-5 7.6-3.8 12.4-15.3 7.4-20.3-4.9-4.9-18.3 1.5-21.5 6.3-2.8 2.8-8.8 3.6-12.9-1.4s-4.1-10.4-1.1-12.5c7-4.8 0 0 .1-.1 0 0 11.9-8.6 29.9-9 3.9 0 4.8-2.2 2.2-4.8 0 0-30.9-27.4-28.1-44.2 3-18.3 20-26.3 13.4-32.5-1.3-1.8 0 0 0 0z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#FFF" d="M0 0h513v342H0z"/><g fill="#D80027"><path d="M0 0h513v26.3H0zM0 52.6h513v26.3H0zM0 105.2h513v26.3H0zM0 157.8h513v26.3H0zM0 210.5h513v26.3H0zM0 263.1h513v26.3H0zM0 315.7h513V342H0z"/></g><path fill="#2E52B2" d="M0 0h256.5v184.1H0z"/><g fill="#FFF"><path d="m47.8 138.9-4-12.8-4.4 12.8H26.2l10.7 7.7-4 12.8 10.9-7.9 10.6 7.9-4.1-12.8 10.9-7.7zM104.1 138.9l-4.1-12.8-4.2 12.8H82.6l10.7 7.7-4 12.8 10.7-7.9 10.8 7.9-4-12.8 10.7-7.7zM160.6 138.9l-4.3-12.8-4 12.8h-13.5l11 7.7-4.2 12.8 10.7-7.9 11 7.9-4.2-12.8 10.7-7.7zM216.8 138.9l-4-12.8-4.2 12.8h-13.3l10.8 7.7-4 12.8 10.7-7.9 10.8 7.9-4.3-12.8 11-7.7zM100 75.3l-4.2 12.8H82.6L93.3 96l-4 12.6 10.7-7.8 10.8 7.8-4-12.6 10.7-7.9h-13.4zM43.8 75.3l-4.4 12.8H26.2L36.9 96l-4 12.6 10.9-7.8 10.6 7.8L50.3 96l10.9-7.9H47.8zM156.3 75.3l-4 12.8h-13.5l11 7.9-4.2 12.6 10.7-7.8 11 7.8-4.2-12.6 10.7-7.9h-13.2zM212.8 75.3l-4.2 12.8h-13.3l10.8 7.9-4 12.6 10.7-7.8 10.8 7.8-4.3-12.6 11-7.9h-13.5zM43.8 24.7l-4.4 12.6H26.2l10.7 7.9-4 12.7L43.8 50l10.6 7.9-4.1-12.7 10.9-7.9H47.8zM100 24.7l-4.2 12.6H82.6l10.7 7.9-4 12.7L100 50l10.8 7.9-4-12.7 10.7-7.9h-13.4zM156.3 24.7l-4 12.6h-13.5l11 7.9-4.2 12.7 10.7-7.9 11 7.9-4.2-12.7 10.7-7.9h-13.2zM212.8 24.7l-4.2 12.6h-13.3l10.8 7.9-4 12.7 10.7-7.9 10.8 7.9-4.3-12.7 11-7.9h-13.5z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#FFF" d="M0 0h513v342H0z"/><g fill="#D80027"><path d="M0 0h513v26.3H0zM0 52.6h513v26.3H0zM0 105.2h513v26.3H0zM0 157.8h513v26.3H0zM0 210.5h513v26.3H0zM0 263.1h513v26.3H0zM0 315.7h513V342H0z"/></g><path fill="#2E52B2" d="M0 0h256.5v184.1H0z"/><g fill="#FFF"><path d="m47.8 138.9-4-12.8-4.4 12.8H26.2l10.7 7.7-4 12.8 10.9-7.9 10.6 7.9-4.1-12.8 10.9-7.7zM104.1 138.9l-4.1-12.8-4.2 12.8H82.6l10.7 7.7-4 12.8 10.7-7.9 10.8 7.9-4-12.8 10.7-7.7zM160.6 138.9l-4.3-12.8-4 12.8h-13.5l11 7.7-4.2 12.8 10.7-7.9 11 7.9-4.2-12.8 10.7-7.7zM216.8 138.9l-4-12.8-4.2 12.8h-13.3l10.8 7.7-4 12.8 10.7-7.9 10.8 7.9-4.3-12.8 11-7.7zM100 75.3l-4.2 12.8H82.6L93.3 96l-4 12.6 10.7-7.8 10.8 7.8-4-12.6 10.7-7.9h-13.4zM43.8 75.3l-4.4 12.8H26.2L36.9 96l-4 12.6 10.9-7.8 10.6 7.8L50.3 96l10.9-7.9H47.8zM156.3 75.3l-4 12.8h-13.5l11 7.9-4.2 12.6 10.7-7.8 11 7.8-4.2-12.6 10.7-7.9h-13.2zM212.8 75.3l-4.2 12.8h-13.3l10.8 7.9-4 12.6 10.7-7.8 10.8 7.8-4.3-12.6 11-7.9h-13.5zM43.8 24.7l-4.4 12.6H26.2l10.7 7.9-4 12.7L43.8 50l10.6 7.9-4.1-12.7 10.9-7.9H47.8zM100 24.7l-4.2 12.6H82.6l10.7 7.9-4 12.7L100 50l10.8 7.9-4-12.7 10.7-7.9h-13.4zM156.3 24.7l-4 12.6h-13.5l11 7.9-4.2 12.7 10.7-7.9 11 7.9-4.2-12.7 10.7-7.9h-13.2zM212.8 24.7l-4.2 12.6h-13.3l10.8 7.9-4 12.7 10.7-7.9 10.8 7.9-4.3-12.7 11-7.9h-13.5z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#FFF" d="M0 0h513v342H0z"/><g fill="#0038a8"><path d="M0 38h513v38H0zM0 114h513v38H0zM0 190h513v38H0zM0 266h513v38H0z"/></g><path fill="#FFF" d="M0 0h256.5v190H0z"/><path fill="#FED443" d="m128.3 138.7-15.1 22.6-3.8-26.9L86 148.2l8.2-25.9-27.2 2.2 18.6-19.8L60.3 95l25.4-9.7L67 65.5l27.1 2.3-8.2-25.9 23.4 13.8 3.9-26.9 15.1 22.6 15.1-22.6 3.8 26.9 23.4-13.8-8.2 25.9 27.1-2.2-18.6 19.8 25.4 9.7-25.4 9.7 18.6 19.8-27.1-2.2 8.2 25.9-23.4-13.8-3.9 26.9-15-22.7zm0-.5c23.9.9 44-17.6 44.9-41.5.9-23.9-17.6-44-41.5-44.9h-3.4c-23.9.8-42.6 20.8-41.8 44.6.6 22.8 19 41.1 41.8 41.8zm0-10.6c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.3 34-34 34z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#3081f7" d="M0 0h513v108H0z"/><path fill="#ee162e" d="M0 108h513v9H0z"/><path fill="#FFF" d="M0 117h513v108H0z"/><path fill="#ee162e" d="M0 225h513v9H0z"/><path fill="#308738" d="M0 233h513v108H0z"/><g fill="#FFF"><path d="M53.5 54c0-23.1 16.4-35 34.3-38.9-2.7-.6-5.6-.9-8.5-.9-22 0-39.8 17.8-39.8 39.8s17.8 39.8 39.8 39.8c2.9 0 5.8-.3 8.5-.9C69.9 89 53.5 77.1 53.5 54zM111.4 75.3l1.8 5.9h6.2l-5 3.6 1.9 5.8-4.9-3.6-5 3.6 1.9-5.8-4.9-3.6h6.1zM139.2 75.3l1.9 5.9h6.1l-5 3.6 1.9 5.8-4.9-3.6-5 3.6 1.9-5.8-4.9-3.6h6.1zM167 75.3l1.9 5.9h6.1l-4.9 3.6 1.9 5.8-5-3.6-4.9 3.6 1.9-5.8-5-3.6h6.1zM194.9 75.3l1.9 5.9h6.1l-5 3.6 1.9 5.8-4.9-3.6-5 3.6 1.9-5.8-4.9-3.6h6.1zM222.7 75.3l1.9 5.9h6.1l-4.9 3.6 1.9 5.8-5-3.6-4.9 3.6 1.9-5.8-5-3.6h6.1zM139.2 46.4l1.9 5.8h6.1l-5 3.6 1.9 5.8-4.9-3.6-5 3.6 1.9-5.8-4.9-3.6h6.1zM167 46.4l1.9 5.8h6.1l-4.9 3.6 1.9 5.8-5-3.6-4.9 3.6 1.9-5.8-5-3.6h6.1zM194.9 46.4l1.9 5.8h6.1l-5 3.6 1.9 5.8-4.9-3.6-5 3.6 1.9-5.8-4.9-3.6h6.1zM222.7 46.4l1.9 5.8h6.1l-4.9 3.6 1.9 5.8-5-3.6-4.9 3.6 1.9-5.8-5-3.6h6.1zM167 17.4l1.9 5.8h6.1l-4.9 3.6 1.9 5.9-5-3.6-4.9 3.6 1.9-5.9-5-3.6h6.1zM194.9 17.4l1.9 5.8h6.1l-5 3.6 1.9 5.9-4.9-3.6-5 3.6 1.9-5.9-4.9-3.6h6.1zM222.7 17.4l1.9 5.8h6.1l-4.9 3.6 1.9 5.9-5-3.6-4.9 3.6 1.9-5.9-5-3.6h6.1z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#FFDA44" d="M0 85.331h512v341.326H0z"/><path fill="#FFF" d="M256 85.331h256v341.337H256z"/><path fill="#ACABB1" d="m321.353 233.837 32.073 42.43c-5.053 7.651-5.026 17.961.817 25.692 7.414 9.807 21.374 11.748 31.182 4.335 9.807-7.414 11.748-21.374 4.334-31.182-5.843-7.731-15.756-10.568-24.495-7.795l-49.988-66.129-11.838 8.949-17.759 13.424 17.899 23.677 17.775-13.401zm46.175 48.78a7.421 7.421 0 1 1 8.95 11.84 7.421 7.421 0 0 1-8.95-11.84z"/><path fill="#FFDA44" d="m376.367 247.24 17.899-23.677-17.759-13.424-11.838-8.949-49.988 66.129c-8.74-2.775-18.651.063-24.495 7.795-7.414 9.808-5.473 23.768 4.334 31.182 9.808 7.414 23.768 5.473 31.182-4.335 5.845-7.731 5.871-18.041.817-25.692l32.073-42.43 17.775 13.401zm-62.504 45.771a7.42 7.42 0 1 1-11.84-8.95 7.42 7.42 0 0 1 11.84 8.95z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#FFDA44" d="M0 85.331h512v341.337H0z"/><path fill="#338AF3" d="M0 85.331h170.663v341.337H0z"/><g fill="#6DA544"><path d="M341.337 85.331H512v341.337H341.337zM214.261 283.82l-33.393-50.086 33.392-50.087 33.392 50.087zM297.739 283.82l-33.391-50.086 33.391-50.087 33.393 50.087zM256 350.603l-33.391-50.087L256 250.429l33.391 50.087z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.5 15"><path fill="#FFCE00" d="M0 0h22.5v5H0z"/><path fill="#203899" d="M0 5h22.5v5H0z"/><path fill="#D82B2B" d="M0 10h22.5v5H0z"/><path fill="#FFF" d="m12.13 5.38.14.46.45.14-.39.27.01.48-.38-.29-.45.15.15-.44-.28-.38h.47zM10.36 5.38l.27.39h.47l-.28.38.15.45-.45-.16-.38.28.01-.47-.39-.28.45-.13zM13.8 5.94l-.01.48.39.27-.46.14-.14.45-.27-.38h-.48l.29-.38-.15-.45.45.16zM8.69 5.96l.4.27.44-.18-.13.46.3.36-.47.02-.26.4-.16-.44-.46-.12.37-.3zM15.24 7.13l-.2.44.25.4-.47-.05-.31.36-.1-.46-.43-.18.41-.24.03-.47.35.31zM15.43 8.25l.21.43.47.07-.34.33.08.46-.42-.22-.42.22.08-.46-.34-.33.47-.07zM7 8.2l.21.43.47.06-.34.33.08.47L7 9.27l-.42.22.08-.47-.34-.33.47-.06zM7.31 7.05l.45.14.38-.29v.48l.39.26-.45.15-.13.46-.28-.38-.47.01.27-.38z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#012169" d="M0 0h513v342H0z"/><path fill="#ffc72c" d="m384.8 174.7-46.2 46.2c8.7 16.7 26.1 28.1 46.2 28.1s37.6-11.4 46.2-28.1l-46.2-46.2z"/><path fill="#006129" stroke="#fff" stroke-width="3" d="M332.7 93v81.8c0 39.8 52 52 52 52s52-12.2 52-52V93h-104z"/><path fill="#FFF" d="M373.6 130.1h22.3v59.5h-22.3z"/><circle fill="#9c4c00" cx="384.8" cy="130.1" r="11.2"/><g fill="#ffc72c"><path d="M347.6 107.8h14.9v14.9h-14.9zM347.6 141.3h14.9v14.9h-14.9zM347.6 174.7h14.9v14.9h-14.9zM407.1 107.8H422v14.9h-14.9zM407.1 141.3H422v14.9h-14.9zM407.1 174.7H422v14.9h-14.9z"/></g><path fill="#012169" d="M0 0h256.5v171H0z"/><g fill="#FFF"><path d="M256.5 0v30.6l-45.3 25.2h45.3v59.4h-59.2l59.2 32.9V171h-26.7l-73.7-40.9V171h-55.7v-48.7L12.8 171H0v-30.6l45.3-25.2H0V55.8h59.2L0 22.9V0h26.7l73.7 40.9V0h55.7v48.7L243.7 0z"/><path d="M156.1 115.2 256.5 171v-15.8l-72-40zM100.4 55.8 0 0v15.8l72 40z"/></g><g fill="#D80027"><path d="M144.3 0h-32.1v69.5H0v32h112.2V171h32.1v-69.5h112.2v-32H144.3z"/><path d="M156.1 115.2 256.5 171v-15.8l-72-40zM72 115.2l-72 40V171l100.4-55.8zM100.4 55.8 0 0v15.8l72 40zM184.5 55.8l72-40V0L156.1 55.8z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 341.3"><path fill="#FFF" d="M0 0h512v341.3H0z"/><path fill="#1583C4" d="m397.7 166.3-51 97.7c-1.1 2-.3 4.5 1.8 5.6 2 1.1 4.5.3 5.6-1.8l51-97.7c1-2.1.1-4.6-2-5.5-2-.9-4.3-.2-5.4 1.7z"/><path fill="#1583C4" d="m404.9 188-57.8 75.4c-1.3 1.9-.8 4.5 1.1 5.8 1.7 1.2 4.1.9 5.5-.7l57.8-75.4c1.4-1.8 1.1-4.4-.8-5.8-1.8-1.5-4.4-1.1-5.8.7z"/><path fill="#1583C4" d="m379 181.3-32.5 83.1c-.8 2.1.2 4.6 2.4 5.4 2.1.8 4.6-.2 5.4-2.4l32.5-83.1c.7-2.2-.4-4.5-2.6-5.3-2.1-.6-4.3.4-5.2 2.3z"/><path fill="#409347" d="M122.1 171.9c.4 1.7 1.2 4.7 2.2 8.5 1.7 6.4 3.6 12.8 5.6 18.7 2.3 6.9 14.7 31.4 20.2 39.1 6.9 9.7 14.1 19.3 21.5 28.6 1.6 1.9 4.5 2.1 6.4.5 1.8-1.6 2.1-4.3.7-6.2-7.3-9.2-14.4-18.6-21.2-28.2-4.2-5.8-17.2-31.1-19-36.7-2.9-8.7-5.4-17.6-7.6-26.5-.5-2.4-2.9-4-5.3-3.5s-4 2.9-3.5 5.3c-.1.2 0 .3 0 .4z"/><g fill="#FFD836" stroke="#231F20" stroke-miterlimit="10"><path d="M297.1 114.9S279.5 42.8 261 42.8c-6.9 0-11.9-.6-15.4 6.4-.9 1.7-20.7-1.6-19.1 20.8.5 6.9 1.1-9.8 14.9-3.4 6.3 3-16.4 48.2-16.4 48.2h72.1z"/><path d="m466.1 48.4-90.9 22c-75.3 18.3-42.1 44.4-42.1 44.4l-72.1 12-72.1-12s33.2-26.1-42.1-44.4l-90.9-22C43.1 45.3 38.1 51.8 45.3 63c0 0 106.6 104 126.8 112 20.2 8.1 40.8 0 40.8 0s-14.9 8.7-24 24c-9.2 15.3-4.6 34.7-38.9 40.2-5.5 6.6-5 14 2.9 19.9 7.9 5.8 72.1-48.1 72.1-48.1s-24 24.4-24 36.1c0 5.1 44.1 53.8 60.1 53.8s60.1-48.7 60.1-53.8c0-11.7-24-36.1-24-36.1s64.2 53.9 72.1 48.1 11.4-19.3 2.8-19.9c-28-1.8-29.7-24.9-38.9-40.2-9.2-15.3-24-24-24-24s20.6 8.1 40.8 0S476.7 63 476.7 63c7.2-11.2 2.3-17.7-10.6-14.6z"/></g><path fill="#FFF" stroke="#231F20" stroke-miterlimit="10" d="M201.3 111.8v80.3c0 45.7 59.7 59.7 59.7 59.7s59.7-14 59.7-59.7v-80.3H201.3z"/><g fill="#D80027"><path d="M225.2 137.7V235c8.2 6 17 10.2 23.9 12.9V137.7h-23.9zM296.8 137.7V235c-8.2 6-17 10.2-23.9 12.9V137.7h23.9z"/></g><path fill="#0052B4" d="M201.3 111.8h119.4v37.9H201.3z"/><path fill="#1583C4" d="m60.1 210.5-21.9-58.1H15.7l31.8 80.8h25.2l31.5-80.8H81.7zM451.5 151.9h18.9v81.7h-18.9z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M196.641 85.337H0v341.326h512V85.337z"/><path fill="#FFDA44" d="m256 157.279 22.663 69.747H352l-59.332 43.106 22.664 69.749L256 296.774l-59.332 43.107 22.664-69.749L160 227.026h73.337z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path d="M0 85.337h512v341.326H0z"/><path fill="#6DA544" d="M512 256v170.663H0L215.185 256z"/><path fill="#D80027" d="M512 85.337V256H215.185L0 85.337z"/><path d="M221.001 239.304 26.868 85.337H8.956l208.168 165.098H512v-11.131zM8.956 426.663h17.912l194.133-153.967H512v-11.131H217.124zM0 92.44v14.206L188.317 256 0 405.354v14.205L206.229 256z"/><g fill="#FFDA44"><path d="M8.956 85.337H0v7.103L206.229 256 0 419.559v7.104h8.956l208.168-165.098H512v-11.13H217.124z"/><path d="M63.718 292.382v-14.295c14.265 0 25.87-11.606 25.87-25.869 0-10.092-8.211-18.303-18.304-18.303-6.875 0-12.469 5.593-12.469 12.469 0 4.397 3.577 7.974 7.974 7.974a4.514 4.514 0 0 0 4.508-4.508h14.295c0 10.368-8.435 18.804-18.802 18.804-12.279-.002-22.269-9.993-22.269-22.271 0-14.758 12.006-26.764 26.764-26.764 17.975 0 32.599 14.623 32.599 32.599 0 22.145-18.018 40.164-40.166 40.164z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 100"><path fill="#D80B30" d="M0 0h150v100H0z"/><path fill="#00318A" d="M0 0h20v44.33H0z"/><path fill="#FFF" d="M20 0h20v44.33H20z"/><path fill="none" stroke="#FFF" stroke-width="3" d="M0 44.33h62.75V0"/><path fill="#FFF" d="M108.08 43.29 87.96 23.17h40.25l-20.13 20.12zm-6.7 6.71L81.25 29.88v40.25L101.38 50zm6.7 6.71L87.96 76.83h40.25l-20.13-20.12zm6.71-6.71 20.13-20.13v40.25L114.79 50z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M0 85.331h512v341.337H0z"/><path fill="#0052B4" d="M0 85.331h256v170.663H0z"/><g fill="#FFF"><path d="m165.483 181.79 2.764 8.504h8.939l-7.232 5.254 2.763 8.503-7.234-5.255-7.233 5.255 2.763-8.503-7.233-5.254h8.94zM120.579 115.007l4.606 14.173h14.9l-12.055 8.757 4.605 14.171-12.056-8.758-12.054 8.758 4.605-14.171-12.056-8.757h14.901zM165.101 129.848l4.606 14.172h14.9l-12.055 8.757 4.604 14.173-12.055-8.76-12.054 8.76 4.604-14.173-12.055-8.757h14.9zM129.909 189.211l4.606 14.172h14.9l-12.055 8.758 4.604 14.171-12.055-8.759-12.054 8.759 4.604-14.171-12.055-8.758h14.9zM90.899 152.108l4.605 14.173h14.9l-12.055 8.757 4.604 14.173-12.054-8.76-12.055 8.76 4.604-14.173-12.055-8.757h14.9z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 341.33"><path fill="#0052B4" d="M0 0h512v341.34H0z"/><g fill="#FFF"><path d="m220.72 42.63 7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.36-15.9 8.36 3.03-17.7-12.86-12.54 17.78-2.58zM291.28 42.57l7.95 16.1 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59zM353.36 53.93l7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.87-12.54 17.78-2.58zM416.37 72.23l7.95 16.11 17.77 2.59-12.86 12.53 3.04 17.71-15.9-8.36-15.9 8.36 3.03-17.71-12.86-12.53 17.78-2.59zM158.64 53.93l7.95 16.11 17.78 2.58-12.87 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.86-12.54 17.77-2.58zM95.63 72.23l7.95 16.11 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59z"/></g><path fill="#FFDA44" d="m217.53 259.33-27.22-13.61-27.22-54.43h27.22l27.22-27.22 13.61-27.22 27.22-13.61 13.61 13.61 27.22 13.61v13.61l13.61 13.61 40.83 27.22L340 245.73l-40.83 40.83-13.61-27.22-40.83 27.22v27.22l-13.61-13.61-13.59-40.84z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#FFF" d="M0 85.337h512v341.326H0z"/><path fill="#D80027" d="M0 85.337h512v113.775H0z"/><path d="M0 312.888h512v113.775H0z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 60"><path fill="#FFF" d="M0 0h90v60H0z"/><path stroke="#7f7f7f" stroke-width=".25" fill="#ABABAB" d="M75.6 39.6c-1.1.7 0 1.8-.6 1.9-.6.1-1.5-1.4-.2-2.5 1.6-1.5 5.8 0 5.9 4.3 0 2.2-.9 6.8-7.2 6.8-7.6 0-11.4-5.7-11.4-11.4 0-4.8 3.7-13.5 6.5-14.6 3.1-1.2 6.7-3.5 6.8-5 0-.5-1.4-.1-3.3.9-3.1 1.7-6.6 2.5-6.6 1.4s2.9-3.1 4-4.6c1.2-1.6.9-5.5 3-5.5 7.6 0 9.9 7.7 7 11.7-1.9 2.6 4.3 1 4.3 1s0 5.3-3.2 7.3c-3 1.8-4.8 3.9-4.8 3.9s.2-4.6-.5-3.9c-.6.7-11.1 4.5-10.3 12 .3 3 4.5 5.4 8.5 5.2s5.7-2.4 5.8-4.9c.1-3.9-3-4.4-3.7-4zM10.7 43.6c.1 2.5 1.8 4.7 5.8 4.9s8.2-2.2 8.5-5.2c.8-7.5-9.7-11.3-10.3-12-.7-.7-.5 3.9-.5 3.9s-1.8-2.1-4.8-3.9c-3.2-2-3.2-7.3-3.2-7.3s6.2 1.6 4.3-1c-2.9-4-.6-11.7 7-11.7 2.1 0 1.8 3.9 3 5.5 1.1 1.5 4 3.5 4 4.6s-3.5.3-6.6-1.4c-1.9-1-3.3-1.4-3.3-.9.1 1.5 3.7 3.8 6.8 5 2.8 1.1 6.5 9.8 6.5 14.6 0 5.7-3.8 11.4-11.4 11.4-6.3 0-7.2-4.6-7.2-6.8.1-4.3 4.3-5.8 5.9-4.3 1.2 1.1.4 2.7-.2 2.5-.6-.1.6-1.2-.6-1.9-.6-.4-3.7.1-3.7 4z"/><path fill="#DE393A" d="M31 28.8v14c0 1.9 2.1 1.6 2.1 1.6h9.3c1.2 0 2.6 2.3 2.6 2.3s1.4-2.3 2.5-2.3h9.6s2 .2 2-1.8V28.7H31z"/><path fill="#3951A3" d="M31 13.1h28v15.7H31z"/><path fill="#FFF" d="M50.1 16.5c-.4 2.4-2.5 4.2-5.1 4.2-2.5 0-4.6-1.8-5.1-4.2-.5.9-.8 1.9-.8 3 0 3.3 2.6 5.9 5.9 5.9 3.3 0 5.9-2.6 5.9-5.9 0-1.1-.3-2.1-.8-3z"/><circle fill="#FEE05F" cx="39.1" cy="36.5" r="3"/><circle fill="#FEE05F" cx="50.9" cy="36.5" r="3"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#FFF" d="M0 85.337h512v341.326H0z"/><path d="M114.024 256.001 0 141.926v228.17z"/><path fill="#ffb915" d="M161.192 256 0 94.7v47.226l114.024 114.075L0 370.096v47.138z"/><path fill="#007847" d="M509.833 289.391c.058-.44.804-.878 2.167-1.318v-65.464H222.602L85.33 85.337H0V94.7L161.192 256 0 417.234v9.429h85.33l137.272-137.272h287.231z"/><path fill="#000c8a" d="M503.181 322.783H236.433l-103.881 103.88H512v-103.88z"/><path fill="#e1392d" d="M503.181 189.217H512V85.337H132.552l103.881 103.88z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#496E2D" d="M0 85.331h512v341.337H0z"/><path fill="#FF9811" d="M490.668 195.476h-48c0-8.836-7.164-16-16-16s-16 7.164-16 16h-48c0 8.836 7.697 16 16.533 16h-.533c0 8.836 7.162 16 16 16 0 8.836 7.162 16 16 16h32c8.836 0 16-7.164 16-16 8.836 0 16-7.164 16-16h-.533c8.837 0 16.533-7.164 16.533-16z"/><path fill="#D80027" d="M341.337 255.994h56.888v170.663h-56.888z"/><path fill="#FF9811" d="M455.112 255.994H512v170.663h-56.888z"/><path d="M398.225 255.994h56.888v170.663h-56.888z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path d="M0 85.333h512V426.67H0z"/><g fill="#FFDA44"><path d="M0 134.196h512v48.868H0zM0 329.668h512v48.868H0z"/></g><path fill="#057f44" d="M0 85.333h512v48.868H0z"/><g fill="#D80027"><path d="M0 183.069h512v48.868H0zM0 280.806h512v48.868H0z"/></g><path fill="#057f44" d="M0 378.542h512v48.128H0z"/><path fill="#FFF" d="M276.992 255.996 106.329 426.659H0V85.333h106.329z"/><path d="M256 255.996 85.334 426.662h20.987l170.667-170.666L106.321 85.33H85.334z"/><path fill="#D80027" d="m102.465 202.57 13.259 40.812h42.917l-34.718 25.226 13.26 40.814-34.718-25.224-34.72 25.224 13.262-40.814-34.718-25.226h42.915z"/><path fill="#FFDA44" d="m138.94 259.335-34.559-12.243s-2.553-23.955-2.708-24.766c-1.173-6.18-6.603-10.851-13.123-10.851-7.376 0-13.357 5.98-13.357 13.357 0 1.223.178 2.402.486 3.528l-9.689 9.755h17.229c0 17.882-13.344 17.882-13.344 35.691l7.402 17.809h44.522l7.422-17.809h-.004a17.782 17.782 0 0 0 1.381-5.231c6.397-2.589 8.342-9.24 8.342-9.24z"/></svg>
|
package/src/slides/export/pdf.ts
CHANGED
|
@@ -75,6 +75,17 @@ export async function printPage(page: PageLike, options: PrintOptions = {}): Pro
|
|
|
75
75
|
}
|
|
76
76
|
await page.evaluate(() => document.fonts.ready.then(() => undefined));
|
|
77
77
|
if (options.settle) await page.waitForTimeout(options.settle);
|
|
78
|
+
// WHY: a lazy or still-loading image read as broken while the PDF printed it (testimonial photos, 11 Nov 2026).
|
|
79
|
+
await page.evaluate(() =>
|
|
80
|
+
Promise.all(
|
|
81
|
+
[...document.images].map((img) => {
|
|
82
|
+
img.loading = "eager";
|
|
83
|
+
if (img.complete) return undefined;
|
|
84
|
+
const loaded = img.decode().catch(() => undefined);
|
|
85
|
+
return Promise.race([loaded, new Promise((resolve) => setTimeout(resolve, 15_000))]);
|
|
86
|
+
}),
|
|
87
|
+
).then(() => undefined),
|
|
88
|
+
);
|
|
78
89
|
const brokenImages = await page.evaluate(() =>
|
|
79
90
|
[...document.images]
|
|
80
91
|
.filter((img) => !img.complete || img.naturalWidth === 0)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { describe, expect, it } from "vite-plus/test";
|
|
2
|
+
import { flagAssets } from "./flags.js";
|
|
3
|
+
|
|
4
|
+
type Server = Parameters<ReturnType<typeof flagAssets>["configureServer"]>[0];
|
|
5
|
+
type Handler = Parameters<Server["middlewares"]["use"]>[0];
|
|
6
|
+
|
|
7
|
+
const connectApp = () => {};
|
|
8
|
+
|
|
9
|
+
describe("flagAssets", () => {
|
|
10
|
+
it("adds its middleware and hands Vite no post hook", () => {
|
|
11
|
+
const handlers: Handler[] = [];
|
|
12
|
+
// Connect's use() returns the app, and Vite calls a function returned from configureServer
|
|
13
|
+
// with no request: that crashed every dev server and vitest run.
|
|
14
|
+
const server = { middlewares: { use: (fn: Handler) => (handlers.push(fn), connectApp) } };
|
|
15
|
+
expect(flagAssets().configureServer(server)).toBeUndefined();
|
|
16
|
+
expect(handlers).toHaveLength(1);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("serves a known flag and passes anything else on", () => {
|
|
20
|
+
const handlers: Handler[] = [];
|
|
21
|
+
flagAssets().configureServer({ middlewares: { use: (fn: Handler) => handlers.push(fn) } });
|
|
22
|
+
const sent: { type?: string; body?: Buffer } = {};
|
|
23
|
+
const res = {
|
|
24
|
+
setHeader: (name: string, value: string) => {
|
|
25
|
+
if (name === "Content-Type") sent.type = value;
|
|
26
|
+
},
|
|
27
|
+
end: (body: Buffer) => {
|
|
28
|
+
sent.body = body;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
let passed = 0;
|
|
32
|
+
handlers[0]({ url: "/flags/XK.svg?v=1" }, res, () => passed++);
|
|
33
|
+
handlers[0]({ url: "/flags/../package.json" }, res, () => passed++);
|
|
34
|
+
expect(sent.type).toBe("image/svg+xml");
|
|
35
|
+
expect(sent.body?.toString()).toContain("<svg");
|
|
36
|
+
expect(passed).toBe(1);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
|
|
5
|
+
type Next = (err?: unknown) => void;
|
|
6
|
+
type Req = { url?: string };
|
|
7
|
+
type Res = { setHeader(name: string, value: string): void; end(body: Buffer): void };
|
|
8
|
+
type Server = { middlewares: { use(fn: (req: Req, res: Res, next: Next) => void): void } };
|
|
9
|
+
type BuildContext = {
|
|
10
|
+
environment?: { config?: { consumer?: string } };
|
|
11
|
+
emitFile(file: { type: "asset"; fileName: string; source: Buffer }): string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// From src/vite in the repo, or dist/vite in the published package.
|
|
15
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const FLAGS_DIR = [
|
|
17
|
+
join(here, "../components/flag/flags"),
|
|
18
|
+
join(here, "../../src/components/flag/flags"),
|
|
19
|
+
].find((dir) => existsSync(dir));
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Serves the `Flag` SVGs at `/flags/<CODE>.svg`: from the package in dev and preview, and as
|
|
23
|
+
* one static file each in the client build. Add it to `plugins` in `vite.config.ts`.
|
|
24
|
+
*/
|
|
25
|
+
export function flagAssets(options: { base?: string } = {}) {
|
|
26
|
+
const base = (options.base ?? "/flags").replace(/\/$/, "");
|
|
27
|
+
if (!FLAGS_DIR) throw new Error("@heyramzi/ui: the flag SVGs are missing from the package");
|
|
28
|
+
const dir = FLAGS_DIR;
|
|
29
|
+
const files = readdirSync(dir).filter((name) => /^[A-Z]{2}\.svg$/.test(name));
|
|
30
|
+
const known = new Set(files);
|
|
31
|
+
let ssrBuild = false;
|
|
32
|
+
|
|
33
|
+
// Returns nothing: Vite calls a function returned from configureServer as a post hook.
|
|
34
|
+
const serve = (server: Server): void => {
|
|
35
|
+
server.middlewares.use((req, res, next) => {
|
|
36
|
+
const path = req.url?.split("?")[0] ?? "";
|
|
37
|
+
const name = path.startsWith(`${base}/`) ? path.slice(base.length + 1) : "";
|
|
38
|
+
if (!known.has(name)) return next();
|
|
39
|
+
res.setHeader("Content-Type", "image/svg+xml");
|
|
40
|
+
res.setHeader("Cache-Control", "public, max-age=86400");
|
|
41
|
+
res.end(readFileSync(join(dir, name)));
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
name: "heyramzi-ui:flags",
|
|
47
|
+
configResolved(config: { build: { ssr: boolean | string } }) {
|
|
48
|
+
ssrBuild = Boolean(config.build.ssr);
|
|
49
|
+
},
|
|
50
|
+
configureServer: serve,
|
|
51
|
+
configurePreviewServer: serve,
|
|
52
|
+
generateBundle(this: BuildContext) {
|
|
53
|
+
const consumer = this.environment?.config?.consumer;
|
|
54
|
+
if (consumer ? consumer !== "client" : ssrBuild) return;
|
|
55
|
+
for (const name of files)
|
|
56
|
+
this.emitFile({
|
|
57
|
+
type: "asset",
|
|
58
|
+
fileName: `${base.replace(/^\//, "")}/${name}`,
|
|
59
|
+
source: readFileSync(join(dir, name)),
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|