ui-foundations 0.1.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 (342) hide show
  1. package/README.md +259 -0
  2. package/dist/assets/fonts/README.md +5 -0
  3. package/dist/assets/icons/location-roundtrip.svg +5 -0
  4. package/dist/assets/icons/location-track.svg +4 -0
  5. package/dist/assets/icons/location.svg +4 -0
  6. package/dist/assets/icons/lock-checkmark.svg +4 -0
  7. package/dist/assets/icons/lock-close.svg +4 -0
  8. package/dist/assets/icons/lock-open.svg +5 -0
  9. package/dist/assets/icons/login.svg +4 -0
  10. package/dist/assets/icons/logout.svg +3 -0
  11. package/dist/assets/icons/loudspeaker.svg +3 -0
  12. package/dist/assets/icons/lounge-chair.svg +5 -0
  13. package/dist/assets/icons/luggage-backpack.svg +4 -0
  14. package/dist/assets/icons/luggage-backpacker.svg +4 -0
  15. package/dist/assets/icons/luggage-box.svg +5 -0
  16. package/dist/assets/icons/luggage-extra.svg +4 -0
  17. package/dist/assets/icons/luggage-golf.svg +4 -0
  18. package/dist/assets/icons/luggage-hand-plus.svg +5 -0
  19. package/dist/assets/icons/luggage-hand.svg +4 -0
  20. package/dist/assets/icons/luggage-liquids.svg +6 -0
  21. package/dist/assets/icons/luggage-notincluded.svg +3 -0
  22. package/dist/assets/icons/luggage-plus.svg +5 -0
  23. package/dist/assets/icons/luggage-sport.svg +4 -0
  24. package/dist/assets/icons/luggage-suitcase-extra.svg +5 -0
  25. package/dist/assets/icons/luggage-suitcase.svg +4 -0
  26. package/dist/assets/icons/luggage-trolley-extra.svg +5 -0
  27. package/dist/assets/icons/luggage-trolley.svg +3 -0
  28. package/dist/assets/icons/luggage-weekender.svg +4 -0
  29. package/dist/assets/icons/luggage.svg +3 -0
  30. package/dist/assets/icons/lying-chair.svg +4 -0
  31. package/dist/assets/icons/magnet.svg +3 -0
  32. package/dist/assets/icons/mail.svg +4 -0
  33. package/dist/assets/icons/map.svg +3 -0
  34. package/dist/assets/icons/meal-serving-plate.svg +5 -0
  35. package/dist/assets/icons/meal.svg +5 -0
  36. package/dist/assets/icons/medal.svg +4 -0
  37. package/dist/assets/icons/megaphone.svg +5 -0
  38. package/dist/assets/icons/menu-filter.svg +3 -0
  39. package/dist/assets/icons/menu.svg +3 -0
  40. package/dist/assets/icons/message-alert.svg +3 -0
  41. package/dist/assets/icons/message-info.svg +4 -0
  42. package/dist/assets/icons/message-love.svg +4 -0
  43. package/dist/assets/icons/message-push.svg +4 -0
  44. package/dist/assets/icons/message-text.svg +4 -0
  45. package/dist/assets/icons/message.svg +3 -0
  46. package/dist/assets/icons/mic.svg +4 -0
  47. package/dist/assets/icons/miniclub.svg +5 -0
  48. package/dist/assets/icons/minimize.svg +3 -0
  49. package/dist/assets/icons/minus-circled.svg +4 -0
  50. package/dist/assets/icons/minus-heavy.svg +3 -0
  51. package/dist/assets/icons/minus.svg +3 -0
  52. package/dist/assets/icons/moon.svg +3 -0
  53. package/dist/assets/icons/moose.svg +5 -0
  54. package/dist/assets/icons/mountain.svg +4 -0
  55. package/dist/assets/icons/mouth.svg +3 -0
  56. package/dist/assets/icons/muffin.svg +4 -0
  57. package/dist/assets/icons/museum.svg +3 -0
  58. package/dist/assets/icons/mustache.svg +3 -0
  59. package/dist/assets/icons/network.svg +3 -0
  60. package/dist/assets/icons/newsletter.svg +6 -0
  61. package/dist/assets/icons/none.svg +3 -0
  62. package/dist/assets/icons/nordic-walking.svg +3 -0
  63. package/dist/assets/icons/notepad.svg +3 -0
  64. package/dist/assets/icons/number.svg +3 -0
  65. package/dist/assets/icons/on-board-meals.svg +4 -0
  66. package/dist/assets/icons/paperjet.svg +4 -0
  67. package/dist/assets/icons/parasol.svg +4 -0
  68. package/dist/assets/icons/parking-garage.svg +4 -0
  69. package/dist/assets/icons/parking-time.svg +4 -0
  70. package/dist/assets/icons/pass-boarding.svg +4 -0
  71. package/dist/assets/icons/paw.svg +3 -0
  72. package/dist/assets/icons/pencil.svg +3 -0
  73. package/dist/assets/icons/pharmacy.svg +4 -0
  74. package/dist/assets/icons/phone-checkin.svg +4 -0
  75. package/dist/assets/icons/phone-push.svg +5 -0
  76. package/dist/assets/icons/phone.svg +3 -0
  77. package/dist/assets/icons/picture-mountain.svg +5 -0
  78. package/dist/assets/icons/picture-stack.svg +5 -0
  79. package/dist/assets/icons/picture-sunset.svg +4 -0
  80. package/dist/assets/icons/picture.svg +3 -0
  81. package/dist/assets/icons/piggy-bank.svg +5 -0
  82. package/dist/assets/icons/pin.svg +3 -0
  83. package/dist/assets/icons/play-circled.svg +4 -0
  84. package/dist/assets/icons/play-next.svg +3 -0
  85. package/dist/assets/icons/play-pause.svg +3 -0
  86. package/dist/assets/icons/play-prev.svg +3 -0
  87. package/dist/assets/icons/play-stop-circled.svg +4 -0
  88. package/dist/assets/icons/play-stop.svg +3 -0
  89. package/dist/assets/icons/play.svg +3 -0
  90. package/dist/assets/icons/plug.svg +3 -0
  91. package/dist/assets/icons/plus-circled.svg +4 -0
  92. package/dist/assets/icons/plus-heavy.svg +3 -0
  93. package/dist/assets/icons/plus.svg +3 -0
  94. package/dist/assets/icons/popsicle.svg +3 -0
  95. package/dist/assets/icons/postit.svg +4 -0
  96. package/dist/assets/icons/pricetag.svg +4 -0
  97. package/dist/assets/icons/printer.svg +5 -0
  98. package/dist/assets/icons/projector-canvas.svg +3 -0
  99. package/dist/assets/icons/puzzle.svg +3 -0
  100. package/dist/assets/icons/question-mark-bold.svg +4 -0
  101. package/dist/assets/icons/question-mark-circled.svg +4 -0
  102. package/dist/assets/icons/question-mark-ultrabold.svg +4 -0
  103. package/dist/assets/icons/question-mark.svg +3 -0
  104. package/dist/assets/icons/rainbow.svg +5 -0
  105. package/dist/assets/icons/reduced-circled.svg +4 -0
  106. package/dist/assets/icons/reduced.svg +3 -0
  107. package/dist/assets/icons/relax.svg +4 -0
  108. package/dist/assets/icons/resize.svg +4 -0
  109. package/dist/assets/icons/robot-smile.svg +16 -0
  110. package/dist/assets/icons/robot.svg +8 -0
  111. package/dist/assets/icons/room-location.svg +5 -0
  112. package/dist/assets/icons/room-selection.svg +5 -0
  113. package/dist/assets/icons/room-upgrade.svg +5 -0
  114. package/dist/assets/icons/running-shoe.svg +4 -0
  115. package/dist/assets/icons/sail.svg +3 -0
  116. package/dist/assets/icons/sailboat.svg +4 -0
  117. package/dist/assets/icons/sailing-yawl.svg +3 -0
  118. package/dist/assets/icons/save.svg +4 -0
  119. package/dist/assets/icons/scan-code.svg +5 -0
  120. package/dist/assets/icons/scissors.svg +4 -0
  121. package/dist/assets/icons/seal.svg +4 -0
  122. package/dist/assets/icons/search-heart.svg +4 -0
  123. package/dist/assets/icons/search-list.svg +4 -0
  124. package/dist/assets/icons/search.svg +4 -0
  125. package/dist/assets/icons/seat-check.svg +3 -0
  126. package/dist/assets/icons/seat-child.svg +4 -0
  127. package/dist/assets/icons/seat-comfort.svg +3 -0
  128. package/dist/assets/icons/seat-extra-legroom.svg +5 -0
  129. package/dist/assets/icons/seat-extra-space.svg +5 -0
  130. package/dist/assets/icons/seat-extra.svg +5 -0
  131. package/dist/assets/icons/seat-plus.svg +3 -0
  132. package/dist/assets/icons/seat-premium.svg +4 -0
  133. package/dist/assets/icons/seat-selection.svg +10 -0
  134. package/dist/assets/icons/seat-star.svg +3 -0
  135. package/dist/assets/icons/seat-top-booked.svg +5 -0
  136. package/dist/assets/icons/seat-top.svg +4 -0
  137. package/dist/assets/icons/seat.svg +3 -0
  138. package/dist/assets/icons/security-check.svg +7 -0
  139. package/dist/assets/icons/select.svg +3 -0
  140. package/dist/assets/icons/send.svg +3 -0
  141. package/dist/assets/icons/service-bell.svg +3 -0
  142. package/dist/assets/icons/serving-trolley.svg +6 -0
  143. package/dist/assets/icons/settings.svg +4 -0
  144. package/dist/assets/icons/sex-diversity.svg +3 -0
  145. package/dist/assets/icons/sex-female.svg +3 -0
  146. package/dist/assets/icons/sex-male.svg +3 -0
  147. package/dist/assets/icons/share-box.svg +4 -0
  148. package/dist/assets/icons/share.svg +6 -0
  149. package/dist/assets/icons/shield-check.svg +4 -0
  150. package/dist/assets/icons/shield-flex.svg +6 -0
  151. package/dist/assets/icons/shield-warning.svg +3 -0
  152. package/dist/assets/icons/shield.svg +3 -0
  153. package/dist/assets/icons/ship-river.svg +4 -0
  154. package/dist/assets/icons/ship.svg +5 -0
  155. package/dist/assets/icons/shoe.svg +3 -0
  156. package/dist/assets/icons/shop.svg +4 -0
  157. package/dist/assets/icons/shopping-bag-tui.svg +4 -0
  158. package/dist/assets/icons/shopping-bag.svg +4 -0
  159. package/dist/assets/icons/shoppingcart.svg +6 -0
  160. package/dist/assets/icons/shower-rain.svg +3 -0
  161. package/dist/assets/icons/shower.svg +3 -0
  162. package/dist/assets/icons/sign-airport.svg +4 -0
  163. package/dist/assets/icons/sign-bio.svg +5 -0
  164. package/dist/assets/icons/sign-directions.svg +12 -0
  165. package/dist/assets/icons/sign-first-aid.svg +4 -0
  166. package/dist/assets/icons/sign-gluten-free.svg +7 -0
  167. package/dist/assets/icons/sign-hotel.svg +3 -0
  168. package/dist/assets/icons/sign-info.svg +5 -0
  169. package/dist/assets/icons/sign-parking.svg +4 -0
  170. package/dist/assets/icons/sign-vegan.svg +4 -0
  171. package/dist/assets/icons/sign-vegetarian.svg +5 -0
  172. package/dist/assets/icons/signpost-direction.svg +3 -0
  173. package/dist/assets/icons/signpost-directions.svg +3 -0
  174. package/dist/assets/icons/signpost-hotel.svg +3 -0
  175. package/dist/assets/icons/ski-crosscountry.svg +4 -0
  176. package/dist/assets/icons/ski-mountain.svg +3 -0
  177. package/dist/assets/icons/snow.svg +3 -0
  178. package/dist/assets/icons/social-distancing.svg +5 -0
  179. package/dist/assets/icons/sort.svg +3 -0
  180. package/dist/assets/icons/square.svg +3 -0
  181. package/dist/assets/icons/star-circled.svg +4 -0
  182. package/dist/assets/icons/star-half.svg +3 -0
  183. package/dist/assets/icons/star.svg +3 -0
  184. package/dist/assets/icons/stats-bar.svg +3 -0
  185. package/dist/assets/icons/stats-growth.svg +4 -0
  186. package/dist/assets/icons/stats-pie.svg +4 -0
  187. package/dist/assets/icons/stats-rise.svg +3 -0
  188. package/dist/assets/icons/steering-wheel.svg +7 -0
  189. package/dist/assets/icons/steering.svg +3 -0
  190. package/dist/assets/icons/stewardess.svg +5 -0
  191. package/dist/assets/icons/suitcase-purchase.svg +5 -0
  192. package/dist/assets/icons/sum.svg +3 -0
  193. package/dist/assets/icons/sun-circled.svg +4 -0
  194. package/dist/assets/icons/sun-hours.svg +5 -0
  195. package/dist/assets/icons/sun-set.svg +3 -0
  196. package/dist/assets/icons/sun-tui-half.svg +4 -0
  197. package/dist/assets/icons/sun-tui.svg +4 -0
  198. package/dist/assets/icons/sun.svg +4 -0
  199. package/dist/assets/icons/surfing.svg +4 -0
  200. package/dist/assets/icons/swimming-bath.svg +3 -0
  201. package/dist/assets/icons/swimming-pool.svg +3 -0
  202. package/dist/assets/icons/sync-failed.svg +4 -0
  203. package/dist/assets/icons/sync.svg +4 -0
  204. package/dist/assets/icons/tape-measure.svg +4 -0
  205. package/dist/assets/icons/target-blank.svg +3 -0
  206. package/dist/assets/icons/target.svg +5 -0
  207. package/dist/assets/icons/teddy.svg +5 -0
  208. package/dist/assets/icons/temp-air.svg +5 -0
  209. package/dist/assets/icons/temp-low.svg +4 -0
  210. package/dist/assets/icons/temp-time.svg +7 -0
  211. package/dist/assets/icons/temp-water.svg +5 -0
  212. package/dist/assets/icons/temp.svg +4 -0
  213. package/dist/assets/icons/tennis-ball.svg +4 -0
  214. package/dist/assets/icons/tennis.svg +5 -0
  215. package/dist/assets/icons/tent.svg +4 -0
  216. package/dist/assets/icons/thumbnails.svg +3 -0
  217. package/dist/assets/icons/thumbs-up--down.svg +3 -0
  218. package/dist/assets/icons/thumbs-up.svg +3 -0
  219. package/dist/assets/icons/thunder.svg +3 -0
  220. package/dist/assets/icons/ticket-coins.svg +5 -0
  221. package/dist/assets/icons/ticket-envelope.svg +5 -0
  222. package/dist/assets/icons/ticket.svg +3 -0
  223. package/dist/assets/icons/tickets.svg +3 -0
  224. package/dist/assets/icons/tipi.svg +4 -0
  225. package/dist/assets/icons/toilet-paper.svg +5 -0
  226. package/dist/assets/icons/toilet.svg +3 -0
  227. package/dist/assets/icons/toolkit-cases-open.svg +3 -0
  228. package/dist/assets/icons/toolkit-cases.svg +3 -0
  229. package/dist/assets/icons/toolkit.svg +4 -0
  230. package/dist/assets/icons/towel.svg +3 -0
  231. package/dist/assets/icons/track.svg +3 -0
  232. package/dist/assets/icons/train.svg +4 -0
  233. package/dist/assets/icons/transfer-private.svg +5 -0
  234. package/dist/assets/icons/transfer-taxi.svg +4 -0
  235. package/dist/assets/icons/transfers-coach.svg +6 -0
  236. package/dist/assets/icons/transfers-train.svg +4 -0
  237. package/dist/assets/icons/trash-crossed.svg +3 -0
  238. package/dist/assets/icons/trash.svg +4 -0
  239. package/dist/assets/icons/travel-documents.svg +6 -0
  240. package/dist/assets/icons/travel-guide.svg +5 -0
  241. package/dist/assets/icons/travel-money.svg +4 -0
  242. package/dist/assets/icons/treats-in-flight.svg +4 -0
  243. package/dist/assets/icons/trolley-purchase.svg +5 -0
  244. package/dist/assets/icons/tub.svg +5 -0
  245. package/dist/assets/icons/tui-card.svg +4 -0
  246. package/dist/assets/icons/tui-chat.svg +5 -0
  247. package/dist/assets/icons/tui-cloud.svg +3 -0
  248. package/dist/assets/icons/tui-extras.svg +4 -0
  249. package/dist/assets/icons/typography.svg +3 -0
  250. package/dist/assets/icons/ui-banner.svg +4 -0
  251. package/dist/assets/icons/umbrella.svg +5 -0
  252. package/dist/assets/icons/undo.svg +4 -0
  253. package/dist/assets/icons/upload.svg +3 -0
  254. package/dist/assets/icons/user-business.svg +4 -0
  255. package/dist/assets/icons/user-casual.svg +4 -0
  256. package/dist/assets/icons/user-chat.svg +4 -0
  257. package/dist/assets/icons/user-circled.svg +4 -0
  258. package/dist/assets/icons/user-couple.svg +3 -0
  259. package/dist/assets/icons/user-driver.svg +6 -0
  260. package/dist/assets/icons/user-drivers.svg +4 -0
  261. package/dist/assets/icons/user-expert.svg +4 -0
  262. package/dist/assets/icons/user-family.svg +4 -0
  263. package/dist/assets/icons/user-friends.svg +3 -0
  264. package/dist/assets/icons/user-group.svg +4 -0
  265. package/dist/assets/icons/user-passport.svg +5 -0
  266. package/dist/assets/icons/user-plus.svg +3 -0
  267. package/dist/assets/icons/user-skipass.svg +4 -0
  268. package/dist/assets/icons/user-visa.svg +6 -0
  269. package/dist/assets/icons/user.svg +3 -0
  270. package/dist/assets/icons/users.svg +4 -0
  271. package/dist/assets/icons/view-hidden.svg +4 -0
  272. package/dist/assets/icons/view.svg +4 -0
  273. package/dist/assets/icons/villa.svg +4 -0
  274. package/dist/assets/icons/virtualtour.svg +4 -0
  275. package/dist/assets/icons/warehouse.svg +3 -0
  276. package/dist/assets/icons/wash-hands.svg +3 -0
  277. package/dist/assets/icons/watch.svg +3 -0
  278. package/dist/assets/icons/water-boiler.svg +4 -0
  279. package/dist/assets/icons/water-slide.svg +4 -0
  280. package/dist/assets/icons/water.svg +3 -0
  281. package/dist/assets/icons/welcome-pack.svg +3 -0
  282. package/dist/assets/icons/wellness.svg +6 -0
  283. package/dist/assets/icons/whatsapp.svg +4 -0
  284. package/dist/assets/icons/wheel.svg +6 -0
  285. package/dist/assets/icons/wheelchair.svg +4 -0
  286. package/dist/assets/icons/wifi.svg +3 -0
  287. package/dist/assets/icons/wind-surfing.svg +3 -0
  288. package/dist/assets/icons/world-globe.svg +4 -0
  289. package/dist/assets/icons/world-travel.svg +5 -0
  290. package/dist/assets/icons/world.svg +5 -0
  291. package/dist/core/base/base.css +13 -0
  292. package/dist/core/base/fonts.css +1 -0
  293. package/dist/core/base/reset.css +48 -0
  294. package/dist/core/base/typography.css +119 -0
  295. package/dist/core/index.css +12 -0
  296. package/dist/core/recipes/layout.css +24 -0
  297. package/dist/core/themes/mode.css +5 -0
  298. package/dist/main.css +1044 -0
  299. package/dist/react/button.js +95 -0
  300. package/dist/react/checkbox.js +43 -0
  301. package/dist/react/icon.js +50 -0
  302. package/dist/react/index.js +5 -0
  303. package/dist/react/input.js +12 -0
  304. package/dist/react/label.js +125 -0
  305. package/dist/tokens/css/brand-a.tokens.css +22 -0
  306. package/dist/tokens/css/brand-b.tokens.css +22 -0
  307. package/dist/tokens/css/color.dark.tokens.css +32 -0
  308. package/dist/tokens/css/color.light.tokens.css +32 -0
  309. package/dist/tokens/css/component.tokens.css +103 -0
  310. package/dist/tokens/css/primitives.tokens.css +127 -0
  311. package/dist/tokens/css/semantic.tokens.css +35 -0
  312. package/dist/tokens/json/brand-a.tokens.json +192 -0
  313. package/dist/tokens/json/brand-b.tokens.json +192 -0
  314. package/dist/tokens/json/color.dark.tokens.json +364 -0
  315. package/dist/tokens/json/color.light.tokens.json +364 -0
  316. package/dist/tokens/json/component.tokens.json +1101 -0
  317. package/dist/tokens/json/primitives.tokens.json +1077 -0
  318. package/dist/tokens/json/semantic.tokens.json +206 -0
  319. package/dist/tokens/tokens.yaml +4400 -0
  320. package/dist/tokens/ts/brand-a.tokens.ts +32 -0
  321. package/dist/tokens/ts/brand-b.tokens.ts +32 -0
  322. package/dist/tokens/ts/color.dark.tokens.ts +36 -0
  323. package/dist/tokens/ts/color.light.tokens.ts +36 -0
  324. package/dist/tokens/ts/component.tokens.ts +107 -0
  325. package/dist/tokens/ts/primitives.tokens.ts +152 -0
  326. package/dist/tokens/ts/semantic.tokens.ts +42 -0
  327. package/dist/ui/index.css +5 -0
  328. package/dist/ui/patterns/button.css +241 -0
  329. package/dist/ui/patterns/checkbox.css +97 -0
  330. package/dist/ui/patterns/icon.css +20 -0
  331. package/dist/ui/patterns/input.css +76 -0
  332. package/dist/ui/patterns/label.css +49 -0
  333. package/docs/foundations/foundation-001-token-layering.md +27 -0
  334. package/docs/foundations/foundation-002-naming-and-grouping.md +38 -0
  335. package/docs/foundations/foundation-003-color-semantics-and-status.md +35 -0
  336. package/docs/foundations/foundation-004-typography-scale-and-line-height.md +39 -0
  337. package/docs/foundations/foundation-005-responsive-breakpoints-and-containers.md +23 -0
  338. package/docs/foundations/foundation-006-z-index-layering.md +31 -0
  339. package/docs/foundations/foundation-007-typography-selectors-and-specificity.md +24 -0
  340. package/docs/foundations/foundation-008-mode-activation-and-consumer-control.md +27 -0
  341. package/docs/foundations/foundation-009-component-boundaries-and-utility.md +30 -0
  342. package/package.json +64 -0
