@koide-labs/ui 0.0.0 → 0.0.2

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 (383) hide show
  1. package/README.md +53 -3
  2. package/{src/-types.ts → dist/-types.d.ts} +1 -6
  3. package/dist/-types.js +1 -0
  4. package/dist/-utils.d.ts +19 -0
  5. package/dist/-utils.js +33 -0
  6. package/dist/Button-DrPFFzo7.js +31 -0
  7. package/dist/CompositeRoot-CVk5a-pR.js +233 -0
  8. package/dist/DirectionContext-C2o_MF_i.js +9 -0
  9. package/dist/FieldItemContext-DAvk99to.js +11 -0
  10. package/dist/FloatingPortal-tWyuKRSN.js +435 -0
  11. package/dist/FloatingPortalLite-DVyq6YhV.js +28 -0
  12. package/dist/InternalBackdrop-jYAiOJ8v.js +574 -0
  13. package/dist/LabelableContext-BMvjVwor.js +169 -0
  14. package/dist/ToolbarRootContext-CvvL0Tk1.js +9 -0
  15. package/dist/clamp-D0KDAQIz.js +6 -0
  16. package/dist/clsx-OuTLNxxd.js +16 -0
  17. package/dist/components/accordion/index.d.ts +12 -0
  18. package/dist/components/accordion/index.js +699 -0
  19. package/dist/components/alert-dialog/index.d.ts +26 -0
  20. package/dist/components/alert-dialog/index.js +136 -0
  21. package/dist/components/anchor/index.d.ts +8 -0
  22. package/dist/components/anchor/index.js +38 -0
  23. package/dist/components/avatar/index.d.ts +21 -0
  24. package/dist/components/avatar/index.js +161 -0
  25. package/dist/components/badge/index.d.ts +16 -0
  26. package/dist/components/badge/index.js +40 -0
  27. package/dist/components/button/index.d.ts +24 -0
  28. package/dist/components/button/index.js +47 -0
  29. package/dist/components/checkbox/index.d.ts +9 -0
  30. package/dist/components/checkbox/index.js +269 -0
  31. package/dist/components/code/index.d.ts +9 -0
  32. package/dist/components/code/index.js +10 -0
  33. package/dist/components/collapse/index.d.ts +11 -0
  34. package/dist/components/collapse/index.js +41 -0
  35. package/dist/components/command/index.d.ts +14 -0
  36. package/dist/components/command/index.js +1695 -0
  37. package/dist/components/context-menu/index.d.ts +42 -0
  38. package/dist/components/context-menu/index.js +1444 -0
  39. package/dist/components/dialog/index.d.ts +48 -0
  40. package/dist/components/dialog/index.js +138 -0
  41. package/dist/components/heading/index.d.ts +44 -0
  42. package/dist/components/heading/index.js +56 -0
  43. package/dist/components/icon/icon-names.d.ts +1 -0
  44. package/dist/components/icon/icon-names.js +1 -0
  45. package/dist/components/icon/index.d.ts +24 -0
  46. package/dist/components/icon/index.js +43 -0
  47. package/dist/components/icon-button/index.d.ts +12 -0
  48. package/dist/components/icon-button/index.js +45 -0
  49. package/dist/components/inline-code/index.d.ts +6 -0
  50. package/dist/components/inline-code/index.js +22 -0
  51. package/dist/components/input/index.d.ts +3 -0
  52. package/dist/components/input/index.js +119 -0
  53. package/dist/components/meter/index.d.ts +18 -0
  54. package/dist/components/meter/index.js +165 -0
  55. package/dist/components/multiline-input/index.d.ts +6 -0
  56. package/dist/components/multiline-input/index.js +100 -0
  57. package/dist/components/number-input/index.d.ts +10 -0
  58. package/dist/components/number-input/index.js +1169 -0
  59. package/dist/components/password-input/index.d.ts +2 -0
  60. package/dist/components/password-input/index.js +29 -0
  61. package/dist/components/pill/index.d.ts +13 -0
  62. package/dist/components/pill/index.js +38 -0
  63. package/dist/components/popover/index.d.ts +21 -0
  64. package/dist/components/popover/index.js +636 -0
  65. package/dist/components/preview-card/index.d.ts +17 -0
  66. package/dist/components/preview-card/index.js +402 -0
  67. package/dist/components/radio/index.d.ts +13 -0
  68. package/dist/components/radio/index.js +404 -0
  69. package/dist/components/search-bar/index.d.ts +12 -0
  70. package/dist/components/search-bar/index.js +48 -0
  71. package/dist/components/select/index.d.ts +16 -0
  72. package/dist/components/select/index.js +1263 -0
  73. package/dist/components/separator/index.d.ts +7 -0
  74. package/dist/components/separator/index.js +6 -0
  75. package/dist/components/slider/index.d.ts +5 -0
  76. package/dist/components/slider/index.js +902 -0
  77. package/dist/components/spinner/index.d.ts +2 -0
  78. package/dist/components/spinner/index.js +13 -0
  79. package/dist/components/stacked-avatars/index.d.ts +14 -0
  80. package/dist/components/stacked-avatars/index.js +92 -0
  81. package/dist/components/status-banner/index.d.ts +17 -0
  82. package/dist/components/status-banner/index.js +69 -0
  83. package/dist/components/surface/index.d.ts +27 -0
  84. package/dist/components/surface/index.js +41 -0
  85. package/dist/components/switch/index.d.ts +5 -0
  86. package/dist/components/switch/index.js +196 -0
  87. package/dist/components/tabs/index.d.ts +18 -0
  88. package/dist/components/tabs/index.js +509 -0
  89. package/dist/components/text/index.d.ts +26 -0
  90. package/dist/components/text/index.js +51 -0
  91. package/dist/components/theme-provider/index.d.ts +2 -0
  92. package/dist/components/theme-provider/index.js +6 -0
  93. package/dist/components/theme-provider/theme-context.d.ts +9 -0
  94. package/dist/components/theme-provider/theme-context.js +13 -0
  95. package/dist/components/theme-provider/theme-provider.d.ts +17 -0
  96. package/dist/components/theme-provider/theme-provider.js +30 -0
  97. package/dist/components/timestamp/index.d.ts +23 -0
  98. package/dist/components/timestamp/index.js +1392 -0
  99. package/dist/components/toast/index.d.ts +2 -0
  100. package/dist/components/toast/index.js +7 -0
  101. package/dist/components/toast/toast.d.ts +2 -0
  102. package/dist/components/toast/toast.js +878 -0
  103. package/dist/components/toast/use-toast-manager.d.ts +27 -0
  104. package/dist/components/toast/use-toast-manager.js +4 -0
  105. package/dist/components/tooltip/index.d.ts +14 -0
  106. package/dist/components/tooltip/index.js +712 -0
  107. package/dist/components/tooltip/tooltip-arrow.d.ts +3 -0
  108. package/dist/components/tooltip/tooltip-arrow.js +6 -0
  109. package/dist/components/view/index.d.ts +30 -0
  110. package/dist/components/view/index.js +84 -0
  111. package/dist/components/visually-hidden/index.d.ts +1 -0
  112. package/dist/components/visually-hidden/index.js +4 -0
  113. package/dist/composite-Bx7Szd_T.js +208 -0
  114. package/dist/composite-C9L5QmZL.js +66 -0
  115. package/dist/createBaseUIEventDetails-D8M2Yl-a.js +59 -0
  116. package/dist/detectBrowser-I-s3yzIE.js +43 -0
  117. package/dist/dialog.css +1 -0
  118. package/dist/dialog.module-BeF-6XAo.js +415 -0
  119. package/dist/element-CZEOj04G.js +80 -0
  120. package/dist/event-CKoGyQEJ.js +30 -0
  121. package/dist/floating-ui.utils-C7pRWMZ_.js +128 -0
  122. package/dist/floating-ui.utils.dom-C7FS5id0.js +135 -0
  123. package/dist/formatErrorMessage-BqPuTBN-.js +7 -0
  124. package/dist/formatNumber-1UNwjeqf.js +25 -0
  125. package/dist/getDisabledMountTransitionStyles-YfHPge6T.js +1510 -0
  126. package/dist/index-BX1XbbRk.js +1206 -0
  127. package/dist/index-CeuccO-T.js +109 -0
  128. package/dist/index-DN9Bn1qm.js +29 -0
  129. package/dist/index-FMoPxlJ2.js +52 -0
  130. package/dist/index.css +1 -0
  131. package/dist/index.d.ts +42 -0
  132. package/dist/index.js +108 -0
  133. package/dist/index10.css +1 -0
  134. package/dist/index11.css +1 -0
  135. package/dist/index12.css +1 -0
  136. package/dist/index13.css +1 -0
  137. package/dist/index14.css +1 -0
  138. package/dist/index15.css +1 -0
  139. package/dist/index16.css +1 -0
  140. package/dist/index17.css +1 -0
  141. package/dist/index18.css +1 -0
  142. package/dist/index19.css +1 -0
  143. package/dist/index2.css +1 -0
  144. package/dist/index20.css +1 -0
  145. package/dist/index21.css +1 -0
  146. package/dist/index22.css +1 -0
  147. package/dist/index23.css +1 -0
  148. package/dist/index24.css +1 -0
  149. package/dist/index25.css +1 -0
  150. package/dist/index26.css +1 -0
  151. package/dist/index27.css +1 -0
  152. package/dist/index28.css +1 -0
  153. package/dist/index29.css +1 -0
  154. package/dist/index3.css +1 -0
  155. package/dist/index30.css +1 -0
  156. package/dist/index31.css +1 -0
  157. package/dist/index32.css +1 -0
  158. package/dist/index33.css +1 -0
  159. package/dist/index34.css +1 -0
  160. package/dist/index35.css +1 -0
  161. package/dist/index36.css +1 -0
  162. package/dist/index37.css +1 -0
  163. package/dist/index4.css +1 -0
  164. package/dist/index5.css +1 -0
  165. package/dist/index6.css +1 -0
  166. package/dist/index7.css +1 -0
  167. package/dist/index8.css +1 -0
  168. package/dist/index9.css +1 -0
  169. package/dist/inertValue-BCYGsdmf.js +7 -0
  170. package/dist/input.css +1 -0
  171. package/dist/input.module-DDQY_Ij6.js +7 -0
  172. package/dist/integrations/react-markdown/index.d.ts +5 -0
  173. package/dist/integrations/react-markdown/index.js +6895 -0
  174. package/dist/integrations/remix/index.d.ts +9 -0
  175. package/{src/integrations/remix.ts → dist/integrations/remix/index.js} +7 -4
  176. package/dist/integrations/tailwind.css +1 -0
  177. package/dist/integrations/twemoij/index.d.ts +3 -0
  178. package/dist/integrations/twemoij/index.js +18 -0
  179. package/dist/isElementDisabled-Cbd8W9kH.js +6 -0
  180. package/dist/owner-rKN292Q9.js +6 -0
  181. package/dist/safePolygon-DWy1dGKJ.js +308 -0
  182. package/dist/styles/core.css +1 -0
  183. package/dist/styles/tokens.d.ts +400 -0
  184. package/{src/styles/tokens.ts → dist/styles/tokens.js} +54 -96
  185. package/dist/toast.css +1 -0
  186. package/dist/tooltip-arrow-C1qXdi5T.js +24 -0
  187. package/dist/tooltip-arrow.css +1 -0
  188. package/dist/transitions.css +1 -0
  189. package/dist/transitions.module-CWX8e5cx.js +1343 -0
  190. package/dist/use-toast-manager-Dq-44AuW.js +37 -0
  191. package/dist/useAnimationFrame-451ugS_6.js +68 -0
  192. package/dist/useBaseUiId-B7WyxtIE.js +7 -0
  193. package/dist/useButton-DfIwsdb8.js +127 -0
  194. package/dist/useCompositeListItem-OkcAim_1.js +148 -0
  195. package/dist/useControlled-Du4sJyMj.js +31 -0
  196. package/dist/useHoverReferenceInteraction-SfOBPoXM.js +264 -0
  197. package/dist/useId-C5kyn6tA.js +22 -0
  198. package/dist/useIsoLayoutEffect-CIDbvm3Q.js +6 -0
  199. package/dist/useLabelableId-Ci_jDvmv.js +29 -0
  200. package/dist/useOnMount-VRW6CK2u.js +8 -0
  201. package/dist/useOpenChangeComplete-Dse9kY9E.js +61 -0
  202. package/dist/usePopupAutoResize-CNR6Ekmx.js +85 -0
  203. package/dist/useRender-CLx7dR_1.js +7 -0
  204. package/dist/useRenderElement-DwToLA61.js +244 -0
  205. package/dist/useRole-oDBdbuwQ.js +77 -0
  206. package/dist/useStableCallback-CkTrVkNX.js +29 -0
  207. package/dist/useSyncedFloatingRootContext-Dorsv-jf.js +167 -0
  208. package/dist/useTimeout-CflX-kz3.js +32 -0
  209. package/dist/useTransitionStatus-CUfcuGAV.js +42 -0
  210. package/dist/useTypeahead-D85V2IUx.js +333 -0
  211. package/dist/useValueAsRef-HURLzret.js +19 -0
  212. package/dist/useValueChanged-DL757-yD.js +14 -0
  213. package/dist/valueToPercent-DaP9qN4u.js +6 -0
  214. package/dist/view.css +1 -0
  215. package/dist/view.module-DfDLgJE0.js +6 -0
  216. package/dist/visuallyHidden-CpJ-mhai.js +16 -0
  217. package/dist/warn-CKtX8MLJ.js +11 -0
  218. package/package.json +18 -2
  219. package/.husky/pre-commit +0 -1
  220. package/.storybook/main.ts +0 -25
  221. package/.storybook/preview-head.html +0 -6
  222. package/.storybook/preview.tsx +0 -48
  223. package/.storybook/vitest.setup.ts +0 -8
  224. package/eslint.config.mjs +0 -29
  225. package/lint-staged.config.js +0 -15
  226. package/pnpm-workspace.yaml +0 -2
  227. package/postcss.config.mjs +0 -7
  228. package/prettier.config.mjs +0 -24
  229. package/scripts/build-icon-types.ts +0 -38
  230. package/src/-utils.tsx +0 -64
  231. package/src/components/accordion/accordion.module.css +0 -44
  232. package/src/components/accordion/accordion.stories.tsx +0 -36
  233. package/src/components/accordion/index.tsx +0 -67
  234. package/src/components/alert-dialog/alert-dialog.module.css +0 -5
  235. package/src/components/alert-dialog/alert-dialog.stories.tsx +0 -53
  236. package/src/components/alert-dialog/index.tsx +0 -138
  237. package/src/components/anchor/anchor.module.css +0 -18
  238. package/src/components/anchor/anchor.stories.tsx +0 -28
  239. package/src/components/anchor/index.tsx +0 -45
  240. package/src/components/avatar/avatar.module.css +0 -56
  241. package/src/components/avatar/avatar.stories.tsx +0 -61
  242. package/src/components/avatar/index.tsx +0 -82
  243. package/src/components/badge/badge.module.css +0 -35
  244. package/src/components/badge/badge.stories.tsx +0 -60
  245. package/src/components/badge/index.tsx +0 -71
  246. package/src/components/button/button.module.css +0 -42
  247. package/src/components/button/button.stories.tsx +0 -108
  248. package/src/components/button/index.tsx +0 -63
  249. package/src/components/checkbox/checkbox.module.css +0 -36
  250. package/src/components/checkbox/checkbox.stories.tsx +0 -21
  251. package/src/components/checkbox/index.tsx +0 -41
  252. package/src/components/code/code.module.css +0 -20
  253. package/src/components/code/code.stories.tsx +0 -42
  254. package/src/components/code/index.tsx +0 -73
  255. package/src/components/collapse/collapse.module.css +0 -27
  256. package/src/components/collapse/collapse.stories.tsx +0 -27
  257. package/src/components/collapse/index.tsx +0 -59
  258. package/src/components/command/command.module.css +0 -95
  259. package/src/components/command/command.stories.tsx +0 -38
  260. package/src/components/command/index.tsx +0 -108
  261. package/src/components/context-menu/context-menu.module.css +0 -36
  262. package/src/components/context-menu/context-menu.stories.tsx +0 -99
  263. package/src/components/context-menu/index.tsx +0 -242
  264. package/src/components/dialog/dialog.module.css +0 -71
  265. package/src/components/dialog/dialog.stories.tsx +0 -29
  266. package/src/components/dialog/index.tsx +0 -148
  267. package/src/components/heading/heading.module.css +0 -3
  268. package/src/components/heading/heading.stories.tsx +0 -52
  269. package/src/components/heading/index.tsx +0 -112
  270. package/src/components/icon/icon-names.ts +0 -3189
  271. package/src/components/icon/icon.module.css +0 -36
  272. package/src/components/icon/icon.stories.tsx +0 -40
  273. package/src/components/icon/index.tsx +0 -60
  274. package/src/components/icon-button/icon-button.module.css +0 -33
  275. package/src/components/icon-button/icon-button.stories.tsx +0 -59
  276. package/src/components/icon-button/index.tsx +0 -48
  277. package/src/components/inline-code/index.tsx +0 -29
  278. package/src/components/inline-code/inline-code.module.css +0 -13
  279. package/src/components/inline-code/inline-code.stories.tsx +0 -31
  280. package/src/components/input/index.tsx +0 -22
  281. package/src/components/input/input.module.css +0 -23
  282. package/src/components/input/input.stories.tsx +0 -52
  283. package/src/components/meter/index.tsx +0 -55
  284. package/src/components/meter/meter.module.css +0 -23
  285. package/src/components/meter/meter.stories.tsx +0 -31
  286. package/src/components/multiline-input/index.tsx +0 -58
  287. package/src/components/multiline-input/multiline-input.stories.tsx +0 -26
  288. package/src/components/number-input/index.tsx +0 -74
  289. package/src/components/number-input/number-input.module.css +0 -41
  290. package/src/components/number-input/number-input.stories.tsx +0 -24
  291. package/src/components/password-input/index.tsx +0 -24
  292. package/src/components/password-input/password-input.module.css +0 -10
  293. package/src/components/password-input/password-input.stories.tsx +0 -24
  294. package/src/components/pill/index.tsx +0 -45
  295. package/src/components/pill/pill.module.css +0 -22
  296. package/src/components/pill/pill.stories.tsx +0 -83
  297. package/src/components/popover/index.tsx +0 -94
  298. package/src/components/popover/popover.module.css +0 -8
  299. package/src/components/popover/popover.stories.tsx +0 -53
  300. package/src/components/preview-card/index.tsx +0 -68
  301. package/src/components/preview-card/preview-card.module.css +0 -5
  302. package/src/components/preview-card/preview-card.stories.tsx +0 -58
  303. package/src/components/radio/index.tsx +0 -67
  304. package/src/components/radio/radio-group.module.css +0 -5
  305. package/src/components/radio/radio.module.css +0 -36
  306. package/src/components/radio/radio.stories.tsx +0 -27
  307. package/src/components/search-bar/index.tsx +0 -60
  308. package/src/components/search-bar/search-bar.module.css +0 -29
  309. package/src/components/search-bar/search-bar.stories.tsx +0 -37
  310. package/src/components/select/index.tsx +0 -132
  311. package/src/components/select/select.module.css +0 -63
  312. package/src/components/select/select.stories.tsx +0 -49
  313. package/src/components/separator/index.tsx +0 -28
  314. package/src/components/separator/separator.module.css +0 -24
  315. package/src/components/separator/separator.stories.tsx +0 -40
  316. package/src/components/slider/index.tsx +0 -28
  317. package/src/components/slider/slider.module.css +0 -52
  318. package/src/components/slider/slider.stories.tsx +0 -53
  319. package/src/components/spinner/index.tsx +0 -14
  320. package/src/components/spinner/spinner.module.css +0 -13
  321. package/src/components/spinner/spinner.stories.tsx +0 -17
  322. package/src/components/stacked-avatars/index.tsx +0 -88
  323. package/src/components/stacked-avatars/stacked-avatars.module.css +0 -79
  324. package/src/components/stacked-avatars/stacked-avatars.stories.tsx +0 -48
  325. package/src/components/status-banner/index.tsx +0 -96
  326. package/src/components/status-banner/status-banner.module.css +0 -52
  327. package/src/components/status-banner/status-banner.stories.tsx +0 -44
  328. package/src/components/surface/index.tsx +0 -83
  329. package/src/components/surface/surface.module.css +0 -35
  330. package/src/components/surface/surface.stories.tsx +0 -84
  331. package/src/components/switch/index.tsx +0 -23
  332. package/src/components/switch/switch.module.css +0 -45
  333. package/src/components/switch/switch.stories.tsx +0 -48
  334. package/src/components/tabs/index.tsx +0 -126
  335. package/src/components/tabs/tabs.module.css +0 -134
  336. package/src/components/tabs/tabs.stories.tsx +0 -88
  337. package/src/components/text/index.tsx +0 -69
  338. package/src/components/text/text.module.css +0 -76
  339. package/src/components/text/text.stories.tsx +0 -107
  340. package/src/components/theme-provider/index.ts +0 -2
  341. package/src/components/theme-provider/theme-context.tsx +0 -18
  342. package/src/components/theme-provider/theme-provider.stories.tsx +0 -47
  343. package/src/components/theme-provider/theme-provider.tsx +0 -77
  344. package/src/components/timestamp/index.tsx +0 -131
  345. package/src/components/timestamp/timestamp.module.css +0 -8
  346. package/src/components/timestamp/timestamp.stories.tsx +0 -37
  347. package/src/components/toast/index.ts +0 -2
  348. package/src/components/toast/toast.module.css +0 -163
  349. package/src/components/toast/toast.stories.tsx +0 -53
  350. package/src/components/toast/toast.tsx +0 -104
  351. package/src/components/toast/use-toast-manager.ts +0 -63
  352. package/src/components/tooltip/index.tsx +0 -61
  353. package/src/components/tooltip/tooltip-arrow.tsx +0 -17
  354. package/src/components/tooltip/tooltip.module.css +0 -44
  355. package/src/components/tooltip/tooltip.stories.tsx +0 -76
  356. package/src/components/view/index.tsx +0 -137
  357. package/src/components/view/view.module.css +0 -11
  358. package/src/components/view/view.stories.tsx +0 -131
  359. package/src/components/view/view_colorway.module.css +0 -280
  360. package/src/components/view/view_interactive.module.css +0 -127
  361. package/src/components/view/view_loading.module.css +0 -58
  362. package/src/components/visually-hidden/index.ts +0 -1
  363. package/src/index.ts +0 -49
  364. package/src/integrations/react-markdown/index.tsx +0 -134
  365. package/src/integrations/react-markdown/react-markdown.module.css +0 -62
  366. package/src/integrations/react-markdown/react-markdown.stories.tsx +0 -31
  367. package/src/integrations/tailwind.css +0 -173
  368. package/src/integrations/twemoij/index.tsx +0 -13
  369. package/src/integrations/twemoij/twemoji.module.css +0 -7
  370. package/src/integrations/twemoij/twemoji.stories.tsx +0 -40
  371. package/src/stories/components/all-variants.tsx +0 -40
  372. package/src/stories/data.ts +0 -72
  373. package/src/stories/utils.ts +0 -20
  374. package/src/styles/core.css +0 -153
  375. package/src/styles/themes/dark.css +0 -86
  376. package/src/styles/themes/light.css +0 -86
  377. package/src/styles/transitions.module.css +0 -31
  378. package/stylelint.config.mjs +0 -29
  379. package/tsconfig.app.json +0 -35
  380. package/tsconfig.json +0 -7
  381. package/tsconfig.node.json +0 -26
  382. package/vite.config.ts +0 -103
  383. package/vitest.shims.d.ts +0 -1
