@kodffe/tokens 0.0.0-stage → 0.7.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.
Files changed (141) hide show
  1. package/icons/kf-accept.svg +1 -0
  2. package/icons/kf-add.svg +1 -0
  3. package/icons/kf-ai.svg +1 -0
  4. package/icons/kf-arrow-right.svg +1 -0
  5. package/icons/kf-award.svg +1 -0
  6. package/icons/kf-b-discord.svg +1 -0
  7. package/icons/kf-b-facebook.svg +1 -0
  8. package/icons/kf-b-github.svg +1 -0
  9. package/icons/kf-b-gmail.svg +1 -0
  10. package/icons/kf-b-google.svg +1 -0
  11. package/icons/kf-b-hubspot.svg +1 -0
  12. package/icons/kf-b-instagram.svg +1 -0
  13. package/icons/kf-b-linkedin.svg +1 -0
  14. package/icons/kf-b-notion.svg +1 -0
  15. package/icons/kf-b-quickbooks.svg +1 -0
  16. package/icons/kf-b-shopify.svg +1 -0
  17. package/icons/kf-b-slack.svg +1 -0
  18. package/icons/kf-b-stripe.svg +1 -0
  19. package/icons/kf-b-tiktok.svg +1 -0
  20. package/icons/kf-b-whatsapp.svg +1 -0
  21. package/icons/kf-b-x.svg +1 -0
  22. package/icons/kf-b-youtube.svg +1 -0
  23. package/icons/kf-bell.svg +1 -0
  24. package/icons/kf-briefcase.svg +1 -0
  25. package/icons/kf-building.svg +1 -0
  26. package/icons/kf-c-calendar.svg +1 -0
  27. package/icons/kf-c-chat.svg +1 -0
  28. package/icons/kf-c-email.svg +1 -0
  29. package/icons/kf-c-external.svg +1 -0
  30. package/icons/kf-c-location.svg +1 -0
  31. package/icons/kf-c-phone.svg +1 -0
  32. package/icons/kf-c-website.svg +1 -0
  33. package/icons/kf-cancel.svg +1 -0
  34. package/icons/kf-cart.svg +1 -0
  35. package/icons/kf-chart.svg +1 -0
  36. package/icons/kf-check-square.svg +1 -0
  37. package/icons/kf-copy.svg +1 -0
  38. package/icons/kf-dashboard.svg +1 -0
  39. package/icons/kf-dislike.svg +1 -0
  40. package/icons/kf-download.svg +1 -0
  41. package/icons/kf-edit.svg +1 -0
  42. package/icons/kf-error.svg +1 -0
  43. package/icons/kf-eye-off.svg +1 -0
  44. package/icons/kf-eye.svg +1 -0
  45. package/icons/kf-filter.svg +1 -0
  46. package/icons/kf-h-alert.svg +1 -0
  47. package/icons/kf-h-celebrate.svg +1 -0
  48. package/icons/kf-h-confused.svg +1 -0
  49. package/icons/kf-h-connect.svg +1 -0
  50. package/icons/kf-h-error.svg +1 -0
  51. package/icons/kf-h-happy.svg +1 -0
  52. package/icons/kf-h-idea.svg +1 -0
  53. package/icons/kf-h-idle.svg +1 -0
  54. package/icons/kf-h-listening.svg +1 -0
  55. package/icons/kf-h-loading.svg +1 -0
  56. package/icons/kf-h-look.svg +1 -0
  57. package/icons/kf-h-lost.svg +1 -0
  58. package/icons/kf-h-love.svg +1 -0
  59. package/icons/kf-h-next.svg +1 -0
  60. package/icons/kf-h-od.svg +1 -0
  61. package/icons/kf-h-sad.svg +1 -0
  62. package/icons/kf-h-sleep.svg +1 -0
  63. package/icons/kf-h-speed.svg +1 -0
  64. package/icons/kf-h-success.svg +1 -0
  65. package/icons/kf-h-surprised.svg +1 -0
  66. package/icons/kf-h-thinking.svg +1 -0
  67. package/icons/kf-h-typing.svg +1 -0
  68. package/icons/kf-h-wink.svg +1 -0
  69. package/icons/kf-help.svg +1 -0
  70. package/icons/kf-history.svg +1 -0
  71. package/icons/kf-home.svg +1 -0
  72. package/icons/kf-inbox.svg +1 -0
  73. package/icons/kf-info.svg +1 -0
  74. package/icons/kf-like.svg +1 -0
  75. package/icons/kf-link.svg +1 -0
  76. package/icons/kf-lock.svg +1 -0
  77. package/icons/kf-logout.svg +1 -0
  78. package/icons/kf-love.svg +1 -0
  79. package/icons/kf-notify.svg +1 -0
  80. package/icons/kf-play.svg +1 -0
  81. package/icons/kf-remove.svg +1 -0
  82. package/icons/kf-search.svg +1 -0
  83. package/icons/kf-settings.svg +1 -0
  84. package/icons/kf-sliders.svg +1 -0
  85. package/icons/kf-store.svg +1 -0
  86. package/icons/kf-sync.svg +1 -0
  87. package/icons/kf-time.svg +1 -0
  88. package/icons/kf-trash.svg +1 -0
  89. package/icons/kf-upload.svg +1 -0
  90. package/icons/kf-user.svg +1 -0
  91. package/icons/kf-users.svg +1 -0
  92. package/icons/kf-v-alert.svg +1 -0
  93. package/icons/kf-v-celebrate.svg +1 -0
  94. package/icons/kf-v-confused.svg +1 -0
  95. package/icons/kf-v-connect.svg +1 -0
  96. package/icons/kf-v-error.svg +1 -0
  97. package/icons/kf-v-happy.svg +1 -0
  98. package/icons/kf-v-idea.svg +1 -0
  99. package/icons/kf-v-idle.svg +1 -0
  100. package/icons/kf-v-listening.svg +1 -0
  101. package/icons/kf-v-loading.svg +1 -0
  102. package/icons/kf-v-look.svg +1 -0
  103. package/icons/kf-v-lost.svg +1 -0
  104. package/icons/kf-v-love.svg +1 -0
  105. package/icons/kf-v-next.svg +1 -0
  106. package/icons/kf-v-od.svg +1 -0
  107. package/icons/kf-v-sad.svg +1 -0
  108. package/icons/kf-v-sleep.svg +1 -0
  109. package/icons/kf-v-speed.svg +1 -0
  110. package/icons/kf-v-success.svg +1 -0
  111. package/icons/kf-v-surprised.svg +1 -0
  112. package/icons/kf-v-thinking.svg +1 -0
  113. package/icons/kf-v-typing.svg +1 -0
  114. package/icons/kf-v-wink.svg +1 -0
  115. package/icons/kf-wallet.svg +1 -0
  116. package/icons/kf-warning.svg +1 -0
  117. package/icons/kf-zap.svg +1 -0
  118. package/logo/kodffe-eye-favicon.svg +8 -0
  119. package/logo/kodffe-eye-inline-horizontal-black.svg +8 -0
  120. package/logo/kodffe-eye-inline-horizontal-indigo.svg +8 -0
  121. package/logo/kodffe-eye-inline-horizontal-mint.svg +8 -0
  122. package/logo/kodffe-eye-inline-horizontal-white.svg +8 -0
  123. package/logo/kodffe-eye-lockup-black.svg +8 -0
  124. package/logo/kodffe-eye-lockup-indigo.svg +8 -0
  125. package/logo/kodffe-eye-lockup-mint.svg +8 -0
  126. package/logo/kodffe-eye-lockup-white.svg +8 -0
  127. package/logo/kodffe-eye-mark-black-small.svg +7 -0
  128. package/logo/kodffe-eye-mark-black.svg +7 -0
  129. package/logo/kodffe-eye-mark-indigo-small.svg +7 -0
  130. package/logo/kodffe-eye-mark-indigo.svg +7 -0
  131. package/logo/kodffe-eye-mark-mint-small.svg +7 -0
  132. package/logo/kodffe-eye-mark-mint.svg +7 -0
  133. package/logo/kodffe-eye-mark-white-small.svg +7 -0
  134. package/logo/kodffe-eye-mark-white.svg +7 -0
  135. package/logo/kodffe-eye-wordmark-black.svg +3 -0
  136. package/logo/kodffe-eye-wordmark-indigo.svg +3 -0
  137. package/logo/kodffe-eye-wordmark-mint.svg +3 -0
  138. package/logo/kodffe-eye-wordmark-white.svg +3 -0
  139. package/package.json +26 -3
  140. package/tokens.css +368 -0
  141. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -24 124 132" role="img" aria-label="Thinking"><style>.kfs-thinking-extra circle{animation:kfs-thinking-dot 1.2s infinite}.kfs-thinking-extra circle:nth-child(2){animation-delay:.2s}.kfs-thinking-extra circle:nth-child(3){animation-delay:.4s}@keyframes kfs-thinking-dot{0%,100%{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.kfs-thinking-extra circle{animation:none}}</style><g class="kfs-thinking-eye "><circle cx="50" cy="34" r="25.57" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><g class="kfs-thinking-pupil "><circle cx="55" cy="27" r="9.72" fill="currentColor"/></g></g><path class="kfs-thinking-mouth" d="M30,84 H70" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="butt" stroke-linejoin="round"/><g class="kfs-thinking-extra" fill="currentColor"><circle cx="84" cy="6" r="4"/><circle cx="95" cy="-4" r="5"/><circle cx="108" cy="-15" r="6"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -24 124 132" role="img" aria-label="Typing"><style>.kfs-typing-extra circle{animation:kfs-typing-dot 1.2s infinite}.kfs-typing-extra circle:nth-child(2){animation-delay:.2s}.kfs-typing-extra circle:nth-child(3){animation-delay:.4s}@keyframes kfs-typing-dot{0%,100%{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.kfs-typing-extra circle{animation:none}}</style><g class="kfs-typing-eye "><circle cx="50" cy="34" r="25.57" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><g class="kfs-typing-pupil "><circle cx="56" cy="38" r="9.72" fill="currentColor"/></g></g><path class="kfs-typing-mouth" d="M26,68 V74 A24,24 0 0 0 74,74 V68" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="butt" stroke-linejoin="round"/><g class="kfs-typing-extra" fill="currentColor"><circle cx="86" cy="88" r="5"/><circle cx="97" cy="88" r="5"/><circle cx="108" cy="88" r="5"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -24 124 132" role="img" aria-label="Wink"><style>.kfs-wink-winking{transform-box:fill-box;transform-origin:center;animation:kfs-wink-wink 3s infinite}@keyframes kfs-wink-wink{0%,80%,100%{transform:scaleY(1)}86%,90%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.kfs-wink-winking{animation:none}}</style><g class="kfs-wink-eye "><circle cx="50" cy="34" r="25.57" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><g class="kfs-wink-pupil kfs-wink-winking"><circle cx="57.67" cy="32.72" r="9.72" fill="currentColor"/></g></g><path class="kfs-wink-mouth" d="M26,68 V74 A24,24 0 0 0 74,74 V68" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="butt" stroke-linejoin="round"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 112" role="img" aria-label="Wallet"><rect x="14" y="30" width="84" height="66" rx="12" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><path d="M24,30 L70,16 A6,6 0 0 1 78,22 V30" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><path d="M98,50 H78 A13,13 0 0 0 78,76 H98" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/><circle cx="79" cy="63" r="5" fill="currentColor"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 112" role="img" aria-label="Warning"><g transform="translate(56 56) scale(1.47) translate(-56 -35.5)"><path d="M56,8 V38" fill="none" stroke="currentColor" stroke-width="7.47" stroke-linecap="round" stroke-linejoin="round"/><circle cx="56" cy="56" r="7" fill="currentColor"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 112" role="img" aria-label="Automation"><path d="M62,10 L22,64 H54 L48,102 L90,46 H58 Z" fill="none" stroke="currentColor" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/></svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 112" role="img" aria-label="Kodffe">
2
+ <rect width="112" height="112" rx="24" fill="#2D3590"/>
3
+ <g id="mark" transform="translate(56 56) scale(1.28) translate(-32.8 18)">
4
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#00E9C2" stroke-width="7.2"/>
5
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
6
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#00E9C2" stroke-width="7.2" stroke-linecap="butt"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185.32 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#000000" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM105.22 0V-36H126.9V-29.98H111.25V-21H123.9V-15H111.25V0ZM131.9 0V-36H153.57V-29.98H137.92V-21H150.57V-15H137.92V0ZM158.57 0V-36H181.82V-30.35H164.6V-21.48H178.82V-15.83H164.6V-5.65H181.82V0Z"/>
3
+ <g id="mark" transform="translate(35.02 43)">
4
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#000000" stroke-width="6"/>
5
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#000000"/>
6
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="butt"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185.32 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#191D4E" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM105.22 0V-36H126.9V-29.98H111.25V-21H123.9V-15H111.25V0ZM131.9 0V-36H153.57V-29.98H137.92V-21H150.57V-15H137.92V0ZM158.57 0V-36H181.82V-30.35H164.6V-21.48H178.82V-15.83H164.6V-5.65H181.82V0Z"/>
3
+ <g id="mark" transform="translate(35.02 43)">
4
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#2D3590" stroke-width="6"/>
5
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#191D4E"/>
6
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#2D3590" stroke-width="6" stroke-linecap="butt"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185.32 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM105.22 0V-36H126.9V-29.98H111.25V-21H123.9V-15H111.25V0ZM131.9 0V-36H153.57V-29.98H137.92V-21H150.57V-15H137.92V0ZM158.57 0V-36H181.82V-30.35H164.6V-21.48H178.82V-15.83H164.6V-5.65H181.82V0Z"/>
3
+ <g id="mark" transform="translate(35.02 43)">
4
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#00E9C2" stroke-width="6"/>
5
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
6
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#00E9C2" stroke-width="6" stroke-linecap="butt"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185.32 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM105.22 0V-36H126.9V-29.98H111.25V-21H123.9V-15H111.25V0ZM131.9 0V-36H153.57V-29.98H137.92V-21H150.57V-15H137.92V0ZM158.57 0V-36H181.82V-30.35H164.6V-21.48H178.82V-15.83H164.6V-5.65H181.82V0Z"/>
3
+ <g id="mark" transform="translate(35.02 43)">
4
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#FFFFFF" stroke-width="6"/>
5
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
6
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#FFFFFF" stroke-width="6" stroke-linecap="butt"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 293 80" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(40 40) scale(1.006) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#000000" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#000000"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ <path id="wordmark" transform="translate(94 57)" fill="#000000" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 293 80" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(40 40) scale(1.006) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#2D3590" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#191D4E"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#2D3590" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ <path id="wordmark" transform="translate(94 57)" fill="#191D4E" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 293 80" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(40 40) scale(1.006) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#00E9C2" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#00E9C2" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ <path id="wordmark" transform="translate(94 57)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 293 80" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(40 40) scale(1.006) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#FFFFFF" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#FFFFFF" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ <path id="wordmark" transform="translate(94 57)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
8
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.402) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#000000" stroke-width="7.8"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="6.52" fill="#000000"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#000000" stroke-width="7.8" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.341) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#000000" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#000000"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.402) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#2D3590" stroke-width="7.8"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="6.52" fill="#191D4E"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#2D3590" stroke-width="7.8" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.341) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#2D3590" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#191D4E"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#2D3590" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.402) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#00E9C2" stroke-width="7.8"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="6.52" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#00E9C2" stroke-width="7.8" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.341) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#00E9C2" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#00E9C2" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.402) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#FFFFFF" stroke-width="7.8"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="6.52" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#FFFFFF" stroke-width="7.8" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="img" aria-label="Kodffe">
2
+ <g id="mark" transform="translate(50 50) scale(1.341) translate(-32.8 18)">
3
+ <circle id="eye-ring" cx="18.75" cy="-18" r="15.75" fill="none" stroke="#FFFFFF" stroke-width="6"/>
4
+ <circle id="pupil" cx="22.53" cy="-18" r="5.67" fill="#FFFFFF"/>
5
+ <path id="open-d" d="M41.1 -33H47.6A15 15 0 0 1 47.6 -3H41.1" fill="none" stroke="#FFFFFF" stroke-width="6" stroke-linecap="butt"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#000000" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#191D4E" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188 50" role="img" aria-label="Kodffe">
2
+ <path id="wordmark" transform="translate(0 43)" fill="#FFFFFF" d="M3.5 0V-36H9.53V-19.3L23.9 -36H31.3L15.83 -18.35L32.35 0H24.7L9.53 -16.8V0ZM49.65 0.75Q44.25 0.75 40.4 -1.61Q36.55 -3.98 34.49 -8.2Q32.42 -12.43 32.42 -18Q32.42 -23.58 34.49 -27.8Q36.55 -32.02 40.4 -34.39Q44.25 -36.75 49.65 -36.75Q55.05 -36.75 58.91 -34.39Q62.78 -32.02 64.84 -27.8Q66.9 -23.58 66.9 -18Q66.9 -12.43 64.84 -8.2Q62.78 -3.98 58.91 -1.61Q55.05 0.75 49.65 0.75ZM49.65 -4.93Q53.28 -4.9 55.69 -6.53Q58.1 -8.15 59.31 -11.1Q60.53 -14.05 60.53 -18Q60.53 -21.95 59.31 -24.86Q58.1 -27.78 55.69 -29.4Q53.28 -31.03 49.65 -31.08Q46.03 -31.1 43.62 -29.48Q41.23 -27.85 40.01 -24.9Q38.8 -21.95 38.8 -18Q38.8 -14.05 40 -11.14Q41.2 -8.22 43.61 -6.6Q46.03 -4.98 49.65 -4.93ZM72.4 0V-36H83.88Q84.33 -36 85.66 -35.98Q87 -35.95 88.25 -35.8Q92.53 -35.25 95.49 -32.76Q98.45 -30.28 99.97 -26.43Q101.5 -22.58 101.5 -18Q101.5 -13.43 99.97 -9.58Q98.45 -5.73 95.49 -3.24Q92.53 -0.75 88.25 -0.2Q87.03 -0.05 85.68 -0.03Q84.33 0 83.88 0ZM78.53 -5.68H83.88Q84.62 -5.68 85.79 -5.73Q86.95 -5.78 87.85 -5.95Q90.4 -6.43 92 -8.23Q93.6 -10.03 94.36 -12.6Q95.12 -15.18 95.12 -18Q95.12 -20.93 94.35 -23.5Q93.58 -26.08 91.96 -27.83Q90.35 -29.58 87.85 -30.05Q86.95 -30.25 85.79 -30.29Q84.62 -30.33 83.88 -30.33H78.53ZM107.93 0V-36H129.6V-29.98H113.95V-21H126.6V-15H113.95V0ZM134.6 0V-36H156.28V-29.98H140.63V-21H153.28V-15H140.63V0ZM161.28 0V-36H184.53V-30.35H167.3V-21.48H181.53V-15.83H167.3V-5.65H184.53V0Z"/>
3
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,29 @@
1
1
  {
2
2
  "name": "@kodffe/tokens",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.7.0",
4
+ "description": "Kodffe design tokens: Tailwind v4 theme, light/dark semantic colors, icons and logo files.",
5
+ "type": "module",
6
+ "license": "UNLICENSED",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/kodffe/kodffe-web.git",
10
+ "directory": "packages/tokens"
11
+ },
12
+ "files": [
13
+ "tokens.css",
14
+ "icons",
15
+ "logo"
16
+ ],
17
+ "exports": {
18
+ "./tokens.css": "./tokens.css",
19
+ "./icons/*": "./icons/*",
20
+ "./logo/*": "./logo/*"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public",
24
+ "registry": "https://registry.npmjs.org"
25
+ },
26
+ "scripts": {
27
+ "sync": "node scripts/sync-assets.mjs"
28
+ }
6
29
  }