@@ -0,0 +1,32 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.062Z
3
+
4
+ export const tokens = {
5
+ "colors": {
6
+ "--brand-color-primary": "var(--color-brand-a-purple-600)",
7
+ "--brand-color-primary-dark": "var(--color-brand-a-purple-800)",
8
+ "--brand-color-accent": "var(--color-brand-a-blue-500)",
9
+ "--brand-color-subtle": "var(--color-neutral-500)",
10
+ "--brand-color-subtle-light": "var(--color-neutral-200)",
11
+ "--brand-color-subtle-dark": "var(--color-neutral-800)",
12
+ "--brand-color-accent-dark": "var(--color-brand-a-blue-700)",
13
+ "--brand-color-functional-base": "var(--color-brand-a-blue-700)",
14
+ "--brand-color-functional-base-dark": "var(--color-brand-a-blue-800)",
15
+ "--brand-color-functional-success": "var(--color-brand-a-green)",
16
+ "--brand-color-functional-danger": "var(--color-brand-a-red)"
17
+ },
18
+ "typography": {
19
+ "--brand-font-lead": "var(--font-family-serif)",
20
+ "--brand-font-base": "var(--font-family-sans)"
21
+ },
22
+ "radii": {
23
+ "--brand-corner-button": "var(--size-radius-full)",
24
+ "--brand-corner-input": "var(--size-radius-200)",
25
+ "--brand-corner-card": "var(--size-radius-200)",
26
+ "--brand-corner-modal": "var(--size-radius-400)"
27
+ }
28
+ } as const;
29
+
30
+ export type ColorToken = keyof typeof tokens.colors;
31
+ export type TypographyToken = keyof typeof tokens.typography;
32
+ export type RadiusToken = keyof typeof tokens.radii;
@@ -0,0 +1,32 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.063Z
3
+
4
+ export const tokens = {
5
+ "colors": {
6
+ "--brand-color-primary": "var(--color-brand-b-blue-500)",
7
+ "--brand-color-primary-dark": "var(--color-brand-b-blue-700)",
8
+ "--brand-color-accent": "var(--color-brand-b-purple-600)",
9
+ "--brand-color-subtle": "var(--color-neutral-500)",
10
+ "--brand-color-subtle-light": "var(--color-neutral-200)",
11
+ "--brand-color-subtle-dark": "var(--color-neutral-800)",
12
+ "--brand-color-accent-dark": "var(--color-brand-b-purple-800)",
13
+ "--brand-color-functional-base": "var(--color-brand-b-purple-600)",
14
+ "--brand-color-functional-base-dark": "var(--color-brand-b-purple-800)",
15
+ "--brand-color-functional-success": "var(--color-brand-b-green)",
16
+ "--brand-color-functional-danger": "var(--color-brand-b-red)"
17
+ },
18
+ "typography": {
19
+ "--brand-font-lead": "var(--font-family-serif)",
20
+ "--brand-font-base": "var(--font-family-sans)"
21
+ },
22
+ "radii": {
23
+ "--brand-corner-button": "var(--size-radius-000)",
24
+ "--brand-corner-input": "var(--size-radius-000)",
25
+ "--brand-corner-card": "var(--size-radius-100)",
26
+ "--brand-corner-modal": "var(--size-radius-200)"
27
+ }
28
+ } as const;
29
+
30
+ export type ColorToken = keyof typeof tokens.colors;
31
+ export type TypographyToken = keyof typeof tokens.typography;
32
+ export type RadiusToken = keyof typeof tokens.radii;
@@ -0,0 +1,36 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.068Z
3
+
4
+ export const tokens = {
5
+ "colors": {
6
+ "--color-focus": "var(--brand-color-primary-dark)",
7
+ "--color-text-default": "var(--color-neutral-800)",
8
+ "--color-text-inverse": "var(--color-neutral-1000)",
9
+ "--color-text-disabled": "var(--color-neutral-600)",
10
+ "--color-text-brand": "var(--brand-color-primary-dark)",
11
+ "--color-text-subtle": "var(--brand-color-subtle-dark)",
12
+ "--color-text-strong": "var(--color-neutral-1000)",
13
+ "--color-text-danger": "var(--brand-color-functional-danger)",
14
+ "--color-text-success": "var(--brand-color-functional-success)",
15
+ "--color-fill-surface": "var(--color-neutral-1000)",
16
+ "--color-fill-disabled": "var(--color-neutral-300)",
17
+ "--color-fill-hover": "var(--color-neutral-alpha-500)",
18
+ "--color-fill-brand": "var(--brand-color-primary)",
19
+ "--color-fill-subtle": "var(--brand-color-subtle)",
20
+ "--color-fill-active": "var(--brand-color-accent)",
21
+ "--color-fill-danger": "var(--brand-color-functional-danger)",
22
+ "--color-fill-success": "var(--brand-color-functional-success)",
23
+ "--color-border-default": "var(--color-neutral-800)",
24
+ "--color-border-subtle": "var(--brand-color-subtle-dark)",
25
+ "--color-border-strong": "var(--color-neutral-1000)",
26
+ "--color-border-brand": "var(--brand-color-primary)",
27
+ "--color-border-disabled": "var(--color-neutral-500)",
28
+ "--color-border-danger": "var(--brand-color-functional-danger)",
29
+ "--color-overlay-backdrop": "var(--color-neutral-alpha-400)",
30
+ "--color-overlay-hover": "var(--color-neutral-alpha-200)",
31
+ "--color-overlay-active": "var(--color-neutral-alpha-400)",
32
+ "--color-overlay-selected": "var(--color-neutral-alpha-600)"
33
+ }
34
+ } as const;
35
+
36
+ export type ColorToken = keyof typeof tokens.colors;
@@ -0,0 +1,36 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.069Z
3
+
4
+ export const tokens = {
5
+ "colors": {
6
+ "--color-focus": "var(--brand-color-primary)",
7
+ "--color-text-default": "var(--color-neutral-800)",
8
+ "--color-text-inverse": "var(--color-neutral-000)",
9
+ "--color-text-disabled": "var(--color-neutral-600)",
10
+ "--color-text-brand": "var(--brand-color-primary)",
11
+ "--color-text-subtle": "var(--brand-color-subtle)",
12
+ "--color-text-strong": "var(--color-neutral-1000)",
13
+ "--color-text-danger": "var(--brand-color-functional-danger)",
14
+ "--color-text-success": "var(--brand-color-functional-success)",
15
+ "--color-fill-surface": "var(--color-neutral-000)",
16
+ "--color-fill-disabled": "var(--color-neutral-300)",
17
+ "--color-fill-hover": "var(--color-neutral-alpha-500)",
18
+ "--color-fill-brand": "var(--brand-color-primary)",
19
+ "--color-fill-subtle": "var(--brand-color-subtle-light)",
20
+ "--color-fill-active": "var(--brand-color-accent)",
21
+ "--color-fill-danger": "var(--brand-color-functional-danger)",
22
+ "--color-fill-success": "var(--brand-color-functional-success)",
23
+ "--color-border-default": "var(--color-neutral-800)",
24
+ "--color-border-subtle": "var(--brand-color-subtle)",
25
+ "--color-border-strong": "var(--color-neutral-1000)",
26
+ "--color-border-brand": "var(--brand-color-primary)",
27
+ "--color-border-disabled": "var(--color-neutral-500)",
28
+ "--color-border-danger": "var(--brand-color-functional-danger)",
29
+ "--color-overlay-backdrop": "var(--color-neutral-alpha-400)",
30
+ "--color-overlay-hover": "var(--color-neutral-alpha-200)",
31
+ "--color-overlay-active": "var(--color-neutral-alpha-400)",
32
+ "--color-overlay-selected": "var(--color-neutral-alpha-600)"
33
+ }
34
+ } as const;
35
+
36
+ export type ColorToken = keyof typeof tokens.colors;
@@ -0,0 +1,107 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.066Z
3
+
4
+ export const tokens = {
5
+ "components": {
6
+ "--button-font-family": "var(--brand-font-lead)",
7
+ "--button-font-weight": "var(--typography-label-font-weight)",
8
+ "--button-font-size": "var(--typography-label-font-size)",
9
+ "--button-line-height": "var(--typography-label-line-height)",
10
+ "--button-border-size-default": "var(--size-border-000)",
11
+ "--button-border-size-hover": "var(--size-border-100)",
12
+ "--button-border-size-active": "var(--size-border-200)",
13
+ "--button-border-radius": "var(--brand-corner-button)",
14
+ "--button-padding-inline": "var(--size-spacing-400)",
15
+ "--button-padding-inline-icon-only": "var(--size-spacing-200)",
16
+ "--button-padding-block": "var(--size-spacing-200)",
17
+ "--button-gap": "var(--size-spacing-200)",
18
+ "--button-text-color-disabled": "var(--color-text-disabled)",
19
+ "--button-border-color-disabled": "var(--color-border-disabled)",
20
+ "--button-container-background-disabled": "var(--color-fill-disabled)",
21
+ "--button-overlay-hover": "var(--color-overlay-hover)",
22
+ "--button-overlay-active": "var(--color-overlay-active)",
23
+ "--button-height": "2.5rem",
24
+ "--button-solid-text-color-default": "var(--color-text-inverse)",
25
+ "--button-solid-text-color-hover": "var(--color-text-inverse)",
26
+ "--button-solid-text-color-active": "var(--color-text-inverse)",
27
+ "--button-solid-border-color-default": "var(--color-border-brand)",
28
+ "--button-solid-border-color-hover": "var(--color-border-brand)",
29
+ "--button-solid-border-color-focus": "var(--color-border-brand)",
30
+ "--button-solid-border-color-active": "var(--color-border-brand)",
31
+ "--button-solid-container-background-default": "var(--color-fill-brand)",
32
+ "--button-solid-container-background-hover": "var(--color-fill-brand)",
33
+ "--button-solid-container-background-focus": "var(--color-fill-brand)",
34
+ "--button-solid-container-background-active": "var(--color-fill-brand)",
35
+ "--button-outline-text-color-default": "var(--color-text-brand)",
36
+ "--button-outline-text-color-hover": "var(--color-text-brand)",
37
+ "--button-outline-text-color-active": "var(--color-text-brand)",
38
+ "--button-outline-border-color-default": "var(--color-border-brand)",
39
+ "--button-outline-border-color-hover": "var(--color-border-brand)",
40
+ "--button-outline-border-color-active": "var(--color-border-brand)",
41
+ "--button-outline-border-color-focus": "var(--color-border-brand)",
42
+ "--button-outline-container-background-default": "var(--color-fill-surface)",
43
+ "--button-outline-container-background-hover": "var(--color-fill-surface)",
44
+ "--button-outline-container-background-focus": "var(--color-fill-surface)",
45
+ "--button-outline-container-background-active": "var(--color-fill-surface)",
46
+ "--button-ghost-text-color-default": "var(--color-text-brand)",
47
+ "--button-ghost-text-color-hover": "var(--color-text-brand)",
48
+ "--button-ghost-text-color-active": "var(--color-text-brand)",
49
+ "--button-ghost-border-color-default": "var(--color-transparent)",
50
+ "--button-ghost-border-color-hover": "var(--color-transparent)",
51
+ "--button-ghost-border-color-focus": "var(--color-transparent)",
52
+ "--button-ghost-border-color-active": "var(--color-transparent)",
53
+ "--button-ghost-container-background-default": "var(--color-fill-surface)",
54
+ "--button-ghost-container-background-hover": "var(--color-fill-surface)",
55
+ "--button-ghost-container-background-focus": "var(--color-fill-surface)",
56
+ "--button-ghost-container-background-active": "var(--color-fill-surface)",
57
+ "--modal-backdrop-color": "var(--color-overlay-backdrop)",
58
+ "--modal-surface-color": "var(--color-fill-surface)",
59
+ "--modal-surface-border-radius": "var(--brand-corner-modal)",
60
+ "--input-font-family": "var(--brand-font-base)",
61
+ "--input-font-weight": "var(--typography-body-font-weight)",
62
+ "--input-font-size": "var(--typography-label-font-size)",
63
+ "--input-line-height": "var(--typography-body-line-height)",
64
+ "--input-border-size-default": "var(--size-border-100)",
65
+ "--input-border-size-hover": "var(--size-border-100)",
66
+ "--input-border-size-active": "var(--size-border-200)",
67
+ "--input-border-radius": "var(--brand-corner-input)",
68
+ "--input-padding-inline": "var(--size-spacing-200)",
69
+ "--input-padding-inline-icon-only": "var(--size-spacing-200)",
70
+ "--input-padding-block": "var(--size-spacing-200)",
71
+ "--input-gap": "var(--size-spacing-200)",
72
+ "--input-text-color-disabled": "var(--color-text-disabled)",
73
+ "--input-border-color-disabled": "var(--color-border-disabled)",
74
+ "--input-container-background-disabled": "var(--color-fill-disabled)",
75
+ "--input-overlay-hover": "var(--color-transparent)",
76
+ "--input-overlay-active": "var(--color-transparent)",
77
+ "--input-height": "2.5rem",
78
+ "--input-text-text-color-placeholder": "var(--color-text-subtle)",
79
+ "--input-text-text-color-default": "var(--color-text-default)",
80
+ "--input-text-text-color-hover": "var(--color-text-default)",
81
+ "--input-text-text-color-active": "var(--color-text-default)",
82
+ "--input-text-border-color-default": "var(--color-border-default)",
83
+ "--input-text-border-color-hover": "var(--color-border-brand)",
84
+ "--input-text-border-color-active": "var(--color-border-brand)",
85
+ "--input-text-border-color-focus": "var(--color-border-brand)",
86
+ "--input-text-border-color-invalid": "var(--color-border-danger)",
87
+ "--input-text-border-color-valid": "var(--color-border-strong)",
88
+ "--input-text-container-background-default": "var(--color-fill-surface)",
89
+ "--input-text-container-background-hover": "var(--color-fill-surface)",
90
+ "--input-text-container-background-focus": "var(--color-fill-surface)",
91
+ "--input-text-container-background-active": "var(--color-fill-surface)",
92
+ "--form-gap": "var(--size-spacing-400)",
93
+ "--form-padding-inline": "var(--size-spacing-400)",
94
+ "--form-padding-block": "var(--size-spacing-400)",
95
+ "--form-border-radius": "var(--brand-corner-card)",
96
+ "--form-border-size": "var(--size-border-100)",
97
+ "--form-container-background": "var(--color-fill-surface)",
98
+ "--form-container-border-color": "var(--color-border-subtle)",
99
+ "--form-group-gap": "var(--size-spacing-400)",
100
+ "--form-group-title-color": "var(--color-text-default)",
101
+ "--form-field-gap": "var(--size-spacing-200)",
102
+ "--form-field-helper-text-color-default": "var(--color-text-subtle)",
103
+ "--form-field-helper-text-color-invalid": "var(--color-text-danger)"
104
+ }
105
+ } as const;
106
+
107
+ export type ComponentToken = keyof typeof tokens.components;
@@ -0,0 +1,152 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.071Z
3
+
4
+ export const tokens = {
5
+ "colors": {
6
+ "--color-transparent": "rgba(0 0 0 / 0)",
7
+ "--color-neutral-100": "rgb(230 230 230)",
8
+ "--color-neutral-200": "rgb(204 204 204)",
9
+ "--color-neutral-300": "rgb(179 179 179)",
10
+ "--color-neutral-400": "rgb(128 128 128)",
11
+ "--color-neutral-500": "rgb(128 128 128)",
12
+ "--color-neutral-600": "rgb(102 102 102)",
13
+ "--color-neutral-700": "rgb(77 77 77)",
14
+ "--color-neutral-800": "rgb(51 51 51)",
15
+ "--color-neutral-900": "rgb(26 26 26)",
16
+ "--color-neutral-1000": "rgb(0 0 0)",
17
+ "--color-neutral-000": "rgb(255 255 255)",
18
+ "--color-neutral-alpha-100": "rgba(0 0 0 / 0.1)",
19
+ "--color-neutral-alpha-200": "rgba(0 0 0 / 0.2)",
20
+ "--color-neutral-alpha-300": "rgba(0 0 0 / 0.3)",
21
+ "--color-neutral-alpha-400": "rgba(0 0 0 / 0.4)",
22
+ "--color-neutral-alpha-500": "rgba(0 0 0 / 0.5)",
23
+ "--color-neutral-alpha-600": "rgba(0 0 0 / 0.6)",
24
+ "--color-neutral-alpha-700": "rgba(0 0 0 / 0.7)",
25
+ "--color-neutral-alpha-800": "rgba(0 0 0 / 0.8)",
26
+ "--color-neutral-alpha-900": "rgba(0 0 0 / 0.9)",
27
+ "--color-neutral-alpha-000": "rgba(0 0 0 / 0)",
28
+ "--color-brand-a-red": "rgb(255 0 0)",
29
+ "--color-brand-a-green": "rgb(19 174 92)",
30
+ "--color-brand-a-purple-200": "rgb(222 192 255)",
31
+ "--color-brand-a-purple-600": "rgb(151 71 255)",
32
+ "--color-brand-a-purple-800": "rgb(85 26 139)",
33
+ "--color-brand-a-blue-200": "rgb(226 244 253)",
34
+ "--color-brand-a-blue-500": "rgb(112 203 244)",
35
+ "--color-brand-a-blue-700": "rgb(12 75 243)",
36
+ "--color-brand-a-blue-800": "rgb(27 17 92)",
37
+ "--color-brand-b-red": "rgb(204 0 0)",
38
+ "--color-brand-b-green": "rgb(14 129 68)",
39
+ "--color-brand-b-purple-200": "rgb(196 143 255)",
40
+ "--color-brand-b-purple-600": "rgb(122 20 255)",
41
+ "--color-brand-b-purple-800": "rgb(58 18 95)",
42
+ "--color-brand-b-blue-200": "rgb(179 226 250)",
43
+ "--color-brand-b-blue-500": "rgb(66 186 240)",
44
+ "--color-brand-b-blue-700": "rgb(10 60 194)",
45
+ "--color-brand-b-blue-800": "rgb(14 9 47)"
46
+ },
47
+ "typography": {
48
+ "--font-size-xs": ".75rem",
49
+ "--font-size-sm": ".875rem",
50
+ "--font-size-md": "1rem",
51
+ "--font-size-lg": "1.25rem",
52
+ "--font-size-xl": "1.5rem",
53
+ "--font-size-xxl": "2rem",
54
+ "--font-size-xxxl": "2.5rem",
55
+ "--font-weight-100": 100,
56
+ "--font-weight-200": 200,
57
+ "--font-weight-300": 300,
58
+ "--font-weight-400": 400,
59
+ "--font-weight-500": 500,
60
+ "--font-weight-600": 600,
61
+ "--font-weight-700": 700,
62
+ "--font-weight-800": 800,
63
+ "--font-weight-900": 900,
64
+ "--font-family-sans": "Inter",
65
+ "--font-family-serif": "Rokkitt",
66
+ "--font-family-mono": "SFMono-Regular",
67
+ "--line-height-xs": "1rem",
68
+ "--line-height-sm": "1.25rem",
69
+ "--line-height-md": "1.5rem",
70
+ "--line-height-lg": "1.75rem",
71
+ "--line-height-xl": "2rem",
72
+ "--line-height-xxl": "2.75rem",
73
+ "--line-height-xxxl": "3.5rem"
74
+ },
75
+ "spacing": {
76
+ "--size-spacing-100": ".25rem",
77
+ "--size-spacing-200": ".5rem",
78
+ "--size-spacing-300": ".75rem",
79
+ "--size-spacing-400": "1rem",
80
+ "--size-spacing-500": "1.25rem",
81
+ "--size-spacing-600": "1.5rem",
82
+ "--size-spacing-700": "2rem",
83
+ "--size-spacing-800": "2.5rem",
84
+ "--size-spacing-900": "3rem",
85
+ "--size-spacing-1000": "4rem",
86
+ "--size-spacing-000": "0"
87
+ },
88
+ "radii": {
89
+ "--size-radius-100": ".125rem",
90
+ "--size-radius-200": ".25rem",
91
+ "--size-radius-300": ".375rem",
92
+ "--size-radius-400": ".5rem",
93
+ "--size-radius-500": ".75rem",
94
+ "--size-radius-600": "1rem",
95
+ "--size-radius-700": "1.25rem",
96
+ "--size-radius-800": "1.5rem",
97
+ "--size-radius-900": "2rem",
98
+ "--size-radius-000": "0",
99
+ "--size-radius-full": "625rem"
100
+ },
101
+ "shadows": {
102
+ "--shadow-focus": ".5rem"
103
+ },
104
+ "components": {
105
+ "--layout-base-grid": ".25rem",
106
+ "--layout-columns": 12,
107
+ "--layout-gutter": "1rem",
108
+ "--layout-max-width": "1236px",
109
+ "--layout-column-max-width": "412px",
110
+ "--layout-float-breakpoint": "1220px",
111
+ "--size-border-100": ".0625rem",
112
+ "--size-border-200": ".125rem",
113
+ "--size-border-300": ".1875rem",
114
+ "--size-border-000": "0",
115
+ "--zindex-hidden": -1,
116
+ "--zindex-base": 0,
117
+ "--zindex-raised": 1,
118
+ "--zindex-dropdown-base": 900,
119
+ "--zindex-dropdown": 1000,
120
+ "--zindex-sticky": 1020,
121
+ "--zindex-fixed": 1030,
122
+ "--zindex-modal-overlay": 1040,
123
+ "--zindex-modal": 1050,
124
+ "--zindex-popover": 1060,
125
+ "--zindex-tooltip": 1070
126
+ },
127
+ "breakpoints": {
128
+ "--breakpoint-100": "580px",
129
+ "--breakpoint-200": "760px",
130
+ "--breakpoint-300": "960px",
131
+ "--breakpoint-400": "1200px",
132
+ "--breakpoint-500": "1440px",
133
+ "--breakpoint-600": "1920px"
134
+ },
135
+ "containers": {
136
+ "--container-100": "192px",
137
+ "--container-200": "384px",
138
+ "--container-300": "576px",
139
+ "--container-400": "768px",
140
+ "--container-500": "960px",
141
+ "--container-600": "1152px"
142
+ }
143
+ } as const;
144
+
145
+ export type ColorToken = keyof typeof tokens.colors;
146
+ export type TypographyToken = keyof typeof tokens.typography;
147
+ export type SpacingToken = keyof typeof tokens.spacing;
148
+ export type RadiusToken = keyof typeof tokens.radii;
149
+ export type ShadowToken = keyof typeof tokens.shadows;
150
+ export type BreakpointToken = keyof typeof tokens.breakpoints;
151
+ export type ContainerToken = keyof typeof tokens.containers;
152
+ export type ComponentToken = keyof typeof tokens.components;
@@ -0,0 +1,42 @@
1
+ // Auto-generated design tokens from Figma
2
+ // Generated on 2026-03-04T20:50:34.072Z
3
+
4
+ export const tokens = {
5
+ "typography": {
6
+ "--typography-code": "var(--font-family-mono)",
7
+ "--typography-heading-font-family": "var(--brand-font-lead)",
8
+ "--typography-heading-font-weight": "var(--font-weight-700)",
9
+ "--typography-heading-font-size-xs": "var(--font-size-xs)",
10
+ "--typography-heading-font-size-sm": "var(--font-size-sm)",
11
+ "--typography-heading-font-size-md": "var(--font-size-md)",
12
+ "--typography-heading-font-size-lg": "var(--font-size-lg)",
13
+ "--typography-heading-font-size-xl": "var(--font-size-xl)",
14
+ "--typography-heading-font-size-xxl": "var(--font-size-xxl)",
15
+ "--typography-heading-font-size-xxxl": "var(--font-size-xxxl)",
16
+ "--typography-heading-line-height-xs": "var(--line-height-xs)",
17
+ "--typography-heading-line-height-sm": "var(--line-height-sm)",
18
+ "--typography-heading-line-height-md": "var(--line-height-md)",
19
+ "--typography-heading-line-height-lg": "var(--line-height-lg)",
20
+ "--typography-heading-line-height-xl": "var(--line-height-xl)",
21
+ "--typography-heading-line-height-xxl": "var(--line-height-xxl)",
22
+ "--typography-heading-line-height-xxxl": "var(--line-height-xxxl)",
23
+ "--typography-label-font-family": "var(--brand-font-lead)",
24
+ "--typography-label-font-weight": "var(--font-weight-600)",
25
+ "--typography-label-font-size": "var(--font-size-md)",
26
+ "--typography-label-line-height": "var(--line-height-md)",
27
+ "--typography-label-gap": "var(--size-spacing-200)",
28
+ "--typography-body-font-family": "var(--brand-font-base)",
29
+ "--typography-body-font-weight": "var(--font-weight-400)",
30
+ "--typography-body-font-size": "var(--font-size-md)",
31
+ "--typography-body-line-height": "var(--line-height-md)"
32
+ },
33
+ "radii": {
34
+ "--corner-button-radius": "var(--brand-corner-button)",
35
+ "--corner-card-radius": "var(--brand-corner-card)",
36
+ "--corner-form-radius": "var(--brand-corner-card)",
37
+ "--corner-modal-radius": "var(--brand-corner-modal)"
38
+ }
39
+ } as const;
40
+
41
+ export type TypographyToken = keyof typeof tokens.typography;
42
+ export type RadiusToken = keyof typeof tokens.radii;
@@ -0,0 +1,5 @@
1
+ @import url("./patterns/label.css") layer(components);
2
+ @import url("./patterns/button.css") layer(components);
3
+ @import url("./patterns/input.css") layer(components);
4
+ @import url("./patterns/icon.css") layer(components);
5
+ @import url("./patterns/checkbox.css") layer(components);