@@ -1,31 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react-vite";
2
-
3
- import { View } from "~/components/view";
4
-
5
- import { Markdown } from "./index.tsx";
6
-
7
- const meta = {
8
- title: "Integrations/Markdown",
9
- component: Markdown,
10
- parameters: { layout: "centered" },
11
- } satisfies Meta<typeof Markdown>;
12
-
13
- export default meta;
14
-
15
- type Story = StoryObj<typeof meta>;
16
-
17
- export const Default: Story = {
18
- args: {
19
- children: `# Introduction
20
-
21
- My initial portfolio (v1) was built completely with React and Tailwind. v1.5 is somewhat of a misnomer, considering it is less of a simple upgrade and more an entire rewrite with Remix for routing and serving markdown files.
22
-
23
- ![Portfolio home page](https://npham.dev/images/portfolio-home.png)
24
- `,
25
- },
26
- render: (args) => (
27
- <View style={{ maxWidth: "30rem", width: "100%" }}>
28
- <Markdown {...args} />
29
- </View>
30
- ),
31
- };
@@ -1,173 +0,0 @@
1
- @theme {
2
- --font-sans: var(--font-family-default);
3
- --font-mono: var(--font-family-code);
4
-
5
- --text-small: var(--font-size-small);
6
- --text-default: var(--font-size-default);
7
- --text-subhead-default: var(--font-size-subhead-default);
8
- --text-subhead-big: var(--font-size-subhead-big);
9
- --text-header-default: var(--font-size-header-default);
10
- --text-header-big: var(--font-size-header-big);
11
-
12
- --leading-none: 1;
13
- --leading-small: var(--line-height-small);
14
- --leading-default: var(--line-height-default);
15
- --leading-subhead-default: var(--line-height-subhead-default);
16
- --leading-subhead-big: var(--line-height-subhead-big);
17
- --leading-header-default: var(--line-height-header-default);
18
- --leading-header-big: var(--line-height-header-big);
19
-
20
- --shadow-1: var(--shadow-1);
21
- --shadow-2: var(--shadow-2);
22
- --shadow-3: var(--shadow-3);
23
- --shadow-focus: inset 0 0 0 2px var(--primary-default);
24
- --shadow-default: var(--shadow-default);
25
- --shadow-none: "";
26
-
27
- --color-transparent: transparent;
28
- --color-white: #fcfcfc;
29
- --color-black: #0e1525;
30
-
31
- --color-background-root: var(--background-root);
32
- --color-background-default: var(--background-default);
33
- --color-background-higher: var(--background-higher);
34
- --color-background-highest: var(--background-highest);
35
- --color-background-overlay: var(--background-overlay);
36
- --color-foreground-default: var(--foreground-default);
37
- --color-foreground-dimmer: var(--foreground-dimmer);
38
- --color-foreground-dimmest: var(--foreground-dimmest);
39
- --color-outline-dimmest: var(--outline-dimmest);
40
- --color-outline-dimmer: var(--outline-dimmer);
41
- --color-outline-default: var(--outline-default);
42
- --color-outline-stronger: var(--outline-stronger);
43
- --color-outline-strongest: var(--outline-strongest);
44
- --color-red-dimmest: var(--red-dimmest);
45
- --color-red-dimmer: var(--red-dimmer);
46
- --color-red-default: var(--red-default);
47
- --color-red-stronger: var(--red-stronger);
48
- --color-red-strongest: var(--red-strongest);
49
- --color-orange-dimmest: var(--orange-dimmest);
50
- --color-orange-dimmer: var(--orange-dimmer);
51
- --color-orange-default: var(--orange-default);
52
- --color-orange-stronger: var(--orange-stronger);
53
- --color-orange-strongest: var(--orange-strongest);
54
- --color-yellow-dimmest: var(--yellow-dimmest);
55
- --color-yellow-dimmer: var(--yellow-dimmer);
56
- --color-yellow-default: var(--yellow-default);
57
- --color-yellow-stronger: var(--yellow-stronger);
58
- --color-yellow-strongest: var(--yellow-strongest);
59
- --color-lime-dimmest: var(--lime-dimmest);
60
- --color-lime-dimmer: var(--lime-dimmer);
61
- --color-lime-default: var(--lime-default);
62
- --color-lime-stronger: var(--lime-stronger);
63
- --color-lime-strongest: var(--lime-strongest);
64
- --color-green-dimmest: var(--green-dimmest);
65
- --color-green-dimmer: var(--green-dimmer);
66
- --color-green-default: var(--green-default);
67
- --color-green-stronger: var(--green-stronger);
68
- --color-green-strongest: var(--green-strongest);
69
- --color-teal-dimmest: var(--teal-dimmest);
70
- --color-teal-dimmer: var(--teal-dimmer);
71
- --color-teal-default: var(--teal-default);
72
- --color-teal-stronger: var(--teal-stronger);
73
- --color-teal-strongest: var(--teal-strongest);
74
- --color-blue-dimmest: var(--blue-dimmest);
75
- --color-blue-dimmer: var(--blue-dimmer);
76
- --color-blue-default: var(--blue-default);
77
- --color-blue-stronger: var(--blue-stronger);
78
- --color-blue-strongest: var(--blue-strongest);
79
- --color-blurple-dimmest: var(--blurple-dimmest);
80
- --color-blurple-dimmer: var(--blurple-dimmer);
81
- --color-blurple-default: var(--blurple-default);
82
- --color-blurple-stronger: var(--blurple-stronger);
83
- --color-blurple-strongest: var(--blurple-strongest);
84
- --color-purple-dimmest: var(--purple-dimmest);
85
- --color-purple-dimmer: var(--purple-dimmer);
86
- --color-purple-default: var(--purple-default);
87
- --color-purple-stronger: var(--purple-stronger);
88
- --color-purple-strongest: var(--purple-strongest);
89
- --color-magenta-dimmest: var(--magenta-dimmest);
90
- --color-magenta-dimmer: var(--magenta-dimmer);
91
- --color-magenta-default: var(--magenta-default);
92
- --color-magenta-stronger: var(--magenta-stronger);
93
- --color-magenta-strongest: var(--magenta-strongest);
94
- --color-pink-dimmest: var(--pink-dimmest);
95
- --color-pink-dimmer: var(--pink-dimmer);
96
- --color-pink-default: var(--pink-default);
97
- --color-pink-stronger: var(--pink-stronger);
98
- --color-pink-strongest: var(--pink-strongest);
99
- --color-grey-dimmest: var(--grey-dimmest);
100
- --color-grey-dimmer: var(--grey-dimmer);
101
- --color-grey-default: var(--grey-default);
102
- --color-grey-stronger: var(--grey-stronger);
103
- --color-grey-strongest: var(--grey-strongest);
104
- --color-brown-dimmest: var(--brown-dimmest);
105
- --color-brown-dimmer: var(--brown-dimmer);
106
- --color-brown-default: var(--brown-default);
107
- --color-brown-stronger: var(--brown-stronger);
108
- --color-brown-strongest: var(--brown-strongest);
109
-
110
- /* Primary Aliases */
111
- --color-primary-dimmest: var(--primary-dimmest);
112
- --color-primary-dimmer: var(--primary-dimmer);
113
- --color-primary-default: var(--primary-default);
114
- --color-primary-stronger: var(--primary-stronger);
115
- --color-primary-strongest: var(--primary-strongest);
116
-
117
- /* Positive Aliases */
118
- --color-positive-dimmest: var(--positive-dimmest);
119
- --color-positive-dimmer: var(--positive-dimmer);
120
- --color-positive-default: var(--positive-default);
121
- --color-positive-stronger: var(--positive-stronger);
122
- --color-positive-strongest: var(--positive-strongest);
123
-
124
- /* Negative Aliases */
125
- --color-negative-dimmest: var(--negative-dimmest);
126
- --color-negative-dimmer: var(--negative-dimmer);
127
- --color-negative-default: var(--negative-default);
128
- --color-negative-stronger: var(--negative-stronger);
129
- --color-negative-strongest: var(--negative-strongest);
130
-
131
- /* Warning Aliases */
132
- --color-warning-dimmest: var(--warning-dimmest);
133
- --color-warning-dimmer: var(--warning-dimmer);
134
- --color-warning-default: var(--warning-default);
135
- --color-warning-stronger: var(--warning-stronger);
136
- --color-warning-strongest: var(--warning-strongest);
137
-
138
- /* View Colorway Aliases */
139
- --color-view-colorway-dimmest: var(--view-colorway-dimmest);
140
- --color-view-colorway-dimmer: var(--view-colorway-dimmer);
141
- --color-view-colorway-default: var(--view-colorway-default);
142
- --color-view-colorway-stronger: var(--view-colorway-stronger);
143
- --color-view-colorway-strongest: var(--view-colorway-strongest);
144
-
145
- /* Surface Aliases */
146
- --color-surface-background: var(--surface-background);
147
- --color-surface-interactive-background: var(--surface-interactive-background);
148
- --color-surface-interactive-background-active: var(
149
- --surface-interactive-background-active
150
- );
151
- --color-surface-interactive-border: var(--surface-interactive-border);
152
- --color-surface-interactive-border-hover: var(
153
- --surface-interactive-border-hover
154
- );
155
-
156
- --default-transition-duration: var(--transition-duration-snappy);
157
- --default-transition-timing-function: var(
158
- --transition-timing-function-snappy
159
- );
160
-
161
- --ease-snappy: var(--transition-timing-function-snappy);
162
- --ease-chill: var(--transition-timing-function-chill);
163
-
164
- --radius-none: 0px;
165
- --radius-sm: var(--border-radius-2);
166
- --radius-md: var(--border-radius-4);
167
- --radius-lg: var(--border-radius-6);
168
- --radius-xl: var(--border-radius-8);
169
- --radius-2xl: var(--border-radius-12);
170
- --radius-3xl: var(--border-radius-16);
171
- --radius-full: var(--border-radius-round);
172
- --radius-default: var(--border-radius-default);
173
- }
@@ -1,13 +0,0 @@
1
- import styles from "./twemoji.module.css";
2
-
3
- export function Twemoji(props: { value: string }) {
4
- const img = props.value.codePointAt(0)?.toString(16);
5
-
6
- return (
7
- <img
8
- src={`https://cdn.jsdelivr.net/gh/twitter/twemoji@v14.0.2/assets/svg/${img}.svg`}
9
- className={styles["twemoji"]}
10
- alt={props.value}
11
- />
12
- );
13
- }
@@ -1,7 +0,0 @@
1
- .twemoji {
2
- display: inline-block;
3
- vertical-align: -0.1em;
4
- margin: 0 0.05em 0 0.1em;
5
- width: 1em;
6
- height: 1em;
7
- }
@@ -1,40 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react-vite";
2
-
3
- import { Anchor } from "~/components/anchor";
4
- import { tokens } from "~/styles/tokens";
5
-
6
- import { Twemoji } from ".";
7
- import { Surface } from "../../components/surface";
8
- import { Text } from "../../components/text";
9
-
10
- const meta = {
11
- title: "Integrations/Twemoji",
12
- component: Twemoji,
13
- parameters: { layout: "centered" },
14
- } satisfies Meta<typeof Twemoji>;
15
-
16
- export default meta;
17
-
18
- type Story = StoryObj<typeof meta>;
19
-
20
- export const Default: Story = {
21
- args: {
22
- value: "✨",
23
- },
24
- render: (args) => (
25
- <Surface
26
- style={{ padding: tokens.space16, width: tokens.space256 }}
27
- elevated
28
- >
29
- <Text className="mt-2" multiline>
30
- Building apps that shine <Twemoji {...args} /> with React and Tailwind.
31
- Currently using Typescript, but attempting to learn Go. In my spare time
32
- I do{" "}
33
- <Anchor href="https://art.natmf.at/" external>
34
- generative art
35
- </Anchor>
36
- , make origami dragons, or vibe to Lo-Fi.
37
- </Text>
38
- </Surface>
39
- ),
40
- };
@@ -1,40 +0,0 @@
1
- import { cloneElement, type CSSProperties, type ReactElement } from "react";
2
-
3
- import { Surface } from "~/components/surface";
4
- import { Text } from "~/components/text";
5
- import { View } from "~/components/view";
6
- import { tokens } from "~/styles/tokens";
7
-
8
- export function AllVariants(props: {
9
- /** What's the variant actually called. */
10
- variantName: string;
11
- /** Possible values for the variant. */
12
- variants: string[];
13
- /** Element that we'll clone with different variants. */
14
- element: ReactElement;
15
- /** Override styles on wrapper. */
16
- style?: CSSProperties;
17
- }) {
18
- return (
19
- <Surface
20
- elevated
21
- style={{
22
- flexDirection: "column",
23
- gap: tokens.space16,
24
- padding: tokens.space16,
25
- ...props.style,
26
- }}
27
- >
28
- {props.variants.map((variant) => (
29
- <View key={variant} style={{ gap: tokens.space2 }}>
30
- <Text color="dimmest" size="sm">
31
- {variant}
32
- </Text>
33
- {cloneElement(props.element, {
34
- [props.variantName]: variant,
35
- })}
36
- </View>
37
- ))}
38
- </Surface>
39
- );
40
- }
@@ -1,72 +0,0 @@
1
- import type { Background } from "~/components/surface";
2
- import type { TextProps } from "~/components/text";
3
- import type {
4
- Color,
5
- ColorStyle,
6
- ColorVariant,
7
- InteractiveStyle,
8
- } from "~/components/view";
9
-
10
- import { type Size } from "../styles/tokens";
11
-
12
- export const textColors: Array<NonNullable<TextProps["color"]>> = [
13
- "inherit",
14
- "default",
15
- "dimmer",
16
- "dimmest",
17
- ];
18
-
19
- export const surfaceBackgrounds: Background[] = [
20
- "root",
21
- "default",
22
- "higher",
23
- "highest",
24
- ];
25
-
26
- export const sizes: Size[] = ["sm", "md", "lg", "xl", "2xl", "3xl"];
27
-
28
- export const interactiveStyles: InteractiveStyle[] = [
29
- "fill",
30
- "no-fill",
31
- "outline",
32
- "fill-outline",
33
- "list-item",
34
- ];
35
-
36
- export const colors: Color[] = [
37
- "primary",
38
- "positive",
39
- "negative",
40
- "warning",
41
- "red",
42
- "orange",
43
- "yellow",
44
- "green",
45
- "teal",
46
- "blue",
47
- "blurple",
48
- "purple",
49
- "magenta",
50
- "pink",
51
- "grey",
52
- ];
53
-
54
- export const colorVariants: ColorStyle[] = [
55
- "outline",
56
- "outline-static",
57
- "mute-static",
58
- "fill",
59
- "no-fill",
60
- "fill-static",
61
- "fill-outline",
62
- ];
63
-
64
- export const colorway: ColorVariant[] = (() => {
65
- const result: ColorVariant[] = [];
66
- for (const color of colors) {
67
- for (const variant of colorVariants) {
68
- result.push(`${color}_${variant}`);
69
- }
70
- }
71
- return result;
72
- })();
@@ -1,20 +0,0 @@
1
- /**
2
- * Shorthand to disable many properties in a story
3
- * @param keys List of controls to disable
4
- * @returns
5
- *
6
- * @example
7
- * { argTypes: { message: { table: { disable: true } } } }
8
- * disable(["message"])
9
- */
10
- export function disable<T extends string>(keys: T[]) {
11
- const result = {} as Record<T, { table: { disable: true } }>;
12
- for (const key of keys) {
13
- result[key] = {
14
- table: {
15
- disable: true,
16
- },
17
- };
18
- }
19
- return result;
20
- }
@@ -1,153 +0,0 @@
1
- @import "modern-normalize/modern-normalize.css";
2
-
3
- @import "./themes/light.css";
4
- @import "./themes/dark.css";
5
-
6
- /*
7
- 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
8
- 2. Remove default margins and padding
9
- 3. Reset all borders.
10
- */
11
- *,
12
- ::after,
13
- ::before,
14
- ::backdrop,
15
- ::file-selector-button {
16
- box-sizing: border-box; /* 1 */
17
- margin: 0; /* 2 */
18
- border: 0 solid; /* 3 */
19
- padding: 0; /* 2 */
20
- }
21
-
22
- /*
23
- TODO maybe revisit to add custom animations (just fade)
24
- @media (prefers-reduced-motion: reduce)
25
- */
26
-
27
- :root {
28
- --black: #0e1525;
29
- --white: #fcfcfc;
30
-
31
- --shadow-default: var(--shadow-1);
32
-
33
- --border-radius-1: 1px;
34
- --border-radius-2: 2px;
35
- --border-radius-4: 4px;
36
- --border-radius-6: 6px;
37
- --border-radius-8: 8px;
38
- --border-radius-12: 12px;
39
- --border-radius-16: 16px;
40
- --border-radius-default: var(--border-radius-8);
41
- --border-radius-round: 1028px;
42
-
43
- --space-1: 1px;
44
- --space-2: 2px;
45
- --space-4: 4px;
46
- --space-6: 6px;
47
- --space-8: 8px;
48
- --space-12: 12px;
49
- --space-16: 16px;
50
- --space-20: 20px;
51
- --space-24: 24px;
52
- --space-28: 28px;
53
- --space-32: 32px;
54
- --space-40: 40px;
55
- --space-48: 48px;
56
- --space-56: 56px;
57
- --space-64: 64px;
58
- --space-80: 80px;
59
- --space-96: 96px;
60
- --space-128: 128px;
61
- --space-256: 256px;
62
- --space-default: var(--space-8);
63
-
64
- --font-family-default: "IBM Plex Sans", sans-serif;
65
- --font-family-code: "IBM Plex Mono", monospace;
66
-
67
- --font-size-small: 12px;
68
- --font-size-default: 14px;
69
- --font-size-subhead-default: 16px;
70
- --font-size-subhead-big: 20px;
71
- --font-size-header-default: 24px;
72
- --font-size-header-big: 32px;
73
-
74
- --line-height-small: 1.5;
75
- --line-height-default: 1.6;
76
- --line-height-subhead-default: 1.375;
77
- --line-height-subhead-big: 1.4;
78
- --line-height-header-default: 1.333;
79
- --line-height-header-big: 1.25;
80
- --line-height-input: 22px;
81
- --line-height-single: 1;
82
-
83
- --font-weight-regular: 400;
84
- --font-weight-medium: 500;
85
- --font-weight-bold: 600;
86
-
87
- --transition-duration-snappy: 120ms;
88
- --transition-timing-function-snappy: ease-out;
89
-
90
- --transition-duration-chill: 300ms;
91
- --transition-timing-function-chill: ease-in-out;
92
-
93
- --border-width-default: 1px;
94
- }
95
-
96
- body {
97
- /* https://base-ui.com/react/overview/quick-start */
98
- position: relative;
99
- overflow-x: hidden;
100
- font-size: var(--font-size-default);
101
- line-height: var(--line-height-default);
102
- font-family: var(--font-family-default);
103
- }
104
-
105
- .root {
106
- isolation: isolate;
107
- }
108
-
109
- [data-theme] {
110
- --shadow-focus: inset 0 0 0 1.5px var(--primary-default);
111
-
112
- /* Colorway aliases */
113
- --primary-dimmest: var(--blue-dimmest);
114
- --primary-dimmer: var(--blue-dimmer);
115
- --primary-default: var(--blue-default);
116
- --primary-stronger: var(--blue-stronger);
117
- --primary-strongest: var(--blue-strongest);
118
-
119
- --positive-dimmest: var(--green-dimmest);
120
- --positive-dimmer: var(--green-dimmer);
121
- --positive-default: var(--green-default);
122
- --positive-stronger: var(--green-stronger);
123
- --positive-strongest: var(--green-strongest);
124
-
125
- --negative-dimmest: var(--red-dimmest);
126
- --negative-dimmer: var(--red-dimmer);
127
- --negative-default: var(--red-default);
128
- --negative-stronger: var(--red-stronger);
129
- --negative-strongest: var(--red-strongest);
130
-
131
- --warning-dimmest: var(--yellow-dimmest);
132
- --warning-dimmer: var(--yellow-dimmer);
133
- --warning-default: var(--yellow-default);
134
- --warning-stronger: var(--yellow-stronger);
135
- --warning-strongest: var(--yellow-strongest);
136
-
137
- /* Default colorway styles */
138
- --view-colorway-dimmest: var(--primary-dimmest);
139
- --view-colorway-dimmer: var(--primary-dimmer);
140
- --view-colorway-default: var(--primary-default);
141
- --view-colorway-stronger: var(--primary-stronger);
142
- --view-colorway-strongest: var(--primary-strongest);
143
-
144
- /* Default interactive styles */
145
- --surface-background: var(--background-root);
146
- --surface-interactive-background: var(--background-default);
147
- --surface-interactive-background-active: var(--background-higher);
148
- --surface-interactive-border: var(--outline-dimmest);
149
- --surface-interactive-border-hover: var(--outline-default);
150
-
151
- background-color: var(--background-root);
152
- color: var(--foreground-default);
153
- }
@@ -1,86 +0,0 @@
1
- [data-theme="dark"] {
2
- @nested-import "prismjs/themes/prism-tomorrow.css";
3
-
4
- --shadow-1: 0px 4px 8px 0px rgba(2, 2, 3, 0.16);
5
- --shadow-2: 0px 8px 16px 0px rgba(2, 2, 3, 0.32);
6
- --shadow-3: 0px 16px 32px 0px rgba(2, 2, 3, 0.48);
7
-
8
- --background-root: #0e1525;
9
- --background-default: #1c2333;
10
- --background-higher: #2b3245;
11
- --background-highest: #3c445c;
12
- --background-overlay: #0e1525a0;
13
- --foreground-default: #f5f9fc;
14
- --foreground-dimmer: #c2c8cc;
15
- --foreground-dimmest: #9da2a6;
16
- --outline-dimmest: #2b3245;
17
- --outline-dimmer: #3c445c;
18
- --outline-default: #4e5569;
19
- --outline-stronger: #5f677a;
20
- --outline-strongest: #70788c;
21
- --red-dimmest: #660000;
22
- --red-dimmer: #a60808;
23
- --red-default: #e52222;
24
- --red-stronger: #ff6666;
25
- --red-strongest: #ffcfcf;
26
- --orange-dimmest: #542a00;
27
- --orange-dimmer: #703800;
28
- --orange-default: #ad5700;
29
- --orange-stronger: #d4781c;
30
- --orange-strongest: #ffbd7a;
31
- --yellow-dimmest: #4d4000;
32
- --yellow-dimmer: #635300;
33
- --yellow-default: #967d00;
34
- --yellow-stronger: #bfa730;
35
- --yellow-strongest: #f2e088;
36
- --lime-dimmest: #314a00;
37
- --lime-dimmer: #3d5c00;
38
- --lime-default: #5a8700;
39
- --lime-stronger: #87b825;
40
- --lime-strongest: #c4e581;
41
- --green-dimmest: #044a10;
42
- --green-dimmer: #046113;
43
- --green-default: #009118;
44
- --green-stronger: #6cd97e;
45
- --green-strongest: #7aeb8d;
46
- --teal-dimmest: #004452;
47
- --teal-dimmer: #006073;
48
- --teal-default: #0093b0;
49
- --teal-stronger: #27b9d6;
50
- --teal-strongest: #69d9f0;
51
- --blue-dimmest: #004182;
52
- --blue-dimmer: #0053a6;
53
- --blue-default: #0079f2;
54
- --blue-stronger: #57abff;
55
- --blue-strongest: #b2d9ff;
56
- --blurple-dimmest: #39298a;
57
- --blurple-dimmer: #5239cc;
58
- --blurple-default: #795eff;
59
- --blurple-stronger: #a694ff;
60
- --blurple-strongest: #cec4ff;
61
- --purple-dimmest: #582987;
62
- --purple-dimmer: #7633b8;
63
- --purple-default: #a64dff;
64
- --purple-stronger: #c78fff;
65
- --purple-strongest: #e2c4ff;
66
- --magenta-dimmest: #6b1a6b;
67
- --magenta-dimmer: #8a218a;
68
- --magenta-default: #c73ac7;
69
- --magenta-stronger: #f562f5;
70
- --magenta-strongest: #ffbfff;
71
- --pink-dimmest: #6e1b52;
72
- --pink-dimmer: #8f226b;
73
- --pink-default: #d4359f;
74
- --pink-stronger: #ff70cf;
75
- --pink-strongest: #ffbae8;
76
- --grey-dimmest: #404040;
77
- --grey-dimmer: #545454;
78
- --grey-default: #808080;
79
- --grey-stronger: #a6a6a6;
80
- --grey-strongest: #d4d4d4;
81
- --brown-dimmest: #594031;
82
- --brown-dimmer: #75503b;
83
- --brown-default: #a3765c;
84
- --brown-stronger: #d49877;
85
- --brown-strongest: #ffc8a8;
86
- }