package/tokens.css ADDED
@@ -0,0 +1,368 @@
1
+ /*
2
+ * @kodffe/tokens — Tailwind CSS v4 theme for every Kodffe product.
3
+ * Usage: @import "tailwindcss"; @import "@kodffe/tokens/tokens.css";
4
+ * Source: docs/design/tokens.md, docs/design/brand-colors-and-typography.md
5
+ */
6
+
7
+ /* `dark:` utilities follow the explicit theme attribute; semantic colors below also follow the OS setting. */
8
+ @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
9
+
10
+ @theme {
11
+ /* Brand: indigo replaces Tailwind's indigo so every indigo-* class is on-brand */
12
+ --color-indigo-50: #eef0fa;
13
+ --color-indigo-100: #dde1f4;
14
+ --color-indigo-200: #bcc3e9;
15
+ --color-indigo-300: #949fdb;
16
+ --color-indigo-400: #6b7bca;
17
+ --color-indigo-500: #4b5bb8;
18
+ --color-indigo-600: #2d3590;
19
+ --color-indigo-700: #252c78;
20
+ --color-indigo-800: #1f2468;
21
+ --color-indigo-900: #181c50;
22
+ --color-indigo-950: #10132f;
23
+
24
+ --color-mint-50: #e6fdf9;
25
+ --color-mint-100: #ccfbf3;
26
+ --color-mint-200: #99f6e7;
27
+ --color-mint-300: #66f2db;
28
+ --color-mint-400: #33edce;
29
+ --color-mint-500: #00e9c2;
30
+ --color-mint-600: #00b89a;
31
+ --color-mint-700: #008f78;
32
+ --color-mint-800: #006b5a;
33
+ --color-mint-900: #00473c;
34
+ --color-mint-950: #002a23;
35
+
36
+ --color-ink: #191d4e;
37
+
38
+ /* Semantic scales (warning and danger are the only non-brand hues) */
39
+ --color-warning-50: #fffbeb;
40
+ --color-warning-200: #fde68a;
41
+ --color-warning-400: #fbbf24;
42
+ --color-warning-500: #f59e0b;
43
+ --color-warning-700: #b45309;
44
+ --color-warning-800: #92400e;
45
+ --color-danger-50: #fef2f2;
46
+ --color-danger-200: #fecaca;
47
+ --color-danger-400: #f87171;
48
+ --color-danger-600: #dc2626;
49
+ --color-danger-700: #b91c1c;
50
+
51
+ /* Typography */
52
+ --font-display: 'Manrope', ui-sans-serif, system-ui, sans-serif;
53
+ --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
54
+ --font-mono: 'JetBrains Mono', ui-monospace, monospace;
55
+
56
+ /* Radius */
57
+ --radius-xs: 6px;
58
+ --radius-sm: 12px;
59
+ --radius-md: 16px;
60
+ --radius-lg: 20px;
61
+ --radius-xl: 28px;
62
+ --radius-2xl: 40px;
63
+
64
+ /* Breakpoints (mobile first) */
65
+ --breakpoint-sm: 640px;
66
+ --breakpoint-md: 960px;
67
+ --breakpoint-lg: 1200px;
68
+
69
+ /* Elevation and motion */
70
+ --shadow-raised: 0 30px 60px -30px rgb(45 53 144 / 0.25);
71
+ --shadow-overlay: 0 24px 48px -12px rgb(16 19 47 / 0.35);
72
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
73
+ --ease-emphasized: cubic-bezier(0.3, 0, 0, 1.2);
74
+ }
75
+
76
+ /* Theme-aware roles: use these in components (bg-surface, text-fg, border-border…) */
77
+ @theme inline {
78
+ --color-bg: var(--kf-bg);
79
+ --color-surface: var(--kf-surface);
80
+ --color-surface-muted: var(--kf-surface-muted);
81
+ --color-fg: var(--kf-fg);
82
+ --color-fg-muted: var(--kf-fg-muted);
83
+ --color-border: var(--kf-border);
84
+ --color-primary: var(--kf-primary);
85
+ --color-primary-hover: var(--kf-primary-hover);
86
+ --color-on-primary: var(--kf-on-primary);
87
+ --color-accent: var(--kf-accent);
88
+ --color-accent-hover: var(--kf-accent-hover);
89
+ --color-on-accent: var(--kf-on-accent);
90
+ --color-link: var(--kf-link);
91
+ --color-focus: var(--kf-focus);
92
+ /* Wordmark and mascot on the page background (header, footer). */
93
+ --color-logo: var(--kf-logo);
94
+ --color-overlay: var(--kf-overlay);
95
+
96
+ --color-success-surface: var(--kf-success-surface);
97
+ --color-success-border: var(--kf-success-border);
98
+ --color-success-fg: var(--kf-success-fg);
99
+ --color-success-icon: var(--kf-success-icon);
100
+ --color-warning-surface: var(--kf-warning-surface);
101
+ --color-warning-border: var(--kf-warning-border);
102
+ --color-warning-fg: var(--kf-warning-fg);
103
+ --color-warning-icon: var(--kf-warning-icon);
104
+ --color-danger-surface: var(--kf-danger-surface);
105
+ --color-danger-border: var(--kf-danger-border);
106
+ --color-danger-fg: var(--kf-danger-fg);
107
+ --color-danger-icon: var(--kf-danger-icon);
108
+ --color-info-surface: var(--kf-info-surface);
109
+ --color-info-border: var(--kf-info-border);
110
+ --color-info-fg: var(--kf-info-fg);
111
+ --color-info-icon: var(--kf-info-icon);
112
+
113
+ /* Brand surfaces and status solids (ADR-0013): products override brand roles, never status roles */
114
+ --color-primary-strong: var(--kf-primary-strong);
115
+ --color-surface-inverse: var(--kf-surface-inverse);
116
+ --color-on-surface-inverse: var(--kf-on-surface-inverse);
117
+ --color-success-solid: var(--kf-success-solid);
118
+ --color-on-success-solid: var(--kf-on-success-solid);
119
+ --color-warning-solid: var(--kf-warning-solid);
120
+ --color-on-warning-solid: var(--kf-on-warning-solid);
121
+ --color-danger-solid: var(--kf-danger-solid);
122
+ --color-danger-solid-hover: var(--kf-danger-solid-hover);
123
+ --color-on-danger-solid: var(--kf-on-danger-solid);
124
+
125
+ /* Category palette (ADR-0013): projects, clients, chart series, status dots */
126
+ --color-category-1: var(--kf-category-1);
127
+ --color-category-2: var(--kf-category-2);
128
+ --color-category-3: var(--kf-category-3);
129
+ --color-category-4: var(--kf-category-4);
130
+ --color-category-5: var(--kf-category-5);
131
+ --color-category-6: var(--kf-category-6);
132
+ --color-category-7: var(--kf-category-7);
133
+ --color-category-8: var(--kf-category-8);
134
+ --color-category-9: var(--kf-category-9);
135
+ --color-category-10: var(--kf-category-10);
136
+ --color-category-11: var(--kf-category-11);
137
+ --color-category-12: var(--kf-category-12);
138
+
139
+ /* Layout (ADR-0013): px-gutter, py-section-md, p-card, h-appbar, w-sidebar, w-subnav */
140
+ --spacing-gutter: var(--kf-gutter);
141
+ --spacing-section-sm: var(--kf-section-sm);
142
+ --spacing-section-md: var(--kf-section-md);
143
+ --spacing-section-lg: var(--kf-section-lg);
144
+ --spacing-card: var(--kf-card-padding);
145
+ --spacing-appbar: var(--kf-appbar-height);
146
+ --spacing-sidebar: var(--kf-sidebar-width);
147
+ --spacing-subnav: var(--kf-subnav-width);
148
+ }
149
+
150
+ /* Content widths (ADR-0013): max-w-article, max-w-form, max-w-app */
151
+ @theme {
152
+ --container-article: 42rem;
153
+ --container-form: 50rem;
154
+ --container-app: 90rem;
155
+ }
156
+
157
+ :root {
158
+ --kf-bg: #f8fafc;
159
+ --kf-surface: #ffffff;
160
+ --kf-surface-muted: #eef0fa;
161
+ --kf-fg: #191d4e;
162
+ --kf-fg-muted: #475569;
163
+ --kf-border: #e2e8f0;
164
+ --kf-primary: #2d3590;
165
+ --kf-primary-hover: #1f2468;
166
+ --kf-on-primary: #ffffff;
167
+ --kf-accent: #00e9c2;
168
+ --kf-accent-hover: #33edce;
169
+ --kf-on-accent: #191d4e;
170
+ --kf-link: #2d3590;
171
+ /* Focus ring: ≥3:1 against the background in each theme (indigo on light, mint on dark). */
172
+ --kf-focus: #2d3590;
173
+ --kf-logo: #2d3590;
174
+ --kf-overlay: rgb(16 19 47 / 0.55);
175
+
176
+ --kf-success-surface: #e6fdf9;
177
+ --kf-success-border: #99f6e7;
178
+ --kf-success-fg: #006b5a;
179
+ --kf-success-icon: #008f78;
180
+ --kf-warning-surface: #fffbeb;
181
+ --kf-warning-border: #fde68a;
182
+ --kf-warning-fg: #92400e;
183
+ --kf-warning-icon: #b45309;
184
+ --kf-danger-surface: #fef2f2;
185
+ --kf-danger-border: #fecaca;
186
+ --kf-danger-fg: #b91c1c;
187
+ --kf-danger-icon: #dc2626;
188
+ --kf-info-surface: #eef0fa;
189
+ --kf-info-border: #bcc3e9;
190
+ --kf-info-fg: #252c78;
191
+ --kf-info-icon: #4b5bb8;
192
+ /* Categorical chart palette (ADR-0005): ≥3:1 against the surface, distinct in both themes */
193
+ --kf-chart-1: #2d3590;
194
+ --kf-chart-2: #00a88c;
195
+ --kf-chart-3: #d97706;
196
+ --kf-chart-4: #e5484d;
197
+ --kf-chart-5: #0284c7;
198
+
199
+ /* Brand surfaces (override per product) and status solids (never override) — ADR-0013 */
200
+ --kf-primary-strong: #252c78;
201
+ --kf-surface-inverse: #191d4e;
202
+ --kf-on-surface-inverse: #ffffff;
203
+ --kf-gradient-from: #2d3590;
204
+ --kf-gradient-to: #007a68;
205
+ --kf-gradient-vivid-to: #00e9c2;
206
+ --kf-success-solid: #00e9c2;
207
+ --kf-on-success-solid: #191d4e;
208
+ --kf-warning-solid: #f59e0b;
209
+ --kf-on-warning-solid: #191d4e;
210
+ --kf-danger-solid: #dc2626;
211
+ --kf-danger-solid-hover: #b91c1c;
212
+ --kf-on-danger-solid: #ffffff;
213
+
214
+ /* Category palette: white text ≥4.5:1 on each hue; never the only cue (add a label or legend) */
215
+ --kf-category-1: #4b5bb8;
216
+ --kf-category-2: #007f6b;
217
+ --kf-category-3: #2563c9;
218
+ --kf-category-4: #7c4ddb;
219
+ --kf-category-5: #db2777;
220
+ --kf-category-6: #dc2626;
221
+ --kf-category-7: #c2410c;
222
+ --kf-category-8: #a16207;
223
+ --kf-category-9: #4d7c0f;
224
+ --kf-category-10: #15803d;
225
+ --kf-category-11: #0e7490;
226
+ --kf-category-12: #64748b;
227
+
228
+ /* Layout (ADR-0013); responsive values below */
229
+ --kf-gutter: 16px;
230
+ --kf-section-sm: 48px;
231
+ --kf-section-md: 64px;
232
+ --kf-section-lg: 96px;
233
+ --kf-card-padding: 16px;
234
+ --kf-appbar-height: 4rem;
235
+ --kf-sidebar-width: 18rem;
236
+ --kf-subnav-width: 15rem;
237
+ color-scheme: light;
238
+ }
239
+
240
+ @media (min-width: 640px) {
241
+ :root {
242
+ --kf-gutter: 24px;
243
+ --kf-card-padding: 24px;
244
+ }
245
+ }
246
+
247
+ @media (min-width: 960px) {
248
+ :root {
249
+ --kf-gutter: 32px;
250
+ --kf-section-sm: 64px;
251
+ --kf-section-md: 96px;
252
+ --kf-section-lg: 160px;
253
+ }
254
+ }
255
+
256
+ /* Dark values, applied by OS preference (unless the user picked light) or by data-theme="dark" */
257
+ @media (prefers-color-scheme: dark) {
258
+ :root:not([data-theme='light']) {
259
+ --kf-bg: #0c0f26;
260
+ --kf-surface: #151a3c;
261
+ --kf-surface-muted: #1f2468;
262
+ --kf-fg: #eef0fa;
263
+ --kf-fg-muted: #a7aed6;
264
+ --kf-border: #272d5c;
265
+ --kf-primary: #4b5bb8;
266
+ --kf-primary-hover: #6b7bca;
267
+ --kf-link: #00e9c2;
268
+ --kf-focus: #00e9c2;
269
+ --kf-logo: #eef0fa;
270
+ --kf-overlay: rgb(0 0 0 / 0.6);
271
+ --kf-success-surface: #00473c;
272
+ --kf-success-border: #006b5a;
273
+ --kf-success-fg: #99f6e7;
274
+ --kf-success-icon: #00e9c2;
275
+ --kf-warning-surface: #3b2a06;
276
+ --kf-warning-border: #92400e;
277
+ --kf-warning-fg: #fde68a;
278
+ --kf-warning-icon: #fbbf24;
279
+ --kf-danger-surface: #3b1212;
280
+ --kf-danger-border: #b91c1c;
281
+ --kf-danger-fg: #fecaca;
282
+ --kf-danger-icon: #f87171;
283
+ --kf-info-surface: #1f2468;
284
+ --kf-info-border: #4b5bb8;
285
+ --kf-info-fg: #dde1f4;
286
+ --kf-info-icon: #949fdb;
287
+ --kf-chart-1: #8b95e6;
288
+ --kf-chart-2: #00e9c2;
289
+ --kf-chart-3: #fbbf24;
290
+ --kf-chart-4: #f87171;
291
+ --kf-chart-5: #38bdf8;
292
+ --kf-category-1: #8b95e6;
293
+ --kf-category-2: #2dd4bf;
294
+ --kf-category-3: #60a5fa;
295
+ --kf-category-4: #a78bfa;
296
+ --kf-category-5: #f472b6;
297
+ --kf-category-6: #f87171;
298
+ --kf-category-7: #fb923c;
299
+ --kf-category-8: #fbbf24;
300
+ --kf-category-9: #a3e635;
301
+ --kf-category-10: #4ade80;
302
+ --kf-category-11: #22d3ee;
303
+ --kf-category-12: #94a3b8;
304
+ color-scheme: dark;
305
+ }
306
+ }
307
+
308
+ [data-theme='dark'] {
309
+ --kf-bg: #0c0f26;
310
+ --kf-surface: #151a3c;
311
+ --kf-surface-muted: #1f2468;
312
+ --kf-fg: #eef0fa;
313
+ --kf-fg-muted: #a7aed6;
314
+ --kf-border: #272d5c;
315
+ --kf-primary: #4b5bb8;
316
+ --kf-primary-hover: #6b7bca;
317
+ --kf-link: #00e9c2;
318
+ --kf-focus: #00e9c2;
319
+ --kf-logo: #eef0fa;
320
+ --kf-overlay: rgb(0 0 0 / 0.6);
321
+ --kf-success-surface: #00473c;
322
+ --kf-success-border: #006b5a;
323
+ --kf-success-fg: #99f6e7;
324
+ --kf-success-icon: #00e9c2;
325
+ --kf-warning-surface: #3b2a06;
326
+ --kf-warning-border: #92400e;
327
+ --kf-warning-fg: #fde68a;
328
+ --kf-warning-icon: #fbbf24;
329
+ --kf-danger-surface: #3b1212;
330
+ --kf-danger-border: #b91c1c;
331
+ --kf-danger-fg: #fecaca;
332
+ --kf-danger-icon: #f87171;
333
+ --kf-info-surface: #1f2468;
334
+ --kf-info-border: #4b5bb8;
335
+ --kf-info-fg: #dde1f4;
336
+ --kf-info-icon: #949fdb;
337
+ --kf-chart-1: #8b95e6;
338
+ --kf-chart-2: #00e9c2;
339
+ --kf-chart-3: #fbbf24;
340
+ --kf-chart-4: #f87171;
341
+ --kf-chart-5: #38bdf8;
342
+ --kf-category-1: #8b95e6;
343
+ --kf-category-2: #2dd4bf;
344
+ --kf-category-3: #60a5fa;
345
+ --kf-category-4: #a78bfa;
346
+ --kf-category-5: #f472b6;
347
+ --kf-category-6: #f87171;
348
+ --kf-category-7: #fb923c;
349
+ --kf-category-8: #fbbf24;
350
+ --kf-category-9: #a3e635;
351
+ --kf-category-10: #4ade80;
352
+ --kf-category-11: #22d3ee;
353
+ --kf-category-12: #94a3b8;
354
+ color-scheme: dark;
355
+ }
356
+
357
+ /*
358
+ * Brand gradient for surfaces with content (white text and icons): indigo to deep teal keeps white text
359
+ * at ≥5.2:1 across the whole gradient. The vivid indigo → mint gradient (1.6:1 for white text at the mint
360
+ * end) is decorative only: never put text or icons on it.
361
+ */
362
+ @utility bg-gradient-brand {
363
+ background-image: linear-gradient(135deg, var(--kf-gradient-from) 0%, var(--kf-gradient-to) 100%);
364
+ }
365
+
366
+ @utility bg-gradient-brand-vivid {
367
+ background-image: linear-gradient(135deg, var(--kf-gradient-from) 0%, var(--kf-gradient-vivid-to) 100%);
368
+ }